commit f1dd61e22809ecfd65c2b3805f612bce58c2956f Author: Mark Veidemanis Date: Tue Oct 17 21:00:25 2023 +0100 Start from envelope Django template diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..1f98816 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,28 @@ +# syntax=docker/dockerfile:1 +FROM python:3 +ARG OPERATION + +RUN useradd -d /code xf +RUN mkdir -p /code +RUN chown -R xf:xf /code + +RUN mkdir -p /conf/static +RUN chown -R xf:xf /conf + +RUN mkdir /venv +RUN chown xf:xf /venv + +USER xf +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 +WORKDIR /code +COPY requirements.txt /code/ +RUN python -m venv /venv +RUN . /venv/bin/activate && pip install -r requirements.txt + +# CMD . /venv/bin/activate && uwsgi --ini /conf/uwsgi.ini + +CMD if [ "$OPERATION" = "uwsgi" ] ; then . /venv/bin/activate && uwsgi --ini /conf/uwsgi.ini ; else . /venv/bin/activate && exec python manage.py runserver 0.0.0.0:8000; fi + +# CMD . /venv/bin/activate && uvicorn --reload --reload-include *.html --workers 2 --uds /var/run/socks/app.sock app.asgi:application +# CMD . /venv/bin/activate && gunicorn -b 0.0.0.0:8000 --reload app.asgi:application -k uvicorn.workers.UvicornWorker \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a258255 --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +run: + docker-compose --env-file=stack.env up -d + +build: + docker-compose --env-file=stack.env build + +stop: + docker-compose --env-file=stack.env down + +log: + docker-compose --env-file=stack.env logs -f + +test: + docker-compose --env-file=stack.env run --rm app sh -c ". /venv/bin/activate && python manage.py test $(MODULES) -v 2" + +migrate: + docker-compose --env-file=stack.env run --rm app sh -c ". /venv/bin/activate && python manage.py migrate" + +makemigrations: + docker-compose --env-file=stack.env run --rm app sh -c ". /venv/bin/activate && python manage.py makemigrations" + +auth: + docker-compose --env-file=stack.env run --rm app sh -c ". /venv/bin/activate && python manage.py createsuperuser" + +token: + docker-compose --env-file=stack.env run --rm app sh -c ". /venv/bin/activate && python manage.py addstatictoken m" diff --git a/README.md b/README.md new file mode 100644 index 0000000..9cd4b09 --- /dev/null +++ b/README.md @@ -0,0 +1,64 @@ +# Envelope +Template Django app. + +## Setting up the environment +Create the virtual environment, enable it, and install the dependencies. +```shell +$ python3 -m venv env +$ source env/bin/activate +(env) $ pip install -r docker/prod/requirements.prod.txt +``` + +## Local settings +You'll need to copy the `app/local_settings.example.py` file to `app/local_settings.py`. The project won't start otherwise. +``` +$ cp app/local_settings.example.py app/local_settings.py +``` + +## stack.env +The stack.env file referenced is a Portainer special. This is where Portainer would put a file containing all the environment variables set up in its UI. +To run it manually, you will need to copy `stack.env.example` to `stack.env` in the project root. + +## Running database migrations +Now we need to run the database migrations in order to get a working database. +```shell +(env) $ python manage.py migrate +``` +Note that these are automatically run by a step in the compose file in production. +You won't need to do that manually. + +## Creating a superuser +In order to access Django admin, we need a superuser. +```shell +(env) $ python manage.py createsuperuser +Username: t2 +Email address: t2@google.com +Password: +Password (again): +Superuser created successfully. +``` + +## Running +The Docker Compose file is located in `docker/docker-compose.prod.yml`. +There is a shortcut to run it: `make run`. + +## Stopping +To stop the containers, run `make stop`. + +## Setup +This setup may be different from what you've seen before. + +### Uvicorn +There is a Uvicorn worker in the `app` container listening on `/var/run/socks/app.sock`. This is the bit that runs the actual code. + +### Nginx +Nginx runs in the `nginx` container and proxies requests to Uvicorn thanks to a mounted and shared directory. No TCP required. + +### Pre-start steps +There's a few commands running before start to ensure Django works correctly. + +#### Migration +The `migration` container step runs the migrations so you don't need to remember to do it. + +#### Collectstatic +The `collectstatic` container step collects all static files from plugins and puts them in the `core/static` folder. This folder is served straight from Nginx without going through Uvicorn. diff --git a/app/__init__.py b/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/asgi.py b/app/asgi.py new file mode 100644 index 0000000..410ea53 --- /dev/null +++ b/app/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for app project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings") + +application = get_asgi_application() diff --git a/app/local_settings.py b/app/local_settings.py new file mode 100644 index 0000000..3e30e94 --- /dev/null +++ b/app/local_settings.py @@ -0,0 +1,48 @@ +from os import getenv + +trues = ("t", "true", "yes", "y", "1") + +# URLs +DOMAIN = getenv("DOMAIN", "example.com") +URL = getenv("URL", f"https://{DOMAIN}") + +# Access control +ALLOWED_HOSTS = getenv("ALLOWED_HOSTS", f"127.0.0.1,{DOMAIN}").split(",") + +# CSRF +CSRF_TRUSTED_ORIGINS = getenv("CSRF_TRUSTED_ORIGINS", URL).split(",") + +# Stripe +BILLING_ENABLED = getenv("BILLING_ENABLED", "false").lower() in trues +STRIPE_TEST = getenv("STRIPE_TEST", "true") in trues +STRIPE_API_KEY_TEST = getenv("STRIPE_API_KEY_TEST", "") +STRIPE_PUBLIC_API_KEY_TEST = getenv("STRIPE_PUBLIC_API_KEY_TEST", "") + +STRIPE_API_KEY_PROD = getenv("STRIPE_API_KEY_PROD", "") +STRIPE_PUBLIC_API_KEY_PROD = getenv("STRIPE_PUBLIC_API_KEY_PROD", "") + +STRIPE_ENDPOINT_SECRET = getenv("STRIPE_ENDPOINT_SECRET", "") +STATIC_ROOT = getenv("STATIC_ROOT", "") +SECRET_KEY = getenv("SECRET_KEY", "") + +STRIPE_ADMIN_COUPON = getenv("STRIPE_ADMIN_COUPON", "") + +REGISTRATION_OPEN = getenv("REGISTRATION_OPEN", "false").lower() in trues + +LAGO_API_KEY = getenv("LAGO_API_KEY", "") +LAGO_ORG_ID = getenv("LAGO_ORG_ID", "") +LAGO_URL = getenv("LAGO_URL", "") + +DEBUG = getenv("DEBUG", "false") in trues +PROFILER = getenv("PROFILER", "false") in trues + +if DEBUG: + import socket # only if you haven't already imported this + + hostname, _, ips = socket.gethostbyname_ex(socket.gethostname()) + INTERNAL_IPS = [ip[: ip.rfind(".")] + ".1" for ip in ips] + [ + "127.0.0.1", + "10.0.2.2", + ] + +SETTINGS_EXPORT = ["BILLING_ENABLED"] diff --git a/app/settings.py b/app/settings.py new file mode 100644 index 0000000..a9f8f5c --- /dev/null +++ b/app/settings.py @@ -0,0 +1,226 @@ +""" +Django settings for app project. + +Generated by 'django-admin startproject' using Django 4.0.6. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +import os +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +# MOVED TO local_settings.py + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + "core", + "django.contrib.admin", + # 'core.apps.LibraryAdminConfig', # our custom OTP'ed admin + "django.contrib.auth", + "django.contrib.contenttypes", + "django.contrib.sessions", + "django.contrib.messages", + "django.contrib.staticfiles", + "debug_toolbar", + "template_profiler_panel", + "django_htmx", + "crispy_forms", + "crispy_bulma", + # "django_tables2", + # "django_tables2_bulma_template", + "django_otp", + "django_otp.plugins.otp_totp", + # "django_otp.plugins.otp_email", + # 'django_otp.plugins.otp_hotp', + "django_otp.plugins.otp_static", + "two_factor", + # "two_factor.plugins.phonenumber", + # "two_factor.plugins.email", + # "two_factor.plugins.yubikey", + # "otp_yubikey", + "mixins", + "cachalot", +] + +# Performance optimisations +CACHES = { + "default": { + "BACKEND": "django_redis.cache.RedisCache", + "LOCATION": "unix:///var/run/socks/redis.sock", + "OPTIONS": { + "db": "10", + # "parser_class": "django_redis.cache.RedisCache", + "pool_class": "redis.BlockingConnectionPool", + }, + } +} +# CACHE_MIDDLEWARE_ALIAS = 'default' +# CACHE_MIDDLEWARE_SECONDS = '600' +# CACHE_MIDDLEWARE_KEY_PREFIX = '' + +CRISPY_TEMPLATE_PACK = "bulma" +CRISPY_ALLOWED_TEMPLATE_PACKS = ("bulma",) +DJANGO_TABLES2_TEMPLATE = "django-tables2/bulma.html" + +MIDDLEWARE = [ + "debug_toolbar.middleware.DebugToolbarMiddleware", + "django.middleware.security.SecurityMiddleware", + "django.contrib.sessions.middleware.SessionMiddleware", + # 'django.middleware.cache.UpdateCacheMiddleware', + "django.middleware.common.CommonMiddleware", + # 'django.middleware.cache.FetchFromCacheMiddleware', + "django.middleware.csrf.CsrfViewMiddleware", + "django.contrib.auth.middleware.AuthenticationMiddleware", + "django_otp.middleware.OTPMiddleware", + "django.contrib.messages.middleware.MessageMiddleware", + "django.middleware.clickjacking.XFrameOptionsMiddleware", + "django_htmx.middleware.HtmxMiddleware", +] + +ROOT_URLCONF = "app.urls" + +TEMPLATES = [ + { + "BACKEND": "django.template.backends.django.DjangoTemplates", + "DIRS": [os.path.join(BASE_DIR, "core/templates")], + "APP_DIRS": True, + "OPTIONS": { + "context_processors": [ + "django.template.context_processors.debug", + "django.template.context_processors.request", + "django.contrib.auth.context_processors.auth", + "django.contrib.messages.context_processors.messages", + "core.util.django_settings_export.settings_export", + ], + }, + }, +] + +WSGI_APPLICATION = "app.wsgi.application" + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + "default": { + "ENGINE": "django.db.backends.sqlite3", + "NAME": "/conf/db.sqlite3", + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + {"NAME": f"django.contrib.auth.password_validation.{name}"} + for name in [ + "UserAttributeSimilarityValidator", + "MinimumLengthValidator", + "CommonPasswordValidator", + "NumericPasswordValidator", + ] +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +LANGUAGE_CODE = "en-us" + +TIME_ZONE = "UTC" + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = "static/" + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" + +AUTH_USER_MODEL = "core.User" + +LOGIN_REDIRECT_URL = "home" +LOGOUT_REDIRECT_URL = "home" +# 2FA +LOGIN_URL = "two_factor:login" +# LOGIN_REDIRECT_URL = 'two_factor:profile' + +# ALLOWED_PAYMENT_METHODS = ["bacs_debit", "card"] +ALLOWED_PAYMENT_METHODS = ["card"] + +REST_FRAMEWORK = { + "DEFAULT_PARSER_CLASSES": [ + "rest_framework.parsers.JSONParser", + ] +} + +INTERNAL_IPS = [ + "127.0.0.1", + "10.1.10.11", +] + +DEBUG_TOOLBAR_PANELS = [ + "template_profiler_panel.panels.template.TemplateProfilerPanel", + "debug_toolbar.panels.history.HistoryPanel", + "debug_toolbar.panels.versions.VersionsPanel", + "debug_toolbar.panels.timer.TimerPanel", + "debug_toolbar.panels.settings.SettingsPanel", + "debug_toolbar.panels.headers.HeadersPanel", + "debug_toolbar.panels.request.RequestPanel", + "debug_toolbar.panels.sql.SQLPanel", + "debug_toolbar.panels.staticfiles.StaticFilesPanel", + "debug_toolbar.panels.templates.TemplatesPanel", + "debug_toolbar.panels.cache.CachePanel", + "debug_toolbar.panels.signals.SignalsPanel", + "debug_toolbar.panels.logging.LoggingPanel", + "debug_toolbar.panels.redirects.RedirectsPanel", + "debug_toolbar.panels.profiling.ProfilingPanel", + "cachalot.panels.CachalotPanel", +] + +from app.local_settings import * # noqa + +if PROFILER: # noqa - trust me its there + import pyroscope + + pyroscope.configure( + application_name="neptune", + server_address="http://pyroscope:4040", + auth_token=os.getenv("PYROSCOPE_AUTH_TOKEN", ""), + # tags = { + # "region": f'{os.getenv("REGION")}', + # } + ) + + +def show_toolbar(request): + return DEBUG # noqa: from local imports + + +DEBUG_TOOLBAR_CONFIG = { + "SHOW_TOOLBAR_CALLBACK": show_toolbar, +} diff --git a/app/urls.py b/app/urls.py new file mode 100644 index 0000000..b885f25 --- /dev/null +++ b/app/urls.py @@ -0,0 +1,43 @@ +"""app URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.conf import settings +from django.conf.urls.static import static +from django.contrib import admin +from django.contrib.auth.views import LogoutView +from django.urls import include, path +from two_factor.urls import urlpatterns as tf_urls + +from core.views import base, demo, notifications + +urlpatterns = [ + path("__debug__/", include("debug_toolbar.urls")), + path("", base.Home.as_view(), name="home"), + path("admin/", admin.site.urls), + # 2FA login urls + path("", include(tf_urls)), + path("accounts/signup/", base.Signup.as_view(), name="signup"), + path("accounts/logout/", LogoutView.as_view(), name="logout"), + # Demos + path("demo/modal/", demo.DemoModal.as_view(), name="modal"), + path("demo/widget/", demo.DemoWidget.as_view(), name="widget"), + path("demo/window/", demo.DemoWindow.as_view(), name="window"), + # Notifications + path( + "notifications//update/", + notifications.NotificationsUpdate.as_view(), + name="notifications_update", + ), +] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) diff --git a/app/wsgi.py b/app/wsgi.py new file mode 100644 index 0000000..f2c7150 --- /dev/null +++ b/app/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for app project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings") + +application = get_wsgi_application() diff --git a/core/__init__.py b/core/__init__.py new file mode 100644 index 0000000..d1d0e50 --- /dev/null +++ b/core/__init__.py @@ -0,0 +1,14 @@ +import os + +import stripe +from django.conf import settings + +os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true" +# from redis import StrictRedis + +# r = StrictRedis(unix_socket_path="/var/run/redis/redis.sock", db=0) + +if settings.STRIPE_TEST: + stripe.api_key = settings.STRIPE_API_KEY_TEST +else: + stripe.api_key = settings.STRIPE_API_KEY_PROD diff --git a/core/admin.py b/core/admin.py new file mode 100644 index 0000000..8923aa5 --- /dev/null +++ b/core/admin.py @@ -0,0 +1,36 @@ +from django.contrib import admin +from django.contrib.auth.admin import UserAdmin + +from .forms import CustomUserCreationForm +from .models import NotificationSettings, User + + +# Register your models here. +class CustomUserAdmin(UserAdmin): + # list_filter = ["plans"] + model = User + add_form = CustomUserCreationForm + fieldsets = ( + *UserAdmin.fieldsets, + ( + "Billing information", + {"fields": ("billing_provider_id", "customer_id", "stripe_id")}, + ), + # ( + # "Payment information", + # { + # "fields": ( + # # "plans", + # "last_payment", + # ) + # }, + # ), + ) + + +class NotificationSettingsAdmin(admin.ModelAdmin): + list_display = ("user", "ntfy_topic", "ntfy_url") + + +admin.site.register(User, CustomUserAdmin) +admin.site.register(NotificationSettings, NotificationSettingsAdmin) diff --git a/core/apps.py b/core/apps.py new file mode 100644 index 0000000..c0ce093 --- /dev/null +++ b/core/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class CoreConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "core" diff --git a/core/forms.py b/core/forms.py new file mode 100644 index 0000000..32eb5ca --- /dev/null +++ b/core/forms.py @@ -0,0 +1,49 @@ +from django import forms +from django.contrib.auth.forms import UserCreationForm +from django.forms import ModelForm +from mixins.restrictions import RestrictedFormMixin + +from .models import NotificationSettings, User + +# Create your forms here. + + +class NewUserForm(UserCreationForm): + email = forms.EmailField(required=True) + + class Meta: + model = User + fields = ( + "username", + "email", + "first_name", + "last_name", + "password1", + "password2", + ) + + def save(self, commit=True): + user = super(NewUserForm, self).save(commit=False) + user.email = self.cleaned_data["email"] + if commit: + user.save() + return user + + +class NotificationSettingsForm(RestrictedFormMixin, ModelForm): + class Meta: + model = NotificationSettings + fields = ( + "ntfy_topic", + "ntfy_url", + ) + help_texts = { + "ntfy_topic": "The topic to send notifications to.", + "ntfy_url": "Custom NTFY server. Leave blank to use the default server.", + } + + +class CustomUserCreationForm(UserCreationForm): + class Meta: + model = User + fields = "__all__" diff --git a/core/lib/__init__.py b/core/lib/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/lib/notify.py b/core/lib/notify.py new file mode 100644 index 0000000..91cec79 --- /dev/null +++ b/core/lib/notify.py @@ -0,0 +1,38 @@ +import requests + +from core.util import logs + +NTFY_URL = "https://ntfy.sh" + +log = logs.get_logger(__name__) + + +# Actual function to send a message to a topic +def raw_sendmsg(msg, title=None, priority=None, tags=None, url=None, topic=None): + if url is None: + url = NTFY_URL + headers = {"Title": "Envelope"} + if title: + headers["Title"] = title + if priority: + headers["Priority"] = priority + if tags: + headers["Tags"] = tags + requests.post( + f"{url}/{topic}", + data=msg, + headers=headers, + ) + + +# Sendmsg helper to send a message to a user's notification settings +def sendmsg(user, *args, **kwargs): + notification_settings = user.get_notification_settings() + + if notification_settings.ntfy_topic is None: + # No topic set, so don't send + return + else: + topic = notification_settings.ntfy_topic + + raw_sendmsg(*args, **kwargs, url=notification_settings.ntfy_url, topic=topic) diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py new file mode 100644 index 0000000..4c75305 --- /dev/null +++ b/core/migrations/0001_initial.py @@ -0,0 +1,60 @@ +# Generated by Django 4.2.6 on 2023-10-17 19:26 + +import uuid + +import django.contrib.auth.models +import django.contrib.auth.validators +import django.db.models.deletion +import django.utils.timezone +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ] + + operations = [ + migrations.CreateModel( + name='User', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('password', models.CharField(max_length=128, verbose_name='password')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), + ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), + ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), + ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), + ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), + ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), + ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), + ('stripe_id', models.CharField(blank=True, max_length=255, null=True)), + ('customer_id', models.UUIDField(blank=True, default=uuid.uuid4, null=True)), + ('billing_provider_id', models.CharField(blank=True, max_length=255, null=True)), + ('email', models.EmailField(max_length=254, unique=True)), + ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')), + ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')), + ], + options={ + 'verbose_name': 'user', + 'verbose_name_plural': 'users', + 'abstract': False, + }, + managers=[ + ('objects', django.contrib.auth.models.UserManager()), + ], + ), + migrations.CreateModel( + name='NotificationSettings', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('ntfy_topic', models.CharField(blank=True, max_length=255, null=True)), + ('ntfy_url', models.CharField(blank=True, max_length=255, null=True)), + ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), + ], + ), + ] diff --git a/core/migrations/__init__.py b/core/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/models.py b/core/models.py new file mode 100644 index 0000000..1de46e0 --- /dev/null +++ b/core/models.py @@ -0,0 +1,50 @@ +import logging +import uuid + +from django.contrib.auth.models import AbstractUser +from django.db import models + +logger = logging.getLogger(__name__) + + +class User(AbstractUser): + # Stripe customer ID + stripe_id = models.CharField(max_length=255, null=True, blank=True) + customer_id = models.UUIDField(default=uuid.uuid4, null=True, blank=True) + billing_provider_id = models.CharField(max_length=255, null=True, blank=True) + email = models.EmailField(unique=True) + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + self._original = self + + def get_notification_settings(self): + return NotificationSettings.objects.get_or_create(user=self)[0] + + +class NotificationSettings(models.Model): + user = models.OneToOneField(User, on_delete=models.CASCADE) + ntfy_topic = models.CharField(max_length=255, null=True, blank=True) + ntfy_url = models.CharField(max_length=255, null=True, blank=True) + + def __str__(self): + return f"Notification settings for {self.user}" + + +# class Perms(models.Model): +# class Meta: +# permissions = ( +# ("bypass_hashing", "Can bypass field hashing"), # +# ("bypass_blacklist", "Can bypass the blacklist"), # +# ("bypass_encryption", "Can bypass field encryption"), # +# ("bypass_obfuscation", "Can bypass field obfuscation"), # +# ("bypass_delay", "Can bypass data delay"), # +# ("bypass_randomisation", "Can bypass data randomisation"), # +# ("post_irc", "Can post to IRC"), +# ("post_discord", "Can post to Discord"), +# ("query_search", "Can search with query strings"), # +# ("use_insights", "Can use the Insights page"), +# ("index_int", "Can use the internal index"), +# ("index_meta", "Can use the meta index"), +# ("restricted_sources", "Can access restricted sources"), +# ) diff --git a/core/static/css/bulma-tooltip.min.css b/core/static/css/bulma-tooltip.min.css new file mode 100644 index 0000000..caca9a3 --- /dev/null +++ b/core/static/css/bulma-tooltip.min.css @@ -0,0 +1,2 @@ +/*! @creativebulma/bulma-tooltip v1.2.0 | (c) 2020 Gaetan | MIT License | https://github.com/CreativeBulma/bulma-tooltip */ +[data-tooltip]:not(.is-disabled),[data-tooltip]:not(.is-loading),[data-tooltip]:not([disabled]){cursor:pointer;overflow:visible;position:relative}[data-tooltip]:not(.is-disabled):before,[data-tooltip]:not(.is-loading):before,[data-tooltip]:not([disabled]):before{background:rgba(74,74,74,.9);border-radius:2px;content:attr(data-tooltip);padding:.5rem 1rem;text-overflow:ellipsis;white-space:pre;right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}[data-tooltip]:not(.is-disabled).has-tooltip-arrow:after,[data-tooltip]:not(.is-disabled):before,[data-tooltip]:not(.is-loading).has-tooltip-arrow:after,[data-tooltip]:not(.is-loading):before,[data-tooltip]:not([disabled]).has-tooltip-arrow:after,[data-tooltip]:not([disabled]):before{box-sizing:border-box;color:#fff;display:inline-block;font-family:BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:.75rem;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;opacity:0;overflow:hidden;pointer-events:none;position:absolute;visibility:hidden;z-index:1000}[data-tooltip]:not(.is-disabled).has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-arrow:after{content:"";border-style:solid;border-width:6px;border-color:rgba(74,74,74,.9) transparent transparent;margin-bottom:-5px}[data-tooltip]:not(.is-disabled).has-tooltip-arrow.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-arrow.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-arrow.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-bottom.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom:before,[data-tooltip]:not([disabled]).has-tooltip-bottom:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}[data-tooltip]:not(.is-disabled).has-tooltip-left.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left:before,[data-tooltip]:not(.is-loading).has-tooltip-left:before,[data-tooltip]:not([disabled]).has-tooltip-left:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}[data-tooltip]:not(.is-disabled).has-tooltip-right.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right:before,[data-tooltip]:not(.is-loading).has-tooltip-right:before,[data-tooltip]:not([disabled]).has-tooltip-right:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}[data-tooltip]:not(.is-disabled).has-tooltip-multiline:before,[data-tooltip]:not(.is-loading).has-tooltip-multiline:before,[data-tooltip]:not([disabled]).has-tooltip-multiline:before{height:auto;width:15rem;max-width:15rem;text-overflow:clip;white-space:normal;word-break:keep-all}[data-tooltip]:not(.is-disabled).has-tooltip-text-left:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left:before,[data-tooltip]:not([disabled]).has-tooltip-text-left:before{text-align:left}[data-tooltip]:not(.is-disabled).has-tooltip-text-centered:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered:before{text-align:center}[data-tooltip]:not(.is-disabled).has-tooltip-text-right:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right:before,[data-tooltip]:not([disabled]).has-tooltip-text-right:before{text-align:right}[data-tooltip]:not(.is-disabled).has-tooltip-white:after,[data-tooltip]:not(.is-loading).has-tooltip-white:after,[data-tooltip]:not([disabled]).has-tooltip-white:after{border-color:hsla(0,0%,100%,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-white.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-white.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-white.has-tooltip-bottom:after{border-color:transparent transparent hsla(0,0%,100%,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-white.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-white.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-white.has-tooltip-left:after{border-color:transparent transparent transparent hsla(0,0%,100%,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-white.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-white.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-white.has-tooltip-right:after{border-color:transparent hsla(0,0%,100%,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-white:before,[data-tooltip]:not(.is-loading).has-tooltip-white:before,[data-tooltip]:not([disabled]).has-tooltip-white:before{background-color:hsla(0,0%,100%,.9);color:#0a0a0a}[data-tooltip]:not(.is-disabled).has-tooltip-black:after,[data-tooltip]:not(.is-loading).has-tooltip-black:after,[data-tooltip]:not([disabled]).has-tooltip-black:after{border-color:hsla(0,0%,4%,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-black.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-black.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-black.has-tooltip-bottom:after{border-color:transparent transparent hsla(0,0%,4%,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-black.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-black.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-black.has-tooltip-left:after{border-color:transparent transparent transparent hsla(0,0%,4%,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-black.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-black.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-black.has-tooltip-right:after{border-color:transparent hsla(0,0%,4%,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-black:before,[data-tooltip]:not(.is-loading).has-tooltip-black:before,[data-tooltip]:not([disabled]).has-tooltip-black:before{background-color:hsla(0,0%,4%,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-light:after,[data-tooltip]:not(.is-loading).has-tooltip-light:after,[data-tooltip]:not([disabled]).has-tooltip-light:after{border-color:hsla(0,0%,96%,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-light.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-light.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-light.has-tooltip-bottom:after{border-color:transparent transparent hsla(0,0%,96%,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-light.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-light.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-light.has-tooltip-left:after{border-color:transparent transparent transparent hsla(0,0%,96%,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-light.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-light.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-light.has-tooltip-right:after{border-color:transparent hsla(0,0%,96%,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-light:before,[data-tooltip]:not(.is-loading).has-tooltip-light:before,[data-tooltip]:not([disabled]).has-tooltip-light:before{background-color:hsla(0,0%,96%,.9);color:rgba(0,0,0,.7)}[data-tooltip]:not(.is-disabled).has-tooltip-dark:after,[data-tooltip]:not(.is-loading).has-tooltip-dark:after,[data-tooltip]:not([disabled]).has-tooltip-dark:after{border-color:rgba(54,54,54,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-dark.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-dark.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-dark.has-tooltip-bottom:after{border-color:transparent transparent rgba(54,54,54,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-dark.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-dark.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-dark.has-tooltip-left:after{border-color:transparent transparent transparent rgba(54,54,54,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-dark.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-dark.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-dark.has-tooltip-right:after{border-color:transparent rgba(54,54,54,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-dark:before,[data-tooltip]:not(.is-loading).has-tooltip-dark:before,[data-tooltip]:not([disabled]).has-tooltip-dark:before{background-color:rgba(54,54,54,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-primary:after,[data-tooltip]:not(.is-loading).has-tooltip-primary:after,[data-tooltip]:not([disabled]).has-tooltip-primary:after{border-color:rgba(0,209,178,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-bottom:after{border-color:transparent transparent rgba(0,209,178,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-left:after{border-color:transparent transparent transparent rgba(0,209,178,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-primary.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-primary.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-primary.has-tooltip-right:after{border-color:transparent rgba(0,209,178,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-primary:before,[data-tooltip]:not(.is-loading).has-tooltip-primary:before,[data-tooltip]:not([disabled]).has-tooltip-primary:before{background-color:rgba(0,209,178,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-link:after,[data-tooltip]:not(.is-loading).has-tooltip-link:after,[data-tooltip]:not([disabled]).has-tooltip-link:after{border-color:rgba(50,115,220,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-bottom:after{border-color:transparent transparent rgba(50,115,220,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-left:after{border-color:transparent transparent transparent rgba(50,115,220,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-link.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-link.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-link.has-tooltip-right:after{border-color:transparent rgba(50,115,220,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-link:before,[data-tooltip]:not(.is-loading).has-tooltip-link:before,[data-tooltip]:not([disabled]).has-tooltip-link:before{background-color:rgba(50,115,220,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-info:after,[data-tooltip]:not(.is-loading).has-tooltip-info:after,[data-tooltip]:not([disabled]).has-tooltip-info:after{border-color:rgba(50,152,220,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-info.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-info.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-info.has-tooltip-bottom:after{border-color:transparent transparent rgba(50,152,220,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-info.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-info.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-info.has-tooltip-left:after{border-color:transparent transparent transparent rgba(50,152,220,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-info.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-info.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-info.has-tooltip-right:after{border-color:transparent rgba(50,152,220,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-info:before,[data-tooltip]:not(.is-loading).has-tooltip-info:before,[data-tooltip]:not([disabled]).has-tooltip-info:before{background-color:rgba(50,152,220,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-success:after,[data-tooltip]:not(.is-loading).has-tooltip-success:after,[data-tooltip]:not([disabled]).has-tooltip-success:after{border-color:rgba(72,199,116,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-success.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-success.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-success.has-tooltip-bottom:after{border-color:transparent transparent rgba(72,199,116,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-success.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-success.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-success.has-tooltip-left:after{border-color:transparent transparent transparent rgba(72,199,116,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-success.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-success.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-success.has-tooltip-right:after{border-color:transparent rgba(72,199,116,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-success:before,[data-tooltip]:not(.is-loading).has-tooltip-success:before,[data-tooltip]:not([disabled]).has-tooltip-success:before{background-color:rgba(72,199,116,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-warning:after,[data-tooltip]:not(.is-loading).has-tooltip-warning:after,[data-tooltip]:not([disabled]).has-tooltip-warning:after{border-color:rgba(255,221,87,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-warning.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-warning.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-warning.has-tooltip-bottom:after{border-color:transparent transparent rgba(255,221,87,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-warning.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-warning.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-warning.has-tooltip-left:after{border-color:transparent transparent transparent rgba(255,221,87,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-warning.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-warning.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-warning.has-tooltip-right:after{border-color:transparent rgba(255,221,87,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-warning:before,[data-tooltip]:not(.is-loading).has-tooltip-warning:before,[data-tooltip]:not([disabled]).has-tooltip-warning:before{background-color:rgba(255,221,87,.9);color:rgba(0,0,0,.7)}[data-tooltip]:not(.is-disabled).has-tooltip-danger:after,[data-tooltip]:not(.is-loading).has-tooltip-danger:after,[data-tooltip]:not([disabled]).has-tooltip-danger:after{border-color:rgba(241,70,104,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-danger.has-tooltip-bottom:after,[data-tooltip]:not(.is-loading).has-tooltip-danger.has-tooltip-bottom:after,[data-tooltip]:not([disabled]).has-tooltip-danger.has-tooltip-bottom:after{border-color:transparent transparent rgba(241,70,104,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-danger.has-tooltip-left:after,[data-tooltip]:not(.is-loading).has-tooltip-danger.has-tooltip-left:after,[data-tooltip]:not([disabled]).has-tooltip-danger.has-tooltip-left:after{border-color:transparent transparent transparent rgba(241,70,104,.9)!important}[data-tooltip]:not(.is-disabled).has-tooltip-danger.has-tooltip-right:after,[data-tooltip]:not(.is-loading).has-tooltip-danger.has-tooltip-right:after,[data-tooltip]:not([disabled]).has-tooltip-danger.has-tooltip-right:after{border-color:transparent rgba(241,70,104,.9) transparent transparent!important}[data-tooltip]:not(.is-disabled).has-tooltip-danger:before,[data-tooltip]:not(.is-loading).has-tooltip-danger:before,[data-tooltip]:not([disabled]).has-tooltip-danger:before{background-color:rgba(241,70,104,.9);color:#fff}[data-tooltip]:not(.is-disabled).has-tooltip-active:after,[data-tooltip]:not(.is-disabled).has-tooltip-active:before,[data-tooltip]:not(.is-disabled):hover:after,[data-tooltip]:not(.is-disabled):hover:before,[data-tooltip]:not(.is-loading).has-tooltip-active:after,[data-tooltip]:not(.is-loading).has-tooltip-active:before,[data-tooltip]:not(.is-loading):hover:after,[data-tooltip]:not(.is-loading):hover:before,[data-tooltip]:not([disabled]).has-tooltip-active:after,[data-tooltip]:not([disabled]).has-tooltip-active:before,[data-tooltip]:not([disabled]):hover:after,[data-tooltip]:not([disabled]):hover:before{opacity:1;visibility:visible}[data-tooltip]:not(.is-disabled).has-tooltip-fade:after,[data-tooltip]:not(.is-disabled).has-tooltip-fade:before,[data-tooltip]:not(.is-loading).has-tooltip-fade:after,[data-tooltip]:not(.is-loading).has-tooltip-fade:before,[data-tooltip]:not([disabled]).has-tooltip-fade:after,[data-tooltip]:not([disabled]).has-tooltip-fade:before{transition:opacity .3s linear,visibility .3s linear}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-top-mobile.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-mobile.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-mobile.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-top-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-top-mobile:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-top-tablet.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-tablet.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-tablet.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-top-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-top-tablet:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-top-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-tablet-only.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-top-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-top-tablet-only:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-top-touch.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-touch.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-touch.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-top-touch:before,[data-tooltip]:not([disabled]).has-tooltip-top-touch:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-top-desktop.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-desktop.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-desktop.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-top-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-top-desktop:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-top-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-desktop-only.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-top-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-top-desktop-only:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-top-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-until-widescreen.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-top-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-top-until-widescreen:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-top-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-widescreen.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-top-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-top-widescreen:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-top-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-widescreen-only.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-top-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-top-widescreen-only:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-top-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-until-fullhd.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-top-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-top-until-fullhd:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-top-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-top-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-top-fullhd.has-tooltip-arrow:after{top:0;right:auto;bottom:auto;left:50%;margin:-5px auto auto -5px;border-color:rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-top-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-top-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-top-fullhd:before{right:auto;bottom:auto;left:50%;top:0;margin-top:-5px;margin-bottom:auto;transform:translate(-50%,-100%)}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-right-mobile.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-mobile.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-mobile.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-right-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-right-mobile:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-right-tablet.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-tablet.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-tablet.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-right-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-right-tablet:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-right-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-tablet-only.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-right-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-right-tablet-only:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-right-touch.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-touch.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-touch.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-right-touch:before,[data-tooltip]:not([disabled]).has-tooltip-right-touch:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-right-desktop.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-desktop.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-desktop.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-right-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-right-desktop:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-right-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-desktop-only.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-right-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-right-desktop-only:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-right-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-until-widescreen.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-right-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-right-until-widescreen:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-right-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-widescreen.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-right-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-right-widescreen:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-right-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-widescreen-only.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-right-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-right-widescreen-only:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-right-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-until-fullhd.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-right-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-right-until-fullhd:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-right-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-right-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-right-fullhd.has-tooltip-arrow:after{top:auto;right:0;bottom:50%;left:auto;margin:auto -6px -6px auto;border-color:transparent rgba(74,74,74,.9) transparent transparent}[data-tooltip]:not(.is-disabled).has-tooltip-right-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-right-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-right-fullhd:before{top:auto;right:-5px;bottom:50%;left:auto;margin-top:auto;transform:translate(100%,50%)}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-mobile.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-mobile.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-mobile.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-mobile:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-tablet.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-tablet.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-tablet.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-tablet:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-tablet-only.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-tablet-only:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-touch.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-touch.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-touch.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-touch:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-touch:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-desktop.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-desktop.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-desktop.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-desktop:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-desktop-only.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-desktop-only:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-until-widescreen.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-until-widescreen:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-widescreen.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-widescreen:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-widescreen-only.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-widescreen-only:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-until-fullhd.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-until-fullhd:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-bottom-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-bottom-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-bottom-fullhd.has-tooltip-arrow:after{top:auto;right:auto;bottom:-1px;left:50%;margin:auto auto -5px -5px;border-color:transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-bottom-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-bottom-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-bottom-fullhd:before{top:auto;right:auto;bottom:0;left:50%;margin-top:auto;margin-bottom:-5px;transform:translate(-50%,100%)}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-left-mobile.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-mobile.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-mobile.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-left-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-left-mobile:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-left-tablet.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-tablet.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-tablet.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-left-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-left-tablet:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-left-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-tablet-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-tablet-only.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-left-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-left-tablet-only:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-left-touch.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-touch.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-touch.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-left-touch:before,[data-tooltip]:not([disabled]).has-tooltip-left-touch:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-left-desktop.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-desktop.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-desktop.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-left-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-left-desktop:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-left-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-desktop-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-desktop-only.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-left-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-left-desktop-only:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-left-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-until-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-until-widescreen.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-left-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-left-until-widescreen:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-left-widescreen.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-widescreen.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-widescreen.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-left-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-left-widescreen:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-left-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-widescreen-only.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-widescreen-only.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-left-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-left-widescreen-only:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-left-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-until-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-until-fullhd.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-left-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-left-until-fullhd:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-left-fullhd.has-tooltip-arrow:after,[data-tooltip]:not(.is-loading).has-tooltip-left-fullhd.has-tooltip-arrow:after,[data-tooltip]:not([disabled]).has-tooltip-left-fullhd.has-tooltip-arrow:after{top:auto;right:auto;bottom:50%;left:0;margin:auto auto -6px -5px;border-color:transparent transparent transparent rgba(74,74,74,.9)}[data-tooltip]:not(.is-disabled).has-tooltip-left-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-left-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-left-fullhd:before{top:auto;right:auto;bottom:50%;left:-5px;transform:translate(-100%,50%)}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-mobile:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-mobile:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-mobile:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-mobile:before{opacity:0!important;display:none!important}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-tablet:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-tablet:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-tablet:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-tablet:before{opacity:0!important;display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-tablet-only:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-tablet-only:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-tablet-only:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-tablet-only:before{opacity:0!important;display:none!important}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-touch:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-touch:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-touch:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-touch:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-touch:before{opacity:0!important;display:none!important}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-desktop:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-desktop:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-desktop:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-desktop:before{opacity:0!important;display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-desktop-only:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-desktop-only:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-desktop-only:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-desktop-only:before{opacity:0!important;display:none!important}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-until-widescreen:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-until-widescreen:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-until-widescreen:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-until-widescreen:before{opacity:0!important;display:none!important}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-widescreen:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-widescreen:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-widescreen:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-widescreen:before{opacity:0!important;display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-widescreen-only:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-widescreen-only:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-widescreen-only:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-widescreen-only:before{opacity:0!important;display:none!important}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-until-fullhd:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-until-fullhd:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-until-fullhd:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-until-fullhd:before{opacity:0!important;display:none!important}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-hidden-fullhd:after,[data-tooltip]:not(.is-disabled).has-tooltip-hidden-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-hidden-fullhd:after,[data-tooltip]:not(.is-loading).has-tooltip-hidden-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-hidden-fullhd:after,[data-tooltip]:not([disabled]).has-tooltip-hidden-fullhd:before{opacity:0!important;display:none!important}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-mobile:before{text-align:left}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-tablet:before{text-align:left}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-tablet-only:before{text-align:left}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-touch:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-touch:before{text-align:left}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-desktop:before{text-align:left}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-desktop-only:before{text-align:left}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-until-widescreen:before{text-align:left}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-widescreen:before{text-align:left}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-widescreen-only:before{text-align:left}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-until-fullhd:before{text-align:left}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-text-left-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-text-left-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-text-left-fullhd:before{text-align:left}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-mobile:before{text-align:center}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-tablet:before{text-align:center}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-tablet-only:before{text-align:center}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-touch:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-touch:before{text-align:center}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-desktop:before{text-align:center}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-desktop-only:before{text-align:center}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-until-widescreen:before{text-align:center}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-widescreen:before{text-align:center}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-widescreen-only:before{text-align:center}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-until-fullhd:before{text-align:center}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-text-centered-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-text-centered-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-text-centered-fullhd:before{text-align:center}}@media screen and (max-width:768px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-mobile:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-mobile:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-mobile:before{text-align:right}}@media print,screen and (min-width:769px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-tablet:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-tablet:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-tablet:before{text-align:right}}@media screen and (min-width:769px) and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-tablet-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-tablet-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-tablet-only:before{text-align:right}}@media screen and (max-width:1023px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-touch:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-touch:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-touch:before{text-align:right}}@media screen and (min-width:1024px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-desktop:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-desktop:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-desktop:before{text-align:right}}@media screen and (min-width:1024px) and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-desktop-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-desktop-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-desktop-only:before{text-align:right}}@media screen and (max-width:1215px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-until-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-until-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-until-widescreen:before{text-align:right}}@media screen and (min-width:1216px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-widescreen:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-widescreen:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-widescreen:before{text-align:right}}@media screen and (min-width:1216px) and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-widescreen-only:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-widescreen-only:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-widescreen-only:before{text-align:right}}@media screen and (max-width:1407px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-until-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-until-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-until-fullhd:before{text-align:right}}@media screen and (min-width:1408px){[data-tooltip]:not(.is-disabled).has-tooltip-text-right-fullhd:before,[data-tooltip]:not(.is-loading).has-tooltip-text-right-fullhd:before,[data-tooltip]:not([disabled]).has-tooltip-text-right-fullhd:before{text-align:right}}span[data-tooltip]{border-bottom:1px dashed #dbdbdb}span[data-tooltip].has-tooltip-white{border-bottom-color:#fff}span[data-tooltip].has-tooltip-black{border-bottom-color:#171717}span[data-tooltip].has-tooltip-light{border-bottom-color:#fff}span[data-tooltip].has-tooltip-dark{border-bottom-color:#424242}span[data-tooltip].has-tooltip-primary{border-bottom-color:#00ebc7}span[data-tooltip].has-tooltip-link{border-bottom-color:#4882e0}span[data-tooltip].has-tooltip-info{border-bottom-color:#48a3e0}span[data-tooltip].has-tooltip-success{border-bottom-color:#5bcd83}span[data-tooltip].has-tooltip-warning{border-bottom-color:#ffe270}span[data-tooltip].has-tooltip-danger{border-bottom-color:#f35e7c}.control span[data-tooltip]{border-bottom:none} \ No newline at end of file diff --git a/core/static/css/bulma.min.css b/core/static/css/bulma.min.css new file mode 100644 index 0000000..86ad2ff --- /dev/null +++ b/core/static/css/bulma.min.css @@ -0,0 +1 @@ +/*! bulma.io v0.9.4 | MIT License | github.com/jgthms/bulma */.button,.file-cta,.file-name,.input,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.select select,.textarea{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding-bottom:calc(.5em - 1px);padding-left:calc(.75em - 1px);padding-right:calc(.75em - 1px);padding-top:calc(.5em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.file-cta:active,.file-cta:focus,.file-name:active,.file-name:focus,.input:active,.input:focus,.is-active.button,.is-active.file-cta,.is-active.file-name,.is-active.input,.is-active.pagination-ellipsis,.is-active.pagination-link,.is-active.pagination-next,.is-active.pagination-previous,.is-active.textarea,.is-focused.button,.is-focused.file-cta,.is-focused.file-name,.is-focused.input,.is-focused.pagination-ellipsis,.is-focused.pagination-link,.is-focused.pagination-next,.is-focused.pagination-previous,.is-focused.textarea,.pagination-ellipsis:active,.pagination-ellipsis:focus,.pagination-link:active,.pagination-link:focus,.pagination-next:active,.pagination-next:focus,.pagination-previous:active,.pagination-previous:focus,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{outline:0}.button[disabled],.file-cta[disabled],.file-name[disabled],.input[disabled],.pagination-ellipsis[disabled],.pagination-link[disabled],.pagination-next[disabled],.pagination-previous[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .button,fieldset[disabled] .file-cta,fieldset[disabled] .file-name,fieldset[disabled] .input,fieldset[disabled] .pagination-ellipsis,fieldset[disabled] .pagination-link,fieldset[disabled] .pagination-next,fieldset[disabled] .pagination-previous,fieldset[disabled] .select select,fieldset[disabled] .textarea{cursor:not-allowed}.breadcrumb,.button,.file,.is-unselectable,.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous,.tabs{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.navbar-link:not(.is-arrowless)::after,.select:not(.is-multiple):not(.is-loading)::after{border:3px solid transparent;border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;margin-top:-.4375em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em}.block:not(:last-child),.box:not(:last-child),.breadcrumb:not(:last-child),.content:not(:last-child),.level:not(:last-child),.message:not(:last-child),.notification:not(:last-child),.pagination:not(:last-child),.progress:not(:last-child),.subtitle:not(:last-child),.table-container:not(:last-child),.table:not(:last-child),.tabs:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.delete,.modal-close{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-moz-appearance:none;-webkit-appearance:none;background-color:rgba(10,10,10,.2);border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:0;position:relative;vertical-align:top;width:20px}.delete::after,.delete::before,.modal-close::after,.modal-close::before{background-color:#fff;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.delete::before,.modal-close::before{height:2px;width:50%}.delete::after,.modal-close::after{height:50%;width:2px}.delete:focus,.delete:hover,.modal-close:focus,.modal-close:hover{background-color:rgba(10,10,10,.3)}.delete:active,.modal-close:active{background-color:rgba(10,10,10,.4)}.is-small.delete,.is-small.modal-close{height:16px;max-height:16px;max-width:16px;min-height:16px;min-width:16px;width:16px}.is-medium.delete,.is-medium.modal-close{height:24px;max-height:24px;max-width:24px;min-height:24px;min-width:24px;width:24px}.is-large.delete,.is-large.modal-close{height:32px;max-height:32px;max-width:32px;min-height:32px;min-width:32px;width:32px}.button.is-loading::after,.control.is-loading::after,.loader,.select.is-loading::after{-webkit-animation:spinAround .5s infinite linear;animation:spinAround .5s infinite linear;border:2px solid #dbdbdb;border-radius:9999px;border-right-color:transparent;border-top-color:transparent;content:"";display:block;height:1em;position:relative;width:1em}.hero-video,.image.is-16by9 .has-ratio,.image.is-16by9 img,.image.is-1by1 .has-ratio,.image.is-1by1 img,.image.is-1by2 .has-ratio,.image.is-1by2 img,.image.is-1by3 .has-ratio,.image.is-1by3 img,.image.is-2by1 .has-ratio,.image.is-2by1 img,.image.is-2by3 .has-ratio,.image.is-2by3 img,.image.is-3by1 .has-ratio,.image.is-3by1 img,.image.is-3by2 .has-ratio,.image.is-3by2 img,.image.is-3by4 .has-ratio,.image.is-3by4 img,.image.is-3by5 .has-ratio,.image.is-3by5 img,.image.is-4by3 .has-ratio,.image.is-4by3 img,.image.is-4by5 .has-ratio,.image.is-4by5 img,.image.is-5by3 .has-ratio,.image.is-5by3 img,.image.is-5by4 .has-ratio,.image.is-5by4 img,.image.is-9by16 .has-ratio,.image.is-9by16 img,.image.is-square .has-ratio,.image.is-square img,.is-overlay,.modal,.modal-background{bottom:0;left:0;position:absolute;right:0;top:0}.navbar-burger{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0}/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */blockquote,body,dd,dl,dt,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,html,iframe,legend,li,ol,p,pre,textarea,ul{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,::after,::before{box-sizing:inherit}img,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}td:not([align]),th:not([align]){text-align:inherit}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}article,aside,figure,footer,header,hgroup,section{display:block}body,button,input,optgroup,select,textarea{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif}code,pre{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#4a4a4a;font-size:1em;font-weight:400;line-height:1.5}a{color:#485fc7;cursor:pointer;text-decoration:none}a strong{color:currentColor}a:hover{color:#363636}code{background-color:#f5f5f5;color:#da1039;font-size:.875em;font-weight:400;padding:.25em .5em .25em}hr{background-color:#f5f5f5;border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}input[type=checkbox],input[type=radio]{vertical-align:baseline}small{font-size:.875em}span{font-style:inherit;font-weight:inherit}strong{color:#363636;font-weight:700}fieldset{border:none}pre{-webkit-overflow-scrolling:touch;background-color:#f5f5f5;color:#4a4a4a;font-size:.875em;overflow-x:auto;padding:1.25rem 1.5rem;white-space:pre;word-wrap:normal}pre code{background-color:transparent;color:currentColor;font-size:1em;padding:0}table td,table th{vertical-align:top}table td:not([align]),table th:not([align]){text-align:inherit}table th{color:#363636}@-webkit-keyframes spinAround{from{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes spinAround{from{transform:rotate(0)}to{transform:rotate(359deg)}}.box{background-color:#fff;border-radius:6px;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);color:#4a4a4a;display:block;padding:1.25rem}a.box:focus,a.box:hover{box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px #485fc7}a.box:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2),0 0 0 1px #485fc7}.button{background-color:#fff;border-color:#dbdbdb;border-width:1px;color:#363636;cursor:pointer;justify-content:center;padding-bottom:calc(.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(.5em - 1px);text-align:center;white-space:nowrap}.button strong{color:inherit}.button .icon,.button .icon.is-large,.button .icon.is-medium,.button .icon.is-small{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button.is-hovered,.button:hover{border-color:#b5b5b5;color:#363636}.button.is-focused,.button:focus{border-color:#485fc7;color:#363636}.button.is-focused:not(:active),.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.button.is-active,.button:active{border-color:#4a4a4a;color:#363636}.button.is-text{background-color:transparent;border-color:transparent;color:#4a4a4a;text-decoration:underline}.button.is-text.is-focused,.button.is-text.is-hovered,.button.is-text:focus,.button.is-text:hover{background-color:#f5f5f5;color:#363636}.button.is-text.is-active,.button.is-text:active{background-color:#e8e8e8;color:#363636}.button.is-text[disabled],fieldset[disabled] .button.is-text{background-color:transparent;border-color:transparent;box-shadow:none}.button.is-ghost{background:0 0;border-color:transparent;color:#485fc7;text-decoration:none}.button.is-ghost.is-hovered,.button.is-ghost:hover{color:#485fc7;text-decoration:underline}.button.is-white{background-color:#fff;border-color:transparent;color:#0a0a0a}.button.is-white.is-hovered,.button.is-white:hover{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.button.is-white.is-focused,.button.is-white:focus{border-color:transparent;color:#0a0a0a}.button.is-white.is-focused:not(:active),.button.is-white:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.button.is-white.is-active,.button.is-white:active{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.button.is-white[disabled],fieldset[disabled] .button.is-white{background-color:#fff;border-color:#fff;box-shadow:none}.button.is-white.is-inverted{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-hovered,.button.is-white.is-inverted:hover{background-color:#000}.button.is-white.is-inverted[disabled],fieldset[disabled] .button.is-white.is-inverted{background-color:#0a0a0a;border-color:transparent;box-shadow:none;color:#fff}.button.is-white.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-white.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-white.is-outlined.is-focused,.button.is-white.is-outlined.is-hovered,.button.is-white.is-outlined:focus,.button.is-white.is-outlined:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.button.is-white.is-outlined.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-outlined.is-loading.is-focused::after,.button.is-white.is-outlined.is-loading.is-hovered::after,.button.is-white.is-outlined.is-loading:focus::after,.button.is-white.is-outlined.is-loading:hover::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-white.is-outlined[disabled],fieldset[disabled] .button.is-white.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-white.is-inverted.is-outlined.is-focused,.button.is-white.is-inverted.is-outlined.is-hovered,.button.is-white.is-inverted.is-outlined:focus,.button.is-white.is-inverted.is-outlined:hover{background-color:#0a0a0a;color:#fff}.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-white.is-inverted.is-outlined.is-loading:focus::after,.button.is-white.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-white.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-white.is-inverted.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black{background-color:#0a0a0a;border-color:transparent;color:#fff}.button.is-black.is-hovered,.button.is-black:hover{background-color:#040404;border-color:transparent;color:#fff}.button.is-black.is-focused,.button.is-black:focus{border-color:transparent;color:#fff}.button.is-black.is-focused:not(:active),.button.is-black:focus:not(:active){box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.button.is-black.is-active,.button.is-black:active{background-color:#000;border-color:transparent;color:#fff}.button.is-black[disabled],fieldset[disabled] .button.is-black{background-color:#0a0a0a;border-color:#0a0a0a;box-shadow:none}.button.is-black.is-inverted{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-hovered,.button.is-black.is-inverted:hover{background-color:#f2f2f2}.button.is-black.is-inverted[disabled],fieldset[disabled] .button.is-black.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#0a0a0a}.button.is-black.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;color:#0a0a0a}.button.is-black.is-outlined.is-focused,.button.is-black.is-outlined.is-hovered,.button.is-black.is-outlined:focus,.button.is-black.is-outlined:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.button.is-black.is-outlined.is-loading::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-black.is-outlined.is-loading.is-focused::after,.button.is-black.is-outlined.is-loading.is-hovered::after,.button.is-black.is-outlined.is-loading:focus::after,.button.is-black.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-black.is-outlined[disabled],fieldset[disabled] .button.is-black.is-outlined{background-color:transparent;border-color:#0a0a0a;box-shadow:none;color:#0a0a0a}.button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-black.is-inverted.is-outlined.is-focused,.button.is-black.is-inverted.is-outlined.is-hovered,.button.is-black.is-inverted.is-outlined:focus,.button.is-black.is-inverted.is-outlined:hover{background-color:#fff;color:#0a0a0a}.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-black.is-inverted.is-outlined.is-loading:focus::after,.button.is-black.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #0a0a0a #0a0a0a!important}.button.is-black.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-black.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-light{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-hovered,.button.is-light:hover{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-focused,.button.is-light:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light.is-focused:not(:active),.button.is-light:focus:not(:active){box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.button.is-light.is-active,.button.is-light:active{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-light[disabled],fieldset[disabled] .button.is-light{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none}.button.is-light.is-inverted{background-color:rgba(0,0,0,.7);color:#f5f5f5}.button.is-light.is-inverted.is-hovered,.button.is-light.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-light.is-inverted[disabled],fieldset[disabled] .button.is-light.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#f5f5f5}.button.is-light.is-loading::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;color:#f5f5f5}.button.is-light.is-outlined.is-focused,.button.is-light.is-outlined.is-hovered,.button.is-light.is-outlined:focus,.button.is-light.is-outlined:hover{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.button.is-light.is-outlined.is-loading::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-outlined.is-loading.is-focused::after,.button.is-light.is-outlined.is-loading.is-hovered::after,.button.is-light.is-outlined.is-loading:focus::after,.button.is-light.is-outlined.is-loading:hover::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-light.is-outlined[disabled],fieldset[disabled] .button.is-light.is-outlined{background-color:transparent;border-color:#f5f5f5;box-shadow:none;color:#f5f5f5}.button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-light.is-inverted.is-outlined.is-focused,.button.is-light.is-inverted.is-outlined.is-hovered,.button.is-light.is-inverted.is-outlined:focus,.button.is-light.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#f5f5f5}.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-light.is-inverted.is-outlined.is-loading:focus::after,.button.is-light.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #f5f5f5 #f5f5f5!important}.button.is-light.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-light.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-dark{background-color:#363636;border-color:transparent;color:#fff}.button.is-dark.is-hovered,.button.is-dark:hover{background-color:#2f2f2f;border-color:transparent;color:#fff}.button.is-dark.is-focused,.button.is-dark:focus{border-color:transparent;color:#fff}.button.is-dark.is-focused:not(:active),.button.is-dark:focus:not(:active){box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.button.is-dark.is-active,.button.is-dark:active{background-color:#292929;border-color:transparent;color:#fff}.button.is-dark[disabled],fieldset[disabled] .button.is-dark{background-color:#363636;border-color:#363636;box-shadow:none}.button.is-dark.is-inverted{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-hovered,.button.is-dark.is-inverted:hover{background-color:#f2f2f2}.button.is-dark.is-inverted[disabled],fieldset[disabled] .button.is-dark.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#363636}.button.is-dark.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined{background-color:transparent;border-color:#363636;color:#363636}.button.is-dark.is-outlined.is-focused,.button.is-dark.is-outlined.is-hovered,.button.is-dark.is-outlined:focus,.button.is-dark.is-outlined:hover{background-color:#363636;border-color:#363636;color:#fff}.button.is-dark.is-outlined.is-loading::after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-outlined.is-loading.is-focused::after,.button.is-dark.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-outlined.is-loading:focus::after,.button.is-dark.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-dark.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-outlined{background-color:transparent;border-color:#363636;box-shadow:none;color:#363636}.button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-dark.is-inverted.is-outlined.is-focused,.button.is-dark.is-inverted.is-outlined.is-hovered,.button.is-dark.is-inverted.is-outlined:focus,.button.is-dark.is-inverted.is-outlined:hover{background-color:#fff;color:#363636}.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-dark.is-inverted.is-outlined.is-loading:focus::after,.button.is-dark.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #363636 #363636!important}.button.is-dark.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-dark.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary{background-color:#00d1b2;border-color:transparent;color:#fff}.button.is-primary.is-hovered,.button.is-primary:hover{background-color:#00c4a7;border-color:transparent;color:#fff}.button.is-primary.is-focused,.button.is-primary:focus{border-color:transparent;color:#fff}.button.is-primary.is-focused:not(:active),.button.is-primary:focus:not(:active){box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.button.is-primary.is-active,.button.is-primary:active{background-color:#00b89c;border-color:transparent;color:#fff}.button.is-primary[disabled],fieldset[disabled] .button.is-primary{background-color:#00d1b2;border-color:#00d1b2;box-shadow:none}.button.is-primary.is-inverted{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-hovered,.button.is-primary.is-inverted:hover{background-color:#f2f2f2}.button.is-primary.is-inverted[disabled],fieldset[disabled] .button.is-primary.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#00d1b2}.button.is-primary.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;color:#00d1b2}.button.is-primary.is-outlined.is-focused,.button.is-primary.is-outlined.is-hovered,.button.is-primary.is-outlined:focus,.button.is-primary.is-outlined:hover{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.button.is-primary.is-outlined.is-loading::after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-outlined.is-loading.is-focused::after,.button.is-primary.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-outlined.is-loading:focus::after,.button.is-primary.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-primary.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-outlined{background-color:transparent;border-color:#00d1b2;box-shadow:none;color:#00d1b2}.button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-primary.is-inverted.is-outlined.is-focused,.button.is-primary.is-inverted.is-outlined.is-hovered,.button.is-primary.is-inverted.is-outlined:focus,.button.is-primary.is-inverted.is-outlined:hover{background-color:#fff;color:#00d1b2}.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-primary.is-inverted.is-outlined.is-loading:focus::after,.button.is-primary.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #00d1b2 #00d1b2!important}.button.is-primary.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-primary.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-primary.is-light{background-color:#ebfffc;color:#00947e}.button.is-primary.is-light.is-hovered,.button.is-primary.is-light:hover{background-color:#defffa;border-color:transparent;color:#00947e}.button.is-primary.is-light.is-active,.button.is-primary.is-light:active{background-color:#d1fff8;border-color:transparent;color:#00947e}.button.is-link{background-color:#485fc7;border-color:transparent;color:#fff}.button.is-link.is-hovered,.button.is-link:hover{background-color:#3e56c4;border-color:transparent;color:#fff}.button.is-link.is-focused,.button.is-link:focus{border-color:transparent;color:#fff}.button.is-link.is-focused:not(:active),.button.is-link:focus:not(:active){box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.button.is-link.is-active,.button.is-link:active{background-color:#3a51bb;border-color:transparent;color:#fff}.button.is-link[disabled],fieldset[disabled] .button.is-link{background-color:#485fc7;border-color:#485fc7;box-shadow:none}.button.is-link.is-inverted{background-color:#fff;color:#485fc7}.button.is-link.is-inverted.is-hovered,.button.is-link.is-inverted:hover{background-color:#f2f2f2}.button.is-link.is-inverted[disabled],fieldset[disabled] .button.is-link.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#485fc7}.button.is-link.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined{background-color:transparent;border-color:#485fc7;color:#485fc7}.button.is-link.is-outlined.is-focused,.button.is-link.is-outlined.is-hovered,.button.is-link.is-outlined:focus,.button.is-link.is-outlined:hover{background-color:#485fc7;border-color:#485fc7;color:#fff}.button.is-link.is-outlined.is-loading::after{border-color:transparent transparent #485fc7 #485fc7!important}.button.is-link.is-outlined.is-loading.is-focused::after,.button.is-link.is-outlined.is-loading.is-hovered::after,.button.is-link.is-outlined.is-loading:focus::after,.button.is-link.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-link.is-outlined[disabled],fieldset[disabled] .button.is-link.is-outlined{background-color:transparent;border-color:#485fc7;box-shadow:none;color:#485fc7}.button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-link.is-inverted.is-outlined.is-focused,.button.is-link.is-inverted.is-outlined.is-hovered,.button.is-link.is-inverted.is-outlined:focus,.button.is-link.is-inverted.is-outlined:hover{background-color:#fff;color:#485fc7}.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-link.is-inverted.is-outlined.is-loading:focus::after,.button.is-link.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #485fc7 #485fc7!important}.button.is-link.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-link.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-link.is-light{background-color:#eff1fa;color:#3850b7}.button.is-link.is-light.is-hovered,.button.is-link.is-light:hover{background-color:#e6e9f7;border-color:transparent;color:#3850b7}.button.is-link.is-light.is-active,.button.is-link.is-light:active{background-color:#dce0f4;border-color:transparent;color:#3850b7}.button.is-info{background-color:#3e8ed0;border-color:transparent;color:#fff}.button.is-info.is-hovered,.button.is-info:hover{background-color:#3488ce;border-color:transparent;color:#fff}.button.is-info.is-focused,.button.is-info:focus{border-color:transparent;color:#fff}.button.is-info.is-focused:not(:active),.button.is-info:focus:not(:active){box-shadow:0 0 0 .125em rgba(62,142,208,.25)}.button.is-info.is-active,.button.is-info:active{background-color:#3082c5;border-color:transparent;color:#fff}.button.is-info[disabled],fieldset[disabled] .button.is-info{background-color:#3e8ed0;border-color:#3e8ed0;box-shadow:none}.button.is-info.is-inverted{background-color:#fff;color:#3e8ed0}.button.is-info.is-inverted.is-hovered,.button.is-info.is-inverted:hover{background-color:#f2f2f2}.button.is-info.is-inverted[disabled],fieldset[disabled] .button.is-info.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#3e8ed0}.button.is-info.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined{background-color:transparent;border-color:#3e8ed0;color:#3e8ed0}.button.is-info.is-outlined.is-focused,.button.is-info.is-outlined.is-hovered,.button.is-info.is-outlined:focus,.button.is-info.is-outlined:hover{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.button.is-info.is-outlined.is-loading::after{border-color:transparent transparent #3e8ed0 #3e8ed0!important}.button.is-info.is-outlined.is-loading.is-focused::after,.button.is-info.is-outlined.is-loading.is-hovered::after,.button.is-info.is-outlined.is-loading:focus::after,.button.is-info.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-info.is-outlined[disabled],fieldset[disabled] .button.is-info.is-outlined{background-color:transparent;border-color:#3e8ed0;box-shadow:none;color:#3e8ed0}.button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-info.is-inverted.is-outlined.is-focused,.button.is-info.is-inverted.is-outlined.is-hovered,.button.is-info.is-inverted.is-outlined:focus,.button.is-info.is-inverted.is-outlined:hover{background-color:#fff;color:#3e8ed0}.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-info.is-inverted.is-outlined.is-loading:focus::after,.button.is-info.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #3e8ed0 #3e8ed0!important}.button.is-info.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-info.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-info.is-light{background-color:#eff5fb;color:#296fa8}.button.is-info.is-light.is-hovered,.button.is-info.is-light:hover{background-color:#e4eff9;border-color:transparent;color:#296fa8}.button.is-info.is-light.is-active,.button.is-info.is-light:active{background-color:#dae9f6;border-color:transparent;color:#296fa8}.button.is-success{background-color:#48c78e;border-color:transparent;color:#fff}.button.is-success.is-hovered,.button.is-success:hover{background-color:#3ec487;border-color:transparent;color:#fff}.button.is-success.is-focused,.button.is-success:focus{border-color:transparent;color:#fff}.button.is-success.is-focused:not(:active),.button.is-success:focus:not(:active){box-shadow:0 0 0 .125em rgba(72,199,142,.25)}.button.is-success.is-active,.button.is-success:active{background-color:#3abb81;border-color:transparent;color:#fff}.button.is-success[disabled],fieldset[disabled] .button.is-success{background-color:#48c78e;border-color:#48c78e;box-shadow:none}.button.is-success.is-inverted{background-color:#fff;color:#48c78e}.button.is-success.is-inverted.is-hovered,.button.is-success.is-inverted:hover{background-color:#f2f2f2}.button.is-success.is-inverted[disabled],fieldset[disabled] .button.is-success.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#48c78e}.button.is-success.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined{background-color:transparent;border-color:#48c78e;color:#48c78e}.button.is-success.is-outlined.is-focused,.button.is-success.is-outlined.is-hovered,.button.is-success.is-outlined:focus,.button.is-success.is-outlined:hover{background-color:#48c78e;border-color:#48c78e;color:#fff}.button.is-success.is-outlined.is-loading::after{border-color:transparent transparent #48c78e #48c78e!important}.button.is-success.is-outlined.is-loading.is-focused::after,.button.is-success.is-outlined.is-loading.is-hovered::after,.button.is-success.is-outlined.is-loading:focus::after,.button.is-success.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-success.is-outlined[disabled],fieldset[disabled] .button.is-success.is-outlined{background-color:transparent;border-color:#48c78e;box-shadow:none;color:#48c78e}.button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-success.is-inverted.is-outlined.is-focused,.button.is-success.is-inverted.is-outlined.is-hovered,.button.is-success.is-inverted.is-outlined:focus,.button.is-success.is-inverted.is-outlined:hover{background-color:#fff;color:#48c78e}.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-success.is-inverted.is-outlined.is-loading:focus::after,.button.is-success.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #48c78e #48c78e!important}.button.is-success.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-success.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-success.is-light{background-color:#effaf5;color:#257953}.button.is-success.is-light.is-hovered,.button.is-success.is-light:hover{background-color:#e6f7ef;border-color:transparent;color:#257953}.button.is-success.is-light.is-active,.button.is-success.is-light:active{background-color:#dcf4e9;border-color:transparent;color:#257953}.button.is-warning{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-hovered,.button.is-warning:hover{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused,.button.is-warning:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning.is-focused:not(:active),.button.is-warning:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.button.is-warning.is-active,.button.is-warning:active{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning[disabled],fieldset[disabled] .button.is-warning{background-color:#ffe08a;border-color:#ffe08a;box-shadow:none}.button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);color:#ffe08a}.button.is-warning.is-inverted.is-hovered,.button.is-warning.is-inverted:hover{background-color:rgba(0,0,0,.7)}.button.is-warning.is-inverted[disabled],fieldset[disabled] .button.is-warning.is-inverted{background-color:rgba(0,0,0,.7);border-color:transparent;box-shadow:none;color:#ffe08a}.button.is-warning.is-loading::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;color:#ffe08a}.button.is-warning.is-outlined.is-focused,.button.is-warning.is-outlined.is-hovered,.button.is-warning.is-outlined:focus,.button.is-warning.is-outlined:hover{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.button.is-warning.is-outlined.is-loading::after{border-color:transparent transparent #ffe08a #ffe08a!important}.button.is-warning.is-outlined.is-loading.is-focused::after,.button.is-warning.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-outlined.is-loading:focus::after,.button.is-warning.is-outlined.is-loading:hover::after{border-color:transparent transparent rgba(0,0,0,.7) rgba(0,0,0,.7)!important}.button.is-warning.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-outlined{background-color:transparent;border-color:#ffe08a;box-shadow:none;color:#ffe08a}.button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);color:rgba(0,0,0,.7)}.button.is-warning.is-inverted.is-outlined.is-focused,.button.is-warning.is-inverted.is-outlined.is-hovered,.button.is-warning.is-inverted.is-outlined:focus,.button.is-warning.is-inverted.is-outlined:hover{background-color:rgba(0,0,0,.7);color:#ffe08a}.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-warning.is-inverted.is-outlined.is-loading:focus::after,.button.is-warning.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #ffe08a #ffe08a!important}.button.is-warning.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-warning.is-inverted.is-outlined{background-color:transparent;border-color:rgba(0,0,0,.7);box-shadow:none;color:rgba(0,0,0,.7)}.button.is-warning.is-light{background-color:#fffaeb;color:#946c00}.button.is-warning.is-light.is-hovered,.button.is-warning.is-light:hover{background-color:#fff6de;border-color:transparent;color:#946c00}.button.is-warning.is-light.is-active,.button.is-warning.is-light:active{background-color:#fff3d1;border-color:transparent;color:#946c00}.button.is-danger{background-color:#f14668;border-color:transparent;color:#fff}.button.is-danger.is-hovered,.button.is-danger:hover{background-color:#f03a5f;border-color:transparent;color:#fff}.button.is-danger.is-focused,.button.is-danger:focus{border-color:transparent;color:#fff}.button.is-danger.is-focused:not(:active),.button.is-danger:focus:not(:active){box-shadow:0 0 0 .125em rgba(241,70,104,.25)}.button.is-danger.is-active,.button.is-danger:active{background-color:#ef2e55;border-color:transparent;color:#fff}.button.is-danger[disabled],fieldset[disabled] .button.is-danger{background-color:#f14668;border-color:#f14668;box-shadow:none}.button.is-danger.is-inverted{background-color:#fff;color:#f14668}.button.is-danger.is-inverted.is-hovered,.button.is-danger.is-inverted:hover{background-color:#f2f2f2}.button.is-danger.is-inverted[disabled],fieldset[disabled] .button.is-danger.is-inverted{background-color:#fff;border-color:transparent;box-shadow:none;color:#f14668}.button.is-danger.is-loading::after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined{background-color:transparent;border-color:#f14668;color:#f14668}.button.is-danger.is-outlined.is-focused,.button.is-danger.is-outlined.is-hovered,.button.is-danger.is-outlined:focus,.button.is-danger.is-outlined:hover{background-color:#f14668;border-color:#f14668;color:#fff}.button.is-danger.is-outlined.is-loading::after{border-color:transparent transparent #f14668 #f14668!important}.button.is-danger.is-outlined.is-loading.is-focused::after,.button.is-danger.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-outlined.is-loading:focus::after,.button.is-danger.is-outlined.is-loading:hover::after{border-color:transparent transparent #fff #fff!important}.button.is-danger.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-outlined{background-color:transparent;border-color:#f14668;box-shadow:none;color:#f14668}.button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;color:#fff}.button.is-danger.is-inverted.is-outlined.is-focused,.button.is-danger.is-inverted.is-outlined.is-hovered,.button.is-danger.is-inverted.is-outlined:focus,.button.is-danger.is-inverted.is-outlined:hover{background-color:#fff;color:#f14668}.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after,.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after,.button.is-danger.is-inverted.is-outlined.is-loading:focus::after,.button.is-danger.is-inverted.is-outlined.is-loading:hover::after{border-color:transparent transparent #f14668 #f14668!important}.button.is-danger.is-inverted.is-outlined[disabled],fieldset[disabled] .button.is-danger.is-inverted.is-outlined{background-color:transparent;border-color:#fff;box-shadow:none;color:#fff}.button.is-danger.is-light{background-color:#feecf0;color:#cc0f35}.button.is-danger.is-light.is-hovered,.button.is-danger.is-light:hover{background-color:#fde0e6;border-color:transparent;color:#cc0f35}.button.is-danger.is-light.is-active,.button.is-danger.is-light:active{background-color:#fcd4dc;border-color:transparent;color:#cc0f35}.button.is-small{font-size:.75rem}.button.is-small:not(.is-rounded){border-radius:2px}.button.is-normal{font-size:1rem}.button.is-medium{font-size:1.25rem}.button.is-large{font-size:1.5rem}.button[disabled],fieldset[disabled] .button{background-color:#fff;border-color:#dbdbdb;box-shadow:none;opacity:.5}.button.is-fullwidth{display:flex;width:100%}.button.is-loading{color:transparent!important;pointer-events:none}.button.is-loading::after{position:absolute;left:calc(50% - (1em * .5));top:calc(50% - (1em * .5));position:absolute!important}.button.is-static{background-color:#f5f5f5;border-color:#dbdbdb;color:#7a7a7a;box-shadow:none;pointer-events:none}.button.is-rounded{border-radius:9999px;padding-left:calc(1em + .25em);padding-right:calc(1em + .25em)}.buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.buttons .button{margin-bottom:.5rem}.buttons .button:not(:last-child):not(.is-fullwidth){margin-right:.5rem}.buttons:last-child{margin-bottom:-.5rem}.buttons:not(:last-child){margin-bottom:1rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large){font-size:.75rem}.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded){border-radius:2px}.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large){font-size:1.25rem}.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium){font-size:1.5rem}.buttons.has-addons .button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.buttons.has-addons .button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.buttons.has-addons .button:last-child{margin-right:0}.buttons.has-addons .button.is-hovered,.buttons.has-addons .button:hover{z-index:2}.buttons.has-addons .button.is-active,.buttons.has-addons .button.is-focused,.buttons.has-addons .button.is-selected,.buttons.has-addons .button:active,.buttons.has-addons .button:focus{z-index:3}.buttons.has-addons .button.is-active:hover,.buttons.has-addons .button.is-focused:hover,.buttons.has-addons .button.is-selected:hover,.buttons.has-addons .button:active:hover,.buttons.has-addons .button:focus:hover{z-index:4}.buttons.has-addons .button.is-expanded{flex-grow:1;flex-shrink:1}.buttons.is-centered{justify-content:center}.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}.buttons.is-right{justify-content:flex-end}.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth){margin-left:.25rem;margin-right:.25rem}@media screen and (max-width:768px){.button.is-responsive.is-small{font-size:.5625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.65625rem}.button.is-responsive.is-medium{font-size:.75rem}.button.is-responsive.is-large{font-size:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.button.is-responsive.is-small{font-size:.65625rem}.button.is-responsive,.button.is-responsive.is-normal{font-size:.75rem}.button.is-responsive.is-medium{font-size:1rem}.button.is-responsive.is-large{font-size:1.25rem}}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}.container.is-fluid{max-width:none!important;padding-left:32px;padding-right:32px;width:100%}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (max-width:1215px){.container.is-widescreen:not(.is-max-desktop){max-width:1152px}}@media screen and (max-width:1407px){.container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}@media screen and (min-width:1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width:1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content blockquote:not(:last-child),.content dl:not(:last-child),.content ol:not(:last-child),.content p:not(:last-child),.content pre:not(:last-child),.content table:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3,.content h4,.content h5,.content h6{color:#363636;font-weight:600;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content h4{font-size:1.25em;margin-bottom:.8em}.content h5{font-size:1.125em;margin-bottom:.8888em}.content h6{font-size:1em;margin-bottom:1em}.content blockquote{background-color:#f5f5f5;border-left:5px solid #dbdbdb;padding:1.25em 1.5em}.content ol{list-style-position:outside;margin-left:2em;margin-top:1em}.content ol:not([type]){list-style-type:decimal}.content ol:not([type]).is-lower-alpha{list-style-type:lower-alpha}.content ol:not([type]).is-lower-roman{list-style-type:lower-roman}.content ol:not([type]).is-upper-alpha{list-style-type:upper-alpha}.content ol:not([type]).is-upper-roman{list-style-type:upper-roman}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content dd{margin-left:2em}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.content figure figcaption{font-style:italic}.content pre{-webkit-overflow-scrolling:touch;overflow-x:auto;padding:1.25em 1.5em;white-space:pre;word-wrap:normal}.content sub,.content sup{font-size:75%}.content table{width:100%}.content table td,.content table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.content table th{color:#363636}.content table th:not([align]){text-align:inherit}.content table thead td,.content table thead th{border-width:0 0 2px;color:#363636}.content table tfoot td,.content table tfoot th{border-width:2px 0 0;color:#363636}.content table tbody tr:last-child td,.content table tbody tr:last-child th{border-bottom-width:0}.content .tabs li+li{margin-top:0}.content.is-small{font-size:.75rem}.content.is-normal{font-size:1rem}.content.is-medium{font-size:1.25rem}.content.is-large{font-size:1.5rem}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.icon.is-small{height:1rem;width:1rem}.icon.is-medium{height:2rem;width:2rem}.icon.is-large{height:3rem;width:3rem}.icon-text{align-items:flex-start;color:inherit;display:inline-flex;flex-wrap:wrap;line-height:1.5rem;vertical-align:top}.icon-text .icon{flex-grow:0;flex-shrink:0}.icon-text .icon:not(:last-child){margin-right:.25em}.icon-text .icon:not(:first-child){margin-left:.25em}div.icon-text{display:flex}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:9999px}.image.is-fullwidth{width:100%}.image.is-16by9 .has-ratio,.image.is-16by9 img,.image.is-1by1 .has-ratio,.image.is-1by1 img,.image.is-1by2 .has-ratio,.image.is-1by2 img,.image.is-1by3 .has-ratio,.image.is-1by3 img,.image.is-2by1 .has-ratio,.image.is-2by1 img,.image.is-2by3 .has-ratio,.image.is-2by3 img,.image.is-3by1 .has-ratio,.image.is-3by1 img,.image.is-3by2 .has-ratio,.image.is-3by2 img,.image.is-3by4 .has-ratio,.image.is-3by4 img,.image.is-3by5 .has-ratio,.image.is-3by5 img,.image.is-4by3 .has-ratio,.image.is-4by3 img,.image.is-4by5 .has-ratio,.image.is-4by5 img,.image.is-5by3 .has-ratio,.image.is-5by3 img,.image.is-5by4 .has-ratio,.image.is-5by4 img,.image.is-9by16 .has-ratio,.image.is-9by16 img,.image.is-square .has-ratio,.image.is-square img{height:100%;width:100%}.image.is-1by1,.image.is-square{padding-top:100%}.image.is-5by4{padding-top:80%}.image.is-4by3{padding-top:75%}.image.is-3by2{padding-top:66.6666%}.image.is-5by3{padding-top:60%}.image.is-16by9{padding-top:56.25%}.image.is-2by1{padding-top:50%}.image.is-3by1{padding-top:33.3333%}.image.is-4by5{padding-top:125%}.image.is-3by4{padding-top:133.3333%}.image.is-2by3{padding-top:150%}.image.is-3by5{padding-top:166.6666%}.image.is-9by16{padding-top:177.7777%}.image.is-1by2{padding-top:200%}.image.is-1by3{padding-top:300%}.image.is-16x16{height:16px;width:16px}.image.is-24x24{height:24px;width:24px}.image.is-32x32{height:32px;width:32px}.image.is-48x48{height:48px;width:48px}.image.is-64x64{height:64px;width:64px}.image.is-96x96{height:96px;width:96px}.image.is-128x128{height:128px;width:128px}.notification{background-color:#f5f5f5;border-radius:4px;position:relative;padding:1.25rem 2.5rem 1.25rem 1.5rem}.notification a:not(.button):not(.dropdown-item){color:currentColor;text-decoration:underline}.notification strong{color:currentColor}.notification code,.notification pre{background:#fff}.notification pre code{background:0 0}.notification>.delete{right:.5rem;position:absolute;top:.5rem}.notification .content,.notification .subtitle,.notification .title{color:currentColor}.notification.is-white{background-color:#fff;color:#0a0a0a}.notification.is-black{background-color:#0a0a0a;color:#fff}.notification.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.notification.is-dark{background-color:#363636;color:#fff}.notification.is-primary{background-color:#00d1b2;color:#fff}.notification.is-primary.is-light{background-color:#ebfffc;color:#00947e}.notification.is-link{background-color:#485fc7;color:#fff}.notification.is-link.is-light{background-color:#eff1fa;color:#3850b7}.notification.is-info{background-color:#3e8ed0;color:#fff}.notification.is-info.is-light{background-color:#eff5fb;color:#296fa8}.notification.is-success{background-color:#48c78e;color:#fff}.notification.is-success.is-light{background-color:#effaf5;color:#257953}.notification.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.notification.is-warning.is-light{background-color:#fffaeb;color:#946c00}.notification.is-danger{background-color:#f14668;color:#fff}.notification.is-danger.is-light{background-color:#feecf0;color:#cc0f35}.progress{-moz-appearance:none;-webkit-appearance:none;border:none;border-radius:9999px;display:block;height:1rem;overflow:hidden;padding:0;width:100%}.progress::-webkit-progress-bar{background-color:#ededed}.progress::-webkit-progress-value{background-color:#4a4a4a}.progress::-moz-progress-bar{background-color:#4a4a4a}.progress::-ms-fill{background-color:#4a4a4a;border:none}.progress.is-white::-webkit-progress-value{background-color:#fff}.progress.is-white::-moz-progress-bar{background-color:#fff}.progress.is-white::-ms-fill{background-color:#fff}.progress.is-white:indeterminate{background-image:linear-gradient(to right,#fff 30%,#ededed 30%)}.progress.is-black::-webkit-progress-value{background-color:#0a0a0a}.progress.is-black::-moz-progress-bar{background-color:#0a0a0a}.progress.is-black::-ms-fill{background-color:#0a0a0a}.progress.is-black:indeterminate{background-image:linear-gradient(to right,#0a0a0a 30%,#ededed 30%)}.progress.is-light::-webkit-progress-value{background-color:#f5f5f5}.progress.is-light::-moz-progress-bar{background-color:#f5f5f5}.progress.is-light::-ms-fill{background-color:#f5f5f5}.progress.is-light:indeterminate{background-image:linear-gradient(to right,#f5f5f5 30%,#ededed 30%)}.progress.is-dark::-webkit-progress-value{background-color:#363636}.progress.is-dark::-moz-progress-bar{background-color:#363636}.progress.is-dark::-ms-fill{background-color:#363636}.progress.is-dark:indeterminate{background-image:linear-gradient(to right,#363636 30%,#ededed 30%)}.progress.is-primary::-webkit-progress-value{background-color:#00d1b2}.progress.is-primary::-moz-progress-bar{background-color:#00d1b2}.progress.is-primary::-ms-fill{background-color:#00d1b2}.progress.is-primary:indeterminate{background-image:linear-gradient(to right,#00d1b2 30%,#ededed 30%)}.progress.is-link::-webkit-progress-value{background-color:#485fc7}.progress.is-link::-moz-progress-bar{background-color:#485fc7}.progress.is-link::-ms-fill{background-color:#485fc7}.progress.is-link:indeterminate{background-image:linear-gradient(to right,#485fc7 30%,#ededed 30%)}.progress.is-info::-webkit-progress-value{background-color:#3e8ed0}.progress.is-info::-moz-progress-bar{background-color:#3e8ed0}.progress.is-info::-ms-fill{background-color:#3e8ed0}.progress.is-info:indeterminate{background-image:linear-gradient(to right,#3e8ed0 30%,#ededed 30%)}.progress.is-success::-webkit-progress-value{background-color:#48c78e}.progress.is-success::-moz-progress-bar{background-color:#48c78e}.progress.is-success::-ms-fill{background-color:#48c78e}.progress.is-success:indeterminate{background-image:linear-gradient(to right,#48c78e 30%,#ededed 30%)}.progress.is-warning::-webkit-progress-value{background-color:#ffe08a}.progress.is-warning::-moz-progress-bar{background-color:#ffe08a}.progress.is-warning::-ms-fill{background-color:#ffe08a}.progress.is-warning:indeterminate{background-image:linear-gradient(to right,#ffe08a 30%,#ededed 30%)}.progress.is-danger::-webkit-progress-value{background-color:#f14668}.progress.is-danger::-moz-progress-bar{background-color:#f14668}.progress.is-danger::-ms-fill{background-color:#f14668}.progress.is-danger:indeterminate{background-image:linear-gradient(to right,#f14668 30%,#ededed 30%)}.progress:indeterminate{-webkit-animation-duration:1.5s;animation-duration:1.5s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-name:moveIndeterminate;animation-name:moveIndeterminate;-webkit-animation-timing-function:linear;animation-timing-function:linear;background-color:#ededed;background-image:linear-gradient(to right,#4a4a4a 30%,#ededed 30%);background-position:top left;background-repeat:no-repeat;background-size:150% 150%}.progress:indeterminate::-webkit-progress-bar{background-color:transparent}.progress:indeterminate::-moz-progress-bar{background-color:transparent}.progress:indeterminate::-ms-fill{animation-name:none}.progress.is-small{height:.75rem}.progress.is-medium{height:1.25rem}.progress.is-large{height:1.5rem}@-webkit-keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{from{background-position:200% 0}to{background-position:-200% 0}}.table{background-color:#fff;color:#363636}.table td,.table th{border:1px solid #dbdbdb;border-width:0 0 1px;padding:.5em .75em;vertical-align:top}.table td.is-white,.table th.is-white{background-color:#fff;border-color:#fff;color:#0a0a0a}.table td.is-black,.table th.is-black{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.table td.is-light,.table th.is-light{background-color:#f5f5f5;border-color:#f5f5f5;color:rgba(0,0,0,.7)}.table td.is-dark,.table th.is-dark{background-color:#363636;border-color:#363636;color:#fff}.table td.is-primary,.table th.is-primary{background-color:#00d1b2;border-color:#00d1b2;color:#fff}.table td.is-link,.table th.is-link{background-color:#485fc7;border-color:#485fc7;color:#fff}.table td.is-info,.table th.is-info{background-color:#3e8ed0;border-color:#3e8ed0;color:#fff}.table td.is-success,.table th.is-success{background-color:#48c78e;border-color:#48c78e;color:#fff}.table td.is-warning,.table th.is-warning{background-color:#ffe08a;border-color:#ffe08a;color:rgba(0,0,0,.7)}.table td.is-danger,.table th.is-danger{background-color:#f14668;border-color:#f14668;color:#fff}.table td.is-narrow,.table th.is-narrow{white-space:nowrap;width:1%}.table td.is-selected,.table th.is-selected{background-color:#00d1b2;color:#fff}.table td.is-selected a,.table td.is-selected strong,.table th.is-selected a,.table th.is-selected strong{color:currentColor}.table td.is-vcentered,.table th.is-vcentered{vertical-align:middle}.table th{color:#363636}.table th:not([align]){text-align:left}.table tr.is-selected{background-color:#00d1b2;color:#fff}.table tr.is-selected a,.table tr.is-selected strong{color:currentColor}.table tr.is-selected td,.table tr.is-selected th{border-color:#fff;color:currentColor}.table thead{background-color:transparent}.table thead td,.table thead th{border-width:0 0 2px;color:#363636}.table tfoot{background-color:transparent}.table tfoot td,.table tfoot th{border-width:2px 0 0;color:#363636}.table tbody{background-color:transparent}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom-width:0}.table.is-bordered td,.table.is-bordered th{border-width:1px}.table.is-bordered tr:last-child td,.table.is-bordered tr:last-child th{border-bottom-width:1px}.table.is-fullwidth{width:100%}.table.is-hoverable tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover{background-color:#fafafa}.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(2n){background-color:#f5f5f5}.table.is-narrow td,.table.is-narrow th{padding:.25em .5em}.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:#fafafa}.table-container{-webkit-overflow-scrolling:touch;overflow:auto;overflow-y:hidden;max-width:100%}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.are-medium .tag:not(.is-normal):not(.is-large){font-size:1rem}.tags.are-large .tag:not(.is-normal):not(.is-medium){font-size:1.25rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tags.is-right{justify-content:flex-end}.tags.is-right .tag:not(:first-child){margin-left:.5rem}.tags.is-right .tag:not(:last-child){margin-right:0}.tags.has-addons .tag{margin-right:0}.tags.has-addons .tag:not(:first-child){margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.tags.has-addons .tag:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.tag:not(body){align-items:center;background-color:#f5f5f5;border-radius:4px;color:#4a4a4a;display:inline-flex;font-size:.75rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body) .delete{margin-left:.25rem;margin-right:-.375rem}.tag:not(body).is-white{background-color:#fff;color:#0a0a0a}.tag:not(body).is-black{background-color:#0a0a0a;color:#fff}.tag:not(body).is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.tag:not(body).is-dark{background-color:#363636;color:#fff}.tag:not(body).is-primary{background-color:#00d1b2;color:#fff}.tag:not(body).is-primary.is-light{background-color:#ebfffc;color:#00947e}.tag:not(body).is-link{background-color:#485fc7;color:#fff}.tag:not(body).is-link.is-light{background-color:#eff1fa;color:#3850b7}.tag:not(body).is-info{background-color:#3e8ed0;color:#fff}.tag:not(body).is-info.is-light{background-color:#eff5fb;color:#296fa8}.tag:not(body).is-success{background-color:#48c78e;color:#fff}.tag:not(body).is-success.is-light{background-color:#effaf5;color:#257953}.tag:not(body).is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.tag:not(body).is-warning.is-light{background-color:#fffaeb;color:#946c00}.tag:not(body).is-danger{background-color:#f14668;color:#fff}.tag:not(body).is-danger.is-light{background-color:#feecf0;color:#cc0f35}.tag:not(body).is-normal{font-size:.75rem}.tag:not(body).is-medium{font-size:1rem}.tag:not(body).is-large{font-size:1.25rem}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-delete{margin-left:1px;padding:0;position:relative;width:2em}.tag:not(body).is-delete::after,.tag:not(body).is-delete::before{background-color:currentColor;content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.tag:not(body).is-delete::before{height:1px;width:50%}.tag:not(body).is-delete::after{height:50%;width:1px}.tag:not(body).is-delete:focus,.tag:not(body).is-delete:hover{background-color:#e8e8e8}.tag:not(body).is-delete:active{background-color:#dbdbdb}.tag:not(body).is-rounded{border-radius:9999px}a.tag:hover{text-decoration:underline}.subtitle,.title{word-break:break-word}.subtitle em,.subtitle span,.title em,.title span{font-weight:inherit}.subtitle sub,.title sub{font-size:.75em}.subtitle sup,.title sup{font-size:.75em}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#363636;font-size:2rem;font-weight:600;line-height:1.125}.title strong{color:inherit;font-weight:inherit}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-1{font-size:3rem}.title.is-2{font-size:2.5rem}.title.is-3{font-size:2rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:1rem}.title.is-7{font-size:.75rem}.subtitle{color:#4a4a4a;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle strong{color:#363636;font-weight:600}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-1{font-size:3rem}.subtitle.is-2{font-size:2.5rem}.subtitle.is-3{font-size:2rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:1rem}.subtitle.is-7{font-size:.75rem}.heading{display:block;font-size:11px;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.number{align-items:center;background-color:#f5f5f5;border-radius:9999px;display:inline-flex;font-size:1.25rem;height:2em;justify-content:center;margin-right:1.5rem;min-width:2.5em;padding:.25rem .5rem;text-align:center;vertical-align:top}.input,.select select,.textarea{background-color:#fff;border-color:#dbdbdb;border-radius:4px;color:#363636}.input::-moz-placeholder,.select select::-moz-placeholder,.textarea::-moz-placeholder{color:rgba(54,54,54,.3)}.input::-webkit-input-placeholder,.select select::-webkit-input-placeholder,.textarea::-webkit-input-placeholder{color:rgba(54,54,54,.3)}.input:-moz-placeholder,.select select:-moz-placeholder,.textarea:-moz-placeholder{color:rgba(54,54,54,.3)}.input:-ms-input-placeholder,.select select:-ms-input-placeholder,.textarea:-ms-input-placeholder{color:rgba(54,54,54,.3)}.input:hover,.is-hovered.input,.is-hovered.textarea,.select select.is-hovered,.select select:hover,.textarea:hover{border-color:#b5b5b5}.input:active,.input:focus,.is-active.input,.is-active.textarea,.is-focused.input,.is-focused.textarea,.select select.is-active,.select select.is-focused,.select select:active,.select select:focus,.textarea:active,.textarea:focus{border-color:#485fc7;box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.input[disabled],.select fieldset[disabled] select,.select select[disabled],.textarea[disabled],fieldset[disabled] .input,fieldset[disabled] .select select,fieldset[disabled] .textarea{background-color:#f5f5f5;border-color:#f5f5f5;box-shadow:none;color:#7a7a7a}.input[disabled]::-moz-placeholder,.select fieldset[disabled] select::-moz-placeholder,.select select[disabled]::-moz-placeholder,.textarea[disabled]::-moz-placeholder,fieldset[disabled] .input::-moz-placeholder,fieldset[disabled] .select select::-moz-placeholder,fieldset[disabled] .textarea::-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]::-webkit-input-placeholder,.select fieldset[disabled] select::-webkit-input-placeholder,.select select[disabled]::-webkit-input-placeholder,.textarea[disabled]::-webkit-input-placeholder,fieldset[disabled] .input::-webkit-input-placeholder,fieldset[disabled] .select select::-webkit-input-placeholder,fieldset[disabled] .textarea::-webkit-input-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-moz-placeholder,.select fieldset[disabled] select:-moz-placeholder,.select select[disabled]:-moz-placeholder,.textarea[disabled]:-moz-placeholder,fieldset[disabled] .input:-moz-placeholder,fieldset[disabled] .select select:-moz-placeholder,fieldset[disabled] .textarea:-moz-placeholder{color:rgba(122,122,122,.3)}.input[disabled]:-ms-input-placeholder,.select fieldset[disabled] select:-ms-input-placeholder,.select select[disabled]:-ms-input-placeholder,.textarea[disabled]:-ms-input-placeholder,fieldset[disabled] .input:-ms-input-placeholder,fieldset[disabled] .select select:-ms-input-placeholder,fieldset[disabled] .textarea:-ms-input-placeholder{color:rgba(122,122,122,.3)}.input,.textarea{box-shadow:inset 0 .0625em .125em rgba(10,10,10,.05);max-width:100%;width:100%}.input[readonly],.textarea[readonly]{box-shadow:none}.is-white.input,.is-white.textarea{border-color:#fff}.is-white.input:active,.is-white.input:focus,.is-white.is-active.input,.is-white.is-active.textarea,.is-white.is-focused.input,.is-white.is-focused.textarea,.is-white.textarea:active,.is-white.textarea:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.is-black.input,.is-black.textarea{border-color:#0a0a0a}.is-black.input:active,.is-black.input:focus,.is-black.is-active.input,.is-black.is-active.textarea,.is-black.is-focused.input,.is-black.is-focused.textarea,.is-black.textarea:active,.is-black.textarea:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.is-light.input,.is-light.textarea{border-color:#f5f5f5}.is-light.input:active,.is-light.input:focus,.is-light.is-active.input,.is-light.is-active.textarea,.is-light.is-focused.input,.is-light.is-focused.textarea,.is-light.textarea:active,.is-light.textarea:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.is-dark.input,.is-dark.textarea{border-color:#363636}.is-dark.input:active,.is-dark.input:focus,.is-dark.is-active.input,.is-dark.is-active.textarea,.is-dark.is-focused.input,.is-dark.is-focused.textarea,.is-dark.textarea:active,.is-dark.textarea:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.is-primary.input,.is-primary.textarea{border-color:#00d1b2}.is-primary.input:active,.is-primary.input:focus,.is-primary.is-active.input,.is-primary.is-active.textarea,.is-primary.is-focused.input,.is-primary.is-focused.textarea,.is-primary.textarea:active,.is-primary.textarea:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.is-link.input,.is-link.textarea{border-color:#485fc7}.is-link.input:active,.is-link.input:focus,.is-link.is-active.input,.is-link.is-active.textarea,.is-link.is-focused.input,.is-link.is-focused.textarea,.is-link.textarea:active,.is-link.textarea:focus{box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.is-info.input,.is-info.textarea{border-color:#3e8ed0}.is-info.input:active,.is-info.input:focus,.is-info.is-active.input,.is-info.is-active.textarea,.is-info.is-focused.input,.is-info.is-focused.textarea,.is-info.textarea:active,.is-info.textarea:focus{box-shadow:0 0 0 .125em rgba(62,142,208,.25)}.is-success.input,.is-success.textarea{border-color:#48c78e}.is-success.input:active,.is-success.input:focus,.is-success.is-active.input,.is-success.is-active.textarea,.is-success.is-focused.input,.is-success.is-focused.textarea,.is-success.textarea:active,.is-success.textarea:focus{box-shadow:0 0 0 .125em rgba(72,199,142,.25)}.is-warning.input,.is-warning.textarea{border-color:#ffe08a}.is-warning.input:active,.is-warning.input:focus,.is-warning.is-active.input,.is-warning.is-active.textarea,.is-warning.is-focused.input,.is-warning.is-focused.textarea,.is-warning.textarea:active,.is-warning.textarea:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.is-danger.input,.is-danger.textarea{border-color:#f14668}.is-danger.input:active,.is-danger.input:focus,.is-danger.is-active.input,.is-danger.is-active.textarea,.is-danger.is-focused.input,.is-danger.is-focused.textarea,.is-danger.textarea:active,.is-danger.textarea:focus{box-shadow:0 0 0 .125em rgba(241,70,104,.25)}.is-small.input,.is-small.textarea{border-radius:2px;font-size:.75rem}.is-medium.input,.is-medium.textarea{font-size:1.25rem}.is-large.input,.is-large.textarea{font-size:1.5rem}.is-fullwidth.input,.is-fullwidth.textarea{display:block;width:100%}.is-inline.input,.is-inline.textarea{display:inline;width:auto}.input.is-rounded{border-radius:9999px;padding-left:calc(calc(.75em - 1px) + .375em);padding-right:calc(calc(.75em - 1px) + .375em)}.input.is-static{background-color:transparent;border-color:transparent;box-shadow:none;padding-left:0;padding-right:0}.textarea{display:block;max-width:100%;min-width:100%;padding:calc(.75em - 1px);resize:vertical}.textarea:not([rows]){max-height:40em;min-height:8em}.textarea[rows]{height:initial}.textarea.has-fixed-size{resize:none}.checkbox,.radio{cursor:pointer;display:inline-block;line-height:1.25;position:relative}.checkbox input,.radio input{cursor:pointer}.checkbox:hover,.radio:hover{color:#363636}.checkbox input[disabled],.checkbox[disabled],.radio input[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .radio{color:#7a7a7a;cursor:not-allowed}.radio+.radio{margin-left:.5em}.select{display:inline-block;max-width:100%;position:relative;vertical-align:top}.select:not(.is-multiple){height:2.5em}.select:not(.is-multiple):not(.is-loading)::after{border-color:#485fc7;right:1.125em;z-index:4}.select.is-rounded select{border-radius:9999px;padding-left:1em}.select select{cursor:pointer;display:block;font-size:1em;max-width:100%;outline:0}.select select::-ms-expand{display:none}.select select[disabled]:hover,fieldset[disabled] .select select:hover{border-color:#f5f5f5}.select select:not([multiple]){padding-right:2.5em}.select select[multiple]{height:auto;padding:0}.select select[multiple] option{padding:.5em 1em}.select:not(.is-multiple):not(.is-loading):hover::after{border-color:#363636}.select.is-white:not(:hover)::after{border-color:#fff}.select.is-white select{border-color:#fff}.select.is-white select.is-hovered,.select.is-white select:hover{border-color:#f2f2f2}.select.is-white select.is-active,.select.is-white select.is-focused,.select.is-white select:active,.select.is-white select:focus{box-shadow:0 0 0 .125em rgba(255,255,255,.25)}.select.is-black:not(:hover)::after{border-color:#0a0a0a}.select.is-black select{border-color:#0a0a0a}.select.is-black select.is-hovered,.select.is-black select:hover{border-color:#000}.select.is-black select.is-active,.select.is-black select.is-focused,.select.is-black select:active,.select.is-black select:focus{box-shadow:0 0 0 .125em rgba(10,10,10,.25)}.select.is-light:not(:hover)::after{border-color:#f5f5f5}.select.is-light select{border-color:#f5f5f5}.select.is-light select.is-hovered,.select.is-light select:hover{border-color:#e8e8e8}.select.is-light select.is-active,.select.is-light select.is-focused,.select.is-light select:active,.select.is-light select:focus{box-shadow:0 0 0 .125em rgba(245,245,245,.25)}.select.is-dark:not(:hover)::after{border-color:#363636}.select.is-dark select{border-color:#363636}.select.is-dark select.is-hovered,.select.is-dark select:hover{border-color:#292929}.select.is-dark select.is-active,.select.is-dark select.is-focused,.select.is-dark select:active,.select.is-dark select:focus{box-shadow:0 0 0 .125em rgba(54,54,54,.25)}.select.is-primary:not(:hover)::after{border-color:#00d1b2}.select.is-primary select{border-color:#00d1b2}.select.is-primary select.is-hovered,.select.is-primary select:hover{border-color:#00b89c}.select.is-primary select.is-active,.select.is-primary select.is-focused,.select.is-primary select:active,.select.is-primary select:focus{box-shadow:0 0 0 .125em rgba(0,209,178,.25)}.select.is-link:not(:hover)::after{border-color:#485fc7}.select.is-link select{border-color:#485fc7}.select.is-link select.is-hovered,.select.is-link select:hover{border-color:#3a51bb}.select.is-link select.is-active,.select.is-link select.is-focused,.select.is-link select:active,.select.is-link select:focus{box-shadow:0 0 0 .125em rgba(72,95,199,.25)}.select.is-info:not(:hover)::after{border-color:#3e8ed0}.select.is-info select{border-color:#3e8ed0}.select.is-info select.is-hovered,.select.is-info select:hover{border-color:#3082c5}.select.is-info select.is-active,.select.is-info select.is-focused,.select.is-info select:active,.select.is-info select:focus{box-shadow:0 0 0 .125em rgba(62,142,208,.25)}.select.is-success:not(:hover)::after{border-color:#48c78e}.select.is-success select{border-color:#48c78e}.select.is-success select.is-hovered,.select.is-success select:hover{border-color:#3abb81}.select.is-success select.is-active,.select.is-success select.is-focused,.select.is-success select:active,.select.is-success select:focus{box-shadow:0 0 0 .125em rgba(72,199,142,.25)}.select.is-warning:not(:hover)::after{border-color:#ffe08a}.select.is-warning select{border-color:#ffe08a}.select.is-warning select.is-hovered,.select.is-warning select:hover{border-color:#ffd970}.select.is-warning select.is-active,.select.is-warning select.is-focused,.select.is-warning select:active,.select.is-warning select:focus{box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.select.is-danger:not(:hover)::after{border-color:#f14668}.select.is-danger select{border-color:#f14668}.select.is-danger select.is-hovered,.select.is-danger select:hover{border-color:#ef2e55}.select.is-danger select.is-active,.select.is-danger select.is-focused,.select.is-danger select:active,.select.is-danger select:focus{box-shadow:0 0 0 .125em rgba(241,70,104,.25)}.select.is-small{border-radius:2px;font-size:.75rem}.select.is-medium{font-size:1.25rem}.select.is-large{font-size:1.5rem}.select.is-disabled::after{border-color:#7a7a7a!important;opacity:.5}.select.is-fullwidth{width:100%}.select.is-fullwidth select{width:100%}.select.is-loading::after{margin-top:0;position:absolute;right:.625em;top:.625em;transform:none}.select.is-loading.is-small:after{font-size:.75rem}.select.is-loading.is-medium:after{font-size:1.25rem}.select.is-loading.is-large:after{font-size:1.5rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-white .file-cta{background-color:#fff;border-color:transparent;color:#0a0a0a}.file.is-white.is-hovered .file-cta,.file.is-white:hover .file-cta{background-color:#f9f9f9;border-color:transparent;color:#0a0a0a}.file.is-white.is-focused .file-cta,.file.is-white:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,255,255,.25);color:#0a0a0a}.file.is-white.is-active .file-cta,.file.is-white:active .file-cta{background-color:#f2f2f2;border-color:transparent;color:#0a0a0a}.file.is-black .file-cta{background-color:#0a0a0a;border-color:transparent;color:#fff}.file.is-black.is-hovered .file-cta,.file.is-black:hover .file-cta{background-color:#040404;border-color:transparent;color:#fff}.file.is-black.is-focused .file-cta,.file.is-black:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(10,10,10,.25);color:#fff}.file.is-black.is-active .file-cta,.file.is-black:active .file-cta{background-color:#000;border-color:transparent;color:#fff}.file.is-light .file-cta{background-color:#f5f5f5;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-hovered .file-cta,.file.is-light:hover .file-cta{background-color:#eee;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-light.is-focused .file-cta,.file.is-light:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(245,245,245,.25);color:rgba(0,0,0,.7)}.file.is-light.is-active .file-cta,.file.is-light:active .file-cta{background-color:#e8e8e8;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-dark .file-cta{background-color:#363636;border-color:transparent;color:#fff}.file.is-dark.is-hovered .file-cta,.file.is-dark:hover .file-cta{background-color:#2f2f2f;border-color:transparent;color:#fff}.file.is-dark.is-focused .file-cta,.file.is-dark:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(54,54,54,.25);color:#fff}.file.is-dark.is-active .file-cta,.file.is-dark:active .file-cta{background-color:#292929;border-color:transparent;color:#fff}.file.is-primary .file-cta{background-color:#00d1b2;border-color:transparent;color:#fff}.file.is-primary.is-hovered .file-cta,.file.is-primary:hover .file-cta{background-color:#00c4a7;border-color:transparent;color:#fff}.file.is-primary.is-focused .file-cta,.file.is-primary:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(0,209,178,.25);color:#fff}.file.is-primary.is-active .file-cta,.file.is-primary:active .file-cta{background-color:#00b89c;border-color:transparent;color:#fff}.file.is-link .file-cta{background-color:#485fc7;border-color:transparent;color:#fff}.file.is-link.is-hovered .file-cta,.file.is-link:hover .file-cta{background-color:#3e56c4;border-color:transparent;color:#fff}.file.is-link.is-focused .file-cta,.file.is-link:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(72,95,199,.25);color:#fff}.file.is-link.is-active .file-cta,.file.is-link:active .file-cta{background-color:#3a51bb;border-color:transparent;color:#fff}.file.is-info .file-cta{background-color:#3e8ed0;border-color:transparent;color:#fff}.file.is-info.is-hovered .file-cta,.file.is-info:hover .file-cta{background-color:#3488ce;border-color:transparent;color:#fff}.file.is-info.is-focused .file-cta,.file.is-info:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(62,142,208,.25);color:#fff}.file.is-info.is-active .file-cta,.file.is-info:active .file-cta{background-color:#3082c5;border-color:transparent;color:#fff}.file.is-success .file-cta{background-color:#48c78e;border-color:transparent;color:#fff}.file.is-success.is-hovered .file-cta,.file.is-success:hover .file-cta{background-color:#3ec487;border-color:transparent;color:#fff}.file.is-success.is-focused .file-cta,.file.is-success:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(72,199,142,.25);color:#fff}.file.is-success.is-active .file-cta,.file.is-success:active .file-cta{background-color:#3abb81;border-color:transparent;color:#fff}.file.is-warning .file-cta{background-color:#ffe08a;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-hovered .file-cta,.file.is-warning:hover .file-cta{background-color:#ffdc7d;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-warning.is-focused .file-cta,.file.is-warning:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(255,224,138,.25);color:rgba(0,0,0,.7)}.file.is-warning.is-active .file-cta,.file.is-warning:active .file-cta{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.file.is-danger .file-cta{background-color:#f14668;border-color:transparent;color:#fff}.file.is-danger.is-hovered .file-cta,.file.is-danger:hover .file-cta{background-color:#f03a5f;border-color:transparent;color:#fff}.file.is-danger.is-focused .file-cta,.file.is-danger:focus .file-cta{border-color:transparent;box-shadow:0 0 .5em rgba(241,70,104,.25);color:#fff}.file.is-danger.is-active .file-cta,.file.is-danger:active .file-cta{background-color:#ef2e55;border-color:transparent;color:#fff}.file.is-small{font-size:.75rem}.file.is-normal{font-size:1rem}.file.is-medium{font-size:1.25rem}.file.is-medium .file-icon .fa{font-size:21px}.file.is-large{font-size:1.5rem}.file.is-large .file-icon .fa{font-size:28px}.file.has-name .file-cta{border-bottom-right-radius:0;border-top-right-radius:0}.file.has-name .file-name{border-bottom-left-radius:0;border-top-left-radius:0}.file.has-name.is-empty .file-cta{border-radius:4px}.file.has-name.is-empty .file-name{display:none}.file.is-boxed .file-label{flex-direction:column}.file.is-boxed .file-cta{flex-direction:column;height:auto;padding:1em 3em}.file.is-boxed .file-name{border-width:0 1px 1px}.file.is-boxed .file-icon{height:1.5em;width:1.5em}.file.is-boxed .file-icon .fa{font-size:21px}.file.is-boxed.is-small .file-icon .fa{font-size:14px}.file.is-boxed.is-medium .file-icon .fa{font-size:28px}.file.is-boxed.is-large .file-icon .fa{font-size:35px}.file.is-boxed.has-name .file-cta{border-radius:4px 4px 0 0}.file.is-boxed.has-name .file-name{border-radius:0 0 4px 4px;border-width:0 1px 1px}.file.is-centered{justify-content:center}.file.is-fullwidth .file-label{width:100%}.file.is-fullwidth .file-name{flex-grow:1;max-width:none}.file.is-right{justify-content:flex-end}.file.is-right .file-cta{border-radius:0 4px 4px 0}.file.is-right .file-name{border-radius:4px 0 0 4px;border-width:1px 0 1px 1px;order:-1}.file-label{align-items:stretch;display:flex;cursor:pointer;justify-content:flex-start;overflow:hidden;position:relative}.file-label:hover .file-cta{background-color:#eee;color:#363636}.file-label:hover .file-name{border-color:#d5d5d5}.file-label:active .file-cta{background-color:#e8e8e8;color:#363636}.file-label:active .file-name{border-color:#cfcfcf}.file-input{height:100%;left:0;opacity:0;outline:0;position:absolute;top:0;width:100%}.file-cta,.file-name{border-color:#dbdbdb;border-radius:4px;font-size:1em;padding-left:1em;padding-right:1em;white-space:nowrap}.file-cta{background-color:#f5f5f5;color:#4a4a4a}.file-name{border-color:#dbdbdb;border-style:solid;border-width:1px 1px 1px 0;display:block;max-width:16em;overflow:hidden;text-align:inherit;text-overflow:ellipsis}.file-icon{align-items:center;display:flex;height:1em;justify-content:center;margin-right:.5em;width:1em}.file-icon .fa{font-size:14px}.label{color:#363636;display:block;font-size:1rem;font-weight:700}.label:not(:last-child){margin-bottom:.5em}.label.is-small{font-size:.75rem}.label.is-medium{font-size:1.25rem}.label.is-large{font-size:1.5rem}.help{display:block;font-size:.75rem;margin-top:.25rem}.help.is-white{color:#fff}.help.is-black{color:#0a0a0a}.help.is-light{color:#f5f5f5}.help.is-dark{color:#363636}.help.is-primary{color:#00d1b2}.help.is-link{color:#485fc7}.help.is-info{color:#3e8ed0}.help.is-success{color:#48c78e}.help.is-warning{color:#ffe08a}.help.is-danger{color:#f14668}.field:not(:last-child){margin-bottom:.75rem}.field.has-addons{display:flex;justify-content:flex-start}.field.has-addons .control:not(:last-child){margin-right:-1px}.field.has-addons .control:not(:first-child):not(:last-child) .button,.field.has-addons .control:not(:first-child):not(:last-child) .input,.field.has-addons .control:not(:first-child):not(:last-child) .select select{border-radius:0}.field.has-addons .control:first-child:not(:only-child) .button,.field.has-addons .control:first-child:not(:only-child) .input,.field.has-addons .control:first-child:not(:only-child) .select select{border-bottom-right-radius:0;border-top-right-radius:0}.field.has-addons .control:last-child:not(:only-child) .button,.field.has-addons .control:last-child:not(:only-child) .input,.field.has-addons .control:last-child:not(:only-child) .select select{border-bottom-left-radius:0;border-top-left-radius:0}.field.has-addons .control .button:not([disabled]).is-hovered,.field.has-addons .control .button:not([disabled]):hover,.field.has-addons .control .input:not([disabled]).is-hovered,.field.has-addons .control .input:not([disabled]):hover,.field.has-addons .control .select select:not([disabled]).is-hovered,.field.has-addons .control .select select:not([disabled]):hover{z-index:2}.field.has-addons .control .button:not([disabled]).is-active,.field.has-addons .control .button:not([disabled]).is-focused,.field.has-addons .control .button:not([disabled]):active,.field.has-addons .control .button:not([disabled]):focus,.field.has-addons .control .input:not([disabled]).is-active,.field.has-addons .control .input:not([disabled]).is-focused,.field.has-addons .control .input:not([disabled]):active,.field.has-addons .control .input:not([disabled]):focus,.field.has-addons .control .select select:not([disabled]).is-active,.field.has-addons .control .select select:not([disabled]).is-focused,.field.has-addons .control .select select:not([disabled]):active,.field.has-addons .control .select select:not([disabled]):focus{z-index:3}.field.has-addons .control .button:not([disabled]).is-active:hover,.field.has-addons .control .button:not([disabled]).is-focused:hover,.field.has-addons .control .button:not([disabled]):active:hover,.field.has-addons .control .button:not([disabled]):focus:hover,.field.has-addons .control .input:not([disabled]).is-active:hover,.field.has-addons .control .input:not([disabled]).is-focused:hover,.field.has-addons .control .input:not([disabled]):active:hover,.field.has-addons .control .input:not([disabled]):focus:hover,.field.has-addons .control .select select:not([disabled]).is-active:hover,.field.has-addons .control .select select:not([disabled]).is-focused:hover,.field.has-addons .control .select select:not([disabled]):active:hover,.field.has-addons .control .select select:not([disabled]):focus:hover{z-index:4}.field.has-addons .control.is-expanded{flex-grow:1;flex-shrink:1}.field.has-addons.has-addons-centered{justify-content:center}.field.has-addons.has-addons-right{justify-content:flex-end}.field.has-addons.has-addons-fullwidth .control{flex-grow:1;flex-shrink:0}.field.is-grouped{display:flex;justify-content:flex-start}.field.is-grouped>.control{flex-shrink:0}.field.is-grouped>.control:not(:last-child){margin-bottom:0;margin-right:.75rem}.field.is-grouped>.control.is-expanded{flex-grow:1;flex-shrink:1}.field.is-grouped.is-grouped-centered{justify-content:center}.field.is-grouped.is-grouped-right{justify-content:flex-end}.field.is-grouped.is-grouped-multiline{flex-wrap:wrap}.field.is-grouped.is-grouped-multiline>.control:last-child,.field.is-grouped.is-grouped-multiline>.control:not(:last-child){margin-bottom:.75rem}.field.is-grouped.is-grouped-multiline:last-child{margin-bottom:-.75rem}.field.is-grouped.is-grouped-multiline:not(:last-child){margin-bottom:0}@media screen and (min-width:769px),print{.field.is-horizontal{display:flex}}.field-label .label{font-size:inherit}@media screen and (max-width:768px){.field-label{margin-bottom:.5rem}}@media screen and (min-width:769px),print{.field-label{flex-basis:0;flex-grow:1;flex-shrink:0;margin-right:1.5rem;text-align:right}.field-label.is-small{font-size:.75rem;padding-top:.375em}.field-label.is-normal{padding-top:.375em}.field-label.is-medium{font-size:1.25rem;padding-top:.375em}.field-label.is-large{font-size:1.5rem;padding-top:.375em}}.field-body .field .field{margin-bottom:0}@media screen and (min-width:769px),print{.field-body{display:flex;flex-basis:0;flex-grow:5;flex-shrink:1}.field-body .field{margin-bottom:0}.field-body>.field{flex-shrink:1}.field-body>.field:not(.is-narrow){flex-grow:1}.field-body>.field:not(:last-child){margin-right:.75rem}}.control{box-sizing:border-box;clear:both;font-size:1rem;position:relative;text-align:inherit}.control.has-icons-left .input:focus~.icon,.control.has-icons-left .select:focus~.icon,.control.has-icons-right .input:focus~.icon,.control.has-icons-right .select:focus~.icon{color:#4a4a4a}.control.has-icons-left .input.is-small~.icon,.control.has-icons-left .select.is-small~.icon,.control.has-icons-right .input.is-small~.icon,.control.has-icons-right .select.is-small~.icon{font-size:.75rem}.control.has-icons-left .input.is-medium~.icon,.control.has-icons-left .select.is-medium~.icon,.control.has-icons-right .input.is-medium~.icon,.control.has-icons-right .select.is-medium~.icon{font-size:1.25rem}.control.has-icons-left .input.is-large~.icon,.control.has-icons-left .select.is-large~.icon,.control.has-icons-right .input.is-large~.icon,.control.has-icons-right .select.is-large~.icon{font-size:1.5rem}.control.has-icons-left .icon,.control.has-icons-right .icon{color:#dbdbdb;height:2.5em;pointer-events:none;position:absolute;top:0;width:2.5em;z-index:4}.control.has-icons-left .input,.control.has-icons-left .select select{padding-left:2.5em}.control.has-icons-left .icon.is-left{left:0}.control.has-icons-right .input,.control.has-icons-right .select select{padding-right:2.5em}.control.has-icons-right .icon.is-right{right:0}.control.is-loading::after{position:absolute!important;right:.625em;top:.625em;z-index:4}.control.is-loading.is-small:after{font-size:.75rem}.control.is-loading.is-medium:after{font-size:1.25rem}.control.is-loading.is-large:after{font-size:1.5rem}.breadcrumb{font-size:1rem;white-space:nowrap}.breadcrumb a{align-items:center;color:#485fc7;display:flex;justify-content:center;padding:0 .75em}.breadcrumb a:hover{color:#363636}.breadcrumb li{align-items:center;display:flex}.breadcrumb li:first-child a{padding-left:0}.breadcrumb li.is-active a{color:#363636;cursor:default;pointer-events:none}.breadcrumb li+li::before{color:#b5b5b5;content:"\0002f"}.breadcrumb ol,.breadcrumb ul{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:flex-start}.breadcrumb .icon:first-child{margin-right:.5em}.breadcrumb .icon:last-child{margin-left:.5em}.breadcrumb.is-centered ol,.breadcrumb.is-centered ul{justify-content:center}.breadcrumb.is-right ol,.breadcrumb.is-right ul{justify-content:flex-end}.breadcrumb.is-small{font-size:.75rem}.breadcrumb.is-medium{font-size:1.25rem}.breadcrumb.is-large{font-size:1.5rem}.breadcrumb.has-arrow-separator li+li::before{content:"\02192"}.breadcrumb.has-bullet-separator li+li::before{content:"\02022"}.breadcrumb.has-dot-separator li+li::before{content:"\000b7"}.breadcrumb.has-succeeds-separator li+li::before{content:"\0227B"}.card{background-color:#fff;border-radius:.25rem;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);color:#4a4a4a;max-width:100%;position:relative}.card-content:first-child,.card-footer:first-child,.card-header:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-content:last-child,.card-footer:last-child,.card-header:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-header{background-color:transparent;align-items:stretch;box-shadow:0 .125em .25em rgba(10,10,10,.1);display:flex}.card-header-title{align-items:center;color:#363636;display:flex;flex-grow:1;font-weight:700;padding:.75rem 1rem}.card-header-title.is-centered{justify-content:center}.card-header-icon{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;color:currentColor;font-family:inherit;font-size:1em;margin:0;padding:0;align-items:center;cursor:pointer;display:flex;justify-content:center;padding:.75rem 1rem}.card-image{display:block;position:relative}.card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{background-color:transparent;padding:1.5rem}.card-footer{background-color:transparent;border-top:1px solid #ededed;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #ededed}.card .media:not(:last-child){margin-bottom:1.5rem}.dropdown{display:inline-flex;position:relative;vertical-align:top}.dropdown.is-active .dropdown-menu,.dropdown.is-hoverable:hover .dropdown-menu{display:block}.dropdown.is-right .dropdown-menu{left:auto;right:0}.dropdown.is-up .dropdown-menu{bottom:100%;padding-bottom:4px;padding-top:initial;top:auto}.dropdown-menu{display:none;left:0;min-width:12rem;padding-top:4px;position:absolute;top:100%;z-index:20}.dropdown-content{background-color:#fff;border-radius:4px;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);padding-bottom:.5rem;padding-top:.5rem}.dropdown-item{color:#4a4a4a;display:block;font-size:.875rem;line-height:1.5;padding:.375rem 1rem;position:relative}a.dropdown-item,button.dropdown-item{padding-right:3rem;text-align:inherit;white-space:nowrap;width:100%}a.dropdown-item:hover,button.dropdown-item:hover{background-color:#f5f5f5;color:#0a0a0a}a.dropdown-item.is-active,button.dropdown-item.is-active{background-color:#485fc7;color:#fff}.dropdown-divider{background-color:#ededed;border:none;display:block;height:1px;margin:.5rem 0}.level{align-items:center;justify-content:space-between}.level code{border-radius:4px}.level img{display:inline-block;vertical-align:top}.level.is-mobile{display:flex}.level.is-mobile .level-left,.level.is-mobile .level-right{display:flex}.level.is-mobile .level-left+.level-right{margin-top:0}.level.is-mobile .level-item:not(:last-child){margin-bottom:0;margin-right:.75rem}.level.is-mobile .level-item:not(.is-narrow){flex-grow:1}@media screen and (min-width:769px),print{.level{display:flex}.level>.level-item:not(.is-narrow){flex-grow:1}}.level-item{align-items:center;display:flex;flex-basis:auto;flex-grow:0;flex-shrink:0;justify-content:center}.level-item .subtitle,.level-item .title{margin-bottom:0}@media screen and (max-width:768px){.level-item:not(:last-child){margin-bottom:.75rem}}.level-left,.level-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.level-left .level-item.is-flexible,.level-right .level-item.is-flexible{flex-grow:1}@media screen and (min-width:769px),print{.level-left .level-item:not(:last-child),.level-right .level-item:not(:last-child){margin-right:.75rem}}.level-left{align-items:center;justify-content:flex-start}@media screen and (max-width:768px){.level-left+.level-right{margin-top:1.5rem}}@media screen and (min-width:769px),print{.level-left{display:flex}}.level-right{align-items:center;justify-content:flex-end}@media screen and (min-width:769px),print{.level-right{display:flex}}.media{align-items:flex-start;display:flex;text-align:inherit}.media .content:not(:last-child){margin-bottom:.75rem}.media .media{border-top:1px solid rgba(219,219,219,.5);display:flex;padding-top:.75rem}.media .media .content:not(:last-child),.media .media .control:not(:last-child){margin-bottom:.5rem}.media .media .media{padding-top:.5rem}.media .media .media+.media{margin-top:.5rem}.media+.media{border-top:1px solid rgba(219,219,219,.5);margin-top:1rem;padding-top:1rem}.media.is-large+.media{margin-top:1.5rem;padding-top:1.5rem}.media-left,.media-right{flex-basis:auto;flex-grow:0;flex-shrink:0}.media-left{margin-right:1rem}.media-right{margin-left:1rem}.media-content{flex-basis:auto;flex-grow:1;flex-shrink:1;text-align:inherit}@media screen and (max-width:768px){.media-content{overflow-x:auto}}.menu{font-size:1rem}.menu.is-small{font-size:.75rem}.menu.is-medium{font-size:1.25rem}.menu.is-large{font-size:1.5rem}.menu-list{line-height:1.25}.menu-list a{border-radius:2px;color:#4a4a4a;display:block;padding:.5em .75em}.menu-list a:hover{background-color:#f5f5f5;color:#363636}.menu-list a.is-active{background-color:#485fc7;color:#fff}.menu-list li ul{border-left:1px solid #dbdbdb;margin:.75em;padding-left:.75em}.menu-label{color:#7a7a7a;font-size:.75em;letter-spacing:.1em;text-transform:uppercase}.menu-label:not(:first-child){margin-top:1em}.menu-label:not(:last-child){margin-bottom:1em}.message{background-color:#f5f5f5;border-radius:4px;font-size:1rem}.message strong{color:currentColor}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-small{font-size:.75rem}.message.is-medium{font-size:1.25rem}.message.is-large{font-size:1.5rem}.message.is-white{background-color:#fff}.message.is-white .message-header{background-color:#fff;color:#0a0a0a}.message.is-white .message-body{border-color:#fff}.message.is-black{background-color:#fafafa}.message.is-black .message-header{background-color:#0a0a0a;color:#fff}.message.is-black .message-body{border-color:#0a0a0a}.message.is-light{background-color:#fafafa}.message.is-light .message-header{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.message.is-light .message-body{border-color:#f5f5f5}.message.is-dark{background-color:#fafafa}.message.is-dark .message-header{background-color:#363636;color:#fff}.message.is-dark .message-body{border-color:#363636}.message.is-primary{background-color:#ebfffc}.message.is-primary .message-header{background-color:#00d1b2;color:#fff}.message.is-primary .message-body{border-color:#00d1b2;color:#00947e}.message.is-link{background-color:#eff1fa}.message.is-link .message-header{background-color:#485fc7;color:#fff}.message.is-link .message-body{border-color:#485fc7;color:#3850b7}.message.is-info{background-color:#eff5fb}.message.is-info .message-header{background-color:#3e8ed0;color:#fff}.message.is-info .message-body{border-color:#3e8ed0;color:#296fa8}.message.is-success{background-color:#effaf5}.message.is-success .message-header{background-color:#48c78e;color:#fff}.message.is-success .message-body{border-color:#48c78e;color:#257953}.message.is-warning{background-color:#fffaeb}.message.is-warning .message-header{background-color:#ffe08a;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffe08a;color:#946c00}.message.is-danger{background-color:#feecf0}.message.is-danger .message-header{background-color:#f14668;color:#fff}.message.is-danger .message-body{border-color:#f14668;color:#cc0f35}.message-header{align-items:center;background-color:#4a4a4a;border-radius:4px 4px 0 0;color:#fff;display:flex;font-weight:700;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header .delete{flex-grow:0;flex-shrink:0;margin-left:.75em}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-color:#dbdbdb;border-radius:4px;border-style:solid;border-width:0 0 0 4px;color:#4a4a4a;padding:1.25em 1.5em}.message-body code,.message-body pre{background-color:#fff}.message-body pre code{background-color:transparent}.modal{align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-active{display:flex}.modal-background{background-color:rgba(10,10,10,.86)}.modal-card,.modal-content{margin:0 20px;max-height:calc(100vh - 160px);overflow:auto;position:relative;width:100%}@media screen and (min-width:769px){.modal-card,.modal-content{margin:0 auto;max-height:calc(100vh - 40px);width:640px}}.modal-close{background:0 0;height:40px;position:fixed;right:20px;top:20px;width:40px}.modal-card{display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden;-ms-overflow-y:visible}.modal-card-foot,.modal-card-head{align-items:center;background-color:#f5f5f5;display:flex;flex-shrink:0;justify-content:flex-start;padding:20px;position:relative}.modal-card-head{border-bottom:1px solid #dbdbdb;border-top-left-radius:6px;border-top-right-radius:6px}.modal-card-title{color:#363636;flex-grow:1;flex-shrink:0;font-size:1.5rem;line-height:1}.modal-card-foot{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid #dbdbdb}.modal-card-foot .button:not(:last-child){margin-right:.5em}.modal-card-body{-webkit-overflow-scrolling:touch;background-color:#fff;flex-grow:1;flex-shrink:1;overflow:auto;padding:20px}.navbar{background-color:#fff;min-height:3.25rem;position:relative;z-index:30}.navbar.is-white{background-color:#fff;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link,.navbar.is-white .navbar-brand>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link.is-active,.navbar.is-white .navbar-brand .navbar-link:focus,.navbar.is-white .navbar-brand .navbar-link:hover,.navbar.is-white .navbar-brand>a.navbar-item.is-active,.navbar.is-white .navbar-brand>a.navbar-item:focus,.navbar.is-white .navbar-brand>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-brand .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-burger{color:#0a0a0a}@media screen and (min-width:1024px){.navbar.is-white .navbar-end .navbar-link,.navbar.is-white .navbar-end>.navbar-item,.navbar.is-white .navbar-start .navbar-link,.navbar.is-white .navbar-start>.navbar-item{color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link.is-active,.navbar.is-white .navbar-end .navbar-link:focus,.navbar.is-white .navbar-end .navbar-link:hover,.navbar.is-white .navbar-end>a.navbar-item.is-active,.navbar.is-white .navbar-end>a.navbar-item:focus,.navbar.is-white .navbar-end>a.navbar-item:hover,.navbar.is-white .navbar-start .navbar-link.is-active,.navbar.is-white .navbar-start .navbar-link:focus,.navbar.is-white .navbar-start .navbar-link:hover,.navbar.is-white .navbar-start>a.navbar-item.is-active,.navbar.is-white .navbar-start>a.navbar-item:focus,.navbar.is-white .navbar-start>a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-end .navbar-link::after,.navbar.is-white .navbar-start .navbar-link::after{border-color:#0a0a0a}.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link{background-color:#f2f2f2;color:#0a0a0a}.navbar.is-white .navbar-dropdown a.navbar-item.is-active{background-color:#fff;color:#0a0a0a}}.navbar.is-black{background-color:#0a0a0a;color:#fff}.navbar.is-black .navbar-brand .navbar-link,.navbar.is-black .navbar-brand>.navbar-item{color:#fff}.navbar.is-black .navbar-brand .navbar-link.is-active,.navbar.is-black .navbar-brand .navbar-link:focus,.navbar.is-black .navbar-brand .navbar-link:hover,.navbar.is-black .navbar-brand>a.navbar-item.is-active,.navbar.is-black .navbar-brand>a.navbar-item:focus,.navbar.is-black .navbar-brand>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-black .navbar-end .navbar-link,.navbar.is-black .navbar-end>.navbar-item,.navbar.is-black .navbar-start .navbar-link,.navbar.is-black .navbar-start>.navbar-item{color:#fff}.navbar.is-black .navbar-end .navbar-link.is-active,.navbar.is-black .navbar-end .navbar-link:focus,.navbar.is-black .navbar-end .navbar-link:hover,.navbar.is-black .navbar-end>a.navbar-item.is-active,.navbar.is-black .navbar-end>a.navbar-item:focus,.navbar.is-black .navbar-end>a.navbar-item:hover,.navbar.is-black .navbar-start .navbar-link.is-active,.navbar.is-black .navbar-start .navbar-link:focus,.navbar.is-black .navbar-start .navbar-link:hover,.navbar.is-black .navbar-start>a.navbar-item.is-active,.navbar.is-black .navbar-start>a.navbar-item:focus,.navbar.is-black .navbar-start>a.navbar-item:hover{background-color:#000;color:#fff}.navbar.is-black .navbar-end .navbar-link::after,.navbar.is-black .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link{background-color:#000;color:#fff}.navbar.is-black .navbar-dropdown a.navbar-item.is-active{background-color:#0a0a0a;color:#fff}}.navbar.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-brand .navbar-link,.navbar.is-light .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-light .navbar-brand .navbar-link.is-active,.navbar.is-light .navbar-brand .navbar-link:focus,.navbar.is-light .navbar-brand .navbar-link:hover,.navbar.is-light .navbar-brand>a.navbar-item.is-active,.navbar.is-light .navbar-brand>a.navbar-item:focus,.navbar.is-light .navbar-brand>a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-light .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1024px){.navbar.is-light .navbar-end .navbar-link,.navbar.is-light .navbar-end>.navbar-item,.navbar.is-light .navbar-start .navbar-link,.navbar.is-light .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-light .navbar-end .navbar-link.is-active,.navbar.is-light .navbar-end .navbar-link:focus,.navbar.is-light .navbar-end .navbar-link:hover,.navbar.is-light .navbar-end>a.navbar-item.is-active,.navbar.is-light .navbar-end>a.navbar-item:focus,.navbar.is-light .navbar-end>a.navbar-item:hover,.navbar.is-light .navbar-start .navbar-link.is-active,.navbar.is-light .navbar-start .navbar-link:focus,.navbar.is-light .navbar-start .navbar-link:hover,.navbar.is-light .navbar-start>a.navbar-item.is-active,.navbar.is-light .navbar-start>a.navbar-item:focus,.navbar.is-light .navbar-start>a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-end .navbar-link::after,.navbar.is-light .navbar-start .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.navbar.is-light .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:rgba(0,0,0,.7)}}.navbar.is-dark{background-color:#363636;color:#fff}.navbar.is-dark .navbar-brand .navbar-link,.navbar.is-dark .navbar-brand>.navbar-item{color:#fff}.navbar.is-dark .navbar-brand .navbar-link.is-active,.navbar.is-dark .navbar-brand .navbar-link:focus,.navbar.is-dark .navbar-brand .navbar-link:hover,.navbar.is-dark .navbar-brand>a.navbar-item.is-active,.navbar.is-dark .navbar-brand>a.navbar-item:focus,.navbar.is-dark .navbar-brand>a.navbar-item:hover{background-color:#292929;color:#fff}.navbar.is-dark .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-dark .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-dark .navbar-end .navbar-link,.navbar.is-dark .navbar-end>.navbar-item,.navbar.is-dark .navbar-start .navbar-link,.navbar.is-dark .navbar-start>.navbar-item{color:#fff}.navbar.is-dark .navbar-end .navbar-link.is-active,.navbar.is-dark .navbar-end .navbar-link:focus,.navbar.is-dark .navbar-end .navbar-link:hover,.navbar.is-dark .navbar-end>a.navbar-item.is-active,.navbar.is-dark .navbar-end>a.navbar-item:focus,.navbar.is-dark .navbar-end>a.navbar-item:hover,.navbar.is-dark .navbar-start .navbar-link.is-active,.navbar.is-dark .navbar-start .navbar-link:focus,.navbar.is-dark .navbar-start .navbar-link:hover,.navbar.is-dark .navbar-start>a.navbar-item.is-active,.navbar.is-dark .navbar-start>a.navbar-item:focus,.navbar.is-dark .navbar-start>a.navbar-item:hover{background-color:#292929;color:#fff}.navbar.is-dark .navbar-end .navbar-link::after,.navbar.is-dark .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link{background-color:#292929;color:#fff}.navbar.is-dark .navbar-dropdown a.navbar-item.is-active{background-color:#363636;color:#fff}}.navbar.is-primary{background-color:#00d1b2;color:#fff}.navbar.is-primary .navbar-brand .navbar-link,.navbar.is-primary .navbar-brand>.navbar-item{color:#fff}.navbar.is-primary .navbar-brand .navbar-link.is-active,.navbar.is-primary .navbar-brand .navbar-link:focus,.navbar.is-primary .navbar-brand .navbar-link:hover,.navbar.is-primary .navbar-brand>a.navbar-item.is-active,.navbar.is-primary .navbar-brand>a.navbar-item:focus,.navbar.is-primary .navbar-brand>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-primary .navbar-end .navbar-link,.navbar.is-primary .navbar-end>.navbar-item,.navbar.is-primary .navbar-start .navbar-link,.navbar.is-primary .navbar-start>.navbar-item{color:#fff}.navbar.is-primary .navbar-end .navbar-link.is-active,.navbar.is-primary .navbar-end .navbar-link:focus,.navbar.is-primary .navbar-end .navbar-link:hover,.navbar.is-primary .navbar-end>a.navbar-item.is-active,.navbar.is-primary .navbar-end>a.navbar-item:focus,.navbar.is-primary .navbar-end>a.navbar-item:hover,.navbar.is-primary .navbar-start .navbar-link.is-active,.navbar.is-primary .navbar-start .navbar-link:focus,.navbar.is-primary .navbar-start .navbar-link:hover,.navbar.is-primary .navbar-start>a.navbar-item.is-active,.navbar.is-primary .navbar-start>a.navbar-item:focus,.navbar.is-primary .navbar-start>a.navbar-item:hover{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-end .navbar-link::after,.navbar.is-primary .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link{background-color:#00b89c;color:#fff}.navbar.is-primary .navbar-dropdown a.navbar-item.is-active{background-color:#00d1b2;color:#fff}}.navbar.is-link{background-color:#485fc7;color:#fff}.navbar.is-link .navbar-brand .navbar-link,.navbar.is-link .navbar-brand>.navbar-item{color:#fff}.navbar.is-link .navbar-brand .navbar-link.is-active,.navbar.is-link .navbar-brand .navbar-link:focus,.navbar.is-link .navbar-brand .navbar-link:hover,.navbar.is-link .navbar-brand>a.navbar-item.is-active,.navbar.is-link .navbar-brand>a.navbar-item:focus,.navbar.is-link .navbar-brand>a.navbar-item:hover{background-color:#3a51bb;color:#fff}.navbar.is-link .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-link .navbar-end .navbar-link,.navbar.is-link .navbar-end>.navbar-item,.navbar.is-link .navbar-start .navbar-link,.navbar.is-link .navbar-start>.navbar-item{color:#fff}.navbar.is-link .navbar-end .navbar-link.is-active,.navbar.is-link .navbar-end .navbar-link:focus,.navbar.is-link .navbar-end .navbar-link:hover,.navbar.is-link .navbar-end>a.navbar-item.is-active,.navbar.is-link .navbar-end>a.navbar-item:focus,.navbar.is-link .navbar-end>a.navbar-item:hover,.navbar.is-link .navbar-start .navbar-link.is-active,.navbar.is-link .navbar-start .navbar-link:focus,.navbar.is-link .navbar-start .navbar-link:hover,.navbar.is-link .navbar-start>a.navbar-item.is-active,.navbar.is-link .navbar-start>a.navbar-item:focus,.navbar.is-link .navbar-start>a.navbar-item:hover{background-color:#3a51bb;color:#fff}.navbar.is-link .navbar-end .navbar-link::after,.navbar.is-link .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link{background-color:#3a51bb;color:#fff}.navbar.is-link .navbar-dropdown a.navbar-item.is-active{background-color:#485fc7;color:#fff}}.navbar.is-info{background-color:#3e8ed0;color:#fff}.navbar.is-info .navbar-brand .navbar-link,.navbar.is-info .navbar-brand>.navbar-item{color:#fff}.navbar.is-info .navbar-brand .navbar-link.is-active,.navbar.is-info .navbar-brand .navbar-link:focus,.navbar.is-info .navbar-brand .navbar-link:hover,.navbar.is-info .navbar-brand>a.navbar-item.is-active,.navbar.is-info .navbar-brand>a.navbar-item:focus,.navbar.is-info .navbar-brand>a.navbar-item:hover{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-info .navbar-end .navbar-link,.navbar.is-info .navbar-end>.navbar-item,.navbar.is-info .navbar-start .navbar-link,.navbar.is-info .navbar-start>.navbar-item{color:#fff}.navbar.is-info .navbar-end .navbar-link.is-active,.navbar.is-info .navbar-end .navbar-link:focus,.navbar.is-info .navbar-end .navbar-link:hover,.navbar.is-info .navbar-end>a.navbar-item.is-active,.navbar.is-info .navbar-end>a.navbar-item:focus,.navbar.is-info .navbar-end>a.navbar-item:hover,.navbar.is-info .navbar-start .navbar-link.is-active,.navbar.is-info .navbar-start .navbar-link:focus,.navbar.is-info .navbar-start .navbar-link:hover,.navbar.is-info .navbar-start>a.navbar-item.is-active,.navbar.is-info .navbar-start>a.navbar-item:focus,.navbar.is-info .navbar-start>a.navbar-item:hover{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-end .navbar-link::after,.navbar.is-info .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link{background-color:#3082c5;color:#fff}.navbar.is-info .navbar-dropdown a.navbar-item.is-active{background-color:#3e8ed0;color:#fff}}.navbar.is-success{background-color:#48c78e;color:#fff}.navbar.is-success .navbar-brand .navbar-link,.navbar.is-success .navbar-brand>.navbar-item{color:#fff}.navbar.is-success .navbar-brand .navbar-link.is-active,.navbar.is-success .navbar-brand .navbar-link:focus,.navbar.is-success .navbar-brand .navbar-link:hover,.navbar.is-success .navbar-brand>a.navbar-item.is-active,.navbar.is-success .navbar-brand>a.navbar-item:focus,.navbar.is-success .navbar-brand>a.navbar-item:hover{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-success .navbar-end .navbar-link,.navbar.is-success .navbar-end>.navbar-item,.navbar.is-success .navbar-start .navbar-link,.navbar.is-success .navbar-start>.navbar-item{color:#fff}.navbar.is-success .navbar-end .navbar-link.is-active,.navbar.is-success .navbar-end .navbar-link:focus,.navbar.is-success .navbar-end .navbar-link:hover,.navbar.is-success .navbar-end>a.navbar-item.is-active,.navbar.is-success .navbar-end>a.navbar-item:focus,.navbar.is-success .navbar-end>a.navbar-item:hover,.navbar.is-success .navbar-start .navbar-link.is-active,.navbar.is-success .navbar-start .navbar-link:focus,.navbar.is-success .navbar-start .navbar-link:hover,.navbar.is-success .navbar-start>a.navbar-item.is-active,.navbar.is-success .navbar-start>a.navbar-item:focus,.navbar.is-success .navbar-start>a.navbar-item:hover{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-end .navbar-link::after,.navbar.is-success .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link{background-color:#3abb81;color:#fff}.navbar.is-success .navbar-dropdown a.navbar-item.is-active{background-color:#48c78e;color:#fff}}.navbar.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link,.navbar.is-warning .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link.is-active,.navbar.is-warning .navbar-brand .navbar-link:focus,.navbar.is-warning .navbar-brand .navbar-link:hover,.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1024px){.navbar.is-warning .navbar-end .navbar-link,.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-start .navbar-link,.navbar.is-warning .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link.is-active,.navbar.is-warning .navbar-end .navbar-link:focus,.navbar.is-warning .navbar-end .navbar-link:hover,.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-start .navbar-link.is-active,.navbar.is-warning .navbar-start .navbar-link:focus,.navbar.is-warning .navbar-start .navbar-link:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end .navbar-link::after,.navbar.is-warning .navbar-start .navbar-link::after{border-color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-dropdown a.navbar-item.is-active{background-color:#ffe08a;color:rgba(0,0,0,.7)}}.navbar.is-danger{background-color:#f14668;color:#fff}.navbar.is-danger .navbar-brand .navbar-link,.navbar.is-danger .navbar-brand>.navbar-item{color:#fff}.navbar.is-danger .navbar-brand .navbar-link.is-active,.navbar.is-danger .navbar-brand .navbar-link:focus,.navbar.is-danger .navbar-brand .navbar-link:hover,.navbar.is-danger .navbar-brand>a.navbar-item.is-active,.navbar.is-danger .navbar-brand>a.navbar-item:focus,.navbar.is-danger .navbar-brand>a.navbar-item:hover{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-brand .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-burger{color:#fff}@media screen and (min-width:1024px){.navbar.is-danger .navbar-end .navbar-link,.navbar.is-danger .navbar-end>.navbar-item,.navbar.is-danger .navbar-start .navbar-link,.navbar.is-danger .navbar-start>.navbar-item{color:#fff}.navbar.is-danger .navbar-end .navbar-link.is-active,.navbar.is-danger .navbar-end .navbar-link:focus,.navbar.is-danger .navbar-end .navbar-link:hover,.navbar.is-danger .navbar-end>a.navbar-item.is-active,.navbar.is-danger .navbar-end>a.navbar-item:focus,.navbar.is-danger .navbar-end>a.navbar-item:hover,.navbar.is-danger .navbar-start .navbar-link.is-active,.navbar.is-danger .navbar-start .navbar-link:focus,.navbar.is-danger .navbar-start .navbar-link:hover,.navbar.is-danger .navbar-start>a.navbar-item.is-active,.navbar.is-danger .navbar-start>a.navbar-item:focus,.navbar.is-danger .navbar-start>a.navbar-item:hover{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-end .navbar-link::after,.navbar.is-danger .navbar-start .navbar-link::after{border-color:#fff}.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link{background-color:#ef2e55;color:#fff}.navbar.is-danger .navbar-dropdown a.navbar-item.is-active{background-color:#f14668;color:#fff}}.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem;width:100%}.navbar.has-shadow{box-shadow:0 2px 0 0 #f5f5f5}.navbar.is-fixed-bottom,.navbar.is-fixed-top{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom{bottom:0}.navbar.is-fixed-bottom.has-shadow{box-shadow:0 -2px 0 0 #f5f5f5}.navbar.is-fixed-top{top:0}body.has-navbar-fixed-top,html.has-navbar-fixed-top{padding-top:3.25rem}body.has-navbar-fixed-bottom,html.has-navbar-fixed-bottom{padding-bottom:3.25rem}.navbar-brand,.navbar-tabs{align-items:stretch;display:flex;flex-shrink:0;min-height:3.25rem}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:transparent}.navbar-tabs{-webkit-overflow-scrolling:touch;max-width:100vw;overflow-x:auto;overflow-y:hidden}.navbar-burger{color:#4a4a4a;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:first-child{top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,.05)}.navbar-burger.is-active span:first-child{transform:translateY(5px) rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar-menu{display:none}.navbar-item,.navbar-link{color:#4a4a4a;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child,.navbar-link .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}.navbar-link,a.navbar-item{cursor:pointer}.navbar-link.is-active,.navbar-link:focus,.navbar-link:focus-within,.navbar-link:hover,a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{background-color:#fafafa;color:#485fc7}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}.navbar-item.has-dropdown{padding:0}.navbar-item.is-expanded{flex-grow:1;flex-shrink:1}.navbar-item.is-tab{border-bottom:1px solid transparent;min-height:3.25rem;padding-bottom:calc(.5rem - 1px)}.navbar-item.is-tab:focus,.navbar-item.is-tab:hover{background-color:transparent;border-bottom-color:#485fc7}.navbar-item.is-tab.is-active{background-color:transparent;border-bottom-color:#485fc7;border-bottom-style:solid;border-bottom-width:3px;color:#485fc7;padding-bottom:calc(.5rem - 3px)}.navbar-content{flex-grow:1;flex-shrink:1}.navbar-link:not(.is-arrowless){padding-right:2.5em}.navbar-link:not(.is-arrowless)::after{border-color:#485fc7;margin-top:-.375em;right:1.125em}.navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar-dropdown .navbar-item{padding-left:1.5rem;padding-right:1.5rem}.navbar-divider{background-color:#f5f5f5;border:none;display:none;height:2px;margin:.5rem 0}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item,.navbar-tabs .navbar-item{align-items:center;display:flex}.navbar-link::after{display:none}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}.navbar.is-fixed-bottom-touch,.navbar.is-fixed-top-touch{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-touch{bottom:0}.navbar.is-fixed-bottom-touch.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-touch{top:0}.navbar.is-fixed-top .navbar-menu,.navbar.is-fixed-top-touch .navbar-menu{-webkit-overflow-scrolling:touch;max-height:calc(100vh - 3.25rem);overflow:auto}body.has-navbar-fixed-top-touch,html.has-navbar-fixed-top-touch{padding-top:3.25rem}body.has-navbar-fixed-bottom-touch,html.has-navbar-fixed-bottom-touch{padding-bottom:3.25rem}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar.is-spaced{padding:1rem 2rem}.navbar.is-spaced .navbar-end,.navbar.is-spaced .navbar-start{align-items:center}.navbar.is-spaced .navbar-link,.navbar.is-spaced a.navbar-item{border-radius:4px}.navbar.is-transparent .navbar-link.is-active,.navbar.is-transparent .navbar-link:focus,.navbar.is-transparent .navbar-link:hover,.navbar.is-transparent a.navbar-item.is-active,.navbar.is-transparent a.navbar-item:focus,.navbar.is-transparent a.navbar-item:hover{background-color:transparent!important}.navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link,.navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link{background-color:transparent!important}.navbar.is-transparent .navbar-dropdown a.navbar-item:focus,.navbar.is-transparent .navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar.is-transparent .navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#485fc7}.navbar-burger{display:none}.navbar-item,.navbar-link{align-items:center;display:flex}.navbar-item.has-dropdown{align-items:stretch}.navbar-item.has-dropdown-up .navbar-link::after{transform:rotate(135deg) translate(.25em,-.25em)}.navbar-item.has-dropdown-up .navbar-dropdown{border-bottom:2px solid #dbdbdb;border-radius:6px 6px 0 0;border-top:none;bottom:100%;box-shadow:0 -8px 8px rgba(10,10,10,.1);top:auto}.navbar-item.is-active .navbar-dropdown,.navbar-item.is-hoverable:focus .navbar-dropdown,.navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar-item.is-hoverable:hover .navbar-dropdown{display:block}.navbar-item.is-active .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed,.navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-item.is-active .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown,.navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.navbar-dropdown{background-color:#fff;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid #dbdbdb;box-shadow:0 8px 8px rgba(10,10,10,.1);display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar-dropdown .navbar-item{padding:.375rem 1rem;white-space:nowrap}.navbar-dropdown a.navbar-item{padding-right:3rem}.navbar-dropdown a.navbar-item:focus,.navbar-dropdown a.navbar-item:hover{background-color:#f5f5f5;color:#0a0a0a}.navbar-dropdown a.navbar-item.is-active{background-color:#f5f5f5;color:#485fc7}.navbar-dropdown.is-boxed,.navbar.is-spaced .navbar-dropdown{border-radius:6px;border-top:none;box-shadow:0 8px 8px rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.1);display:block;opacity:0;pointer-events:none;top:calc(100% + (-4px));transform:translateY(-5px);transition-duration:86ms;transition-property:opacity,transform}.navbar-dropdown.is-right{left:auto;right:0}.navbar-divider{display:block}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}.navbar.is-fixed-bottom-desktop,.navbar.is-fixed-top-desktop{left:0;position:fixed;right:0;z-index:30}.navbar.is-fixed-bottom-desktop{bottom:0}.navbar.is-fixed-bottom-desktop.has-shadow{box-shadow:0 -2px 3px rgba(10,10,10,.1)}.navbar.is-fixed-top-desktop{top:0}body.has-navbar-fixed-top-desktop,html.has-navbar-fixed-top-desktop{padding-top:3.25rem}body.has-navbar-fixed-bottom-desktop,html.has-navbar-fixed-bottom-desktop{padding-bottom:3.25rem}body.has-spaced-navbar-fixed-top,html.has-spaced-navbar-fixed-top{padding-top:5.25rem}body.has-spaced-navbar-fixed-bottom,html.has-spaced-navbar-fixed-bottom{padding-bottom:5.25rem}.navbar-link.is-active,a.navbar-item.is-active{color:#0a0a0a}.navbar-link.is-active:not(:focus):not(:hover),a.navbar-item.is-active:not(:focus):not(:hover){background-color:transparent}.navbar-item.has-dropdown.is-active .navbar-link,.navbar-item.has-dropdown:focus .navbar-link,.navbar-item.has-dropdown:hover .navbar-link{background-color:#fafafa}}.hero.is-fullheight-with-navbar{min-height:calc(100vh - 3.25rem)}.pagination{font-size:1rem;margin:-.25rem}.pagination.is-small{font-size:.75rem}.pagination.is-medium{font-size:1.25rem}.pagination.is-large{font-size:1.5rem}.pagination.is-rounded .pagination-next,.pagination.is-rounded .pagination-previous{padding-left:1em;padding-right:1em;border-radius:9999px}.pagination.is-rounded .pagination-link{border-radius:9999px}.pagination,.pagination-list{align-items:center;display:flex;justify-content:center;text-align:center}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{font-size:1em;justify-content:center;margin:.25rem;padding-left:.5em;padding-right:.5em;text-align:center}.pagination-link,.pagination-next,.pagination-previous{border-color:#dbdbdb;color:#363636;min-width:2.5em}.pagination-link:hover,.pagination-next:hover,.pagination-previous:hover{border-color:#b5b5b5;color:#363636}.pagination-link:focus,.pagination-next:focus,.pagination-previous:focus{border-color:#485fc7}.pagination-link:active,.pagination-next:active,.pagination-previous:active{box-shadow:inset 0 1px 2px rgba(10,10,10,.2)}.pagination-link.is-disabled,.pagination-link[disabled],.pagination-next.is-disabled,.pagination-next[disabled],.pagination-previous.is-disabled,.pagination-previous[disabled]{background-color:#dbdbdb;border-color:#dbdbdb;box-shadow:none;color:#7a7a7a;opacity:.5}.pagination-next,.pagination-previous{padding-left:.75em;padding-right:.75em;white-space:nowrap}.pagination-link.is-current{background-color:#485fc7;border-color:#485fc7;color:#fff}.pagination-ellipsis{color:#b5b5b5;pointer-events:none}.pagination-list{flex-wrap:wrap}.pagination-list li{list-style:none}@media screen and (max-width:768px){.pagination{flex-wrap:wrap}.pagination-next,.pagination-previous{flex-grow:1;flex-shrink:1}.pagination-list li{flex-grow:1;flex-shrink:1}}@media screen and (min-width:769px),print{.pagination-list{flex-grow:1;flex-shrink:1;justify-content:flex-start;order:1}.pagination-ellipsis,.pagination-link,.pagination-next,.pagination-previous{margin-bottom:0;margin-top:0}.pagination-previous{order:2}.pagination-next{order:3}.pagination{justify-content:space-between;margin-bottom:0;margin-top:0}.pagination.is-centered .pagination-previous{order:1}.pagination.is-centered .pagination-list{justify-content:center;order:2}.pagination.is-centered .pagination-next{order:3}.pagination.is-right .pagination-previous{order:1}.pagination.is-right .pagination-next{order:2}.pagination.is-right .pagination-list{justify-content:flex-end;order:3}}.panel{border-radius:6px;box-shadow:0 .5em 1em -.125em rgba(10,10,10,.1),0 0 0 1px rgba(10,10,10,.02);font-size:1rem}.panel:not(:last-child){margin-bottom:1.5rem}.panel.is-white .panel-heading{background-color:#fff;color:#0a0a0a}.panel.is-white .panel-tabs a.is-active{border-bottom-color:#fff}.panel.is-white .panel-block.is-active .panel-icon{color:#fff}.panel.is-black .panel-heading{background-color:#0a0a0a;color:#fff}.panel.is-black .panel-tabs a.is-active{border-bottom-color:#0a0a0a}.panel.is-black .panel-block.is-active .panel-icon{color:#0a0a0a}.panel.is-light .panel-heading{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.panel.is-light .panel-tabs a.is-active{border-bottom-color:#f5f5f5}.panel.is-light .panel-block.is-active .panel-icon{color:#f5f5f5}.panel.is-dark .panel-heading{background-color:#363636;color:#fff}.panel.is-dark .panel-tabs a.is-active{border-bottom-color:#363636}.panel.is-dark .panel-block.is-active .panel-icon{color:#363636}.panel.is-primary .panel-heading{background-color:#00d1b2;color:#fff}.panel.is-primary .panel-tabs a.is-active{border-bottom-color:#00d1b2}.panel.is-primary .panel-block.is-active .panel-icon{color:#00d1b2}.panel.is-link .panel-heading{background-color:#485fc7;color:#fff}.panel.is-link .panel-tabs a.is-active{border-bottom-color:#485fc7}.panel.is-link .panel-block.is-active .panel-icon{color:#485fc7}.panel.is-info .panel-heading{background-color:#3e8ed0;color:#fff}.panel.is-info .panel-tabs a.is-active{border-bottom-color:#3e8ed0}.panel.is-info .panel-block.is-active .panel-icon{color:#3e8ed0}.panel.is-success .panel-heading{background-color:#48c78e;color:#fff}.panel.is-success .panel-tabs a.is-active{border-bottom-color:#48c78e}.panel.is-success .panel-block.is-active .panel-icon{color:#48c78e}.panel.is-warning .panel-heading{background-color:#ffe08a;color:rgba(0,0,0,.7)}.panel.is-warning .panel-tabs a.is-active{border-bottom-color:#ffe08a}.panel.is-warning .panel-block.is-active .panel-icon{color:#ffe08a}.panel.is-danger .panel-heading{background-color:#f14668;color:#fff}.panel.is-danger .panel-tabs a.is-active{border-bottom-color:#f14668}.panel.is-danger .panel-block.is-active .panel-icon{color:#f14668}.panel-block:not(:last-child),.panel-tabs:not(:last-child){border-bottom:1px solid #ededed}.panel-heading{background-color:#ededed;border-radius:6px 6px 0 0;color:#363636;font-size:1.25em;font-weight:700;line-height:1.25;padding:.75em 1em}.panel-tabs{align-items:flex-end;display:flex;font-size:.875em;justify-content:center}.panel-tabs a{border-bottom:1px solid #dbdbdb;margin-bottom:-1px;padding:.5em}.panel-tabs a.is-active{border-bottom-color:#4a4a4a;color:#363636}.panel-list a{color:#4a4a4a}.panel-list a:hover{color:#485fc7}.panel-block{align-items:center;color:#363636;display:flex;justify-content:flex-start;padding:.5em .75em}.panel-block input[type=checkbox]{margin-right:.75em}.panel-block>.control{flex-grow:1;flex-shrink:1;width:100%}.panel-block.is-wrapped{flex-wrap:wrap}.panel-block.is-active{border-left-color:#485fc7;color:#363636}.panel-block.is-active .panel-icon{color:#485fc7}.panel-block:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}a.panel-block,label.panel-block{cursor:pointer}a.panel-block:hover,label.panel-block:hover{background-color:#f5f5f5}.panel-icon{display:inline-block;font-size:14px;height:1em;line-height:1em;text-align:center;vertical-align:top;width:1em;color:#7a7a7a;margin-right:.75em}.panel-icon .fa{font-size:inherit;line-height:inherit}.tabs{-webkit-overflow-scrolling:touch;align-items:stretch;display:flex;font-size:1rem;justify-content:space-between;overflow:hidden;overflow-x:auto;white-space:nowrap}.tabs a{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;color:#4a4a4a;display:flex;justify-content:center;margin-bottom:-1px;padding:.5em 1em;vertical-align:top}.tabs a:hover{border-bottom-color:#363636;color:#363636}.tabs li{display:block}.tabs li.is-active a{border-bottom-color:#485fc7;color:#485fc7}.tabs ul{align-items:center;border-bottom-color:#dbdbdb;border-bottom-style:solid;border-bottom-width:1px;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-start}.tabs ul.is-left{padding-right:.75em}.tabs ul.is-center{flex:none;justify-content:center;padding-left:.75em;padding-right:.75em}.tabs ul.is-right{justify-content:flex-end;padding-left:.75em}.tabs .icon:first-child{margin-right:.5em}.tabs .icon:last-child{margin-left:.5em}.tabs.is-centered ul{justify-content:center}.tabs.is-right ul{justify-content:flex-end}.tabs.is-boxed a{border:1px solid transparent;border-radius:4px 4px 0 0}.tabs.is-boxed a:hover{background-color:#f5f5f5;border-bottom-color:#dbdbdb}.tabs.is-boxed li.is-active a{background-color:#fff;border-color:#dbdbdb;border-bottom-color:transparent!important}.tabs.is-fullwidth li{flex-grow:1;flex-shrink:0}.tabs.is-toggle a{border-color:#dbdbdb;border-style:solid;border-width:1px;margin-bottom:0;position:relative}.tabs.is-toggle a:hover{background-color:#f5f5f5;border-color:#b5b5b5;z-index:2}.tabs.is-toggle li+li{margin-left:-1px}.tabs.is-toggle li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.tabs.is-toggle li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.tabs.is-toggle li.is-active a{background-color:#485fc7;border-color:#485fc7;color:#fff;z-index:1}.tabs.is-toggle ul{border-bottom:none}.tabs.is-toggle.is-toggle-rounded li:first-child a{border-bottom-left-radius:9999px;border-top-left-radius:9999px;padding-left:1.25em}.tabs.is-toggle.is-toggle-rounded li:last-child a{border-bottom-right-radius:9999px;border-top-right-radius:9999px;padding-right:1.25em}.tabs.is-small{font-size:.75rem}.tabs.is-medium{font-size:1.25rem}.tabs.is-large{font-size:1.5rem}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-narrow{flex:none;width:unset}.columns.is-mobile>.column.is-full{flex:none;width:100%}.columns.is-mobile>.column.is-three-quarters{flex:none;width:75%}.columns.is-mobile>.column.is-two-thirds{flex:none;width:66.6666%}.columns.is-mobile>.column.is-half{flex:none;width:50%}.columns.is-mobile>.column.is-one-third{flex:none;width:33.3333%}.columns.is-mobile>.column.is-one-quarter{flex:none;width:25%}.columns.is-mobile>.column.is-one-fifth{flex:none;width:20%}.columns.is-mobile>.column.is-two-fifths{flex:none;width:40%}.columns.is-mobile>.column.is-three-fifths{flex:none;width:60%}.columns.is-mobile>.column.is-four-fifths{flex:none;width:80%}.columns.is-mobile>.column.is-offset-three-quarters{margin-left:75%}.columns.is-mobile>.column.is-offset-two-thirds{margin-left:66.6666%}.columns.is-mobile>.column.is-offset-half{margin-left:50%}.columns.is-mobile>.column.is-offset-one-third{margin-left:33.3333%}.columns.is-mobile>.column.is-offset-one-quarter{margin-left:25%}.columns.is-mobile>.column.is-offset-one-fifth{margin-left:20%}.columns.is-mobile>.column.is-offset-two-fifths{margin-left:40%}.columns.is-mobile>.column.is-offset-three-fifths{margin-left:60%}.columns.is-mobile>.column.is-offset-four-fifths{margin-left:80%}.columns.is-mobile>.column.is-0{flex:none;width:0%}.columns.is-mobile>.column.is-offset-0{margin-left:0}.columns.is-mobile>.column.is-1{flex:none;width:8.33333%}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333%}.columns.is-mobile>.column.is-2{flex:none;width:16.66667%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66667%}.columns.is-mobile>.column.is-3{flex:none;width:25%}.columns.is-mobile>.column.is-offset-3{margin-left:25%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333%}.columns.is-mobile>.column.is-offset-4{margin-left:33.33333%}.columns.is-mobile>.column.is-5{flex:none;width:41.66667%}.columns.is-mobile>.column.is-offset-5{margin-left:41.66667%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-offset-6{margin-left:50%}.columns.is-mobile>.column.is-7{flex:none;width:58.33333%}.columns.is-mobile>.column.is-offset-7{margin-left:58.33333%}.columns.is-mobile>.column.is-8{flex:none;width:66.66667%}.columns.is-mobile>.column.is-offset-8{margin-left:66.66667%}.columns.is-mobile>.column.is-9{flex:none;width:75%}.columns.is-mobile>.column.is-offset-9{margin-left:75%}.columns.is-mobile>.column.is-10{flex:none;width:83.33333%}.columns.is-mobile>.column.is-offset-10{margin-left:83.33333%}.columns.is-mobile>.column.is-11{flex:none;width:91.66667%}.columns.is-mobile>.column.is-offset-11{margin-left:91.66667%}.columns.is-mobile>.column.is-12{flex:none;width:100%}.columns.is-mobile>.column.is-offset-12{margin-left:100%}@media screen and (max-width:768px){.column.is-narrow-mobile{flex:none;width:unset}.column.is-full-mobile{flex:none;width:100%}.column.is-three-quarters-mobile{flex:none;width:75%}.column.is-two-thirds-mobile{flex:none;width:66.6666%}.column.is-half-mobile{flex:none;width:50%}.column.is-one-third-mobile{flex:none;width:33.3333%}.column.is-one-quarter-mobile{flex:none;width:25%}.column.is-one-fifth-mobile{flex:none;width:20%}.column.is-two-fifths-mobile{flex:none;width:40%}.column.is-three-fifths-mobile{flex:none;width:60%}.column.is-four-fifths-mobile{flex:none;width:80%}.column.is-offset-three-quarters-mobile{margin-left:75%}.column.is-offset-two-thirds-mobile{margin-left:66.6666%}.column.is-offset-half-mobile{margin-left:50%}.column.is-offset-one-third-mobile{margin-left:33.3333%}.column.is-offset-one-quarter-mobile{margin-left:25%}.column.is-offset-one-fifth-mobile{margin-left:20%}.column.is-offset-two-fifths-mobile{margin-left:40%}.column.is-offset-three-fifths-mobile{margin-left:60%}.column.is-offset-four-fifths-mobile{margin-left:80%}.column.is-0-mobile{flex:none;width:0%}.column.is-offset-0-mobile{margin-left:0}.column.is-1-mobile{flex:none;width:8.33333%}.column.is-offset-1-mobile{margin-left:8.33333%}.column.is-2-mobile{flex:none;width:16.66667%}.column.is-offset-2-mobile{margin-left:16.66667%}.column.is-3-mobile{flex:none;width:25%}.column.is-offset-3-mobile{margin-left:25%}.column.is-4-mobile{flex:none;width:33.33333%}.column.is-offset-4-mobile{margin-left:33.33333%}.column.is-5-mobile{flex:none;width:41.66667%}.column.is-offset-5-mobile{margin-left:41.66667%}.column.is-6-mobile{flex:none;width:50%}.column.is-offset-6-mobile{margin-left:50%}.column.is-7-mobile{flex:none;width:58.33333%}.column.is-offset-7-mobile{margin-left:58.33333%}.column.is-8-mobile{flex:none;width:66.66667%}.column.is-offset-8-mobile{margin-left:66.66667%}.column.is-9-mobile{flex:none;width:75%}.column.is-offset-9-mobile{margin-left:75%}.column.is-10-mobile{flex:none;width:83.33333%}.column.is-offset-10-mobile{margin-left:83.33333%}.column.is-11-mobile{flex:none;width:91.66667%}.column.is-offset-11-mobile{margin-left:91.66667%}.column.is-12-mobile{flex:none;width:100%}.column.is-offset-12-mobile{margin-left:100%}}@media screen and (min-width:769px),print{.column.is-narrow,.column.is-narrow-tablet{flex:none;width:unset}.column.is-full,.column.is-full-tablet{flex:none;width:100%}.column.is-three-quarters,.column.is-three-quarters-tablet{flex:none;width:75%}.column.is-two-thirds,.column.is-two-thirds-tablet{flex:none;width:66.6666%}.column.is-half,.column.is-half-tablet{flex:none;width:50%}.column.is-one-third,.column.is-one-third-tablet{flex:none;width:33.3333%}.column.is-one-quarter,.column.is-one-quarter-tablet{flex:none;width:25%}.column.is-one-fifth,.column.is-one-fifth-tablet{flex:none;width:20%}.column.is-two-fifths,.column.is-two-fifths-tablet{flex:none;width:40%}.column.is-three-fifths,.column.is-three-fifths-tablet{flex:none;width:60%}.column.is-four-fifths,.column.is-four-fifths-tablet{flex:none;width:80%}.column.is-offset-three-quarters,.column.is-offset-three-quarters-tablet{margin-left:75%}.column.is-offset-two-thirds,.column.is-offset-two-thirds-tablet{margin-left:66.6666%}.column.is-offset-half,.column.is-offset-half-tablet{margin-left:50%}.column.is-offset-one-third,.column.is-offset-one-third-tablet{margin-left:33.3333%}.column.is-offset-one-quarter,.column.is-offset-one-quarter-tablet{margin-left:25%}.column.is-offset-one-fifth,.column.is-offset-one-fifth-tablet{margin-left:20%}.column.is-offset-two-fifths,.column.is-offset-two-fifths-tablet{margin-left:40%}.column.is-offset-three-fifths,.column.is-offset-three-fifths-tablet{margin-left:60%}.column.is-offset-four-fifths,.column.is-offset-four-fifths-tablet{margin-left:80%}.column.is-0,.column.is-0-tablet{flex:none;width:0%}.column.is-offset-0,.column.is-offset-0-tablet{margin-left:0}.column.is-1,.column.is-1-tablet{flex:none;width:8.33333%}.column.is-offset-1,.column.is-offset-1-tablet{margin-left:8.33333%}.column.is-2,.column.is-2-tablet{flex:none;width:16.66667%}.column.is-offset-2,.column.is-offset-2-tablet{margin-left:16.66667%}.column.is-3,.column.is-3-tablet{flex:none;width:25%}.column.is-offset-3,.column.is-offset-3-tablet{margin-left:25%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333%}.column.is-offset-4,.column.is-offset-4-tablet{margin-left:33.33333%}.column.is-5,.column.is-5-tablet{flex:none;width:41.66667%}.column.is-offset-5,.column.is-offset-5-tablet{margin-left:41.66667%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-offset-6,.column.is-offset-6-tablet{margin-left:50%}.column.is-7,.column.is-7-tablet{flex:none;width:58.33333%}.column.is-offset-7,.column.is-offset-7-tablet{margin-left:58.33333%}.column.is-8,.column.is-8-tablet{flex:none;width:66.66667%}.column.is-offset-8,.column.is-offset-8-tablet{margin-left:66.66667%}.column.is-9,.column.is-9-tablet{flex:none;width:75%}.column.is-offset-9,.column.is-offset-9-tablet{margin-left:75%}.column.is-10,.column.is-10-tablet{flex:none;width:83.33333%}.column.is-offset-10,.column.is-offset-10-tablet{margin-left:83.33333%}.column.is-11,.column.is-11-tablet{flex:none;width:91.66667%}.column.is-offset-11,.column.is-offset-11-tablet{margin-left:91.66667%}.column.is-12,.column.is-12-tablet{flex:none;width:100%}.column.is-offset-12,.column.is-offset-12-tablet{margin-left:100%}}@media screen and (max-width:1023px){.column.is-narrow-touch{flex:none;width:unset}.column.is-full-touch{flex:none;width:100%}.column.is-three-quarters-touch{flex:none;width:75%}.column.is-two-thirds-touch{flex:none;width:66.6666%}.column.is-half-touch{flex:none;width:50%}.column.is-one-third-touch{flex:none;width:33.3333%}.column.is-one-quarter-touch{flex:none;width:25%}.column.is-one-fifth-touch{flex:none;width:20%}.column.is-two-fifths-touch{flex:none;width:40%}.column.is-three-fifths-touch{flex:none;width:60%}.column.is-four-fifths-touch{flex:none;width:80%}.column.is-offset-three-quarters-touch{margin-left:75%}.column.is-offset-two-thirds-touch{margin-left:66.6666%}.column.is-offset-half-touch{margin-left:50%}.column.is-offset-one-third-touch{margin-left:33.3333%}.column.is-offset-one-quarter-touch{margin-left:25%}.column.is-offset-one-fifth-touch{margin-left:20%}.column.is-offset-two-fifths-touch{margin-left:40%}.column.is-offset-three-fifths-touch{margin-left:60%}.column.is-offset-four-fifths-touch{margin-left:80%}.column.is-0-touch{flex:none;width:0%}.column.is-offset-0-touch{margin-left:0}.column.is-1-touch{flex:none;width:8.33333%}.column.is-offset-1-touch{margin-left:8.33333%}.column.is-2-touch{flex:none;width:16.66667%}.column.is-offset-2-touch{margin-left:16.66667%}.column.is-3-touch{flex:none;width:25%}.column.is-offset-3-touch{margin-left:25%}.column.is-4-touch{flex:none;width:33.33333%}.column.is-offset-4-touch{margin-left:33.33333%}.column.is-5-touch{flex:none;width:41.66667%}.column.is-offset-5-touch{margin-left:41.66667%}.column.is-6-touch{flex:none;width:50%}.column.is-offset-6-touch{margin-left:50%}.column.is-7-touch{flex:none;width:58.33333%}.column.is-offset-7-touch{margin-left:58.33333%}.column.is-8-touch{flex:none;width:66.66667%}.column.is-offset-8-touch{margin-left:66.66667%}.column.is-9-touch{flex:none;width:75%}.column.is-offset-9-touch{margin-left:75%}.column.is-10-touch{flex:none;width:83.33333%}.column.is-offset-10-touch{margin-left:83.33333%}.column.is-11-touch{flex:none;width:91.66667%}.column.is-offset-11-touch{margin-left:91.66667%}.column.is-12-touch{flex:none;width:100%}.column.is-offset-12-touch{margin-left:100%}}@media screen and (min-width:1024px){.column.is-narrow-desktop{flex:none;width:unset}.column.is-full-desktop{flex:none;width:100%}.column.is-three-quarters-desktop{flex:none;width:75%}.column.is-two-thirds-desktop{flex:none;width:66.6666%}.column.is-half-desktop{flex:none;width:50%}.column.is-one-third-desktop{flex:none;width:33.3333%}.column.is-one-quarter-desktop{flex:none;width:25%}.column.is-one-fifth-desktop{flex:none;width:20%}.column.is-two-fifths-desktop{flex:none;width:40%}.column.is-three-fifths-desktop{flex:none;width:60%}.column.is-four-fifths-desktop{flex:none;width:80%}.column.is-offset-three-quarters-desktop{margin-left:75%}.column.is-offset-two-thirds-desktop{margin-left:66.6666%}.column.is-offset-half-desktop{margin-left:50%}.column.is-offset-one-third-desktop{margin-left:33.3333%}.column.is-offset-one-quarter-desktop{margin-left:25%}.column.is-offset-one-fifth-desktop{margin-left:20%}.column.is-offset-two-fifths-desktop{margin-left:40%}.column.is-offset-three-fifths-desktop{margin-left:60%}.column.is-offset-four-fifths-desktop{margin-left:80%}.column.is-0-desktop{flex:none;width:0%}.column.is-offset-0-desktop{margin-left:0}.column.is-1-desktop{flex:none;width:8.33333%}.column.is-offset-1-desktop{margin-left:8.33333%}.column.is-2-desktop{flex:none;width:16.66667%}.column.is-offset-2-desktop{margin-left:16.66667%}.column.is-3-desktop{flex:none;width:25%}.column.is-offset-3-desktop{margin-left:25%}.column.is-4-desktop{flex:none;width:33.33333%}.column.is-offset-4-desktop{margin-left:33.33333%}.column.is-5-desktop{flex:none;width:41.66667%}.column.is-offset-5-desktop{margin-left:41.66667%}.column.is-6-desktop{flex:none;width:50%}.column.is-offset-6-desktop{margin-left:50%}.column.is-7-desktop{flex:none;width:58.33333%}.column.is-offset-7-desktop{margin-left:58.33333%}.column.is-8-desktop{flex:none;width:66.66667%}.column.is-offset-8-desktop{margin-left:66.66667%}.column.is-9-desktop{flex:none;width:75%}.column.is-offset-9-desktop{margin-left:75%}.column.is-10-desktop{flex:none;width:83.33333%}.column.is-offset-10-desktop{margin-left:83.33333%}.column.is-11-desktop{flex:none;width:91.66667%}.column.is-offset-11-desktop{margin-left:91.66667%}.column.is-12-desktop{flex:none;width:100%}.column.is-offset-12-desktop{margin-left:100%}}@media screen and (min-width:1216px){.column.is-narrow-widescreen{flex:none;width:unset}.column.is-full-widescreen{flex:none;width:100%}.column.is-three-quarters-widescreen{flex:none;width:75%}.column.is-two-thirds-widescreen{flex:none;width:66.6666%}.column.is-half-widescreen{flex:none;width:50%}.column.is-one-third-widescreen{flex:none;width:33.3333%}.column.is-one-quarter-widescreen{flex:none;width:25%}.column.is-one-fifth-widescreen{flex:none;width:20%}.column.is-two-fifths-widescreen{flex:none;width:40%}.column.is-three-fifths-widescreen{flex:none;width:60%}.column.is-four-fifths-widescreen{flex:none;width:80%}.column.is-offset-three-quarters-widescreen{margin-left:75%}.column.is-offset-two-thirds-widescreen{margin-left:66.6666%}.column.is-offset-half-widescreen{margin-left:50%}.column.is-offset-one-third-widescreen{margin-left:33.3333%}.column.is-offset-one-quarter-widescreen{margin-left:25%}.column.is-offset-one-fifth-widescreen{margin-left:20%}.column.is-offset-two-fifths-widescreen{margin-left:40%}.column.is-offset-three-fifths-widescreen{margin-left:60%}.column.is-offset-four-fifths-widescreen{margin-left:80%}.column.is-0-widescreen{flex:none;width:0%}.column.is-offset-0-widescreen{margin-left:0}.column.is-1-widescreen{flex:none;width:8.33333%}.column.is-offset-1-widescreen{margin-left:8.33333%}.column.is-2-widescreen{flex:none;width:16.66667%}.column.is-offset-2-widescreen{margin-left:16.66667%}.column.is-3-widescreen{flex:none;width:25%}.column.is-offset-3-widescreen{margin-left:25%}.column.is-4-widescreen{flex:none;width:33.33333%}.column.is-offset-4-widescreen{margin-left:33.33333%}.column.is-5-widescreen{flex:none;width:41.66667%}.column.is-offset-5-widescreen{margin-left:41.66667%}.column.is-6-widescreen{flex:none;width:50%}.column.is-offset-6-widescreen{margin-left:50%}.column.is-7-widescreen{flex:none;width:58.33333%}.column.is-offset-7-widescreen{margin-left:58.33333%}.column.is-8-widescreen{flex:none;width:66.66667%}.column.is-offset-8-widescreen{margin-left:66.66667%}.column.is-9-widescreen{flex:none;width:75%}.column.is-offset-9-widescreen{margin-left:75%}.column.is-10-widescreen{flex:none;width:83.33333%}.column.is-offset-10-widescreen{margin-left:83.33333%}.column.is-11-widescreen{flex:none;width:91.66667%}.column.is-offset-11-widescreen{margin-left:91.66667%}.column.is-12-widescreen{flex:none;width:100%}.column.is-offset-12-widescreen{margin-left:100%}}@media screen and (min-width:1408px){.column.is-narrow-fullhd{flex:none;width:unset}.column.is-full-fullhd{flex:none;width:100%}.column.is-three-quarters-fullhd{flex:none;width:75%}.column.is-two-thirds-fullhd{flex:none;width:66.6666%}.column.is-half-fullhd{flex:none;width:50%}.column.is-one-third-fullhd{flex:none;width:33.3333%}.column.is-one-quarter-fullhd{flex:none;width:25%}.column.is-one-fifth-fullhd{flex:none;width:20%}.column.is-two-fifths-fullhd{flex:none;width:40%}.column.is-three-fifths-fullhd{flex:none;width:60%}.column.is-four-fifths-fullhd{flex:none;width:80%}.column.is-offset-three-quarters-fullhd{margin-left:75%}.column.is-offset-two-thirds-fullhd{margin-left:66.6666%}.column.is-offset-half-fullhd{margin-left:50%}.column.is-offset-one-third-fullhd{margin-left:33.3333%}.column.is-offset-one-quarter-fullhd{margin-left:25%}.column.is-offset-one-fifth-fullhd{margin-left:20%}.column.is-offset-two-fifths-fullhd{margin-left:40%}.column.is-offset-three-fifths-fullhd{margin-left:60%}.column.is-offset-four-fifths-fullhd{margin-left:80%}.column.is-0-fullhd{flex:none;width:0%}.column.is-offset-0-fullhd{margin-left:0}.column.is-1-fullhd{flex:none;width:8.33333%}.column.is-offset-1-fullhd{margin-left:8.33333%}.column.is-2-fullhd{flex:none;width:16.66667%}.column.is-offset-2-fullhd{margin-left:16.66667%}.column.is-3-fullhd{flex:none;width:25%}.column.is-offset-3-fullhd{margin-left:25%}.column.is-4-fullhd{flex:none;width:33.33333%}.column.is-offset-4-fullhd{margin-left:33.33333%}.column.is-5-fullhd{flex:none;width:41.66667%}.column.is-offset-5-fullhd{margin-left:41.66667%}.column.is-6-fullhd{flex:none;width:50%}.column.is-offset-6-fullhd{margin-left:50%}.column.is-7-fullhd{flex:none;width:58.33333%}.column.is-offset-7-fullhd{margin-left:58.33333%}.column.is-8-fullhd{flex:none;width:66.66667%}.column.is-offset-8-fullhd{margin-left:66.66667%}.column.is-9-fullhd{flex:none;width:75%}.column.is-offset-9-fullhd{margin-left:75%}.column.is-10-fullhd{flex:none;width:83.33333%}.column.is-offset-10-fullhd{margin-left:83.33333%}.column.is-11-fullhd{flex:none;width:91.66667%}.column.is-offset-11-fullhd{margin-left:91.66667%}.column.is-12-fullhd{flex:none;width:100%}.column.is-offset-12-fullhd{margin-left:100%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:calc(1.5rem - .75rem)}.columns.is-centered{justify-content:center}.columns.is-gapless{margin-left:0;margin-right:0;margin-top:0}.columns.is-gapless>.column{margin:0;padding:0!important}.columns.is-gapless:not(:last-child){margin-bottom:1.5rem}.columns.is-gapless:last-child{margin-bottom:0}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}.columns.is-vcentered{align-items:center}@media screen and (min-width:769px),print{.columns:not(.is-desktop){display:flex}}@media screen and (min-width:1024px){.columns.is-desktop{display:flex}}.columns.is-variable{--columnGap:0.75rem;margin-left:calc(-1 * var(--columnGap));margin-right:calc(-1 * var(--columnGap))}.columns.is-variable>.column{padding-left:var(--columnGap);padding-right:var(--columnGap)}.columns.is-variable.is-0{--columnGap:0rem}@media screen and (max-width:768px){.columns.is-variable.is-0-mobile{--columnGap:0rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-0-tablet{--columnGap:0rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-0-tablet-only{--columnGap:0rem}}@media screen and (max-width:1023px){.columns.is-variable.is-0-touch{--columnGap:0rem}}@media screen and (min-width:1024px){.columns.is-variable.is-0-desktop{--columnGap:0rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-0-desktop-only{--columnGap:0rem}}@media screen and (min-width:1216px){.columns.is-variable.is-0-widescreen{--columnGap:0rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-0-widescreen-only{--columnGap:0rem}}@media screen and (min-width:1408px){.columns.is-variable.is-0-fullhd{--columnGap:0rem}}.columns.is-variable.is-1{--columnGap:0.25rem}@media screen and (max-width:768px){.columns.is-variable.is-1-mobile{--columnGap:0.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-1-tablet{--columnGap:0.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-1-tablet-only{--columnGap:0.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-1-touch{--columnGap:0.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-1-desktop{--columnGap:0.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-1-desktop-only{--columnGap:0.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-1-widescreen{--columnGap:0.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-1-widescreen-only{--columnGap:0.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-1-fullhd{--columnGap:0.25rem}}.columns.is-variable.is-2{--columnGap:0.5rem}@media screen and (max-width:768px){.columns.is-variable.is-2-mobile{--columnGap:0.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-2-tablet{--columnGap:0.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-2-tablet-only{--columnGap:0.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-2-touch{--columnGap:0.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-2-desktop{--columnGap:0.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-2-desktop-only{--columnGap:0.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-2-widescreen{--columnGap:0.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-2-widescreen-only{--columnGap:0.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-2-fullhd{--columnGap:0.5rem}}.columns.is-variable.is-3{--columnGap:0.75rem}@media screen and (max-width:768px){.columns.is-variable.is-3-mobile{--columnGap:0.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-3-tablet{--columnGap:0.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-3-tablet-only{--columnGap:0.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-3-touch{--columnGap:0.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-3-desktop{--columnGap:0.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-3-desktop-only{--columnGap:0.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-3-widescreen{--columnGap:0.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-3-widescreen-only{--columnGap:0.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-3-fullhd{--columnGap:0.75rem}}.columns.is-variable.is-4{--columnGap:1rem}@media screen and (max-width:768px){.columns.is-variable.is-4-mobile{--columnGap:1rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-4-tablet{--columnGap:1rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-4-tablet-only{--columnGap:1rem}}@media screen and (max-width:1023px){.columns.is-variable.is-4-touch{--columnGap:1rem}}@media screen and (min-width:1024px){.columns.is-variable.is-4-desktop{--columnGap:1rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-4-desktop-only{--columnGap:1rem}}@media screen and (min-width:1216px){.columns.is-variable.is-4-widescreen{--columnGap:1rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-4-widescreen-only{--columnGap:1rem}}@media screen and (min-width:1408px){.columns.is-variable.is-4-fullhd{--columnGap:1rem}}.columns.is-variable.is-5{--columnGap:1.25rem}@media screen and (max-width:768px){.columns.is-variable.is-5-mobile{--columnGap:1.25rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-5-tablet{--columnGap:1.25rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-5-tablet-only{--columnGap:1.25rem}}@media screen and (max-width:1023px){.columns.is-variable.is-5-touch{--columnGap:1.25rem}}@media screen and (min-width:1024px){.columns.is-variable.is-5-desktop{--columnGap:1.25rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-5-desktop-only{--columnGap:1.25rem}}@media screen and (min-width:1216px){.columns.is-variable.is-5-widescreen{--columnGap:1.25rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-5-widescreen-only{--columnGap:1.25rem}}@media screen and (min-width:1408px){.columns.is-variable.is-5-fullhd{--columnGap:1.25rem}}.columns.is-variable.is-6{--columnGap:1.5rem}@media screen and (max-width:768px){.columns.is-variable.is-6-mobile{--columnGap:1.5rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-6-tablet{--columnGap:1.5rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-6-tablet-only{--columnGap:1.5rem}}@media screen and (max-width:1023px){.columns.is-variable.is-6-touch{--columnGap:1.5rem}}@media screen and (min-width:1024px){.columns.is-variable.is-6-desktop{--columnGap:1.5rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-6-desktop-only{--columnGap:1.5rem}}@media screen and (min-width:1216px){.columns.is-variable.is-6-widescreen{--columnGap:1.5rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-6-widescreen-only{--columnGap:1.5rem}}@media screen and (min-width:1408px){.columns.is-variable.is-6-fullhd{--columnGap:1.5rem}}.columns.is-variable.is-7{--columnGap:1.75rem}@media screen and (max-width:768px){.columns.is-variable.is-7-mobile{--columnGap:1.75rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-7-tablet{--columnGap:1.75rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-7-tablet-only{--columnGap:1.75rem}}@media screen and (max-width:1023px){.columns.is-variable.is-7-touch{--columnGap:1.75rem}}@media screen and (min-width:1024px){.columns.is-variable.is-7-desktop{--columnGap:1.75rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-7-desktop-only{--columnGap:1.75rem}}@media screen and (min-width:1216px){.columns.is-variable.is-7-widescreen{--columnGap:1.75rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-7-widescreen-only{--columnGap:1.75rem}}@media screen and (min-width:1408px){.columns.is-variable.is-7-fullhd{--columnGap:1.75rem}}.columns.is-variable.is-8{--columnGap:2rem}@media screen and (max-width:768px){.columns.is-variable.is-8-mobile{--columnGap:2rem}}@media screen and (min-width:769px),print{.columns.is-variable.is-8-tablet{--columnGap:2rem}}@media screen and (min-width:769px) and (max-width:1023px){.columns.is-variable.is-8-tablet-only{--columnGap:2rem}}@media screen and (max-width:1023px){.columns.is-variable.is-8-touch{--columnGap:2rem}}@media screen and (min-width:1024px){.columns.is-variable.is-8-desktop{--columnGap:2rem}}@media screen and (min-width:1024px) and (max-width:1215px){.columns.is-variable.is-8-desktop-only{--columnGap:2rem}}@media screen and (min-width:1216px){.columns.is-variable.is-8-widescreen{--columnGap:2rem}}@media screen and (min-width:1216px) and (max-width:1407px){.columns.is-variable.is-8-widescreen-only{--columnGap:2rem}}@media screen and (min-width:1408px){.columns.is-variable.is-8-fullhd{--columnGap:2rem}}.tile{align-items:stretch;display:block;flex-basis:0;flex-grow:1;flex-shrink:1;min-height:-webkit-min-content;min-height:-moz-min-content;min-height:min-content}.tile.is-ancestor{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.tile.is-ancestor:last-child{margin-bottom:-.75rem}.tile.is-ancestor:not(:last-child){margin-bottom:.75rem}.tile.is-child{margin:0!important}.tile.is-parent{padding:.75rem}.tile.is-vertical{flex-direction:column}.tile.is-vertical>.tile.is-child:not(:last-child){margin-bottom:1.5rem!important}@media screen and (min-width:769px),print{.tile:not(.is-child){display:flex}.tile.is-1{flex:none;width:8.33333%}.tile.is-2{flex:none;width:16.66667%}.tile.is-3{flex:none;width:25%}.tile.is-4{flex:none;width:33.33333%}.tile.is-5{flex:none;width:41.66667%}.tile.is-6{flex:none;width:50%}.tile.is-7{flex:none;width:58.33333%}.tile.is-8{flex:none;width:66.66667%}.tile.is-9{flex:none;width:75%}.tile.is-10{flex:none;width:83.33333%}.tile.is-11{flex:none;width:91.66667%}.tile.is-12{flex:none;width:100%}}.has-text-white{color:#fff!important}a.has-text-white:focus,a.has-text-white:hover{color:#e6e6e6!important}.has-background-white{background-color:#fff!important}.has-text-black{color:#0a0a0a!important}a.has-text-black:focus,a.has-text-black:hover{color:#000!important}.has-background-black{background-color:#0a0a0a!important}.has-text-light{color:#f5f5f5!important}a.has-text-light:focus,a.has-text-light:hover{color:#dbdbdb!important}.has-background-light{background-color:#f5f5f5!important}.has-text-dark{color:#363636!important}a.has-text-dark:focus,a.has-text-dark:hover{color:#1c1c1c!important}.has-background-dark{background-color:#363636!important}.has-text-primary{color:#00d1b2!important}a.has-text-primary:focus,a.has-text-primary:hover{color:#009e86!important}.has-background-primary{background-color:#00d1b2!important}.has-text-primary-light{color:#ebfffc!important}a.has-text-primary-light:focus,a.has-text-primary-light:hover{color:#b8fff4!important}.has-background-primary-light{background-color:#ebfffc!important}.has-text-primary-dark{color:#00947e!important}a.has-text-primary-dark:focus,a.has-text-primary-dark:hover{color:#00c7a9!important}.has-background-primary-dark{background-color:#00947e!important}.has-text-link{color:#485fc7!important}a.has-text-link:focus,a.has-text-link:hover{color:#3449a8!important}.has-background-link{background-color:#485fc7!important}.has-text-link-light{color:#eff1fa!important}a.has-text-link-light:focus,a.has-text-link-light:hover{color:#c8cfee!important}.has-background-link-light{background-color:#eff1fa!important}.has-text-link-dark{color:#3850b7!important}a.has-text-link-dark:focus,a.has-text-link-dark:hover{color:#576dcb!important}.has-background-link-dark{background-color:#3850b7!important}.has-text-info{color:#3e8ed0!important}a.has-text-info:focus,a.has-text-info:hover{color:#2b74b1!important}.has-background-info{background-color:#3e8ed0!important}.has-text-info-light{color:#eff5fb!important}a.has-text-info-light:focus,a.has-text-info-light:hover{color:#c6ddf1!important}.has-background-info-light{background-color:#eff5fb!important}.has-text-info-dark{color:#296fa8!important}a.has-text-info-dark:focus,a.has-text-info-dark:hover{color:#368ace!important}.has-background-info-dark{background-color:#296fa8!important}.has-text-success{color:#48c78e!important}a.has-text-success:focus,a.has-text-success:hover{color:#34a873!important}.has-background-success{background-color:#48c78e!important}.has-text-success-light{color:#effaf5!important}a.has-text-success-light:focus,a.has-text-success-light:hover{color:#c8eedd!important}.has-background-success-light{background-color:#effaf5!important}.has-text-success-dark{color:#257953!important}a.has-text-success-dark:focus,a.has-text-success-dark:hover{color:#31a06e!important}.has-background-success-dark{background-color:#257953!important}.has-text-warning{color:#ffe08a!important}a.has-text-warning:focus,a.has-text-warning:hover{color:#ffd257!important}.has-background-warning{background-color:#ffe08a!important}.has-text-warning-light{color:#fffaeb!important}a.has-text-warning-light:focus,a.has-text-warning-light:hover{color:#ffecb8!important}.has-background-warning-light{background-color:#fffaeb!important}.has-text-warning-dark{color:#946c00!important}a.has-text-warning-dark:focus,a.has-text-warning-dark:hover{color:#c79200!important}.has-background-warning-dark{background-color:#946c00!important}.has-text-danger{color:#f14668!important}a.has-text-danger:focus,a.has-text-danger:hover{color:#ee1742!important}.has-background-danger{background-color:#f14668!important}.has-text-danger-light{color:#feecf0!important}a.has-text-danger-light:focus,a.has-text-danger-light:hover{color:#fabdc9!important}.has-background-danger-light{background-color:#feecf0!important}.has-text-danger-dark{color:#cc0f35!important}a.has-text-danger-dark:focus,a.has-text-danger-dark:hover{color:#ee2049!important}.has-background-danger-dark{background-color:#cc0f35!important}.has-text-black-bis{color:#121212!important}.has-background-black-bis{background-color:#121212!important}.has-text-black-ter{color:#242424!important}.has-background-black-ter{background-color:#242424!important}.has-text-grey-darker{color:#363636!important}.has-background-grey-darker{background-color:#363636!important}.has-text-grey-dark{color:#4a4a4a!important}.has-background-grey-dark{background-color:#4a4a4a!important}.has-text-grey{color:#7a7a7a!important}.has-background-grey{background-color:#7a7a7a!important}.has-text-grey-light{color:#b5b5b5!important}.has-background-grey-light{background-color:#b5b5b5!important}.has-text-grey-lighter{color:#dbdbdb!important}.has-background-grey-lighter{background-color:#dbdbdb!important}.has-text-white-ter{color:#f5f5f5!important}.has-background-white-ter{background-color:#f5f5f5!important}.has-text-white-bis{color:#fafafa!important}.has-background-white-bis{background-color:#fafafa!important}.is-flex-direction-row{flex-direction:row!important}.is-flex-direction-row-reverse{flex-direction:row-reverse!important}.is-flex-direction-column{flex-direction:column!important}.is-flex-direction-column-reverse{flex-direction:column-reverse!important}.is-flex-wrap-nowrap{flex-wrap:nowrap!important}.is-flex-wrap-wrap{flex-wrap:wrap!important}.is-flex-wrap-wrap-reverse{flex-wrap:wrap-reverse!important}.is-justify-content-flex-start{justify-content:flex-start!important}.is-justify-content-flex-end{justify-content:flex-end!important}.is-justify-content-center{justify-content:center!important}.is-justify-content-space-between{justify-content:space-between!important}.is-justify-content-space-around{justify-content:space-around!important}.is-justify-content-space-evenly{justify-content:space-evenly!important}.is-justify-content-start{justify-content:start!important}.is-justify-content-end{justify-content:end!important}.is-justify-content-left{justify-content:left!important}.is-justify-content-right{justify-content:right!important}.is-align-content-flex-start{align-content:flex-start!important}.is-align-content-flex-end{align-content:flex-end!important}.is-align-content-center{align-content:center!important}.is-align-content-space-between{align-content:space-between!important}.is-align-content-space-around{align-content:space-around!important}.is-align-content-space-evenly{align-content:space-evenly!important}.is-align-content-stretch{align-content:stretch!important}.is-align-content-start{align-content:start!important}.is-align-content-end{align-content:end!important}.is-align-content-baseline{align-content:baseline!important}.is-align-items-stretch{align-items:stretch!important}.is-align-items-flex-start{align-items:flex-start!important}.is-align-items-flex-end{align-items:flex-end!important}.is-align-items-center{align-items:center!important}.is-align-items-baseline{align-items:baseline!important}.is-align-items-start{align-items:start!important}.is-align-items-end{align-items:end!important}.is-align-items-self-start{align-items:self-start!important}.is-align-items-self-end{align-items:self-end!important}.is-align-self-auto{align-self:auto!important}.is-align-self-flex-start{align-self:flex-start!important}.is-align-self-flex-end{align-self:flex-end!important}.is-align-self-center{align-self:center!important}.is-align-self-baseline{align-self:baseline!important}.is-align-self-stretch{align-self:stretch!important}.is-flex-grow-0{flex-grow:0!important}.is-flex-grow-1{flex-grow:1!important}.is-flex-grow-2{flex-grow:2!important}.is-flex-grow-3{flex-grow:3!important}.is-flex-grow-4{flex-grow:4!important}.is-flex-grow-5{flex-grow:5!important}.is-flex-shrink-0{flex-shrink:0!important}.is-flex-shrink-1{flex-shrink:1!important}.is-flex-shrink-2{flex-shrink:2!important}.is-flex-shrink-3{flex-shrink:3!important}.is-flex-shrink-4{flex-shrink:4!important}.is-flex-shrink-5{flex-shrink:5!important}.is-clearfix::after{clear:both;content:" ";display:table}.is-pulled-left{float:left!important}.is-pulled-right{float:right!important}.is-radiusless{border-radius:0!important}.is-shadowless{box-shadow:none!important}.is-clickable{cursor:pointer!important;pointer-events:all!important}.is-clipped{overflow:hidden!important}.is-relative{position:relative!important}.is-marginless{margin:0!important}.is-paddingless{padding:0!important}.m-0{margin:0!important}.mt-0{margin-top:0!important}.mr-0{margin-right:0!important}.mb-0{margin-bottom:0!important}.ml-0{margin-left:0!important}.mx-0{margin-left:0!important;margin-right:0!important}.my-0{margin-top:0!important;margin-bottom:0!important}.m-1{margin:.25rem!important}.mt-1{margin-top:.25rem!important}.mr-1{margin-right:.25rem!important}.mb-1{margin-bottom:.25rem!important}.ml-1{margin-left:.25rem!important}.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.m-2{margin:.5rem!important}.mt-2{margin-top:.5rem!important}.mr-2{margin-right:.5rem!important}.mb-2{margin-bottom:.5rem!important}.ml-2{margin-left:.5rem!important}.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.m-3{margin:.75rem!important}.mt-3{margin-top:.75rem!important}.mr-3{margin-right:.75rem!important}.mb-3{margin-bottom:.75rem!important}.ml-3{margin-left:.75rem!important}.mx-3{margin-left:.75rem!important;margin-right:.75rem!important}.my-3{margin-top:.75rem!important;margin-bottom:.75rem!important}.m-4{margin:1rem!important}.mt-4{margin-top:1rem!important}.mr-4{margin-right:1rem!important}.mb-4{margin-bottom:1rem!important}.ml-4{margin-left:1rem!important}.mx-4{margin-left:1rem!important;margin-right:1rem!important}.my-4{margin-top:1rem!important;margin-bottom:1rem!important}.m-5{margin:1.5rem!important}.mt-5{margin-top:1.5rem!important}.mr-5{margin-right:1.5rem!important}.mb-5{margin-bottom:1.5rem!important}.ml-5{margin-left:1.5rem!important}.mx-5{margin-left:1.5rem!important;margin-right:1.5rem!important}.my-5{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.m-6{margin:3rem!important}.mt-6{margin-top:3rem!important}.mr-6{margin-right:3rem!important}.mb-6{margin-bottom:3rem!important}.ml-6{margin-left:3rem!important}.mx-6{margin-left:3rem!important;margin-right:3rem!important}.my-6{margin-top:3rem!important;margin-bottom:3rem!important}.m-auto{margin:auto!important}.mt-auto{margin-top:auto!important}.mr-auto{margin-right:auto!important}.mb-auto{margin-bottom:auto!important}.ml-auto{margin-left:auto!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.p-0{padding:0!important}.pt-0{padding-top:0!important}.pr-0{padding-right:0!important}.pb-0{padding-bottom:0!important}.pl-0{padding-left:0!important}.px-0{padding-left:0!important;padding-right:0!important}.py-0{padding-top:0!important;padding-bottom:0!important}.p-1{padding:.25rem!important}.pt-1{padding-top:.25rem!important}.pr-1{padding-right:.25rem!important}.pb-1{padding-bottom:.25rem!important}.pl-1{padding-left:.25rem!important}.px-1{padding-left:.25rem!important;padding-right:.25rem!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.p-2{padding:.5rem!important}.pt-2{padding-top:.5rem!important}.pr-2{padding-right:.5rem!important}.pb-2{padding-bottom:.5rem!important}.pl-2{padding-left:.5rem!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.p-3{padding:.75rem!important}.pt-3{padding-top:.75rem!important}.pr-3{padding-right:.75rem!important}.pb-3{padding-bottom:.75rem!important}.pl-3{padding-left:.75rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.p-4{padding:1rem!important}.pt-4{padding-top:1rem!important}.pr-4{padding-right:1rem!important}.pb-4{padding-bottom:1rem!important}.pl-4{padding-left:1rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.p-5{padding:1.5rem!important}.pt-5{padding-top:1.5rem!important}.pr-5{padding-right:1.5rem!important}.pb-5{padding-bottom:1.5rem!important}.pl-5{padding-left:1.5rem!important}.px-5{padding-left:1.5rem!important;padding-right:1.5rem!important}.py-5{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.p-6{padding:3rem!important}.pt-6{padding-top:3rem!important}.pr-6{padding-right:3rem!important}.pb-6{padding-bottom:3rem!important}.pl-6{padding-left:3rem!important}.px-6{padding-left:3rem!important;padding-right:3rem!important}.py-6{padding-top:3rem!important;padding-bottom:3rem!important}.p-auto{padding:auto!important}.pt-auto{padding-top:auto!important}.pr-auto{padding-right:auto!important}.pb-auto{padding-bottom:auto!important}.pl-auto{padding-left:auto!important}.px-auto{padding-left:auto!important;padding-right:auto!important}.py-auto{padding-top:auto!important;padding-bottom:auto!important}.is-size-1{font-size:3rem!important}.is-size-2{font-size:2.5rem!important}.is-size-3{font-size:2rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.is-size-6{font-size:1rem!important}.is-size-7{font-size:.75rem!important}@media screen and (max-width:768px){.is-size-1-mobile{font-size:3rem!important}.is-size-2-mobile{font-size:2.5rem!important}.is-size-3-mobile{font-size:2rem!important}.is-size-4-mobile{font-size:1.5rem!important}.is-size-5-mobile{font-size:1.25rem!important}.is-size-6-mobile{font-size:1rem!important}.is-size-7-mobile{font-size:.75rem!important}}@media screen and (min-width:769px),print{.is-size-1-tablet{font-size:3rem!important}.is-size-2-tablet{font-size:2.5rem!important}.is-size-3-tablet{font-size:2rem!important}.is-size-4-tablet{font-size:1.5rem!important}.is-size-5-tablet{font-size:1.25rem!important}.is-size-6-tablet{font-size:1rem!important}.is-size-7-tablet{font-size:.75rem!important}}@media screen and (max-width:1023px){.is-size-1-touch{font-size:3rem!important}.is-size-2-touch{font-size:2.5rem!important}.is-size-3-touch{font-size:2rem!important}.is-size-4-touch{font-size:1.5rem!important}.is-size-5-touch{font-size:1.25rem!important}.is-size-6-touch{font-size:1rem!important}.is-size-7-touch{font-size:.75rem!important}}@media screen and (min-width:1024px){.is-size-1-desktop{font-size:3rem!important}.is-size-2-desktop{font-size:2.5rem!important}.is-size-3-desktop{font-size:2rem!important}.is-size-4-desktop{font-size:1.5rem!important}.is-size-5-desktop{font-size:1.25rem!important}.is-size-6-desktop{font-size:1rem!important}.is-size-7-desktop{font-size:.75rem!important}}@media screen and (min-width:1216px){.is-size-1-widescreen{font-size:3rem!important}.is-size-2-widescreen{font-size:2.5rem!important}.is-size-3-widescreen{font-size:2rem!important}.is-size-4-widescreen{font-size:1.5rem!important}.is-size-5-widescreen{font-size:1.25rem!important}.is-size-6-widescreen{font-size:1rem!important}.is-size-7-widescreen{font-size:.75rem!important}}@media screen and (min-width:1408px){.is-size-1-fullhd{font-size:3rem!important}.is-size-2-fullhd{font-size:2.5rem!important}.is-size-3-fullhd{font-size:2rem!important}.is-size-4-fullhd{font-size:1.5rem!important}.is-size-5-fullhd{font-size:1.25rem!important}.is-size-6-fullhd{font-size:1rem!important}.is-size-7-fullhd{font-size:.75rem!important}}.has-text-centered{text-align:center!important}.has-text-justified{text-align:justify!important}.has-text-left{text-align:left!important}.has-text-right{text-align:right!important}@media screen and (max-width:768px){.has-text-centered-mobile{text-align:center!important}}@media screen and (min-width:769px),print{.has-text-centered-tablet{text-align:center!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-centered-tablet-only{text-align:center!important}}@media screen and (max-width:1023px){.has-text-centered-touch{text-align:center!important}}@media screen and (min-width:1024px){.has-text-centered-desktop{text-align:center!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-centered-desktop-only{text-align:center!important}}@media screen and (min-width:1216px){.has-text-centered-widescreen{text-align:center!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-centered-widescreen-only{text-align:center!important}}@media screen and (min-width:1408px){.has-text-centered-fullhd{text-align:center!important}}@media screen and (max-width:768px){.has-text-justified-mobile{text-align:justify!important}}@media screen and (min-width:769px),print{.has-text-justified-tablet{text-align:justify!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-justified-tablet-only{text-align:justify!important}}@media screen and (max-width:1023px){.has-text-justified-touch{text-align:justify!important}}@media screen and (min-width:1024px){.has-text-justified-desktop{text-align:justify!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-justified-desktop-only{text-align:justify!important}}@media screen and (min-width:1216px){.has-text-justified-widescreen{text-align:justify!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-justified-widescreen-only{text-align:justify!important}}@media screen and (min-width:1408px){.has-text-justified-fullhd{text-align:justify!important}}@media screen and (max-width:768px){.has-text-left-mobile{text-align:left!important}}@media screen and (min-width:769px),print{.has-text-left-tablet{text-align:left!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-left-tablet-only{text-align:left!important}}@media screen and (max-width:1023px){.has-text-left-touch{text-align:left!important}}@media screen and (min-width:1024px){.has-text-left-desktop{text-align:left!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-left-desktop-only{text-align:left!important}}@media screen and (min-width:1216px){.has-text-left-widescreen{text-align:left!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-left-widescreen-only{text-align:left!important}}@media screen and (min-width:1408px){.has-text-left-fullhd{text-align:left!important}}@media screen and (max-width:768px){.has-text-right-mobile{text-align:right!important}}@media screen and (min-width:769px),print{.has-text-right-tablet{text-align:right!important}}@media screen and (min-width:769px) and (max-width:1023px){.has-text-right-tablet-only{text-align:right!important}}@media screen and (max-width:1023px){.has-text-right-touch{text-align:right!important}}@media screen and (min-width:1024px){.has-text-right-desktop{text-align:right!important}}@media screen and (min-width:1024px) and (max-width:1215px){.has-text-right-desktop-only{text-align:right!important}}@media screen and (min-width:1216px){.has-text-right-widescreen{text-align:right!important}}@media screen and (min-width:1216px) and (max-width:1407px){.has-text-right-widescreen-only{text-align:right!important}}@media screen and (min-width:1408px){.has-text-right-fullhd{text-align:right!important}}.is-capitalized{text-transform:capitalize!important}.is-lowercase{text-transform:lowercase!important}.is-uppercase{text-transform:uppercase!important}.is-italic{font-style:italic!important}.is-underlined{text-decoration:underline!important}.has-text-weight-light{font-weight:300!important}.has-text-weight-normal{font-weight:400!important}.has-text-weight-medium{font-weight:500!important}.has-text-weight-semibold{font-weight:600!important}.has-text-weight-bold{font-weight:700!important}.is-family-primary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-secondary{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-sans-serif{font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif!important}.is-family-monospace{font-family:monospace!important}.is-family-code{font-family:monospace!important}.is-block{display:block!important}@media screen and (max-width:768px){.is-block-mobile{display:block!important}}@media screen and (min-width:769px),print{.is-block-tablet{display:block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-block-tablet-only{display:block!important}}@media screen and (max-width:1023px){.is-block-touch{display:block!important}}@media screen and (min-width:1024px){.is-block-desktop{display:block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-block-desktop-only{display:block!important}}@media screen and (min-width:1216px){.is-block-widescreen{display:block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-block-widescreen-only{display:block!important}}@media screen and (min-width:1408px){.is-block-fullhd{display:block!important}}.is-flex{display:flex!important}@media screen and (max-width:768px){.is-flex-mobile{display:flex!important}}@media screen and (min-width:769px),print{.is-flex-tablet{display:flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-flex-tablet-only{display:flex!important}}@media screen and (max-width:1023px){.is-flex-touch{display:flex!important}}@media screen and (min-width:1024px){.is-flex-desktop{display:flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-flex-desktop-only{display:flex!important}}@media screen and (min-width:1216px){.is-flex-widescreen{display:flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-flex-widescreen-only{display:flex!important}}@media screen and (min-width:1408px){.is-flex-fullhd{display:flex!important}}.is-inline{display:inline!important}@media screen and (max-width:768px){.is-inline-mobile{display:inline!important}}@media screen and (min-width:769px),print{.is-inline-tablet{display:inline!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-tablet-only{display:inline!important}}@media screen and (max-width:1023px){.is-inline-touch{display:inline!important}}@media screen and (min-width:1024px){.is-inline-desktop{display:inline!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-desktop-only{display:inline!important}}@media screen and (min-width:1216px){.is-inline-widescreen{display:inline!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-widescreen-only{display:inline!important}}@media screen and (min-width:1408px){.is-inline-fullhd{display:inline!important}}.is-inline-block{display:inline-block!important}@media screen and (max-width:768px){.is-inline-block-mobile{display:inline-block!important}}@media screen and (min-width:769px),print{.is-inline-block-tablet{display:inline-block!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-block-tablet-only{display:inline-block!important}}@media screen and (max-width:1023px){.is-inline-block-touch{display:inline-block!important}}@media screen and (min-width:1024px){.is-inline-block-desktop{display:inline-block!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-block-desktop-only{display:inline-block!important}}@media screen and (min-width:1216px){.is-inline-block-widescreen{display:inline-block!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-block-widescreen-only{display:inline-block!important}}@media screen and (min-width:1408px){.is-inline-block-fullhd{display:inline-block!important}}.is-inline-flex{display:inline-flex!important}@media screen and (max-width:768px){.is-inline-flex-mobile{display:inline-flex!important}}@media screen and (min-width:769px),print{.is-inline-flex-tablet{display:inline-flex!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-inline-flex-tablet-only{display:inline-flex!important}}@media screen and (max-width:1023px){.is-inline-flex-touch{display:inline-flex!important}}@media screen and (min-width:1024px){.is-inline-flex-desktop{display:inline-flex!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-inline-flex-desktop-only{display:inline-flex!important}}@media screen and (min-width:1216px){.is-inline-flex-widescreen{display:inline-flex!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-inline-flex-widescreen-only{display:inline-flex!important}}@media screen and (min-width:1408px){.is-inline-flex-fullhd{display:inline-flex!important}}.is-hidden{display:none!important}.is-sr-only{border:none!important;clip:rect(0,0,0,0)!important;height:.01em!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:.01em!important}@media screen and (max-width:768px){.is-hidden-mobile{display:none!important}}@media screen and (min-width:769px),print{.is-hidden-tablet{display:none!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-hidden-tablet-only{display:none!important}}@media screen and (max-width:1023px){.is-hidden-touch{display:none!important}}@media screen and (min-width:1024px){.is-hidden-desktop{display:none!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-hidden-desktop-only{display:none!important}}@media screen and (min-width:1216px){.is-hidden-widescreen{display:none!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-hidden-widescreen-only{display:none!important}}@media screen and (min-width:1408px){.is-hidden-fullhd{display:none!important}}.is-invisible{visibility:hidden!important}@media screen and (max-width:768px){.is-invisible-mobile{visibility:hidden!important}}@media screen and (min-width:769px),print{.is-invisible-tablet{visibility:hidden!important}}@media screen and (min-width:769px) and (max-width:1023px){.is-invisible-tablet-only{visibility:hidden!important}}@media screen and (max-width:1023px){.is-invisible-touch{visibility:hidden!important}}@media screen and (min-width:1024px){.is-invisible-desktop{visibility:hidden!important}}@media screen and (min-width:1024px) and (max-width:1215px){.is-invisible-desktop-only{visibility:hidden!important}}@media screen and (min-width:1216px){.is-invisible-widescreen{visibility:hidden!important}}@media screen and (min-width:1216px) and (max-width:1407px){.is-invisible-widescreen-only{visibility:hidden!important}}@media screen and (min-width:1408px){.is-invisible-fullhd{visibility:hidden!important}}.hero{align-items:stretch;display:flex;flex-direction:column;justify-content:space-between}.hero .navbar{background:0 0}.hero .tabs ul{border-bottom:none}.hero.is-white{background-color:#fff;color:#0a0a0a}.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-white strong{color:inherit}.hero.is-white .title{color:#0a0a0a}.hero.is-white .subtitle{color:rgba(10,10,10,.9)}.hero.is-white .subtitle a:not(.button),.hero.is-white .subtitle strong{color:#0a0a0a}@media screen and (max-width:1023px){.hero.is-white .navbar-menu{background-color:#fff}}.hero.is-white .navbar-item,.hero.is-white .navbar-link{color:rgba(10,10,10,.7)}.hero.is-white .navbar-link.is-active,.hero.is-white .navbar-link:hover,.hero.is-white a.navbar-item.is-active,.hero.is-white a.navbar-item:hover{background-color:#f2f2f2;color:#0a0a0a}.hero.is-white .tabs a{color:#0a0a0a;opacity:.9}.hero.is-white .tabs a:hover{opacity:1}.hero.is-white .tabs li.is-active a{color:#fff!important;opacity:1}.hero.is-white .tabs.is-boxed a,.hero.is-white .tabs.is-toggle a{color:#0a0a0a}.hero.is-white .tabs.is-boxed a:hover,.hero.is-white .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-white .tabs.is-boxed li.is-active a,.hero.is-white .tabs.is-boxed li.is-active a:hover,.hero.is-white .tabs.is-toggle li.is-active a,.hero.is-white .tabs.is-toggle li.is-active a:hover{background-color:#0a0a0a;border-color:#0a0a0a;color:#fff}.hero.is-white.is-bold{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-white.is-bold .navbar-menu{background-image:linear-gradient(141deg,#e6e6e6 0,#fff 71%,#fff 100%)}}.hero.is-black{background-color:#0a0a0a;color:#fff}.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-black strong{color:inherit}.hero.is-black .title{color:#fff}.hero.is-black .subtitle{color:rgba(255,255,255,.9)}.hero.is-black .subtitle a:not(.button),.hero.is-black .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-black .navbar-menu{background-color:#0a0a0a}}.hero.is-black .navbar-item,.hero.is-black .navbar-link{color:rgba(255,255,255,.7)}.hero.is-black .navbar-link.is-active,.hero.is-black .navbar-link:hover,.hero.is-black a.navbar-item.is-active,.hero.is-black a.navbar-item:hover{background-color:#000;color:#fff}.hero.is-black .tabs a{color:#fff;opacity:.9}.hero.is-black .tabs a:hover{opacity:1}.hero.is-black .tabs li.is-active a{color:#0a0a0a!important;opacity:1}.hero.is-black .tabs.is-boxed a,.hero.is-black .tabs.is-toggle a{color:#fff}.hero.is-black .tabs.is-boxed a:hover,.hero.is-black .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-black .tabs.is-boxed li.is-active a,.hero.is-black .tabs.is-boxed li.is-active a:hover,.hero.is-black .tabs.is-toggle li.is-active a,.hero.is-black .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#0a0a0a}.hero.is-black.is-bold{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}@media screen and (max-width:768px){.hero.is-black.is-bold .navbar-menu{background-image:linear-gradient(141deg,#000 0,#0a0a0a 71%,#181616 100%)}}.hero.is-light{background-color:#f5f5f5;color:rgba(0,0,0,.7)}.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-light strong{color:inherit}.hero.is-light .title{color:rgba(0,0,0,.7)}.hero.is-light .subtitle{color:rgba(0,0,0,.9)}.hero.is-light .subtitle a:not(.button),.hero.is-light .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-light .navbar-menu{background-color:#f5f5f5}}.hero.is-light .navbar-item,.hero.is-light .navbar-link{color:rgba(0,0,0,.7)}.hero.is-light .navbar-link.is-active,.hero.is-light .navbar-link:hover,.hero.is-light a.navbar-item.is-active,.hero.is-light a.navbar-item:hover{background-color:#e8e8e8;color:rgba(0,0,0,.7)}.hero.is-light .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-light .tabs a:hover{opacity:1}.hero.is-light .tabs li.is-active a{color:#f5f5f5!important;opacity:1}.hero.is-light .tabs.is-boxed a,.hero.is-light .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-light .tabs.is-boxed a:hover,.hero.is-light .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-light .tabs.is-boxed li.is-active a,.hero.is-light .tabs.is-boxed li.is-active a:hover,.hero.is-light .tabs.is-toggle li.is-active a,.hero.is-light .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#f5f5f5}.hero.is-light.is-bold{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}@media screen and (max-width:768px){.hero.is-light.is-bold .navbar-menu{background-image:linear-gradient(141deg,#dfd8d9 0,#f5f5f5 71%,#fff 100%)}}.hero.is-dark{background-color:#363636;color:#fff}.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-dark strong{color:inherit}.hero.is-dark .title{color:#fff}.hero.is-dark .subtitle{color:rgba(255,255,255,.9)}.hero.is-dark .subtitle a:not(.button),.hero.is-dark .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-dark .navbar-menu{background-color:#363636}}.hero.is-dark .navbar-item,.hero.is-dark .navbar-link{color:rgba(255,255,255,.7)}.hero.is-dark .navbar-link.is-active,.hero.is-dark .navbar-link:hover,.hero.is-dark a.navbar-item.is-active,.hero.is-dark a.navbar-item:hover{background-color:#292929;color:#fff}.hero.is-dark .tabs a{color:#fff;opacity:.9}.hero.is-dark .tabs a:hover{opacity:1}.hero.is-dark .tabs li.is-active a{color:#363636!important;opacity:1}.hero.is-dark .tabs.is-boxed a,.hero.is-dark .tabs.is-toggle a{color:#fff}.hero.is-dark .tabs.is-boxed a:hover,.hero.is-dark .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-dark .tabs.is-boxed li.is-active a,.hero.is-dark .tabs.is-boxed li.is-active a:hover,.hero.is-dark .tabs.is-toggle li.is-active a,.hero.is-dark .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#363636}.hero.is-dark.is-bold{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}@media screen and (max-width:768px){.hero.is-dark.is-bold .navbar-menu{background-image:linear-gradient(141deg,#1f191a 0,#363636 71%,#46403f 100%)}}.hero.is-primary{background-color:#00d1b2;color:#fff}.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-primary strong{color:inherit}.hero.is-primary .title{color:#fff}.hero.is-primary .subtitle{color:rgba(255,255,255,.9)}.hero.is-primary .subtitle a:not(.button),.hero.is-primary .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-primary .navbar-menu{background-color:#00d1b2}}.hero.is-primary .navbar-item,.hero.is-primary .navbar-link{color:rgba(255,255,255,.7)}.hero.is-primary .navbar-link.is-active,.hero.is-primary .navbar-link:hover,.hero.is-primary a.navbar-item.is-active,.hero.is-primary a.navbar-item:hover{background-color:#00b89c;color:#fff}.hero.is-primary .tabs a{color:#fff;opacity:.9}.hero.is-primary .tabs a:hover{opacity:1}.hero.is-primary .tabs li.is-active a{color:#00d1b2!important;opacity:1}.hero.is-primary .tabs.is-boxed a,.hero.is-primary .tabs.is-toggle a{color:#fff}.hero.is-primary .tabs.is-boxed a:hover,.hero.is-primary .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-primary .tabs.is-boxed li.is-active a,.hero.is-primary .tabs.is-boxed li.is-active a:hover,.hero.is-primary .tabs.is-toggle li.is-active a,.hero.is-primary .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#00d1b2}.hero.is-primary.is-bold{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}@media screen and (max-width:768px){.hero.is-primary.is-bold .navbar-menu{background-image:linear-gradient(141deg,#009e6c 0,#00d1b2 71%,#00e7eb 100%)}}.hero.is-link{background-color:#485fc7;color:#fff}.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-link strong{color:inherit}.hero.is-link .title{color:#fff}.hero.is-link .subtitle{color:rgba(255,255,255,.9)}.hero.is-link .subtitle a:not(.button),.hero.is-link .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-link .navbar-menu{background-color:#485fc7}}.hero.is-link .navbar-item,.hero.is-link .navbar-link{color:rgba(255,255,255,.7)}.hero.is-link .navbar-link.is-active,.hero.is-link .navbar-link:hover,.hero.is-link a.navbar-item.is-active,.hero.is-link a.navbar-item:hover{background-color:#3a51bb;color:#fff}.hero.is-link .tabs a{color:#fff;opacity:.9}.hero.is-link .tabs a:hover{opacity:1}.hero.is-link .tabs li.is-active a{color:#485fc7!important;opacity:1}.hero.is-link .tabs.is-boxed a,.hero.is-link .tabs.is-toggle a{color:#fff}.hero.is-link .tabs.is-boxed a:hover,.hero.is-link .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-link .tabs.is-boxed li.is-active a,.hero.is-link .tabs.is-boxed li.is-active a:hover,.hero.is-link .tabs.is-toggle li.is-active a,.hero.is-link .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#485fc7}.hero.is-link.is-bold{background-image:linear-gradient(141deg,#2959b3 0,#485fc7 71%,#5658d2 100%)}@media screen and (max-width:768px){.hero.is-link.is-bold .navbar-menu{background-image:linear-gradient(141deg,#2959b3 0,#485fc7 71%,#5658d2 100%)}}.hero.is-info{background-color:#3e8ed0;color:#fff}.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-info strong{color:inherit}.hero.is-info .title{color:#fff}.hero.is-info .subtitle{color:rgba(255,255,255,.9)}.hero.is-info .subtitle a:not(.button),.hero.is-info .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-info .navbar-menu{background-color:#3e8ed0}}.hero.is-info .navbar-item,.hero.is-info .navbar-link{color:rgba(255,255,255,.7)}.hero.is-info .navbar-link.is-active,.hero.is-info .navbar-link:hover,.hero.is-info a.navbar-item.is-active,.hero.is-info a.navbar-item:hover{background-color:#3082c5;color:#fff}.hero.is-info .tabs a{color:#fff;opacity:.9}.hero.is-info .tabs a:hover{opacity:1}.hero.is-info .tabs li.is-active a{color:#3e8ed0!important;opacity:1}.hero.is-info .tabs.is-boxed a,.hero.is-info .tabs.is-toggle a{color:#fff}.hero.is-info .tabs.is-boxed a:hover,.hero.is-info .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-info .tabs.is-boxed li.is-active a,.hero.is-info .tabs.is-boxed li.is-active a:hover,.hero.is-info .tabs.is-toggle li.is-active a,.hero.is-info .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#3e8ed0}.hero.is-info.is-bold{background-image:linear-gradient(141deg,#208fbc 0,#3e8ed0 71%,#4d83db 100%)}@media screen and (max-width:768px){.hero.is-info.is-bold .navbar-menu{background-image:linear-gradient(141deg,#208fbc 0,#3e8ed0 71%,#4d83db 100%)}}.hero.is-success{background-color:#48c78e;color:#fff}.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-success strong{color:inherit}.hero.is-success .title{color:#fff}.hero.is-success .subtitle{color:rgba(255,255,255,.9)}.hero.is-success .subtitle a:not(.button),.hero.is-success .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-success .navbar-menu{background-color:#48c78e}}.hero.is-success .navbar-item,.hero.is-success .navbar-link{color:rgba(255,255,255,.7)}.hero.is-success .navbar-link.is-active,.hero.is-success .navbar-link:hover,.hero.is-success a.navbar-item.is-active,.hero.is-success a.navbar-item:hover{background-color:#3abb81;color:#fff}.hero.is-success .tabs a{color:#fff;opacity:.9}.hero.is-success .tabs a:hover{opacity:1}.hero.is-success .tabs li.is-active a{color:#48c78e!important;opacity:1}.hero.is-success .tabs.is-boxed a,.hero.is-success .tabs.is-toggle a{color:#fff}.hero.is-success .tabs.is-boxed a:hover,.hero.is-success .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-success .tabs.is-boxed li.is-active a,.hero.is-success .tabs.is-boxed li.is-active a:hover,.hero.is-success .tabs.is-toggle li.is-active a,.hero.is-success .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#48c78e}.hero.is-success.is-bold{background-image:linear-gradient(141deg,#29b35e 0,#48c78e 71%,#56d2af 100%)}@media screen and (max-width:768px){.hero.is-success.is-bold .navbar-menu{background-image:linear-gradient(141deg,#29b35e 0,#48c78e 71%,#56d2af 100%)}}.hero.is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-warning strong{color:inherit}.hero.is-warning .title{color:rgba(0,0,0,.7)}.hero.is-warning .subtitle{color:rgba(0,0,0,.9)}.hero.is-warning .subtitle a:not(.button),.hero.is-warning .subtitle strong{color:rgba(0,0,0,.7)}@media screen and (max-width:1023px){.hero.is-warning .navbar-menu{background-color:#ffe08a}}.hero.is-warning .navbar-item,.hero.is-warning .navbar-link{color:rgba(0,0,0,.7)}.hero.is-warning .navbar-link.is-active,.hero.is-warning .navbar-link:hover,.hero.is-warning a.navbar-item.is-active,.hero.is-warning a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.hero.is-warning .tabs a{color:rgba(0,0,0,.7);opacity:.9}.hero.is-warning .tabs a:hover{opacity:1}.hero.is-warning .tabs li.is-active a{color:#ffe08a!important;opacity:1}.hero.is-warning .tabs.is-boxed a,.hero.is-warning .tabs.is-toggle a{color:rgba(0,0,0,.7)}.hero.is-warning .tabs.is-boxed a:hover,.hero.is-warning .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-warning .tabs.is-boxed li.is-active a,.hero.is-warning .tabs.is-boxed li.is-active a:hover,.hero.is-warning .tabs.is-toggle li.is-active a,.hero.is-warning .tabs.is-toggle li.is-active a:hover{background-color:rgba(0,0,0,.7);border-color:rgba(0,0,0,.7);color:#ffe08a}.hero.is-warning.is-bold{background-image:linear-gradient(141deg,#ffb657 0,#ffe08a 71%,#fff6a3 100%)}@media screen and (max-width:768px){.hero.is-warning.is-bold .navbar-menu{background-image:linear-gradient(141deg,#ffb657 0,#ffe08a 71%,#fff6a3 100%)}}.hero.is-danger{background-color:#f14668;color:#fff}.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),.hero.is-danger strong{color:inherit}.hero.is-danger .title{color:#fff}.hero.is-danger .subtitle{color:rgba(255,255,255,.9)}.hero.is-danger .subtitle a:not(.button),.hero.is-danger .subtitle strong{color:#fff}@media screen and (max-width:1023px){.hero.is-danger .navbar-menu{background-color:#f14668}}.hero.is-danger .navbar-item,.hero.is-danger .navbar-link{color:rgba(255,255,255,.7)}.hero.is-danger .navbar-link.is-active,.hero.is-danger .navbar-link:hover,.hero.is-danger a.navbar-item.is-active,.hero.is-danger a.navbar-item:hover{background-color:#ef2e55;color:#fff}.hero.is-danger .tabs a{color:#fff;opacity:.9}.hero.is-danger .tabs a:hover{opacity:1}.hero.is-danger .tabs li.is-active a{color:#f14668!important;opacity:1}.hero.is-danger .tabs.is-boxed a,.hero.is-danger .tabs.is-toggle a{color:#fff}.hero.is-danger .tabs.is-boxed a:hover,.hero.is-danger .tabs.is-toggle a:hover{background-color:rgba(10,10,10,.1)}.hero.is-danger .tabs.is-boxed li.is-active a,.hero.is-danger .tabs.is-boxed li.is-active a:hover,.hero.is-danger .tabs.is-toggle li.is-active a,.hero.is-danger .tabs.is-toggle li.is-active a:hover{background-color:#fff;border-color:#fff;color:#f14668}.hero.is-danger.is-bold{background-image:linear-gradient(141deg,#fa0a62 0,#f14668 71%,#f7595f 100%)}@media screen and (max-width:768px){.hero.is-danger.is-bold .navbar-menu{background-image:linear-gradient(141deg,#fa0a62 0,#f14668 71%,#f7595f 100%)}}.hero.is-small .hero-body{padding:1.5rem}@media screen and (min-width:769px),print{.hero.is-medium .hero-body{padding:9rem 4.5rem}}@media screen and (min-width:769px),print{.hero.is-large .hero-body{padding:18rem 6rem}}.hero.is-fullheight .hero-body,.hero.is-fullheight-with-navbar .hero-body,.hero.is-halfheight .hero-body{align-items:center;display:flex}.hero.is-fullheight .hero-body>.container,.hero.is-fullheight-with-navbar .hero-body>.container,.hero.is-halfheight .hero-body>.container{flex-grow:1;flex-shrink:1}.hero.is-halfheight{min-height:50vh}.hero.is-fullheight{min-height:100vh}.hero-video{overflow:hidden}.hero-video video{left:50%;min-height:100%;min-width:100%;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.hero-video.is-transparent{opacity:.3}@media screen and (max-width:768px){.hero-video{display:none}}.hero-buttons{margin-top:1.5rem}@media screen and (max-width:768px){.hero-buttons .button{display:flex}.hero-buttons .button:not(:last-child){margin-bottom:.75rem}}@media screen and (min-width:769px),print{.hero-buttons{display:flex;justify-content:center}.hero-buttons .button:not(:last-child){margin-right:1.5rem}}.hero-foot,.hero-head{flex-grow:0;flex-shrink:0}.hero-body{flex-grow:1;flex-shrink:0;padding:3rem 1.5rem}@media screen and (min-width:769px),print{.hero-body{padding:3rem 3rem}}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section{padding:3rem 3rem}.section.is-medium{padding:9rem 4.5rem}.section.is-large{padding:18rem 6rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem} \ No newline at end of file diff --git a/core/static/css/gridstack.min.css b/core/static/css/gridstack.min.css new file mode 100644 index 0000000..d2704af --- /dev/null +++ b/core/static/css/gridstack.min.css @@ -0,0 +1 @@ +:root .grid-stack-item>.ui-resizable-handle{filter:none}.grid-stack{position:relative}.grid-stack.grid-stack-rtl{direction:ltr}.grid-stack.grid-stack-rtl>.grid-stack-item{direction:rtl}.grid-stack .grid-stack-placeholder>.placeholder-content{background-color:rgba(0,0,0,.1);margin:0;position:absolute;width:auto;z-index:0!important;text-align:center}.grid-stack>.grid-stack-item{min-width:8.3333333333%;position:absolute;padding:0}.grid-stack>.grid-stack-item>.grid-stack-item-content{margin:0;position:absolute;width:auto;overflow-x:hidden;overflow-y:auto}.grid-stack>.grid-stack-item>.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.grid-stack>.grid-stack-item.ui-resizable-autohide>.ui-resizable-handle,.grid-stack>.grid-stack-item.ui-resizable-disabled>.ui-resizable-handle{display:none}.grid-stack>.grid-stack-item>.ui-resizable-se,.grid-stack>.grid-stack-item>.ui-resizable-sw{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTYuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCIgdmlld0JveD0iMCAwIDUxMS42MjYgNTExLjYyNyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTExLjYyNiA1MTEuNjI3OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTMyOC45MDYsNDAxLjk5NGgtMzYuNTUzVjEwOS42MzZoMzYuNTUzYzQuOTQ4LDAsOS4yMzYtMS44MDksMTIuODQ3LTUuNDI2YzMuNjEzLTMuNjE1LDUuNDIxLTcuODk4LDUuNDIxLTEyLjg0NSAgIGMwLTQuOTQ5LTEuODAxLTkuMjMxLTUuNDI4LTEyLjg1MWwtNzMuMDg3LTczLjA5QzI2NS4wNDQsMS44MDksMjYwLjc2LDAsMjU1LjgxMywwYy00Ljk0OCwwLTkuMjI5LDEuODA5LTEyLjg0Nyw1LjQyNCAgIGwtNzMuMDg4LDczLjA5Yy0zLjYxOCwzLjYxOS01LjQyNCw3LjkwMi01LjQyNCwxMi44NTFjMCw0Ljk0NiwxLjgwNyw5LjIyOSw1LjQyNCwxMi44NDVjMy42MTksMy42MTcsNy45MDEsNS40MjYsMTIuODUsNS40MjYgICBoMzYuNTQ1djI5Mi4zNThoLTM2LjU0MmMtNC45NTIsMC05LjIzNSwxLjgwOC0xMi44NSw1LjQyMWMtMy42MTcsMy42MjEtNS40MjQsNy45MDUtNS40MjQsMTIuODU0ICAgYzAsNC45NDUsMS44MDcsOS4yMjcsNS40MjQsMTIuODQ3bDczLjA4OSw3My4wODhjMy42MTcsMy42MTcsNy44OTgsNS40MjQsMTIuODQ3LDUuNDI0YzQuOTUsMCw5LjIzNC0xLjgwNywxMi44NDktNS40MjQgICBsNzMuMDg3LTczLjA4OGMzLjYxMy0zLjYyLDUuNDIxLTcuOTAxLDUuNDIxLTEyLjg0N2MwLTQuOTQ4LTEuODA4LTkuMjMyLTUuNDIxLTEyLjg1NCAgIEMzMzguMTQyLDQwMy44MDIsMzMzLjg1Nyw0MDEuOTk0LDMyOC45MDYsNDAxLjk5NHoiIGZpbGw9IiM2NjY2NjYiLz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8Zz4KPC9nPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.grid-stack>.grid-stack-item>.ui-resizable-se{-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.grid-stack>.grid-stack-item>.ui-resizable-nw{cursor:nw-resize;width:20px;height:20px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-n{cursor:n-resize;height:10px;top:0;left:25px;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-ne{cursor:ne-resize;width:20px;height:20px;top:0}.grid-stack>.grid-stack-item>.ui-resizable-e{cursor:e-resize;width:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item>.ui-resizable-se{cursor:se-resize;width:20px;height:20px}.grid-stack>.grid-stack-item>.ui-resizable-s{cursor:s-resize;height:10px;left:25px;bottom:0;right:25px}.grid-stack>.grid-stack-item>.ui-resizable-sw{cursor:sw-resize;width:20px;height:20px}.grid-stack>.grid-stack-item>.ui-resizable-w{cursor:w-resize;width:10px;top:15px;bottom:15px}.grid-stack>.grid-stack-item.ui-draggable-dragging>.ui-resizable-handle{display:none!important}.grid-stack>.grid-stack-item[gs-w="0"]{width:0%}.grid-stack>.grid-stack-item[gs-x="0"]{left:0}.grid-stack>.grid-stack-item[gs-min-w="0"]{min-width:0}.grid-stack>.grid-stack-item[gs-max-w="0"]{max-width:0%}.grid-stack>.grid-stack-item[gs-w="1"]{width:8.3333333333%}.grid-stack>.grid-stack-item[gs-x="1"]{left:8.3333333333%}.grid-stack>.grid-stack-item[gs-min-w="1"]{min-width:8.3333333333%}.grid-stack>.grid-stack-item[gs-max-w="1"]{max-width:8.3333333333%}.grid-stack>.grid-stack-item[gs-w="2"]{width:16.6666666667%}.grid-stack>.grid-stack-item[gs-x="2"]{left:16.6666666667%}.grid-stack>.grid-stack-item[gs-min-w="2"]{min-width:16.6666666667%}.grid-stack>.grid-stack-item[gs-max-w="2"]{max-width:16.6666666667%}.grid-stack>.grid-stack-item[gs-w="3"]{width:25%}.grid-stack>.grid-stack-item[gs-x="3"]{left:25%}.grid-stack>.grid-stack-item[gs-min-w="3"]{min-width:25%}.grid-stack>.grid-stack-item[gs-max-w="3"]{max-width:25%}.grid-stack>.grid-stack-item[gs-w="4"]{width:33.3333333333%}.grid-stack>.grid-stack-item[gs-x="4"]{left:33.3333333333%}.grid-stack>.grid-stack-item[gs-min-w="4"]{min-width:33.3333333333%}.grid-stack>.grid-stack-item[gs-max-w="4"]{max-width:33.3333333333%}.grid-stack>.grid-stack-item[gs-w="5"]{width:41.6666666667%}.grid-stack>.grid-stack-item[gs-x="5"]{left:41.6666666667%}.grid-stack>.grid-stack-item[gs-min-w="5"]{min-width:41.6666666667%}.grid-stack>.grid-stack-item[gs-max-w="5"]{max-width:41.6666666667%}.grid-stack>.grid-stack-item[gs-w="6"]{width:50%}.grid-stack>.grid-stack-item[gs-x="6"]{left:50%}.grid-stack>.grid-stack-item[gs-min-w="6"]{min-width:50%}.grid-stack>.grid-stack-item[gs-max-w="6"]{max-width:50%}.grid-stack>.grid-stack-item[gs-w="7"]{width:58.3333333333%}.grid-stack>.grid-stack-item[gs-x="7"]{left:58.3333333333%}.grid-stack>.grid-stack-item[gs-min-w="7"]{min-width:58.3333333333%}.grid-stack>.grid-stack-item[gs-max-w="7"]{max-width:58.3333333333%}.grid-stack>.grid-stack-item[gs-w="8"]{width:66.6666666667%}.grid-stack>.grid-stack-item[gs-x="8"]{left:66.6666666667%}.grid-stack>.grid-stack-item[gs-min-w="8"]{min-width:66.6666666667%}.grid-stack>.grid-stack-item[gs-max-w="8"]{max-width:66.6666666667%}.grid-stack>.grid-stack-item[gs-w="9"]{width:75%}.grid-stack>.grid-stack-item[gs-x="9"]{left:75%}.grid-stack>.grid-stack-item[gs-min-w="9"]{min-width:75%}.grid-stack>.grid-stack-item[gs-max-w="9"]{max-width:75%}.grid-stack>.grid-stack-item[gs-w="10"]{width:83.3333333333%}.grid-stack>.grid-stack-item[gs-x="10"]{left:83.3333333333%}.grid-stack>.grid-stack-item[gs-min-w="10"]{min-width:83.3333333333%}.grid-stack>.grid-stack-item[gs-max-w="10"]{max-width:83.3333333333%}.grid-stack>.grid-stack-item[gs-w="11"]{width:91.6666666667%}.grid-stack>.grid-stack-item[gs-x="11"]{left:91.6666666667%}.grid-stack>.grid-stack-item[gs-min-w="11"]{min-width:91.6666666667%}.grid-stack>.grid-stack-item[gs-max-w="11"]{max-width:91.6666666667%}.grid-stack>.grid-stack-item[gs-w="12"]{width:100%}.grid-stack>.grid-stack-item[gs-x="12"]{left:100%}.grid-stack>.grid-stack-item[gs-min-w="12"]{min-width:100%}.grid-stack>.grid-stack-item[gs-max-w="12"]{max-width:100%}.grid-stack.grid-stack-1>.grid-stack-item{min-width:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-w="1"]{width:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-x="1"]{left:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-min-w="1"]{min-width:100%}.grid-stack.grid-stack-1>.grid-stack-item[gs-max-w="1"]{max-width:100%}.grid-stack.grid-stack-animate,.grid-stack.grid-stack-animate .grid-stack-item{-webkit-transition:left .3s,top .3s,height .3s,width .3s;-moz-transition:left .3s,top .3s,height .3s,width .3s;-ms-transition:left .3s,top .3s,height .3s,width .3s;-o-transition:left .3s,top .3s,height .3s,width .3s;transition:left .3s,top .3s,height .3s,width .3s}.grid-stack.grid-stack-animate .grid-stack-item.grid-stack-placeholder,.grid-stack.grid-stack-animate .grid-stack-item.ui-draggable-dragging,.grid-stack.grid-stack-animate .grid-stack-item.ui-resizable-resizing{-webkit-transition:left 0s,top 0s,height 0s,width 0s;-moz-transition:left 0s,top 0s,height 0s,width 0s;-ms-transition:left 0s,top 0s,height 0s,width 0s;-o-transition:left 0s,top 0s,height 0s,width 0s;transition:left 0s,top 0s,height 0s,width 0s}.ui-draggable-dragging,.ui-resizable-resizing{z-index:100}.ui-draggable-dragging>.grid-stack-item-content,.ui-resizable-resizing>.grid-stack-item-content{box-shadow:1px 4px 6px rgba(0,0,0,.2);opacity:.8}.ui-draggable-dragging{will-change:left,top;cursor:move}.ui-resizable-resizing{will-change:width,height} \ No newline at end of file diff --git a/core/static/css/icons.css b/core/static/css/icons.css new file mode 100644 index 0000000..3a04f4f --- /dev/null +++ b/core/static/css/icons.css @@ -0,0 +1,6 @@ +/*! + * Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Commercial License) + * Copyright 2022 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Pro");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0);animation-delay:var(--fa-animation-delay,0);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-00:before{content:"\e467"}.fa-360-degrees:before{content:"\e2dc"}.fa-a:before{content:"\41"}.fa-abacus:before{content:"\f640"}.fa-accent-grave:before{content:"\60"}.fa-acorn:before{content:"\f6ae"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-air-conditioner:before{content:"\f8f4"}.fa-airplay:before{content:"\e089"}.fa-alarm-clock:before{content:"\f34e"}.fa-alarm-exclamation:before{content:"\f843"}.fa-alarm-plus:before{content:"\f844"}.fa-alarm-snooze:before{content:"\f845"}.fa-album:before{content:"\f89f"}.fa-album-circle-plus:before{content:"\e48c"}.fa-album-circle-user:before{content:"\e48d"}.fa-album-collection:before{content:"\f8a0"}.fa-album-collection-circle-plus:before{content:"\e48e"}.fa-album-collection-circle-user:before{content:"\e48f"}.fa-alicorn:before{content:"\f6b0"}.fa-alien:before{content:"\f8f5"}.fa-alien-8bit:before,.fa-alien-monster:before{content:"\f8f6"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-align-slash:before{content:"\f846"}.fa-alt:before{content:"\e08a"}.fa-amp-guitar:before{content:"\f8a1"}.fa-ampersand:before{content:"\26"}.fa-anchor:before{content:"\f13d"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-anchor-lock:before{content:"\e4ad"}.fa-angel:before{content:"\f779"}.fa-angle:before{content:"\e08c"}.fa-angle-90:before{content:"\e08d"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-ankh:before{content:"\f644"}.fa-apartment:before{content:"\e468"}.fa-aperture:before{content:"\e2df"}.fa-apostrophe:before{content:"\27"}.fa-apple-core:before{content:"\e08f"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-archway:before{content:"\f557"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-arrow-down-arrow-up:before,.fa-sort-alt:before{content:"\f883"}.fa-arrow-down-big-small:before,.fa-sort-size-down:before{content:"\f88c"}.fa-arrow-down-from-dotted-line:before{content:"\e090"}.fa-arrow-down-from-line:before,.fa-arrow-from-top:before{content:"\f345"}.fa-arrow-down-left:before{content:"\e091"}.fa-arrow-down-left-and-arrow-up-right-to-center:before{content:"\e092"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-arrow-down-right:before{content:"\e093"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-arrow-down-small-big:before,.fa-sort-size-down-alt:before{content:"\f88d"}.fa-arrow-down-square-triangle:before,.fa-sort-shapes-down-alt:before{content:"\f889"}.fa-arrow-down-to-arc:before{content:"\e4ae"}.fa-arrow-down-to-bracket:before{content:"\e094"}.fa-arrow-down-to-dotted-line:before{content:"\e095"}.fa-arrow-down-to-line:before,.fa-arrow-to-bottom:before{content:"\f33d"}.fa-arrow-down-to-square:before{content:"\e096"}.fa-arrow-down-triangle-square:before,.fa-sort-shapes-down:before{content:"\f888"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-from-right:before,.fa-arrow-left-from-line:before{content:"\f344"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-arrow-left-long-to-line:before{content:"\e3d4"}.fa-arrow-left-to-line:before,.fa-arrow-to-left:before{content:"\f33e"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-arrow-right-from-arc:before{content:"\e4b1"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-arrow-from-left:before,.fa-arrow-right-from-line:before{content:"\f343"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-arrow-right-long-to-line:before{content:"\e3d5"}.fa-arrow-right-to-arc:before{content:"\e4b2"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-arrow-right-to-line:before,.fa-arrow-to-right:before{content:"\f340"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-arrow-trend-down:before{content:"\e097"}.fa-arrow-trend-up:before{content:"\e098"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-arrow-turn-down-left:before{content:"\e2e1"}.fa-arrow-turn-down-right:before{content:"\e3d6"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-arrow-up-arrow-down:before,.fa-sort-up-down:before{content:"\e099"}.fa-arrow-up-big-small:before,.fa-sort-size-up:before{content:"\f88e"}.fa-arrow-up-from-arc:before{content:"\e4b4"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-arrow-up-from-dotted-line:before{content:"\e09b"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-arrow-from-bottom:before,.fa-arrow-up-from-line:before{content:"\f342"}.fa-arrow-up-from-square:before{content:"\e09c"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-arrow-up-left:before{content:"\e09d"}.fa-arrow-up-left-from-circle:before{content:"\e09e"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-arrow-up-right:before{content:"\e09f"}.fa-arrow-up-right-and-arrow-down-left-from-center:before{content:"\e0a0"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-arrow-up-small-big:before,.fa-sort-size-up-alt:before{content:"\f88f"}.fa-arrow-up-square-triangle:before,.fa-sort-shapes-up-alt:before{content:"\f88b"}.fa-arrow-up-to-dotted-line:before{content:"\e0a1"}.fa-arrow-to-top:before,.fa-arrow-up-to-line:before{content:"\f341"}.fa-arrow-up-triangle-square:before,.fa-sort-shapes-up:before{content:"\f88a"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-arrows-cross:before{content:"\e0a2"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-arrows-from-dotted-line:before{content:"\e0a3"}.fa-arrows-from-line:before{content:"\e0a4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-arrows-maximize:before,.fa-expand-arrows:before{content:"\f31d"}.fa-arrows-minimize:before,.fa-compress-arrows:before{content:"\e0a5"}.fa-arrows-repeat:before,.fa-repeat-alt:before{content:"\f364"}.fa-arrows-repeat-1:before,.fa-repeat-1-alt:before{content:"\f366"}.fa-arrows-retweet:before,.fa-retweet-alt:before{content:"\f361"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-arrows-spin:before{content:"\e4bb"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-arrows-to-dotted-line:before{content:"\e0a6"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-arrows-to-line:before{content:"\e0a7"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-asterisk:before{content:"\2a"}.fa-at:before{content:"\40"}.fa-atom:before{content:"\f5d2"}.fa-atom-alt:before,.fa-atom-simple:before{content:"\f5d3"}.fa-audio-description:before{content:"\f29e"}.fa-audio-description-slash:before{content:"\e0a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-avocado:before{content:"\e0aa"}.fa-award:before{content:"\f559"}.fa-award-simple:before{content:"\e0ab"}.fa-axe:before{content:"\f6b2"}.fa-axe-battle:before{content:"\f6b3"}.fa-b:before{content:"\42"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-backpack:before{content:"\f5d4"}.fa-backward:before{content:"\f04a"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-badge:before{content:"\f335"}.fa-badge-check:before{content:"\f336"}.fa-badge-dollar:before{content:"\f645"}.fa-badge-percent:before{content:"\f646"}.fa-badge-sheriff:before{content:"\f8a2"}.fa-badger-honey:before{content:"\f6b4"}.fa-badminton:before{content:"\e33a"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-bagel:before{content:"\e3d7"}.fa-bags-shopping:before{content:"\f847"}.fa-baguette:before{content:"\e3d8"}.fa-bahai:before{content:"\f666"}.fa-baht-sign:before{content:"\e0ac"}.fa-ball-pile:before{content:"\f77e"}.fa-balloon:before{content:"\e2e3"}.fa-balloons:before{content:"\e2e4"}.fa-ballot:before{content:"\f732"}.fa-ballot-check:before{content:"\f733"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-ban-bug:before,.fa-debug:before{content:"\f7f9"}.fa-ban-parking:before,.fa-parking-circle-slash:before{content:"\f616"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-banana:before{content:"\e2e5"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-banjo:before{content:"\f8a3"}.fa-barcode:before{content:"\f02a"}.fa-barcode-read:before{content:"\f464"}.fa-barcode-scan:before{content:"\f465"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-bars-filter:before{content:"\e0ad"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-bars-sort:before{content:"\e0ae"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-basket-shopping-simple:before,.fa-shopping-basket-alt:before{content:"\e0af"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-basketball-hoop:before{content:"\f435"}.fa-bat:before{content:"\f6b5"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-battery-bolt:before{content:"\f376"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-battery-exclamation:before{content:"\e0b0"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-low:before{content:"\e0b1"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-slash:before{content:"\f377"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-bed:before{content:"\f236"}.fa-bed-bunk:before{content:"\f8f8"}.fa-bed-empty:before{content:"\f8f9"}.fa-bed-alt:before,.fa-bed-front:before{content:"\f8f7"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-bee:before{content:"\e0b2"}.fa-beer-foam:before,.fa-beer-mug:before{content:"\e0b3"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-bell:before{content:"\f0f3"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-bell-exclamation:before{content:"\f848"}.fa-bell-on:before{content:"\f8fa"}.fa-bell-plus:before{content:"\f849"}.fa-bell-school:before{content:"\f5d5"}.fa-bell-school-slash:before{content:"\f5d6"}.fa-bell-slash:before{content:"\f1f6"}.fa-bells:before{content:"\f77f"}.fa-bench-tree:before{content:"\e2e7"}.fa-bezier-curve:before{content:"\f55b"}.fa-bicycle:before{content:"\f206"}.fa-binary:before{content:"\e33b"}.fa-binary-circle-check:before{content:"\e33c"}.fa-binary-lock:before{content:"\e33d"}.fa-binary-slash:before{content:"\e33e"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-bird:before{content:"\e469"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-blanket:before{content:"\f498"}.fa-blanket-fire:before{content:"\e3da"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blinds:before{content:"\f8fb"}.fa-blinds-open:before{content:"\f8fc"}.fa-blinds-raised:before{content:"\f8fd"}.fa-block:before{content:"\e46a"}.fa-block-brick:before,.fa-wall-brick:before{content:"\e3db"}.fa-block-brick-fire:before,.fa-firewall:before{content:"\e3dc"}.fa-block-question:before{content:"\e3dd"}.fa-block-quote:before{content:"\e0b5"}.fa-blog:before{content:"\f781"}.fa-blueberries:before{content:"\e2e8"}.fa-bold:before{content:"\f032"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-bolt-auto:before{content:"\e0b6"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-bolt-slash:before{content:"\e0b8"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bone-break:before{content:"\f5d8"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-arrow-right:before{content:"\e0b9"}.fa-book-arrow-up:before{content:"\e0ba"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-book-alt:before,.fa-book-blank:before{content:"\f5d9"}.fa-book-bookmark:before{content:"\e0bb"}.fa-book-circle-arrow-right:before{content:"\e0bc"}.fa-book-circle-arrow-up:before{content:"\e0bd"}.fa-book-copy:before{content:"\e0be"}.fa-book-font:before{content:"\e0bf"}.fa-book-heart:before{content:"\f499"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-open-alt:before,.fa-book-open-cover:before{content:"\e0c0"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-book-law:before,.fa-book-section:before{content:"\e0c1"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-book-sparkles:before,.fa-book-spells:before{content:"\f6b8"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-book-user:before{content:"\f7e7"}.fa-bookmark:before{content:"\f02e"}.fa-bookmark-slash:before{content:"\e0c2"}.fa-books:before{content:"\f5db"}.fa-books-medical:before{content:"\f7e8"}.fa-boombox:before{content:"\f8a5"}.fa-boot:before{content:"\f782"}.fa-boot-heeled:before{content:"\e33f"}.fa-booth-curtain:before{content:"\f734"}.fa-border-all:before{content:"\f84c"}.fa-border-bottom:before{content:"\f84d"}.fa-border-bottom-right:before,.fa-border-style-alt:before{content:"\f854"}.fa-border-center-h:before{content:"\f89c"}.fa-border-center-v:before{content:"\f89d"}.fa-border-inner:before{content:"\f84e"}.fa-border-left:before{content:"\f84f"}.fa-border-none:before{content:"\f850"}.fa-border-outer:before{content:"\f851"}.fa-border-right:before{content:"\f852"}.fa-border-top:before{content:"\f855"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-bore-hole:before{content:"\e4c3"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-bottle-water:before{content:"\e4c5"}.fa-bow-arrow:before{content:"\f6b9"}.fa-bowl-chopsticks:before{content:"\e2e9"}.fa-bowl-chopsticks-noodles:before{content:"\e2ea"}.fa-bowl-food:before{content:"\e4c6"}.fa-bowl-hot:before,.fa-soup:before{content:"\f823"}.fa-bowl-rice:before{content:"\e2eb"}.fa-bowl-scoop:before,.fa-bowl-shaved-ice:before{content:"\e3de"}.fa-bowl-scoops:before{content:"\e3df"}.fa-bowl-soft-serve:before{content:"\e46b"}.fa-bowl-spoon:before{content:"\e3e0"}.fa-bowling-ball:before{content:"\f436"}.fa-bowling-ball-pin:before{content:"\e0c3"}.fa-bowling-pins:before{content:"\f437"}.fa-box:before{content:"\f466"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-box-ballot:before{content:"\f735"}.fa-box-check:before{content:"\f467"}.fa-box-circle-check:before{content:"\e0c4"}.fa-box-dollar:before,.fa-box-usd:before{content:"\f4a0"}.fa-box-heart:before{content:"\f49d"}.fa-box-open:before{content:"\f49e"}.fa-box-full:before,.fa-box-open-full:before{content:"\f49c"}.fa-box-alt:before,.fa-box-taped:before{content:"\f49a"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes-packing:before{content:"\e4c7"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-boxing-glove:before,.fa-glove-boxing:before{content:"\f438"}.fa-bracket-curly-left:before,.fa-bracket-curly:before{content:"\7b"}.fa-bracket-curly-right:before{content:"\7d"}.fa-bracket-round:before,.fa-parenthesis:before{content:"\28"}.fa-bracket-round-right:before{content:"\29"}.fa-bracket-left:before,.fa-bracket-square:before,.fa-bracket:before{content:"\5b"}.fa-bracket-square-right:before{content:"\5d"}.fa-brackets-curly:before{content:"\f7ea"}.fa-brackets-round:before,.fa-parentheses:before{content:"\e0c5"}.fa-brackets-square:before,.fa-brackets:before{content:"\f7e9"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-brain-arrow-curved-right:before,.fa-mind-share:before{content:"\f677"}.fa-brain-circuit:before{content:"\e0c6"}.fa-brake-warning:before{content:"\e0c7"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-bread-loaf:before{content:"\f7eb"}.fa-bread-slice:before{content:"\f7ec"}.fa-bread-slice-butter:before{content:"\e3e1"}.fa-bridge:before{content:"\e4c8"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-bridge-suspension:before{content:"\e4cd"}.fa-bridge-water:before{content:"\e4ce"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-arrow-right:before{content:"\e2f2"}.fa-briefcase-blank:before{content:"\e0c8"}.fa-briefcase-medical:before{content:"\f469"}.fa-brightness:before{content:"\e0c9"}.fa-brightness-low:before{content:"\e0ca"}.fa-bring-forward:before{content:"\f856"}.fa-bring-front:before{content:"\f857"}.fa-broccoli:before{content:"\e3e2"}.fa-broom:before{content:"\f51a"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-browser:before{content:"\f37e"}.fa-browsers:before{content:"\e0cb"}.fa-brush:before{content:"\f55d"}.fa-bucket:before{content:"\e4cf"}.fa-bug:before{content:"\f188"}.fa-bug-slash:before{content:"\e490"}.fa-bugs:before{content:"\e4d0"}.fa-building:before{content:"\f1ad"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-building-circle-check:before{content:"\e4d2"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-building-flag:before{content:"\e4d5"}.fa-building-lock:before{content:"\e4d6"}.fa-building-ngo:before{content:"\e4d7"}.fa-building-shield:before{content:"\e4d8"}.fa-building-un:before{content:"\e4d9"}.fa-building-user:before{content:"\e4da"}.fa-building-wheat:before{content:"\e4db"}.fa-buildings:before{content:"\e0cc"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-bullseye-arrow:before{content:"\f648"}.fa-bullseye-pointer:before{content:"\f649"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-burger-cheese:before,.fa-cheeseburger:before{content:"\f7f1"}.fa-burger-fries:before{content:"\e0cd"}.fa-burger-glass:before{content:"\e0ce"}.fa-burger-lettuce:before{content:"\e3e3"}.fa-burger-soda:before{content:"\f858"}.fa-burrito:before{content:"\f7ed"}.fa-burst:before{content:"\e4dc"}.fa-bus:before{content:"\f207"}.fa-bus-school:before{content:"\f5dd"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-butter:before{content:"\e3e4"}.fa-c:before{content:"\43"}.fa-cabin:before{content:"\e46d"}.fa-cabinet-filing:before{content:"\f64b"}.fa-cable-car:before{content:"\e0cf"}.fa-cactus:before{content:"\f8a7"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-cake-slice:before,.fa-shortcake:before{content:"\e3e5"}.fa-calculator:before{content:"\f1ec"}.fa-calculator-alt:before,.fa-calculator-simple:before{content:"\f64c"}.fa-calendar:before{content:"\f133"}.fa-calendar-arrow-down:before,.fa-calendar-download:before{content:"\e0d0"}.fa-calendar-arrow-up:before,.fa-calendar-upload:before{content:"\e0d1"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-circle-exclamation:before{content:"\e46e"}.fa-calendar-circle-minus:before{content:"\e46f"}.fa-calendar-circle-plus:before{content:"\e470"}.fa-calendar-circle-user:before{content:"\e471"}.fa-calendar-clock:before,.fa-calendar-time:before{content:"\e0d2"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-calendar-exclamation:before{content:"\f334"}.fa-calendar-heart:before{content:"\e0d3"}.fa-calendar-image:before{content:"\e0d4"}.fa-calendar-lines:before,.fa-calendar-note:before{content:"\e0d5"}.fa-calendar-lines-pen:before{content:"\e472"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-edit:before,.fa-calendar-pen:before{content:"\f333"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-range:before{content:"\e0d6"}.fa-calendar-star:before{content:"\f736"}.fa-calendar-week:before{content:"\f784"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-calendars:before{content:"\e0d7"}.fa-camcorder:before,.fa-video-handheld:before{content:"\f8a8"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-camera-cctv:before,.fa-cctv:before{content:"\f8ac"}.fa-camera-movie:before{content:"\f8a9"}.fa-camera-polaroid:before{content:"\f8aa"}.fa-camera-retro:before{content:"\f083"}.fa-camera-rotate:before{content:"\e0d8"}.fa-camera-home:before,.fa-camera-security:before{content:"\f8fe"}.fa-camera-slash:before{content:"\e0d9"}.fa-camera-viewfinder:before,.fa-screenshot:before{content:"\e0da"}.fa-camera-web:before,.fa-webcam:before{content:"\f832"}.fa-camera-web-slash:before,.fa-webcam-slash:before{content:"\f833"}.fa-campfire:before{content:"\f6ba"}.fa-campground:before{content:"\f6bb"}.fa-can-food:before{content:"\e3e6"}.fa-candle-holder:before{content:"\f6bc"}.fa-candy:before{content:"\e3e7"}.fa-candy-bar:before,.fa-chocolate-bar:before{content:"\e3e8"}.fa-candy-cane:before{content:"\f786"}.fa-candy-corn:before{content:"\f6bd"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-car-bolt:before{content:"\e341"}.fa-car-building:before{content:"\f859"}.fa-car-bump:before{content:"\f5e0"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-car-bus:before{content:"\f85a"}.fa-car-circle-bolt:before{content:"\e342"}.fa-car-garage:before{content:"\f5e2"}.fa-car-mirrors:before{content:"\e343"}.fa-car-on:before{content:"\e4dd"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-car-side:before{content:"\f5e4"}.fa-car-side-bolt:before{content:"\e344"}.fa-car-tilt:before{content:"\f5e5"}.fa-car-tunnel:before{content:"\e4de"}.fa-car-wash:before{content:"\f5e6"}.fa-car-mechanic:before,.fa-car-wrench:before{content:"\f5e3"}.fa-caravan:before{content:"\f8ff"}.fa-caravan-alt:before,.fa-caravan-simple:before{content:"\e000"}.fa-card-club:before{content:"\e3e9"}.fa-card-diamond:before{content:"\e3ea"}.fa-card-heart:before{content:"\e3eb"}.fa-card-spade:before{content:"\e3ec"}.fa-cards:before{content:"\e3ed"}.fa-cards-blank:before{content:"\e4df"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cars:before{content:"\f85b"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-arrow-up:before{content:"\e3ee"}.fa-cart-circle-arrow-down:before{content:"\e3ef"}.fa-cart-circle-arrow-up:before{content:"\e3f0"}.fa-cart-circle-check:before{content:"\e3f1"}.fa-cart-circle-exclamation:before{content:"\e3f2"}.fa-cart-circle-plus:before{content:"\e3f3"}.fa-cart-circle-xmark:before{content:"\e3f4"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-cart-flatbed-boxes:before,.fa-dolly-flatbed-alt:before{content:"\f475"}.fa-cart-flatbed-empty:before,.fa-dolly-flatbed-empty:before{content:"\f476"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-cart-minus:before{content:"\e0db"}.fa-cart-plus:before{content:"\f217"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-cart-shopping-fast:before{content:"\e0dc"}.fa-cart-xmark:before{content:"\e0dd"}.fa-cash-register:before{content:"\f788"}.fa-betamax:before,.fa-cassette-betamax:before{content:"\f8a4"}.fa-cassette-tape:before{content:"\f8ab"}.fa-cassette-vhs:before,.fa-vhs:before{content:"\f8ec"}.fa-castle:before{content:"\e0de"}.fa-cat:before{content:"\f6be"}.fa-cat-space:before{content:"\e001"}.fa-cauldron:before{content:"\f6bf"}.fa-cedi-sign:before{content:"\e0df"}.fa-cent-sign:before{content:"\e3f5"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chair-office:before{content:"\f6c1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-champagne-glass:before,.fa-glass-champagne:before{content:"\f79e"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-charging-station:before{content:"\f5e7"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-chart-bullet:before{content:"\e0e1"}.fa-chart-candlestick:before{content:"\e0e2"}.fa-chart-column:before{content:"\e0e3"}.fa-chart-gantt:before{content:"\e0e4"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-chart-line-down:before{content:"\f64d"}.fa-chart-line-up:before{content:"\e0e5"}.fa-analytics:before,.fa-chart-mixed:before{content:"\f643"}.fa-chart-network:before{content:"\f78a"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-chart-pie-alt:before,.fa-chart-pie-simple:before{content:"\f64e"}.fa-chart-pyramid:before{content:"\e0e6"}.fa-chart-radar:before{content:"\e0e7"}.fa-chart-scatter:before{content:"\f7ee"}.fa-chart-scatter-3d:before{content:"\e0e8"}.fa-chart-scatter-bubble:before{content:"\e0e9"}.fa-chart-simple:before{content:"\e473"}.fa-chart-simple-horizontal:before{content:"\e474"}.fa-chart-tree-map:before{content:"\e0ea"}.fa-chart-user:before,.fa-user-chart:before{content:"\f6a3"}.fa-chart-waterfall:before{content:"\e0eb"}.fa-check:before{content:"\f00c"}.fa-check-double:before{content:"\f560"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-cheese:before{content:"\f7ef"}.fa-cheese-swiss:before{content:"\f7f0"}.fa-cherries:before{content:"\e0ec"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-bishop-alt:before,.fa-chess-bishop-piece:before{content:"\f43b"}.fa-chess-board:before{content:"\f43c"}.fa-chess-clock:before{content:"\f43d"}.fa-chess-clock-alt:before,.fa-chess-clock-flip:before{content:"\f43e"}.fa-chess-king:before{content:"\f43f"}.fa-chess-king-alt:before,.fa-chess-king-piece:before{content:"\f440"}.fa-chess-knight:before{content:"\f441"}.fa-chess-knight-alt:before,.fa-chess-knight-piece:before{content:"\f442"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-pawn-alt:before,.fa-chess-pawn-piece:before{content:"\f444"}.fa-chess-queen:before{content:"\f445"}.fa-chess-queen-alt:before,.fa-chess-queen-piece:before{content:"\f446"}.fa-chess-rook:before{content:"\f447"}.fa-chess-rook-alt:before,.fa-chess-rook-piece:before{content:"\f448"}.fa-chestnut:before{content:"\e3f6"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-double-down:before,.fa-chevrons-down:before{content:"\f322"}.fa-chevron-double-left:before,.fa-chevrons-left:before{content:"\f323"}.fa-chevron-double-right:before,.fa-chevrons-right:before{content:"\f324"}.fa-chevron-double-up:before,.fa-chevrons-up:before{content:"\f325"}.fa-child:before{content:"\f1ae"}.fa-child-dress:before{content:"\e59c"}.fa-child-reaching:before{content:"\e59d"}.fa-child-rifle:before{content:"\e4e0"}.fa-children:before{content:"\e4e1"}.fa-chimney:before{content:"\f78b"}.fa-chopsticks:before{content:"\e3f7"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-0:before{content:"\e0ed"}.fa-circle-1:before{content:"\e0ee"}.fa-circle-2:before{content:"\e0ef"}.fa-circle-3:before{content:"\e0f0"}.fa-circle-4:before{content:"\e0f1"}.fa-circle-5:before{content:"\e0f2"}.fa-circle-6:before{content:"\e0f3"}.fa-circle-7:before{content:"\e0f4"}.fa-circle-8:before{content:"\e0f5"}.fa-circle-9:before{content:"\e0f6"}.fa-circle-a:before{content:"\e0f7"}.fa-circle-ampersand:before{content:"\e0f8"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-circle-arrow-down-left:before{content:"\e0f9"}.fa-circle-arrow-down-right:before{content:"\e0fa"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-circle-arrow-up-left:before{content:"\e0fb"}.fa-circle-arrow-up-right:before{content:"\e0fc"}.fa-circle-b:before{content:"\e0fd"}.fa-circle-bolt:before{content:"\e0fe"}.fa-book-circle:before,.fa-circle-book-open:before{content:"\e0ff"}.fa-bookmark-circle:before,.fa-circle-bookmark:before{content:"\e100"}.fa-circle-c:before{content:"\e101"}.fa-calendar-circle:before,.fa-circle-calendar:before{content:"\e102"}.fa-camera-circle:before,.fa-circle-camera:before{content:"\e103"}.fa-caret-circle-down:before,.fa-circle-caret-down:before{content:"\f32d"}.fa-caret-circle-left:before,.fa-circle-caret-left:before{content:"\f32e"}.fa-caret-circle-right:before,.fa-circle-caret-right:before{content:"\f330"}.fa-caret-circle-up:before,.fa-circle-caret-up:before{content:"\f331"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-circle-d:before{content:"\e104"}.fa-circle-dashed:before{content:"\e105"}.fa-circle-divide:before{content:"\e106"}.fa-circle-dollar:before,.fa-dollar-circle:before,.fa-usd-circle:before{content:"\f2e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-circle-down-left:before{content:"\e107"}.fa-circle-down-right:before{content:"\e108"}.fa-circle-e:before{content:"\e109"}.fa-circle-ellipsis:before{content:"\e10a"}.fa-circle-ellipsis-vertical:before{content:"\e10b"}.fa-circle-envelope:before,.fa-envelope-circle:before{content:"\e10c"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-circle-exclamation-check:before{content:"\e10d"}.fa-circle-f:before{content:"\e10e"}.fa-circle-g:before{content:"\e10f"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-circle-half:before{content:"\e110"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-circle-heart:before,.fa-heart-circle:before{content:"\f4c7"}.fa-circle-i:before{content:"\e111"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-circle-j:before{content:"\e112"}.fa-circle-k:before{content:"\e113"}.fa-circle-l:before{content:"\e114"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-circle-location-arrow:before,.fa-location-circle:before{content:"\f602"}.fa-circle-m:before{content:"\e115"}.fa-circle-microphone:before,.fa-microphone-circle:before{content:"\e116"}.fa-circle-microphone-lines:before,.fa-microphone-circle-alt:before{content:"\e117"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-circle-n:before{content:"\e118"}.fa-circle-nodes:before{content:"\e4e2"}.fa-circle-notch:before{content:"\f1ce"}.fa-circle-o:before{content:"\e119"}.fa-circle-p:before{content:"\e11a"}.fa-circle-parking:before,.fa-parking-circle:before{content:"\f615"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-circle-phone:before,.fa-phone-circle:before{content:"\e11b"}.fa-circle-phone-flip:before,.fa-phone-circle-alt:before{content:"\e11c"}.fa-circle-phone-hangup:before,.fa-phone-circle-down:before{content:"\e11d"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-circle-q:before{content:"\e11e"}.fa-circle-quarter:before{content:"\e11f"}.fa-circle-quarters:before{content:"\e3f8"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-circle-r:before{content:"\e120"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-circle-s:before{content:"\e121"}.fa-circle-small:before{content:"\e122"}.fa-circle-sort:before,.fa-sort-circle:before{content:"\e030"}.fa-circle-sort-down:before,.fa-sort-circle-down:before{content:"\e031"}.fa-circle-sort-up:before,.fa-sort-circle-up:before{content:"\e032"}.fa-circle-star:before,.fa-star-circle:before{content:"\e123"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-circle-t:before{content:"\e124"}.fa-circle-three-quarters:before{content:"\e125"}.fa-circle-trash:before,.fa-trash-circle:before{content:"\e126"}.fa-circle-u:before{content:"\e127"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-circle-up-left:before{content:"\e128"}.fa-circle-up-right:before{content:"\e129"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-circle-v:before{content:"\e12a"}.fa-circle-video:before,.fa-video-circle:before{content:"\e12b"}.fa-circle-w:before{content:"\e12c"}.fa-circle-waveform-lines:before,.fa-waveform-circle:before{content:"\e12d"}.fa-circle-x:before{content:"\e12e"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-circle-y:before{content:"\e12f"}.fa-circle-z:before{content:"\e130"}.fa-citrus:before{content:"\e2f4"}.fa-citrus-slice:before{content:"\e2f5"}.fa-city:before{content:"\f64f"}.fa-clapperboard:before{content:"\e131"}.fa-clapperboard-play:before{content:"\e132"}.fa-clarinet:before{content:"\f8ad"}.fa-claw-marks:before{content:"\f6c2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clipboard-list-check:before{content:"\f737"}.fa-clipboard-medical:before{content:"\e133"}.fa-clipboard-prescription:before{content:"\f5e8"}.fa-clipboard-question:before{content:"\e4e3"}.fa-clipboard-user:before{content:"\f7f3"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-clock-desk:before{content:"\e134"}.fa-clock-eight:before{content:"\e345"}.fa-clock-eight-thirty:before{content:"\e346"}.fa-clock-eleven:before{content:"\e347"}.fa-clock-eleven-thirty:before{content:"\e348"}.fa-clock-five:before{content:"\e349"}.fa-clock-five-thirty:before{content:"\e34a"}.fa-clock-four-thirty:before{content:"\e34b"}.fa-clock-nine:before{content:"\e34c"}.fa-clock-nine-thirty:before{content:"\e34d"}.fa-clock-one:before{content:"\e34e"}.fa-clock-one-thirty:before{content:"\e34f"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-clock-seven:before{content:"\e350"}.fa-clock-seven-thirty:before{content:"\e351"}.fa-clock-six:before{content:"\e352"}.fa-clock-six-thirty:before{content:"\e353"}.fa-clock-ten:before{content:"\e354"}.fa-clock-ten-thirty:before{content:"\e355"}.fa-clock-three:before{content:"\e356"}.fa-clock-three-thirty:before{content:"\e357"}.fa-clock-twelve:before{content:"\e358"}.fa-clock-twelve-thirty:before{content:"\e359"}.fa-clock-two:before{content:"\e35a"}.fa-clock-two-thirty:before{content:"\e35b"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-closed-captioning-slash:before{content:"\e135"}.fa-clothes-hanger:before{content:"\e136"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-cloud-bolt-moon:before,.fa-thunderstorm-moon:before{content:"\f76d"}.fa-cloud-bolt-sun:before,.fa-thunderstorm-sun:before{content:"\f76e"}.fa-cloud-check:before{content:"\e35c"}.fa-cloud-drizzle:before{content:"\f738"}.fa-cloud-exclamation:before{content:"\e491"}.fa-cloud-fog:before,.fa-fog:before{content:"\f74e"}.fa-cloud-hail:before{content:"\f739"}.fa-cloud-hail-mixed:before{content:"\f73a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-minus:before{content:"\e35d"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-music:before{content:"\f8ae"}.fa-cloud-plus:before{content:"\e35e"}.fa-cloud-question:before{content:"\e492"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-rainbow:before{content:"\f73e"}.fa-cloud-showers:before{content:"\f73f"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-cloud-slash:before{content:"\e137"}.fa-cloud-sleet:before{content:"\f741"}.fa-cloud-snow:before{content:"\f742"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-word:before{content:"\e138"}.fa-cloud-xmark:before{content:"\e35f"}.fa-clouds:before{content:"\f744"}.fa-clouds-moon:before{content:"\f745"}.fa-clouds-sun:before{content:"\f746"}.fa-clover:before{content:"\e139"}.fa-club:before{content:"\f327"}.fa-coconut:before{content:"\e2f6"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-code-commit:before{content:"\f386"}.fa-code-compare:before{content:"\e13a"}.fa-code-fork:before{content:"\e13b"}.fa-code-merge:before{content:"\f387"}.fa-code-pull-request:before{content:"\e13c"}.fa-code-pull-request-closed:before{content:"\e3f9"}.fa-code-pull-request-draft:before{content:"\e3fa"}.fa-code-simple:before{content:"\e13d"}.fa-coffee-bean:before{content:"\e13e"}.fa-coffee-beans:before{content:"\e13f"}.fa-coffee-pot:before{content:"\e002"}.fa-coffin:before{content:"\f6c6"}.fa-coffin-cross:before{content:"\e051"}.fa-coin:before{content:"\f85c"}.fa-coin-blank:before{content:"\e3fb"}.fa-coin-front:before{content:"\e3fc"}.fa-coin-vertical:before{content:"\e3fd"}.fa-coins:before{content:"\f51e"}.fa-colon:before{content:"\3a"}.fa-colon-sign:before{content:"\e140"}.fa-columns-3:before{content:"\e361"}.fa-comet:before{content:"\e003"}.fa-comma:before{content:"\2c"}.fa-command:before{content:"\e142"}.fa-comment:before{content:"\f075"}.fa-comment-arrow-down:before{content:"\e143"}.fa-comment-arrow-up:before{content:"\e144"}.fa-comment-arrow-up-right:before{content:"\e145"}.fa-comment-captions:before{content:"\e146"}.fa-comment-check:before{content:"\f4ac"}.fa-comment-code:before{content:"\e147"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-comment-exclamation:before{content:"\f4af"}.fa-comment-image:before{content:"\e148"}.fa-comment-lines:before{content:"\f4b0"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-middle:before{content:"\e149"}.fa-comment-middle-top:before{content:"\e14a"}.fa-comment-minus:before{content:"\f4b1"}.fa-comment-music:before{content:"\f8b0"}.fa-comment-edit:before,.fa-comment-pen:before{content:"\f4ae"}.fa-comment-plus:before{content:"\f4b2"}.fa-comment-question:before{content:"\e14b"}.fa-comment-quote:before{content:"\e14c"}.fa-comment-slash:before{content:"\f4b3"}.fa-comment-smile:before{content:"\f4b4"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-comment-text:before{content:"\e14d"}.fa-comment-times:before,.fa-comment-xmark:before{content:"\f4b5"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-comments-question:before{content:"\e14e"}.fa-comments-question-check:before{content:"\e14f"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-compass-slash:before{content:"\f5e9"}.fa-compress:before{content:"\f066"}.fa-compress-wide:before{content:"\f326"}.fa-computer:before{content:"\e4e5"}.fa-computer-classic:before{content:"\f8b1"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-computer-mouse-scrollwheel:before,.fa-mouse-alt:before{content:"\f8cd"}.fa-computer-speaker:before{content:"\f8b2"}.fa-container-storage:before{content:"\f4b7"}.fa-conveyor-belt:before{content:"\f46e"}.fa-conveyor-belt-alt:before,.fa-conveyor-belt-boxes:before{content:"\f46f"}.fa-conveyor-belt-empty:before{content:"\e150"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-corn:before{content:"\f6c7"}.fa-corner:before{content:"\e3fe"}.fa-couch:before{content:"\f4b8"}.fa-cow:before{content:"\f6c8"}.fa-cowbell:before{content:"\f8b3"}.fa-cowbell-circle-plus:before,.fa-cowbell-more:before{content:"\f8b4"}.fa-crab:before{content:"\e3ff"}.fa-crate-apple:before{content:"\f6b1"}.fa-apple-crate:before{content:"\f6b1"}.fa-crate-empty:before{content:"\e151"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-credit-card-blank:before{content:"\f389"}.fa-credit-card-front:before{content:"\f38a"}.fa-cricket-bat-ball:before,.fa-cricket:before{content:"\f449"}.fa-croissant:before{content:"\f7f6"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-crutches:before{content:"\f7f8"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-crystal-ball:before{content:"\e362"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-cucumber:before{content:"\e401"}.fa-cup-straw:before{content:"\e363"}.fa-cup-straw-swoosh:before{content:"\e364"}.fa-coffee-togo:before,.fa-cup-togo:before{content:"\f6c5"}.fa-cupcake:before{content:"\e402"}.fa-curling-stone:before,.fa-curling:before{content:"\f44a"}.fa-custard:before{content:"\e403"}.fa-d:before{content:"\44"}.fa-dagger:before{content:"\f6cb"}.fa-dash:before,.fa-minus-large:before{content:"\e404"}.fa-database:before{content:"\f1c0"}.fa-deer:before{content:"\f78e"}.fa-deer-rudolph:before{content:"\f78f"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-delete-right:before{content:"\e154"}.fa-democrat:before{content:"\f747"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-desktop-arrow-down:before{content:"\e155"}.fa-dharmachakra:before{content:"\f655"}.fa-diagram-cells:before{content:"\e475"}.fa-diagram-lean-canvas:before{content:"\e156"}.fa-diagram-nested:before{content:"\e157"}.fa-diagram-next:before{content:"\e476"}.fa-diagram-predecessor:before{content:"\e477"}.fa-diagram-previous:before{content:"\e478"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-diagram-sankey:before{content:"\e158"}.fa-diagram-subtask:before{content:"\e479"}.fa-diagram-successor:before{content:"\e47a"}.fa-diagram-venn:before{content:"\e15a"}.fa-dial-med-high:before,.fa-dial:before{content:"\e15b"}.fa-dial-high:before{content:"\e15c"}.fa-dial-low:before{content:"\e15d"}.fa-dial-max:before{content:"\e15e"}.fa-dial-med:before{content:"\e15f"}.fa-dial-med-low:before{content:"\e160"}.fa-dial-min:before{content:"\e161"}.fa-dial-off:before{content:"\e162"}.fa-diamond:before{content:"\f219"}.fa-diamond-exclamation:before{content:"\e405"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-dice:before{content:"\f522"}.fa-dice-d10:before{content:"\f6cd"}.fa-dice-d12:before{content:"\f6ce"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d4:before{content:"\f6d0"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-d8:before{content:"\f6d2"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-diploma:before,.fa-scroll-ribbon:before{content:"\f5ea"}.fa-disc-drive:before{content:"\f8b5"}.fa-disease:before{content:"\f7fa"}.fa-display:before{content:"\e163"}.fa-display-arrow-down:before{content:"\e164"}.fa-desktop-code:before,.fa-display-code:before{content:"\e165"}.fa-desktop-medical:before,.fa-display-medical:before{content:"\e166"}.fa-desktop-slash:before,.fa-display-slash:before{content:"\e2fa"}.fa-distribute-spacing-horizontal:before{content:"\e365"}.fa-distribute-spacing-vertical:before{content:"\e366"}.fa-ditto:before{content:"\22"}.fa-divide:before{content:"\f529"}.fa-dna:before{content:"\f471"}.fa-do-not-enter:before{content:"\f5ec"}.fa-dog:before{content:"\f6d3"}.fa-dog-leashed:before{content:"\f6d4"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-dolly-empty:before{content:"\f473"}.fa-dolphin:before{content:"\e168"}.fa-dong-sign:before{content:"\e169"}.fa-donut:before,.fa-doughnut:before{content:"\e406"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dove:before{content:"\f4ba"}.fa-arrow-alt-down:before,.fa-down:before{content:"\f354"}.fa-down-from-dotted-line:before{content:"\e407"}.fa-arrow-alt-from-top:before,.fa-down-from-line:before{content:"\f349"}.fa-down-left:before{content:"\e16a"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-down-right:before{content:"\e16b"}.fa-down-to-bracket:before{content:"\e4e7"}.fa-down-to-dotted-line:before{content:"\e408"}.fa-arrow-alt-to-bottom:before,.fa-down-to-line:before{content:"\f34a"}.fa-download:before{content:"\f019"}.fa-dragon:before{content:"\f6d5"}.fa-draw-circle:before{content:"\f5ed"}.fa-draw-polygon:before{content:"\f5ee"}.fa-draw-square:before{content:"\f5ef"}.fa-dreidel:before{content:"\f792"}.fa-drone:before{content:"\f85f"}.fa-drone-alt:before,.fa-drone-front:before{content:"\f860"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-dewpoint:before,.fa-droplet-degree:before{content:"\f748"}.fa-droplet-percent:before,.fa-humidity:before{content:"\f750"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick:before{content:"\f6d6"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-dryer:before{content:"\f861"}.fa-dryer-alt:before,.fa-dryer-heat:before{content:"\f862"}.fa-duck:before{content:"\f6d8"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-e:before{content:"\45"}.fa-ear:before{content:"\f5f0"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-ear-muffs:before{content:"\f795"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-eclipse:before{content:"\f749"}.fa-egg:before{content:"\f7fb"}.fa-egg-fried:before{content:"\f7fc"}.fa-eggplant:before{content:"\e16c"}.fa-eject:before{content:"\f052"}.fa-elephant:before{content:"\f6da"}.fa-elevator:before{content:"\e16d"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-ellipsis-h-alt:before,.fa-ellipsis-stroke:before{content:"\f39b"}.fa-ellipsis-stroke-vertical:before,.fa-ellipsis-v-alt:before{content:"\f39c"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-empty-set:before{content:"\f656"}.fa-engine:before{content:"\e16e"}.fa-engine-exclamation:before,.fa-engine-warning:before{content:"\f5f2"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-envelope-badge:before,.fa-envelope-dot:before{content:"\e16f"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-dollar:before{content:"\f657"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelopes:before{content:"\e170"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-equals:before{content:"\3d"}.fa-eraser:before{content:"\f12d"}.fa-escalator:before{content:"\e171"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-exclamation:before{content:"\21"}.fa-expand:before{content:"\f065"}.fa-expand-wide:before{content:"\f320"}.fa-explosion:before{content:"\e4e9"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-eye-dropper-full:before{content:"\e172"}.fa-eye-dropper-half:before{content:"\e173"}.fa-eye-evil:before{content:"\f6db"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-eye-slash:before{content:"\f070"}.fa-eyes:before{content:"\e367"}.fa-f:before{content:"\46"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-face-angry-horns:before{content:"\e368"}.fa-face-anguished:before{content:"\e369"}.fa-face-anxious-sweat:before{content:"\e36a"}.fa-face-astonished:before{content:"\e36b"}.fa-face-awesome:before,.fa-gave-dandy:before{content:"\e409"}.fa-face-beam-hand-over-mouth:before{content:"\e47c"}.fa-face-clouds:before{content:"\e47d"}.fa-face-confounded:before{content:"\e36c"}.fa-face-confused:before{content:"\e36d"}.fa-face-cowboy-hat:before{content:"\e36e"}.fa-face-diagonal-mouth:before{content:"\e47e"}.fa-face-disappointed:before{content:"\e36f"}.fa-face-disguise:before{content:"\e370"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-face-dotted:before{content:"\e47f"}.fa-face-downcast-sweat:before{content:"\e371"}.fa-face-drooling:before{content:"\e372"}.fa-face-exhaling:before{content:"\e480"}.fa-exploding-head:before,.fa-face-explode:before{content:"\e2fe"}.fa-face-expressionless:before{content:"\e373"}.fa-face-eyes-xmarks:before{content:"\e374"}.fa-face-fearful:before{content:"\e375"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-face-frown-slight:before{content:"\e376"}.fa-face-glasses:before{content:"\e377"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-face-hand-over-mouth:before{content:"\e378"}.fa-face-hand-peeking:before{content:"\e481"}.fa-face-hand-yawn:before{content:"\e379"}.fa-face-head-bandage:before{content:"\e37a"}.fa-face-holding-back-tears:before{content:"\e482"}.fa-face-hushed:before{content:"\e37b"}.fa-face-icicles:before{content:"\e37c"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-face-kiss-closed-eyes:before{content:"\e37d"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-face-lying:before{content:"\e37e"}.fa-face-mask:before{content:"\e37f"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-face-melting:before{content:"\e483"}.fa-face-monocle:before{content:"\e380"}.fa-face-nauseated:before{content:"\e381"}.fa-face-nose-steam:before{content:"\e382"}.fa-face-party:before{content:"\e383"}.fa-face-pensive:before{content:"\e384"}.fa-face-persevering:before{content:"\e385"}.fa-face-pleading:before{content:"\e386"}.fa-face-pouting:before{content:"\e387"}.fa-face-raised-eyebrow:before{content:"\e388"}.fa-face-relieved:before{content:"\e389"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-face-sad-sweat:before{content:"\e38a"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-face-saluting:before{content:"\e484"}.fa-face-scream:before{content:"\e38b"}.fa-face-shush:before{content:"\e38c"}.fa-face-sleeping:before{content:"\e38d"}.fa-face-sleepy:before{content:"\e38e"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-face-smile-halo:before{content:"\e38f"}.fa-face-smile-hearts:before{content:"\e390"}.fa-face-smile-horns:before{content:"\e391"}.fa-face-smile-plus:before,.fa-smile-plus:before{content:"\f5b9"}.fa-face-smile-relaxed:before{content:"\e392"}.fa-face-smile-tear:before{content:"\e393"}.fa-face-smile-tongue:before{content:"\e394"}.fa-face-smile-upside-down:before{content:"\e395"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-face-smiling-hands:before{content:"\e396"}.fa-face-smirking:before{content:"\e397"}.fa-face-spiral-eyes:before{content:"\e485"}.fa-face-sunglasses:before{content:"\e398"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-face-swear:before{content:"\e399"}.fa-face-thermometer:before{content:"\e39a"}.fa-face-thinking:before{content:"\e39b"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-face-tissue:before{content:"\e39c"}.fa-face-tongue-money:before{content:"\e39d"}.fa-face-tongue-sweat:before{content:"\e39e"}.fa-face-unamused:before{content:"\e39f"}.fa-face-viewfinder:before{content:"\e2ff"}.fa-face-vomit:before{content:"\e3a0"}.fa-face-weary:before{content:"\e3a1"}.fa-face-woozy:before{content:"\e3a2"}.fa-face-worried:before{content:"\e3a3"}.fa-face-zany:before{content:"\e3a4"}.fa-face-zipper:before{content:"\e3a5"}.fa-falafel:before{content:"\e40a"}.fa-family:before{content:"\e300"}.fa-family-dress:before{content:"\e301"}.fa-family-pants:before{content:"\e302"}.fa-fan:before{content:"\f863"}.fa-fan-table:before{content:"\e004"}.fa-barn-silo:before,.fa-farm:before{content:"\f864"}.fa-faucet:before{content:"\e005"}.fa-faucet-drip:before{content:"\e006"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-fence:before{content:"\e303"}.fa-ferris-wheel:before{content:"\e174"}.fa-ferry:before{content:"\e4ea"}.fa-field-hockey-stick-ball:before,.fa-field-hockey:before{content:"\f44c"}.fa-file:before{content:"\f15b"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-file-audio:before{content:"\f1c7"}.fa-file-binary:before{content:"\e175"}.fa-file-award:before,.fa-file-certificate:before{content:"\f5f3"}.fa-file-chart-column:before,.fa-file-chart-line:before{content:"\f659"}.fa-file-chart-pie:before{content:"\f65a"}.fa-file-check:before{content:"\f316"}.fa-file-circle-check:before{content:"\e493"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-file-circle-info:before{content:"\e4ec"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-file-circle-plus:before{content:"\e4ee"}.fa-file-circle-question:before{content:"\e4ef"}.fa-file-circle-xmark:before{content:"\e494"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-dashed-line:before,.fa-page-break:before{content:"\f877"}.fa-file-excel:before{content:"\f1c3"}.fa-file-exclamation:before{content:"\f31a"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-file-heart:before{content:"\e176"}.fa-file-image:before{content:"\f1c5"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-file-lock:before{content:"\e3a6"}.fa-file-magnifying-glass:before,.fa-file-search:before{content:"\f865"}.fa-file-medical:before{content:"\f477"}.fa-file-minus:before{content:"\f318"}.fa-file-music:before{content:"\f8b6"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-file-plus:before{content:"\f319"}.fa-file-plus-minus:before{content:"\e177"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-shield:before{content:"\e4f0"}.fa-file-signature:before{content:"\f573"}.fa-file-slash:before{content:"\e3a7"}.fa-file-spreadsheet:before{content:"\f65b"}.fa-file-user:before{content:"\f65c"}.fa-file-video:before{content:"\f1c8"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-file-word:before{content:"\f1c2"}.fa-file-times:before,.fa-file-xmark:before{content:"\f317"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-files:before{content:"\e178"}.fa-files-medical:before{content:"\f7fd"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-film-canister:before{content:"\f8b7"}.fa-film-alt:before,.fa-film-simple:before{content:"\f3a0"}.fa-film-slash:before{content:"\e179"}.fa-films:before{content:"\e17a"}.fa-filter:before{content:"\f0b0"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-filter-list:before{content:"\e17c"}.fa-filter-slash:before{content:"\e17d"}.fa-filters:before{content:"\e17e"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-burner:before{content:"\e4f1"}.fa-fire-extinguisher:before{content:"\f134"}.fa-fire-flame:before,.fa-flame:before{content:"\f6df"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-fire-hydrant:before{content:"\e17f"}.fa-fire-smoke:before{content:"\f74b"}.fa-fireplace:before{content:"\f79a"}.fa-fish:before{content:"\f578"}.fa-fish-bones:before{content:"\e304"}.fa-fish-cooked:before{content:"\f7fe"}.fa-fish-fins:before{content:"\e4f2"}.fa-fishing-rod:before{content:"\e3a8"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-pennant:before,.fa-pennant:before{content:"\f456"}.fa-flag-alt:before,.fa-flag-swallowtail:before{content:"\f74c"}.fa-flag-usa:before{content:"\f74d"}.fa-flashlight:before{content:"\f8b8"}.fa-flask:before{content:"\f0c3"}.fa-flask-poison:before,.fa-flask-round-poison:before{content:"\f6e0"}.fa-flask-potion:before,.fa-flask-round-potion:before{content:"\f6e1"}.fa-flask-vial:before{content:"\e4f3"}.fa-flatbread:before{content:"\e40b"}.fa-flatbread-stuffed:before{content:"\e40c"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-floppy-disk-circle-arrow-right:before,.fa-save-circle-arrow-right:before{content:"\e180"}.fa-floppy-disk-circle-xmark:before,.fa-floppy-disk-times:before,.fa-save-circle-xmark:before,.fa-save-times:before{content:"\e181"}.fa-floppy-disk-pen:before{content:"\e182"}.fa-floppy-disks:before{content:"\e183"}.fa-florin-sign:before{content:"\e184"}.fa-flower:before{content:"\f7ff"}.fa-flower-daffodil:before{content:"\f800"}.fa-flower-tulip:before{content:"\f801"}.fa-flute:before{content:"\f8b9"}.fa-flux-capacitor:before{content:"\f8ba"}.fa-flying-disc:before{content:"\e3a9"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-folder-arrow-down:before,.fa-folder-download:before{content:"\e053"}.fa-folder-arrow-up:before,.fa-folder-upload:before{content:"\e054"}.fa-folder-bookmark:before{content:"\e186"}.fa-folder-closed:before{content:"\e185"}.fa-folder-cog:before,.fa-folder-gear:before{content:"\e187"}.fa-folder-grid:before{content:"\e188"}.fa-folder-heart:before{content:"\e189"}.fa-folder-image:before{content:"\e18a"}.fa-folder-magnifying-glass:before,.fa-folder-search:before{content:"\e18b"}.fa-folder-medical:before{content:"\e18c"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-music:before{content:"\e18d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-folder-tree:before{content:"\f802"}.fa-folder-user:before{content:"\e18e"}.fa-folder-times:before,.fa-folder-xmark:before{content:"\f65f"}.fa-folders:before{content:"\f660"}.fa-fondue-pot:before{content:"\e40d"}.fa-font:before{content:"\f031"}.fa-font-case:before{content:"\f866"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-football-helmet:before{content:"\f44f"}.fa-fork:before,.fa-utensil-fork:before{content:"\f2e3"}.fa-fork-knife:before,.fa-utensils-alt:before{content:"\f2e6"}.fa-forklift:before{content:"\f47a"}.fa-fort:before{content:"\e486"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-frame:before{content:"\e495"}.fa-franc-sign:before{content:"\e18f"}.fa-french-fries:before{content:"\f803"}.fa-frog:before{content:"\f52e"}.fa-function:before{content:"\f661"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-g:before{content:"\47"}.fa-galaxy:before{content:"\e008"}.fa-gallery-thumbnails:before{content:"\e3aa"}.fa-game-board:before{content:"\f867"}.fa-game-board-alt:before,.fa-game-board-simple:before{content:"\f868"}.fa-game-console-handheld:before{content:"\f8bb"}.fa-gamepad:before{content:"\f11b"}.fa-gamepad-alt:before,.fa-gamepad-modern:before{content:"\f8bc"}.fa-garage:before{content:"\e009"}.fa-garage-car:before{content:"\e00a"}.fa-garage-open:before{content:"\e00b"}.fa-garlic:before{content:"\e40e"}.fa-gas-pump:before{content:"\f52f"}.fa-gas-pump-slash:before{content:"\f5f4"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-gauge-circle-bolt:before{content:"\e496"}.fa-gauge-circle-minus:before{content:"\e497"}.fa-gauge-circle-plus:before{content:"\e498"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-gauge-low:before,.fa-tachometer-alt-slow:before{content:"\f627"}.fa-gauge-max:before,.fa-tachometer-alt-fastest:before{content:"\f626"}.fa-gauge-min:before,.fa-tachometer-alt-slowest:before{content:"\f628"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-gauge-simple-low:before,.fa-tachometer-slow:before{content:"\f62c"}.fa-gauge-simple-max:before,.fa-tachometer-fastest:before{content:"\f62b"}.fa-gauge-simple-min:before,.fa-tachometer-slowest:before{content:"\f62d"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-ghost:before{content:"\f6e2"}.fa-gif:before{content:"\e190"}.fa-gift:before{content:"\f06b"}.fa-gift-card:before{content:"\f663"}.fa-gifts:before{content:"\f79c"}.fa-gingerbread-man:before{content:"\f79d"}.fa-glass:before{content:"\f804"}.fa-glass-citrus:before{content:"\f869"}.fa-glass-empty:before{content:"\e191"}.fa-glass-half-empty:before,.fa-glass-half-full:before,.fa-glass-half:before{content:"\e192"}.fa-glass-water:before{content:"\e4f4"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-glasses:before{content:"\f530"}.fa-glasses-alt:before,.fa-glasses-round:before{content:"\f5f5"}.fa-globe:before{content:"\f0ac"}.fa-globe-snow:before{content:"\f7a3"}.fa-globe-stand:before{content:"\f5f6"}.fa-goal-net:before{content:"\e3ab"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-golf-club:before{content:"\f451"}.fa-golf-flag-hole:before{content:"\e3ac"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-gramophone:before{content:"\f8bd"}.fa-grapes:before{content:"\e306"}.fa-grate:before{content:"\e193"}.fa-grate-droplet:before{content:"\e194"}.fa-greater-than:before{content:"\3e"}.fa-greater-than-equal:before{content:"\f532"}.fa-grid-3:before,.fa-grid:before{content:"\e195"}.fa-grid-2:before{content:"\e196"}.fa-grid-2-plus:before{content:"\e197"}.fa-grid-4:before{content:"\e198"}.fa-grid-5:before{content:"\e199"}.fa-grid-dividers:before{content:"\e3ad"}.fa-grid-horizontal:before{content:"\e307"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-grip-dots:before{content:"\e410"}.fa-grip-dots-vertical:before{content:"\e411"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-guarani-sign:before{content:"\e19a"}.fa-guitar:before{content:"\f7a6"}.fa-guitar-electric:before{content:"\f8be"}.fa-guitars:before{content:"\f8bf"}.fa-gun:before{content:"\e19b"}.fa-gun-slash:before{content:"\e19c"}.fa-gun-squirt:before{content:"\e19d"}.fa-h:before{content:"\48"}.fa-h1:before{content:"\f313"}.fa-h2:before{content:"\f314"}.fa-h3:before{content:"\f315"}.fa-h4:before{content:"\f86a"}.fa-h5:before{content:"\e412"}.fa-h6:before{content:"\e413"}.fa-hammer:before{content:"\f6e3"}.fa-hammer-crash:before{content:"\e414"}.fa-hammer-war:before{content:"\f6e4"}.fa-hamsa:before{content:"\f665"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-hand-back-point-down:before{content:"\e19e"}.fa-hand-back-point-left:before{content:"\e19f"}.fa-hand-back-point-ribbon:before{content:"\e1a0"}.fa-hand-back-point-right:before{content:"\e1a1"}.fa-hand-back-point-up:before{content:"\e1a2"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-hand-fingers-crossed:before{content:"\e1a3"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-hand-heart:before{content:"\f4bc"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-box:before{content:"\f47b"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-magic:before{content:"\f6e5"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-seedling:before{content:"\f4bf"}.fa-hand-holding-skull:before{content:"\e1a4"}.fa-hand-horns:before{content:"\e1a9"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-love:before{content:"\e1a5"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-ribbon:before{content:"\e1a6"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hand-wave:before{content:"\e1a7"}.fa-handcuffs:before{content:"\e4f8"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-hands-bound:before{content:"\e4f9"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-hands-clapping:before{content:"\e1a8"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-hand-receiving:before,.fa-hands-holding-diamond:before{content:"\f47c"}.fa-hands-holding-dollar:before,.fa-hands-usd:before{content:"\f4c5"}.fa-hands-heart:before,.fa-hands-holding-heart:before{content:"\f4c3"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-handshake:before{content:"\f2b5"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-hashtag:before{content:"\23"}.fa-hashtag-lock:before{content:"\e415"}.fa-hat-chef:before{content:"\f86b"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-santa:before{content:"\f7a7"}.fa-hat-winter:before{content:"\f7a8"}.fa-hat-witch:before{content:"\f6e7"}.fa-hat-wizard:before{content:"\f6e8"}.fa-head-side:before{content:"\f6e9"}.fa-head-side-brain:before{content:"\f808"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-goggles:before,.fa-head-vr:before{content:"\f6ea"}.fa-head-side-headphones:before{content:"\f8c2"}.fa-head-side-heart:before{content:"\e1aa"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-medical:before{content:"\f809"}.fa-head-side-virus:before{content:"\e064"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-heart-circle-plus:before{content:"\e500"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-heart-half:before{content:"\e1ab"}.fa-heart-half-alt:before,.fa-heart-half-stroke:before{content:"\e1ac"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-heat:before{content:"\e00c"}.fa-helicopter:before{content:"\f533"}.fa-helicopter-symbol:before{content:"\e502"}.fa-helmet-battle:before{content:"\f6eb"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-helmet-un:before{content:"\e503"}.fa-hexagon:before{content:"\f312"}.fa-hexagon-check:before{content:"\e416"}.fa-hexagon-divide:before{content:"\e1ad"}.fa-hexagon-exclamation:before{content:"\e417"}.fa-hexagon-image:before{content:"\e504"}.fa-hexagon-minus:before,.fa-minus-hexagon:before{content:"\f307"}.fa-hexagon-plus:before,.fa-plus-hexagon:before{content:"\f300"}.fa-hexagon-vertical-nft:before{content:"\e505"}.fa-hexagon-vertical-nft-slanted:before{content:"\e506"}.fa-hexagon-xmark:before,.fa-times-hexagon:before,.fa-xmark-hexagon:before{content:"\f2ee"}.fa-high-definition:before,.fa-rectangle-hd:before{content:"\e1ae"}.fa-highlighter:before{content:"\f591"}.fa-highlighter-line:before{content:"\e1af"}.fa-hill-avalanche:before{content:"\e507"}.fa-hill-rockslide:before{content:"\e508"}.fa-hippo:before{content:"\f6ed"}.fa-hockey-mask:before{content:"\f6ee"}.fa-hockey-puck:before{content:"\f453"}.fa-hockey-stick-puck:before{content:"\e3ae"}.fa-hockey-sticks:before{content:"\f454"}.fa-holly-berry:before{content:"\f7aa"}.fa-honey-pot:before{content:"\e418"}.fa-hood-cloak:before{content:"\f6ef"}.fa-horizontal-rule:before{content:"\f86c"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-horse-saddle:before{content:"\f8c3"}.fa-hose:before{content:"\e419"}.fa-hose-reel:before{content:"\e41a"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-hospital-user:before{content:"\f80d"}.fa-hospitals:before{content:"\f80e"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:"\f254"}.fa-hourglass-clock:before{content:"\e41b"}.fa-hourglass-empty:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-home-blank:before,.fa-house-blank:before{content:"\e487"}.fa-house-building:before{content:"\e1b1"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-house-chimney-blank:before{content:"\e3b0"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-house-chimney-heart:before{content:"\e1b2"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-house-chimney-user:before{content:"\e065"}.fa-house-chimney-window:before{content:"\e00d"}.fa-house-circle-check:before{content:"\e509"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-house-crack:before{content:"\e3b1"}.fa-house-day:before{content:"\e00e"}.fa-house-fire:before{content:"\e50c"}.fa-house-flag:before{content:"\e50d"}.fa-house-flood-water:before{content:"\e50e"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-home-heart:before,.fa-house-heart:before{content:"\f4c9"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-house-lock:before{content:"\e510"}.fa-house-medical:before{content:"\e3b2"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-house-medical-flag:before{content:"\e514"}.fa-house-night:before{content:"\e010"}.fa-house-leave:before,.fa-house-person-depart:before,.fa-house-person-leave:before{content:"\e00f"}.fa-house-person-arrive:before,.fa-house-person-return:before,.fa-house-return:before{content:"\e011"}.fa-house-signal:before{content:"\e012"}.fa-house-tree:before{content:"\e1b3"}.fa-house-tsunami:before{content:"\e515"}.fa-house-turret:before{content:"\e1b4"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-house-flood:before,.fa-house-water:before{content:"\f74f"}.fa-house-window:before{content:"\e3b3"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-100:before,.fa-hundred-points:before{content:"\e41c"}.fa-hurricane:before{content:"\f751"}.fa-hyphen:before{content:"\2d"}.fa-i:before{content:"\49"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-ice-skate:before{content:"\f7ac"}.fa-icicles:before{content:"\f7ad"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-image-landscape:before,.fa-landscape:before{content:"\e1b5"}.fa-image-polaroid:before{content:"\f8c4"}.fa-image-polaroid-user:before{content:"\e1b6"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-image-slash:before{content:"\e1b7"}.fa-image-user:before{content:"\e1b8"}.fa-images:before{content:"\f302"}.fa-images-user:before{content:"\e1b9"}.fa-inbox:before{content:"\f01c"}.fa-inbox-full:before{content:"\e1ba"}.fa-inbox-arrow-down:before,.fa-inbox-in:before{content:"\f310"}.fa-inbox-arrow-up:before,.fa-inbox-out:before{content:"\f311"}.fa-inboxes:before{content:"\e1bb"}.fa-indent:before{content:"\f03c"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-industry:before{content:"\f275"}.fa-industry-alt:before,.fa-industry-windows:before{content:"\f3b3"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-inhaler:before{content:"\f5f9"}.fa-input-numeric:before{content:"\e1bd"}.fa-input-pipe:before{content:"\e1be"}.fa-input-text:before{content:"\e1bf"}.fa-integral:before{content:"\f667"}.fa-intersection:before{content:"\f668"}.fa-island-tree-palm:before,.fa-island-tropical:before{content:"\f811"}.fa-italic:before{content:"\f033"}.fa-j:before{content:"\4a"}.fa-jack-o-lantern:before{content:"\f30e"}.fa-jar:before{content:"\e516"}.fa-jar-wheat:before{content:"\e517"}.fa-jedi:before{content:"\f669"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-jet-fighter-up:before{content:"\e518"}.fa-joint:before{content:"\f595"}.fa-joystick:before{content:"\f8c5"}.fa-jug:before{content:"\f8c6"}.fa-jug-detergent:before{content:"\e519"}.fa-k:before{content:"\4b"}.fa-kaaba:before{content:"\f66b"}.fa-kazoo:before{content:"\f8c7"}.fa-kerning:before{content:"\f86f"}.fa-key:before{content:"\f084"}.fa-key-skeleton:before{content:"\f6f3"}.fa-key-skeleton-left-right:before{content:"\e3b4"}.fa-keyboard:before{content:"\f11c"}.fa-keyboard-brightness:before{content:"\e1c0"}.fa-keyboard-brightness-low:before{content:"\e1c1"}.fa-keyboard-down:before{content:"\e1c2"}.fa-keyboard-left:before{content:"\e1c3"}.fa-keynote:before{content:"\f66c"}.fa-khanda:before{content:"\f66d"}.fa-kidneys:before{content:"\f5fb"}.fa-kip-sign:before{content:"\e1c4"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-kitchen-set:before{content:"\e51a"}.fa-kite:before{content:"\f6f4"}.fa-kiwi-bird:before{content:"\f535"}.fa-kiwi-fruit:before{content:"\e30c"}.fa-knife:before,.fa-utensil-knife:before{content:"\f2e4"}.fa-knife-kitchen:before{content:"\f6f5"}.fa-l:before{content:"\4c"}.fa-lacrosse-stick:before{content:"\e3b5"}.fa-lacrosse-stick-ball:before{content:"\e3b6"}.fa-lambda:before{content:"\f66e"}.fa-lamp:before{content:"\f4ca"}.fa-lamp-desk:before{content:"\e014"}.fa-lamp-floor:before{content:"\e015"}.fa-lamp-street:before{content:"\e1c5"}.fa-land-mine-on:before{content:"\e51b"}.fa-landmark:before{content:"\f66f"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-landmark-flag:before{content:"\e51c"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-arrow-down:before{content:"\e1c6"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-file:before{content:"\e51d"}.fa-laptop-medical:before{content:"\f812"}.fa-laptop-mobile:before,.fa-phone-laptop:before{content:"\f87a"}.fa-laptop-slash:before{content:"\e1c7"}.fa-lari-sign:before{content:"\e1c8"}.fa-lasso:before{content:"\f8c8"}.fa-lasso-sparkles:before{content:"\e1c9"}.fa-layer-group:before{content:"\f5fd"}.fa-layer-group-minus:before,.fa-layer-minus:before{content:"\f5fe"}.fa-layer-group-plus:before,.fa-layer-plus:before{content:"\f5ff"}.fa-leaf:before{content:"\f06c"}.fa-leaf-heart:before{content:"\f4cb"}.fa-leaf-maple:before{content:"\f6f6"}.fa-leaf-oak:before{content:"\f6f7"}.fa-leafy-green:before{content:"\e41d"}.fa-arrow-alt-left:before,.fa-left:before{content:"\f355"}.fa-arrow-alt-from-right:before,.fa-left-from-line:before{content:"\f348"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-left-long-to-line:before{content:"\e41e"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-arrow-alt-to-left:before,.fa-left-to-line:before{content:"\f34b"}.fa-lemon:before{content:"\f094"}.fa-less-than:before{content:"\3c"}.fa-less-than-equal:before{content:"\f537"}.fa-life-ring:before{content:"\f1cd"}.fa-light-ceiling:before{content:"\e016"}.fa-light-emergency:before{content:"\e41f"}.fa-light-emergency-on:before{content:"\e420"}.fa-light-switch:before{content:"\e017"}.fa-light-switch-off:before{content:"\e018"}.fa-light-switch-on:before{content:"\e019"}.fa-lightbulb:before{content:"\f0eb"}.fa-lightbulb-dollar:before{content:"\f670"}.fa-lightbulb-exclamation:before{content:"\f671"}.fa-lightbulb-exclamation-on:before{content:"\e1ca"}.fa-lightbulb-on:before{content:"\f672"}.fa-lightbulb-slash:before{content:"\f673"}.fa-lights-holiday:before{content:"\f7b2"}.fa-line-columns:before{content:"\f870"}.fa-line-height:before{content:"\f871"}.fa-lines-leaning:before{content:"\e51e"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-chain-horizontal:before,.fa-link-horizontal:before{content:"\e1cb"}.fa-chain-horizontal-slash:before,.fa-link-horizontal-slash:before{content:"\e1cc"}.fa-link-simple:before{content:"\e1cd"}.fa-link-simple-slash:before{content:"\e1ce"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-lips:before{content:"\f600"}.fa-lira-sign:before{content:"\f195"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-list-dropdown:before{content:"\e1cf"}.fa-list-music:before{content:"\f8c9"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-list-radio:before{content:"\e1d0"}.fa-list-timeline:before{content:"\e1d1"}.fa-list-tree:before{content:"\e1d2"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-loader:before{content:"\e1d4"}.fa-lobster:before{content:"\e421"}.fa-location-arrow:before{content:"\f124"}.fa-location-check:before,.fa-map-marker-check:before{content:"\f606"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-location-crosshairs-slash:before,.fa-location-slash:before{content:"\f603"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-location-dot-slash:before,.fa-map-marker-alt-slash:before{content:"\f605"}.fa-location-exclamation:before,.fa-map-marker-exclamation:before{content:"\f608"}.fa-location-minus:before,.fa-map-marker-minus:before{content:"\f609"}.fa-location-pen:before,.fa-map-marker-edit:before{content:"\f607"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-location-pin-lock:before{content:"\e51f"}.fa-location-pin-slash:before,.fa-map-marker-slash:before{content:"\f60c"}.fa-location-plus:before,.fa-map-marker-plus:before{content:"\f60a"}.fa-location-question:before,.fa-map-marker-question:before{content:"\f60b"}.fa-location-smile:before,.fa-map-marker-smile:before{content:"\f60d"}.fa-location-xmark:before,.fa-map-marker-times:before,.fa-map-marker-xmark:before{content:"\f60e"}.fa-lock:before{content:"\f023"}.fa-lock-a:before{content:"\e422"}.fa-lock-hashtag:before{content:"\e423"}.fa-lock-alt:before,.fa-lock-keyhole:before{content:"\f30d"}.fa-lock-keyhole-open:before,.fa-lock-open-alt:before{content:"\f3c2"}.fa-lock-open:before{content:"\f3c1"}.fa-locust:before{content:"\e520"}.fa-lollipop:before,.fa-lollypop:before{content:"\e424"}.fa-couch-small:before,.fa-loveseat:before{content:"\f4cc"}.fa-luchador-mask:before,.fa-luchador:before,.fa-mask-luchador:before{content:"\f455"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-m:before{content:"\4d"}.fa-mace:before{content:"\f6f8"}.fa-magnet:before{content:"\f076"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-mailbox:before{content:"\f813"}.fa-manat-sign:before{content:"\e1d5"}.fa-mandolin:before{content:"\f6f9"}.fa-mango:before{content:"\e30f"}.fa-manhole:before{content:"\e1d6"}.fa-map:before{content:"\f279"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-pin:before{content:"\f276"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-and-venus:before{content:"\f224"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-mask:before{content:"\f6fa"}.fa-mask-face:before{content:"\e1d7"}.fa-mask-snorkel:before{content:"\e3b7"}.fa-mask-ventilator:before{content:"\e524"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-mattress-pillow:before{content:"\e525"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-meat:before{content:"\f814"}.fa-medal:before{content:"\f5a2"}.fa-megaphone:before{content:"\f675"}.fa-melon:before{content:"\e310"}.fa-melon-slice:before{content:"\e311"}.fa-memo:before{content:"\e1d8"}.fa-memo-circle-check:before{content:"\e1d9"}.fa-memo-circle-info:before{content:"\e49a"}.fa-memo-pad:before{content:"\e1da"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-merge:before{content:"\e526"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-comment-alt-arrow-down:before,.fa-message-arrow-down:before{content:"\e1db"}.fa-comment-alt-arrow-up:before,.fa-message-arrow-up:before{content:"\e1dc"}.fa-message-arrow-up-right:before{content:"\e1dd"}.fa-message-bot:before{content:"\e3b8"}.fa-comment-alt-captions:before,.fa-message-captions:before{content:"\e1de"}.fa-comment-alt-check:before,.fa-message-check:before{content:"\f4a2"}.fa-message-code:before{content:"\e1df"}.fa-comment-alt-dollar:before,.fa-message-dollar:before{content:"\f650"}.fa-comment-alt-dots:before,.fa-message-dots:before,.fa-messaging:before{content:"\f4a3"}.fa-comment-alt-exclamation:before,.fa-message-exclamation:before{content:"\f4a5"}.fa-comment-alt-image:before,.fa-message-image:before{content:"\e1e0"}.fa-comment-alt-lines:before,.fa-message-lines:before{content:"\f4a6"}.fa-comment-alt-medical:before,.fa-message-medical:before{content:"\f7f4"}.fa-comment-middle-alt:before,.fa-message-middle:before{content:"\e1e1"}.fa-comment-middle-top-alt:before,.fa-message-middle-top:before{content:"\e1e2"}.fa-comment-alt-minus:before,.fa-message-minus:before{content:"\f4a7"}.fa-comment-alt-music:before,.fa-message-music:before{content:"\f8af"}.fa-comment-alt-edit:before,.fa-message-edit:before,.fa-message-pen:before{content:"\f4a4"}.fa-comment-alt-plus:before,.fa-message-plus:before{content:"\f4a8"}.fa-message-question:before{content:"\e1e3"}.fa-comment-alt-quote:before,.fa-message-quote:before{content:"\e1e4"}.fa-comment-alt-slash:before,.fa-message-slash:before{content:"\f4a9"}.fa-comment-alt-smile:before,.fa-message-smile:before{content:"\f4aa"}.fa-message-sms:before{content:"\e1e5"}.fa-comment-alt-text:before,.fa-message-text:before{content:"\e1e6"}.fa-comment-alt-times:before,.fa-message-times:before,.fa-message-xmark:before{content:"\f4ab"}.fa-comments-alt:before,.fa-messages:before{content:"\f4b6"}.fa-comments-alt-dollar:before,.fa-messages-dollar:before{content:"\f652"}.fa-messages-question:before{content:"\e1e7"}.fa-meteor:before{content:"\f753"}.fa-meter:before{content:"\e1e8"}.fa-meter-bolt:before{content:"\e1e9"}.fa-meter-droplet:before{content:"\e1ea"}.fa-meter-fire:before{content:"\e1eb"}.fa-microchip:before{content:"\f2db"}.fa-microchip-ai:before{content:"\e1ec"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microphone-stand:before{content:"\f8cb"}.fa-microscope:before{content:"\f610"}.fa-microwave:before{content:"\e01b"}.fa-mill-sign:before{content:"\e1ed"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-mistletoe:before{content:"\f7b4"}.fa-mitten:before{content:"\f7b5"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-mobile-button:before{content:"\f10b"}.fa-mobile-iphone:before,.fa-mobile-notch:before{content:"\e1ee"}.fa-mobile-retro:before{content:"\e527"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-mobile-signal:before{content:"\e1ef"}.fa-mobile-signal-out:before{content:"\e1f0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-bill-simple:before{content:"\e1f1"}.fa-money-bill-simple-wave:before{content:"\e1f2"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-money-bills:before{content:"\e1f3"}.fa-money-bills-alt:before,.fa-money-bills-simple:before{content:"\e1f4"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-money-check-dollar-pen:before,.fa-money-check-edit-alt:before{content:"\f873"}.fa-money-check-edit:before,.fa-money-check-pen:before{content:"\f872"}.fa-money-from-bracket:before{content:"\e312"}.fa-money-simple-from-bracket:before{content:"\e313"}.fa-monitor-heart-rate:before,.fa-monitor-waveform:before{content:"\f611"}.fa-monkey:before{content:"\f6fb"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-moon-cloud:before{content:"\f754"}.fa-eclipse-alt:before,.fa-moon-over-sun:before{content:"\f74a"}.fa-moon-stars:before{content:"\f755"}.fa-moped:before{content:"\e3b9"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-mosquito-net:before{content:"\e52c"}.fa-motorcycle:before{content:"\f21c"}.fa-mound:before{content:"\e52d"}.fa-mountain:before{content:"\f6fc"}.fa-mountain-city:before{content:"\e52e"}.fa-mountain-sun:before{content:"\e52f"}.fa-mountains:before{content:"\f6fd"}.fa-mp3-player:before{content:"\f8ce"}.fa-mug:before{content:"\f874"}.fa-mug-hot:before{content:"\f7b6"}.fa-mug-marshmallows:before{content:"\f7b7"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-mug-tea:before{content:"\f875"}.fa-mug-tea-saucer:before{content:"\e1f5"}.fa-mushroom:before{content:"\e425"}.fa-music:before{content:"\f001"}.fa-music-alt:before,.fa-music-note:before{content:"\f8cf"}.fa-music-alt-slash:before,.fa-music-note-slash:before{content:"\f8d0"}.fa-music-slash:before{content:"\f8d1"}.fa-n:before{content:"\4e"}.fa-naira-sign:before{content:"\e1f6"}.fa-narwhal:before{content:"\f6fe"}.fa-nesting-dolls:before{content:"\e3ba"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nfc:before{content:"\e1f7"}.fa-nfc-lock:before{content:"\e1f8"}.fa-nfc-magnifying-glass:before{content:"\e1f9"}.fa-nfc-pen:before{content:"\e1fa"}.fa-nfc-signal:before{content:"\e1fb"}.fa-nfc-slash:before{content:"\e1fc"}.fa-nfc-trash:before{content:"\e1fd"}.fa-not-equal:before{content:"\f53e"}.fa-notdef:before{content:"\e1fe"}.fa-note:before{content:"\e1ff"}.fa-note-medical:before{content:"\e200"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-notebook:before{content:"\e201"}.fa-notes:before{content:"\e202"}.fa-notes-medical:before{content:"\f481"}.fa-o:before{content:"\4f"}.fa-object-exclude:before{content:"\e49c"}.fa-object-group:before{content:"\f247"}.fa-object-intersect:before{content:"\e49d"}.fa-object-subtract:before{content:"\e49e"}.fa-object-ungroup:before{content:"\f248"}.fa-object-union:before{content:"\e49f"}.fa-objects-align-bottom:before{content:"\e3bb"}.fa-objects-align-center-horizontal:before{content:"\e3bc"}.fa-objects-align-center-vertical:before{content:"\e3bd"}.fa-objects-align-left:before{content:"\e3be"}.fa-objects-align-right:before{content:"\e3bf"}.fa-objects-align-top:before{content:"\e3c0"}.fa-objects-column:before{content:"\e3c1"}.fa-octagon:before{content:"\f306"}.fa-octagon-check:before{content:"\e426"}.fa-octagon-divide:before{content:"\e203"}.fa-octagon-exclamation:before{content:"\e204"}.fa-minus-octagon:before,.fa-octagon-minus:before{content:"\f308"}.fa-octagon-plus:before,.fa-plus-octagon:before{content:"\f301"}.fa-octagon-xmark:before,.fa-times-octagon:before,.fa-xmark-octagon:before{content:"\f2f0"}.fa-oil-can:before{content:"\f613"}.fa-oil-can-drip:before{content:"\e205"}.fa-oil-temp:before,.fa-oil-temperature:before{content:"\f614"}.fa-oil-well:before{content:"\e532"}.fa-olive:before{content:"\e316"}.fa-olive-branch:before{content:"\e317"}.fa-om:before{content:"\f679"}.fa-omega:before{content:"\f67a"}.fa-onion:before{content:"\e427"}.fa-option:before{content:"\e318"}.fa-ornament:before{content:"\f7b8"}.fa-otter:before{content:"\f700"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-outlet:before{content:"\e01c"}.fa-oven:before{content:"\e01d"}.fa-overline:before{content:"\f876"}.fa-p:before{content:"\50"}.fa-page:before{content:"\e428"}.fa-file-caret-down:before,.fa-page-caret-down:before{content:"\e429"}.fa-file-caret-up:before,.fa-page-caret-up:before{content:"\e42a"}.fa-pager:before{content:"\f815"}.fa-paint-roller:before{content:"\f5aa"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-paint-brush-alt:before,.fa-paint-brush-fine:before,.fa-paintbrush-alt:before,.fa-paintbrush-fine:before{content:"\f5a9"}.fa-paintbrush-pencil:before{content:"\e206"}.fa-palette:before{content:"\f53f"}.fa-pallet:before{content:"\f482"}.fa-pallet-box:before{content:"\e208"}.fa-palette-boxes:before,.fa-pallet-alt:before,.fa-pallet-boxes:before{content:"\f483"}.fa-pan-food:before{content:"\e42b"}.fa-pan-frying:before{content:"\e42c"}.fa-pancakes:before{content:"\e42d"}.fa-panel-ews:before{content:"\e42e"}.fa-panel-fire:before{content:"\e42f"}.fa-panorama:before{content:"\e209"}.fa-paper-plane:before{content:"\f1d8"}.fa-paper-plane-alt:before,.fa-paper-plane-top:before,.fa-send:before{content:"\e20a"}.fa-paperclip:before{content:"\f0c6"}.fa-paperclip-vertical:before{content:"\e3c2"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-paragraph-left:before,.fa-paragraph-rtl:before{content:"\f878"}.fa-party-bell:before{content:"\e31a"}.fa-party-horn:before{content:"\e31b"}.fa-passport:before{content:"\f5ab"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-pause:before{content:"\f04c"}.fa-paw:before{content:"\f1b0"}.fa-paw-claws:before{content:"\f702"}.fa-paw-alt:before,.fa-paw-simple:before{content:"\f701"}.fa-peace:before{content:"\f67c"}.fa-peach:before{content:"\e20b"}.fa-peanut:before{content:"\e430"}.fa-peanuts:before{content:"\e431"}.fa-peapod:before{content:"\e31c"}.fa-pear:before{content:"\e20c"}.fa-pedestal:before{content:"\e20d"}.fa-pegasus:before{content:"\f703"}.fa-pen:before{content:"\f304"}.fa-pen-circle:before{content:"\e20e"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-pen-alt-slash:before,.fa-pen-clip-slash:before{content:"\e20f"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-fancy-slash:before{content:"\e210"}.fa-pen-field:before{content:"\e211"}.fa-pen-line:before{content:"\e212"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-nib-slash:before{content:"\e4a1"}.fa-pen-paintbrush:before,.fa-pencil-paintbrush:before{content:"\f618"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-pen-slash:before{content:"\e213"}.fa-pen-swirl:before{content:"\e214"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-pencil-slash:before{content:"\e215"}.fa-people:before{content:"\e216"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-people-dress:before{content:"\e217"}.fa-people-dress-simple:before{content:"\e218"}.fa-people-group:before{content:"\e533"}.fa-people-line:before{content:"\e534"}.fa-people-pants:before{content:"\e219"}.fa-people-pants-simple:before{content:"\e21a"}.fa-people-pulling:before{content:"\e535"}.fa-people-robbery:before{content:"\e536"}.fa-people-roof:before{content:"\e537"}.fa-people-simple:before{content:"\e21b"}.fa-pepper:before{content:"\e432"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-period:before{content:"\2e"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-biking-mountain:before,.fa-person-biking-mountain:before{content:"\f84b"}.fa-person-booth:before{content:"\f756"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-person-burst:before{content:"\e53b"}.fa-person-cane:before{content:"\e53c"}.fa-person-carry-box:before,.fa-person-carry:before{content:"\f4cf"}.fa-person-chalkboard:before{content:"\e53d"}.fa-person-circle-check:before{content:"\e53e"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-person-circle-minus:before{content:"\e540"}.fa-person-circle-plus:before{content:"\e541"}.fa-person-circle-question:before{content:"\e542"}.fa-person-circle-xmark:before{content:"\e543"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-person-dolly:before{content:"\f4d0"}.fa-person-dolly-empty:before{content:"\f4d1"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-person-dress-burst:before{content:"\e544"}.fa-person-dress-simple:before{content:"\e21c"}.fa-person-drowning:before{content:"\e545"}.fa-person-falling:before{content:"\e546"}.fa-person-falling-burst:before{content:"\e547"}.fa-person-from-portal:before,.fa-portal-exit:before{content:"\e023"}.fa-person-half-dress:before{content:"\e548"}.fa-person-harassing:before{content:"\e549"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-person-military-pointing:before{content:"\e54a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-person-military-to-person:before{content:"\e54c"}.fa-person-pinball:before{content:"\e21d"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-person-pregnant:before{content:"\e31e"}.fa-person-rays:before{content:"\e54d"}.fa-person-rifle:before{content:"\e54e"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-person-seat:before{content:"\e21e"}.fa-person-seat-reclined:before{content:"\e21f"}.fa-person-shelter:before{content:"\e54f"}.fa-person-sign:before{content:"\f757"}.fa-person-simple:before{content:"\e220"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-person-ski-jumping:before,.fa-ski-jump:before{content:"\f7c7"}.fa-person-ski-lift:before,.fa-ski-lift:before{content:"\f7c8"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-person-sledding:before,.fa-sledding:before{content:"\f7cb"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-person-snowmobiling:before,.fa-snowmobile:before{content:"\f7d1"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-person-through-window:before{content:"\e433"}.fa-person-to-door:before{content:"\e550"}.fa-person-to-portal:before,.fa-portal-enter:before{content:"\e022"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-person-walking-luggage:before{content:"\e554"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-peseta-sign:before{content:"\e221"}.fa-peso-sign:before{content:"\e222"}.fa-phone:before{content:"\f095"}.fa-phone-arrow-down-left:before,.fa-phone-arrow-down:before,.fa-phone-incoming:before{content:"\e223"}.fa-phone-arrow-up-right:before,.fa-phone-arrow-up:before,.fa-phone-outgoing:before{content:"\e224"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-phone-hangup:before{content:"\e225"}.fa-phone-intercom:before{content:"\e434"}.fa-phone-missed:before{content:"\e226"}.fa-phone-office:before{content:"\f67d"}.fa-phone-plus:before{content:"\f4d2"}.fa-phone-rotary:before{content:"\f8d3"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-phone-xmark:before{content:"\e227"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-photo-film-music:before{content:"\e228"}.fa-pi:before{content:"\f67e"}.fa-piano:before{content:"\f8d4"}.fa-piano-keyboard:before{content:"\f8d5"}.fa-pickleball:before{content:"\e435"}.fa-pie:before{content:"\f705"}.fa-pig:before{content:"\f706"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinata:before{content:"\e3c3"}.fa-pinball:before{content:"\e229"}.fa-pineapple:before{content:"\e31f"}.fa-pipe:before{content:"\7c"}.fa-pipe-circle-check:before{content:"\e436"}.fa-pipe-collar:before{content:"\e437"}.fa-pipe-section:before{content:"\e438"}.fa-pipe-smoking:before{content:"\e3c4"}.fa-pipe-valve:before{content:"\e439"}.fa-pizza:before{content:"\f817"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-circle-check:before{content:"\e555"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-alt:before,.fa-plane-engines:before{content:"\f3de"}.fa-plane-lock:before{content:"\e558"}.fa-plane-prop:before{content:"\e22b"}.fa-plane-slash:before{content:"\e069"}.fa-plane-tail:before{content:"\e22c"}.fa-plane-up:before{content:"\e22d"}.fa-plane-up-slash:before{content:"\e22e"}.fa-planet-moon:before{content:"\e01f"}.fa-planet-ringed:before{content:"\e020"}.fa-plant-wilt:before{content:"\e43b"}.fa-plate-utensils:before{content:"\e559"}.fa-plate-wheat:before{content:"\e55a"}.fa-play:before{content:"\f04b"}.fa-play-pause:before{content:"\e22f"}.fa-plug:before{content:"\f1e6"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-plug-circle-check:before{content:"\e55c"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-plus-large:before{content:"\e59e"}.fa-plus-minus:before{content:"\e43c"}.fa-podcast:before{content:"\f2ce"}.fa-podium:before{content:"\f680"}.fa-podium-star:before{content:"\f758"}.fa-police-box:before{content:"\e021"}.fa-poll-people:before{content:"\f759"}.fa-pompebled:before{content:"\e43d"}.fa-poo:before{content:"\f2fe"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-pool-8-ball:before{content:"\e3c5"}.fa-poop:before{content:"\f619"}.fa-popcorn:before{content:"\f819"}.fa-popsicle:before{content:"\e43e"}.fa-pot-food:before{content:"\e43f"}.fa-potato:before{content:"\e440"}.fa-power-off:before{content:"\f011"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-presentation-screen:before,.fa-presentation:before{content:"\f685"}.fa-pretzel:before{content:"\e441"}.fa-print:before{content:"\f02f"}.fa-print-magnifying-glass:before,.fa-print-search:before{content:"\f81a"}.fa-print-slash:before{content:"\f686"}.fa-projector:before{content:"\f8d6"}.fa-pump:before{content:"\e442"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pumpkin:before{content:"\f707"}.fa-puzzle:before{content:"\e443"}.fa-puzzle-piece:before{content:"\f12e"}.fa-puzzle-piece-alt:before,.fa-puzzle-piece-simple:before{content:"\e231"}.fa-q:before{content:"\51"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\3f"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-quotes:before{content:"\e234"}.fa-r:before{content:"\52"}.fa-rabbit:before{content:"\f708"}.fa-rabbit-fast:before,.fa-rabbit-running:before{content:"\f709"}.fa-racquet:before{content:"\f45a"}.fa-radar:before{content:"\e024"}.fa-radiation:before{content:"\f7b9"}.fa-radio:before{content:"\f8d7"}.fa-radio-alt:before,.fa-radio-tuner:before{content:"\f8d8"}.fa-rainbow:before{content:"\f75b"}.fa-raindrops:before{content:"\f75c"}.fa-ram:before{content:"\f70a"}.fa-ramp-loading:before{content:"\f4d4"}.fa-ranking-star:before{content:"\e561"}.fa-raygun:before{content:"\e025"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-rectangle-landscape:before,.fa-rectangle:before{content:"\f2fa"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-barcode-alt:before,.fa-rectangle-barcode:before{content:"\f463"}.fa-rectangle-code:before{content:"\e322"}.fa-rectangle-history:before{content:"\e4a2"}.fa-rectangle-history-circle-plus:before{content:"\e4a3"}.fa-rectangle-history-circle-user:before{content:"\e4a4"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-pro:before,.fa-rectangle-pro:before{content:"\e235"}.fa-rectangle-terminal:before{content:"\e236"}.fa-rectangle-portrait:before,.fa-rectangle-vertical:before{content:"\f2fb"}.fa-rectangle-vertical-history:before{content:"\e237"}.fa-rectangle-wide:before{content:"\f2fc"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-rectangles-mixed:before{content:"\e323"}.fa-recycle:before{content:"\f1b8"}.fa-reel:before{content:"\e238"}.fa-refrigerator:before{content:"\e026"}.fa-registered:before{content:"\f25d"}.fa-repeat:before{content:"\f363"}.fa-repeat-1:before{content:"\f365"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-reply-clock:before,.fa-reply-time:before{content:"\e239"}.fa-republican:before{content:"\f75e"}.fa-restroom:before{content:"\f7bd"}.fa-restroom-simple:before{content:"\e23a"}.fa-retweet:before{content:"\f079"}.fa-rhombus:before{content:"\e23b"}.fa-ribbon:before{content:"\f4d6"}.fa-arrow-alt-right:before,.fa-right:before{content:"\f356"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-arrow-alt-from-left:before,.fa-right-from-line:before{content:"\f347"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-right-long-to-line:before{content:"\e444"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-arrow-alt-to-right:before,.fa-right-to-line:before{content:"\f34c"}.fa-ring:before{content:"\f70b"}.fa-rings-wedding:before{content:"\f81b"}.fa-road:before{content:"\f018"}.fa-road-barrier:before{content:"\e562"}.fa-road-bridge:before{content:"\e563"}.fa-road-circle-check:before{content:"\e564"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-road-circle-xmark:before{content:"\e566"}.fa-road-lock:before{content:"\e567"}.fa-road-spikes:before{content:"\e568"}.fa-robot:before{content:"\f544"}.fa-robot-astromech:before{content:"\e2d2"}.fa-rocket:before{content:"\f135"}.fa-rocket-launch:before{content:"\e027"}.fa-roller-coaster:before{content:"\e324"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-rotate-exclamation:before{content:"\e23c"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-route:before{content:"\f4d7"}.fa-route-highway:before{content:"\f61a"}.fa-route-interstate:before{content:"\f61b"}.fa-router:before{content:"\f8da"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-rug:before{content:"\e569"}.fa-rugby-ball:before{content:"\e3c6"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-triangle:before{content:"\f61c"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-rupiah-sign:before{content:"\e23d"}.fa-rv:before{content:"\f7be"}.fa-s:before{content:"\53"}.fa-sack:before{content:"\f81c"}.fa-sack-dollar:before{content:"\f81d"}.fa-sack-xmark:before{content:"\e56a"}.fa-sailboat:before{content:"\e445"}.fa-bowl-salad:before,.fa-salad:before{content:"\f81e"}.fa-salt-shaker:before{content:"\e446"}.fa-sandwich:before{content:"\f81f"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-sausage:before{content:"\f820"}.fa-saxophone:before{content:"\f8dc"}.fa-sax-hot:before,.fa-saxophone-fire:before{content:"\f8db"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-scalpel:before{content:"\f61d"}.fa-scalpel-line-dashed:before,.fa-scalpel-path:before{content:"\f61e"}.fa-scanner-image:before,.fa-scanner:before{content:"\f8f3"}.fa-scanner-gun:before{content:"\f488"}.fa-scanner-keyboard:before{content:"\f489"}.fa-scanner-touchscreen:before{content:"\f48a"}.fa-scarecrow:before{content:"\f70d"}.fa-scarf:before{content:"\f7c1"}.fa-school:before{content:"\f549"}.fa-school-circle-check:before{content:"\e56b"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-school-flag:before{content:"\e56e"}.fa-school-lock:before{content:"\e56f"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-screen-users:before,.fa-users-class:before{content:"\f63d"}.fa-screencast:before{content:"\e23e"}.fa-screwdriver:before{content:"\f54a"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-scribble:before{content:"\e23f"}.fa-scroll:before{content:"\f70e"}.fa-scroll-old:before{content:"\f70f"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-scrubber:before{content:"\f2f8"}.fa-scythe:before{content:"\f710"}.fa-sd-card:before{content:"\f7c2"}.fa-sd-cards:before{content:"\e240"}.fa-seal:before{content:"\e241"}.fa-seal-exclamation:before{content:"\e242"}.fa-seal-question:before{content:"\e243"}.fa-seat-airline:before{content:"\e244"}.fa-section:before{content:"\e447"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-semicolon:before{content:"\3b"}.fa-send-back:before{content:"\f87e"}.fa-send-backward:before{content:"\f87f"}.fa-sensor:before{content:"\e028"}.fa-sensor-cloud:before,.fa-sensor-smoke:before{content:"\e02c"}.fa-sensor-fire:before{content:"\e02a"}.fa-sensor-on:before{content:"\e02b"}.fa-sensor-alert:before,.fa-sensor-triangle-exclamation:before{content:"\e029"}.fa-server:before{content:"\f233"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-share-all:before{content:"\f367"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-sheep:before{content:"\f711"}.fa-sheet-plastic:before{content:"\e571"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-inventory:before,.fa-shelves:before{content:"\f480"}.fa-shelves-empty:before{content:"\e246"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-shield-cat:before{content:"\e572"}.fa-shield-check:before{content:"\f2f7"}.fa-shield-cross:before{content:"\f712"}.fa-shield-dog:before{content:"\e573"}.fa-shield-exclamation:before{content:"\e247"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-shield-heart:before{content:"\e574"}.fa-shield-keyhole:before{content:"\e248"}.fa-shield-minus:before{content:"\e249"}.fa-shield-plus:before{content:"\e24a"}.fa-shield-quartered:before{content:"\e575"}.fa-shield-slash:before{content:"\e24b"}.fa-shield-virus:before{content:"\e06c"}.fa-shield-times:before,.fa-shield-xmark:before{content:"\e24c"}.fa-ship:before{content:"\f21a"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-shirt-long-sleeve:before{content:"\e3c7"}.fa-shirt-running:before{content:"\e3c8"}.fa-shirt-tank-top:before{content:"\e3c9"}.fa-shish-kebab:before{content:"\f821"}.fa-shoe-prints:before{content:"\f54b"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-shop-lock:before{content:"\e4a5"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-shovel:before{content:"\f713"}.fa-shovel-snow:before{content:"\f7c3"}.fa-shower:before{content:"\f2cc"}.fa-shower-alt:before,.fa-shower-down:before{content:"\e24d"}.fa-shredder:before{content:"\f68a"}.fa-shrimp:before{content:"\e448"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-shutters:before{content:"\e449"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-shuttlecock:before{content:"\f45b"}.fa-sickle:before{content:"\f822"}.fa-sidebar:before{content:"\e24e"}.fa-sidebar-flip:before{content:"\e24f"}.fa-sigma:before{content:"\f68b"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-signal-alt-4:before,.fa-signal-alt:before,.fa-signal-bars-strong:before,.fa-signal-bars:before{content:"\f690"}.fa-signal-alt-2:before,.fa-signal-bars-fair:before{content:"\f692"}.fa-signal-alt-3:before,.fa-signal-bars-good:before{content:"\f693"}.fa-signal-alt-slash:before,.fa-signal-bars-slash:before{content:"\f694"}.fa-signal-alt-1:before,.fa-signal-bars-weak:before{content:"\f691"}.fa-signal-2:before,.fa-signal-fair:before{content:"\f68d"}.fa-signal-3:before,.fa-signal-good:before{content:"\f68e"}.fa-signal-slash:before{content:"\f695"}.fa-signal-stream:before{content:"\f8dd"}.fa-signal-stream-slash:before{content:"\e250"}.fa-signal-4:before,.fa-signal-strong:before{content:"\f68f"}.fa-signal-1:before,.fa-signal-weak:before{content:"\f68c"}.fa-signature:before{content:"\f5b7"}.fa-signature-lock:before{content:"\e3ca"}.fa-signature-slash:before{content:"\e3cb"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-sim-card:before{content:"\f7c4"}.fa-sim-cards:before{content:"\e251"}.fa-sink:before{content:"\e06d"}.fa-siren:before{content:"\e02d"}.fa-siren-on:before{content:"\e02e"}.fa-sitemap:before{content:"\f0e8"}.fa-skeleton:before{content:"\f620"}.fa-ski-boot:before{content:"\e3cc"}.fa-ski-boot-ski:before{content:"\e3cd"}.fa-skull:before{content:"\f54c"}.fa-skull-cow:before{content:"\f8de"}.fa-skull-crossbones:before{content:"\f714"}.fa-slash:before{content:"\f715"}.fa-slash-back:before{content:"\5c"}.fa-slash-forward:before{content:"\2f"}.fa-sleigh:before{content:"\f7cc"}.fa-slider:before{content:"\e252"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-sliders-simple:before{content:"\e253"}.fa-sliders-up:before,.fa-sliders-v:before{content:"\f3f1"}.fa-slot-machine:before{content:"\e3ce"}.fa-smog:before{content:"\f75f"}.fa-smoke:before{content:"\f760"}.fa-smoking:before{content:"\f48d"}.fa-snake:before{content:"\f716"}.fa-snooze:before,.fa-zzz:before{content:"\f880"}.fa-snow-blowing:before{content:"\f761"}.fa-snowflake:before{content:"\f2dc"}.fa-snowflakes:before{content:"\f7cf"}.fa-snowman:before{content:"\f7d0"}.fa-frosty-head:before,.fa-snowman-head:before{content:"\f79b"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-creemee:before,.fa-soft-serve:before{content:"\e400"}.fa-solar-panel:before{content:"\f5ba"}.fa-solar-system:before{content:"\e02f"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-spa:before{content:"\f5bb"}.fa-space-station-moon:before{content:"\e033"}.fa-space-station-moon-alt:before,.fa-space-station-moon-construction:before{content:"\e034"}.fa-spade:before{content:"\f2f4"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-sparkles:before{content:"\f890"}.fa-speaker:before{content:"\f8df"}.fa-speakers:before{content:"\f8e0"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spider-black-widow:before{content:"\f718"}.fa-spider-web:before{content:"\f719"}.fa-spinner:before{content:"\f110"}.fa-spinner-third:before{content:"\f3f4"}.fa-split:before{content:"\e254"}.fa-splotch:before{content:"\f5bc"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-sportsball:before{content:"\e44b"}.fa-spray-can:before{content:"\f5bd"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-sprinkler:before{content:"\e035"}.fa-sprinkler-ceiling:before{content:"\e44c"}.fa-square:before{content:"\f0c8"}.fa-square-0:before{content:"\e255"}.fa-square-1:before{content:"\e256"}.fa-square-2:before{content:"\e257"}.fa-square-3:before{content:"\e258"}.fa-square-4:before{content:"\e259"}.fa-square-5:before{content:"\e25a"}.fa-square-6:before{content:"\e25b"}.fa-square-7:before{content:"\e25c"}.fa-square-8:before{content:"\e25d"}.fa-square-9:before{content:"\e25e"}.fa-square-a:before{content:"\e25f"}.fa-square-a-lock:before{content:"\e44d"}.fa-square-ampersand:before{content:"\e260"}.fa-arrow-square-down:before,.fa-square-arrow-down:before{content:"\f339"}.fa-square-arrow-down-left:before{content:"\e261"}.fa-square-arrow-down-right:before{content:"\e262"}.fa-arrow-square-left:before,.fa-square-arrow-left:before{content:"\f33a"}.fa-arrow-square-right:before,.fa-square-arrow-right:before{content:"\f33b"}.fa-arrow-square-up:before,.fa-square-arrow-up:before{content:"\f33c"}.fa-square-arrow-up-left:before{content:"\e263"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-square-b:before{content:"\e264"}.fa-square-bolt:before{content:"\e265"}.fa-square-c:before{content:"\e266"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-chevron-square-down:before,.fa-square-chevron-down:before{content:"\f329"}.fa-chevron-square-left:before,.fa-square-chevron-left:before{content:"\f32a"}.fa-chevron-square-right:before,.fa-square-chevron-right:before{content:"\f32b"}.fa-chevron-square-up:before,.fa-square-chevron-up:before{content:"\f32c"}.fa-square-code:before{content:"\e267"}.fa-square-d:before{content:"\e268"}.fa-square-dashed:before{content:"\e269"}.fa-square-divide:before{content:"\e26a"}.fa-dollar-square:before,.fa-square-dollar:before,.fa-usd-square:before{content:"\f2e9"}.fa-arrow-alt-square-down:before,.fa-square-down:before{content:"\f350"}.fa-square-down-left:before{content:"\e26b"}.fa-square-down-right:before{content:"\e26c"}.fa-square-e:before{content:"\e26d"}.fa-square-ellipsis:before{content:"\e26e"}.fa-square-ellipsis-vertical:before{content:"\e26f"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-exclamation-square:before,.fa-square-exclamation:before{content:"\f321"}.fa-square-f:before{content:"\e270"}.fa-box-fragile:before,.fa-square-fragile:before,.fa-square-wine-glass-crack:before{content:"\f49b"}.fa-square-full:before{content:"\f45c"}.fa-square-g:before{content:"\e271"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-heart-square:before,.fa-square-heart:before{content:"\f4c8"}.fa-square-i:before{content:"\e272"}.fa-info-square:before,.fa-square-info:before{content:"\f30f"}.fa-square-j:before{content:"\e273"}.fa-square-k:before{content:"\e274"}.fa-square-kanban:before{content:"\e488"}.fa-square-l:before{content:"\e275"}.fa-arrow-alt-square-left:before,.fa-square-left:before{content:"\f351"}.fa-square-list:before{content:"\e489"}.fa-square-m:before{content:"\e276"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-square-n:before{content:"\e277"}.fa-square-nfi:before{content:"\e576"}.fa-square-o:before{content:"\e278"}.fa-square-p:before{content:"\e279"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-parking-slash:before,.fa-square-parking-slash:before{content:"\f617"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-square-person-confined:before{content:"\e577"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-phone-square-down:before,.fa-square-phone-hangup:before{content:"\e27a"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-square-q:before{content:"\e27b"}.fa-square-quarters:before{content:"\e44e"}.fa-question-square:before,.fa-square-question:before{content:"\f2fd"}.fa-square-quote:before{content:"\e329"}.fa-square-r:before{content:"\e27c"}.fa-arrow-alt-square-right:before,.fa-square-right:before{content:"\f352"}.fa-square-ring:before{content:"\e44f"}.fa-square-root:before{content:"\f697"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-square-s:before{content:"\e27d"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-sliders-h-square:before,.fa-square-sliders:before{content:"\f3f0"}.fa-sliders-v-square:before,.fa-square-sliders-vertical:before{content:"\f3f2"}.fa-square-small:before{content:"\e27e"}.fa-square-star:before{content:"\e27f"}.fa-square-t:before{content:"\e280"}.fa-square-terminal:before{content:"\e32a"}.fa-box-up:before,.fa-square-this-way-up:before{content:"\f49f"}.fa-square-u:before{content:"\e281"}.fa-arrow-alt-square-up:before,.fa-square-up:before{content:"\f353"}.fa-square-up-left:before{content:"\e282"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-square-user:before{content:"\e283"}.fa-square-v:before{content:"\e284"}.fa-square-virus:before{content:"\e578"}.fa-square-w:before{content:"\e285"}.fa-square-x:before{content:"\e286"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-square-y:before{content:"\e287"}.fa-square-z:before{content:"\e288"}.fa-squid:before{content:"\e450"}.fa-squirrel:before{content:"\f71a"}.fa-staff:before{content:"\f71b"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-stairs:before{content:"\e289"}.fa-stamp:before{content:"\f5bf"}.fa-rectangle-sd:before,.fa-standard-definition:before{content:"\e28a"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-christmas:before{content:"\f7d4"}.fa-star-exclamation:before{content:"\f2f3"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-star-sharp:before{content:"\e28b"}.fa-star-sharp-half:before{content:"\e28c"}.fa-star-sharp-half-alt:before,.fa-star-sharp-half-stroke:before{content:"\e28d"}.fa-star-shooting:before{content:"\e036"}.fa-starfighter:before{content:"\e037"}.fa-starfighter-alt:before,.fa-starfighter-twin-ion-engine:before{content:"\e038"}.fa-starfighter-alt-advanced:before,.fa-starfighter-twin-ion-engine-advanced:before{content:"\e28e"}.fa-stars:before{content:"\f762"}.fa-starship:before{content:"\e039"}.fa-starship-freighter:before{content:"\e03a"}.fa-steak:before{content:"\f824"}.fa-steering-wheel:before{content:"\f622"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-stethoscope:before{content:"\f0f1"}.fa-stocking:before{content:"\f7d5"}.fa-stomach:before{content:"\f623"}.fa-stop:before{content:"\f04d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-lock:before{content:"\e4a6"}.fa-store-slash:before{content:"\e071"}.fa-strawberry:before{content:"\e32b"}.fa-street-view:before{content:"\f21d"}.fa-stretcher:before{content:"\f825"}.fa-strikethrough:before{content:"\f0cc"}.fa-stroopwafel:before{content:"\f551"}.fa-subscript:before{content:"\f12c"}.fa-suitcase:before{content:"\f0f2"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-sun-alt:before,.fa-sun-bright:before{content:"\e28f"}.fa-sun-cloud:before{content:"\f763"}.fa-sun-dust:before{content:"\f764"}.fa-sun-haze:before{content:"\f765"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-sunglasses:before{content:"\f892"}.fa-sunrise:before{content:"\f766"}.fa-sunset:before{content:"\f767"}.fa-superscript:before{content:"\f12b"}.fa-nigiri:before,.fa-sushi:before{content:"\e48a"}.fa-maki-roll:before,.fa-makizushi:before,.fa-sushi-roll:before{content:"\e48b"}.fa-swatchbook:before{content:"\f5c3"}.fa-sword:before{content:"\f71c"}.fa-sword-laser:before{content:"\e03b"}.fa-sword-laser-alt:before{content:"\e03c"}.fa-swords:before{content:"\f71d"}.fa-swords-laser:before{content:"\e03d"}.fa-icons-alt:before,.fa-symbols:before{content:"\f86e"}.fa-synagogue:before{content:"\f69b"}.fa-syringe:before{content:"\f48e"}.fa-t:before{content:"\54"}.fa-table:before{content:"\f0ce"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-table-layout:before{content:"\e290"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-table-picnic:before{content:"\e32d"}.fa-table-pivot:before{content:"\e291"}.fa-rows:before,.fa-table-rows:before{content:"\e292"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-table-tree:before{content:"\e293"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-tablet-button:before{content:"\f10a"}.fa-tablet-rugged:before{content:"\f48f"}.fa-tablet-android-alt:before,.fa-tablet-screen:before{content:"\f3fc"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-taco:before{content:"\f826"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tally-5:before,.fa-tally:before{content:"\f69c"}.fa-tally-1:before{content:"\e294"}.fa-tally-2:before{content:"\e295"}.fa-tally-3:before{content:"\e296"}.fa-tally-4:before{content:"\e297"}.fa-tamale:before{content:"\e451"}.fa-tank-water:before{content:"\e452"}.fa-tape:before{content:"\f4db"}.fa-tarp:before{content:"\e57b"}.fa-tarp-droplet:before{content:"\e57c"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-taxi-bus:before{content:"\e298"}.fa-teddy-bear:before{content:"\e3cf"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telescope:before{content:"\e03e"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-list:before{content:"\e299"}.fa-temperature-low:before{content:"\f76b"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-temperature-frigid:before,.fa-temperature-snow:before{content:"\f768"}.fa-temperature-hot:before,.fa-temperature-sun:before{content:"\f76a"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-tennis-ball:before{content:"\f45e"}.fa-tent:before{content:"\e57d"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tent-arrows-down:before{content:"\e581"}.fa-tents:before{content:"\e582"}.fa-terminal:before{content:"\f120"}.fa-text:before{content:"\f893"}.fa-text-height:before{content:"\f034"}.fa-text-size:before{content:"\f894"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-text-width:before{content:"\f035"}.fa-thermometer:before{content:"\f491"}.fa-theta:before{content:"\f69e"}.fa-thought-bubble:before{content:"\e32e"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-tick:before{content:"\e32f"}.fa-ticket:before{content:"\f145"}.fa-ticket-airline:before{content:"\e29a"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-tickets-airline:before{content:"\e29b"}.fa-tilde:before{content:"\7e"}.fa-timeline:before{content:"\e29c"}.fa-timeline-arrow:before{content:"\e29d"}.fa-timer:before{content:"\e29e"}.fa-tire:before{content:"\f631"}.fa-tire-flat:before{content:"\f632"}.fa-tire-pressure-warning:before{content:"\f633"}.fa-tire-rugged:before{content:"\f634"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-alt:before,.fa-toilet-paper-blank:before{content:"\f71f"}.fa-toilet-paper-blank-under:before,.fa-toilet-paper-reverse-alt:before{content:"\e29f"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toilet-paper-reverse:before,.fa-toilet-paper-under:before{content:"\e2a0"}.fa-toilet-paper-reverse-slash:before,.fa-toilet-paper-under-slash:before{content:"\e2a1"}.fa-toilet-portable:before{content:"\e583"}.fa-toilets-portable:before{content:"\e584"}.fa-tomato:before{content:"\e330"}.fa-tombstone:before{content:"\f720"}.fa-tombstone-alt:before,.fa-tombstone-blank:before{content:"\f721"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-toothbrush:before{content:"\f635"}.fa-torii-gate:before{content:"\f6a1"}.fa-tornado:before{content:"\f76f"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-tower-cell:before{content:"\e585"}.fa-tower-control:before{content:"\e2a2"}.fa-tower-observation:before{content:"\e586"}.fa-tractor:before{content:"\f722"}.fa-trademark:before{content:"\f25c"}.fa-traffic-cone:before{content:"\f636"}.fa-traffic-light:before{content:"\f637"}.fa-traffic-light-go:before{content:"\f638"}.fa-traffic-light-slow:before{content:"\f639"}.fa-traffic-light-stop:before{content:"\f63a"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-subway-tunnel:before,.fa-train-subway-tunnel:before{content:"\e2a3"}.fa-train-track:before{content:"\e453"}.fa-train-tram:before,.fa-tram:before{content:"\f7da"}.fa-train-tunnel:before{content:"\e454"}.fa-transformer-bolt:before{content:"\e2a4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-transporter:before{content:"\e042"}.fa-transporter-1:before{content:"\e043"}.fa-transporter-2:before{content:"\e044"}.fa-transporter-3:before{content:"\e045"}.fa-transporter-4:before{content:"\e2a5"}.fa-transporter-5:before{content:"\e2a6"}.fa-transporter-6:before{content:"\e2a7"}.fa-transporter-7:before{content:"\e2a8"}.fa-transporter-empty:before{content:"\e046"}.fa-trash:before{content:"\f1f8"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-trash-can-check:before{content:"\e2a9"}.fa-trash-can-clock:before{content:"\e2aa"}.fa-trash-can-list:before{content:"\e2ab"}.fa-trash-can-plus:before{content:"\e2ac"}.fa-trash-alt-slash:before,.fa-trash-can-slash:before{content:"\e2ad"}.fa-trash-can-arrow-turn-left:before,.fa-trash-can-undo:before,.fa-trash-undo-alt:before{content:"\f896"}.fa-trash-can-xmark:before{content:"\e2ae"}.fa-trash-check:before{content:"\e2af"}.fa-trash-clock:before{content:"\e2b0"}.fa-trash-list:before{content:"\e2b1"}.fa-trash-plus:before{content:"\e2b2"}.fa-trash-slash:before{content:"\e2b3"}.fa-trash-arrow-turn-left:before,.fa-trash-undo:before{content:"\f895"}.fa-trash-xmark:before{content:"\e2b4"}.fa-treasure-chest:before{content:"\f723"}.fa-tree:before{content:"\f1bb"}.fa-tree-christmas:before{content:"\f7db"}.fa-tree-city:before{content:"\e587"}.fa-tree-alt:before,.fa-tree-deciduous:before{content:"\f400"}.fa-tree-decorated:before{content:"\f7dc"}.fa-tree-large:before{content:"\f7dd"}.fa-tree-palm:before{content:"\f82b"}.fa-trees:before{content:"\f724"}.fa-triangle:before{content:"\f2ec"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-triangle-instrument:before,.fa-triangle-music:before{content:"\f8e2"}.fa-construction:before,.fa-triangle-person-digging:before{content:"\f85d"}.fa-trillium:before{content:"\e588"}.fa-trophy:before{content:"\f091"}.fa-trophy-alt:before,.fa-trophy-star:before{content:"\f2eb"}.fa-trowel:before{content:"\e589"}.fa-trowel-bricks:before{content:"\e58a"}.fa-truck:before{content:"\f0d1"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-truck-bolt:before{content:"\e3d0"}.fa-shipping-timed:before,.fa-truck-clock:before{content:"\f48c"}.fa-truck-container:before{content:"\f4dc"}.fa-truck-container-empty:before{content:"\e2b5"}.fa-truck-droplet:before{content:"\e58c"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-truck-field:before{content:"\e58d"}.fa-truck-field-un:before{content:"\e58e"}.fa-truck-flatbed:before{content:"\e2b6"}.fa-truck-front:before{content:"\e2b7"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-truck-plane:before{content:"\e58f"}.fa-truck-plow:before{content:"\f7de"}.fa-truck-ramp:before{content:"\f4e0"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-truck-couch:before,.fa-truck-ramp-couch:before{content:"\f4dd"}.fa-truck-tow:before{content:"\e2b8"}.fa-trumpet:before{content:"\f8e3"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-teletype-answer:before,.fa-tty-answer:before{content:"\e2b9"}.fa-tugrik-sign:before{content:"\e2ba"}.fa-turkey:before{content:"\f725"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-turn-down-left:before{content:"\e331"}.fa-turn-down-right:before{content:"\e455"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"}.fa-turntable:before{content:"\f8e4"}.fa-turtle:before{content:"\f726"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-tv-music:before{content:"\f8e6"}.fa-tv-retro:before{content:"\f401"}.fa-typewriter:before{content:"\f8e7"}.fa-u:before{content:"\55"}.fa-ufo:before{content:"\e047"}.fa-ufo-beam:before{content:"\e048"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-umbrella-alt:before,.fa-umbrella-simple:before{content:"\e2bc"}.fa-underline:before{content:"\f0cd"}.fa-unicorn:before{content:"\f727"}.fa-uniform-martial-arts:before{content:"\e3d1"}.fa-union:before{content:"\f6a2"}.fa-universal-access:before{content:"\f29a"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-arrow-alt-up:before,.fa-up:before{content:"\f357"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-up-from-bracket:before{content:"\e590"}.fa-up-from-dotted-line:before{content:"\e456"}.fa-arrow-alt-from-bottom:before,.fa-up-from-line:before{content:"\f346"}.fa-up-left:before{content:"\e2bd"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-up-right:before{content:"\e2be"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-up-to-dotted-line:before{content:"\e457"}.fa-arrow-alt-to-top:before,.fa-up-to-line:before{content:"\f34d"}.fa-upload:before{content:"\f093"}.fa-usb-drive:before{content:"\f8e9"}.fa-user:before{content:"\f007"}.fa-user-alien:before{content:"\e04a"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-bounty-hunter:before{content:"\e2bf"}.fa-user-check:before{content:"\f4fc"}.fa-user-chef:before{content:"\e3d2"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cowboy:before{content:"\f8ea"}.fa-user-crown:before{content:"\f6a4"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-user-doctor-hair:before{content:"\e458"}.fa-user-doctor-hair-long:before{content:"\e459"}.fa-user-doctor-message:before,.fa-user-md-chat:before{content:"\f82e"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-user-graduate:before{content:"\f501"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-user-group-crown:before,.fa-users-crown:before{content:"\f6a5"}.fa-user-hair:before{content:"\e45a"}.fa-user-hair-buns:before{content:"\e3d3"}.fa-user-hair-long:before{content:"\e45b"}.fa-business-front:before,.fa-party-back:before,.fa-trian-balbot:before,.fa-user-hair-mullet:before{content:"\e45c"}.fa-user-headset:before{content:"\f82d"}.fa-user-construction:before,.fa-user-hard-hat:before,.fa-user-helmet-safety:before{content:"\f82c"}.fa-user-injured:before{content:"\f728"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-user-lock:before{content:"\f502"}.fa-user-minus:before{content:"\f503"}.fa-user-music:before{content:"\f8eb"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-nurse-hair:before{content:"\e45d"}.fa-user-nurse-hair-long:before{content:"\e45e"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-user-pilot:before{content:"\e2c0"}.fa-user-pilot-tie:before{content:"\e2c1"}.fa-user-plus:before{content:"\f234"}.fa-user-police:before{content:"\e333"}.fa-user-police-tie:before{content:"\e334"}.fa-user-robot:before{content:"\e04b"}.fa-user-robot-xmarks:before{content:"\e4a7"}.fa-user-secret:before{content:"\f21b"}.fa-user-shakespeare:before{content:"\e2c2"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-tie-hair:before{content:"\e45f"}.fa-user-tie-hair-long:before{content:"\e460"}.fa-user-unlock:before{content:"\e058"}.fa-user-visor:before{content:"\e04c"}.fa-user-vneck:before{content:"\e461"}.fa-user-vneck-hair:before{content:"\e462"}.fa-user-vneck-hair-long:before{content:"\e463"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-between-lines:before{content:"\e591"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-users-line:before{content:"\e592"}.fa-users-medical:before{content:"\f830"}.fa-users-rays:before{content:"\e593"}.fa-users-rectangle:before{content:"\e594"}.fa-users-slash:before{content:"\e073"}.fa-users-viewfinder:before{content:"\e595"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-utensils-slash:before{content:"\e464"}.fa-utility-pole:before{content:"\e2c3"}.fa-utility-pole-double:before{content:"\e2c4"}.fa-v:before{content:"\56"}.fa-vacuum:before{content:"\e04d"}.fa-vacuum-robot:before{content:"\e04e"}.fa-value-absolute:before{content:"\f6a6"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-vault:before{content:"\e2c5"}.fa-vector-circle:before{content:"\e2c6"}.fa-vector-polygon:before{content:"\e2c7"}.fa-vector-square:before{content:"\f5cb"}.fa-vent-damper:before{content:"\e465"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-vial:before{content:"\f492"}.fa-vial-circle-check:before{content:"\e596"}.fa-vial-virus:before{content:"\e597"}.fa-vials:before{content:"\f493"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-video-arrow-down-left:before{content:"\e2c8"}.fa-video-arrow-up-right:before{content:"\e2c9"}.fa-video-plus:before{content:"\f4e1"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-violin:before{content:"\f8ed"}.fa-virus:before{content:"\e074"}.fa-virus-covid:before{content:"\e4a8"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-voicemail:before{content:"\f897"}.fa-volcano:before{content:"\f770"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-volume-medium:before,.fa-volume:before{content:"\f6a8"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-volume-off:before{content:"\f026"}.fa-volume-slash:before{content:"\f2e2"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-vr-cardboard:before{content:"\f729"}.fa-w:before{content:"\57"}.fa-waffle:before{content:"\e466"}.fa-wagon-covered:before{content:"\f8ee"}.fa-walker:before{content:"\f831"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-wallet:before{content:"\f555"}.fa-wand:before{content:"\f72a"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-wand-sparkles:before{content:"\f72b"}.fa-warehouse:before{content:"\f494"}.fa-warehouse-alt:before,.fa-warehouse-full:before{content:"\f495"}.fa-washer:before,.fa-washing-machine:before{content:"\f898"}.fa-watch:before{content:"\f2e1"}.fa-watch-apple:before{content:"\e2cb"}.fa-watch-calculator:before{content:"\f8f0"}.fa-watch-fitness:before{content:"\f63e"}.fa-watch-smart:before{content:"\e2cc"}.fa-water:before{content:"\f773"}.fa-water-arrow-down:before,.fa-water-lower:before{content:"\f774"}.fa-water-arrow-up:before,.fa-water-rise:before{content:"\f775"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-watermelon-slice:before{content:"\e337"}.fa-heart-rate:before,.fa-wave-pulse:before{content:"\f5f8"}.fa-wave-sine:before{content:"\f899"}.fa-wave-square:before{content:"\f83e"}.fa-wave-triangle:before{content:"\f89a"}.fa-waveform:before{content:"\f8f1"}.fa-waveform-lines:before,.fa-waveform-path:before{content:"\f8f2"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-whale:before{content:"\f72c"}.fa-wheat:before{content:"\f72d"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-wheat-awn-slash:before{content:"\e338"}.fa-wheat-slash:before{content:"\e339"}.fa-wheelchair:before{content:"\f193"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-glass-whiskey-rocks:before,.fa-whiskey-glass-ice:before{content:"\f7a1"}.fa-whistle:before{content:"\f460"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-wifi-exclamation:before{content:"\e2cf"}.fa-wifi-2:before,.fa-wifi-fair:before{content:"\f6ab"}.fa-wifi-slash:before{content:"\f6ac"}.fa-wifi-1:before,.fa-wifi-weak:before{content:"\f6aa"}.fa-wind:before{content:"\f72e"}.fa-wind-turbine:before{content:"\f89b"}.fa-wind-circle-exclamation:before,.fa-wind-warning:before{content:"\f776"}.fa-window:before{content:"\f40e"}.fa-window-alt:before,.fa-window-flip:before{content:"\f40f"}.fa-window-frame:before{content:"\e04f"}.fa-window-frame-open:before{content:"\e050"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windsock:before{content:"\f777"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-fragile:before,.fa-wine-glass-crack:before{content:"\f4bb"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-worm:before{content:"\e599"}.fa-wreath:before{content:"\f7e2"}.fa-wrench:before{content:"\f0ad"}.fa-wrench-simple:before{content:"\e2d1"}.fa-x:before{content:"\58"}.fa-x-ray:before{content:"\f497"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-xmark-large:before{content:"\e59b"}.fa-times-to-slot:before,.fa-vote-nay:before,.fa-xmark-to-slot:before{content:"\f771"}.fa-xmarks-lines:before{content:"\e59a"}.fa-y:before{content:"\59"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-z:before{content:"\5a"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-family:"Font Awesome 6 Brands";font-weight:400}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-alipay:before{content:"\f642"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-amilia:before{content:"\f36d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-pay:before{content:"\f415"}.fa-artstation:before{content:"\f77a"}.fa-asymmetrik:before{content:"\f372"}.fa-atlassian:before{content:"\f77b"}.fa-audible:before{content:"\f373"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-aws:before{content:"\f375"}.fa-bandcamp:before{content:"\f2d5"}.fa-battle-net:before{content:"\f835"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bilibili:before{content:"\e3d9"}.fa-bimobject:before{content:"\f378"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bootstrap:before{content:"\f836"}.fa-bots:before{content:"\e340"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-buromobelexperte:before{content:"\f37f"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cmplid:before{content:"\e360"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-critical-role:before{content:"\f6c9"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dhl:before{content:"\f790"}.fa-diaspora:before{content:"\f791"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-draft2digital:before{content:"\f396"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drupal:before{content:"\f1a9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-elementor:before{content:"\f430"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before{content:"\f2d7"}.fa-evernote:before{content:"\f839"}.fa-expeditedssl:before{content:"\f23e"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-figma:before{content:"\f799"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-fly:before{content:"\f417"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-fulcrum:before{content:"\f50b"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-gofore:before{content:"\f3a7"}.fa-golang:before{content:"\e40f"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-gulp:before{content:"\f3ae"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hashnode:before{content:"\e499"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-hive:before{content:"\e07f"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hotjar:before{content:"\f3b1"}.fa-houzz:before{content:"\f27c"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-ideal:before{content:"\e013"}.fa-imdb:before{content:"\f2d8"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joomla:before{content:"\f1aa"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaggle:before{content:"\f5fa"}.fa-keybase:before{content:"\f4f5"}.fa-keycdn:before{content:"\f3ba"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-korvue:before{content:"\f42f"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-leanpub:before{content:"\f212"}.fa-less:before{content:"\f41d"}.fa-line:before{content:"\f3c0"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-mailchimp:before{content:"\f59e"}.fa-mandalorian:before{content:"\f50f"}.fa-markdown:before{content:"\f60f"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medapps:before{content:"\f3c6"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-mendeley:before{content:"\f7b3"}.fa-meta:before{content:"\e49b"}.fa-microblog:before{content:"\e01a"}.fa-microsoft:before{content:"\f3ca"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-nfc-directional:before{content:"\e530"}.fa-nfc-symbol:before{content:"\e531"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-old-republic:before{content:"\f510"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-padlet:before{content:"\e4a0"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-palfed:before{content:"\f3d8"}.fa-patreon:before{content:"\f3d9"}.fa-paypal:before{content:"\f1ed"}.fa-perbyte:before{content:"\e083"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pix:before{content:"\e43a"}.fa-playstation:before{content:"\f3df"}.fa-product-hunt:before{content:"\f288"}.fa-pushed:before{content:"\f3e1"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-r-project:before{content:"\f4f7"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-renren:before{content:"\f18b"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-rev:before{content:"\f5b2"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-rust:before{content:"\e07a"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-schlix:before{content:"\f3ea"}.fa-screenpal:before{content:"\e570"}.fa-scribd:before{content:"\f28a"}.fa-searchengin:before{content:"\f3eb"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-servicestack:before{content:"\f3ec"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shopify:before{content:"\e057"}.fa-shopware:before{content:"\f5b5"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sith:before{content:"\f512"}.fa-sitrox:before{content:"\e44a"}.fa-sketch:before{content:"\f7c6"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-slideshare:before{content:"\f1e7"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-square:before{content:"\f2ad"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spotify:before{content:"\f1bc"}.fa-square-font-awesome:before{content:"\f425"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-sticker-mule:before{content:"\f3f7"}.fa-strava:before{content:"\f428"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-superpowers:before{content:"\f2dd"}.fa-supple:before{content:"\f3f9"}.fa-suse:before{content:"\f7d6"}.fa-swift:before{content:"\f8e1"}.fa-symfony:before{content:"\f83d"}.fa-teamspeak:before{content:"\f4f9"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-the-red-yeti:before{content:"\f69d"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-think-peaks:before{content:"\f731"}.fa-tiktok:before{content:"\e07b"}.fa-trade-federation:before{content:"\f513"}.fa-trello:before{content:"\f181"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-uncharted:before{content:"\e084"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-vaadin:before{content:"\f408"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-viber:before{content:"\f409"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-vuejs:before{content:"\f41f"}.fa-watchman-monitoring:before{content:"\e087"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-whmcs:before{content:"\f40d"}.fa-wikipedia-w:before{content:"\f266"}.fa-windows:before{content:"\f17a"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}:host,:root{--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone"}@font-face{font-family:"Font Awesome 6 Duotone";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-duotone-900.woff2) format("woff2"),url(../webfonts/fa-duotone-900.ttf) format("truetype")}.fa-duotone,.fad{position:relative;font-family:"Font Awesome 6 Duotone";font-weight:900;letter-spacing:normal}.fa-duotone:before,.fad:before{position:absolute;color:var(--fa-primary-color,inherit);opacity:var(--fa-primary-opacity,1)}.fa-duotone:after,.fad:after{color:var(--fa-secondary-color,inherit)}.fa-duotone.fa-swap-opacity:before,.fa-duotone:after,.fa-swap-opacity .fa-duotone:before,.fa-swap-opacity .fad:before,.fad.fa-swap-opacity:before,.fad:after{opacity:var(--fa-secondary-opacity,.4)}.fa-duotone.fa-swap-opacity:after,.fa-swap-opacity .fa-duotone:after,.fa-swap-opacity .fad:after,.fad.fa-swap-opacity:after{opacity:var(--fa-primary-opacity,1)}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}.fa-duotone.fa-stack-1x,.fa-duotone.fa-stack-2x,.fad.fa-stack-1x,.fad.fa-stack-2x{position:absolute}.fa-duotone.fa-fw:before,.fa-duotone.fa-stack-1x:before,.fa-duotone.fa-stack-2x:before,.fad.fa-fw:before,.fad.fa-stack-1x:before,.fad.fa-stack-2x:before{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.fa-duotone.fa-0:after,.fad.fa-0:after{content:"\30\30"}.fa-duotone.fa-1:after,.fad.fa-1:after{content:"\31\31"}.fa-duotone.fa-2:after,.fad.fa-2:after{content:"\32\32"}.fa-duotone.fa-3:after,.fad.fa-3:after{content:"\33\33"}.fa-duotone.fa-4:after,.fad.fa-4:after{content:"\34\34"}.fa-duotone.fa-5:after,.fad.fa-5:after{content:"\35\35"}.fa-duotone.fa-6:after,.fad.fa-6:after{content:"\36\36"}.fa-duotone.fa-7:after,.fad.fa-7:after{content:"\37\37"}.fa-duotone.fa-8:after,.fad.fa-8:after{content:"\38\38"}.fa-duotone.fa-9:after,.fad.fa-9:after{content:"\39\39"}.fa-duotone.fa-00:after,.fad.fa-00:after{content:"\e467\e467"}.fa-duotone.fa-360-degrees:after,.fad.fa-360-degrees:after{content:"\e2dc\e2dc"}.fa-duotone.fa-a:after,.fad.fa-a:after{content:"\41\41"}.fa-duotone.fa-abacus:after,.fad.fa-abacus:after{content:"\f640\f640"}.fa-duotone.fa-accent-grave:after,.fad.fa-accent-grave:after{content:"\60\60"}.fa-duotone.fa-acorn:after,.fad.fa-acorn:after{content:"\f6ae\f6ae"}.fa-duotone.fa-address-book:after,.fa-duotone.fa-contact-book:after,.fad.fa-address-book:after,.fad.fa-contact-book:after{content:"\f2b9\f2b9"}.fa-duotone.fa-address-card:after,.fa-duotone.fa-contact-card:after,.fa-duotone.fa-vcard:after,.fad.fa-address-card:after,.fad.fa-contact-card:after,.fad.fa-vcard:after{content:"\f2bb\f2bb"}.fa-duotone.fa-air-conditioner:after,.fad.fa-air-conditioner:after{content:"\f8f4\f8f4"}.fa-duotone.fa-airplay:after,.fad.fa-airplay:after{content:"\e089\e089"}.fa-duotone.fa-alarm-clock:after,.fad.fa-alarm-clock:after{content:"\f34e\f34e"}.fa-duotone.fa-alarm-exclamation:after,.fad.fa-alarm-exclamation:after{content:"\f843\f843"}.fa-duotone.fa-alarm-plus:after,.fad.fa-alarm-plus:after{content:"\f844\f844"}.fa-duotone.fa-alarm-snooze:after,.fad.fa-alarm-snooze:after{content:"\f845\f845"}.fa-duotone.fa-album:after,.fad.fa-album:after{content:"\f89f\f89f"}.fa-duotone.fa-album-circle-plus:after,.fad.fa-album-circle-plus:after{content:"\e48c\e48c"}.fa-duotone.fa-album-circle-user:after,.fad.fa-album-circle-user:after{content:"\e48d\e48d"}.fa-duotone.fa-album-collection:after,.fad.fa-album-collection:after{content:"\f8a0\f8a0"}.fa-duotone.fa-album-collection-circle-plus:after,.fad.fa-album-collection-circle-plus:after{content:"\e48e\e48e"}.fa-duotone.fa-album-collection-circle-user:after,.fad.fa-album-collection-circle-user:after{content:"\e48f\e48f"}.fa-duotone.fa-alicorn:after,.fad.fa-alicorn:after{content:"\f6b0\f6b0"}.fa-duotone.fa-alien:after,.fad.fa-alien:after{content:"\f8f5\f8f5"}.fa-duotone.fa-alien-8bit:after,.fa-duotone.fa-alien-monster:after,.fad.fa-alien-8bit:after,.fad.fa-alien-monster:after{content:"\f8f6\f8f6"}.fa-duotone.fa-align-center:after,.fad.fa-align-center:after{content:"\f037\f037"}.fa-duotone.fa-align-justify:after,.fad.fa-align-justify:after{content:"\f039\f039"}.fa-duotone.fa-align-left:after,.fad.fa-align-left:after{content:"\f036\f036"}.fa-duotone.fa-align-right:after,.fad.fa-align-right:after{content:"\f038\f038"}.fa-duotone.fa-align-slash:after,.fad.fa-align-slash:after{content:"\f846\f846"}.fa-duotone.fa-alt:after,.fad.fa-alt:after{content:"\e08a\e08a"}.fa-duotone.fa-amp-guitar:after,.fad.fa-amp-guitar:after{content:"\f8a1\f8a1"}.fa-duotone.fa-ampersand:after,.fad.fa-ampersand:after{content:"\26\26"}.fa-duotone.fa-anchor:after,.fad.fa-anchor:after{content:"\f13d\f13d"}.fa-duotone.fa-anchor-circle-check:after,.fad.fa-anchor-circle-check:after{content:"\e4aa\e4aa"}.fa-duotone.fa-anchor-circle-exclamation:after,.fad.fa-anchor-circle-exclamation:after{content:"\e4ab\e4ab"}.fa-duotone.fa-anchor-circle-xmark:after,.fad.fa-anchor-circle-xmark:after{content:"\e4ac\e4ac"}.fa-duotone.fa-anchor-lock:after,.fad.fa-anchor-lock:after{content:"\e4ad\e4ad"}.fa-duotone.fa-angel:after,.fad.fa-angel:after{content:"\f779\f779"}.fa-duotone.fa-angle:after,.fad.fa-angle:after{content:"\e08c\e08c"}.fa-duotone.fa-angle-90:after,.fad.fa-angle-90:after{content:"\e08d\e08d"}.fa-duotone.fa-angle-down:after,.fad.fa-angle-down:after{content:"\f107\f107"}.fa-duotone.fa-angle-left:after,.fad.fa-angle-left:after{content:"\f104\f104"}.fa-duotone.fa-angle-right:after,.fad.fa-angle-right:after{content:"\f105\f105"}.fa-duotone.fa-angle-up:after,.fad.fa-angle-up:after{content:"\f106\f106"}.fa-duotone.fa-angle-double-down:after,.fa-duotone.fa-angles-down:after,.fad.fa-angle-double-down:after,.fad.fa-angles-down:after{content:"\f103\f103"}.fa-duotone.fa-angle-double-left:after,.fa-duotone.fa-angles-left:after,.fad.fa-angle-double-left:after,.fad.fa-angles-left:after{content:"\f100\f100"}.fa-duotone.fa-angle-double-right:after,.fa-duotone.fa-angles-right:after,.fad.fa-angle-double-right:after,.fad.fa-angles-right:after{content:"\f101\f101"}.fa-duotone.fa-angle-double-up:after,.fa-duotone.fa-angles-up:after,.fad.fa-angle-double-up:after,.fad.fa-angles-up:after{content:"\f102\f102"}.fa-duotone.fa-ankh:after,.fad.fa-ankh:after{content:"\f644\f644"}.fa-duotone.fa-apartment:after,.fad.fa-apartment:after{content:"\e468\e468"}.fa-duotone.fa-aperture:after,.fad.fa-aperture:after{content:"\e2df\e2df"}.fa-duotone.fa-apostrophe:after,.fad.fa-apostrophe:after{content:"\27\27"}.fa-duotone.fa-apple-core:after,.fad.fa-apple-core:after{content:"\e08f\e08f"}.fa-duotone.fa-apple-alt:after,.fa-duotone.fa-apple-whole:after,.fad.fa-apple-alt:after,.fad.fa-apple-whole:after{content:"\f5d1\f5d1"}.fa-duotone.fa-archway:after,.fad.fa-archway:after{content:"\f557\f557"}.fa-duotone.fa-arrow-down:after,.fad.fa-arrow-down:after{content:"\f063\f063"}.fa-duotone.fa-arrow-down-1-9:after,.fa-duotone.fa-sort-numeric-asc:after,.fa-duotone.fa-sort-numeric-down:after,.fad.fa-arrow-down-1-9:after,.fad.fa-sort-numeric-asc:after,.fad.fa-sort-numeric-down:after{content:"\f162\f162"}.fa-duotone.fa-arrow-down-9-1:after,.fa-duotone.fa-sort-numeric-desc:after,.fa-duotone.fa-sort-numeric-down-alt:after,.fad.fa-arrow-down-9-1:after,.fad.fa-sort-numeric-desc:after,.fad.fa-sort-numeric-down-alt:after{content:"\f886\f886"}.fa-duotone.fa-arrow-down-a-z:after,.fa-duotone.fa-sort-alpha-asc:after,.fa-duotone.fa-sort-alpha-down:after,.fad.fa-arrow-down-a-z:after,.fad.fa-sort-alpha-asc:after,.fad.fa-sort-alpha-down:after{content:"\f15d\f15d"}.fa-duotone.fa-arrow-down-arrow-up:after,.fa-duotone.fa-sort-alt:after,.fad.fa-arrow-down-arrow-up:after,.fad.fa-sort-alt:after{content:"\f883\f883"}.fa-duotone.fa-arrow-down-big-small:after,.fa-duotone.fa-sort-size-down:after,.fad.fa-arrow-down-big-small:after,.fad.fa-sort-size-down:after{content:"\f88c\f88c"}.fa-duotone.fa-arrow-down-from-dotted-line:after,.fad.fa-arrow-down-from-dotted-line:after{content:"\e090\e090"}.fa-duotone.fa-arrow-down-from-line:after,.fa-duotone.fa-arrow-from-top:after,.fad.fa-arrow-down-from-line:after,.fad.fa-arrow-from-top:after{content:"\f345\f345"}.fa-duotone.fa-arrow-down-left:after,.fad.fa-arrow-down-left:after{content:"\e091\e091"}.fa-duotone.fa-arrow-down-left-and-arrow-up-right-to-center:after,.fad.fa-arrow-down-left-and-arrow-up-right-to-center:after{content:"\e092\e092"}.fa-duotone.fa-arrow-down-long:after,.fa-duotone.fa-long-arrow-down:after,.fad.fa-arrow-down-long:after,.fad.fa-long-arrow-down:after{content:"\f175\f175"}.fa-duotone.fa-arrow-down-right:after,.fad.fa-arrow-down-right:after{content:"\e093\e093"}.fa-duotone.fa-arrow-down-short-wide:after,.fa-duotone.fa-sort-amount-desc:after,.fa-duotone.fa-sort-amount-down-alt:after,.fad.fa-arrow-down-short-wide:after,.fad.fa-sort-amount-desc:after,.fad.fa-sort-amount-down-alt:after{content:"\f884\f884"}.fa-duotone.fa-arrow-down-small-big:after,.fa-duotone.fa-sort-size-down-alt:after,.fad.fa-arrow-down-small-big:after,.fad.fa-sort-size-down-alt:after{content:"\f88d\f88d"}.fa-duotone.fa-arrow-down-square-triangle:after,.fa-duotone.fa-sort-shapes-down-alt:after,.fad.fa-arrow-down-square-triangle:after,.fad.fa-sort-shapes-down-alt:after{content:"\f889\f889"}.fa-duotone.fa-arrow-down-to-arc:after,.fad.fa-arrow-down-to-arc:after{content:"\e4ae\e4ae"}.fa-duotone.fa-arrow-down-to-bracket:after,.fad.fa-arrow-down-to-bracket:after{content:"\e094\e094"}.fa-duotone.fa-arrow-down-to-dotted-line:after,.fad.fa-arrow-down-to-dotted-line:after{content:"\e095\e095"}.fa-duotone.fa-arrow-down-to-line:after,.fa-duotone.fa-arrow-to-bottom:after,.fad.fa-arrow-down-to-line:after,.fad.fa-arrow-to-bottom:after{content:"\f33d\f33d"}.fa-duotone.fa-arrow-down-to-square:after,.fad.fa-arrow-down-to-square:after{content:"\e096\e096"}.fa-duotone.fa-arrow-down-triangle-square:after,.fa-duotone.fa-sort-shapes-down:after,.fad.fa-arrow-down-triangle-square:after,.fad.fa-sort-shapes-down:after{content:"\f888\f888"}.fa-duotone.fa-arrow-down-up-across-line:after,.fad.fa-arrow-down-up-across-line:after{content:"\e4af\e4af"}.fa-duotone.fa-arrow-down-up-lock:after,.fad.fa-arrow-down-up-lock:after{content:"\e4b0\e4b0"}.fa-duotone.fa-arrow-down-wide-short:after,.fa-duotone.fa-sort-amount-asc:after,.fa-duotone.fa-sort-amount-down:after,.fad.fa-arrow-down-wide-short:after,.fad.fa-sort-amount-asc:after,.fad.fa-sort-amount-down:after{content:"\f160\f160"}.fa-duotone.fa-arrow-down-z-a:after,.fa-duotone.fa-sort-alpha-desc:after,.fa-duotone.fa-sort-alpha-down-alt:after,.fad.fa-arrow-down-z-a:after,.fad.fa-sort-alpha-desc:after,.fad.fa-sort-alpha-down-alt:after{content:"\f881\f881"}.fa-duotone.fa-arrow-left:after,.fad.fa-arrow-left:after{content:"\f060\f060"}.fa-duotone.fa-arrow-from-right:after,.fa-duotone.fa-arrow-left-from-line:after,.fad.fa-arrow-from-right:after,.fad.fa-arrow-left-from-line:after{content:"\f344\f344"}.fa-duotone.fa-arrow-left-long:after,.fa-duotone.fa-long-arrow-left:after,.fad.fa-arrow-left-long:after,.fad.fa-long-arrow-left:after{content:"\f177\f177"}.fa-duotone.fa-arrow-left-long-to-line:after,.fad.fa-arrow-left-long-to-line:after{content:"\e3d4\e3d4"}.fa-duotone.fa-arrow-left-to-line:after,.fa-duotone.fa-arrow-to-left:after,.fad.fa-arrow-left-to-line:after,.fad.fa-arrow-to-left:after{content:"\f33e\f33e"}.fa-duotone.fa-arrow-pointer:after,.fa-duotone.fa-mouse-pointer:after,.fad.fa-arrow-pointer:after,.fad.fa-mouse-pointer:after{content:"\f245\f245"}.fa-duotone.fa-arrow-right:after,.fad.fa-arrow-right:after{content:"\f061\f061"}.fa-duotone.fa-arrow-right-arrow-left:after,.fa-duotone.fa-exchange:after,.fad.fa-arrow-right-arrow-left:after,.fad.fa-exchange:after{content:"\f0ec\f0ec"}.fa-duotone.fa-arrow-right-from-arc:after,.fad.fa-arrow-right-from-arc:after{content:"\e4b1\e4b1"}.fa-duotone.fa-arrow-right-from-bracket:after,.fa-duotone.fa-sign-out:after,.fad.fa-arrow-right-from-bracket:after,.fad.fa-sign-out:after{content:"\f08b\f08b"}.fa-duotone.fa-arrow-from-left:after,.fa-duotone.fa-arrow-right-from-line:after,.fad.fa-arrow-from-left:after,.fad.fa-arrow-right-from-line:after{content:"\f343\f343"}.fa-duotone.fa-arrow-right-long:after,.fa-duotone.fa-long-arrow-right:after,.fad.fa-arrow-right-long:after,.fad.fa-long-arrow-right:after{content:"\f178\f178"}.fa-duotone.fa-arrow-right-long-to-line:after,.fad.fa-arrow-right-long-to-line:after{content:"\e3d5\e3d5"}.fa-duotone.fa-arrow-right-to-arc:after,.fad.fa-arrow-right-to-arc:after{content:"\e4b2\e4b2"}.fa-duotone.fa-arrow-right-to-bracket:after,.fa-duotone.fa-sign-in:after,.fad.fa-arrow-right-to-bracket:after,.fad.fa-sign-in:after{content:"\f090\f090"}.fa-duotone.fa-arrow-right-to-city:after,.fad.fa-arrow-right-to-city:after{content:"\e4b3\e4b3"}.fa-duotone.fa-arrow-right-to-line:after,.fa-duotone.fa-arrow-to-right:after,.fad.fa-arrow-right-to-line:after,.fad.fa-arrow-to-right:after{content:"\f340\f340"}.fa-duotone.fa-arrow-left-rotate:after,.fa-duotone.fa-arrow-rotate-back:after,.fa-duotone.fa-arrow-rotate-backward:after,.fa-duotone.fa-arrow-rotate-left:after,.fa-duotone.fa-undo:after,.fad.fa-arrow-left-rotate:after,.fad.fa-arrow-rotate-back:after,.fad.fa-arrow-rotate-backward:after,.fad.fa-arrow-rotate-left:after,.fad.fa-undo:after{content:"\f0e2\f0e2"}.fa-duotone.fa-arrow-right-rotate:after,.fa-duotone.fa-arrow-rotate-forward:after,.fa-duotone.fa-arrow-rotate-right:after,.fa-duotone.fa-redo:after,.fad.fa-arrow-right-rotate:after,.fad.fa-arrow-rotate-forward:after,.fad.fa-arrow-rotate-right:after,.fad.fa-redo:after{content:"\f01e\f01e"}.fa-duotone.fa-arrow-trend-down:after,.fad.fa-arrow-trend-down:after{content:"\e097\e097"}.fa-duotone.fa-arrow-trend-up:after,.fad.fa-arrow-trend-up:after{content:"\e098\e098"}.fa-duotone.fa-arrow-turn-down:after,.fa-duotone.fa-level-down:after,.fad.fa-arrow-turn-down:after,.fad.fa-level-down:after{content:"\f149\f149"}.fa-duotone.fa-arrow-turn-down-left:after,.fad.fa-arrow-turn-down-left:after{content:"\e2e1\e2e1"}.fa-duotone.fa-arrow-turn-down-right:after,.fad.fa-arrow-turn-down-right:after{content:"\e3d6\e3d6"}.fa-duotone.fa-arrow-turn-up:after,.fa-duotone.fa-level-up:after,.fad.fa-arrow-turn-up:after,.fad.fa-level-up:after{content:"\f148\f148"}.fa-duotone.fa-arrow-up:after,.fad.fa-arrow-up:after{content:"\f062\f062"}.fa-duotone.fa-arrow-up-1-9:after,.fa-duotone.fa-sort-numeric-up:after,.fad.fa-arrow-up-1-9:after,.fad.fa-sort-numeric-up:after{content:"\f163\f163"}.fa-duotone.fa-arrow-up-9-1:after,.fa-duotone.fa-sort-numeric-up-alt:after,.fad.fa-arrow-up-9-1:after,.fad.fa-sort-numeric-up-alt:after{content:"\f887\f887"}.fa-duotone.fa-arrow-up-a-z:after,.fa-duotone.fa-sort-alpha-up:after,.fad.fa-arrow-up-a-z:after,.fad.fa-sort-alpha-up:after{content:"\f15e\f15e"}.fa-duotone.fa-arrow-up-arrow-down:after,.fa-duotone.fa-sort-up-down:after,.fad.fa-arrow-up-arrow-down:after,.fad.fa-sort-up-down:after{content:"\e099\e099"}.fa-duotone.fa-arrow-up-big-small:after,.fa-duotone.fa-sort-size-up:after,.fad.fa-arrow-up-big-small:after,.fad.fa-sort-size-up:after{content:"\f88e\f88e"}.fa-duotone.fa-arrow-up-from-arc:after,.fad.fa-arrow-up-from-arc:after{content:"\e4b4\e4b4"}.fa-duotone.fa-arrow-up-from-bracket:after,.fad.fa-arrow-up-from-bracket:after{content:"\e09a\e09a"}.fa-duotone.fa-arrow-up-from-dotted-line:after,.fad.fa-arrow-up-from-dotted-line:after{content:"\e09b\e09b"}.fa-duotone.fa-arrow-up-from-ground-water:after,.fad.fa-arrow-up-from-ground-water:after{content:"\e4b5\e4b5"}.fa-duotone.fa-arrow-from-bottom:after,.fa-duotone.fa-arrow-up-from-line:after,.fad.fa-arrow-from-bottom:after,.fad.fa-arrow-up-from-line:after{content:"\f342\f342"}.fa-duotone.fa-arrow-up-from-square:after,.fad.fa-arrow-up-from-square:after{content:"\e09c\e09c"}.fa-duotone.fa-arrow-up-from-water-pump:after,.fad.fa-arrow-up-from-water-pump:after{content:"\e4b6\e4b6"}.fa-duotone.fa-arrow-up-left:after,.fad.fa-arrow-up-left:after{content:"\e09d\e09d"}.fa-duotone.fa-arrow-up-left-from-circle:after,.fad.fa-arrow-up-left-from-circle:after{content:"\e09e\e09e"}.fa-duotone.fa-arrow-up-long:after,.fa-duotone.fa-long-arrow-up:after,.fad.fa-arrow-up-long:after,.fad.fa-long-arrow-up:after{content:"\f176\f176"}.fa-duotone.fa-arrow-up-right:after,.fad.fa-arrow-up-right:after{content:"\e09f\e09f"}.fa-duotone.fa-arrow-up-right-and-arrow-down-left-from-center:after,.fad.fa-arrow-up-right-and-arrow-down-left-from-center:after{content:"\e0a0\e0a0"}.fa-duotone.fa-arrow-up-right-dots:after,.fad.fa-arrow-up-right-dots:after{content:"\e4b7\e4b7"}.fa-duotone.fa-arrow-up-right-from-square:after,.fa-duotone.fa-external-link:after,.fad.fa-arrow-up-right-from-square:after,.fad.fa-external-link:after{content:"\f08e\f08e"}.fa-duotone.fa-arrow-up-short-wide:after,.fa-duotone.fa-sort-amount-up-alt:after,.fad.fa-arrow-up-short-wide:after,.fad.fa-sort-amount-up-alt:after{content:"\f885\f885"}.fa-duotone.fa-arrow-up-small-big:after,.fa-duotone.fa-sort-size-up-alt:after,.fad.fa-arrow-up-small-big:after,.fad.fa-sort-size-up-alt:after{content:"\f88f\f88f"}.fa-duotone.fa-arrow-up-square-triangle:after,.fa-duotone.fa-sort-shapes-up-alt:after,.fad.fa-arrow-up-square-triangle:after,.fad.fa-sort-shapes-up-alt:after{content:"\f88b\f88b"}.fa-duotone.fa-arrow-up-to-dotted-line:after,.fad.fa-arrow-up-to-dotted-line:after{content:"\e0a1\e0a1"}.fa-duotone.fa-arrow-to-top:after,.fa-duotone.fa-arrow-up-to-line:after,.fad.fa-arrow-to-top:after,.fad.fa-arrow-up-to-line:after{content:"\f341\f341"}.fa-duotone.fa-arrow-up-triangle-square:after,.fa-duotone.fa-sort-shapes-up:after,.fad.fa-arrow-up-triangle-square:after,.fad.fa-sort-shapes-up:after{content:"\f88a\f88a"}.fa-duotone.fa-arrow-up-wide-short:after,.fa-duotone.fa-sort-amount-up:after,.fad.fa-arrow-up-wide-short:after,.fad.fa-sort-amount-up:after{content:"\f161\f161"}.fa-duotone.fa-arrow-up-z-a:after,.fa-duotone.fa-sort-alpha-up-alt:after,.fad.fa-arrow-up-z-a:after,.fad.fa-sort-alpha-up-alt:after{content:"\f882\f882"}.fa-duotone.fa-arrows-cross:after,.fad.fa-arrows-cross:after{content:"\e0a2\e0a2"}.fa-duotone.fa-arrows-down-to-line:after,.fad.fa-arrows-down-to-line:after{content:"\e4b8\e4b8"}.fa-duotone.fa-arrows-down-to-people:after,.fad.fa-arrows-down-to-people:after{content:"\e4b9\e4b9"}.fa-duotone.fa-arrows-from-dotted-line:after,.fad.fa-arrows-from-dotted-line:after{content:"\e0a3\e0a3"}.fa-duotone.fa-arrows-from-line:after,.fad.fa-arrows-from-line:after{content:"\e0a4\e0a4"}.fa-duotone.fa-arrows-h:after,.fa-duotone.fa-arrows-left-right:after,.fad.fa-arrows-h:after,.fad.fa-arrows-left-right:after{content:"\f07e\f07e"}.fa-duotone.fa-arrows-left-right-to-line:after,.fad.fa-arrows-left-right-to-line:after{content:"\e4ba\e4ba"}.fa-duotone.fa-arrows-maximize:after,.fa-duotone.fa-expand-arrows:after,.fad.fa-arrows-maximize:after,.fad.fa-expand-arrows:after{content:"\f31d\f31d"}.fa-duotone.fa-arrows-minimize:after,.fa-duotone.fa-compress-arrows:after,.fad.fa-arrows-minimize:after,.fad.fa-compress-arrows:after{content:"\e0a5\e0a5"}.fa-duotone.fa-arrows-repeat:after,.fa-duotone.fa-repeat-alt:after,.fad.fa-arrows-repeat:after,.fad.fa-repeat-alt:after{content:"\f364\f364"}.fa-duotone.fa-arrows-repeat-1:after,.fa-duotone.fa-repeat-1-alt:after,.fad.fa-arrows-repeat-1:after,.fad.fa-repeat-1-alt:after{content:"\f366\f366"}.fa-duotone.fa-arrows-retweet:after,.fa-duotone.fa-retweet-alt:after,.fad.fa-arrows-retweet:after,.fad.fa-retweet-alt:after{content:"\f361\f361"}.fa-duotone.fa-arrows-rotate:after,.fa-duotone.fa-refresh:after,.fa-duotone.fa-sync:after,.fad.fa-arrows-rotate:after,.fad.fa-refresh:after,.fad.fa-sync:after{content:"\f021\f021"}.fa-duotone.fa-arrows-spin:after,.fad.fa-arrows-spin:after{content:"\e4bb\e4bb"}.fa-duotone.fa-arrows-split-up-and-left:after,.fad.fa-arrows-split-up-and-left:after{content:"\e4bc\e4bc"}.fa-duotone.fa-arrows-to-circle:after,.fad.fa-arrows-to-circle:after{content:"\e4bd\e4bd"}.fa-duotone.fa-arrows-to-dot:after,.fad.fa-arrows-to-dot:after{content:"\e4be\e4be"}.fa-duotone.fa-arrows-to-dotted-line:after,.fad.fa-arrows-to-dotted-line:after{content:"\e0a6\e0a6"}.fa-duotone.fa-arrows-to-eye:after,.fad.fa-arrows-to-eye:after{content:"\e4bf\e4bf"}.fa-duotone.fa-arrows-to-line:after,.fad.fa-arrows-to-line:after{content:"\e0a7\e0a7"}.fa-duotone.fa-arrows-turn-right:after,.fad.fa-arrows-turn-right:after{content:"\e4c0\e4c0"}.fa-duotone.fa-arrows-turn-to-dots:after,.fad.fa-arrows-turn-to-dots:after{content:"\e4c1\e4c1"}.fa-duotone.fa-arrows-up-down:after,.fa-duotone.fa-arrows-v:after,.fad.fa-arrows-up-down:after,.fad.fa-arrows-v:after{content:"\f07d\f07d"}.fa-duotone.fa-arrows-up-down-left-right:after,.fa-duotone.fa-arrows:after,.fad.fa-arrows-up-down-left-right:after,.fad.fa-arrows:after{content:"\f047\f047"}.fa-duotone.fa-arrows-up-to-line:after,.fad.fa-arrows-up-to-line:after{content:"\e4c2\e4c2"}.fa-duotone.fa-asterisk:after,.fad.fa-asterisk:after{content:"\2a\2a"}.fa-duotone.fa-at:after,.fad.fa-at:after{content:"\40\40"}.fa-duotone.fa-atom:after,.fad.fa-atom:after{content:"\f5d2\f5d2"}.fa-duotone.fa-atom-alt:after,.fa-duotone.fa-atom-simple:after,.fad.fa-atom-alt:after,.fad.fa-atom-simple:after{content:"\f5d3\f5d3"}.fa-duotone.fa-audio-description:after,.fad.fa-audio-description:after{content:"\f29e\f29e"}.fa-duotone.fa-audio-description-slash:after,.fad.fa-audio-description-slash:after{content:"\e0a8\e0a8"}.fa-duotone.fa-austral-sign:after,.fad.fa-austral-sign:after{content:"\e0a9\e0a9"}.fa-duotone.fa-avocado:after,.fad.fa-avocado:after{content:"\e0aa\e0aa"}.fa-duotone.fa-award:after,.fad.fa-award:after{content:"\f559\f559"}.fa-duotone.fa-award-simple:after,.fad.fa-award-simple:after{content:"\e0ab\e0ab"}.fa-duotone.fa-axe:after,.fad.fa-axe:after{content:"\f6b2\f6b2"}.fa-duotone.fa-axe-battle:after,.fad.fa-axe-battle:after{content:"\f6b3\f6b3"}.fa-duotone.fa-b:after,.fad.fa-b:after{content:"\42\42"}.fa-duotone.fa-baby:after,.fad.fa-baby:after{content:"\f77c\f77c"}.fa-duotone.fa-baby-carriage:after,.fa-duotone.fa-carriage-baby:after,.fad.fa-baby-carriage:after,.fad.fa-carriage-baby:after{content:"\f77d\f77d"}.fa-duotone.fa-backpack:after,.fad.fa-backpack:after{content:"\f5d4\f5d4"}.fa-duotone.fa-backward:after,.fad.fa-backward:after{content:"\f04a\f04a"}.fa-duotone.fa-backward-fast:after,.fa-duotone.fa-fast-backward:after,.fad.fa-backward-fast:after,.fad.fa-fast-backward:after{content:"\f049\f049"}.fa-duotone.fa-backward-step:after,.fa-duotone.fa-step-backward:after,.fad.fa-backward-step:after,.fad.fa-step-backward:after{content:"\f048\f048"}.fa-duotone.fa-bacon:after,.fad.fa-bacon:after{content:"\f7e5\f7e5"}.fa-duotone.fa-bacteria:after,.fad.fa-bacteria:after{content:"\e059\e059"}.fa-duotone.fa-bacterium:after,.fad.fa-bacterium:after{content:"\e05a\e05a"}.fa-duotone.fa-badge:after,.fad.fa-badge:after{content:"\f335\f335"}.fa-duotone.fa-badge-check:after,.fad.fa-badge-check:after{content:"\f336\f336"}.fa-duotone.fa-badge-dollar:after,.fad.fa-badge-dollar:after{content:"\f645\f645"}.fa-duotone.fa-badge-percent:after,.fad.fa-badge-percent:after{content:"\f646\f646"}.fa-duotone.fa-badge-sheriff:after,.fad.fa-badge-sheriff:after{content:"\f8a2\f8a2"}.fa-duotone.fa-badger-honey:after,.fad.fa-badger-honey:after{content:"\f6b4\f6b4"}.fa-duotone.fa-badminton:after,.fad.fa-badminton:after{content:"\e33a\e33a"}.fa-duotone.fa-bag-shopping:after,.fa-duotone.fa-shopping-bag:after,.fad.fa-bag-shopping:after,.fad.fa-shopping-bag:after{content:"\f290\f290"}.fa-duotone.fa-bagel:after,.fad.fa-bagel:after{content:"\e3d7\e3d7"}.fa-duotone.fa-bags-shopping:after,.fad.fa-bags-shopping:after{content:"\f847\f847"}.fa-duotone.fa-baguette:after,.fad.fa-baguette:after{content:"\e3d8\e3d8"}.fa-duotone.fa-bahai:after,.fad.fa-bahai:after{content:"\f666\f666"}.fa-duotone.fa-baht-sign:after,.fad.fa-baht-sign:after{content:"\e0ac\e0ac"}.fa-duotone.fa-ball-pile:after,.fad.fa-ball-pile:after{content:"\f77e\f77e"}.fa-duotone.fa-balloon:after,.fad.fa-balloon:after{content:"\e2e3\e2e3"}.fa-duotone.fa-balloons:after,.fad.fa-balloons:after{content:"\e2e4\e2e4"}.fa-duotone.fa-ballot:after,.fad.fa-ballot:after{content:"\f732\f732"}.fa-duotone.fa-ballot-check:after,.fad.fa-ballot-check:after{content:"\f733\f733"}.fa-duotone.fa-ban:after,.fa-duotone.fa-cancel:after,.fad.fa-ban:after,.fad.fa-cancel:after{content:"\f05e\f05e"}.fa-duotone.fa-ban-bug:after,.fa-duotone.fa-debug:after,.fad.fa-ban-bug:after,.fad.fa-debug:after{content:"\f7f9\f7f9"}.fa-duotone.fa-ban-parking:after,.fa-duotone.fa-parking-circle-slash:after,.fad.fa-ban-parking:after,.fad.fa-parking-circle-slash:after{content:"\f616\f616"}.fa-duotone.fa-ban-smoking:after,.fa-duotone.fa-smoking-ban:after,.fad.fa-ban-smoking:after,.fad.fa-smoking-ban:after{content:"\f54d\f54d"}.fa-duotone.fa-banana:after,.fad.fa-banana:after{content:"\e2e5\e2e5"}.fa-duotone.fa-band-aid:after,.fa-duotone.fa-bandage:after,.fad.fa-band-aid:after,.fad.fa-bandage:after{content:"\f462\f462"}.fa-duotone.fa-bangladeshi-taka-sign:after,.fad.fa-bangladeshi-taka-sign:after{content:"\e2e6\e2e6"}.fa-duotone.fa-banjo:after,.fad.fa-banjo:after{content:"\f8a3\f8a3"}.fa-duotone.fa-barcode:after,.fad.fa-barcode:after{content:"\f02a\f02a"}.fa-duotone.fa-barcode-read:after,.fad.fa-barcode-read:after{content:"\f464\f464"}.fa-duotone.fa-barcode-scan:after,.fad.fa-barcode-scan:after{content:"\f465\f465"}.fa-duotone.fa-bars:after,.fa-duotone.fa-navicon:after,.fad.fa-bars:after,.fad.fa-navicon:after{content:"\f0c9\f0c9"}.fa-duotone.fa-bars-filter:after,.fad.fa-bars-filter:after{content:"\e0ad\e0ad"}.fa-duotone.fa-bars-progress:after,.fa-duotone.fa-tasks-alt:after,.fad.fa-bars-progress:after,.fad.fa-tasks-alt:after{content:"\f828\f828"}.fa-duotone.fa-bars-sort:after,.fad.fa-bars-sort:after{content:"\e0ae\e0ae"}.fa-duotone.fa-bars-staggered:after,.fa-duotone.fa-reorder:after,.fa-duotone.fa-stream:after,.fad.fa-bars-staggered:after,.fad.fa-reorder:after,.fad.fa-stream:after{content:"\f550\f550"}.fa-duotone.fa-baseball-ball:after,.fa-duotone.fa-baseball:after,.fad.fa-baseball-ball:after,.fad.fa-baseball:after{content:"\f433\f433"}.fa-duotone.fa-baseball-bat-ball:after,.fad.fa-baseball-bat-ball:after{content:"\f432\f432"}.fa-duotone.fa-basket-shopping:after,.fa-duotone.fa-shopping-basket:after,.fad.fa-basket-shopping:after,.fad.fa-shopping-basket:after{content:"\f291\f291"}.fa-duotone.fa-basket-shopping-simple:after,.fa-duotone.fa-shopping-basket-alt:after,.fad.fa-basket-shopping-simple:after,.fad.fa-shopping-basket-alt:after{content:"\e0af\e0af"}.fa-duotone.fa-basketball-ball:after,.fa-duotone.fa-basketball:after,.fad.fa-basketball-ball:after,.fad.fa-basketball:after{content:"\f434\f434"}.fa-duotone.fa-basketball-hoop:after,.fad.fa-basketball-hoop:after{content:"\f435\f435"}.fa-duotone.fa-bat:after,.fad.fa-bat:after{content:"\f6b5\f6b5"}.fa-duotone.fa-bath:after,.fa-duotone.fa-bathtub:after,.fad.fa-bath:after,.fad.fa-bathtub:after{content:"\f2cd\f2cd"}.fa-duotone.fa-battery-bolt:after,.fad.fa-battery-bolt:after{content:"\f376\f376"}.fa-duotone.fa-battery-0:after,.fa-duotone.fa-battery-empty:after,.fad.fa-battery-0:after,.fad.fa-battery-empty:after{content:"\f244\f244"}.fa-duotone.fa-battery-exclamation:after,.fad.fa-battery-exclamation:after{content:"\e0b0\e0b0"}.fa-duotone.fa-battery-5:after,.fa-duotone.fa-battery-full:after,.fa-duotone.fa-battery:after,.fad.fa-battery-5:after,.fad.fa-battery-full:after,.fad.fa-battery:after{content:"\f240\f240"}.fa-duotone.fa-battery-3:after,.fa-duotone.fa-battery-half:after,.fad.fa-battery-3:after,.fad.fa-battery-half:after{content:"\f242\f242"}.fa-duotone.fa-battery-1:after,.fa-duotone.fa-battery-low:after,.fad.fa-battery-1:after,.fad.fa-battery-low:after{content:"\e0b1\e0b1"}.fa-duotone.fa-battery-2:after,.fa-duotone.fa-battery-quarter:after,.fad.fa-battery-2:after,.fad.fa-battery-quarter:after{content:"\f243\f243"}.fa-duotone.fa-battery-slash:after,.fad.fa-battery-slash:after{content:"\f377\f377"}.fa-duotone.fa-battery-4:after,.fa-duotone.fa-battery-three-quarters:after,.fad.fa-battery-4:after,.fad.fa-battery-three-quarters:after{content:"\f241\f241"}.fa-duotone.fa-bed:after,.fad.fa-bed:after{content:"\f236\f236"}.fa-duotone.fa-bed-bunk:after,.fad.fa-bed-bunk:after{content:"\f8f8\f8f8"}.fa-duotone.fa-bed-empty:after,.fad.fa-bed-empty:after{content:"\f8f9\f8f9"}.fa-duotone.fa-bed-alt:after,.fa-duotone.fa-bed-front:after,.fad.fa-bed-alt:after,.fad.fa-bed-front:after{content:"\f8f7\f8f7"}.fa-duotone.fa-bed-pulse:after,.fa-duotone.fa-procedures:after,.fad.fa-bed-pulse:after,.fad.fa-procedures:after{content:"\f487\f487"}.fa-duotone.fa-bee:after,.fad.fa-bee:after{content:"\e0b2\e0b2"}.fa-duotone.fa-beer-foam:after,.fa-duotone.fa-beer-mug:after,.fad.fa-beer-foam:after,.fad.fa-beer-mug:after{content:"\e0b3\e0b3"}.fa-duotone.fa-beer-mug-empty:after,.fa-duotone.fa-beer:after,.fad.fa-beer-mug-empty:after,.fad.fa-beer:after{content:"\f0fc\f0fc"}.fa-duotone.fa-bell:after,.fad.fa-bell:after{content:"\f0f3\f0f3"}.fa-duotone.fa-bell-concierge:after,.fa-duotone.fa-concierge-bell:after,.fad.fa-bell-concierge:after,.fad.fa-concierge-bell:after{content:"\f562\f562"}.fa-duotone.fa-bell-exclamation:after,.fad.fa-bell-exclamation:after{content:"\f848\f848"}.fa-duotone.fa-bell-on:after,.fad.fa-bell-on:after{content:"\f8fa\f8fa"}.fa-duotone.fa-bell-plus:after,.fad.fa-bell-plus:after{content:"\f849\f849"}.fa-duotone.fa-bell-school:after,.fad.fa-bell-school:after{content:"\f5d5\f5d5"}.fa-duotone.fa-bell-school-slash:after,.fad.fa-bell-school-slash:after{content:"\f5d6\f5d6"}.fa-duotone.fa-bell-slash:after,.fad.fa-bell-slash:after{content:"\f1f6\f1f6"}.fa-duotone.fa-bells:after,.fad.fa-bells:after{content:"\f77f\f77f"}.fa-duotone.fa-bench-tree:after,.fad.fa-bench-tree:after{content:"\e2e7\e2e7"}.fa-duotone.fa-bezier-curve:after,.fad.fa-bezier-curve:after{content:"\f55b\f55b"}.fa-duotone.fa-bicycle:after,.fad.fa-bicycle:after{content:"\f206\f206"}.fa-duotone.fa-binary:after,.fad.fa-binary:after{content:"\e33b\e33b"}.fa-duotone.fa-binary-circle-check:after,.fad.fa-binary-circle-check:after{content:"\e33c\e33c"}.fa-duotone.fa-binary-lock:after,.fad.fa-binary-lock:after{content:"\e33d\e33d"}.fa-duotone.fa-binary-slash:after,.fad.fa-binary-slash:after{content:"\e33e\e33e"}.fa-duotone.fa-binoculars:after,.fad.fa-binoculars:after{content:"\f1e5\f1e5"}.fa-duotone.fa-biohazard:after,.fad.fa-biohazard:after{content:"\f780\f780"}.fa-duotone.fa-bird:after,.fad.fa-bird:after{content:"\e469\e469"}.fa-duotone.fa-bitcoin-sign:after,.fad.fa-bitcoin-sign:after{content:"\e0b4\e0b4"}.fa-duotone.fa-blanket:after,.fad.fa-blanket:after{content:"\f498\f498"}.fa-duotone.fa-blanket-fire:after,.fad.fa-blanket-fire:after{content:"\e3da\e3da"}.fa-duotone.fa-blender:after,.fad.fa-blender:after{content:"\f517\f517"}.fa-duotone.fa-blender-phone:after,.fad.fa-blender-phone:after{content:"\f6b6\f6b6"}.fa-duotone.fa-blinds:after,.fad.fa-blinds:after{content:"\f8fb\f8fb"}.fa-duotone.fa-blinds-open:after,.fad.fa-blinds-open:after{content:"\f8fc\f8fc"}.fa-duotone.fa-blinds-raised:after,.fad.fa-blinds-raised:after{content:"\f8fd\f8fd"}.fa-duotone.fa-block:after,.fad.fa-block:after{content:"\e46a\e46a"}.fa-duotone.fa-block-brick:after,.fa-duotone.fa-wall-brick:after,.fad.fa-block-brick:after,.fad.fa-wall-brick:after{content:"\e3db\e3db"}.fa-duotone.fa-block-brick-fire:after,.fa-duotone.fa-firewall:after,.fad.fa-block-brick-fire:after,.fad.fa-firewall:after{content:"\e3dc\e3dc"}.fa-duotone.fa-block-question:after,.fad.fa-block-question:after{content:"\e3dd\e3dd"}.fa-duotone.fa-block-quote:after,.fad.fa-block-quote:after{content:"\e0b5\e0b5"}.fa-duotone.fa-blog:after,.fad.fa-blog:after{content:"\f781\f781"}.fa-duotone.fa-blueberries:after,.fad.fa-blueberries:after{content:"\e2e8\e2e8"}.fa-duotone.fa-bold:after,.fad.fa-bold:after{content:"\f032\f032"}.fa-duotone.fa-bolt:after,.fa-duotone.fa-zap:after,.fad.fa-bolt:after,.fad.fa-zap:after{content:"\f0e7\f0e7"}.fa-duotone.fa-bolt-auto:after,.fad.fa-bolt-auto:after{content:"\e0b6\e0b6"}.fa-duotone.fa-bolt-lightning:after,.fad.fa-bolt-lightning:after{content:"\e0b7\e0b7"}.fa-duotone.fa-bolt-slash:after,.fad.fa-bolt-slash:after{content:"\e0b8\e0b8"}.fa-duotone.fa-bomb:after,.fad.fa-bomb:after{content:"\f1e2\f1e2"}.fa-duotone.fa-bone:after,.fad.fa-bone:after{content:"\f5d7\f5d7"}.fa-duotone.fa-bone-break:after,.fad.fa-bone-break:after{content:"\f5d8\f5d8"}.fa-duotone.fa-bong:after,.fad.fa-bong:after{content:"\f55c\f55c"}.fa-duotone.fa-book:after,.fad.fa-book:after{content:"\f02d\f02d"}.fa-duotone.fa-book-arrow-right:after,.fad.fa-book-arrow-right:after{content:"\e0b9\e0b9"}.fa-duotone.fa-book-arrow-up:after,.fad.fa-book-arrow-up:after{content:"\e0ba\e0ba"}.fa-duotone.fa-atlas:after,.fa-duotone.fa-book-atlas:after,.fad.fa-atlas:after,.fad.fa-book-atlas:after{content:"\f558\f558"}.fa-duotone.fa-bible:after,.fa-duotone.fa-book-bible:after,.fad.fa-bible:after,.fad.fa-book-bible:after{content:"\f647\f647"}.fa-duotone.fa-book-alt:after,.fa-duotone.fa-book-blank:after,.fad.fa-book-alt:after,.fad.fa-book-blank:after{content:"\f5d9\f5d9"}.fa-duotone.fa-book-bookmark:after,.fad.fa-book-bookmark:after{content:"\e0bb\e0bb"}.fa-duotone.fa-book-circle-arrow-right:after,.fad.fa-book-circle-arrow-right:after{content:"\e0bc\e0bc"}.fa-duotone.fa-book-circle-arrow-up:after,.fad.fa-book-circle-arrow-up:after{content:"\e0bd\e0bd"}.fa-duotone.fa-book-copy:after,.fad.fa-book-copy:after{content:"\e0be\e0be"}.fa-duotone.fa-book-font:after,.fad.fa-book-font:after{content:"\e0bf\e0bf"}.fa-duotone.fa-book-heart:after,.fad.fa-book-heart:after{content:"\f499\f499"}.fa-duotone.fa-book-journal-whills:after,.fa-duotone.fa-journal-whills:after,.fad.fa-book-journal-whills:after,.fad.fa-journal-whills:after{content:"\f66a\f66a"}.fa-duotone.fa-book-medical:after,.fad.fa-book-medical:after{content:"\f7e6\f7e6"}.fa-duotone.fa-book-open:after,.fad.fa-book-open:after{content:"\f518\f518"}.fa-duotone.fa-book-open-alt:after,.fa-duotone.fa-book-open-cover:after,.fad.fa-book-open-alt:after,.fad.fa-book-open-cover:after{content:"\e0c0\e0c0"}.fa-duotone.fa-book-open-reader:after,.fa-duotone.fa-book-reader:after,.fad.fa-book-open-reader:after,.fad.fa-book-reader:after{content:"\f5da\f5da"}.fa-duotone.fa-book-quran:after,.fa-duotone.fa-quran:after,.fad.fa-book-quran:after,.fad.fa-quran:after{content:"\f687\f687"}.fa-duotone.fa-book-law:after,.fa-duotone.fa-book-section:after,.fad.fa-book-law:after,.fad.fa-book-section:after{content:"\e0c1\e0c1"}.fa-duotone.fa-book-dead:after,.fa-duotone.fa-book-skull:after,.fad.fa-book-dead:after,.fad.fa-book-skull:after{content:"\f6b7\f6b7"}.fa-duotone.fa-book-sparkles:after,.fa-duotone.fa-book-spells:after,.fad.fa-book-sparkles:after,.fad.fa-book-spells:after{content:"\f6b8\f6b8"}.fa-duotone.fa-book-tanakh:after,.fa-duotone.fa-tanakh:after,.fad.fa-book-tanakh:after,.fad.fa-tanakh:after{content:"\f827\f827"}.fa-duotone.fa-book-user:after,.fad.fa-book-user:after{content:"\f7e7\f7e7"}.fa-duotone.fa-bookmark:after,.fad.fa-bookmark:after{content:"\f02e\f02e"}.fa-duotone.fa-bookmark-slash:after,.fad.fa-bookmark-slash:after{content:"\e0c2\e0c2"}.fa-duotone.fa-books:after,.fad.fa-books:after{content:"\f5db\f5db"}.fa-duotone.fa-books-medical:after,.fad.fa-books-medical:after{content:"\f7e8\f7e8"}.fa-duotone.fa-boombox:after,.fad.fa-boombox:after{content:"\f8a5\f8a5"}.fa-duotone.fa-boot:after,.fad.fa-boot:after{content:"\f782\f782"}.fa-duotone.fa-boot-heeled:after,.fad.fa-boot-heeled:after{content:"\e33f\e33f"}.fa-duotone.fa-booth-curtain:after,.fad.fa-booth-curtain:after{content:"\f734\f734"}.fa-duotone.fa-border-all:after,.fad.fa-border-all:after{content:"\f84c\f84c"}.fa-duotone.fa-border-bottom:after,.fad.fa-border-bottom:after{content:"\f84d\f84d"}.fa-duotone.fa-border-bottom-right:after,.fa-duotone.fa-border-style-alt:after,.fad.fa-border-bottom-right:after,.fad.fa-border-style-alt:after{content:"\f854\f854"}.fa-duotone.fa-border-center-h:after,.fad.fa-border-center-h:after{content:"\f89c\f89c"}.fa-duotone.fa-border-center-v:after,.fad.fa-border-center-v:after{content:"\f89d\f89d"}.fa-duotone.fa-border-inner:after,.fad.fa-border-inner:after{content:"\f84e\f84e"}.fa-duotone.fa-border-left:after,.fad.fa-border-left:after{content:"\f84f\f84f"}.fa-duotone.fa-border-none:after,.fad.fa-border-none:after{content:"\f850\f850"}.fa-duotone.fa-border-outer:after,.fad.fa-border-outer:after{content:"\f851\f851"}.fa-duotone.fa-border-right:after,.fad.fa-border-right:after{content:"\f852\f852"}.fa-duotone.fa-border-top:after,.fad.fa-border-top:after{content:"\f855\f855"}.fa-duotone.fa-border-style:after,.fa-duotone.fa-border-top-left:after,.fad.fa-border-style:after,.fad.fa-border-top-left:after{content:"\f853\f853"}.fa-duotone.fa-bore-hole:after,.fad.fa-bore-hole:after{content:"\e4c3\e4c3"}.fa-duotone.fa-bottle-droplet:after,.fad.fa-bottle-droplet:after{content:"\e4c4\e4c4"}.fa-duotone.fa-bottle-water:after,.fad.fa-bottle-water:after{content:"\e4c5\e4c5"}.fa-duotone.fa-bow-arrow:after,.fad.fa-bow-arrow:after{content:"\f6b9\f6b9"}.fa-duotone.fa-bowl-chopsticks:after,.fad.fa-bowl-chopsticks:after{content:"\e2e9\e2e9"}.fa-duotone.fa-bowl-chopsticks-noodles:after,.fad.fa-bowl-chopsticks-noodles:after{content:"\e2ea\e2ea"}.fa-duotone.fa-bowl-food:after,.fad.fa-bowl-food:after{content:"\e4c6\e4c6"}.fa-duotone.fa-bowl-hot:after,.fa-duotone.fa-soup:after,.fad.fa-bowl-hot:after,.fad.fa-soup:after{content:"\f823\f823"}.fa-duotone.fa-bowl-rice:after,.fad.fa-bowl-rice:after{content:"\e2eb\e2eb"}.fa-duotone.fa-bowl-scoop:after,.fa-duotone.fa-bowl-shaved-ice:after,.fad.fa-bowl-scoop:after,.fad.fa-bowl-shaved-ice:after{content:"\e3de\e3de"}.fa-duotone.fa-bowl-scoops:after,.fad.fa-bowl-scoops:after{content:"\e3df\e3df"}.fa-duotone.fa-bowl-soft-serve:after,.fad.fa-bowl-soft-serve:after{content:"\e46b\e46b"}.fa-duotone.fa-bowl-spoon:after,.fad.fa-bowl-spoon:after{content:"\e3e0\e3e0"}.fa-duotone.fa-bowling-ball:after,.fad.fa-bowling-ball:after{content:"\f436\f436"}.fa-duotone.fa-bowling-ball-pin:after,.fad.fa-bowling-ball-pin:after{content:"\e0c3\e0c3"}.fa-duotone.fa-bowling-pins:after,.fad.fa-bowling-pins:after{content:"\f437\f437"}.fa-duotone.fa-box:after,.fad.fa-box:after{content:"\f466\f466"}.fa-duotone.fa-archive:after,.fa-duotone.fa-box-archive:after,.fad.fa-archive:after,.fad.fa-box-archive:after{content:"\f187\f187"}.fa-duotone.fa-box-ballot:after,.fad.fa-box-ballot:after{content:"\f735\f735"}.fa-duotone.fa-box-check:after,.fad.fa-box-check:after{content:"\f467\f467"}.fa-duotone.fa-box-circle-check:after,.fad.fa-box-circle-check:after{content:"\e0c4\e0c4"}.fa-duotone.fa-box-dollar:after,.fa-duotone.fa-box-usd:after,.fad.fa-box-dollar:after,.fad.fa-box-usd:after{content:"\f4a0\f4a0"}.fa-duotone.fa-box-heart:after,.fad.fa-box-heart:after{content:"\f49d\f49d"}.fa-duotone.fa-box-open:after,.fad.fa-box-open:after{content:"\f49e\f49e"}.fa-duotone.fa-box-full:after,.fa-duotone.fa-box-open-full:after,.fad.fa-box-full:after,.fad.fa-box-open-full:after{content:"\f49c\f49c"}.fa-duotone.fa-box-alt:after,.fa-duotone.fa-box-taped:after,.fad.fa-box-alt:after,.fad.fa-box-taped:after{content:"\f49a\f49a"}.fa-duotone.fa-box-tissue:after,.fad.fa-box-tissue:after{content:"\e05b\e05b"}.fa-duotone.fa-boxes-packing:after,.fad.fa-boxes-packing:after{content:"\e4c7\e4c7"}.fa-duotone.fa-boxes-alt:after,.fa-duotone.fa-boxes-stacked:after,.fa-duotone.fa-boxes:after,.fad.fa-boxes-alt:after,.fad.fa-boxes-stacked:after,.fad.fa-boxes:after{content:"\f468\f468"}.fa-duotone.fa-boxing-glove:after,.fa-duotone.fa-glove-boxing:after,.fad.fa-boxing-glove:after,.fad.fa-glove-boxing:after{content:"\f438\f438"}.fa-duotone.fa-bracket-curly-left:after,.fa-duotone.fa-bracket-curly:after,.fad.fa-bracket-curly-left:after,.fad.fa-bracket-curly:after{content:"\7b\7b"}.fa-duotone.fa-bracket-curly-right:after,.fad.fa-bracket-curly-right:after{content:"\7d\7d"}.fa-duotone.fa-bracket-round:after,.fa-duotone.fa-parenthesis:after,.fad.fa-bracket-round:after,.fad.fa-parenthesis:after{content:"\28\28"}.fa-duotone.fa-bracket-round-right:after,.fad.fa-bracket-round-right:after{content:"\29\29"}.fa-duotone.fa-bracket-left:after,.fa-duotone.fa-bracket-square:after,.fa-duotone.fa-bracket:after,.fad.fa-bracket-left:after,.fad.fa-bracket-square:after,.fad.fa-bracket:after{content:"\5b\5b"}.fa-duotone.fa-bracket-square-right:after,.fad.fa-bracket-square-right:after{content:"\5d\5d"}.fa-duotone.fa-brackets-curly:after,.fad.fa-brackets-curly:after{content:"\f7ea\f7ea"}.fa-duotone.fa-brackets-round:after,.fa-duotone.fa-parentheses:after,.fad.fa-brackets-round:after,.fad.fa-parentheses:after{content:"\e0c5\e0c5"}.fa-duotone.fa-brackets-square:after,.fa-duotone.fa-brackets:after,.fad.fa-brackets-square:after,.fad.fa-brackets:after{content:"\f7e9\f7e9"}.fa-duotone.fa-braille:after,.fad.fa-braille:after{content:"\f2a1\f2a1"}.fa-duotone.fa-brain:after,.fad.fa-brain:after{content:"\f5dc\f5dc"}.fa-duotone.fa-brain-arrow-curved-right:after,.fa-duotone.fa-mind-share:after,.fad.fa-brain-arrow-curved-right:after,.fad.fa-mind-share:after{content:"\f677\f677"}.fa-duotone.fa-brain-circuit:after,.fad.fa-brain-circuit:after{content:"\e0c6\e0c6"}.fa-duotone.fa-brake-warning:after,.fad.fa-brake-warning:after{content:"\e0c7\e0c7"}.fa-duotone.fa-brazilian-real-sign:after,.fad.fa-brazilian-real-sign:after{content:"\e46c\e46c"}.fa-duotone.fa-bread-loaf:after,.fad.fa-bread-loaf:after{content:"\f7eb\f7eb"}.fa-duotone.fa-bread-slice:after,.fad.fa-bread-slice:after{content:"\f7ec\f7ec"}.fa-duotone.fa-bread-slice-butter:after,.fad.fa-bread-slice-butter:after{content:"\e3e1\e3e1"}.fa-duotone.fa-bridge:after,.fad.fa-bridge:after{content:"\e4c8\e4c8"}.fa-duotone.fa-bridge-circle-check:after,.fad.fa-bridge-circle-check:after{content:"\e4c9\e4c9"}.fa-duotone.fa-bridge-circle-exclamation:after,.fad.fa-bridge-circle-exclamation:after{content:"\e4ca\e4ca"}.fa-duotone.fa-bridge-circle-xmark:after,.fad.fa-bridge-circle-xmark:after{content:"\e4cb\e4cb"}.fa-duotone.fa-bridge-lock:after,.fad.fa-bridge-lock:after{content:"\e4cc\e4cc"}.fa-duotone.fa-bridge-suspension:after,.fad.fa-bridge-suspension:after{content:"\e4cd\e4cd"}.fa-duotone.fa-bridge-water:after,.fad.fa-bridge-water:after{content:"\e4ce\e4ce"}.fa-duotone.fa-briefcase:after,.fad.fa-briefcase:after{content:"\f0b1\f0b1"}.fa-duotone.fa-briefcase-arrow-right:after,.fad.fa-briefcase-arrow-right:after{content:"\e2f2\e2f2"}.fa-duotone.fa-briefcase-blank:after,.fad.fa-briefcase-blank:after{content:"\e0c8\e0c8"}.fa-duotone.fa-briefcase-medical:after,.fad.fa-briefcase-medical:after{content:"\f469\f469"}.fa-duotone.fa-brightness:after,.fad.fa-brightness:after{content:"\e0c9\e0c9"}.fa-duotone.fa-brightness-low:after,.fad.fa-brightness-low:after{content:"\e0ca\e0ca"}.fa-duotone.fa-bring-forward:after,.fad.fa-bring-forward:after{content:"\f856\f856"}.fa-duotone.fa-bring-front:after,.fad.fa-bring-front:after{content:"\f857\f857"}.fa-duotone.fa-broccoli:after,.fad.fa-broccoli:after{content:"\e3e2\e3e2"}.fa-duotone.fa-broom:after,.fad.fa-broom:after{content:"\f51a\f51a"}.fa-duotone.fa-broom-ball:after,.fa-duotone.fa-quidditch-broom-ball:after,.fa-duotone.fa-quidditch:after,.fad.fa-broom-ball:after,.fad.fa-quidditch-broom-ball:after,.fad.fa-quidditch:after{content:"\f458\f458"}.fa-duotone.fa-browser:after,.fad.fa-browser:after{content:"\f37e\f37e"}.fa-duotone.fa-browsers:after,.fad.fa-browsers:after{content:"\e0cb\e0cb"}.fa-duotone.fa-brush:after,.fad.fa-brush:after{content:"\f55d\f55d"}.fa-duotone.fa-bucket:after,.fad.fa-bucket:after{content:"\e4cf\e4cf"}.fa-duotone.fa-bug:after,.fad.fa-bug:after{content:"\f188\f188"}.fa-duotone.fa-bug-slash:after,.fad.fa-bug-slash:after{content:"\e490\e490"}.fa-duotone.fa-bugs:after,.fad.fa-bugs:after{content:"\e4d0\e4d0"}.fa-duotone.fa-building:after,.fad.fa-building:after{content:"\f1ad\f1ad"}.fa-duotone.fa-building-circle-arrow-right:after,.fad.fa-building-circle-arrow-right:after{content:"\e4d1\e4d1"}.fa-duotone.fa-building-circle-check:after,.fad.fa-building-circle-check:after{content:"\e4d2\e4d2"}.fa-duotone.fa-building-circle-exclamation:after,.fad.fa-building-circle-exclamation:after{content:"\e4d3\e4d3"}.fa-duotone.fa-building-circle-xmark:after,.fad.fa-building-circle-xmark:after{content:"\e4d4\e4d4"}.fa-duotone.fa-bank:after,.fa-duotone.fa-building-columns:after,.fa-duotone.fa-institution:after,.fa-duotone.fa-museum:after,.fa-duotone.fa-university:after,.fad.fa-bank:after,.fad.fa-building-columns:after,.fad.fa-institution:after,.fad.fa-museum:after,.fad.fa-university:after{content:"\f19c\f19c"}.fa-duotone.fa-building-flag:after,.fad.fa-building-flag:after{content:"\e4d5\e4d5"}.fa-duotone.fa-building-lock:after,.fad.fa-building-lock:after{content:"\e4d6\e4d6"}.fa-duotone.fa-building-ngo:after,.fad.fa-building-ngo:after{content:"\e4d7\e4d7"}.fa-duotone.fa-building-shield:after,.fad.fa-building-shield:after{content:"\e4d8\e4d8"}.fa-duotone.fa-building-un:after,.fad.fa-building-un:after{content:"\e4d9\e4d9"}.fa-duotone.fa-building-user:after,.fad.fa-building-user:after{content:"\e4da\e4da"}.fa-duotone.fa-building-wheat:after,.fad.fa-building-wheat:after{content:"\e4db\e4db"}.fa-duotone.fa-buildings:after,.fad.fa-buildings:after{content:"\e0cc\e0cc"}.fa-duotone.fa-bullhorn:after,.fad.fa-bullhorn:after{content:"\f0a1\f0a1"}.fa-duotone.fa-bullseye:after,.fad.fa-bullseye:after{content:"\f140\f140"}.fa-duotone.fa-bullseye-arrow:after,.fad.fa-bullseye-arrow:after{content:"\f648\f648"}.fa-duotone.fa-bullseye-pointer:after,.fad.fa-bullseye-pointer:after{content:"\f649\f649"}.fa-duotone.fa-burger:after,.fa-duotone.fa-hamburger:after,.fad.fa-burger:after,.fad.fa-hamburger:after{content:"\f805\f805"}.fa-duotone.fa-burger-cheese:after,.fa-duotone.fa-cheeseburger:after,.fad.fa-burger-cheese:after,.fad.fa-cheeseburger:after{content:"\f7f1\f7f1"}.fa-duotone.fa-burger-fries:after,.fad.fa-burger-fries:after{content:"\e0cd\e0cd"}.fa-duotone.fa-burger-glass:after,.fad.fa-burger-glass:after{content:"\e0ce\e0ce"}.fa-duotone.fa-burger-lettuce:after,.fad.fa-burger-lettuce:after{content:"\e3e3\e3e3"}.fa-duotone.fa-burger-soda:after,.fad.fa-burger-soda:after{content:"\f858\f858"}.fa-duotone.fa-burrito:after,.fad.fa-burrito:after{content:"\f7ed\f7ed"}.fa-duotone.fa-burst:after,.fad.fa-burst:after{content:"\e4dc\e4dc"}.fa-duotone.fa-bus:after,.fad.fa-bus:after{content:"\f207\f207"}.fa-duotone.fa-bus-school:after,.fad.fa-bus-school:after{content:"\f5dd\f5dd"}.fa-duotone.fa-bus-alt:after,.fa-duotone.fa-bus-simple:after,.fad.fa-bus-alt:after,.fad.fa-bus-simple:after{content:"\f55e\f55e"}.fa-duotone.fa-briefcase-clock:after,.fa-duotone.fa-business-time:after,.fad.fa-briefcase-clock:after,.fad.fa-business-time:after{content:"\f64a\f64a"}.fa-duotone.fa-butter:after,.fad.fa-butter:after{content:"\e3e4\e3e4"}.fa-duotone.fa-c:after,.fad.fa-c:after{content:"\43\43"}.fa-duotone.fa-cabin:after,.fad.fa-cabin:after{content:"\e46d\e46d"}.fa-duotone.fa-cabinet-filing:after,.fad.fa-cabinet-filing:after{content:"\f64b\f64b"}.fa-duotone.fa-cable-car:after,.fad.fa-cable-car:after{content:"\e0cf\e0cf"}.fa-duotone.fa-cactus:after,.fad.fa-cactus:after{content:"\f8a7\f8a7"}.fa-duotone.fa-birthday-cake:after,.fa-duotone.fa-cake-candles:after,.fa-duotone.fa-cake:after,.fad.fa-birthday-cake:after,.fad.fa-cake-candles:after,.fad.fa-cake:after{content:"\f1fd\f1fd"}.fa-duotone.fa-cake-slice:after,.fa-duotone.fa-shortcake:after,.fad.fa-cake-slice:after,.fad.fa-shortcake:after{content:"\e3e5\e3e5"}.fa-duotone.fa-calculator:after,.fad.fa-calculator:after{content:"\f1ec\f1ec"}.fa-duotone.fa-calculator-alt:after,.fa-duotone.fa-calculator-simple:after,.fad.fa-calculator-alt:after,.fad.fa-calculator-simple:after{content:"\f64c\f64c"}.fa-duotone.fa-calendar:after,.fad.fa-calendar:after{content:"\f133\f133"}.fa-duotone.fa-calendar-arrow-down:after,.fa-duotone.fa-calendar-download:after,.fad.fa-calendar-arrow-down:after,.fad.fa-calendar-download:after{content:"\e0d0\e0d0"}.fa-duotone.fa-calendar-arrow-up:after,.fa-duotone.fa-calendar-upload:after,.fad.fa-calendar-arrow-up:after,.fad.fa-calendar-upload:after{content:"\e0d1\e0d1"}.fa-duotone.fa-calendar-check:after,.fad.fa-calendar-check:after{content:"\f274\f274"}.fa-duotone.fa-calendar-circle-exclamation:after,.fad.fa-calendar-circle-exclamation:after{content:"\e46e\e46e"}.fa-duotone.fa-calendar-circle-minus:after,.fad.fa-calendar-circle-minus:after{content:"\e46f\e46f"}.fa-duotone.fa-calendar-circle-plus:after,.fad.fa-calendar-circle-plus:after{content:"\e470\e470"}.fa-duotone.fa-calendar-circle-user:after,.fad.fa-calendar-circle-user:after{content:"\e471\e471"}.fa-duotone.fa-calendar-clock:after,.fa-duotone.fa-calendar-time:after,.fad.fa-calendar-clock:after,.fad.fa-calendar-time:after{content:"\e0d2\e0d2"}.fa-duotone.fa-calendar-day:after,.fad.fa-calendar-day:after{content:"\f783\f783"}.fa-duotone.fa-calendar-alt:after,.fa-duotone.fa-calendar-days:after,.fad.fa-calendar-alt:after,.fad.fa-calendar-days:after{content:"\f073\f073"}.fa-duotone.fa-calendar-exclamation:after,.fad.fa-calendar-exclamation:after{content:"\f334\f334"}.fa-duotone.fa-calendar-heart:after,.fad.fa-calendar-heart:after{content:"\e0d3\e0d3"}.fa-duotone.fa-calendar-image:after,.fad.fa-calendar-image:after{content:"\e0d4\e0d4"}.fa-duotone.fa-calendar-lines:after,.fa-duotone.fa-calendar-note:after,.fad.fa-calendar-lines:after,.fad.fa-calendar-note:after{content:"\e0d5\e0d5"}.fa-duotone.fa-calendar-lines-pen:after,.fad.fa-calendar-lines-pen:after{content:"\e472\e472"}.fa-duotone.fa-calendar-minus:after,.fad.fa-calendar-minus:after{content:"\f272\f272"}.fa-duotone.fa-calendar-edit:after,.fa-duotone.fa-calendar-pen:after,.fad.fa-calendar-edit:after,.fad.fa-calendar-pen:after{content:"\f333\f333"}.fa-duotone.fa-calendar-plus:after,.fad.fa-calendar-plus:after{content:"\f271\f271"}.fa-duotone.fa-calendar-range:after,.fad.fa-calendar-range:after{content:"\e0d6\e0d6"}.fa-duotone.fa-calendar-star:after,.fad.fa-calendar-star:after{content:"\f736\f736"}.fa-duotone.fa-calendar-week:after,.fad.fa-calendar-week:after{content:"\f784\f784"}.fa-duotone.fa-calendar-times:after,.fa-duotone.fa-calendar-xmark:after,.fad.fa-calendar-times:after,.fad.fa-calendar-xmark:after{content:"\f273\f273"}.fa-duotone.fa-calendars:after,.fad.fa-calendars:after{content:"\e0d7\e0d7"}.fa-duotone.fa-camcorder:after,.fa-duotone.fa-video-handheld:after,.fad.fa-camcorder:after,.fad.fa-video-handheld:after{content:"\f8a8\f8a8"}.fa-duotone.fa-camera-alt:after,.fa-duotone.fa-camera:after,.fad.fa-camera-alt:after,.fad.fa-camera:after{content:"\f030\f030"}.fa-duotone.fa-camera-cctv:after,.fa-duotone.fa-cctv:after,.fad.fa-camera-cctv:after,.fad.fa-cctv:after{content:"\f8ac\f8ac"}.fa-duotone.fa-camera-movie:after,.fad.fa-camera-movie:after{content:"\f8a9\f8a9"}.fa-duotone.fa-camera-polaroid:after,.fad.fa-camera-polaroid:after{content:"\f8aa\f8aa"}.fa-duotone.fa-camera-retro:after,.fad.fa-camera-retro:after{content:"\f083\f083"}.fa-duotone.fa-camera-rotate:after,.fad.fa-camera-rotate:after{content:"\e0d8\e0d8"}.fa-duotone.fa-camera-home:after,.fa-duotone.fa-camera-security:after,.fad.fa-camera-home:after,.fad.fa-camera-security:after{content:"\f8fe\f8fe"}.fa-duotone.fa-camera-slash:after,.fad.fa-camera-slash:after{content:"\e0d9\e0d9"}.fa-duotone.fa-camera-viewfinder:after,.fa-duotone.fa-screenshot:after,.fad.fa-camera-viewfinder:after,.fad.fa-screenshot:after{content:"\e0da\e0da"}.fa-duotone.fa-camera-web:after,.fa-duotone.fa-webcam:after,.fad.fa-camera-web:after,.fad.fa-webcam:after{content:"\f832\f832"}.fa-duotone.fa-camera-web-slash:after,.fa-duotone.fa-webcam-slash:after,.fad.fa-camera-web-slash:after,.fad.fa-webcam-slash:after{content:"\f833\f833"}.fa-duotone.fa-campfire:after,.fad.fa-campfire:after{content:"\f6ba\f6ba"}.fa-duotone.fa-campground:after,.fad.fa-campground:after{content:"\f6bb\f6bb"}.fa-duotone.fa-can-food:after,.fad.fa-can-food:after{content:"\e3e6\e3e6"}.fa-duotone.fa-candle-holder:after,.fad.fa-candle-holder:after{content:"\f6bc\f6bc"}.fa-duotone.fa-candy:after,.fad.fa-candy:after{content:"\e3e7\e3e7"}.fa-duotone.fa-candy-bar:after,.fa-duotone.fa-chocolate-bar:after,.fad.fa-candy-bar:after,.fad.fa-chocolate-bar:after{content:"\e3e8\e3e8"}.fa-duotone.fa-candy-cane:after,.fad.fa-candy-cane:after{content:"\f786\f786"}.fa-duotone.fa-candy-corn:after,.fad.fa-candy-corn:after{content:"\f6bd\f6bd"}.fa-duotone.fa-cannabis:after,.fad.fa-cannabis:after{content:"\f55f\f55f"}.fa-duotone.fa-capsules:after,.fad.fa-capsules:after{content:"\f46b\f46b"}.fa-duotone.fa-automobile:after,.fa-duotone.fa-car:after,.fad.fa-automobile:after,.fad.fa-car:after{content:"\f1b9\f1b9"}.fa-duotone.fa-battery-car:after,.fa-duotone.fa-car-battery:after,.fad.fa-battery-car:after,.fad.fa-car-battery:after{content:"\f5df\f5df"}.fa-duotone.fa-car-bolt:after,.fad.fa-car-bolt:after{content:"\e341\e341"}.fa-duotone.fa-car-building:after,.fad.fa-car-building:after{content:"\f859\f859"}.fa-duotone.fa-car-bump:after,.fad.fa-car-bump:after{content:"\f5e0\f5e0"}.fa-duotone.fa-car-burst:after,.fa-duotone.fa-car-crash:after,.fad.fa-car-burst:after,.fad.fa-car-crash:after{content:"\f5e1\f5e1"}.fa-duotone.fa-car-bus:after,.fad.fa-car-bus:after{content:"\f85a\f85a"}.fa-duotone.fa-car-circle-bolt:after,.fad.fa-car-circle-bolt:after{content:"\e342\e342"}.fa-duotone.fa-car-garage:after,.fad.fa-car-garage:after{content:"\f5e2\f5e2"}.fa-duotone.fa-car-mirrors:after,.fad.fa-car-mirrors:after{content:"\e343\e343"}.fa-duotone.fa-car-on:after,.fad.fa-car-on:after{content:"\e4dd\e4dd"}.fa-duotone.fa-car-alt:after,.fa-duotone.fa-car-rear:after,.fad.fa-car-alt:after,.fad.fa-car-rear:after{content:"\f5de\f5de"}.fa-duotone.fa-car-side:after,.fad.fa-car-side:after{content:"\f5e4\f5e4"}.fa-duotone.fa-car-side-bolt:after,.fad.fa-car-side-bolt:after{content:"\e344\e344"}.fa-duotone.fa-car-tilt:after,.fad.fa-car-tilt:after{content:"\f5e5\f5e5"}.fa-duotone.fa-car-tunnel:after,.fad.fa-car-tunnel:after{content:"\e4de\e4de"}.fa-duotone.fa-car-wash:after,.fad.fa-car-wash:after{content:"\f5e6\f5e6"}.fa-duotone.fa-car-mechanic:after,.fa-duotone.fa-car-wrench:after,.fad.fa-car-mechanic:after,.fad.fa-car-wrench:after{content:"\f5e3\f5e3"}.fa-duotone.fa-caravan:after,.fad.fa-caravan:after{content:"\f8ff\f8ff"}.fa-duotone.fa-caravan-alt:after,.fa-duotone.fa-caravan-simple:after,.fad.fa-caravan-alt:after,.fad.fa-caravan-simple:after{content:"\e000\e000"}.fa-duotone.fa-card-club:after,.fad.fa-card-club:after{content:"\e3e9\e3e9"}.fa-duotone.fa-card-diamond:after,.fad.fa-card-diamond:after{content:"\e3ea\e3ea"}.fa-duotone.fa-card-heart:after,.fad.fa-card-heart:after{content:"\e3eb\e3eb"}.fa-duotone.fa-card-spade:after,.fad.fa-card-spade:after{content:"\e3ec\e3ec"}.fa-duotone.fa-cards:after,.fad.fa-cards:after{content:"\e3ed\e3ed"}.fa-duotone.fa-cards-blank:after,.fad.fa-cards-blank:after{content:"\e4df\e4df"}.fa-duotone.fa-caret-down:after,.fad.fa-caret-down:after{content:"\f0d7\f0d7"}.fa-duotone.fa-caret-left:after,.fad.fa-caret-left:after{content:"\f0d9\f0d9"}.fa-duotone.fa-caret-right:after,.fad.fa-caret-right:after{content:"\f0da\f0da"}.fa-duotone.fa-caret-up:after,.fad.fa-caret-up:after{content:"\f0d8\f0d8"}.fa-duotone.fa-carrot:after,.fad.fa-carrot:after{content:"\f787\f787"}.fa-duotone.fa-cars:after,.fad.fa-cars:after{content:"\f85b\f85b"}.fa-duotone.fa-cart-arrow-down:after,.fad.fa-cart-arrow-down:after{content:"\f218\f218"}.fa-duotone.fa-cart-arrow-up:after,.fad.fa-cart-arrow-up:after{content:"\e3ee\e3ee"}.fa-duotone.fa-cart-circle-arrow-down:after,.fad.fa-cart-circle-arrow-down:after{content:"\e3ef\e3ef"}.fa-duotone.fa-cart-circle-arrow-up:after,.fad.fa-cart-circle-arrow-up:after{content:"\e3f0\e3f0"}.fa-duotone.fa-cart-circle-check:after,.fad.fa-cart-circle-check:after{content:"\e3f1\e3f1"}.fa-duotone.fa-cart-circle-exclamation:after,.fad.fa-cart-circle-exclamation:after{content:"\e3f2\e3f2"}.fa-duotone.fa-cart-circle-plus:after,.fad.fa-cart-circle-plus:after{content:"\e3f3\e3f3"}.fa-duotone.fa-cart-circle-xmark:after,.fad.fa-cart-circle-xmark:after{content:"\e3f4\e3f4"}.fa-duotone.fa-cart-flatbed:after,.fa-duotone.fa-dolly-flatbed:after,.fad.fa-cart-flatbed:after,.fad.fa-dolly-flatbed:after{content:"\f474\f474"}.fa-duotone.fa-cart-flatbed-boxes:after,.fa-duotone.fa-dolly-flatbed-alt:after,.fad.fa-cart-flatbed-boxes:after,.fad.fa-dolly-flatbed-alt:after{content:"\f475\f475"}.fa-duotone.fa-cart-flatbed-empty:after,.fa-duotone.fa-dolly-flatbed-empty:after,.fad.fa-cart-flatbed-empty:after,.fad.fa-dolly-flatbed-empty:after{content:"\f476\f476"}.fa-duotone.fa-cart-flatbed-suitcase:after,.fa-duotone.fa-luggage-cart:after,.fad.fa-cart-flatbed-suitcase:after,.fad.fa-luggage-cart:after{content:"\f59d\f59d"}.fa-duotone.fa-cart-minus:after,.fad.fa-cart-minus:after{content:"\e0db\e0db"}.fa-duotone.fa-cart-plus:after,.fad.fa-cart-plus:after{content:"\f217\f217"}.fa-duotone.fa-cart-shopping:after,.fa-duotone.fa-shopping-cart:after,.fad.fa-cart-shopping:after,.fad.fa-shopping-cart:after{content:"\f07a\f07a"}.fa-duotone.fa-cart-shopping-fast:after,.fad.fa-cart-shopping-fast:after{content:"\e0dc\e0dc"}.fa-duotone.fa-cart-xmark:after,.fad.fa-cart-xmark:after{content:"\e0dd\e0dd"}.fa-duotone.fa-cash-register:after,.fad.fa-cash-register:after{content:"\f788\f788"}.fa-duotone.fa-betamax:after,.fa-duotone.fa-cassette-betamax:after,.fad.fa-betamax:after,.fad.fa-cassette-betamax:after{content:"\f8a4\f8a4"}.fa-duotone.fa-cassette-tape:after,.fad.fa-cassette-tape:after{content:"\f8ab\f8ab"}.fa-duotone.fa-cassette-vhs:after,.fa-duotone.fa-vhs:after,.fad.fa-cassette-vhs:after,.fad.fa-vhs:after{content:"\f8ec\f8ec"}.fa-duotone.fa-castle:after,.fad.fa-castle:after{content:"\e0de\e0de"}.fa-duotone.fa-cat:after,.fad.fa-cat:after{content:"\f6be\f6be"}.fa-duotone.fa-cat-space:after,.fad.fa-cat-space:after{content:"\e001\e001"}.fa-duotone.fa-cauldron:after,.fad.fa-cauldron:after{content:"\f6bf\f6bf"}.fa-duotone.fa-cedi-sign:after,.fad.fa-cedi-sign:after{content:"\e0df\e0df"}.fa-duotone.fa-cent-sign:after,.fad.fa-cent-sign:after{content:"\e3f5\e3f5"}.fa-duotone.fa-certificate:after,.fad.fa-certificate:after{content:"\f0a3\f0a3"}.fa-duotone.fa-chair:after,.fad.fa-chair:after{content:"\f6c0\f6c0"}.fa-duotone.fa-chair-office:after,.fad.fa-chair-office:after{content:"\f6c1\f6c1"}.fa-duotone.fa-blackboard:after,.fa-duotone.fa-chalkboard:after,.fad.fa-blackboard:after,.fad.fa-chalkboard:after{content:"\f51b\f51b"}.fa-duotone.fa-chalkboard-teacher:after,.fa-duotone.fa-chalkboard-user:after,.fad.fa-chalkboard-teacher:after,.fad.fa-chalkboard-user:after{content:"\f51c\f51c"}.fa-duotone.fa-champagne-glass:after,.fa-duotone.fa-glass-champagne:after,.fad.fa-champagne-glass:after,.fad.fa-glass-champagne:after{content:"\f79e\f79e"}.fa-duotone.fa-champagne-glasses:after,.fa-duotone.fa-glass-cheers:after,.fad.fa-champagne-glasses:after,.fad.fa-glass-cheers:after{content:"\f79f\f79f"}.fa-duotone.fa-charging-station:after,.fad.fa-charging-station:after{content:"\f5e7\f5e7"}.fa-duotone.fa-area-chart:after,.fa-duotone.fa-chart-area:after,.fad.fa-area-chart:after,.fad.fa-chart-area:after{content:"\f1fe\f1fe"}.fa-duotone.fa-bar-chart:after,.fa-duotone.fa-chart-bar:after,.fad.fa-bar-chart:after,.fad.fa-chart-bar:after{content:"\f080\f080"}.fa-duotone.fa-chart-bullet:after,.fad.fa-chart-bullet:after{content:"\e0e1\e0e1"}.fa-duotone.fa-chart-candlestick:after,.fad.fa-chart-candlestick:after{content:"\e0e2\e0e2"}.fa-duotone.fa-chart-column:after,.fad.fa-chart-column:after{content:"\e0e3\e0e3"}.fa-duotone.fa-chart-gantt:after,.fad.fa-chart-gantt:after{content:"\e0e4\e0e4"}.fa-duotone.fa-chart-line:after,.fa-duotone.fa-line-chart:after,.fad.fa-chart-line:after,.fad.fa-line-chart:after{content:"\f201\f201"}.fa-duotone.fa-chart-line-down:after,.fad.fa-chart-line-down:after{content:"\f64d\f64d"}.fa-duotone.fa-chart-line-up:after,.fad.fa-chart-line-up:after{content:"\e0e5\e0e5"}.fa-duotone.fa-analytics:after,.fa-duotone.fa-chart-mixed:after,.fad.fa-analytics:after,.fad.fa-chart-mixed:after{content:"\f643\f643"}.fa-duotone.fa-chart-network:after,.fad.fa-chart-network:after{content:"\f78a\f78a"}.fa-duotone.fa-chart-pie:after,.fa-duotone.fa-pie-chart:after,.fad.fa-chart-pie:after,.fad.fa-pie-chart:after{content:"\f200\f200"}.fa-duotone.fa-chart-pie-alt:after,.fa-duotone.fa-chart-pie-simple:after,.fad.fa-chart-pie-alt:after,.fad.fa-chart-pie-simple:after{content:"\f64e\f64e"}.fa-duotone.fa-chart-pyramid:after,.fad.fa-chart-pyramid:after{content:"\e0e6\e0e6"}.fa-duotone.fa-chart-radar:after,.fad.fa-chart-radar:after{content:"\e0e7\e0e7"}.fa-duotone.fa-chart-scatter:after,.fad.fa-chart-scatter:after{content:"\f7ee\f7ee"}.fa-duotone.fa-chart-scatter-3d:after,.fad.fa-chart-scatter-3d:after{content:"\e0e8\e0e8"}.fa-duotone.fa-chart-scatter-bubble:after,.fad.fa-chart-scatter-bubble:after{content:"\e0e9\e0e9"}.fa-duotone.fa-chart-simple:after,.fad.fa-chart-simple:after{content:"\e473\e473"}.fa-duotone.fa-chart-simple-horizontal:after,.fad.fa-chart-simple-horizontal:after{content:"\e474\e474"}.fa-duotone.fa-chart-tree-map:after,.fad.fa-chart-tree-map:after{content:"\e0ea\e0ea"}.fa-duotone.fa-chart-user:after,.fa-duotone.fa-user-chart:after,.fad.fa-chart-user:after,.fad.fa-user-chart:after{content:"\f6a3\f6a3"}.fa-duotone.fa-chart-waterfall:after,.fad.fa-chart-waterfall:after{content:"\e0eb\e0eb"}.fa-duotone.fa-check:after,.fad.fa-check:after{content:"\f00c\f00c"}.fa-duotone.fa-check-double:after,.fad.fa-check-double:after{content:"\f560\f560"}.fa-duotone.fa-check-to-slot:after,.fa-duotone.fa-vote-yea:after,.fad.fa-check-to-slot:after,.fad.fa-vote-yea:after{content:"\f772\f772"}.fa-duotone.fa-cheese:after,.fad.fa-cheese:after{content:"\f7ef\f7ef"}.fa-duotone.fa-cheese-swiss:after,.fad.fa-cheese-swiss:after{content:"\f7f0\f7f0"}.fa-duotone.fa-cherries:after,.fad.fa-cherries:after{content:"\e0ec\e0ec"}.fa-duotone.fa-chess:after,.fad.fa-chess:after{content:"\f439\f439"}.fa-duotone.fa-chess-bishop:after,.fad.fa-chess-bishop:after{content:"\f43a\f43a"}.fa-duotone.fa-chess-bishop-alt:after,.fa-duotone.fa-chess-bishop-piece:after,.fad.fa-chess-bishop-alt:after,.fad.fa-chess-bishop-piece:after{content:"\f43b\f43b"}.fa-duotone.fa-chess-board:after,.fad.fa-chess-board:after{content:"\f43c\f43c"}.fa-duotone.fa-chess-clock:after,.fad.fa-chess-clock:after{content:"\f43d\f43d"}.fa-duotone.fa-chess-clock-alt:after,.fa-duotone.fa-chess-clock-flip:after,.fad.fa-chess-clock-alt:after,.fad.fa-chess-clock-flip:after{content:"\f43e\f43e"}.fa-duotone.fa-chess-king:after,.fad.fa-chess-king:after{content:"\f43f\f43f"}.fa-duotone.fa-chess-king-alt:after,.fa-duotone.fa-chess-king-piece:after,.fad.fa-chess-king-alt:after,.fad.fa-chess-king-piece:after{content:"\f440\f440"}.fa-duotone.fa-chess-knight:after,.fad.fa-chess-knight:after{content:"\f441\f441"}.fa-duotone.fa-chess-knight-alt:after,.fa-duotone.fa-chess-knight-piece:after,.fad.fa-chess-knight-alt:after,.fad.fa-chess-knight-piece:after{content:"\f442\f442"}.fa-duotone.fa-chess-pawn:after,.fad.fa-chess-pawn:after{content:"\f443\f443"}.fa-duotone.fa-chess-pawn-alt:after,.fa-duotone.fa-chess-pawn-piece:after,.fad.fa-chess-pawn-alt:after,.fad.fa-chess-pawn-piece:after{content:"\f444\f444"}.fa-duotone.fa-chess-queen:after,.fad.fa-chess-queen:after{content:"\f445\f445"}.fa-duotone.fa-chess-queen-alt:after,.fa-duotone.fa-chess-queen-piece:after,.fad.fa-chess-queen-alt:after,.fad.fa-chess-queen-piece:after{content:"\f446\f446"}.fa-duotone.fa-chess-rook:after,.fad.fa-chess-rook:after{content:"\f447\f447"}.fa-duotone.fa-chess-rook-alt:after,.fa-duotone.fa-chess-rook-piece:after,.fad.fa-chess-rook-alt:after,.fad.fa-chess-rook-piece:after{content:"\f448\f448"}.fa-duotone.fa-chestnut:after,.fad.fa-chestnut:after{content:"\e3f6\e3f6"}.fa-duotone.fa-chevron-down:after,.fad.fa-chevron-down:after{content:"\f078\f078"}.fa-duotone.fa-chevron-left:after,.fad.fa-chevron-left:after{content:"\f053\f053"}.fa-duotone.fa-chevron-right:after,.fad.fa-chevron-right:after{content:"\f054\f054"}.fa-duotone.fa-chevron-up:after,.fad.fa-chevron-up:after{content:"\f077\f077"}.fa-duotone.fa-chevron-double-down:after,.fa-duotone.fa-chevrons-down:after,.fad.fa-chevron-double-down:after,.fad.fa-chevrons-down:after{content:"\f322\f322"}.fa-duotone.fa-chevron-double-left:after,.fa-duotone.fa-chevrons-left:after,.fad.fa-chevron-double-left:after,.fad.fa-chevrons-left:after{content:"\f323\f323"}.fa-duotone.fa-chevron-double-right:after,.fa-duotone.fa-chevrons-right:after,.fad.fa-chevron-double-right:after,.fad.fa-chevrons-right:after{content:"\f324\f324"}.fa-duotone.fa-chevron-double-up:after,.fa-duotone.fa-chevrons-up:after,.fad.fa-chevron-double-up:after,.fad.fa-chevrons-up:after{content:"\f325\f325"}.fa-duotone.fa-child:after,.fad.fa-child:after{content:"\f1ae\f1ae"}.fa-duotone.fa-child-dress:after,.fad.fa-child-dress:after{content:"\e59c\e59c"}.fa-duotone.fa-child-reaching:after,.fad.fa-child-reaching:after{content:"\e59d\e59d"}.fa-duotone.fa-child-rifle:after,.fad.fa-child-rifle:after{content:"\e4e0\e4e0"}.fa-duotone.fa-children:after,.fad.fa-children:after{content:"\e4e1\e4e1"}.fa-duotone.fa-chimney:after,.fad.fa-chimney:after{content:"\f78b\f78b"}.fa-duotone.fa-chopsticks:after,.fad.fa-chopsticks:after{content:"\e3f7\e3f7"}.fa-duotone.fa-church:after,.fad.fa-church:after{content:"\f51d\f51d"}.fa-duotone.fa-circle:after,.fad.fa-circle:after{content:"\f111\f111"}.fa-duotone.fa-circle-0:after,.fad.fa-circle-0:after{content:"\e0ed\e0ed"}.fa-duotone.fa-circle-1:after,.fad.fa-circle-1:after{content:"\e0ee\e0ee"}.fa-duotone.fa-circle-2:after,.fad.fa-circle-2:after{content:"\e0ef\e0ef"}.fa-duotone.fa-circle-3:after,.fad.fa-circle-3:after{content:"\e0f0\e0f0"}.fa-duotone.fa-circle-4:after,.fad.fa-circle-4:after{content:"\e0f1\e0f1"}.fa-duotone.fa-circle-5:after,.fad.fa-circle-5:after{content:"\e0f2\e0f2"}.fa-duotone.fa-circle-6:after,.fad.fa-circle-6:after{content:"\e0f3\e0f3"}.fa-duotone.fa-circle-7:after,.fad.fa-circle-7:after{content:"\e0f4\e0f4"}.fa-duotone.fa-circle-8:after,.fad.fa-circle-8:after{content:"\e0f5\e0f5"}.fa-duotone.fa-circle-9:after,.fad.fa-circle-9:after{content:"\e0f6\e0f6"}.fa-duotone.fa-circle-a:after,.fad.fa-circle-a:after{content:"\e0f7\e0f7"}.fa-duotone.fa-circle-ampersand:after,.fad.fa-circle-ampersand:after{content:"\e0f8\e0f8"}.fa-duotone.fa-arrow-circle-down:after,.fa-duotone.fa-circle-arrow-down:after,.fad.fa-arrow-circle-down:after,.fad.fa-circle-arrow-down:after{content:"\f0ab\f0ab"}.fa-duotone.fa-circle-arrow-down-left:after,.fad.fa-circle-arrow-down-left:after{content:"\e0f9\e0f9"}.fa-duotone.fa-circle-arrow-down-right:after,.fad.fa-circle-arrow-down-right:after{content:"\e0fa\e0fa"}.fa-duotone.fa-arrow-circle-left:after,.fa-duotone.fa-circle-arrow-left:after,.fad.fa-arrow-circle-left:after,.fad.fa-circle-arrow-left:after{content:"\f0a8\f0a8"}.fa-duotone.fa-arrow-circle-right:after,.fa-duotone.fa-circle-arrow-right:after,.fad.fa-arrow-circle-right:after,.fad.fa-circle-arrow-right:after{content:"\f0a9\f0a9"}.fa-duotone.fa-arrow-circle-up:after,.fa-duotone.fa-circle-arrow-up:after,.fad.fa-arrow-circle-up:after,.fad.fa-circle-arrow-up:after{content:"\f0aa\f0aa"}.fa-duotone.fa-circle-arrow-up-left:after,.fad.fa-circle-arrow-up-left:after{content:"\e0fb\e0fb"}.fa-duotone.fa-circle-arrow-up-right:after,.fad.fa-circle-arrow-up-right:after{content:"\e0fc\e0fc"}.fa-duotone.fa-circle-b:after,.fad.fa-circle-b:after{content:"\e0fd\e0fd"}.fa-duotone.fa-circle-bolt:after,.fad.fa-circle-bolt:after{content:"\e0fe\e0fe"}.fa-duotone.fa-book-circle:after,.fa-duotone.fa-circle-book-open:after,.fad.fa-book-circle:after,.fad.fa-circle-book-open:after{content:"\e0ff\e0ff"}.fa-duotone.fa-bookmark-circle:after,.fa-duotone.fa-circle-bookmark:after,.fad.fa-bookmark-circle:after,.fad.fa-circle-bookmark:after{content:"\e100\e100"}.fa-duotone.fa-circle-c:after,.fad.fa-circle-c:after{content:"\e101\e101"}.fa-duotone.fa-calendar-circle:after,.fa-duotone.fa-circle-calendar:after,.fad.fa-calendar-circle:after,.fad.fa-circle-calendar:after{content:"\e102\e102"}.fa-duotone.fa-camera-circle:after,.fa-duotone.fa-circle-camera:after,.fad.fa-camera-circle:after,.fad.fa-circle-camera:after{content:"\e103\e103"}.fa-duotone.fa-caret-circle-down:after,.fa-duotone.fa-circle-caret-down:after,.fad.fa-caret-circle-down:after,.fad.fa-circle-caret-down:after{content:"\f32d\f32d"}.fa-duotone.fa-caret-circle-left:after,.fa-duotone.fa-circle-caret-left:after,.fad.fa-caret-circle-left:after,.fad.fa-circle-caret-left:after{content:"\f32e\f32e"}.fa-duotone.fa-caret-circle-right:after,.fa-duotone.fa-circle-caret-right:after,.fad.fa-caret-circle-right:after,.fad.fa-circle-caret-right:after{content:"\f330\f330"}.fa-duotone.fa-caret-circle-up:after,.fa-duotone.fa-circle-caret-up:after,.fad.fa-caret-circle-up:after,.fad.fa-circle-caret-up:after{content:"\f331\f331"}.fa-duotone.fa-check-circle:after,.fa-duotone.fa-circle-check:after,.fad.fa-check-circle:after,.fad.fa-circle-check:after{content:"\f058\f058"}.fa-duotone.fa-chevron-circle-down:after,.fa-duotone.fa-circle-chevron-down:after,.fad.fa-chevron-circle-down:after,.fad.fa-circle-chevron-down:after{content:"\f13a\f13a"}.fa-duotone.fa-chevron-circle-left:after,.fa-duotone.fa-circle-chevron-left:after,.fad.fa-chevron-circle-left:after,.fad.fa-circle-chevron-left:after{content:"\f137\f137"}.fa-duotone.fa-chevron-circle-right:after,.fa-duotone.fa-circle-chevron-right:after,.fad.fa-chevron-circle-right:after,.fad.fa-circle-chevron-right:after{content:"\f138\f138"}.fa-duotone.fa-chevron-circle-up:after,.fa-duotone.fa-circle-chevron-up:after,.fad.fa-chevron-circle-up:after,.fad.fa-circle-chevron-up:after{content:"\f139\f139"}.fa-duotone.fa-circle-d:after,.fad.fa-circle-d:after{content:"\e104\e104"}.fa-duotone.fa-circle-dashed:after,.fad.fa-circle-dashed:after{content:"\e105\e105"}.fa-duotone.fa-circle-divide:after,.fad.fa-circle-divide:after{content:"\e106\e106"}.fa-duotone.fa-circle-dollar:after,.fa-duotone.fa-dollar-circle:after,.fa-duotone.fa-usd-circle:after,.fad.fa-circle-dollar:after,.fad.fa-dollar-circle:after,.fad.fa-usd-circle:after{content:"\f2e8\f2e8"}.fa-duotone.fa-circle-dollar-to-slot:after,.fa-duotone.fa-donate:after,.fad.fa-circle-dollar-to-slot:after,.fad.fa-donate:after{content:"\f4b9\f4b9"}.fa-duotone.fa-circle-dot:after,.fa-duotone.fa-dot-circle:after,.fad.fa-circle-dot:after,.fad.fa-dot-circle:after{content:"\f192\f192"}.fa-duotone.fa-arrow-alt-circle-down:after,.fa-duotone.fa-circle-down:after,.fad.fa-arrow-alt-circle-down:after,.fad.fa-circle-down:after{content:"\f358\f358"}.fa-duotone.fa-circle-down-left:after,.fad.fa-circle-down-left:after{content:"\e107\e107"}.fa-duotone.fa-circle-down-right:after,.fad.fa-circle-down-right:after{content:"\e108\e108"}.fa-duotone.fa-circle-e:after,.fad.fa-circle-e:after{content:"\e109\e109"}.fa-duotone.fa-circle-ellipsis:after,.fad.fa-circle-ellipsis:after{content:"\e10a\e10a"}.fa-duotone.fa-circle-ellipsis-vertical:after,.fad.fa-circle-ellipsis-vertical:after{content:"\e10b\e10b"}.fa-duotone.fa-circle-envelope:after,.fa-duotone.fa-envelope-circle:after,.fad.fa-circle-envelope:after,.fad.fa-envelope-circle:after{content:"\e10c\e10c"}.fa-duotone.fa-circle-exclamation:after,.fa-duotone.fa-exclamation-circle:after,.fad.fa-circle-exclamation:after,.fad.fa-exclamation-circle:after{content:"\f06a\f06a"}.fa-duotone.fa-circle-exclamation-check:after,.fad.fa-circle-exclamation-check:after{content:"\e10d\e10d"}.fa-duotone.fa-circle-f:after,.fad.fa-circle-f:after{content:"\e10e\e10e"}.fa-duotone.fa-circle-g:after,.fad.fa-circle-g:after{content:"\e10f\e10f"}.fa-duotone.fa-circle-h:after,.fa-duotone.fa-hospital-symbol:after,.fad.fa-circle-h:after,.fad.fa-hospital-symbol:after{content:"\f47e\f47e"}.fa-duotone.fa-circle-half:after,.fad.fa-circle-half:after{content:"\e110\e110"}.fa-duotone.fa-adjust:after,.fa-duotone.fa-circle-half-stroke:after,.fad.fa-adjust:after,.fad.fa-circle-half-stroke:after{content:"\f042\f042"}.fa-duotone.fa-circle-heart:after,.fa-duotone.fa-heart-circle:after,.fad.fa-circle-heart:after,.fad.fa-heart-circle:after{content:"\f4c7\f4c7"}.fa-duotone.fa-circle-i:after,.fad.fa-circle-i:after{content:"\e111\e111"}.fa-duotone.fa-circle-info:after,.fa-duotone.fa-info-circle:after,.fad.fa-circle-info:after,.fad.fa-info-circle:after{content:"\f05a\f05a"}.fa-duotone.fa-circle-j:after,.fad.fa-circle-j:after{content:"\e112\e112"}.fa-duotone.fa-circle-k:after,.fad.fa-circle-k:after{content:"\e113\e113"}.fa-duotone.fa-circle-l:after,.fad.fa-circle-l:after{content:"\e114\e114"}.fa-duotone.fa-arrow-alt-circle-left:after,.fa-duotone.fa-circle-left:after,.fad.fa-arrow-alt-circle-left:after,.fad.fa-circle-left:after{content:"\f359\f359"}.fa-duotone.fa-circle-location-arrow:after,.fa-duotone.fa-location-circle:after,.fad.fa-circle-location-arrow:after,.fad.fa-location-circle:after{content:"\f602\f602"}.fa-duotone.fa-circle-m:after,.fad.fa-circle-m:after{content:"\e115\e115"}.fa-duotone.fa-circle-microphone:after,.fa-duotone.fa-microphone-circle:after,.fad.fa-circle-microphone:after,.fad.fa-microphone-circle:after{content:"\e116\e116"}.fa-duotone.fa-circle-microphone-lines:after,.fa-duotone.fa-microphone-circle-alt:after,.fad.fa-circle-microphone-lines:after,.fad.fa-microphone-circle-alt:after{content:"\e117\e117"}.fa-duotone.fa-circle-minus:after,.fa-duotone.fa-minus-circle:after,.fad.fa-circle-minus:after,.fad.fa-minus-circle:after{content:"\f056\f056"}.fa-duotone.fa-circle-n:after,.fad.fa-circle-n:after{content:"\e118\e118"}.fa-duotone.fa-circle-nodes:after,.fad.fa-circle-nodes:after{content:"\e4e2\e4e2"}.fa-duotone.fa-circle-notch:after,.fad.fa-circle-notch:after{content:"\f1ce\f1ce"}.fa-duotone.fa-circle-o:after,.fad.fa-circle-o:after{content:"\e119\e119"}.fa-duotone.fa-circle-p:after,.fad.fa-circle-p:after{content:"\e11a\e11a"}.fa-duotone.fa-circle-parking:after,.fa-duotone.fa-parking-circle:after,.fad.fa-circle-parking:after,.fad.fa-parking-circle:after{content:"\f615\f615"}.fa-duotone.fa-circle-pause:after,.fa-duotone.fa-pause-circle:after,.fad.fa-circle-pause:after,.fad.fa-pause-circle:after{content:"\f28b\f28b"}.fa-duotone.fa-circle-phone:after,.fa-duotone.fa-phone-circle:after,.fad.fa-circle-phone:after,.fad.fa-phone-circle:after{content:"\e11b\e11b"}.fa-duotone.fa-circle-phone-flip:after,.fa-duotone.fa-phone-circle-alt:after,.fad.fa-circle-phone-flip:after,.fad.fa-phone-circle-alt:after{content:"\e11c\e11c"}.fa-duotone.fa-circle-phone-hangup:after,.fa-duotone.fa-phone-circle-down:after,.fad.fa-circle-phone-hangup:after,.fad.fa-phone-circle-down:after{content:"\e11d\e11d"}.fa-duotone.fa-circle-play:after,.fa-duotone.fa-play-circle:after,.fad.fa-circle-play:after,.fad.fa-play-circle:after{content:"\f144\f144"}.fa-duotone.fa-circle-plus:after,.fa-duotone.fa-plus-circle:after,.fad.fa-circle-plus:after,.fad.fa-plus-circle:after{content:"\f055\f055"}.fa-duotone.fa-circle-q:after,.fad.fa-circle-q:after{content:"\e11e\e11e"}.fa-duotone.fa-circle-quarter:after,.fad.fa-circle-quarter:after{content:"\e11f\e11f"}.fa-duotone.fa-circle-quarters:after,.fad.fa-circle-quarters:after{content:"\e3f8\e3f8"}.fa-duotone.fa-circle-question:after,.fa-duotone.fa-question-circle:after,.fad.fa-circle-question:after,.fad.fa-question-circle:after{content:"\f059\f059"}.fa-duotone.fa-circle-r:after,.fad.fa-circle-r:after{content:"\e120\e120"}.fa-duotone.fa-circle-radiation:after,.fa-duotone.fa-radiation-alt:after,.fad.fa-circle-radiation:after,.fad.fa-radiation-alt:after{content:"\f7ba\f7ba"}.fa-duotone.fa-arrow-alt-circle-right:after,.fa-duotone.fa-circle-right:after,.fad.fa-arrow-alt-circle-right:after,.fad.fa-circle-right:after{content:"\f35a\f35a"}.fa-duotone.fa-circle-s:after,.fad.fa-circle-s:after{content:"\e121\e121"}.fa-duotone.fa-circle-small:after,.fad.fa-circle-small:after{content:"\e122\e122"}.fa-duotone.fa-circle-sort:after,.fa-duotone.fa-sort-circle:after,.fad.fa-circle-sort:after,.fad.fa-sort-circle:after{content:"\e030\e030"}.fa-duotone.fa-circle-sort-down:after,.fa-duotone.fa-sort-circle-down:after,.fad.fa-circle-sort-down:after,.fad.fa-sort-circle-down:after{content:"\e031\e031"}.fa-duotone.fa-circle-sort-up:after,.fa-duotone.fa-sort-circle-up:after,.fad.fa-circle-sort-up:after,.fad.fa-sort-circle-up:after{content:"\e032\e032"}.fa-duotone.fa-circle-star:after,.fa-duotone.fa-star-circle:after,.fad.fa-circle-star:after,.fad.fa-star-circle:after{content:"\e123\e123"}.fa-duotone.fa-circle-stop:after,.fa-duotone.fa-stop-circle:after,.fad.fa-circle-stop:after,.fad.fa-stop-circle:after{content:"\f28d\f28d"}.fa-duotone.fa-circle-t:after,.fad.fa-circle-t:after{content:"\e124\e124"}.fa-duotone.fa-circle-three-quarters:after,.fad.fa-circle-three-quarters:after{content:"\e125\e125"}.fa-duotone.fa-circle-trash:after,.fa-duotone.fa-trash-circle:after,.fad.fa-circle-trash:after,.fad.fa-trash-circle:after{content:"\e126\e126"}.fa-duotone.fa-circle-u:after,.fad.fa-circle-u:after{content:"\e127\e127"}.fa-duotone.fa-arrow-alt-circle-up:after,.fa-duotone.fa-circle-up:after,.fad.fa-arrow-alt-circle-up:after,.fad.fa-circle-up:after{content:"\f35b\f35b"}.fa-duotone.fa-circle-up-left:after,.fad.fa-circle-up-left:after{content:"\e128\e128"}.fa-duotone.fa-circle-up-right:after,.fad.fa-circle-up-right:after{content:"\e129\e129"}.fa-duotone.fa-circle-user:after,.fa-duotone.fa-user-circle:after,.fad.fa-circle-user:after,.fad.fa-user-circle:after{content:"\f2bd\f2bd"}.fa-duotone.fa-circle-v:after,.fad.fa-circle-v:after{content:"\e12a\e12a"}.fa-duotone.fa-circle-video:after,.fa-duotone.fa-video-circle:after,.fad.fa-circle-video:after,.fad.fa-video-circle:after{content:"\e12b\e12b"}.fa-duotone.fa-circle-w:after,.fad.fa-circle-w:after{content:"\e12c\e12c"}.fa-duotone.fa-circle-waveform-lines:after,.fa-duotone.fa-waveform-circle:after,.fad.fa-circle-waveform-lines:after,.fad.fa-waveform-circle:after{content:"\e12d\e12d"}.fa-duotone.fa-circle-x:after,.fad.fa-circle-x:after{content:"\e12e\e12e"}.fa-duotone.fa-circle-xmark:after,.fa-duotone.fa-times-circle:after,.fa-duotone.fa-xmark-circle:after,.fad.fa-circle-xmark:after,.fad.fa-times-circle:after,.fad.fa-xmark-circle:after{content:"\f057\f057"}.fa-duotone.fa-circle-y:after,.fad.fa-circle-y:after{content:"\e12f\e12f"}.fa-duotone.fa-circle-z:after,.fad.fa-circle-z:after{content:"\e130\e130"}.fa-duotone.fa-citrus:after,.fad.fa-citrus:after{content:"\e2f4\e2f4"}.fa-duotone.fa-citrus-slice:after,.fad.fa-citrus-slice:after{content:"\e2f5\e2f5"}.fa-duotone.fa-city:after,.fad.fa-city:after{content:"\f64f\f64f"}.fa-duotone.fa-clapperboard:after,.fad.fa-clapperboard:after{content:"\e131\e131"}.fa-duotone.fa-clapperboard-play:after,.fad.fa-clapperboard-play:after{content:"\e132\e132"}.fa-duotone.fa-clarinet:after,.fad.fa-clarinet:after{content:"\f8ad\f8ad"}.fa-duotone.fa-claw-marks:after,.fad.fa-claw-marks:after{content:"\f6c2\f6c2"}.fa-duotone.fa-clipboard:after,.fad.fa-clipboard:after{content:"\f328\f328"}.fa-duotone.fa-clipboard-check:after,.fad.fa-clipboard-check:after{content:"\f46c\f46c"}.fa-duotone.fa-clipboard-list:after,.fad.fa-clipboard-list:after{content:"\f46d\f46d"}.fa-duotone.fa-clipboard-list-check:after,.fad.fa-clipboard-list-check:after{content:"\f737\f737"}.fa-duotone.fa-clipboard-medical:after,.fad.fa-clipboard-medical:after{content:"\e133\e133"}.fa-duotone.fa-clipboard-prescription:after,.fad.fa-clipboard-prescription:after{content:"\f5e8\f5e8"}.fa-duotone.fa-clipboard-question:after,.fad.fa-clipboard-question:after{content:"\e4e3\e4e3"}.fa-duotone.fa-clipboard-user:after,.fad.fa-clipboard-user:after{content:"\f7f3\f7f3"}.fa-duotone.fa-clock-four:after,.fa-duotone.fa-clock:after,.fad.fa-clock-four:after,.fad.fa-clock:after{content:"\f017\f017"}.fa-duotone.fa-clock-desk:after,.fad.fa-clock-desk:after{content:"\e134\e134"}.fa-duotone.fa-clock-eight:after,.fad.fa-clock-eight:after{content:"\e345\e345"}.fa-duotone.fa-clock-eight-thirty:after,.fad.fa-clock-eight-thirty:after{content:"\e346\e346"}.fa-duotone.fa-clock-eleven:after,.fad.fa-clock-eleven:after{content:"\e347\e347"}.fa-duotone.fa-clock-eleven-thirty:after,.fad.fa-clock-eleven-thirty:after{content:"\e348\e348"}.fa-duotone.fa-clock-five:after,.fad.fa-clock-five:after{content:"\e349\e349"}.fa-duotone.fa-clock-five-thirty:after,.fad.fa-clock-five-thirty:after{content:"\e34a\e34a"}.fa-duotone.fa-clock-four-thirty:after,.fad.fa-clock-four-thirty:after{content:"\e34b\e34b"}.fa-duotone.fa-clock-nine:after,.fad.fa-clock-nine:after{content:"\e34c\e34c"}.fa-duotone.fa-clock-nine-thirty:after,.fad.fa-clock-nine-thirty:after{content:"\e34d\e34d"}.fa-duotone.fa-clock-one:after,.fad.fa-clock-one:after{content:"\e34e\e34e"}.fa-duotone.fa-clock-one-thirty:after,.fad.fa-clock-one-thirty:after{content:"\e34f\e34f"}.fa-duotone.fa-clock-rotate-left:after,.fa-duotone.fa-history:after,.fad.fa-clock-rotate-left:after,.fad.fa-history:after{content:"\f1da\f1da"}.fa-duotone.fa-clock-seven:after,.fad.fa-clock-seven:after{content:"\e350\e350"}.fa-duotone.fa-clock-seven-thirty:after,.fad.fa-clock-seven-thirty:after{content:"\e351\e351"}.fa-duotone.fa-clock-six:after,.fad.fa-clock-six:after{content:"\e352\e352"}.fa-duotone.fa-clock-six-thirty:after,.fad.fa-clock-six-thirty:after{content:"\e353\e353"}.fa-duotone.fa-clock-ten:after,.fad.fa-clock-ten:after{content:"\e354\e354"}.fa-duotone.fa-clock-ten-thirty:after,.fad.fa-clock-ten-thirty:after{content:"\e355\e355"}.fa-duotone.fa-clock-three:after,.fad.fa-clock-three:after{content:"\e356\e356"}.fa-duotone.fa-clock-three-thirty:after,.fad.fa-clock-three-thirty:after{content:"\e357\e357"}.fa-duotone.fa-clock-twelve:after,.fad.fa-clock-twelve:after{content:"\e358\e358"}.fa-duotone.fa-clock-twelve-thirty:after,.fad.fa-clock-twelve-thirty:after{content:"\e359\e359"}.fa-duotone.fa-clock-two:after,.fad.fa-clock-two:after{content:"\e35a\e35a"}.fa-duotone.fa-clock-two-thirty:after,.fad.fa-clock-two-thirty:after{content:"\e35b\e35b"}.fa-duotone.fa-clone:after,.fad.fa-clone:after{content:"\f24d\f24d"}.fa-duotone.fa-closed-captioning:after,.fad.fa-closed-captioning:after{content:"\f20a\f20a"}.fa-duotone.fa-closed-captioning-slash:after,.fad.fa-closed-captioning-slash:after{content:"\e135\e135"}.fa-duotone.fa-clothes-hanger:after,.fad.fa-clothes-hanger:after{content:"\e136\e136"}.fa-duotone.fa-cloud:after,.fad.fa-cloud:after{content:"\f0c2\f0c2"}.fa-duotone.fa-cloud-arrow-down:after,.fa-duotone.fa-cloud-download-alt:after,.fa-duotone.fa-cloud-download:after,.fad.fa-cloud-arrow-down:after,.fad.fa-cloud-download-alt:after,.fad.fa-cloud-download:after{content:"\f0ed\f0ed"}.fa-duotone.fa-cloud-arrow-up:after,.fa-duotone.fa-cloud-upload-alt:after,.fa-duotone.fa-cloud-upload:after,.fad.fa-cloud-arrow-up:after,.fad.fa-cloud-upload-alt:after,.fad.fa-cloud-upload:after{content:"\f0ee\f0ee"}.fa-duotone.fa-cloud-bolt:after,.fa-duotone.fa-thunderstorm:after,.fad.fa-cloud-bolt:after,.fad.fa-thunderstorm:after{content:"\f76c\f76c"}.fa-duotone.fa-cloud-bolt-moon:after,.fa-duotone.fa-thunderstorm-moon:after,.fad.fa-cloud-bolt-moon:after,.fad.fa-thunderstorm-moon:after{content:"\f76d\f76d"}.fa-duotone.fa-cloud-bolt-sun:after,.fa-duotone.fa-thunderstorm-sun:after,.fad.fa-cloud-bolt-sun:after,.fad.fa-thunderstorm-sun:after{content:"\f76e\f76e"}.fa-duotone.fa-cloud-check:after,.fad.fa-cloud-check:after{content:"\e35c\e35c"}.fa-duotone.fa-cloud-drizzle:after,.fad.fa-cloud-drizzle:after{content:"\f738\f738"}.fa-duotone.fa-cloud-exclamation:after,.fad.fa-cloud-exclamation:after{content:"\e491\e491"}.fa-duotone.fa-cloud-fog:after,.fa-duotone.fa-fog:after,.fad.fa-cloud-fog:after,.fad.fa-fog:after{content:"\f74e\f74e"}.fa-duotone.fa-cloud-hail:after,.fad.fa-cloud-hail:after{content:"\f739\f739"}.fa-duotone.fa-cloud-hail-mixed:after,.fad.fa-cloud-hail-mixed:after{content:"\f73a\f73a"}.fa-duotone.fa-cloud-meatball:after,.fad.fa-cloud-meatball:after{content:"\f73b\f73b"}.fa-duotone.fa-cloud-minus:after,.fad.fa-cloud-minus:after{content:"\e35d\e35d"}.fa-duotone.fa-cloud-moon:after,.fad.fa-cloud-moon:after{content:"\f6c3\f6c3"}.fa-duotone.fa-cloud-moon-rain:after,.fad.fa-cloud-moon-rain:after{content:"\f73c\f73c"}.fa-duotone.fa-cloud-music:after,.fad.fa-cloud-music:after{content:"\f8ae\f8ae"}.fa-duotone.fa-cloud-plus:after,.fad.fa-cloud-plus:after{content:"\e35e\e35e"}.fa-duotone.fa-cloud-question:after,.fad.fa-cloud-question:after{content:"\e492\e492"}.fa-duotone.fa-cloud-rain:after,.fad.fa-cloud-rain:after{content:"\f73d\f73d"}.fa-duotone.fa-cloud-rainbow:after,.fad.fa-cloud-rainbow:after{content:"\f73e\f73e"}.fa-duotone.fa-cloud-showers:after,.fad.fa-cloud-showers:after{content:"\f73f\f73f"}.fa-duotone.fa-cloud-showers-heavy:after,.fad.fa-cloud-showers-heavy:after{content:"\f740\f740"}.fa-duotone.fa-cloud-showers-water:after,.fad.fa-cloud-showers-water:after{content:"\e4e4\e4e4"}.fa-duotone.fa-cloud-slash:after,.fad.fa-cloud-slash:after{content:"\e137\e137"}.fa-duotone.fa-cloud-sleet:after,.fad.fa-cloud-sleet:after{content:"\f741\f741"}.fa-duotone.fa-cloud-snow:after,.fad.fa-cloud-snow:after{content:"\f742\f742"}.fa-duotone.fa-cloud-sun:after,.fad.fa-cloud-sun:after{content:"\f6c4\f6c4"}.fa-duotone.fa-cloud-sun-rain:after,.fad.fa-cloud-sun-rain:after{content:"\f743\f743"}.fa-duotone.fa-cloud-word:after,.fad.fa-cloud-word:after{content:"\e138\e138"}.fa-duotone.fa-cloud-xmark:after,.fad.fa-cloud-xmark:after{content:"\e35f\e35f"}.fa-duotone.fa-clouds:after,.fad.fa-clouds:after{content:"\f744\f744"}.fa-duotone.fa-clouds-moon:after,.fad.fa-clouds-moon:after{content:"\f745\f745"}.fa-duotone.fa-clouds-sun:after,.fad.fa-clouds-sun:after{content:"\f746\f746"}.fa-duotone.fa-clover:after,.fad.fa-clover:after{content:"\e139\e139"}.fa-duotone.fa-club:after,.fad.fa-club:after{content:"\f327\f327"}.fa-duotone.fa-coconut:after,.fad.fa-coconut:after{content:"\e2f6\e2f6"}.fa-duotone.fa-code:after,.fad.fa-code:after{content:"\f121\f121"}.fa-duotone.fa-code-branch:after,.fad.fa-code-branch:after{content:"\f126\f126"}.fa-duotone.fa-code-commit:after,.fad.fa-code-commit:after{content:"\f386\f386"}.fa-duotone.fa-code-compare:after,.fad.fa-code-compare:after{content:"\e13a\e13a"}.fa-duotone.fa-code-fork:after,.fad.fa-code-fork:after{content:"\e13b\e13b"}.fa-duotone.fa-code-merge:after,.fad.fa-code-merge:after{content:"\f387\f387"}.fa-duotone.fa-code-pull-request:after,.fad.fa-code-pull-request:after{content:"\e13c\e13c"}.fa-duotone.fa-code-pull-request-closed:after,.fad.fa-code-pull-request-closed:after{content:"\e3f9\e3f9"}.fa-duotone.fa-code-pull-request-draft:after,.fad.fa-code-pull-request-draft:after{content:"\e3fa\e3fa"}.fa-duotone.fa-code-simple:after,.fad.fa-code-simple:after{content:"\e13d\e13d"}.fa-duotone.fa-coffee-bean:after,.fad.fa-coffee-bean:after{content:"\e13e\e13e"}.fa-duotone.fa-coffee-beans:after,.fad.fa-coffee-beans:after{content:"\e13f\e13f"}.fa-duotone.fa-coffee-pot:after,.fad.fa-coffee-pot:after{content:"\e002\e002"}.fa-duotone.fa-coffin:after,.fad.fa-coffin:after{content:"\f6c6\f6c6"}.fa-duotone.fa-coffin-cross:after,.fad.fa-coffin-cross:after{content:"\e051\e051"}.fa-duotone.fa-coin:after,.fad.fa-coin:after{content:"\f85c\f85c"}.fa-duotone.fa-coin-blank:after,.fad.fa-coin-blank:after{content:"\e3fb\e3fb"}.fa-duotone.fa-coin-front:after,.fad.fa-coin-front:after{content:"\e3fc\e3fc"}.fa-duotone.fa-coin-vertical:after,.fad.fa-coin-vertical:after{content:"\e3fd\e3fd"}.fa-duotone.fa-coins:after,.fad.fa-coins:after{content:"\f51e\f51e"}.fa-duotone.fa-colon:after,.fad.fa-colon:after{content:"\3a\3a"}.fa-duotone.fa-colon-sign:after,.fad.fa-colon-sign:after{content:"\e140\e140"}.fa-duotone.fa-columns-3:after,.fad.fa-columns-3:after{content:"\e361\e361"}.fa-duotone.fa-comet:after,.fad.fa-comet:after{content:"\e003\e003"}.fa-duotone.fa-comma:after,.fad.fa-comma:after{content:"\2c\2c"}.fa-duotone.fa-command:after,.fad.fa-command:after{content:"\e142\e142"}.fa-duotone.fa-comment:after,.fad.fa-comment:after{content:"\f075\f075"}.fa-duotone.fa-comment-arrow-down:after,.fad.fa-comment-arrow-down:after{content:"\e143\e143"}.fa-duotone.fa-comment-arrow-up:after,.fad.fa-comment-arrow-up:after{content:"\e144\e144"}.fa-duotone.fa-comment-arrow-up-right:after,.fad.fa-comment-arrow-up-right:after{content:"\e145\e145"}.fa-duotone.fa-comment-captions:after,.fad.fa-comment-captions:after{content:"\e146\e146"}.fa-duotone.fa-comment-check:after,.fad.fa-comment-check:after{content:"\f4ac\f4ac"}.fa-duotone.fa-comment-code:after,.fad.fa-comment-code:after{content:"\e147\e147"}.fa-duotone.fa-comment-dollar:after,.fad.fa-comment-dollar:after{content:"\f651\f651"}.fa-duotone.fa-comment-dots:after,.fa-duotone.fa-commenting:after,.fad.fa-comment-dots:after,.fad.fa-commenting:after{content:"\f4ad\f4ad"}.fa-duotone.fa-comment-exclamation:after,.fad.fa-comment-exclamation:after{content:"\f4af\f4af"}.fa-duotone.fa-comment-image:after,.fad.fa-comment-image:after{content:"\e148\e148"}.fa-duotone.fa-comment-lines:after,.fad.fa-comment-lines:after{content:"\f4b0\f4b0"}.fa-duotone.fa-comment-medical:after,.fad.fa-comment-medical:after{content:"\f7f5\f7f5"}.fa-duotone.fa-comment-middle:after,.fad.fa-comment-middle:after{content:"\e149\e149"}.fa-duotone.fa-comment-middle-top:after,.fad.fa-comment-middle-top:after{content:"\e14a\e14a"}.fa-duotone.fa-comment-minus:after,.fad.fa-comment-minus:after{content:"\f4b1\f4b1"}.fa-duotone.fa-comment-music:after,.fad.fa-comment-music:after{content:"\f8b0\f8b0"}.fa-duotone.fa-comment-edit:after,.fa-duotone.fa-comment-pen:after,.fad.fa-comment-edit:after,.fad.fa-comment-pen:after{content:"\f4ae\f4ae"}.fa-duotone.fa-comment-plus:after,.fad.fa-comment-plus:after{content:"\f4b2\f4b2"}.fa-duotone.fa-comment-question:after,.fad.fa-comment-question:after{content:"\e14b\e14b"}.fa-duotone.fa-comment-quote:after,.fad.fa-comment-quote:after{content:"\e14c\e14c"}.fa-duotone.fa-comment-slash:after,.fad.fa-comment-slash:after{content:"\f4b3\f4b3"}.fa-duotone.fa-comment-smile:after,.fad.fa-comment-smile:after{content:"\f4b4\f4b4"}.fa-duotone.fa-comment-sms:after,.fa-duotone.fa-sms:after,.fad.fa-comment-sms:after,.fad.fa-sms:after{content:"\f7cd\f7cd"}.fa-duotone.fa-comment-text:after,.fad.fa-comment-text:after{content:"\e14d\e14d"}.fa-duotone.fa-comment-times:after,.fa-duotone.fa-comment-xmark:after,.fad.fa-comment-times:after,.fad.fa-comment-xmark:after{content:"\f4b5\f4b5"}.fa-duotone.fa-comments:after,.fad.fa-comments:after{content:"\f086\f086"}.fa-duotone.fa-comments-dollar:after,.fad.fa-comments-dollar:after{content:"\f653\f653"}.fa-duotone.fa-comments-question:after,.fad.fa-comments-question:after{content:"\e14e\e14e"}.fa-duotone.fa-comments-question-check:after,.fad.fa-comments-question-check:after{content:"\e14f\e14f"}.fa-duotone.fa-compact-disc:after,.fad.fa-compact-disc:after{content:"\f51f\f51f"}.fa-duotone.fa-compass:after,.fad.fa-compass:after{content:"\f14e\f14e"}.fa-duotone.fa-compass-drafting:after,.fa-duotone.fa-drafting-compass:after,.fad.fa-compass-drafting:after,.fad.fa-drafting-compass:after{content:"\f568\f568"}.fa-duotone.fa-compass-slash:after,.fad.fa-compass-slash:after{content:"\f5e9\f5e9"}.fa-duotone.fa-compress:after,.fad.fa-compress:after{content:"\f066\f066"}.fa-duotone.fa-compress-wide:after,.fad.fa-compress-wide:after{content:"\f326\f326"}.fa-duotone.fa-computer:after,.fad.fa-computer:after{content:"\e4e5\e4e5"}.fa-duotone.fa-computer-classic:after,.fad.fa-computer-classic:after{content:"\f8b1\f8b1"}.fa-duotone.fa-computer-mouse:after,.fa-duotone.fa-mouse:after,.fad.fa-computer-mouse:after,.fad.fa-mouse:after{content:"\f8cc\f8cc"}.fa-duotone.fa-computer-mouse-scrollwheel:after,.fa-duotone.fa-mouse-alt:after,.fad.fa-computer-mouse-scrollwheel:after,.fad.fa-mouse-alt:after{content:"\f8cd\f8cd"}.fa-duotone.fa-computer-speaker:after,.fad.fa-computer-speaker:after{content:"\f8b2\f8b2"}.fa-duotone.fa-container-storage:after,.fad.fa-container-storage:after{content:"\f4b7\f4b7"}.fa-duotone.fa-conveyor-belt:after,.fad.fa-conveyor-belt:after{content:"\f46e\f46e"}.fa-duotone.fa-conveyor-belt-alt:after,.fa-duotone.fa-conveyor-belt-boxes:after,.fad.fa-conveyor-belt-alt:after,.fad.fa-conveyor-belt-boxes:after{content:"\f46f\f46f"}.fa-duotone.fa-conveyor-belt-empty:after,.fad.fa-conveyor-belt-empty:after{content:"\e150\e150"}.fa-duotone.fa-cookie:after,.fad.fa-cookie:after{content:"\f563\f563"}.fa-duotone.fa-cookie-bite:after,.fad.fa-cookie-bite:after{content:"\f564\f564"}.fa-duotone.fa-copy:after,.fad.fa-copy:after{content:"\f0c5\f0c5"}.fa-duotone.fa-copyright:after,.fad.fa-copyright:after{content:"\f1f9\f1f9"}.fa-duotone.fa-corn:after,.fad.fa-corn:after{content:"\f6c7\f6c7"}.fa-duotone.fa-corner:after,.fad.fa-corner:after{content:"\e3fe\e3fe"}.fa-duotone.fa-couch:after,.fad.fa-couch:after{content:"\f4b8\f4b8"}.fa-duotone.fa-cow:after,.fad.fa-cow:after{content:"\f6c8\f6c8"}.fa-duotone.fa-cowbell:after,.fad.fa-cowbell:after{content:"\f8b3\f8b3"}.fa-duotone.fa-cowbell-circle-plus:after,.fa-duotone.fa-cowbell-more:after,.fad.fa-cowbell-circle-plus:after,.fad.fa-cowbell-more:after{content:"\f8b4\f8b4"}.fa-duotone.fa-crab:after,.fad.fa-crab:after{content:"\e3ff\e3ff"}.fa-duotone.fa-crate-apple:after,.fad.fa-crate-apple:after{content:"\f6b1\f6b1"}.fa-duotone.fa-apple-crate:after,.fad.fa-apple-crate:after{content:"\f6b1\f6b1"}.fa-duotone.fa-crate-empty:after,.fad.fa-crate-empty:after{content:"\e151\e151"}.fa-duotone.fa-credit-card-alt:after,.fa-duotone.fa-credit-card:after,.fad.fa-credit-card-alt:after,.fad.fa-credit-card:after{content:"\f09d\f09d"}.fa-duotone.fa-credit-card-blank:after,.fad.fa-credit-card-blank:after{content:"\f389\f389"}.fa-duotone.fa-credit-card-front:after,.fad.fa-credit-card-front:after{content:"\f38a\f38a"}.fa-duotone.fa-cricket-bat-ball:after,.fa-duotone.fa-cricket:after,.fad.fa-cricket-bat-ball:after,.fad.fa-cricket:after{content:"\f449\f449"}.fa-duotone.fa-croissant:after,.fad.fa-croissant:after{content:"\f7f6\f7f6"}.fa-duotone.fa-crop:after,.fad.fa-crop:after{content:"\f125\f125"}.fa-duotone.fa-crop-alt:after,.fa-duotone.fa-crop-simple:after,.fad.fa-crop-alt:after,.fad.fa-crop-simple:after{content:"\f565\f565"}.fa-duotone.fa-cross:after,.fad.fa-cross:after{content:"\f654\f654"}.fa-duotone.fa-crosshairs:after,.fad.fa-crosshairs:after{content:"\f05b\f05b"}.fa-duotone.fa-crow:after,.fad.fa-crow:after{content:"\f520\f520"}.fa-duotone.fa-crown:after,.fad.fa-crown:after{content:"\f521\f521"}.fa-duotone.fa-crutch:after,.fad.fa-crutch:after{content:"\f7f7\f7f7"}.fa-duotone.fa-crutches:after,.fad.fa-crutches:after{content:"\f7f8\f7f8"}.fa-duotone.fa-cruzeiro-sign:after,.fad.fa-cruzeiro-sign:after{content:"\e152\e152"}.fa-duotone.fa-crystal-ball:after,.fad.fa-crystal-ball:after{content:"\e362\e362"}.fa-duotone.fa-cube:after,.fad.fa-cube:after{content:"\f1b2\f1b2"}.fa-duotone.fa-cubes:after,.fad.fa-cubes:after{content:"\f1b3\f1b3"}.fa-duotone.fa-cubes-stacked:after,.fad.fa-cubes-stacked:after{content:"\e4e6\e4e6"}.fa-duotone.fa-cucumber:after,.fad.fa-cucumber:after{content:"\e401\e401"}.fa-duotone.fa-cup-straw:after,.fad.fa-cup-straw:after{content:"\e363\e363"}.fa-duotone.fa-cup-straw-swoosh:after,.fad.fa-cup-straw-swoosh:after{content:"\e364\e364"}.fa-duotone.fa-coffee-togo:after,.fa-duotone.fa-cup-togo:after,.fad.fa-coffee-togo:after,.fad.fa-cup-togo:after{content:"\f6c5\f6c5"}.fa-duotone.fa-cupcake:after,.fad.fa-cupcake:after{content:"\e402\e402"}.fa-duotone.fa-curling-stone:after,.fa-duotone.fa-curling:after,.fad.fa-curling-stone:after,.fad.fa-curling:after{content:"\f44a\f44a"}.fa-duotone.fa-custard:after,.fad.fa-custard:after{content:"\e403\e403"}.fa-duotone.fa-d:after,.fad.fa-d:after{content:"\44\44"}.fa-duotone.fa-dagger:after,.fad.fa-dagger:after{content:"\f6cb\f6cb"}.fa-duotone.fa-dash:after,.fa-duotone.fa-minus-large:after,.fad.fa-dash:after,.fad.fa-minus-large:after{content:"\e404\e404"}.fa-duotone.fa-database:after,.fad.fa-database:after{content:"\f1c0\f1c0"}.fa-duotone.fa-deer:after,.fad.fa-deer:after{content:"\f78e\f78e"}.fa-duotone.fa-deer-rudolph:after,.fad.fa-deer-rudolph:after{content:"\f78f\f78f"}.fa-duotone.fa-backspace:after,.fa-duotone.fa-delete-left:after,.fad.fa-backspace:after,.fad.fa-delete-left:after{content:"\f55a\f55a"}.fa-duotone.fa-delete-right:after,.fad.fa-delete-right:after{content:"\e154\e154"}.fa-duotone.fa-democrat:after,.fad.fa-democrat:after{content:"\f747\f747"}.fa-duotone.fa-desktop-alt:after,.fa-duotone.fa-desktop:after,.fad.fa-desktop-alt:after,.fad.fa-desktop:after{content:"\f390\f390"}.fa-duotone.fa-desktop-arrow-down:after,.fad.fa-desktop-arrow-down:after{content:"\e155\e155"}.fa-duotone.fa-dharmachakra:after,.fad.fa-dharmachakra:after{content:"\f655\f655"}.fa-duotone.fa-diagram-cells:after,.fad.fa-diagram-cells:after{content:"\e475\e475"}.fa-duotone.fa-diagram-lean-canvas:after,.fad.fa-diagram-lean-canvas:after{content:"\e156\e156"}.fa-duotone.fa-diagram-nested:after,.fad.fa-diagram-nested:after{content:"\e157\e157"}.fa-duotone.fa-diagram-next:after,.fad.fa-diagram-next:after{content:"\e476\e476"}.fa-duotone.fa-diagram-predecessor:after,.fad.fa-diagram-predecessor:after{content:"\e477\e477"}.fa-duotone.fa-diagram-previous:after,.fad.fa-diagram-previous:after{content:"\e478\e478"}.fa-duotone.fa-diagram-project:after,.fa-duotone.fa-project-diagram:after,.fad.fa-diagram-project:after,.fad.fa-project-diagram:after{content:"\f542\f542"}.fa-duotone.fa-diagram-sankey:after,.fad.fa-diagram-sankey:after{content:"\e158\e158"}.fa-duotone.fa-diagram-subtask:after,.fad.fa-diagram-subtask:after{content:"\e479\e479"}.fa-duotone.fa-diagram-successor:after,.fad.fa-diagram-successor:after{content:"\e47a\e47a"}.fa-duotone.fa-diagram-venn:after,.fad.fa-diagram-venn:after{content:"\e15a\e15a"}.fa-duotone.fa-dial-med-high:after,.fa-duotone.fa-dial:after,.fad.fa-dial-med-high:after,.fad.fa-dial:after{content:"\e15b\e15b"}.fa-duotone.fa-dial-high:after,.fad.fa-dial-high:after{content:"\e15c\e15c"}.fa-duotone.fa-dial-low:after,.fad.fa-dial-low:after{content:"\e15d\e15d"}.fa-duotone.fa-dial-max:after,.fad.fa-dial-max:after{content:"\e15e\e15e"}.fa-duotone.fa-dial-med:after,.fad.fa-dial-med:after{content:"\e15f\e15f"}.fa-duotone.fa-dial-med-low:after,.fad.fa-dial-med-low:after{content:"\e160\e160"}.fa-duotone.fa-dial-min:after,.fad.fa-dial-min:after{content:"\e161\e161"}.fa-duotone.fa-dial-off:after,.fad.fa-dial-off:after{content:"\e162\e162"}.fa-duotone.fa-diamond:after,.fad.fa-diamond:after{content:"\f219\f219"}.fa-duotone.fa-diamond-exclamation:after,.fad.fa-diamond-exclamation:after{content:"\e405\e405"}.fa-duotone.fa-diamond-turn-right:after,.fa-duotone.fa-directions:after,.fad.fa-diamond-turn-right:after,.fad.fa-directions:after{content:"\f5eb\f5eb"}.fa-duotone.fa-dice:after,.fad.fa-dice:after{content:"\f522\f522"}.fa-duotone.fa-dice-d10:after,.fad.fa-dice-d10:after{content:"\f6cd\f6cd"}.fa-duotone.fa-dice-d12:after,.fad.fa-dice-d12:after{content:"\f6ce\f6ce"}.fa-duotone.fa-dice-d20:after,.fad.fa-dice-d20:after{content:"\f6cf\f6cf"}.fa-duotone.fa-dice-d4:after,.fad.fa-dice-d4:after{content:"\f6d0\f6d0"}.fa-duotone.fa-dice-d6:after,.fad.fa-dice-d6:after{content:"\f6d1\f6d1"}.fa-duotone.fa-dice-d8:after,.fad.fa-dice-d8:after{content:"\f6d2\f6d2"}.fa-duotone.fa-dice-five:after,.fad.fa-dice-five:after{content:"\f523\f523"}.fa-duotone.fa-dice-four:after,.fad.fa-dice-four:after{content:"\f524\f524"}.fa-duotone.fa-dice-one:after,.fad.fa-dice-one:after{content:"\f525\f525"}.fa-duotone.fa-dice-six:after,.fad.fa-dice-six:after{content:"\f526\f526"}.fa-duotone.fa-dice-three:after,.fad.fa-dice-three:after{content:"\f527\f527"}.fa-duotone.fa-dice-two:after,.fad.fa-dice-two:after{content:"\f528\f528"}.fa-duotone.fa-diploma:after,.fa-duotone.fa-scroll-ribbon:after,.fad.fa-diploma:after,.fad.fa-scroll-ribbon:after{content:"\f5ea\f5ea"}.fa-duotone.fa-disc-drive:after,.fad.fa-disc-drive:after{content:"\f8b5\f8b5"}.fa-duotone.fa-disease:after,.fad.fa-disease:after{content:"\f7fa\f7fa"}.fa-duotone.fa-display:after,.fad.fa-display:after{content:"\e163\e163"}.fa-duotone.fa-display-arrow-down:after,.fad.fa-display-arrow-down:after{content:"\e164\e164"}.fa-duotone.fa-desktop-code:after,.fa-duotone.fa-display-code:after,.fad.fa-desktop-code:after,.fad.fa-display-code:after{content:"\e165\e165"}.fa-duotone.fa-desktop-medical:after,.fa-duotone.fa-display-medical:after,.fad.fa-desktop-medical:after,.fad.fa-display-medical:after{content:"\e166\e166"}.fa-duotone.fa-desktop-slash:after,.fa-duotone.fa-display-slash:after,.fad.fa-desktop-slash:after,.fad.fa-display-slash:after{content:"\e2fa\e2fa"}.fa-duotone.fa-distribute-spacing-horizontal:after,.fad.fa-distribute-spacing-horizontal:after{content:"\e365\e365"}.fa-duotone.fa-distribute-spacing-vertical:after,.fad.fa-distribute-spacing-vertical:after{content:"\e366\e366"}.fa-duotone.fa-ditto:after,.fad.fa-ditto:after{content:"\22\22"}.fa-duotone.fa-divide:after,.fad.fa-divide:after{content:"\f529\f529"}.fa-duotone.fa-dna:after,.fad.fa-dna:after{content:"\f471\f471"}.fa-duotone.fa-do-not-enter:after,.fad.fa-do-not-enter:after{content:"\f5ec\f5ec"}.fa-duotone.fa-dog:after,.fad.fa-dog:after{content:"\f6d3\f6d3"}.fa-duotone.fa-dog-leashed:after,.fad.fa-dog-leashed:after{content:"\f6d4\f6d4"}.fa-duotone.fa-dollar-sign:after,.fa-duotone.fa-dollar:after,.fa-duotone.fa-usd:after,.fad.fa-dollar-sign:after,.fad.fa-dollar:after,.fad.fa-usd:after{content:"\24\24"}.fa-duotone.fa-dolly-box:after,.fa-duotone.fa-dolly:after,.fad.fa-dolly-box:after,.fad.fa-dolly:after{content:"\f472\f472"}.fa-duotone.fa-dolly-empty:after,.fad.fa-dolly-empty:after{content:"\f473\f473"}.fa-duotone.fa-dolphin:after,.fad.fa-dolphin:after{content:"\e168\e168"}.fa-duotone.fa-dong-sign:after,.fad.fa-dong-sign:after{content:"\e169\e169"}.fa-duotone.fa-donut:after,.fa-duotone.fa-doughnut:after,.fad.fa-donut:after,.fad.fa-doughnut:after{content:"\e406\e406"}.fa-duotone.fa-door-closed:after,.fad.fa-door-closed:after{content:"\f52a\f52a"}.fa-duotone.fa-door-open:after,.fad.fa-door-open:after{content:"\f52b\f52b"}.fa-duotone.fa-dove:after,.fad.fa-dove:after{content:"\f4ba\f4ba"}.fa-duotone.fa-arrow-alt-down:after,.fa-duotone.fa-down:after,.fad.fa-arrow-alt-down:after,.fad.fa-down:after{content:"\f354\f354"}.fa-duotone.fa-down-from-dotted-line:after,.fad.fa-down-from-dotted-line:after{content:"\e407\e407"}.fa-duotone.fa-arrow-alt-from-top:after,.fa-duotone.fa-down-from-line:after,.fad.fa-arrow-alt-from-top:after,.fad.fa-down-from-line:after{content:"\f349\f349"}.fa-duotone.fa-down-left:after,.fad.fa-down-left:after{content:"\e16a\e16a"}.fa-duotone.fa-compress-alt:after,.fa-duotone.fa-down-left-and-up-right-to-center:after,.fad.fa-compress-alt:after,.fad.fa-down-left-and-up-right-to-center:after{content:"\f422\f422"}.fa-duotone.fa-down-long:after,.fa-duotone.fa-long-arrow-alt-down:after,.fad.fa-down-long:after,.fad.fa-long-arrow-alt-down:after{content:"\f309\f309"}.fa-duotone.fa-down-right:after,.fad.fa-down-right:after{content:"\e16b\e16b"}.fa-duotone.fa-down-to-bracket:after,.fad.fa-down-to-bracket:after{content:"\e4e7\e4e7"}.fa-duotone.fa-down-to-dotted-line:after,.fad.fa-down-to-dotted-line:after{content:"\e408\e408"}.fa-duotone.fa-arrow-alt-to-bottom:after,.fa-duotone.fa-down-to-line:after,.fad.fa-arrow-alt-to-bottom:after,.fad.fa-down-to-line:after{content:"\f34a\f34a"}.fa-duotone.fa-download:after,.fad.fa-download:after{content:"\f019\f019"}.fa-duotone.fa-dragon:after,.fad.fa-dragon:after{content:"\f6d5\f6d5"}.fa-duotone.fa-draw-circle:after,.fad.fa-draw-circle:after{content:"\f5ed\f5ed"}.fa-duotone.fa-draw-polygon:after,.fad.fa-draw-polygon:after{content:"\f5ee\f5ee"}.fa-duotone.fa-draw-square:after,.fad.fa-draw-square:after{content:"\f5ef\f5ef"}.fa-duotone.fa-dreidel:after,.fad.fa-dreidel:after{content:"\f792\f792"}.fa-duotone.fa-drone:after,.fad.fa-drone:after{content:"\f85f\f85f"}.fa-duotone.fa-drone-alt:after,.fa-duotone.fa-drone-front:after,.fad.fa-drone-alt:after,.fad.fa-drone-front:after{content:"\f860\f860"}.fa-duotone.fa-droplet:after,.fa-duotone.fa-tint:after,.fad.fa-droplet:after,.fad.fa-tint:after{content:"\f043\f043"}.fa-duotone.fa-dewpoint:after,.fa-duotone.fa-droplet-degree:after,.fad.fa-dewpoint:after,.fad.fa-droplet-degree:after{content:"\f748\f748"}.fa-duotone.fa-droplet-percent:after,.fa-duotone.fa-humidity:after,.fad.fa-droplet-percent:after,.fad.fa-humidity:after{content:"\f750\f750"}.fa-duotone.fa-droplet-slash:after,.fa-duotone.fa-tint-slash:after,.fad.fa-droplet-slash:after,.fad.fa-tint-slash:after{content:"\f5c7\f5c7"}.fa-duotone.fa-drum:after,.fad.fa-drum:after{content:"\f569\f569"}.fa-duotone.fa-drum-steelpan:after,.fad.fa-drum-steelpan:after{content:"\f56a\f56a"}.fa-duotone.fa-drumstick:after,.fad.fa-drumstick:after{content:"\f6d6\f6d6"}.fa-duotone.fa-drumstick-bite:after,.fad.fa-drumstick-bite:after{content:"\f6d7\f6d7"}.fa-duotone.fa-dryer:after,.fad.fa-dryer:after{content:"\f861\f861"}.fa-duotone.fa-dryer-alt:after,.fa-duotone.fa-dryer-heat:after,.fad.fa-dryer-alt:after,.fad.fa-dryer-heat:after{content:"\f862\f862"}.fa-duotone.fa-duck:after,.fad.fa-duck:after{content:"\f6d8\f6d8"}.fa-duotone.fa-dumbbell:after,.fad.fa-dumbbell:after{content:"\f44b\f44b"}.fa-duotone.fa-dumpster:after,.fad.fa-dumpster:after{content:"\f793\f793"}.fa-duotone.fa-dumpster-fire:after,.fad.fa-dumpster-fire:after{content:"\f794\f794"}.fa-duotone.fa-dungeon:after,.fad.fa-dungeon:after{content:"\f6d9\f6d9"}.fa-duotone.fa-e:after,.fad.fa-e:after{content:"\45\45"}.fa-duotone.fa-ear:after,.fad.fa-ear:after{content:"\f5f0\f5f0"}.fa-duotone.fa-deaf:after,.fa-duotone.fa-deafness:after,.fa-duotone.fa-ear-deaf:after,.fa-duotone.fa-hard-of-hearing:after,.fad.fa-deaf:after,.fad.fa-deafness:after,.fad.fa-ear-deaf:after,.fad.fa-hard-of-hearing:after{content:"\f2a4\f2a4"}.fa-duotone.fa-assistive-listening-systems:after,.fa-duotone.fa-ear-listen:after,.fad.fa-assistive-listening-systems:after,.fad.fa-ear-listen:after{content:"\f2a2\f2a2"}.fa-duotone.fa-ear-muffs:after,.fad.fa-ear-muffs:after{content:"\f795\f795"}.fa-duotone.fa-earth-africa:after,.fa-duotone.fa-globe-africa:after,.fad.fa-earth-africa:after,.fad.fa-globe-africa:after{content:"\f57c\f57c"}.fa-duotone.fa-earth-america:after,.fa-duotone.fa-earth-americas:after,.fa-duotone.fa-earth:after,.fa-duotone.fa-globe-americas:after,.fad.fa-earth-america:after,.fad.fa-earth-americas:after,.fad.fa-earth:after,.fad.fa-globe-americas:after{content:"\f57d\f57d"}.fa-duotone.fa-earth-asia:after,.fa-duotone.fa-globe-asia:after,.fad.fa-earth-asia:after,.fad.fa-globe-asia:after{content:"\f57e\f57e"}.fa-duotone.fa-earth-europe:after,.fa-duotone.fa-globe-europe:after,.fad.fa-earth-europe:after,.fad.fa-globe-europe:after{content:"\f7a2\f7a2"}.fa-duotone.fa-earth-oceania:after,.fa-duotone.fa-globe-oceania:after,.fad.fa-earth-oceania:after,.fad.fa-globe-oceania:after{content:"\e47b\e47b"}.fa-duotone.fa-eclipse:after,.fad.fa-eclipse:after{content:"\f749\f749"}.fa-duotone.fa-egg:after,.fad.fa-egg:after{content:"\f7fb\f7fb"}.fa-duotone.fa-egg-fried:after,.fad.fa-egg-fried:after{content:"\f7fc\f7fc"}.fa-duotone.fa-eggplant:after,.fad.fa-eggplant:after{content:"\e16c\e16c"}.fa-duotone.fa-eject:after,.fad.fa-eject:after{content:"\f052\f052"}.fa-duotone.fa-elephant:after,.fad.fa-elephant:after{content:"\f6da\f6da"}.fa-duotone.fa-elevator:after,.fad.fa-elevator:after{content:"\e16d\e16d"}.fa-duotone.fa-ellipsis-h:after,.fa-duotone.fa-ellipsis:after,.fad.fa-ellipsis-h:after,.fad.fa-ellipsis:after{content:"\f141\f141"}.fa-duotone.fa-ellipsis-h-alt:after,.fa-duotone.fa-ellipsis-stroke:after,.fad.fa-ellipsis-h-alt:after,.fad.fa-ellipsis-stroke:after{content:"\f39b\f39b"}.fa-duotone.fa-ellipsis-stroke-vertical:after,.fa-duotone.fa-ellipsis-v-alt:after,.fad.fa-ellipsis-stroke-vertical:after,.fad.fa-ellipsis-v-alt:after{content:"\f39c\f39c"}.fa-duotone.fa-ellipsis-v:after,.fa-duotone.fa-ellipsis-vertical:after,.fad.fa-ellipsis-v:after,.fad.fa-ellipsis-vertical:after{content:"\f142\f142"}.fa-duotone.fa-empty-set:after,.fad.fa-empty-set:after{content:"\f656\f656"}.fa-duotone.fa-engine:after,.fad.fa-engine:after{content:"\e16e\e16e"}.fa-duotone.fa-engine-exclamation:after,.fa-duotone.fa-engine-warning:after,.fad.fa-engine-exclamation:after,.fad.fa-engine-warning:after{content:"\f5f2\f5f2"}.fa-duotone.fa-envelope:after,.fad.fa-envelope:after{content:"\f0e0\f0e0"}.fa-duotone.fa-envelope-circle-check:after,.fad.fa-envelope-circle-check:after{content:"\e4e8\e4e8"}.fa-duotone.fa-envelope-badge:after,.fa-duotone.fa-envelope-dot:after,.fad.fa-envelope-badge:after,.fad.fa-envelope-dot:after{content:"\e16f\e16f"}.fa-duotone.fa-envelope-open:after,.fad.fa-envelope-open:after{content:"\f2b6\f2b6"}.fa-duotone.fa-envelope-open-dollar:after,.fad.fa-envelope-open-dollar:after{content:"\f657\f657"}.fa-duotone.fa-envelope-open-text:after,.fad.fa-envelope-open-text:after{content:"\f658\f658"}.fa-duotone.fa-envelopes:after,.fad.fa-envelopes:after{content:"\e170\e170"}.fa-duotone.fa-envelopes-bulk:after,.fa-duotone.fa-mail-bulk:after,.fad.fa-envelopes-bulk:after,.fad.fa-mail-bulk:after{content:"\f674\f674"}.fa-duotone.fa-equals:after,.fad.fa-equals:after{content:"\3d\3d"}.fa-duotone.fa-eraser:after,.fad.fa-eraser:after{content:"\f12d\f12d"}.fa-duotone.fa-escalator:after,.fad.fa-escalator:after{content:"\e171\e171"}.fa-duotone.fa-ethernet:after,.fad.fa-ethernet:after{content:"\f796\f796"}.fa-duotone.fa-eur:after,.fa-duotone.fa-euro-sign:after,.fa-duotone.fa-euro:after,.fad.fa-eur:after,.fad.fa-euro-sign:after,.fad.fa-euro:after{content:"\f153\f153"}.fa-duotone.fa-exclamation:after,.fad.fa-exclamation:after{content:"\21\21"}.fa-duotone.fa-expand:after,.fad.fa-expand:after{content:"\f065\f065"}.fa-duotone.fa-expand-wide:after,.fad.fa-expand-wide:after{content:"\f320\f320"}.fa-duotone.fa-explosion:after,.fad.fa-explosion:after{content:"\e4e9\e4e9"}.fa-duotone.fa-eye:after,.fad.fa-eye:after{content:"\f06e\f06e"}.fa-duotone.fa-eye-dropper-empty:after,.fa-duotone.fa-eye-dropper:after,.fa-duotone.fa-eyedropper:after,.fad.fa-eye-dropper-empty:after,.fad.fa-eye-dropper:after,.fad.fa-eyedropper:after{content:"\f1fb\f1fb"}.fa-duotone.fa-eye-dropper-full:after,.fad.fa-eye-dropper-full:after{content:"\e172\e172"}.fa-duotone.fa-eye-dropper-half:after,.fad.fa-eye-dropper-half:after{content:"\e173\e173"}.fa-duotone.fa-eye-evil:after,.fad.fa-eye-evil:after{content:"\f6db\f6db"}.fa-duotone.fa-eye-low-vision:after,.fa-duotone.fa-low-vision:after,.fad.fa-eye-low-vision:after,.fad.fa-low-vision:after{content:"\f2a8\f2a8"}.fa-duotone.fa-eye-slash:after,.fad.fa-eye-slash:after{content:"\f070\f070"}.fa-duotone.fa-eyes:after,.fad.fa-eyes:after{content:"\e367\e367"}.fa-duotone.fa-f:after,.fad.fa-f:after{content:"\46\46"}.fa-duotone.fa-angry:after,.fa-duotone.fa-face-angry:after,.fad.fa-angry:after,.fad.fa-face-angry:after{content:"\f556\f556"}.fa-duotone.fa-face-angry-horns:after,.fad.fa-face-angry-horns:after{content:"\e368\e368"}.fa-duotone.fa-face-anguished:after,.fad.fa-face-anguished:after{content:"\e369\e369"}.fa-duotone.fa-face-anxious-sweat:after,.fad.fa-face-anxious-sweat:after{content:"\e36a\e36a"}.fa-duotone.fa-face-astonished:after,.fad.fa-face-astonished:after{content:"\e36b\e36b"}.fa-duotone.fa-face-awesome:after,.fa-duotone.fa-gave-dandy:after,.fad.fa-face-awesome:after,.fad.fa-gave-dandy:after{content:"\e409\e409"}.fa-duotone.fa-face-beam-hand-over-mouth:after,.fad.fa-face-beam-hand-over-mouth:after{content:"\e47c\e47c"}.fa-duotone.fa-face-clouds:after,.fad.fa-face-clouds:after{content:"\e47d\e47d"}.fa-duotone.fa-face-confounded:after,.fad.fa-face-confounded:after{content:"\e36c\e36c"}.fa-duotone.fa-face-confused:after,.fad.fa-face-confused:after{content:"\e36d\e36d"}.fa-duotone.fa-face-cowboy-hat:after,.fad.fa-face-cowboy-hat:after{content:"\e36e\e36e"}.fa-duotone.fa-face-diagonal-mouth:after,.fad.fa-face-diagonal-mouth:after{content:"\e47e\e47e"}.fa-duotone.fa-face-disappointed:after,.fad.fa-face-disappointed:after{content:"\e36f\e36f"}.fa-duotone.fa-face-disguise:after,.fad.fa-face-disguise:after{content:"\e370\e370"}.fa-duotone.fa-dizzy:after,.fa-duotone.fa-face-dizzy:after,.fad.fa-dizzy:after,.fad.fa-face-dizzy:after{content:"\f567\f567"}.fa-duotone.fa-face-dotted:after,.fad.fa-face-dotted:after{content:"\e47f\e47f"}.fa-duotone.fa-face-downcast-sweat:after,.fad.fa-face-downcast-sweat:after{content:"\e371\e371"}.fa-duotone.fa-face-drooling:after,.fad.fa-face-drooling:after{content:"\e372\e372"}.fa-duotone.fa-face-exhaling:after,.fad.fa-face-exhaling:after{content:"\e480\e480"}.fa-duotone.fa-exploding-head:after,.fa-duotone.fa-face-explode:after,.fad.fa-exploding-head:after,.fad.fa-face-explode:after{content:"\e2fe\e2fe"}.fa-duotone.fa-face-expressionless:after,.fad.fa-face-expressionless:after{content:"\e373\e373"}.fa-duotone.fa-face-eyes-xmarks:after,.fad.fa-face-eyes-xmarks:after{content:"\e374\e374"}.fa-duotone.fa-face-fearful:after,.fad.fa-face-fearful:after{content:"\e375\e375"}.fa-duotone.fa-face-flushed:after,.fa-duotone.fa-flushed:after,.fad.fa-face-flushed:after,.fad.fa-flushed:after{content:"\f579\f579"}.fa-duotone.fa-face-frown:after,.fa-duotone.fa-frown:after,.fad.fa-face-frown:after,.fad.fa-frown:after{content:"\f119\f119"}.fa-duotone.fa-face-frown-open:after,.fa-duotone.fa-frown-open:after,.fad.fa-face-frown-open:after,.fad.fa-frown-open:after{content:"\f57a\f57a"}.fa-duotone.fa-face-frown-slight:after,.fad.fa-face-frown-slight:after{content:"\e376\e376"}.fa-duotone.fa-face-glasses:after,.fad.fa-face-glasses:after{content:"\e377\e377"}.fa-duotone.fa-face-grimace:after,.fa-duotone.fa-grimace:after,.fad.fa-face-grimace:after,.fad.fa-grimace:after{content:"\f57f\f57f"}.fa-duotone.fa-face-grin:after,.fa-duotone.fa-grin:after,.fad.fa-face-grin:after,.fad.fa-grin:after{content:"\f580\f580"}.fa-duotone.fa-face-grin-beam:after,.fa-duotone.fa-grin-beam:after,.fad.fa-face-grin-beam:after,.fad.fa-grin-beam:after{content:"\f582\f582"}.fa-duotone.fa-face-grin-beam-sweat:after,.fa-duotone.fa-grin-beam-sweat:after,.fad.fa-face-grin-beam-sweat:after,.fad.fa-grin-beam-sweat:after{content:"\f583\f583"}.fa-duotone.fa-face-grin-hearts:after,.fa-duotone.fa-grin-hearts:after,.fad.fa-face-grin-hearts:after,.fad.fa-grin-hearts:after{content:"\f584\f584"}.fa-duotone.fa-face-grin-squint:after,.fa-duotone.fa-grin-squint:after,.fad.fa-face-grin-squint:after,.fad.fa-grin-squint:after{content:"\f585\f585"}.fa-duotone.fa-face-grin-squint-tears:after,.fa-duotone.fa-grin-squint-tears:after,.fad.fa-face-grin-squint-tears:after,.fad.fa-grin-squint-tears:after{content:"\f586\f586"}.fa-duotone.fa-face-grin-stars:after,.fa-duotone.fa-grin-stars:after,.fad.fa-face-grin-stars:after,.fad.fa-grin-stars:after{content:"\f587\f587"}.fa-duotone.fa-face-grin-tears:after,.fa-duotone.fa-grin-tears:after,.fad.fa-face-grin-tears:after,.fad.fa-grin-tears:after{content:"\f588\f588"}.fa-duotone.fa-face-grin-tongue:after,.fa-duotone.fa-grin-tongue:after,.fad.fa-face-grin-tongue:after,.fad.fa-grin-tongue:after{content:"\f589\f589"}.fa-duotone.fa-face-grin-tongue-squint:after,.fa-duotone.fa-grin-tongue-squint:after,.fad.fa-face-grin-tongue-squint:after,.fad.fa-grin-tongue-squint:after{content:"\f58a\f58a"}.fa-duotone.fa-face-grin-tongue-wink:after,.fa-duotone.fa-grin-tongue-wink:after,.fad.fa-face-grin-tongue-wink:after,.fad.fa-grin-tongue-wink:after{content:"\f58b\f58b"}.fa-duotone.fa-face-grin-wide:after,.fa-duotone.fa-grin-alt:after,.fad.fa-face-grin-wide:after,.fad.fa-grin-alt:after{content:"\f581\f581"}.fa-duotone.fa-face-grin-wink:after,.fa-duotone.fa-grin-wink:after,.fad.fa-face-grin-wink:after,.fad.fa-grin-wink:after{content:"\f58c\f58c"}.fa-duotone.fa-face-hand-over-mouth:after,.fad.fa-face-hand-over-mouth:after{content:"\e378\e378"}.fa-duotone.fa-face-hand-peeking:after,.fad.fa-face-hand-peeking:after{content:"\e481\e481"}.fa-duotone.fa-face-hand-yawn:after,.fad.fa-face-hand-yawn:after{content:"\e379\e379"}.fa-duotone.fa-face-head-bandage:after,.fad.fa-face-head-bandage:after{content:"\e37a\e37a"}.fa-duotone.fa-face-holding-back-tears:after,.fad.fa-face-holding-back-tears:after{content:"\e482\e482"}.fa-duotone.fa-face-hushed:after,.fad.fa-face-hushed:after{content:"\e37b\e37b"}.fa-duotone.fa-face-icicles:after,.fad.fa-face-icicles:after{content:"\e37c\e37c"}.fa-duotone.fa-face-kiss:after,.fa-duotone.fa-kiss:after,.fad.fa-face-kiss:after,.fad.fa-kiss:after{content:"\f596\f596"}.fa-duotone.fa-face-kiss-beam:after,.fa-duotone.fa-kiss-beam:after,.fad.fa-face-kiss-beam:after,.fad.fa-kiss-beam:after{content:"\f597\f597"}.fa-duotone.fa-face-kiss-closed-eyes:after,.fad.fa-face-kiss-closed-eyes:after{content:"\e37d\e37d"}.fa-duotone.fa-face-kiss-wink-heart:after,.fa-duotone.fa-kiss-wink-heart:after,.fad.fa-face-kiss-wink-heart:after,.fad.fa-kiss-wink-heart:after{content:"\f598\f598"}.fa-duotone.fa-face-laugh:after,.fa-duotone.fa-laugh:after,.fad.fa-face-laugh:after,.fad.fa-laugh:after{content:"\f599\f599"}.fa-duotone.fa-face-laugh-beam:after,.fa-duotone.fa-laugh-beam:after,.fad.fa-face-laugh-beam:after,.fad.fa-laugh-beam:after{content:"\f59a\f59a"}.fa-duotone.fa-face-laugh-squint:after,.fa-duotone.fa-laugh-squint:after,.fad.fa-face-laugh-squint:after,.fad.fa-laugh-squint:after{content:"\f59b\f59b"}.fa-duotone.fa-face-laugh-wink:after,.fa-duotone.fa-laugh-wink:after,.fad.fa-face-laugh-wink:after,.fad.fa-laugh-wink:after{content:"\f59c\f59c"}.fa-duotone.fa-face-lying:after,.fad.fa-face-lying:after{content:"\e37e\e37e"}.fa-duotone.fa-face-mask:after,.fad.fa-face-mask:after{content:"\e37f\e37f"}.fa-duotone.fa-face-meh:after,.fa-duotone.fa-meh:after,.fad.fa-face-meh:after,.fad.fa-meh:after{content:"\f11a\f11a"}.fa-duotone.fa-face-meh-blank:after,.fa-duotone.fa-meh-blank:after,.fad.fa-face-meh-blank:after,.fad.fa-meh-blank:after{content:"\f5a4\f5a4"}.fa-duotone.fa-face-melting:after,.fad.fa-face-melting:after{content:"\e483\e483"}.fa-duotone.fa-face-monocle:after,.fad.fa-face-monocle:after{content:"\e380\e380"}.fa-duotone.fa-face-nauseated:after,.fad.fa-face-nauseated:after{content:"\e381\e381"}.fa-duotone.fa-face-nose-steam:after,.fad.fa-face-nose-steam:after{content:"\e382\e382"}.fa-duotone.fa-face-party:after,.fad.fa-face-party:after{content:"\e383\e383"}.fa-duotone.fa-face-pensive:after,.fad.fa-face-pensive:after{content:"\e384\e384"}.fa-duotone.fa-face-persevering:after,.fad.fa-face-persevering:after{content:"\e385\e385"}.fa-duotone.fa-face-pleading:after,.fad.fa-face-pleading:after{content:"\e386\e386"}.fa-duotone.fa-face-pouting:after,.fad.fa-face-pouting:after{content:"\e387\e387"}.fa-duotone.fa-face-raised-eyebrow:after,.fad.fa-face-raised-eyebrow:after{content:"\e388\e388"}.fa-duotone.fa-face-relieved:after,.fad.fa-face-relieved:after{content:"\e389\e389"}.fa-duotone.fa-face-rolling-eyes:after,.fa-duotone.fa-meh-rolling-eyes:after,.fad.fa-face-rolling-eyes:after,.fad.fa-meh-rolling-eyes:after{content:"\f5a5\f5a5"}.fa-duotone.fa-face-sad-cry:after,.fa-duotone.fa-sad-cry:after,.fad.fa-face-sad-cry:after,.fad.fa-sad-cry:after{content:"\f5b3\f5b3"}.fa-duotone.fa-face-sad-sweat:after,.fad.fa-face-sad-sweat:after{content:"\e38a\e38a"}.fa-duotone.fa-face-sad-tear:after,.fa-duotone.fa-sad-tear:after,.fad.fa-face-sad-tear:after,.fad.fa-sad-tear:after{content:"\f5b4\f5b4"}.fa-duotone.fa-face-saluting:after,.fad.fa-face-saluting:after{content:"\e484\e484"}.fa-duotone.fa-face-scream:after,.fad.fa-face-scream:after{content:"\e38b\e38b"}.fa-duotone.fa-face-shush:after,.fad.fa-face-shush:after{content:"\e38c\e38c"}.fa-duotone.fa-face-sleeping:after,.fad.fa-face-sleeping:after{content:"\e38d\e38d"}.fa-duotone.fa-face-sleepy:after,.fad.fa-face-sleepy:after{content:"\e38e\e38e"}.fa-duotone.fa-face-smile:after,.fa-duotone.fa-smile:after,.fad.fa-face-smile:after,.fad.fa-smile:after{content:"\f118\f118"}.fa-duotone.fa-face-smile-beam:after,.fa-duotone.fa-smile-beam:after,.fad.fa-face-smile-beam:after,.fad.fa-smile-beam:after{content:"\f5b8\f5b8"}.fa-duotone.fa-face-smile-halo:after,.fad.fa-face-smile-halo:after{content:"\e38f\e38f"}.fa-duotone.fa-face-smile-hearts:after,.fad.fa-face-smile-hearts:after{content:"\e390\e390"}.fa-duotone.fa-face-smile-horns:after,.fad.fa-face-smile-horns:after{content:"\e391\e391"}.fa-duotone.fa-face-smile-plus:after,.fa-duotone.fa-smile-plus:after,.fad.fa-face-smile-plus:after,.fad.fa-smile-plus:after{content:"\f5b9\f5b9"}.fa-duotone.fa-face-smile-relaxed:after,.fad.fa-face-smile-relaxed:after{content:"\e392\e392"}.fa-duotone.fa-face-smile-tear:after,.fad.fa-face-smile-tear:after{content:"\e393\e393"}.fa-duotone.fa-face-smile-tongue:after,.fad.fa-face-smile-tongue:after{content:"\e394\e394"}.fa-duotone.fa-face-smile-upside-down:after,.fad.fa-face-smile-upside-down:after{content:"\e395\e395"}.fa-duotone.fa-face-smile-wink:after,.fa-duotone.fa-smile-wink:after,.fad.fa-face-smile-wink:after,.fad.fa-smile-wink:after{content:"\f4da\f4da"}.fa-duotone.fa-face-smiling-hands:after,.fad.fa-face-smiling-hands:after{content:"\e396\e396"}.fa-duotone.fa-face-smirking:after,.fad.fa-face-smirking:after{content:"\e397\e397"}.fa-duotone.fa-face-spiral-eyes:after,.fad.fa-face-spiral-eyes:after{content:"\e485\e485"}.fa-duotone.fa-face-sunglasses:after,.fad.fa-face-sunglasses:after{content:"\e398\e398"}.fa-duotone.fa-face-surprise:after,.fa-duotone.fa-surprise:after,.fad.fa-face-surprise:after,.fad.fa-surprise:after{content:"\f5c2\f5c2"}.fa-duotone.fa-face-swear:after,.fad.fa-face-swear:after{content:"\e399\e399"}.fa-duotone.fa-face-thermometer:after,.fad.fa-face-thermometer:after{content:"\e39a\e39a"}.fa-duotone.fa-face-thinking:after,.fad.fa-face-thinking:after{content:"\e39b\e39b"}.fa-duotone.fa-face-tired:after,.fa-duotone.fa-tired:after,.fad.fa-face-tired:after,.fad.fa-tired:after{content:"\f5c8\f5c8"}.fa-duotone.fa-face-tissue:after,.fad.fa-face-tissue:after{content:"\e39c\e39c"}.fa-duotone.fa-face-tongue-money:after,.fad.fa-face-tongue-money:after{content:"\e39d\e39d"}.fa-duotone.fa-face-tongue-sweat:after,.fad.fa-face-tongue-sweat:after{content:"\e39e\e39e"}.fa-duotone.fa-face-unamused:after,.fad.fa-face-unamused:after{content:"\e39f\e39f"}.fa-duotone.fa-face-viewfinder:after,.fad.fa-face-viewfinder:after{content:"\e2ff\e2ff"}.fa-duotone.fa-face-vomit:after,.fad.fa-face-vomit:after{content:"\e3a0\e3a0"}.fa-duotone.fa-face-weary:after,.fad.fa-face-weary:after{content:"\e3a1\e3a1"}.fa-duotone.fa-face-woozy:after,.fad.fa-face-woozy:after{content:"\e3a2\e3a2"}.fa-duotone.fa-face-worried:after,.fad.fa-face-worried:after{content:"\e3a3\e3a3"}.fa-duotone.fa-face-zany:after,.fad.fa-face-zany:after{content:"\e3a4\e3a4"}.fa-duotone.fa-face-zipper:after,.fad.fa-face-zipper:after{content:"\e3a5\e3a5"}.fa-duotone.fa-falafel:after,.fad.fa-falafel:after{content:"\e40a\e40a"}.fa-duotone.fa-family:after,.fad.fa-family:after{content:"\e300\e300"}.fa-duotone.fa-family-dress:after,.fad.fa-family-dress:after{content:"\e301\e301"}.fa-duotone.fa-family-pants:after,.fad.fa-family-pants:after{content:"\e302\e302"}.fa-duotone.fa-fan:after,.fad.fa-fan:after{content:"\f863\f863"}.fa-duotone.fa-fan-table:after,.fad.fa-fan-table:after{content:"\e004\e004"}.fa-duotone.fa-barn-silo:after,.fa-duotone.fa-farm:after,.fad.fa-barn-silo:after,.fad.fa-farm:after{content:"\f864\f864"}.fa-duotone.fa-faucet:after,.fad.fa-faucet:after{content:"\e005\e005"}.fa-duotone.fa-faucet-drip:after,.fad.fa-faucet-drip:after{content:"\e006\e006"}.fa-duotone.fa-fax:after,.fad.fa-fax:after{content:"\f1ac\f1ac"}.fa-duotone.fa-feather:after,.fad.fa-feather:after{content:"\f52d\f52d"}.fa-duotone.fa-feather-alt:after,.fa-duotone.fa-feather-pointed:after,.fad.fa-feather-alt:after,.fad.fa-feather-pointed:after{content:"\f56b\f56b"}.fa-duotone.fa-fence:after,.fad.fa-fence:after{content:"\e303\e303"}.fa-duotone.fa-ferris-wheel:after,.fad.fa-ferris-wheel:after{content:"\e174\e174"}.fa-duotone.fa-ferry:after,.fad.fa-ferry:after{content:"\e4ea\e4ea"}.fa-duotone.fa-field-hockey-stick-ball:after,.fa-duotone.fa-field-hockey:after,.fad.fa-field-hockey-stick-ball:after,.fad.fa-field-hockey:after{content:"\f44c\f44c"}.fa-duotone.fa-file:after,.fad.fa-file:after{content:"\f15b\f15b"}.fa-duotone.fa-file-arrow-down:after,.fa-duotone.fa-file-download:after,.fad.fa-file-arrow-down:after,.fad.fa-file-download:after{content:"\f56d\f56d"}.fa-duotone.fa-file-arrow-up:after,.fa-duotone.fa-file-upload:after,.fad.fa-file-arrow-up:after,.fad.fa-file-upload:after{content:"\f574\f574"}.fa-duotone.fa-file-audio:after,.fad.fa-file-audio:after{content:"\f1c7\f1c7"}.fa-duotone.fa-file-binary:after,.fad.fa-file-binary:after{content:"\e175\e175"}.fa-duotone.fa-file-award:after,.fa-duotone.fa-file-certificate:after,.fad.fa-file-award:after,.fad.fa-file-certificate:after{content:"\f5f3\f5f3"}.fa-duotone.fa-file-chart-column:after,.fa-duotone.fa-file-chart-line:after,.fad.fa-file-chart-column:after,.fad.fa-file-chart-line:after{content:"\f659\f659"}.fa-duotone.fa-file-chart-pie:after,.fad.fa-file-chart-pie:after{content:"\f65a\f65a"}.fa-duotone.fa-file-check:after,.fad.fa-file-check:after{content:"\f316\f316"}.fa-duotone.fa-file-circle-check:after,.fad.fa-file-circle-check:after{content:"\e493\e493"}.fa-duotone.fa-file-circle-exclamation:after,.fad.fa-file-circle-exclamation:after{content:"\e4eb\e4eb"}.fa-duotone.fa-file-circle-info:after,.fad.fa-file-circle-info:after{content:"\e4ec\e4ec"}.fa-duotone.fa-file-circle-minus:after,.fad.fa-file-circle-minus:after{content:"\e4ed\e4ed"}.fa-duotone.fa-file-circle-plus:after,.fad.fa-file-circle-plus:after{content:"\e4ee\e4ee"}.fa-duotone.fa-file-circle-question:after,.fad.fa-file-circle-question:after{content:"\e4ef\e4ef"}.fa-duotone.fa-file-circle-xmark:after,.fad.fa-file-circle-xmark:after{content:"\e494\e494"}.fa-duotone.fa-file-code:after,.fad.fa-file-code:after{content:"\f1c9\f1c9"}.fa-duotone.fa-file-contract:after,.fad.fa-file-contract:after{content:"\f56c\f56c"}.fa-duotone.fa-file-csv:after,.fad.fa-file-csv:after{content:"\f6dd\f6dd"}.fa-duotone.fa-file-dashed-line:after,.fa-duotone.fa-page-break:after,.fad.fa-file-dashed-line:after,.fad.fa-page-break:after{content:"\f877\f877"}.fa-duotone.fa-file-excel:after,.fad.fa-file-excel:after{content:"\f1c3\f1c3"}.fa-duotone.fa-file-exclamation:after,.fad.fa-file-exclamation:after{content:"\f31a\f31a"}.fa-duotone.fa-arrow-right-from-file:after,.fa-duotone.fa-file-export:after,.fad.fa-arrow-right-from-file:after,.fad.fa-file-export:after{content:"\f56e\f56e"}.fa-duotone.fa-file-heart:after,.fad.fa-file-heart:after{content:"\e176\e176"}.fa-duotone.fa-file-image:after,.fad.fa-file-image:after{content:"\f1c5\f1c5"}.fa-duotone.fa-arrow-right-to-file:after,.fa-duotone.fa-file-import:after,.fad.fa-arrow-right-to-file:after,.fad.fa-file-import:after{content:"\f56f\f56f"}.fa-duotone.fa-file-invoice:after,.fad.fa-file-invoice:after{content:"\f570\f570"}.fa-duotone.fa-file-invoice-dollar:after,.fad.fa-file-invoice-dollar:after{content:"\f571\f571"}.fa-duotone.fa-file-alt:after,.fa-duotone.fa-file-lines:after,.fa-duotone.fa-file-text:after,.fad.fa-file-alt:after,.fad.fa-file-lines:after,.fad.fa-file-text:after{content:"\f15c\f15c"}.fa-duotone.fa-file-lock:after,.fad.fa-file-lock:after{content:"\e3a6\e3a6"}.fa-duotone.fa-file-magnifying-glass:after,.fa-duotone.fa-file-search:after,.fad.fa-file-magnifying-glass:after,.fad.fa-file-search:after{content:"\f865\f865"}.fa-duotone.fa-file-medical:after,.fad.fa-file-medical:after{content:"\f477\f477"}.fa-duotone.fa-file-minus:after,.fad.fa-file-minus:after{content:"\f318\f318"}.fa-duotone.fa-file-music:after,.fad.fa-file-music:after{content:"\f8b6\f8b6"}.fa-duotone.fa-file-pdf:after,.fad.fa-file-pdf:after{content:"\f1c1\f1c1"}.fa-duotone.fa-file-edit:after,.fa-duotone.fa-file-pen:after,.fad.fa-file-edit:after,.fad.fa-file-pen:after{content:"\f31c\f31c"}.fa-duotone.fa-file-plus:after,.fad.fa-file-plus:after{content:"\f319\f319"}.fa-duotone.fa-file-plus-minus:after,.fad.fa-file-plus-minus:after{content:"\e177\e177"}.fa-duotone.fa-file-powerpoint:after,.fad.fa-file-powerpoint:after{content:"\f1c4\f1c4"}.fa-duotone.fa-file-prescription:after,.fad.fa-file-prescription:after{content:"\f572\f572"}.fa-duotone.fa-file-shield:after,.fad.fa-file-shield:after{content:"\e4f0\e4f0"}.fa-duotone.fa-file-signature:after,.fad.fa-file-signature:after{content:"\f573\f573"}.fa-duotone.fa-file-slash:after,.fad.fa-file-slash:after{content:"\e3a7\e3a7"}.fa-duotone.fa-file-spreadsheet:after,.fad.fa-file-spreadsheet:after{content:"\f65b\f65b"}.fa-duotone.fa-file-user:after,.fad.fa-file-user:after{content:"\f65c\f65c"}.fa-duotone.fa-file-video:after,.fad.fa-file-video:after{content:"\f1c8\f1c8"}.fa-duotone.fa-file-medical-alt:after,.fa-duotone.fa-file-waveform:after,.fad.fa-file-medical-alt:after,.fad.fa-file-waveform:after{content:"\f478\f478"}.fa-duotone.fa-file-word:after,.fad.fa-file-word:after{content:"\f1c2\f1c2"}.fa-duotone.fa-file-times:after,.fa-duotone.fa-file-xmark:after,.fad.fa-file-times:after,.fad.fa-file-xmark:after{content:"\f317\f317"}.fa-duotone.fa-file-archive:after,.fa-duotone.fa-file-zipper:after,.fad.fa-file-archive:after,.fad.fa-file-zipper:after{content:"\f1c6\f1c6"}.fa-duotone.fa-files:after,.fad.fa-files:after{content:"\e178\e178"}.fa-duotone.fa-files-medical:after,.fad.fa-files-medical:after{content:"\f7fd\f7fd"}.fa-duotone.fa-fill:after,.fad.fa-fill:after{content:"\f575\f575"}.fa-duotone.fa-fill-drip:after,.fad.fa-fill-drip:after{content:"\f576\f576"}.fa-duotone.fa-film:after,.fad.fa-film:after{content:"\f008\f008"}.fa-duotone.fa-film-canister:after,.fad.fa-film-canister:after{content:"\f8b7\f8b7"}.fa-duotone.fa-film-alt:after,.fa-duotone.fa-film-simple:after,.fad.fa-film-alt:after,.fad.fa-film-simple:after{content:"\f3a0\f3a0"}.fa-duotone.fa-film-slash:after,.fad.fa-film-slash:after{content:"\e179\e179"}.fa-duotone.fa-films:after,.fad.fa-films:after{content:"\e17a\e17a"}.fa-duotone.fa-filter:after,.fad.fa-filter:after{content:"\f0b0\f0b0"}.fa-duotone.fa-filter-circle-dollar:after,.fa-duotone.fa-funnel-dollar:after,.fad.fa-filter-circle-dollar:after,.fad.fa-funnel-dollar:after{content:"\f662\f662"}.fa-duotone.fa-filter-circle-xmark:after,.fad.fa-filter-circle-xmark:after{content:"\e17b\e17b"}.fa-duotone.fa-filter-list:after,.fad.fa-filter-list:after{content:"\e17c\e17c"}.fa-duotone.fa-filter-slash:after,.fad.fa-filter-slash:after{content:"\e17d\e17d"}.fa-duotone.fa-filters:after,.fad.fa-filters:after{content:"\e17e\e17e"}.fa-duotone.fa-fingerprint:after,.fad.fa-fingerprint:after{content:"\f577\f577"}.fa-duotone.fa-fire:after,.fad.fa-fire:after{content:"\f06d\f06d"}.fa-duotone.fa-fire-burner:after,.fad.fa-fire-burner:after{content:"\e4f1\e4f1"}.fa-duotone.fa-fire-extinguisher:after,.fad.fa-fire-extinguisher:after{content:"\f134\f134"}.fa-duotone.fa-fire-flame:after,.fa-duotone.fa-flame:after,.fad.fa-fire-flame:after,.fad.fa-flame:after{content:"\f6df\f6df"}.fa-duotone.fa-fire-alt:after,.fa-duotone.fa-fire-flame-curved:after,.fad.fa-fire-alt:after,.fad.fa-fire-flame-curved:after{content:"\f7e4\f7e4"}.fa-duotone.fa-burn:after,.fa-duotone.fa-fire-flame-simple:after,.fad.fa-burn:after,.fad.fa-fire-flame-simple:after{content:"\f46a\f46a"}.fa-duotone.fa-fire-hydrant:after,.fad.fa-fire-hydrant:after{content:"\e17f\e17f"}.fa-duotone.fa-fire-smoke:after,.fad.fa-fire-smoke:after{content:"\f74b\f74b"}.fa-duotone.fa-fireplace:after,.fad.fa-fireplace:after{content:"\f79a\f79a"}.fa-duotone.fa-fish:after,.fad.fa-fish:after{content:"\f578\f578"}.fa-duotone.fa-fish-bones:after,.fad.fa-fish-bones:after{content:"\e304\e304"}.fa-duotone.fa-fish-cooked:after,.fad.fa-fish-cooked:after{content:"\f7fe\f7fe"}.fa-duotone.fa-fish-fins:after,.fad.fa-fish-fins:after{content:"\e4f2\e4f2"}.fa-duotone.fa-fishing-rod:after,.fad.fa-fishing-rod:after{content:"\e3a8\e3a8"}.fa-duotone.fa-flag:after,.fad.fa-flag:after{content:"\f024\f024"}.fa-duotone.fa-flag-checkered:after,.fad.fa-flag-checkered:after{content:"\f11e\f11e"}.fa-duotone.fa-flag-pennant:after,.fa-duotone.fa-pennant:after,.fad.fa-flag-pennant:after,.fad.fa-pennant:after{content:"\f456\f456"}.fa-duotone.fa-flag-alt:after,.fa-duotone.fa-flag-swallowtail:after,.fad.fa-flag-alt:after,.fad.fa-flag-swallowtail:after{content:"\f74c\f74c"}.fa-duotone.fa-flag-usa:after,.fad.fa-flag-usa:after{content:"\f74d\f74d"}.fa-duotone.fa-flashlight:after,.fad.fa-flashlight:after{content:"\f8b8\f8b8"}.fa-duotone.fa-flask:after,.fad.fa-flask:after{content:"\f0c3\f0c3"}.fa-duotone.fa-flask-poison:after,.fa-duotone.fa-flask-round-poison:after,.fad.fa-flask-poison:after,.fad.fa-flask-round-poison:after{content:"\f6e0\f6e0"}.fa-duotone.fa-flask-potion:after,.fa-duotone.fa-flask-round-potion:after,.fad.fa-flask-potion:after,.fad.fa-flask-round-potion:after{content:"\f6e1\f6e1"}.fa-duotone.fa-flask-vial:after,.fad.fa-flask-vial:after{content:"\e4f3\e4f3"}.fa-duotone.fa-flatbread:after,.fad.fa-flatbread:after{content:"\e40b\e40b"}.fa-duotone.fa-flatbread-stuffed:after,.fad.fa-flatbread-stuffed:after{content:"\e40c\e40c"}.fa-duotone.fa-floppy-disk:after,.fa-duotone.fa-save:after,.fad.fa-floppy-disk:after,.fad.fa-save:after{content:"\f0c7\f0c7"}.fa-duotone.fa-floppy-disk-circle-arrow-right:after,.fa-duotone.fa-save-circle-arrow-right:after,.fad.fa-floppy-disk-circle-arrow-right:after,.fad.fa-save-circle-arrow-right:after{content:"\e180\e180"}.fa-duotone.fa-floppy-disk-circle-xmark:after,.fa-duotone.fa-floppy-disk-times:after,.fa-duotone.fa-save-circle-xmark:after,.fa-duotone.fa-save-times:after,.fad.fa-floppy-disk-circle-xmark:after,.fad.fa-floppy-disk-times:after,.fad.fa-save-circle-xmark:after,.fad.fa-save-times:after{content:"\e181\e181"}.fa-duotone.fa-floppy-disk-pen:after,.fad.fa-floppy-disk-pen:after{content:"\e182\e182"}.fa-duotone.fa-floppy-disks:after,.fad.fa-floppy-disks:after{content:"\e183\e183"}.fa-duotone.fa-florin-sign:after,.fad.fa-florin-sign:after{content:"\e184\e184"}.fa-duotone.fa-flower:after,.fad.fa-flower:after{content:"\f7ff\f7ff"}.fa-duotone.fa-flower-daffodil:after,.fad.fa-flower-daffodil:after{content:"\f800\f800"}.fa-duotone.fa-flower-tulip:after,.fad.fa-flower-tulip:after{content:"\f801\f801"}.fa-duotone.fa-flute:after,.fad.fa-flute:after{content:"\f8b9\f8b9"}.fa-duotone.fa-flux-capacitor:after,.fad.fa-flux-capacitor:after{content:"\f8ba\f8ba"}.fa-duotone.fa-flying-disc:after,.fad.fa-flying-disc:after{content:"\e3a9\e3a9"}.fa-duotone.fa-folder-blank:after,.fa-duotone.fa-folder:after,.fad.fa-folder-blank:after,.fad.fa-folder:after{content:"\f07b\f07b"}.fa-duotone.fa-folder-arrow-down:after,.fa-duotone.fa-folder-download:after,.fad.fa-folder-arrow-down:after,.fad.fa-folder-download:after{content:"\e053\e053"}.fa-duotone.fa-folder-arrow-up:after,.fa-duotone.fa-folder-upload:after,.fad.fa-folder-arrow-up:after,.fad.fa-folder-upload:after{content:"\e054\e054"}.fa-duotone.fa-folder-bookmark:after,.fad.fa-folder-bookmark:after{content:"\e186\e186"}.fa-duotone.fa-folder-closed:after,.fad.fa-folder-closed:after{content:"\e185\e185"}.fa-duotone.fa-folder-cog:after,.fa-duotone.fa-folder-gear:after,.fad.fa-folder-cog:after,.fad.fa-folder-gear:after{content:"\e187\e187"}.fa-duotone.fa-folder-grid:after,.fad.fa-folder-grid:after{content:"\e188\e188"}.fa-duotone.fa-folder-heart:after,.fad.fa-folder-heart:after{content:"\e189\e189"}.fa-duotone.fa-folder-image:after,.fad.fa-folder-image:after{content:"\e18a\e18a"}.fa-duotone.fa-folder-magnifying-glass:after,.fa-duotone.fa-folder-search:after,.fad.fa-folder-magnifying-glass:after,.fad.fa-folder-search:after{content:"\e18b\e18b"}.fa-duotone.fa-folder-medical:after,.fad.fa-folder-medical:after{content:"\e18c\e18c"}.fa-duotone.fa-folder-minus:after,.fad.fa-folder-minus:after{content:"\f65d\f65d"}.fa-duotone.fa-folder-music:after,.fad.fa-folder-music:after{content:"\e18d\e18d"}.fa-duotone.fa-folder-open:after,.fad.fa-folder-open:after{content:"\f07c\f07c"}.fa-duotone.fa-folder-plus:after,.fad.fa-folder-plus:after{content:"\f65e\f65e"}.fa-duotone.fa-folder-tree:after,.fad.fa-folder-tree:after{content:"\f802\f802"}.fa-duotone.fa-folder-user:after,.fad.fa-folder-user:after{content:"\e18e\e18e"}.fa-duotone.fa-folder-times:after,.fa-duotone.fa-folder-xmark:after,.fad.fa-folder-times:after,.fad.fa-folder-xmark:after{content:"\f65f\f65f"}.fa-duotone.fa-folders:after,.fad.fa-folders:after{content:"\f660\f660"}.fa-duotone.fa-fondue-pot:after,.fad.fa-fondue-pot:after{content:"\e40d\e40d"}.fa-duotone.fa-font:after,.fad.fa-font:after{content:"\f031\f031"}.fa-duotone.fa-font-case:after,.fad.fa-font-case:after{content:"\f866\f866"}.fa-duotone.fa-football-ball:after,.fa-duotone.fa-football:after,.fad.fa-football-ball:after,.fad.fa-football:after{content:"\f44e\f44e"}.fa-duotone.fa-football-helmet:after,.fad.fa-football-helmet:after{content:"\f44f\f44f"}.fa-duotone.fa-fork:after,.fa-duotone.fa-utensil-fork:after,.fad.fa-fork:after,.fad.fa-utensil-fork:after{content:"\f2e3\f2e3"}.fa-duotone.fa-fork-knife:after,.fa-duotone.fa-utensils-alt:after,.fad.fa-fork-knife:after,.fad.fa-utensils-alt:after{content:"\f2e6\f2e6"}.fa-duotone.fa-forklift:after,.fad.fa-forklift:after{content:"\f47a\f47a"}.fa-duotone.fa-fort:after,.fad.fa-fort:after{content:"\e486\e486"}.fa-duotone.fa-forward:after,.fad.fa-forward:after{content:"\f04e\f04e"}.fa-duotone.fa-fast-forward:after,.fa-duotone.fa-forward-fast:after,.fad.fa-fast-forward:after,.fad.fa-forward-fast:after{content:"\f050\f050"}.fa-duotone.fa-forward-step:after,.fa-duotone.fa-step-forward:after,.fad.fa-forward-step:after,.fad.fa-step-forward:after{content:"\f051\f051"}.fa-duotone.fa-frame:after,.fad.fa-frame:after{content:"\e495\e495"}.fa-duotone.fa-franc-sign:after,.fad.fa-franc-sign:after{content:"\e18f\e18f"}.fa-duotone.fa-french-fries:after,.fad.fa-french-fries:after{content:"\f803\f803"}.fa-duotone.fa-frog:after,.fad.fa-frog:after{content:"\f52e\f52e"}.fa-duotone.fa-function:after,.fad.fa-function:after{content:"\f661\f661"}.fa-duotone.fa-futbol-ball:after,.fa-duotone.fa-futbol:after,.fa-duotone.fa-soccer-ball:after,.fad.fa-futbol-ball:after,.fad.fa-futbol:after,.fad.fa-soccer-ball:after{content:"\f1e3\f1e3"}.fa-duotone.fa-g:after,.fad.fa-g:after{content:"\47\47"}.fa-duotone.fa-galaxy:after,.fad.fa-galaxy:after{content:"\e008\e008"}.fa-duotone.fa-gallery-thumbnails:after,.fad.fa-gallery-thumbnails:after{content:"\e3aa\e3aa"}.fa-duotone.fa-game-board:after,.fad.fa-game-board:after{content:"\f867\f867"}.fa-duotone.fa-game-board-alt:after,.fa-duotone.fa-game-board-simple:after,.fad.fa-game-board-alt:after,.fad.fa-game-board-simple:after{content:"\f868\f868"}.fa-duotone.fa-game-console-handheld:after,.fad.fa-game-console-handheld:after{content:"\f8bb\f8bb"}.fa-duotone.fa-gamepad:after,.fad.fa-gamepad:after{content:"\f11b\f11b"}.fa-duotone.fa-gamepad-alt:after,.fa-duotone.fa-gamepad-modern:after,.fad.fa-gamepad-alt:after,.fad.fa-gamepad-modern:after{content:"\f8bc\f8bc"}.fa-duotone.fa-garage:after,.fad.fa-garage:after{content:"\e009\e009"}.fa-duotone.fa-garage-car:after,.fad.fa-garage-car:after{content:"\e00a\e00a"}.fa-duotone.fa-garage-open:after,.fad.fa-garage-open:after{content:"\e00b\e00b"}.fa-duotone.fa-garlic:after,.fad.fa-garlic:after{content:"\e40e\e40e"}.fa-duotone.fa-gas-pump:after,.fad.fa-gas-pump:after{content:"\f52f\f52f"}.fa-duotone.fa-gas-pump-slash:after,.fad.fa-gas-pump-slash:after{content:"\f5f4\f5f4"}.fa-duotone.fa-dashboard:after,.fa-duotone.fa-gauge-med:after,.fa-duotone.fa-gauge:after,.fa-duotone.fa-tachometer-alt-average:after,.fad.fa-dashboard:after,.fad.fa-gauge-med:after,.fad.fa-gauge:after,.fad.fa-tachometer-alt-average:after{content:"\f624\f624"}.fa-duotone.fa-gauge-circle-bolt:after,.fad.fa-gauge-circle-bolt:after{content:"\e496\e496"}.fa-duotone.fa-gauge-circle-minus:after,.fad.fa-gauge-circle-minus:after{content:"\e497\e497"}.fa-duotone.fa-gauge-circle-plus:after,.fad.fa-gauge-circle-plus:after{content:"\e498\e498"}.fa-duotone.fa-gauge-high:after,.fa-duotone.fa-tachometer-alt-fast:after,.fa-duotone.fa-tachometer-alt:after,.fad.fa-gauge-high:after,.fad.fa-tachometer-alt-fast:after,.fad.fa-tachometer-alt:after{content:"\f625\f625"}.fa-duotone.fa-gauge-low:after,.fa-duotone.fa-tachometer-alt-slow:after,.fad.fa-gauge-low:after,.fad.fa-tachometer-alt-slow:after{content:"\f627\f627"}.fa-duotone.fa-gauge-max:after,.fa-duotone.fa-tachometer-alt-fastest:after,.fad.fa-gauge-max:after,.fad.fa-tachometer-alt-fastest:after{content:"\f626\f626"}.fa-duotone.fa-gauge-min:after,.fa-duotone.fa-tachometer-alt-slowest:after,.fad.fa-gauge-min:after,.fad.fa-tachometer-alt-slowest:after{content:"\f628\f628"}.fa-duotone.fa-gauge-simple-med:after,.fa-duotone.fa-gauge-simple:after,.fa-duotone.fa-tachometer-average:after,.fad.fa-gauge-simple-med:after,.fad.fa-gauge-simple:after,.fad.fa-tachometer-average:after{content:"\f629\f629"}.fa-duotone.fa-gauge-simple-high:after,.fa-duotone.fa-tachometer-fast:after,.fa-duotone.fa-tachometer:after,.fad.fa-gauge-simple-high:after,.fad.fa-tachometer-fast:after,.fad.fa-tachometer:after{content:"\f62a\f62a"}.fa-duotone.fa-gauge-simple-low:after,.fa-duotone.fa-tachometer-slow:after,.fad.fa-gauge-simple-low:after,.fad.fa-tachometer-slow:after{content:"\f62c\f62c"}.fa-duotone.fa-gauge-simple-max:after,.fa-duotone.fa-tachometer-fastest:after,.fad.fa-gauge-simple-max:after,.fad.fa-tachometer-fastest:after{content:"\f62b\f62b"}.fa-duotone.fa-gauge-simple-min:after,.fa-duotone.fa-tachometer-slowest:after,.fad.fa-gauge-simple-min:after,.fad.fa-tachometer-slowest:after{content:"\f62d\f62d"}.fa-duotone.fa-gavel:after,.fa-duotone.fa-legal:after,.fad.fa-gavel:after,.fad.fa-legal:after{content:"\f0e3\f0e3"}.fa-duotone.fa-cog:after,.fa-duotone.fa-gear:after,.fad.fa-cog:after,.fad.fa-gear:after{content:"\f013\f013"}.fa-duotone.fa-cogs:after,.fa-duotone.fa-gears:after,.fad.fa-cogs:after,.fad.fa-gears:after{content:"\f085\f085"}.fa-duotone.fa-gem:after,.fad.fa-gem:after{content:"\f3a5\f3a5"}.fa-duotone.fa-genderless:after,.fad.fa-genderless:after{content:"\f22d\f22d"}.fa-duotone.fa-ghost:after,.fad.fa-ghost:after{content:"\f6e2\f6e2"}.fa-duotone.fa-gif:after,.fad.fa-gif:after{content:"\e190\e190"}.fa-duotone.fa-gift:after,.fad.fa-gift:after{content:"\f06b\f06b"}.fa-duotone.fa-gift-card:after,.fad.fa-gift-card:after{content:"\f663\f663"}.fa-duotone.fa-gifts:after,.fad.fa-gifts:after{content:"\f79c\f79c"}.fa-duotone.fa-gingerbread-man:after,.fad.fa-gingerbread-man:after{content:"\f79d\f79d"}.fa-duotone.fa-glass:after,.fad.fa-glass:after{content:"\f804\f804"}.fa-duotone.fa-glass-citrus:after,.fad.fa-glass-citrus:after{content:"\f869\f869"}.fa-duotone.fa-glass-empty:after,.fad.fa-glass-empty:after{content:"\e191\e191"}.fa-duotone.fa-glass-half-empty:after,.fa-duotone.fa-glass-half-full:after,.fa-duotone.fa-glass-half:after,.fad.fa-glass-half-empty:after,.fad.fa-glass-half-full:after,.fad.fa-glass-half:after{content:"\e192\e192"}.fa-duotone.fa-glass-water:after,.fad.fa-glass-water:after{content:"\e4f4\e4f4"}.fa-duotone.fa-glass-water-droplet:after,.fad.fa-glass-water-droplet:after{content:"\e4f5\e4f5"}.fa-duotone.fa-glasses:after,.fad.fa-glasses:after{content:"\f530\f530"}.fa-duotone.fa-glasses-alt:after,.fa-duotone.fa-glasses-round:after,.fad.fa-glasses-alt:after,.fad.fa-glasses-round:after{content:"\f5f5\f5f5"}.fa-duotone.fa-globe:after,.fad.fa-globe:after{content:"\f0ac\f0ac"}.fa-duotone.fa-globe-snow:after,.fad.fa-globe-snow:after{content:"\f7a3\f7a3"}.fa-duotone.fa-globe-stand:after,.fad.fa-globe-stand:after{content:"\f5f6\f5f6"}.fa-duotone.fa-goal-net:after,.fad.fa-goal-net:after{content:"\e3ab\e3ab"}.fa-duotone.fa-golf-ball-tee:after,.fa-duotone.fa-golf-ball:after,.fad.fa-golf-ball-tee:after,.fad.fa-golf-ball:after{content:"\f450\f450"}.fa-duotone.fa-golf-club:after,.fad.fa-golf-club:after{content:"\f451\f451"}.fa-duotone.fa-golf-flag-hole:after,.fad.fa-golf-flag-hole:after{content:"\e3ac\e3ac"}.fa-duotone.fa-gopuram:after,.fad.fa-gopuram:after{content:"\f664\f664"}.fa-duotone.fa-graduation-cap:after,.fa-duotone.fa-mortar-board:after,.fad.fa-graduation-cap:after,.fad.fa-mortar-board:after{content:"\f19d\f19d"}.fa-duotone.fa-gramophone:after,.fad.fa-gramophone:after{content:"\f8bd\f8bd"}.fa-duotone.fa-grapes:after,.fad.fa-grapes:after{content:"\e306\e306"}.fa-duotone.fa-grate:after,.fad.fa-grate:after{content:"\e193\e193"}.fa-duotone.fa-grate-droplet:after,.fad.fa-grate-droplet:after{content:"\e194\e194"}.fa-duotone.fa-greater-than:after,.fad.fa-greater-than:after{content:"\3e\3e"}.fa-duotone.fa-greater-than-equal:after,.fad.fa-greater-than-equal:after{content:"\f532\f532"}.fa-duotone.fa-grid-3:after,.fa-duotone.fa-grid:after,.fad.fa-grid-3:after,.fad.fa-grid:after{content:"\e195\e195"}.fa-duotone.fa-grid-2:after,.fad.fa-grid-2:after{content:"\e196\e196"}.fa-duotone.fa-grid-2-plus:after,.fad.fa-grid-2-plus:after{content:"\e197\e197"}.fa-duotone.fa-grid-4:after,.fad.fa-grid-4:after{content:"\e198\e198"}.fa-duotone.fa-grid-5:after,.fad.fa-grid-5:after{content:"\e199\e199"}.fa-duotone.fa-grid-dividers:after,.fad.fa-grid-dividers:after{content:"\e3ad\e3ad"}.fa-duotone.fa-grid-horizontal:after,.fad.fa-grid-horizontal:after{content:"\e307\e307"}.fa-duotone.fa-grip-horizontal:after,.fa-duotone.fa-grip:after,.fad.fa-grip-horizontal:after,.fad.fa-grip:after{content:"\f58d\f58d"}.fa-duotone.fa-grip-dots:after,.fad.fa-grip-dots:after{content:"\e410\e410"}.fa-duotone.fa-grip-dots-vertical:after,.fad.fa-grip-dots-vertical:after{content:"\e411\e411"}.fa-duotone.fa-grip-lines:after,.fad.fa-grip-lines:after{content:"\f7a4\f7a4"}.fa-duotone.fa-grip-lines-vertical:after,.fad.fa-grip-lines-vertical:after{content:"\f7a5\f7a5"}.fa-duotone.fa-grip-vertical:after,.fad.fa-grip-vertical:after{content:"\f58e\f58e"}.fa-duotone.fa-group-arrows-rotate:after,.fad.fa-group-arrows-rotate:after{content:"\e4f6\e4f6"}.fa-duotone.fa-guarani-sign:after,.fad.fa-guarani-sign:after{content:"\e19a\e19a"}.fa-duotone.fa-guitar:after,.fad.fa-guitar:after{content:"\f7a6\f7a6"}.fa-duotone.fa-guitar-electric:after,.fad.fa-guitar-electric:after{content:"\f8be\f8be"}.fa-duotone.fa-guitars:after,.fad.fa-guitars:after{content:"\f8bf\f8bf"}.fa-duotone.fa-gun:after,.fad.fa-gun:after{content:"\e19b\e19b"}.fa-duotone.fa-gun-slash:after,.fad.fa-gun-slash:after{content:"\e19c\e19c"}.fa-duotone.fa-gun-squirt:after,.fad.fa-gun-squirt:after{content:"\e19d\e19d"}.fa-duotone.fa-h:after,.fad.fa-h:after{content:"\48\48"}.fa-duotone.fa-h1:after,.fad.fa-h1:after{content:"\f313\f313"}.fa-duotone.fa-h2:after,.fad.fa-h2:after{content:"\f314\f314"}.fa-duotone.fa-h3:after,.fad.fa-h3:after{content:"\f315\f315"}.fa-duotone.fa-h4:after,.fad.fa-h4:after{content:"\f86a\f86a"}.fa-duotone.fa-h5:after,.fad.fa-h5:after{content:"\e412\e412"}.fa-duotone.fa-h6:after,.fad.fa-h6:after{content:"\e413\e413"}.fa-duotone.fa-hammer:after,.fad.fa-hammer:after{content:"\f6e3\f6e3"}.fa-duotone.fa-hammer-crash:after,.fad.fa-hammer-crash:after{content:"\e414\e414"}.fa-duotone.fa-hammer-war:after,.fad.fa-hammer-war:after{content:"\f6e4\f6e4"}.fa-duotone.fa-hamsa:after,.fad.fa-hamsa:after{content:"\f665\f665"}.fa-duotone.fa-hand-paper:after,.fa-duotone.fa-hand:after,.fad.fa-hand-paper:after,.fad.fa-hand:after{content:"\f256\f256"}.fa-duotone.fa-hand-back-fist:after,.fa-duotone.fa-hand-rock:after,.fad.fa-hand-back-fist:after,.fad.fa-hand-rock:after{content:"\f255\f255"}.fa-duotone.fa-hand-back-point-down:after,.fad.fa-hand-back-point-down:after{content:"\e19e\e19e"}.fa-duotone.fa-hand-back-point-left:after,.fad.fa-hand-back-point-left:after{content:"\e19f\e19f"}.fa-duotone.fa-hand-back-point-ribbon:after,.fad.fa-hand-back-point-ribbon:after{content:"\e1a0\e1a0"}.fa-duotone.fa-hand-back-point-right:after,.fad.fa-hand-back-point-right:after{content:"\e1a1\e1a1"}.fa-duotone.fa-hand-back-point-up:after,.fad.fa-hand-back-point-up:after{content:"\e1a2\e1a2"}.fa-duotone.fa-allergies:after,.fa-duotone.fa-hand-dots:after,.fad.fa-allergies:after,.fad.fa-hand-dots:after{content:"\f461\f461"}.fa-duotone.fa-hand-fingers-crossed:after,.fad.fa-hand-fingers-crossed:after{content:"\e1a3\e1a3"}.fa-duotone.fa-fist-raised:after,.fa-duotone.fa-hand-fist:after,.fad.fa-fist-raised:after,.fad.fa-hand-fist:after{content:"\f6de\f6de"}.fa-duotone.fa-hand-heart:after,.fad.fa-hand-heart:after{content:"\f4bc\f4bc"}.fa-duotone.fa-hand-holding:after,.fad.fa-hand-holding:after{content:"\f4bd\f4bd"}.fa-duotone.fa-hand-holding-box:after,.fad.fa-hand-holding-box:after{content:"\f47b\f47b"}.fa-duotone.fa-hand-holding-dollar:after,.fa-duotone.fa-hand-holding-usd:after,.fad.fa-hand-holding-dollar:after,.fad.fa-hand-holding-usd:after{content:"\f4c0\f4c0"}.fa-duotone.fa-hand-holding-droplet:after,.fa-duotone.fa-hand-holding-water:after,.fad.fa-hand-holding-droplet:after,.fad.fa-hand-holding-water:after{content:"\f4c1\f4c1"}.fa-duotone.fa-hand-holding-hand:after,.fad.fa-hand-holding-hand:after{content:"\e4f7\e4f7"}.fa-duotone.fa-hand-holding-heart:after,.fad.fa-hand-holding-heart:after{content:"\f4be\f4be"}.fa-duotone.fa-hand-holding-magic:after,.fad.fa-hand-holding-magic:after{content:"\f6e5\f6e5"}.fa-duotone.fa-hand-holding-medical:after,.fad.fa-hand-holding-medical:after{content:"\e05c\e05c"}.fa-duotone.fa-hand-holding-seedling:after,.fad.fa-hand-holding-seedling:after{content:"\f4bf\f4bf"}.fa-duotone.fa-hand-holding-skull:after,.fad.fa-hand-holding-skull:after{content:"\e1a4\e1a4"}.fa-duotone.fa-hand-horns:after,.fad.fa-hand-horns:after{content:"\e1a9\e1a9"}.fa-duotone.fa-hand-lizard:after,.fad.fa-hand-lizard:after{content:"\f258\f258"}.fa-duotone.fa-hand-love:after,.fad.fa-hand-love:after{content:"\e1a5\e1a5"}.fa-duotone.fa-hand-middle-finger:after,.fad.fa-hand-middle-finger:after{content:"\f806\f806"}.fa-duotone.fa-hand-peace:after,.fad.fa-hand-peace:after{content:"\f25b\f25b"}.fa-duotone.fa-hand-point-down:after,.fad.fa-hand-point-down:after{content:"\f0a7\f0a7"}.fa-duotone.fa-hand-point-left:after,.fad.fa-hand-point-left:after{content:"\f0a5\f0a5"}.fa-duotone.fa-hand-point-ribbon:after,.fad.fa-hand-point-ribbon:after{content:"\e1a6\e1a6"}.fa-duotone.fa-hand-point-right:after,.fad.fa-hand-point-right:after{content:"\f0a4\f0a4"}.fa-duotone.fa-hand-point-up:after,.fad.fa-hand-point-up:after{content:"\f0a6\f0a6"}.fa-duotone.fa-hand-pointer:after,.fad.fa-hand-pointer:after{content:"\f25a\f25a"}.fa-duotone.fa-hand-scissors:after,.fad.fa-hand-scissors:after{content:"\f257\f257"}.fa-duotone.fa-hand-sparkles:after,.fad.fa-hand-sparkles:after{content:"\e05d\e05d"}.fa-duotone.fa-hand-spock:after,.fad.fa-hand-spock:after{content:"\f259\f259"}.fa-duotone.fa-hand-wave:after,.fad.fa-hand-wave:after{content:"\e1a7\e1a7"}.fa-duotone.fa-handcuffs:after,.fad.fa-handcuffs:after{content:"\e4f8\e4f8"}.fa-duotone.fa-hands:after,.fa-duotone.fa-sign-language:after,.fa-duotone.fa-signing:after,.fad.fa-hands:after,.fad.fa-sign-language:after,.fad.fa-signing:after{content:"\f2a7\f2a7"}.fa-duotone.fa-american-sign-language-interpreting:after,.fa-duotone.fa-asl-interpreting:after,.fa-duotone.fa-hands-american-sign-language-interpreting:after,.fa-duotone.fa-hands-asl-interpreting:after,.fad.fa-american-sign-language-interpreting:after,.fad.fa-asl-interpreting:after,.fad.fa-hands-american-sign-language-interpreting:after,.fad.fa-hands-asl-interpreting:after{content:"\f2a3\f2a3"}.fa-duotone.fa-hands-bound:after,.fad.fa-hands-bound:after{content:"\e4f9\e4f9"}.fa-duotone.fa-hands-bubbles:after,.fa-duotone.fa-hands-wash:after,.fad.fa-hands-bubbles:after,.fad.fa-hands-wash:after{content:"\e05e\e05e"}.fa-duotone.fa-hands-clapping:after,.fad.fa-hands-clapping:after{content:"\e1a8\e1a8"}.fa-duotone.fa-hands-holding:after,.fad.fa-hands-holding:after{content:"\f4c2\f4c2"}.fa-duotone.fa-hands-holding-child:after,.fad.fa-hands-holding-child:after{content:"\e4fa\e4fa"}.fa-duotone.fa-hands-holding-circle:after,.fad.fa-hands-holding-circle:after{content:"\e4fb\e4fb"}.fa-duotone.fa-hand-receiving:after,.fa-duotone.fa-hands-holding-diamond:after,.fad.fa-hand-receiving:after,.fad.fa-hands-holding-diamond:after{content:"\f47c\f47c"}.fa-duotone.fa-hands-holding-dollar:after,.fa-duotone.fa-hands-usd:after,.fad.fa-hands-holding-dollar:after,.fad.fa-hands-usd:after{content:"\f4c5\f4c5"}.fa-duotone.fa-hands-heart:after,.fa-duotone.fa-hands-holding-heart:after,.fad.fa-hands-heart:after,.fad.fa-hands-holding-heart:after{content:"\f4c3\f4c3"}.fa-duotone.fa-hands-praying:after,.fa-duotone.fa-praying-hands:after,.fad.fa-hands-praying:after,.fad.fa-praying-hands:after{content:"\f684\f684"}.fa-duotone.fa-handshake:after,.fad.fa-handshake:after{content:"\f2b5\f2b5"}.fa-duotone.fa-hands-helping:after,.fa-duotone.fa-handshake-angle:after,.fad.fa-hands-helping:after,.fad.fa-handshake-angle:after{content:"\f4c4\f4c4"}.fa-duotone.fa-handshake-alt:after,.fa-duotone.fa-handshake-simple:after,.fad.fa-handshake-alt:after,.fad.fa-handshake-simple:after{content:"\f4c6\f4c6"}.fa-duotone.fa-handshake-alt-slash:after,.fa-duotone.fa-handshake-simple-slash:after,.fad.fa-handshake-alt-slash:after,.fad.fa-handshake-simple-slash:after{content:"\e05f\e05f"}.fa-duotone.fa-handshake-slash:after,.fad.fa-handshake-slash:after{content:"\e060\e060"}.fa-duotone.fa-hanukiah:after,.fad.fa-hanukiah:after{content:"\f6e6\f6e6"}.fa-duotone.fa-hard-drive:after,.fa-duotone.fa-hdd:after,.fad.fa-hard-drive:after,.fad.fa-hdd:after{content:"\f0a0\f0a0"}.fa-duotone.fa-hashtag:after,.fad.fa-hashtag:after{content:"\23\23"}.fa-duotone.fa-hashtag-lock:after,.fad.fa-hashtag-lock:after{content:"\e415\e415"}.fa-duotone.fa-hat-chef:after,.fad.fa-hat-chef:after{content:"\f86b\f86b"}.fa-duotone.fa-hat-cowboy:after,.fad.fa-hat-cowboy:after{content:"\f8c0\f8c0"}.fa-duotone.fa-hat-cowboy-side:after,.fad.fa-hat-cowboy-side:after{content:"\f8c1\f8c1"}.fa-duotone.fa-hat-santa:after,.fad.fa-hat-santa:after{content:"\f7a7\f7a7"}.fa-duotone.fa-hat-winter:after,.fad.fa-hat-winter:after{content:"\f7a8\f7a8"}.fa-duotone.fa-hat-witch:after,.fad.fa-hat-witch:after{content:"\f6e7\f6e7"}.fa-duotone.fa-hat-wizard:after,.fad.fa-hat-wizard:after{content:"\f6e8\f6e8"}.fa-duotone.fa-head-side:after,.fad.fa-head-side:after{content:"\f6e9\f6e9"}.fa-duotone.fa-head-side-brain:after,.fad.fa-head-side-brain:after{content:"\f808\f808"}.fa-duotone.fa-head-side-cough:after,.fad.fa-head-side-cough:after{content:"\e061\e061"}.fa-duotone.fa-head-side-cough-slash:after,.fad.fa-head-side-cough-slash:after{content:"\e062\e062"}.fa-duotone.fa-head-side-goggles:after,.fa-duotone.fa-head-vr:after,.fad.fa-head-side-goggles:after,.fad.fa-head-vr:after{content:"\f6ea\f6ea"}.fa-duotone.fa-head-side-headphones:after,.fad.fa-head-side-headphones:after{content:"\f8c2\f8c2"}.fa-duotone.fa-head-side-heart:after,.fad.fa-head-side-heart:after{content:"\e1aa\e1aa"}.fa-duotone.fa-head-side-mask:after,.fad.fa-head-side-mask:after{content:"\e063\e063"}.fa-duotone.fa-head-side-medical:after,.fad.fa-head-side-medical:after{content:"\f809\f809"}.fa-duotone.fa-head-side-virus:after,.fad.fa-head-side-virus:after{content:"\e064\e064"}.fa-duotone.fa-header:after,.fa-duotone.fa-heading:after,.fad.fa-header:after,.fad.fa-heading:after{content:"\f1dc\f1dc"}.fa-duotone.fa-headphones:after,.fad.fa-headphones:after{content:"\f025\f025"}.fa-duotone.fa-headphones-alt:after,.fa-duotone.fa-headphones-simple:after,.fad.fa-headphones-alt:after,.fad.fa-headphones-simple:after{content:"\f58f\f58f"}.fa-duotone.fa-headset:after,.fad.fa-headset:after{content:"\f590\f590"}.fa-duotone.fa-heart:after,.fad.fa-heart:after{content:"\f004\f004"}.fa-duotone.fa-heart-circle-bolt:after,.fad.fa-heart-circle-bolt:after{content:"\e4fc\e4fc"}.fa-duotone.fa-heart-circle-check:after,.fad.fa-heart-circle-check:after{content:"\e4fd\e4fd"}.fa-duotone.fa-heart-circle-exclamation:after,.fad.fa-heart-circle-exclamation:after{content:"\e4fe\e4fe"}.fa-duotone.fa-heart-circle-minus:after,.fad.fa-heart-circle-minus:after{content:"\e4ff\e4ff"}.fa-duotone.fa-heart-circle-plus:after,.fad.fa-heart-circle-plus:after{content:"\e500\e500"}.fa-duotone.fa-heart-circle-xmark:after,.fad.fa-heart-circle-xmark:after{content:"\e501\e501"}.fa-duotone.fa-heart-broken:after,.fa-duotone.fa-heart-crack:after,.fad.fa-heart-broken:after,.fad.fa-heart-crack:after{content:"\f7a9\f7a9"}.fa-duotone.fa-heart-half:after,.fad.fa-heart-half:after{content:"\e1ab\e1ab"}.fa-duotone.fa-heart-half-alt:after,.fa-duotone.fa-heart-half-stroke:after,.fad.fa-heart-half-alt:after,.fad.fa-heart-half-stroke:after{content:"\e1ac\e1ac"}.fa-duotone.fa-heart-pulse:after,.fa-duotone.fa-heartbeat:after,.fad.fa-heart-pulse:after,.fad.fa-heartbeat:after{content:"\f21e\f21e"}.fa-duotone.fa-heat:after,.fad.fa-heat:after{content:"\e00c\e00c"}.fa-duotone.fa-helicopter:after,.fad.fa-helicopter:after{content:"\f533\f533"}.fa-duotone.fa-helicopter-symbol:after,.fad.fa-helicopter-symbol:after{content:"\e502\e502"}.fa-duotone.fa-helmet-battle:after,.fad.fa-helmet-battle:after{content:"\f6eb\f6eb"}.fa-duotone.fa-hard-hat:after,.fa-duotone.fa-hat-hard:after,.fa-duotone.fa-helmet-safety:after,.fad.fa-hard-hat:after,.fad.fa-hat-hard:after,.fad.fa-helmet-safety:after{content:"\f807\f807"}.fa-duotone.fa-helmet-un:after,.fad.fa-helmet-un:after{content:"\e503\e503"}.fa-duotone.fa-hexagon:after,.fad.fa-hexagon:after{content:"\f312\f312"}.fa-duotone.fa-hexagon-check:after,.fad.fa-hexagon-check:after{content:"\e416\e416"}.fa-duotone.fa-hexagon-divide:after,.fad.fa-hexagon-divide:after{content:"\e1ad\e1ad"}.fa-duotone.fa-hexagon-exclamation:after,.fad.fa-hexagon-exclamation:after{content:"\e417\e417"}.fa-duotone.fa-hexagon-image:after,.fad.fa-hexagon-image:after{content:"\e504\e504"}.fa-duotone.fa-hexagon-minus:after,.fa-duotone.fa-minus-hexagon:after,.fad.fa-hexagon-minus:after,.fad.fa-minus-hexagon:after{content:"\f307\f307"}.fa-duotone.fa-hexagon-plus:after,.fa-duotone.fa-plus-hexagon:after,.fad.fa-hexagon-plus:after,.fad.fa-plus-hexagon:after{content:"\f300\f300"}.fa-duotone.fa-hexagon-vertical-nft:after,.fad.fa-hexagon-vertical-nft:after{content:"\e505\e505"}.fa-duotone.fa-hexagon-vertical-nft-slanted:after,.fad.fa-hexagon-vertical-nft-slanted:after{content:"\e506\e506"}.fa-duotone.fa-hexagon-xmark:after,.fa-duotone.fa-times-hexagon:after,.fa-duotone.fa-xmark-hexagon:after,.fad.fa-hexagon-xmark:after,.fad.fa-times-hexagon:after,.fad.fa-xmark-hexagon:after{content:"\f2ee\f2ee"}.fa-duotone.fa-high-definition:after,.fa-duotone.fa-rectangle-hd:after,.fad.fa-high-definition:after,.fad.fa-rectangle-hd:after{content:"\e1ae\e1ae"}.fa-duotone.fa-highlighter:after,.fad.fa-highlighter:after{content:"\f591\f591"}.fa-duotone.fa-highlighter-line:after,.fad.fa-highlighter-line:after{content:"\e1af\e1af"}.fa-duotone.fa-hill-avalanche:after,.fad.fa-hill-avalanche:after{content:"\e507\e507"}.fa-duotone.fa-hill-rockslide:after,.fad.fa-hill-rockslide:after{content:"\e508\e508"}.fa-duotone.fa-hippo:after,.fad.fa-hippo:after{content:"\f6ed\f6ed"}.fa-duotone.fa-hockey-mask:after,.fad.fa-hockey-mask:after{content:"\f6ee\f6ee"}.fa-duotone.fa-hockey-puck:after,.fad.fa-hockey-puck:after{content:"\f453\f453"}.fa-duotone.fa-hockey-stick-puck:after,.fad.fa-hockey-stick-puck:after{content:"\e3ae\e3ae"}.fa-duotone.fa-hockey-sticks:after,.fad.fa-hockey-sticks:after{content:"\f454\f454"}.fa-duotone.fa-holly-berry:after,.fad.fa-holly-berry:after{content:"\f7aa\f7aa"}.fa-duotone.fa-honey-pot:after,.fad.fa-honey-pot:after{content:"\e418\e418"}.fa-duotone.fa-hood-cloak:after,.fad.fa-hood-cloak:after{content:"\f6ef\f6ef"}.fa-duotone.fa-horizontal-rule:after,.fad.fa-horizontal-rule:after{content:"\f86c\f86c"}.fa-duotone.fa-horse:after,.fad.fa-horse:after{content:"\f6f0\f6f0"}.fa-duotone.fa-horse-head:after,.fad.fa-horse-head:after{content:"\f7ab\f7ab"}.fa-duotone.fa-horse-saddle:after,.fad.fa-horse-saddle:after{content:"\f8c3\f8c3"}.fa-duotone.fa-hose:after,.fad.fa-hose:after{content:"\e419\e419"}.fa-duotone.fa-hose-reel:after,.fad.fa-hose-reel:after{content:"\e41a\e41a"}.fa-duotone.fa-hospital-alt:after,.fa-duotone.fa-hospital-wide:after,.fa-duotone.fa-hospital:after,.fad.fa-hospital-alt:after,.fad.fa-hospital-wide:after,.fad.fa-hospital:after{content:"\f0f8\f0f8"}.fa-duotone.fa-hospital-user:after,.fad.fa-hospital-user:after{content:"\f80d\f80d"}.fa-duotone.fa-hospitals:after,.fad.fa-hospitals:after{content:"\f80e\f80e"}.fa-duotone.fa-hot-tub-person:after,.fa-duotone.fa-hot-tub:after,.fad.fa-hot-tub-person:after,.fad.fa-hot-tub:after{content:"\f593\f593"}.fa-duotone.fa-hotdog:after,.fad.fa-hotdog:after{content:"\f80f\f80f"}.fa-duotone.fa-hotel:after,.fad.fa-hotel:after{content:"\f594\f594"}.fa-duotone.fa-hourglass-2:after,.fa-duotone.fa-hourglass-half:after,.fa-duotone.fa-hourglass:after,.fad.fa-hourglass-2:after,.fad.fa-hourglass-half:after,.fad.fa-hourglass:after{content:"\f254\f254"}.fa-duotone.fa-hourglass-clock:after,.fad.fa-hourglass-clock:after{content:"\e41b\e41b"}.fa-duotone.fa-hourglass-empty:after,.fad.fa-hourglass-empty:after{content:"\f252\f252"}.fa-duotone.fa-hourglass-3:after,.fa-duotone.fa-hourglass-end:after,.fad.fa-hourglass-3:after,.fad.fa-hourglass-end:after{content:"\f253\f253"}.fa-duotone.fa-hourglass-1:after,.fa-duotone.fa-hourglass-start:after,.fad.fa-hourglass-1:after,.fad.fa-hourglass-start:after{content:"\f251\f251"}.fa-duotone.fa-home-alt:after,.fa-duotone.fa-home-lg-alt:after,.fa-duotone.fa-home:after,.fa-duotone.fa-house:after,.fad.fa-home-alt:after,.fad.fa-home-lg-alt:after,.fad.fa-home:after,.fad.fa-house:after{content:"\f015\f015"}.fa-duotone.fa-home-blank:after,.fa-duotone.fa-house-blank:after,.fad.fa-home-blank:after,.fad.fa-house-blank:after{content:"\e487\e487"}.fa-duotone.fa-house-building:after,.fad.fa-house-building:after{content:"\e1b1\e1b1"}.fa-duotone.fa-home-lg:after,.fa-duotone.fa-house-chimney:after,.fad.fa-home-lg:after,.fad.fa-house-chimney:after{content:"\e3af\e3af"}.fa-duotone.fa-house-chimney-blank:after,.fad.fa-house-chimney-blank:after{content:"\e3b0\e3b0"}.fa-duotone.fa-house-chimney-crack:after,.fa-duotone.fa-house-damage:after,.fad.fa-house-chimney-crack:after,.fad.fa-house-damage:after{content:"\f6f1\f6f1"}.fa-duotone.fa-house-chimney-heart:after,.fad.fa-house-chimney-heart:after{content:"\e1b2\e1b2"}.fa-duotone.fa-clinic-medical:after,.fa-duotone.fa-house-chimney-medical:after,.fad.fa-clinic-medical:after,.fad.fa-house-chimney-medical:after{content:"\f7f2\f7f2"}.fa-duotone.fa-house-chimney-user:after,.fad.fa-house-chimney-user:after{content:"\e065\e065"}.fa-duotone.fa-house-chimney-window:after,.fad.fa-house-chimney-window:after{content:"\e00d\e00d"}.fa-duotone.fa-house-circle-check:after,.fad.fa-house-circle-check:after{content:"\e509\e509"}.fa-duotone.fa-house-circle-exclamation:after,.fad.fa-house-circle-exclamation:after{content:"\e50a\e50a"}.fa-duotone.fa-house-circle-xmark:after,.fad.fa-house-circle-xmark:after{content:"\e50b\e50b"}.fa-duotone.fa-house-crack:after,.fad.fa-house-crack:after{content:"\e3b1\e3b1"}.fa-duotone.fa-house-day:after,.fad.fa-house-day:after{content:"\e00e\e00e"}.fa-duotone.fa-house-fire:after,.fad.fa-house-fire:after{content:"\e50c\e50c"}.fa-duotone.fa-house-flag:after,.fad.fa-house-flag:after{content:"\e50d\e50d"}.fa-duotone.fa-house-flood-water:after,.fad.fa-house-flood-water:after{content:"\e50e\e50e"}.fa-duotone.fa-house-flood-water-circle-arrow-right:after,.fad.fa-house-flood-water-circle-arrow-right:after{content:"\e50f\e50f"}.fa-duotone.fa-home-heart:after,.fa-duotone.fa-house-heart:after,.fad.fa-home-heart:after,.fad.fa-house-heart:after{content:"\f4c9\f4c9"}.fa-duotone.fa-house-laptop:after,.fa-duotone.fa-laptop-house:after,.fad.fa-house-laptop:after,.fad.fa-laptop-house:after{content:"\e066\e066"}.fa-duotone.fa-house-lock:after,.fad.fa-house-lock:after{content:"\e510\e510"}.fa-duotone.fa-house-medical:after,.fad.fa-house-medical:after{content:"\e3b2\e3b2"}.fa-duotone.fa-house-medical-circle-check:after,.fad.fa-house-medical-circle-check:after{content:"\e511\e511"}.fa-duotone.fa-house-medical-circle-exclamation:after,.fad.fa-house-medical-circle-exclamation:after{content:"\e512\e512"}.fa-duotone.fa-house-medical-circle-xmark:after,.fad.fa-house-medical-circle-xmark:after{content:"\e513\e513"}.fa-duotone.fa-house-medical-flag:after,.fad.fa-house-medical-flag:after{content:"\e514\e514"}.fa-duotone.fa-house-night:after,.fad.fa-house-night:after{content:"\e010\e010"}.fa-duotone.fa-house-leave:after,.fa-duotone.fa-house-person-depart:after,.fa-duotone.fa-house-person-leave:after,.fad.fa-house-leave:after,.fad.fa-house-person-depart:after,.fad.fa-house-person-leave:after{content:"\e00f\e00f"}.fa-duotone.fa-house-person-arrive:after,.fa-duotone.fa-house-person-return:after,.fa-duotone.fa-house-return:after,.fad.fa-house-person-arrive:after,.fad.fa-house-person-return:after,.fad.fa-house-return:after{content:"\e011\e011"}.fa-duotone.fa-house-signal:after,.fad.fa-house-signal:after{content:"\e012\e012"}.fa-duotone.fa-house-tree:after,.fad.fa-house-tree:after{content:"\e1b3\e1b3"}.fa-duotone.fa-house-tsunami:after,.fad.fa-house-tsunami:after{content:"\e515\e515"}.fa-duotone.fa-house-turret:after,.fad.fa-house-turret:after{content:"\e1b4\e1b4"}.fa-duotone.fa-home-user:after,.fa-duotone.fa-house-user:after,.fad.fa-home-user:after,.fad.fa-house-user:after{content:"\e1b0\e1b0"}.fa-duotone.fa-house-flood:after,.fa-duotone.fa-house-water:after,.fad.fa-house-flood:after,.fad.fa-house-water:after{content:"\f74f\f74f"}.fa-duotone.fa-house-window:after,.fad.fa-house-window:after{content:"\e3b3\e3b3"}.fa-duotone.fa-hryvnia-sign:after,.fa-duotone.fa-hryvnia:after,.fad.fa-hryvnia-sign:after,.fad.fa-hryvnia:after{content:"\f6f2\f6f2"}.fa-duotone.fa-100:after,.fa-duotone.fa-hundred-points:after,.fad.fa-100:after,.fad.fa-hundred-points:after{content:"\e41c\e41c"}.fa-duotone.fa-hurricane:after,.fad.fa-hurricane:after{content:"\f751\f751"}.fa-duotone.fa-hyphen:after,.fad.fa-hyphen:after{content:"\2d\2d"}.fa-duotone.fa-i:after,.fad.fa-i:after{content:"\49\49"}.fa-duotone.fa-i-cursor:after,.fad.fa-i-cursor:after{content:"\f246\f246"}.fa-duotone.fa-ice-cream:after,.fad.fa-ice-cream:after{content:"\f810\f810"}.fa-duotone.fa-ice-skate:after,.fad.fa-ice-skate:after{content:"\f7ac\f7ac"}.fa-duotone.fa-icicles:after,.fad.fa-icicles:after{content:"\f7ad\f7ad"}.fa-duotone.fa-heart-music-camera-bolt:after,.fa-duotone.fa-icons:after,.fad.fa-heart-music-camera-bolt:after,.fad.fa-icons:after{content:"\f86d\f86d"}.fa-duotone.fa-id-badge:after,.fad.fa-id-badge:after{content:"\f2c1\f2c1"}.fa-duotone.fa-drivers-license:after,.fa-duotone.fa-id-card:after,.fad.fa-drivers-license:after,.fad.fa-id-card:after{content:"\f2c2\f2c2"}.fa-duotone.fa-id-card-alt:after,.fa-duotone.fa-id-card-clip:after,.fad.fa-id-card-alt:after,.fad.fa-id-card-clip:after{content:"\f47f\f47f"}.fa-duotone.fa-igloo:after,.fad.fa-igloo:after{content:"\f7ae\f7ae"}.fa-duotone.fa-image:after,.fad.fa-image:after{content:"\f03e\f03e"}.fa-duotone.fa-image-landscape:after,.fa-duotone.fa-landscape:after,.fad.fa-image-landscape:after,.fad.fa-landscape:after{content:"\e1b5\e1b5"}.fa-duotone.fa-image-polaroid:after,.fad.fa-image-polaroid:after{content:"\f8c4\f8c4"}.fa-duotone.fa-image-polaroid-user:after,.fad.fa-image-polaroid-user:after{content:"\e1b6\e1b6"}.fa-duotone.fa-image-portrait:after,.fa-duotone.fa-portrait:after,.fad.fa-image-portrait:after,.fad.fa-portrait:after{content:"\f3e0\f3e0"}.fa-duotone.fa-image-slash:after,.fad.fa-image-slash:after{content:"\e1b7\e1b7"}.fa-duotone.fa-image-user:after,.fad.fa-image-user:after{content:"\e1b8\e1b8"}.fa-duotone.fa-images:after,.fad.fa-images:after{content:"\f302\f302"}.fa-duotone.fa-images-user:after,.fad.fa-images-user:after{content:"\e1b9\e1b9"}.fa-duotone.fa-inbox:after,.fad.fa-inbox:after{content:"\f01c\f01c"}.fa-duotone.fa-inbox-full:after,.fad.fa-inbox-full:after{content:"\e1ba\e1ba"}.fa-duotone.fa-inbox-arrow-down:after,.fa-duotone.fa-inbox-in:after,.fad.fa-inbox-arrow-down:after,.fad.fa-inbox-in:after{content:"\f310\f310"}.fa-duotone.fa-inbox-arrow-up:after,.fa-duotone.fa-inbox-out:after,.fad.fa-inbox-arrow-up:after,.fad.fa-inbox-out:after{content:"\f311\f311"}.fa-duotone.fa-inboxes:after,.fad.fa-inboxes:after{content:"\e1bb\e1bb"}.fa-duotone.fa-indent:after,.fad.fa-indent:after{content:"\f03c\f03c"}.fa-duotone.fa-indian-rupee-sign:after,.fa-duotone.fa-indian-rupee:after,.fa-duotone.fa-inr:after,.fad.fa-indian-rupee-sign:after,.fad.fa-indian-rupee:after,.fad.fa-inr:after{content:"\e1bc\e1bc"}.fa-duotone.fa-industry:after,.fad.fa-industry:after{content:"\f275\f275"}.fa-duotone.fa-industry-alt:after,.fa-duotone.fa-industry-windows:after,.fad.fa-industry-alt:after,.fad.fa-industry-windows:after{content:"\f3b3\f3b3"}.fa-duotone.fa-infinity:after,.fad.fa-infinity:after{content:"\f534\f534"}.fa-duotone.fa-info:after,.fad.fa-info:after{content:"\f129\f129"}.fa-duotone.fa-inhaler:after,.fad.fa-inhaler:after{content:"\f5f9\f5f9"}.fa-duotone.fa-input-numeric:after,.fad.fa-input-numeric:after{content:"\e1bd\e1bd"}.fa-duotone.fa-input-pipe:after,.fad.fa-input-pipe:after{content:"\e1be\e1be"}.fa-duotone.fa-input-text:after,.fad.fa-input-text:after{content:"\e1bf\e1bf"}.fa-duotone.fa-integral:after,.fad.fa-integral:after{content:"\f667\f667"}.fa-duotone.fa-intersection:after,.fad.fa-intersection:after{content:"\f668\f668"}.fa-duotone.fa-island-tree-palm:after,.fa-duotone.fa-island-tropical:after,.fad.fa-island-tree-palm:after,.fad.fa-island-tropical:after{content:"\f811\f811"}.fa-duotone.fa-italic:after,.fad.fa-italic:after{content:"\f033\f033"}.fa-duotone.fa-j:after,.fad.fa-j:after{content:"\4a\4a"}.fa-duotone.fa-jack-o-lantern:after,.fad.fa-jack-o-lantern:after{content:"\f30e\f30e"}.fa-duotone.fa-jar:after,.fad.fa-jar:after{content:"\e516\e516"}.fa-duotone.fa-jar-wheat:after,.fad.fa-jar-wheat:after{content:"\e517\e517"}.fa-duotone.fa-jedi:after,.fad.fa-jedi:after{content:"\f669\f669"}.fa-duotone.fa-fighter-jet:after,.fa-duotone.fa-jet-fighter:after,.fad.fa-fighter-jet:after,.fad.fa-jet-fighter:after{content:"\f0fb\f0fb"}.fa-duotone.fa-jet-fighter-up:after,.fad.fa-jet-fighter-up:after{content:"\e518\e518"}.fa-duotone.fa-joint:after,.fad.fa-joint:after{content:"\f595\f595"}.fa-duotone.fa-joystick:after,.fad.fa-joystick:after{content:"\f8c5\f8c5"}.fa-duotone.fa-jug:after,.fad.fa-jug:after{content:"\f8c6\f8c6"}.fa-duotone.fa-jug-detergent:after,.fad.fa-jug-detergent:after{content:"\e519\e519"}.fa-duotone.fa-k:after,.fad.fa-k:after{content:"\4b\4b"}.fa-duotone.fa-kaaba:after,.fad.fa-kaaba:after{content:"\f66b\f66b"}.fa-duotone.fa-kazoo:after,.fad.fa-kazoo:after{content:"\f8c7\f8c7"}.fa-duotone.fa-kerning:after,.fad.fa-kerning:after{content:"\f86f\f86f"}.fa-duotone.fa-key:after,.fad.fa-key:after{content:"\f084\f084"}.fa-duotone.fa-key-skeleton:after,.fad.fa-key-skeleton:after{content:"\f6f3\f6f3"}.fa-duotone.fa-key-skeleton-left-right:after,.fad.fa-key-skeleton-left-right:after{content:"\e3b4\e3b4"}.fa-duotone.fa-keyboard:after,.fad.fa-keyboard:after{content:"\f11c\f11c"}.fa-duotone.fa-keyboard-brightness:after,.fad.fa-keyboard-brightness:after{content:"\e1c0\e1c0"}.fa-duotone.fa-keyboard-brightness-low:after,.fad.fa-keyboard-brightness-low:after{content:"\e1c1\e1c1"}.fa-duotone.fa-keyboard-down:after,.fad.fa-keyboard-down:after{content:"\e1c2\e1c2"}.fa-duotone.fa-keyboard-left:after,.fad.fa-keyboard-left:after{content:"\e1c3\e1c3"}.fa-duotone.fa-keynote:after,.fad.fa-keynote:after{content:"\f66c\f66c"}.fa-duotone.fa-khanda:after,.fad.fa-khanda:after{content:"\f66d\f66d"}.fa-duotone.fa-kidneys:after,.fad.fa-kidneys:after{content:"\f5fb\f5fb"}.fa-duotone.fa-kip-sign:after,.fad.fa-kip-sign:after{content:"\e1c4\e1c4"}.fa-duotone.fa-first-aid:after,.fa-duotone.fa-kit-medical:after,.fad.fa-first-aid:after,.fad.fa-kit-medical:after{content:"\f479\f479"}.fa-duotone.fa-kitchen-set:after,.fad.fa-kitchen-set:after{content:"\e51a\e51a"}.fa-duotone.fa-kite:after,.fad.fa-kite:after{content:"\f6f4\f6f4"}.fa-duotone.fa-kiwi-bird:after,.fad.fa-kiwi-bird:after{content:"\f535\f535"}.fa-duotone.fa-kiwi-fruit:after,.fad.fa-kiwi-fruit:after{content:"\e30c\e30c"}.fa-duotone.fa-knife:after,.fa-duotone.fa-utensil-knife:after,.fad.fa-knife:after,.fad.fa-utensil-knife:after{content:"\f2e4\f2e4"}.fa-duotone.fa-knife-kitchen:after,.fad.fa-knife-kitchen:after{content:"\f6f5\f6f5"}.fa-duotone.fa-l:after,.fad.fa-l:after{content:"\4c\4c"}.fa-duotone.fa-lacrosse-stick:after,.fad.fa-lacrosse-stick:after{content:"\e3b5\e3b5"}.fa-duotone.fa-lacrosse-stick-ball:after,.fad.fa-lacrosse-stick-ball:after{content:"\e3b6\e3b6"}.fa-duotone.fa-lambda:after,.fad.fa-lambda:after{content:"\f66e\f66e"}.fa-duotone.fa-lamp:after,.fad.fa-lamp:after{content:"\f4ca\f4ca"}.fa-duotone.fa-lamp-desk:after,.fad.fa-lamp-desk:after{content:"\e014\e014"}.fa-duotone.fa-lamp-floor:after,.fad.fa-lamp-floor:after{content:"\e015\e015"}.fa-duotone.fa-lamp-street:after,.fad.fa-lamp-street:after{content:"\e1c5\e1c5"}.fa-duotone.fa-land-mine-on:after,.fad.fa-land-mine-on:after{content:"\e51b\e51b"}.fa-duotone.fa-landmark:after,.fad.fa-landmark:after{content:"\f66f\f66f"}.fa-duotone.fa-landmark-alt:after,.fa-duotone.fa-landmark-dome:after,.fad.fa-landmark-alt:after,.fad.fa-landmark-dome:after{content:"\f752\f752"}.fa-duotone.fa-landmark-flag:after,.fad.fa-landmark-flag:after{content:"\e51c\e51c"}.fa-duotone.fa-language:after,.fad.fa-language:after{content:"\f1ab\f1ab"}.fa-duotone.fa-laptop:after,.fad.fa-laptop:after{content:"\f109\f109"}.fa-duotone.fa-laptop-arrow-down:after,.fad.fa-laptop-arrow-down:after{content:"\e1c6\e1c6"}.fa-duotone.fa-laptop-code:after,.fad.fa-laptop-code:after{content:"\f5fc\f5fc"}.fa-duotone.fa-laptop-file:after,.fad.fa-laptop-file:after{content:"\e51d\e51d"}.fa-duotone.fa-laptop-medical:after,.fad.fa-laptop-medical:after{content:"\f812\f812"}.fa-duotone.fa-laptop-mobile:after,.fa-duotone.fa-phone-laptop:after,.fad.fa-laptop-mobile:after,.fad.fa-phone-laptop:after{content:"\f87a\f87a"}.fa-duotone.fa-laptop-slash:after,.fad.fa-laptop-slash:after{content:"\e1c7\e1c7"}.fa-duotone.fa-lari-sign:after,.fad.fa-lari-sign:after{content:"\e1c8\e1c8"}.fa-duotone.fa-lasso:after,.fad.fa-lasso:after{content:"\f8c8\f8c8"}.fa-duotone.fa-lasso-sparkles:after,.fad.fa-lasso-sparkles:after{content:"\e1c9\e1c9"}.fa-duotone.fa-layer-group:after,.fad.fa-layer-group:after{content:"\f5fd\f5fd"}.fa-duotone.fa-layer-group-minus:after,.fa-duotone.fa-layer-minus:after,.fad.fa-layer-group-minus:after,.fad.fa-layer-minus:after{content:"\f5fe\f5fe"}.fa-duotone.fa-layer-group-plus:after,.fa-duotone.fa-layer-plus:after,.fad.fa-layer-group-plus:after,.fad.fa-layer-plus:after{content:"\f5ff\f5ff"}.fa-duotone.fa-leaf:after,.fad.fa-leaf:after{content:"\f06c\f06c"}.fa-duotone.fa-leaf-heart:after,.fad.fa-leaf-heart:after{content:"\f4cb\f4cb"}.fa-duotone.fa-leaf-maple:after,.fad.fa-leaf-maple:after{content:"\f6f6\f6f6"}.fa-duotone.fa-leaf-oak:after,.fad.fa-leaf-oak:after{content:"\f6f7\f6f7"}.fa-duotone.fa-leafy-green:after,.fad.fa-leafy-green:after{content:"\e41d\e41d"}.fa-duotone.fa-arrow-alt-left:after,.fa-duotone.fa-left:after,.fad.fa-arrow-alt-left:after,.fad.fa-left:after{content:"\f355\f355"}.fa-duotone.fa-arrow-alt-from-right:after,.fa-duotone.fa-left-from-line:after,.fad.fa-arrow-alt-from-right:after,.fad.fa-left-from-line:after{content:"\f348\f348"}.fa-duotone.fa-left-long:after,.fa-duotone.fa-long-arrow-alt-left:after,.fad.fa-left-long:after,.fad.fa-long-arrow-alt-left:after{content:"\f30a\f30a"}.fa-duotone.fa-left-long-to-line:after,.fad.fa-left-long-to-line:after{content:"\e41e\e41e"}.fa-duotone.fa-arrows-alt-h:after,.fa-duotone.fa-left-right:after,.fad.fa-arrows-alt-h:after,.fad.fa-left-right:after{content:"\f337\f337"}.fa-duotone.fa-arrow-alt-to-left:after,.fa-duotone.fa-left-to-line:after,.fad.fa-arrow-alt-to-left:after,.fad.fa-left-to-line:after{content:"\f34b\f34b"}.fa-duotone.fa-lemon:after,.fad.fa-lemon:after{content:"\f094\f094"}.fa-duotone.fa-less-than:after,.fad.fa-less-than:after{content:"\3c\3c"}.fa-duotone.fa-less-than-equal:after,.fad.fa-less-than-equal:after{content:"\f537\f537"}.fa-duotone.fa-life-ring:after,.fad.fa-life-ring:after{content:"\f1cd\f1cd"}.fa-duotone.fa-light-ceiling:after,.fad.fa-light-ceiling:after{content:"\e016\e016"}.fa-duotone.fa-light-emergency:after,.fad.fa-light-emergency:after{content:"\e41f\e41f"}.fa-duotone.fa-light-emergency-on:after,.fad.fa-light-emergency-on:after{content:"\e420\e420"}.fa-duotone.fa-light-switch:after,.fad.fa-light-switch:after{content:"\e017\e017"}.fa-duotone.fa-light-switch-off:after,.fad.fa-light-switch-off:after{content:"\e018\e018"}.fa-duotone.fa-light-switch-on:after,.fad.fa-light-switch-on:after{content:"\e019\e019"}.fa-duotone.fa-lightbulb:after,.fad.fa-lightbulb:after{content:"\f0eb\f0eb"}.fa-duotone.fa-lightbulb-dollar:after,.fad.fa-lightbulb-dollar:after{content:"\f670\f670"}.fa-duotone.fa-lightbulb-exclamation:after,.fad.fa-lightbulb-exclamation:after{content:"\f671\f671"}.fa-duotone.fa-lightbulb-exclamation-on:after,.fad.fa-lightbulb-exclamation-on:after{content:"\e1ca\e1ca"}.fa-duotone.fa-lightbulb-on:after,.fad.fa-lightbulb-on:after{content:"\f672\f672"}.fa-duotone.fa-lightbulb-slash:after,.fad.fa-lightbulb-slash:after{content:"\f673\f673"}.fa-duotone.fa-lights-holiday:after,.fad.fa-lights-holiday:after{content:"\f7b2\f7b2"}.fa-duotone.fa-line-columns:after,.fad.fa-line-columns:after{content:"\f870\f870"}.fa-duotone.fa-line-height:after,.fad.fa-line-height:after{content:"\f871\f871"}.fa-duotone.fa-lines-leaning:after,.fad.fa-lines-leaning:after{content:"\e51e\e51e"}.fa-duotone.fa-chain:after,.fa-duotone.fa-link:after,.fad.fa-chain:after,.fad.fa-link:after{content:"\f0c1\f0c1"}.fa-duotone.fa-chain-horizontal:after,.fa-duotone.fa-link-horizontal:after,.fad.fa-chain-horizontal:after,.fad.fa-link-horizontal:after{content:"\e1cb\e1cb"}.fa-duotone.fa-chain-horizontal-slash:after,.fa-duotone.fa-link-horizontal-slash:after,.fad.fa-chain-horizontal-slash:after,.fad.fa-link-horizontal-slash:after{content:"\e1cc\e1cc"}.fa-duotone.fa-link-simple:after,.fad.fa-link-simple:after{content:"\e1cd\e1cd"}.fa-duotone.fa-link-simple-slash:after,.fad.fa-link-simple-slash:after{content:"\e1ce\e1ce"}.fa-duotone.fa-chain-broken:after,.fa-duotone.fa-chain-slash:after,.fa-duotone.fa-link-slash:after,.fa-duotone.fa-unlink:after,.fad.fa-chain-broken:after,.fad.fa-chain-slash:after,.fad.fa-link-slash:after,.fad.fa-unlink:after{content:"\f127\f127"}.fa-duotone.fa-lips:after,.fad.fa-lips:after{content:"\f600\f600"}.fa-duotone.fa-lira-sign:after,.fad.fa-lira-sign:after{content:"\f195\f195"}.fa-duotone.fa-list-squares:after,.fa-duotone.fa-list:after,.fad.fa-list-squares:after,.fad.fa-list:after{content:"\f03a\f03a"}.fa-duotone.fa-list-check:after,.fa-duotone.fa-tasks:after,.fad.fa-list-check:after,.fad.fa-tasks:after{content:"\f0ae\f0ae"}.fa-duotone.fa-list-dropdown:after,.fad.fa-list-dropdown:after{content:"\e1cf\e1cf"}.fa-duotone.fa-list-music:after,.fad.fa-list-music:after{content:"\f8c9\f8c9"}.fa-duotone.fa-list-1-2:after,.fa-duotone.fa-list-numeric:after,.fa-duotone.fa-list-ol:after,.fad.fa-list-1-2:after,.fad.fa-list-numeric:after,.fad.fa-list-ol:after{content:"\f0cb\f0cb"}.fa-duotone.fa-list-radio:after,.fad.fa-list-radio:after{content:"\e1d0\e1d0"}.fa-duotone.fa-list-timeline:after,.fad.fa-list-timeline:after{content:"\e1d1\e1d1"}.fa-duotone.fa-list-tree:after,.fad.fa-list-tree:after{content:"\e1d2\e1d2"}.fa-duotone.fa-list-dots:after,.fa-duotone.fa-list-ul:after,.fad.fa-list-dots:after,.fad.fa-list-ul:after{content:"\f0ca\f0ca"}.fa-duotone.fa-litecoin-sign:after,.fad.fa-litecoin-sign:after{content:"\e1d3\e1d3"}.fa-duotone.fa-loader:after,.fad.fa-loader:after{content:"\e1d4\e1d4"}.fa-duotone.fa-lobster:after,.fad.fa-lobster:after{content:"\e421\e421"}.fa-duotone.fa-location-arrow:after,.fad.fa-location-arrow:after{content:"\f124\f124"}.fa-duotone.fa-location-check:after,.fa-duotone.fa-map-marker-check:after,.fad.fa-location-check:after,.fad.fa-map-marker-check:after{content:"\f606\f606"}.fa-duotone.fa-location-crosshairs:after,.fa-duotone.fa-location:after,.fad.fa-location-crosshairs:after,.fad.fa-location:after{content:"\f601\f601"}.fa-duotone.fa-location-crosshairs-slash:after,.fa-duotone.fa-location-slash:after,.fad.fa-location-crosshairs-slash:after,.fad.fa-location-slash:after{content:"\f603\f603"}.fa-duotone.fa-location-dot:after,.fa-duotone.fa-map-marker-alt:after,.fad.fa-location-dot:after,.fad.fa-map-marker-alt:after{content:"\f3c5\f3c5"}.fa-duotone.fa-location-dot-slash:after,.fa-duotone.fa-map-marker-alt-slash:after,.fad.fa-location-dot-slash:after,.fad.fa-map-marker-alt-slash:after{content:"\f605\f605"}.fa-duotone.fa-location-exclamation:after,.fa-duotone.fa-map-marker-exclamation:after,.fad.fa-location-exclamation:after,.fad.fa-map-marker-exclamation:after{content:"\f608\f608"}.fa-duotone.fa-location-minus:after,.fa-duotone.fa-map-marker-minus:after,.fad.fa-location-minus:after,.fad.fa-map-marker-minus:after{content:"\f609\f609"}.fa-duotone.fa-location-pen:after,.fa-duotone.fa-map-marker-edit:after,.fad.fa-location-pen:after,.fad.fa-map-marker-edit:after{content:"\f607\f607"}.fa-duotone.fa-location-pin:after,.fa-duotone.fa-map-marker:after,.fad.fa-location-pin:after,.fad.fa-map-marker:after{content:"\f041\f041"}.fa-duotone.fa-location-pin-lock:after,.fad.fa-location-pin-lock:after{content:"\e51f\e51f"}.fa-duotone.fa-location-pin-slash:after,.fa-duotone.fa-map-marker-slash:after,.fad.fa-location-pin-slash:after,.fad.fa-map-marker-slash:after{content:"\f60c\f60c"}.fa-duotone.fa-location-plus:after,.fa-duotone.fa-map-marker-plus:after,.fad.fa-location-plus:after,.fad.fa-map-marker-plus:after{content:"\f60a\f60a"}.fa-duotone.fa-location-question:after,.fa-duotone.fa-map-marker-question:after,.fad.fa-location-question:after,.fad.fa-map-marker-question:after{content:"\f60b\f60b"}.fa-duotone.fa-location-smile:after,.fa-duotone.fa-map-marker-smile:after,.fad.fa-location-smile:after,.fad.fa-map-marker-smile:after{content:"\f60d\f60d"}.fa-duotone.fa-location-xmark:after,.fa-duotone.fa-map-marker-times:after,.fa-duotone.fa-map-marker-xmark:after,.fad.fa-location-xmark:after,.fad.fa-map-marker-times:after,.fad.fa-map-marker-xmark:after{content:"\f60e\f60e"}.fa-duotone.fa-lock:after,.fad.fa-lock:after{content:"\f023\f023"}.fa-duotone.fa-lock-a:after,.fad.fa-lock-a:after{content:"\e422\e422"}.fa-duotone.fa-lock-hashtag:after,.fad.fa-lock-hashtag:after{content:"\e423\e423"}.fa-duotone.fa-lock-alt:after,.fa-duotone.fa-lock-keyhole:after,.fad.fa-lock-alt:after,.fad.fa-lock-keyhole:after{content:"\f30d\f30d"}.fa-duotone.fa-lock-keyhole-open:after,.fa-duotone.fa-lock-open-alt:after,.fad.fa-lock-keyhole-open:after,.fad.fa-lock-open-alt:after{content:"\f3c2\f3c2"}.fa-duotone.fa-lock-open:after,.fad.fa-lock-open:after{content:"\f3c1\f3c1"}.fa-duotone.fa-locust:after,.fad.fa-locust:after{content:"\e520\e520"}.fa-duotone.fa-lollipop:after,.fa-duotone.fa-lollypop:after,.fad.fa-lollipop:after,.fad.fa-lollypop:after{content:"\e424\e424"}.fa-duotone.fa-couch-small:after,.fa-duotone.fa-loveseat:after,.fad.fa-couch-small:after,.fad.fa-loveseat:after{content:"\f4cc\f4cc"}.fa-duotone.fa-luchador-mask:after,.fa-duotone.fa-luchador:after,.fa-duotone.fa-mask-luchador:after,.fad.fa-luchador-mask:after,.fad.fa-luchador:after,.fad.fa-mask-luchador:after{content:"\f455\f455"}.fa-duotone.fa-lungs:after,.fad.fa-lungs:after{content:"\f604\f604"}.fa-duotone.fa-lungs-virus:after,.fad.fa-lungs-virus:after{content:"\e067\e067"}.fa-duotone.fa-m:after,.fad.fa-m:after{content:"\4d\4d"}.fa-duotone.fa-mace:after,.fad.fa-mace:after{content:"\f6f8\f6f8"}.fa-duotone.fa-magnet:after,.fad.fa-magnet:after{content:"\f076\f076"}.fa-duotone.fa-magnifying-glass:after,.fa-duotone.fa-search:after,.fad.fa-magnifying-glass:after,.fad.fa-search:after{content:"\f002\f002"}.fa-duotone.fa-magnifying-glass-arrow-right:after,.fad.fa-magnifying-glass-arrow-right:after{content:"\e521\e521"}.fa-duotone.fa-magnifying-glass-chart:after,.fad.fa-magnifying-glass-chart:after{content:"\e522\e522"}.fa-duotone.fa-magnifying-glass-dollar:after,.fa-duotone.fa-search-dollar:after,.fad.fa-magnifying-glass-dollar:after,.fad.fa-search-dollar:after{content:"\f688\f688"}.fa-duotone.fa-magnifying-glass-location:after,.fa-duotone.fa-search-location:after,.fad.fa-magnifying-glass-location:after,.fad.fa-search-location:after{content:"\f689\f689"}.fa-duotone.fa-magnifying-glass-minus:after,.fa-duotone.fa-search-minus:after,.fad.fa-magnifying-glass-minus:after,.fad.fa-search-minus:after{content:"\f010\f010"}.fa-duotone.fa-magnifying-glass-plus:after,.fa-duotone.fa-search-plus:after,.fad.fa-magnifying-glass-plus:after,.fad.fa-search-plus:after{content:"\f00e\f00e"}.fa-duotone.fa-mailbox:after,.fad.fa-mailbox:after{content:"\f813\f813"}.fa-duotone.fa-manat-sign:after,.fad.fa-manat-sign:after{content:"\e1d5\e1d5"}.fa-duotone.fa-mandolin:after,.fad.fa-mandolin:after{content:"\f6f9\f6f9"}.fa-duotone.fa-mango:after,.fad.fa-mango:after{content:"\e30f\e30f"}.fa-duotone.fa-manhole:after,.fad.fa-manhole:after{content:"\e1d6\e1d6"}.fa-duotone.fa-map:after,.fad.fa-map:after{content:"\f279\f279"}.fa-duotone.fa-map-location:after,.fa-duotone.fa-map-marked:after,.fad.fa-map-location:after,.fad.fa-map-marked:after{content:"\f59f\f59f"}.fa-duotone.fa-map-location-dot:after,.fa-duotone.fa-map-marked-alt:after,.fad.fa-map-location-dot:after,.fad.fa-map-marked-alt:after{content:"\f5a0\f5a0"}.fa-duotone.fa-map-pin:after,.fad.fa-map-pin:after{content:"\f276\f276"}.fa-duotone.fa-marker:after,.fad.fa-marker:after{content:"\f5a1\f5a1"}.fa-duotone.fa-mars:after,.fad.fa-mars:after{content:"\f222\f222"}.fa-duotone.fa-mars-and-venus:after,.fad.fa-mars-and-venus:after{content:"\f224\f224"}.fa-duotone.fa-mars-and-venus-burst:after,.fad.fa-mars-and-venus-burst:after{content:"\e523\e523"}.fa-duotone.fa-mars-double:after,.fad.fa-mars-double:after{content:"\f227\f227"}.fa-duotone.fa-mars-stroke:after,.fad.fa-mars-stroke:after{content:"\f229\f229"}.fa-duotone.fa-mars-stroke-h:after,.fa-duotone.fa-mars-stroke-right:after,.fad.fa-mars-stroke-h:after,.fad.fa-mars-stroke-right:after{content:"\f22b\f22b"}.fa-duotone.fa-mars-stroke-up:after,.fa-duotone.fa-mars-stroke-v:after,.fad.fa-mars-stroke-up:after,.fad.fa-mars-stroke-v:after{content:"\f22a\f22a"}.fa-duotone.fa-glass-martini-alt:after,.fa-duotone.fa-martini-glass:after,.fad.fa-glass-martini-alt:after,.fad.fa-martini-glass:after{content:"\f57b\f57b"}.fa-duotone.fa-cocktail:after,.fa-duotone.fa-martini-glass-citrus:after,.fad.fa-cocktail:after,.fad.fa-martini-glass-citrus:after{content:"\f561\f561"}.fa-duotone.fa-glass-martini:after,.fa-duotone.fa-martini-glass-empty:after,.fad.fa-glass-martini:after,.fad.fa-martini-glass-empty:after{content:"\f000\f000"}.fa-duotone.fa-mask:after,.fad.fa-mask:after{content:"\f6fa\f6fa"}.fa-duotone.fa-mask-face:after,.fad.fa-mask-face:after{content:"\e1d7\e1d7"}.fa-duotone.fa-mask-snorkel:after,.fad.fa-mask-snorkel:after{content:"\e3b7\e3b7"}.fa-duotone.fa-mask-ventilator:after,.fad.fa-mask-ventilator:after{content:"\e524\e524"}.fa-duotone.fa-masks-theater:after,.fa-duotone.fa-theater-masks:after,.fad.fa-masks-theater:after,.fad.fa-theater-masks:after{content:"\f630\f630"}.fa-duotone.fa-mattress-pillow:after,.fad.fa-mattress-pillow:after{content:"\e525\e525"}.fa-duotone.fa-expand-arrows-alt:after,.fa-duotone.fa-maximize:after,.fad.fa-expand-arrows-alt:after,.fad.fa-maximize:after{content:"\f31e\f31e"}.fa-duotone.fa-meat:after,.fad.fa-meat:after{content:"\f814\f814"}.fa-duotone.fa-medal:after,.fad.fa-medal:after{content:"\f5a2\f5a2"}.fa-duotone.fa-megaphone:after,.fad.fa-megaphone:after{content:"\f675\f675"}.fa-duotone.fa-melon:after,.fad.fa-melon:after{content:"\e310\e310"}.fa-duotone.fa-melon-slice:after,.fad.fa-melon-slice:after{content:"\e311\e311"}.fa-duotone.fa-memo:after,.fad.fa-memo:after{content:"\e1d8\e1d8"}.fa-duotone.fa-memo-circle-check:after,.fad.fa-memo-circle-check:after{content:"\e1d9\e1d9"}.fa-duotone.fa-memo-circle-info:after,.fad.fa-memo-circle-info:after{content:"\e49a\e49a"}.fa-duotone.fa-memo-pad:after,.fad.fa-memo-pad:after{content:"\e1da\e1da"}.fa-duotone.fa-memory:after,.fad.fa-memory:after{content:"\f538\f538"}.fa-duotone.fa-menorah:after,.fad.fa-menorah:after{content:"\f676\f676"}.fa-duotone.fa-mercury:after,.fad.fa-mercury:after{content:"\f223\f223"}.fa-duotone.fa-merge:after,.fad.fa-merge:after{content:"\e526\e526"}.fa-duotone.fa-comment-alt:after,.fa-duotone.fa-message:after,.fad.fa-comment-alt:after,.fad.fa-message:after{content:"\f27a\f27a"}.fa-duotone.fa-comment-alt-arrow-down:after,.fa-duotone.fa-message-arrow-down:after,.fad.fa-comment-alt-arrow-down:after,.fad.fa-message-arrow-down:after{content:"\e1db\e1db"}.fa-duotone.fa-comment-alt-arrow-up:after,.fa-duotone.fa-message-arrow-up:after,.fad.fa-comment-alt-arrow-up:after,.fad.fa-message-arrow-up:after{content:"\e1dc\e1dc"}.fa-duotone.fa-message-arrow-up-right:after,.fad.fa-message-arrow-up-right:after{content:"\e1dd\e1dd"}.fa-duotone.fa-message-bot:after,.fad.fa-message-bot:after{content:"\e3b8\e3b8"}.fa-duotone.fa-comment-alt-captions:after,.fa-duotone.fa-message-captions:after,.fad.fa-comment-alt-captions:after,.fad.fa-message-captions:after{content:"\e1de\e1de"}.fa-duotone.fa-comment-alt-check:after,.fa-duotone.fa-message-check:after,.fad.fa-comment-alt-check:after,.fad.fa-message-check:after{content:"\f4a2\f4a2"}.fa-duotone.fa-message-code:after,.fad.fa-message-code:after{content:"\e1df\e1df"}.fa-duotone.fa-comment-alt-dollar:after,.fa-duotone.fa-message-dollar:after,.fad.fa-comment-alt-dollar:after,.fad.fa-message-dollar:after{content:"\f650\f650"}.fa-duotone.fa-comment-alt-dots:after,.fa-duotone.fa-message-dots:after,.fa-duotone.fa-messaging:after,.fad.fa-comment-alt-dots:after,.fad.fa-message-dots:after,.fad.fa-messaging:after{content:"\f4a3\f4a3"}.fa-duotone.fa-comment-alt-exclamation:after,.fa-duotone.fa-message-exclamation:after,.fad.fa-comment-alt-exclamation:after,.fad.fa-message-exclamation:after{content:"\f4a5\f4a5"}.fa-duotone.fa-comment-alt-image:after,.fa-duotone.fa-message-image:after,.fad.fa-comment-alt-image:after,.fad.fa-message-image:after{content:"\e1e0\e1e0"}.fa-duotone.fa-comment-alt-lines:after,.fa-duotone.fa-message-lines:after,.fad.fa-comment-alt-lines:after,.fad.fa-message-lines:after{content:"\f4a6\f4a6"}.fa-duotone.fa-comment-alt-medical:after,.fa-duotone.fa-message-medical:after,.fad.fa-comment-alt-medical:after,.fad.fa-message-medical:after{content:"\f7f4\f7f4"}.fa-duotone.fa-comment-middle-alt:after,.fa-duotone.fa-message-middle:after,.fad.fa-comment-middle-alt:after,.fad.fa-message-middle:after{content:"\e1e1\e1e1"}.fa-duotone.fa-comment-middle-top-alt:after,.fa-duotone.fa-message-middle-top:after,.fad.fa-comment-middle-top-alt:after,.fad.fa-message-middle-top:after{content:"\e1e2\e1e2"}.fa-duotone.fa-comment-alt-minus:after,.fa-duotone.fa-message-minus:after,.fad.fa-comment-alt-minus:after,.fad.fa-message-minus:after{content:"\f4a7\f4a7"}.fa-duotone.fa-comment-alt-music:after,.fa-duotone.fa-message-music:after,.fad.fa-comment-alt-music:after,.fad.fa-message-music:after{content:"\f8af\f8af"}.fa-duotone.fa-comment-alt-edit:after,.fa-duotone.fa-message-edit:after,.fa-duotone.fa-message-pen:after,.fad.fa-comment-alt-edit:after,.fad.fa-message-edit:after,.fad.fa-message-pen:after{content:"\f4a4\f4a4"}.fa-duotone.fa-comment-alt-plus:after,.fa-duotone.fa-message-plus:after,.fad.fa-comment-alt-plus:after,.fad.fa-message-plus:after{content:"\f4a8\f4a8"}.fa-duotone.fa-message-question:after,.fad.fa-message-question:after{content:"\e1e3\e1e3"}.fa-duotone.fa-comment-alt-quote:after,.fa-duotone.fa-message-quote:after,.fad.fa-comment-alt-quote:after,.fad.fa-message-quote:after{content:"\e1e4\e1e4"}.fa-duotone.fa-comment-alt-slash:after,.fa-duotone.fa-message-slash:after,.fad.fa-comment-alt-slash:after,.fad.fa-message-slash:after{content:"\f4a9\f4a9"}.fa-duotone.fa-comment-alt-smile:after,.fa-duotone.fa-message-smile:after,.fad.fa-comment-alt-smile:after,.fad.fa-message-smile:after{content:"\f4aa\f4aa"}.fa-duotone.fa-message-sms:after,.fad.fa-message-sms:after{content:"\e1e5\e1e5"}.fa-duotone.fa-comment-alt-text:after,.fa-duotone.fa-message-text:after,.fad.fa-comment-alt-text:after,.fad.fa-message-text:after{content:"\e1e6\e1e6"}.fa-duotone.fa-comment-alt-times:after,.fa-duotone.fa-message-times:after,.fa-duotone.fa-message-xmark:after,.fad.fa-comment-alt-times:after,.fad.fa-message-times:after,.fad.fa-message-xmark:after{content:"\f4ab\f4ab"}.fa-duotone.fa-comments-alt:after,.fa-duotone.fa-messages:after,.fad.fa-comments-alt:after,.fad.fa-messages:after{content:"\f4b6\f4b6"}.fa-duotone.fa-comments-alt-dollar:after,.fa-duotone.fa-messages-dollar:after,.fad.fa-comments-alt-dollar:after,.fad.fa-messages-dollar:after{content:"\f652\f652"}.fa-duotone.fa-messages-question:after,.fad.fa-messages-question:after{content:"\e1e7\e1e7"}.fa-duotone.fa-meteor:after,.fad.fa-meteor:after{content:"\f753\f753"}.fa-duotone.fa-meter:after,.fad.fa-meter:after{content:"\e1e8\e1e8"}.fa-duotone.fa-meter-bolt:after,.fad.fa-meter-bolt:after{content:"\e1e9\e1e9"}.fa-duotone.fa-meter-droplet:after,.fad.fa-meter-droplet:after{content:"\e1ea\e1ea"}.fa-duotone.fa-meter-fire:after,.fad.fa-meter-fire:after{content:"\e1eb\e1eb"}.fa-duotone.fa-microchip:after,.fad.fa-microchip:after{content:"\f2db\f2db"}.fa-duotone.fa-microchip-ai:after,.fad.fa-microchip-ai:after{content:"\e1ec\e1ec"}.fa-duotone.fa-microphone:after,.fad.fa-microphone:after{content:"\f130\f130"}.fa-duotone.fa-microphone-alt:after,.fa-duotone.fa-microphone-lines:after,.fad.fa-microphone-alt:after,.fad.fa-microphone-lines:after{content:"\f3c9\f3c9"}.fa-duotone.fa-microphone-alt-slash:after,.fa-duotone.fa-microphone-lines-slash:after,.fad.fa-microphone-alt-slash:after,.fad.fa-microphone-lines-slash:after{content:"\f539\f539"}.fa-duotone.fa-microphone-slash:after,.fad.fa-microphone-slash:after{content:"\f131\f131"}.fa-duotone.fa-microphone-stand:after,.fad.fa-microphone-stand:after{content:"\f8cb\f8cb"}.fa-duotone.fa-microscope:after,.fad.fa-microscope:after{content:"\f610\f610"}.fa-duotone.fa-microwave:after,.fad.fa-microwave:after{content:"\e01b\e01b"}.fa-duotone.fa-mill-sign:after,.fad.fa-mill-sign:after{content:"\e1ed\e1ed"}.fa-duotone.fa-compress-arrows-alt:after,.fa-duotone.fa-minimize:after,.fad.fa-compress-arrows-alt:after,.fad.fa-minimize:after{content:"\f78c\f78c"}.fa-duotone.fa-minus:after,.fa-duotone.fa-subtract:after,.fad.fa-minus:after,.fad.fa-subtract:after{content:"\f068\f068"}.fa-duotone.fa-mistletoe:after,.fad.fa-mistletoe:after{content:"\f7b4\f7b4"}.fa-duotone.fa-mitten:after,.fad.fa-mitten:after{content:"\f7b5\f7b5"}.fa-duotone.fa-mobile-android:after,.fa-duotone.fa-mobile-phone:after,.fa-duotone.fa-mobile:after,.fad.fa-mobile-android:after,.fad.fa-mobile-phone:after,.fad.fa-mobile:after{content:"\f3ce\f3ce"}.fa-duotone.fa-mobile-button:after,.fad.fa-mobile-button:after{content:"\f10b\f10b"}.fa-duotone.fa-mobile-iphone:after,.fa-duotone.fa-mobile-notch:after,.fad.fa-mobile-iphone:after,.fad.fa-mobile-notch:after{content:"\e1ee\e1ee"}.fa-duotone.fa-mobile-retro:after,.fad.fa-mobile-retro:after{content:"\e527\e527"}.fa-duotone.fa-mobile-android-alt:after,.fa-duotone.fa-mobile-screen:after,.fad.fa-mobile-android-alt:after,.fad.fa-mobile-screen:after{content:"\f3cf\f3cf"}.fa-duotone.fa-mobile-alt:after,.fa-duotone.fa-mobile-screen-button:after,.fad.fa-mobile-alt:after,.fad.fa-mobile-screen-button:after{content:"\f3cd\f3cd"}.fa-duotone.fa-mobile-signal:after,.fad.fa-mobile-signal:after{content:"\e1ef\e1ef"}.fa-duotone.fa-mobile-signal-out:after,.fad.fa-mobile-signal-out:after{content:"\e1f0\e1f0"}.fa-duotone.fa-money-bill:after,.fad.fa-money-bill:after{content:"\f0d6\f0d6"}.fa-duotone.fa-money-bill-1:after,.fa-duotone.fa-money-bill-alt:after,.fad.fa-money-bill-1:after,.fad.fa-money-bill-alt:after{content:"\f3d1\f3d1"}.fa-duotone.fa-money-bill-1-wave:after,.fa-duotone.fa-money-bill-wave-alt:after,.fad.fa-money-bill-1-wave:after,.fad.fa-money-bill-wave-alt:after{content:"\f53b\f53b"}.fa-duotone.fa-money-bill-simple:after,.fad.fa-money-bill-simple:after{content:"\e1f1\e1f1"}.fa-duotone.fa-money-bill-simple-wave:after,.fad.fa-money-bill-simple-wave:after{content:"\e1f2\e1f2"}.fa-duotone.fa-money-bill-transfer:after,.fad.fa-money-bill-transfer:after{content:"\e528\e528"}.fa-duotone.fa-money-bill-trend-up:after,.fad.fa-money-bill-trend-up:after{content:"\e529\e529"}.fa-duotone.fa-money-bill-wave:after,.fad.fa-money-bill-wave:after{content:"\f53a\f53a"}.fa-duotone.fa-money-bill-wheat:after,.fad.fa-money-bill-wheat:after{content:"\e52a\e52a"}.fa-duotone.fa-money-bills:after,.fad.fa-money-bills:after{content:"\e1f3\e1f3"}.fa-duotone.fa-money-bills-alt:after,.fa-duotone.fa-money-bills-simple:after,.fad.fa-money-bills-alt:after,.fad.fa-money-bills-simple:after{content:"\e1f4\e1f4"}.fa-duotone.fa-money-check:after,.fad.fa-money-check:after{content:"\f53c\f53c"}.fa-duotone.fa-money-check-alt:after,.fa-duotone.fa-money-check-dollar:after,.fad.fa-money-check-alt:after,.fad.fa-money-check-dollar:after{content:"\f53d\f53d"}.fa-duotone.fa-money-check-dollar-pen:after,.fa-duotone.fa-money-check-edit-alt:after,.fad.fa-money-check-dollar-pen:after,.fad.fa-money-check-edit-alt:after{content:"\f873\f873"}.fa-duotone.fa-money-check-edit:after,.fa-duotone.fa-money-check-pen:after,.fad.fa-money-check-edit:after,.fad.fa-money-check-pen:after{content:"\f872\f872"}.fa-duotone.fa-money-from-bracket:after,.fad.fa-money-from-bracket:after{content:"\e312\e312"}.fa-duotone.fa-money-simple-from-bracket:after,.fad.fa-money-simple-from-bracket:after{content:"\e313\e313"}.fa-duotone.fa-monitor-heart-rate:after,.fa-duotone.fa-monitor-waveform:after,.fad.fa-monitor-heart-rate:after,.fad.fa-monitor-waveform:after{content:"\f611\f611"}.fa-duotone.fa-monkey:after,.fad.fa-monkey:after{content:"\f6fb\f6fb"}.fa-duotone.fa-monument:after,.fad.fa-monument:after{content:"\f5a6\f5a6"}.fa-duotone.fa-moon:after,.fad.fa-moon:after{content:"\f186\f186"}.fa-duotone.fa-moon-cloud:after,.fad.fa-moon-cloud:after{content:"\f754\f754"}.fa-duotone.fa-eclipse-alt:after,.fa-duotone.fa-moon-over-sun:after,.fad.fa-eclipse-alt:after,.fad.fa-moon-over-sun:after{content:"\f74a\f74a"}.fa-duotone.fa-moon-stars:after,.fad.fa-moon-stars:after{content:"\f755\f755"}.fa-duotone.fa-moped:after,.fad.fa-moped:after{content:"\e3b9\e3b9"}.fa-duotone.fa-mortar-pestle:after,.fad.fa-mortar-pestle:after{content:"\f5a7\f5a7"}.fa-duotone.fa-mosque:after,.fad.fa-mosque:after{content:"\f678\f678"}.fa-duotone.fa-mosquito:after,.fad.fa-mosquito:after{content:"\e52b\e52b"}.fa-duotone.fa-mosquito-net:after,.fad.fa-mosquito-net:after{content:"\e52c\e52c"}.fa-duotone.fa-motorcycle:after,.fad.fa-motorcycle:after{content:"\f21c\f21c"}.fa-duotone.fa-mound:after,.fad.fa-mound:after{content:"\e52d\e52d"}.fa-duotone.fa-mountain:after,.fad.fa-mountain:after{content:"\f6fc\f6fc"}.fa-duotone.fa-mountain-city:after,.fad.fa-mountain-city:after{content:"\e52e\e52e"}.fa-duotone.fa-mountain-sun:after,.fad.fa-mountain-sun:after{content:"\e52f\e52f"}.fa-duotone.fa-mountains:after,.fad.fa-mountains:after{content:"\f6fd\f6fd"}.fa-duotone.fa-mp3-player:after,.fad.fa-mp3-player:after{content:"\f8ce\f8ce"}.fa-duotone.fa-mug:after,.fad.fa-mug:after{content:"\f874\f874"}.fa-duotone.fa-mug-hot:after,.fad.fa-mug-hot:after{content:"\f7b6\f7b6"}.fa-duotone.fa-mug-marshmallows:after,.fad.fa-mug-marshmallows:after{content:"\f7b7\f7b7"}.fa-duotone.fa-coffee:after,.fa-duotone.fa-mug-saucer:after,.fad.fa-coffee:after,.fad.fa-mug-saucer:after{content:"\f0f4\f0f4"}.fa-duotone.fa-mug-tea:after,.fad.fa-mug-tea:after{content:"\f875\f875"}.fa-duotone.fa-mug-tea-saucer:after,.fad.fa-mug-tea-saucer:after{content:"\e1f5\e1f5"}.fa-duotone.fa-mushroom:after,.fad.fa-mushroom:after{content:"\e425\e425"}.fa-duotone.fa-music:after,.fad.fa-music:after{content:"\f001\f001"}.fa-duotone.fa-music-alt:after,.fa-duotone.fa-music-note:after,.fad.fa-music-alt:after,.fad.fa-music-note:after{content:"\f8cf\f8cf"}.fa-duotone.fa-music-alt-slash:after,.fa-duotone.fa-music-note-slash:after,.fad.fa-music-alt-slash:after,.fad.fa-music-note-slash:after{content:"\f8d0\f8d0"}.fa-duotone.fa-music-slash:after,.fad.fa-music-slash:after{content:"\f8d1\f8d1"}.fa-duotone.fa-n:after,.fad.fa-n:after{content:"\4e\4e"}.fa-duotone.fa-naira-sign:after,.fad.fa-naira-sign:after{content:"\e1f6\e1f6"}.fa-duotone.fa-narwhal:after,.fad.fa-narwhal:after{content:"\f6fe\f6fe"}.fa-duotone.fa-nesting-dolls:after,.fad.fa-nesting-dolls:after{content:"\e3ba\e3ba"}.fa-duotone.fa-network-wired:after,.fad.fa-network-wired:after{content:"\f6ff\f6ff"}.fa-duotone.fa-neuter:after,.fad.fa-neuter:after{content:"\f22c\f22c"}.fa-duotone.fa-newspaper:after,.fad.fa-newspaper:after{content:"\f1ea\f1ea"}.fa-duotone.fa-nfc:after,.fad.fa-nfc:after{content:"\e1f7\e1f7"}.fa-duotone.fa-nfc-lock:after,.fad.fa-nfc-lock:after{content:"\e1f8\e1f8"}.fa-duotone.fa-nfc-magnifying-glass:after,.fad.fa-nfc-magnifying-glass:after{content:"\e1f9\e1f9"}.fa-duotone.fa-nfc-pen:after,.fad.fa-nfc-pen:after{content:"\e1fa\e1fa"}.fa-duotone.fa-nfc-signal:after,.fad.fa-nfc-signal:after{content:"\e1fb\e1fb"}.fa-duotone.fa-nfc-slash:after,.fad.fa-nfc-slash:after{content:"\e1fc\e1fc"}.fa-duotone.fa-nfc-trash:after,.fad.fa-nfc-trash:after{content:"\e1fd\e1fd"}.fa-duotone.fa-not-equal:after,.fad.fa-not-equal:after{content:"\f53e\f53e"}.fa-duotone.fa-notdef:after,.fad.fa-notdef:after{content:"\e1fe\e1fe"}.fa-duotone.fa-note:after,.fad.fa-note:after{content:"\e1ff\e1ff"}.fa-duotone.fa-note-medical:after,.fad.fa-note-medical:after{content:"\e200\e200"}.fa-duotone.fa-note-sticky:after,.fa-duotone.fa-sticky-note:after,.fad.fa-note-sticky:after,.fad.fa-sticky-note:after{content:"\f249\f249"}.fa-duotone.fa-notebook:after,.fad.fa-notebook:after{content:"\e201\e201"}.fa-duotone.fa-notes:after,.fad.fa-notes:after{content:"\e202\e202"}.fa-duotone.fa-notes-medical:after,.fad.fa-notes-medical:after{content:"\f481\f481"}.fa-duotone.fa-o:after,.fad.fa-o:after{content:"\4f\4f"}.fa-duotone.fa-object-exclude:after,.fad.fa-object-exclude:after{content:"\e49c\e49c"}.fa-duotone.fa-object-group:after,.fad.fa-object-group:after{content:"\f247\f247"}.fa-duotone.fa-object-intersect:after,.fad.fa-object-intersect:after{content:"\e49d\e49d"}.fa-duotone.fa-object-subtract:after,.fad.fa-object-subtract:after{content:"\e49e\e49e"}.fa-duotone.fa-object-ungroup:after,.fad.fa-object-ungroup:after{content:"\f248\f248"}.fa-duotone.fa-object-union:after,.fad.fa-object-union:after{content:"\e49f\e49f"}.fa-duotone.fa-objects-align-bottom:after,.fad.fa-objects-align-bottom:after{content:"\e3bb\e3bb"}.fa-duotone.fa-objects-align-center-horizontal:after,.fad.fa-objects-align-center-horizontal:after{content:"\e3bc\e3bc"}.fa-duotone.fa-objects-align-center-vertical:after,.fad.fa-objects-align-center-vertical:after{content:"\e3bd\e3bd"}.fa-duotone.fa-objects-align-left:after,.fad.fa-objects-align-left:after{content:"\e3be\e3be"}.fa-duotone.fa-objects-align-right:after,.fad.fa-objects-align-right:after{content:"\e3bf\e3bf"}.fa-duotone.fa-objects-align-top:after,.fad.fa-objects-align-top:after{content:"\e3c0\e3c0"}.fa-duotone.fa-objects-column:after,.fad.fa-objects-column:after{content:"\e3c1\e3c1"}.fa-duotone.fa-octagon:after,.fad.fa-octagon:after{content:"\f306\f306"}.fa-duotone.fa-octagon-check:after,.fad.fa-octagon-check:after{content:"\e426\e426"}.fa-duotone.fa-octagon-divide:after,.fad.fa-octagon-divide:after{content:"\e203\e203"}.fa-duotone.fa-octagon-exclamation:after,.fad.fa-octagon-exclamation:after{content:"\e204\e204"}.fa-duotone.fa-minus-octagon:after,.fa-duotone.fa-octagon-minus:after,.fad.fa-minus-octagon:after,.fad.fa-octagon-minus:after{content:"\f308\f308"}.fa-duotone.fa-octagon-plus:after,.fa-duotone.fa-plus-octagon:after,.fad.fa-octagon-plus:after,.fad.fa-plus-octagon:after{content:"\f301\f301"}.fa-duotone.fa-octagon-xmark:after,.fa-duotone.fa-times-octagon:after,.fa-duotone.fa-xmark-octagon:after,.fad.fa-octagon-xmark:after,.fad.fa-times-octagon:after,.fad.fa-xmark-octagon:after{content:"\f2f0\f2f0"}.fa-duotone.fa-oil-can:after,.fad.fa-oil-can:after{content:"\f613\f613"}.fa-duotone.fa-oil-can-drip:after,.fad.fa-oil-can-drip:after{content:"\e205\e205"}.fa-duotone.fa-oil-temp:after,.fa-duotone.fa-oil-temperature:after,.fad.fa-oil-temp:after,.fad.fa-oil-temperature:after{content:"\f614\f614"}.fa-duotone.fa-oil-well:after,.fad.fa-oil-well:after{content:"\e532\e532"}.fa-duotone.fa-olive:after,.fad.fa-olive:after{content:"\e316\e316"}.fa-duotone.fa-olive-branch:after,.fad.fa-olive-branch:after{content:"\e317\e317"}.fa-duotone.fa-om:after,.fad.fa-om:after{content:"\f679\f679"}.fa-duotone.fa-omega:after,.fad.fa-omega:after{content:"\f67a\f67a"}.fa-duotone.fa-onion:after,.fad.fa-onion:after{content:"\e427\e427"}.fa-duotone.fa-option:after,.fad.fa-option:after{content:"\e318\e318"}.fa-duotone.fa-ornament:after,.fad.fa-ornament:after{content:"\f7b8\f7b8"}.fa-duotone.fa-otter:after,.fad.fa-otter:after{content:"\f700\f700"}.fa-duotone.fa-dedent:after,.fa-duotone.fa-outdent:after,.fad.fa-dedent:after,.fad.fa-outdent:after{content:"\f03b\f03b"}.fa-duotone.fa-outlet:after,.fad.fa-outlet:after{content:"\e01c\e01c"}.fa-duotone.fa-oven:after,.fad.fa-oven:after{content:"\e01d\e01d"}.fa-duotone.fa-overline:after,.fad.fa-overline:after{content:"\f876\f876"}.fa-duotone.fa-p:after,.fad.fa-p:after{content:"\50\50"}.fa-duotone.fa-page:after,.fad.fa-page:after{content:"\e428\e428"}.fa-duotone.fa-file-caret-down:after,.fa-duotone.fa-page-caret-down:after,.fad.fa-file-caret-down:after,.fad.fa-page-caret-down:after{content:"\e429\e429"}.fa-duotone.fa-file-caret-up:after,.fa-duotone.fa-page-caret-up:after,.fad.fa-file-caret-up:after,.fad.fa-page-caret-up:after{content:"\e42a\e42a"}.fa-duotone.fa-pager:after,.fad.fa-pager:after{content:"\f815\f815"}.fa-duotone.fa-paint-roller:after,.fad.fa-paint-roller:after{content:"\f5aa\f5aa"}.fa-duotone.fa-paint-brush:after,.fa-duotone.fa-paintbrush:after,.fad.fa-paint-brush:after,.fad.fa-paintbrush:after{content:"\f1fc\f1fc"}.fa-duotone.fa-paint-brush-alt:after,.fa-duotone.fa-paint-brush-fine:after,.fa-duotone.fa-paintbrush-alt:after,.fa-duotone.fa-paintbrush-fine:after,.fad.fa-paint-brush-alt:after,.fad.fa-paint-brush-fine:after,.fad.fa-paintbrush-alt:after,.fad.fa-paintbrush-fine:after{content:"\f5a9\f5a9"}.fa-duotone.fa-paintbrush-pencil:after,.fad.fa-paintbrush-pencil:after{content:"\e206\e206"}.fa-duotone.fa-palette:after,.fad.fa-palette:after{content:"\f53f\f53f"}.fa-duotone.fa-pallet:after,.fad.fa-pallet:after{content:"\f482\f482"}.fa-duotone.fa-pallet-box:after,.fad.fa-pallet-box:after{content:"\e208\e208"}.fa-duotone.fa-palette-boxes:after,.fa-duotone.fa-pallet-alt:after,.fa-duotone.fa-pallet-boxes:after,.fad.fa-palette-boxes:after,.fad.fa-pallet-alt:after,.fad.fa-pallet-boxes:after{content:"\f483\f483"}.fa-duotone.fa-pan-food:after,.fad.fa-pan-food:after{content:"\e42b\e42b"}.fa-duotone.fa-pan-frying:after,.fad.fa-pan-frying:after{content:"\e42c\e42c"}.fa-duotone.fa-pancakes:after,.fad.fa-pancakes:after{content:"\e42d\e42d"}.fa-duotone.fa-panel-ews:after,.fad.fa-panel-ews:after{content:"\e42e\e42e"}.fa-duotone.fa-panel-fire:after,.fad.fa-panel-fire:after{content:"\e42f\e42f"}.fa-duotone.fa-panorama:after,.fad.fa-panorama:after{content:"\e209\e209"}.fa-duotone.fa-paper-plane:after,.fad.fa-paper-plane:after{content:"\f1d8\f1d8"}.fa-duotone.fa-paper-plane-alt:after,.fa-duotone.fa-paper-plane-top:after,.fa-duotone.fa-send:after,.fad.fa-paper-plane-alt:after,.fad.fa-paper-plane-top:after,.fad.fa-send:after{content:"\e20a\e20a"}.fa-duotone.fa-paperclip:after,.fad.fa-paperclip:after{content:"\f0c6\f0c6"}.fa-duotone.fa-paperclip-vertical:after,.fad.fa-paperclip-vertical:after{content:"\e3c2\e3c2"}.fa-duotone.fa-parachute-box:after,.fad.fa-parachute-box:after{content:"\f4cd\f4cd"}.fa-duotone.fa-paragraph:after,.fad.fa-paragraph:after{content:"\f1dd\f1dd"}.fa-duotone.fa-paragraph-left:after,.fa-duotone.fa-paragraph-rtl:after,.fad.fa-paragraph-left:after,.fad.fa-paragraph-rtl:after{content:"\f878\f878"}.fa-duotone.fa-party-bell:after,.fad.fa-party-bell:after{content:"\e31a\e31a"}.fa-duotone.fa-party-horn:after,.fad.fa-party-horn:after{content:"\e31b\e31b"}.fa-duotone.fa-passport:after,.fad.fa-passport:after{content:"\f5ab\f5ab"}.fa-duotone.fa-file-clipboard:after,.fa-duotone.fa-paste:after,.fad.fa-file-clipboard:after,.fad.fa-paste:after{content:"\f0ea\f0ea"}.fa-duotone.fa-pause:after,.fad.fa-pause:after{content:"\f04c\f04c"}.fa-duotone.fa-paw:after,.fad.fa-paw:after{content:"\f1b0\f1b0"}.fa-duotone.fa-paw-claws:after,.fad.fa-paw-claws:after{content:"\f702\f702"}.fa-duotone.fa-paw-alt:after,.fa-duotone.fa-paw-simple:after,.fad.fa-paw-alt:after,.fad.fa-paw-simple:after{content:"\f701\f701"}.fa-duotone.fa-peace:after,.fad.fa-peace:after{content:"\f67c\f67c"}.fa-duotone.fa-peach:after,.fad.fa-peach:after{content:"\e20b\e20b"}.fa-duotone.fa-peanut:after,.fad.fa-peanut:after{content:"\e430\e430"}.fa-duotone.fa-peanuts:after,.fad.fa-peanuts:after{content:"\e431\e431"}.fa-duotone.fa-peapod:after,.fad.fa-peapod:after{content:"\e31c\e31c"}.fa-duotone.fa-pear:after,.fad.fa-pear:after{content:"\e20c\e20c"}.fa-duotone.fa-pedestal:after,.fad.fa-pedestal:after{content:"\e20d\e20d"}.fa-duotone.fa-pegasus:after,.fad.fa-pegasus:after{content:"\f703\f703"}.fa-duotone.fa-pen:after,.fad.fa-pen:after{content:"\f304\f304"}.fa-duotone.fa-pen-circle:after,.fad.fa-pen-circle:after{content:"\e20e\e20e"}.fa-duotone.fa-pen-alt:after,.fa-duotone.fa-pen-clip:after,.fad.fa-pen-alt:after,.fad.fa-pen-clip:after{content:"\f305\f305"}.fa-duotone.fa-pen-alt-slash:after,.fa-duotone.fa-pen-clip-slash:after,.fad.fa-pen-alt-slash:after,.fad.fa-pen-clip-slash:after{content:"\e20f\e20f"}.fa-duotone.fa-pen-fancy:after,.fad.fa-pen-fancy:after{content:"\f5ac\f5ac"}.fa-duotone.fa-pen-fancy-slash:after,.fad.fa-pen-fancy-slash:after{content:"\e210\e210"}.fa-duotone.fa-pen-field:after,.fad.fa-pen-field:after{content:"\e211\e211"}.fa-duotone.fa-pen-line:after,.fad.fa-pen-line:after{content:"\e212\e212"}.fa-duotone.fa-pen-nib:after,.fad.fa-pen-nib:after{content:"\f5ad\f5ad"}.fa-duotone.fa-pen-nib-slash:after,.fad.fa-pen-nib-slash:after{content:"\e4a1\e4a1"}.fa-duotone.fa-pen-paintbrush:after,.fa-duotone.fa-pencil-paintbrush:after,.fad.fa-pen-paintbrush:after,.fad.fa-pencil-paintbrush:after{content:"\f618\f618"}.fa-duotone.fa-pen-ruler:after,.fa-duotone.fa-pencil-ruler:after,.fad.fa-pen-ruler:after,.fad.fa-pencil-ruler:after{content:"\f5ae\f5ae"}.fa-duotone.fa-pen-slash:after,.fad.fa-pen-slash:after{content:"\e213\e213"}.fa-duotone.fa-pen-swirl:after,.fad.fa-pen-swirl:after{content:"\e214\e214"}.fa-duotone.fa-edit:after,.fa-duotone.fa-pen-to-square:after,.fad.fa-edit:after,.fad.fa-pen-to-square:after{content:"\f044\f044"}.fa-duotone.fa-pencil-alt:after,.fa-duotone.fa-pencil:after,.fad.fa-pencil-alt:after,.fad.fa-pencil:after{content:"\f303\f303"}.fa-duotone.fa-pencil-slash:after,.fad.fa-pencil-slash:after{content:"\e215\e215"}.fa-duotone.fa-people:after,.fad.fa-people:after{content:"\e216\e216"}.fa-duotone.fa-people-arrows-left-right:after,.fa-duotone.fa-people-arrows:after,.fad.fa-people-arrows-left-right:after,.fad.fa-people-arrows:after{content:"\e068\e068"}.fa-duotone.fa-people-carry-box:after,.fa-duotone.fa-people-carry:after,.fad.fa-people-carry-box:after,.fad.fa-people-carry:after{content:"\f4ce\f4ce"}.fa-duotone.fa-people-dress:after,.fad.fa-people-dress:after{content:"\e217\e217"}.fa-duotone.fa-people-dress-simple:after,.fad.fa-people-dress-simple:after{content:"\e218\e218"}.fa-duotone.fa-people-group:after,.fad.fa-people-group:after{content:"\e533\e533"}.fa-duotone.fa-people-line:after,.fad.fa-people-line:after{content:"\e534\e534"}.fa-duotone.fa-people-pants:after,.fad.fa-people-pants:after{content:"\e219\e219"}.fa-duotone.fa-people-pants-simple:after,.fad.fa-people-pants-simple:after{content:"\e21a\e21a"}.fa-duotone.fa-people-pulling:after,.fad.fa-people-pulling:after{content:"\e535\e535"}.fa-duotone.fa-people-robbery:after,.fad.fa-people-robbery:after{content:"\e536\e536"}.fa-duotone.fa-people-roof:after,.fad.fa-people-roof:after{content:"\e537\e537"}.fa-duotone.fa-people-simple:after,.fad.fa-people-simple:after{content:"\e21b\e21b"}.fa-duotone.fa-pepper:after,.fad.fa-pepper:after{content:"\e432\e432"}.fa-duotone.fa-pepper-hot:after,.fad.fa-pepper-hot:after{content:"\f816\f816"}.fa-duotone.fa-percent:after,.fa-duotone.fa-percentage:after,.fad.fa-percent:after,.fad.fa-percentage:after{content:"\25\25"}.fa-duotone.fa-period:after,.fad.fa-period:after{content:"\2e\2e"}.fa-duotone.fa-male:after,.fa-duotone.fa-person:after,.fad.fa-male:after,.fad.fa-person:after{content:"\f183\f183"}.fa-duotone.fa-person-arrow-down-to-line:after,.fad.fa-person-arrow-down-to-line:after{content:"\e538\e538"}.fa-duotone.fa-person-arrow-up-from-line:after,.fad.fa-person-arrow-up-from-line:after{content:"\e539\e539"}.fa-duotone.fa-biking:after,.fa-duotone.fa-person-biking:after,.fad.fa-biking:after,.fad.fa-person-biking:after{content:"\f84a\f84a"}.fa-duotone.fa-biking-mountain:after,.fa-duotone.fa-person-biking-mountain:after,.fad.fa-biking-mountain:after,.fad.fa-person-biking-mountain:after{content:"\f84b\f84b"}.fa-duotone.fa-person-booth:after,.fad.fa-person-booth:after{content:"\f756\f756"}.fa-duotone.fa-person-breastfeeding:after,.fad.fa-person-breastfeeding:after{content:"\e53a\e53a"}.fa-duotone.fa-person-burst:after,.fad.fa-person-burst:after{content:"\e53b\e53b"}.fa-duotone.fa-person-cane:after,.fad.fa-person-cane:after{content:"\e53c\e53c"}.fa-duotone.fa-person-carry-box:after,.fa-duotone.fa-person-carry:after,.fad.fa-person-carry-box:after,.fad.fa-person-carry:after{content:"\f4cf\f4cf"}.fa-duotone.fa-person-chalkboard:after,.fad.fa-person-chalkboard:after{content:"\e53d\e53d"}.fa-duotone.fa-person-circle-check:after,.fad.fa-person-circle-check:after{content:"\e53e\e53e"}.fa-duotone.fa-person-circle-exclamation:after,.fad.fa-person-circle-exclamation:after{content:"\e53f\e53f"}.fa-duotone.fa-person-circle-minus:after,.fad.fa-person-circle-minus:after{content:"\e540\e540"}.fa-duotone.fa-person-circle-plus:after,.fad.fa-person-circle-plus:after{content:"\e541\e541"}.fa-duotone.fa-person-circle-question:after,.fad.fa-person-circle-question:after{content:"\e542\e542"}.fa-duotone.fa-person-circle-xmark:after,.fad.fa-person-circle-xmark:after{content:"\e543\e543"}.fa-duotone.fa-digging:after,.fa-duotone.fa-person-digging:after,.fad.fa-digging:after,.fad.fa-person-digging:after{content:"\f85e\f85e"}.fa-duotone.fa-person-dolly:after,.fad.fa-person-dolly:after{content:"\f4d0\f4d0"}.fa-duotone.fa-person-dolly-empty:after,.fad.fa-person-dolly-empty:after{content:"\f4d1\f4d1"}.fa-duotone.fa-diagnoses:after,.fa-duotone.fa-person-dots-from-line:after,.fad.fa-diagnoses:after,.fad.fa-person-dots-from-line:after{content:"\f470\f470"}.fa-duotone.fa-female:after,.fa-duotone.fa-person-dress:after,.fad.fa-female:after,.fad.fa-person-dress:after{content:"\f182\f182"}.fa-duotone.fa-person-dress-burst:after,.fad.fa-person-dress-burst:after{content:"\e544\e544"}.fa-duotone.fa-person-dress-simple:after,.fad.fa-person-dress-simple:after{content:"\e21c\e21c"}.fa-duotone.fa-person-drowning:after,.fad.fa-person-drowning:after{content:"\e545\e545"}.fa-duotone.fa-person-falling:after,.fad.fa-person-falling:after{content:"\e546\e546"}.fa-duotone.fa-person-falling-burst:after,.fad.fa-person-falling-burst:after{content:"\e547\e547"}.fa-duotone.fa-person-from-portal:after,.fa-duotone.fa-portal-exit:after,.fad.fa-person-from-portal:after,.fad.fa-portal-exit:after{content:"\e023\e023"}.fa-duotone.fa-person-half-dress:after,.fad.fa-person-half-dress:after{content:"\e548\e548"}.fa-duotone.fa-person-harassing:after,.fad.fa-person-harassing:after{content:"\e549\e549"}.fa-duotone.fa-hiking:after,.fa-duotone.fa-person-hiking:after,.fad.fa-hiking:after,.fad.fa-person-hiking:after{content:"\f6ec\f6ec"}.fa-duotone.fa-person-military-pointing:after,.fad.fa-person-military-pointing:after{content:"\e54a\e54a"}.fa-duotone.fa-person-military-rifle:after,.fad.fa-person-military-rifle:after{content:"\e54b\e54b"}.fa-duotone.fa-person-military-to-person:after,.fad.fa-person-military-to-person:after{content:"\e54c\e54c"}.fa-duotone.fa-person-pinball:after,.fad.fa-person-pinball:after{content:"\e21d\e21d"}.fa-duotone.fa-person-praying:after,.fa-duotone.fa-pray:after,.fad.fa-person-praying:after,.fad.fa-pray:after{content:"\f683\f683"}.fa-duotone.fa-person-pregnant:after,.fad.fa-person-pregnant:after{content:"\e31e\e31e"}.fa-duotone.fa-person-rays:after,.fad.fa-person-rays:after{content:"\e54d\e54d"}.fa-duotone.fa-person-rifle:after,.fad.fa-person-rifle:after{content:"\e54e\e54e"}.fa-duotone.fa-person-running:after,.fa-duotone.fa-running:after,.fad.fa-person-running:after,.fad.fa-running:after{content:"\f70c\f70c"}.fa-duotone.fa-person-seat:after,.fad.fa-person-seat:after{content:"\e21e\e21e"}.fa-duotone.fa-person-seat-reclined:after,.fad.fa-person-seat-reclined:after{content:"\e21f\e21f"}.fa-duotone.fa-person-shelter:after,.fad.fa-person-shelter:after{content:"\e54f\e54f"}.fa-duotone.fa-person-sign:after,.fad.fa-person-sign:after{content:"\f757\f757"}.fa-duotone.fa-person-simple:after,.fad.fa-person-simple:after{content:"\e220\e220"}.fa-duotone.fa-person-skating:after,.fa-duotone.fa-skating:after,.fad.fa-person-skating:after,.fad.fa-skating:after{content:"\f7c5\f7c5"}.fa-duotone.fa-person-ski-jumping:after,.fa-duotone.fa-ski-jump:after,.fad.fa-person-ski-jumping:after,.fad.fa-ski-jump:after{content:"\f7c7\f7c7"}.fa-duotone.fa-person-ski-lift:after,.fa-duotone.fa-ski-lift:after,.fad.fa-person-ski-lift:after,.fad.fa-ski-lift:after{content:"\f7c8\f7c8"}.fa-duotone.fa-person-skiing:after,.fa-duotone.fa-skiing:after,.fad.fa-person-skiing:after,.fad.fa-skiing:after{content:"\f7c9\f7c9"}.fa-duotone.fa-person-skiing-nordic:after,.fa-duotone.fa-skiing-nordic:after,.fad.fa-person-skiing-nordic:after,.fad.fa-skiing-nordic:after{content:"\f7ca\f7ca"}.fa-duotone.fa-person-sledding:after,.fa-duotone.fa-sledding:after,.fad.fa-person-sledding:after,.fad.fa-sledding:after{content:"\f7cb\f7cb"}.fa-duotone.fa-person-snowboarding:after,.fa-duotone.fa-snowboarding:after,.fad.fa-person-snowboarding:after,.fad.fa-snowboarding:after{content:"\f7ce\f7ce"}.fa-duotone.fa-person-snowmobiling:after,.fa-duotone.fa-snowmobile:after,.fad.fa-person-snowmobiling:after,.fad.fa-snowmobile:after{content:"\f7d1\f7d1"}.fa-duotone.fa-person-swimming:after,.fa-duotone.fa-swimmer:after,.fad.fa-person-swimming:after,.fad.fa-swimmer:after{content:"\f5c4\f5c4"}.fa-duotone.fa-person-through-window:after,.fad.fa-person-through-window:after{content:"\e433\e433"}.fa-duotone.fa-person-to-door:after,.fad.fa-person-to-door:after{content:"\e550\e550"}.fa-duotone.fa-person-to-portal:after,.fa-duotone.fa-portal-enter:after,.fad.fa-person-to-portal:after,.fad.fa-portal-enter:after{content:"\e022\e022"}.fa-duotone.fa-person-walking:after,.fa-duotone.fa-walking:after,.fad.fa-person-walking:after,.fad.fa-walking:after{content:"\f554\f554"}.fa-duotone.fa-person-walking-arrow-loop-left:after,.fad.fa-person-walking-arrow-loop-left:after{content:"\e551\e551"}.fa-duotone.fa-person-walking-arrow-right:after,.fad.fa-person-walking-arrow-right:after{content:"\e552\e552"}.fa-duotone.fa-person-walking-dashed-line-arrow-right:after,.fad.fa-person-walking-dashed-line-arrow-right:after{content:"\e553\e553"}.fa-duotone.fa-person-walking-luggage:after,.fad.fa-person-walking-luggage:after{content:"\e554\e554"}.fa-duotone.fa-blind:after,.fa-duotone.fa-person-walking-with-cane:after,.fad.fa-blind:after,.fad.fa-person-walking-with-cane:after{content:"\f29d\f29d"}.fa-duotone.fa-peseta-sign:after,.fad.fa-peseta-sign:after{content:"\e221\e221"}.fa-duotone.fa-peso-sign:after,.fad.fa-peso-sign:after{content:"\e222\e222"}.fa-duotone.fa-phone:after,.fad.fa-phone:after{content:"\f095\f095"}.fa-duotone.fa-phone-arrow-down-left:after,.fa-duotone.fa-phone-arrow-down:after,.fa-duotone.fa-phone-incoming:after,.fad.fa-phone-arrow-down-left:after,.fad.fa-phone-arrow-down:after,.fad.fa-phone-incoming:after{content:"\e223\e223"}.fa-duotone.fa-phone-arrow-up-right:after,.fa-duotone.fa-phone-arrow-up:after,.fa-duotone.fa-phone-outgoing:after,.fad.fa-phone-arrow-up-right:after,.fad.fa-phone-arrow-up:after,.fad.fa-phone-outgoing:after{content:"\e224\e224"}.fa-duotone.fa-phone-alt:after,.fa-duotone.fa-phone-flip:after,.fad.fa-phone-alt:after,.fad.fa-phone-flip:after{content:"\f879\f879"}.fa-duotone.fa-phone-hangup:after,.fad.fa-phone-hangup:after{content:"\e225\e225"}.fa-duotone.fa-phone-intercom:after,.fad.fa-phone-intercom:after{content:"\e434\e434"}.fa-duotone.fa-phone-missed:after,.fad.fa-phone-missed:after{content:"\e226\e226"}.fa-duotone.fa-phone-office:after,.fad.fa-phone-office:after{content:"\f67d\f67d"}.fa-duotone.fa-phone-plus:after,.fad.fa-phone-plus:after{content:"\f4d2\f4d2"}.fa-duotone.fa-phone-rotary:after,.fad.fa-phone-rotary:after{content:"\f8d3\f8d3"}.fa-duotone.fa-phone-slash:after,.fad.fa-phone-slash:after{content:"\f3dd\f3dd"}.fa-duotone.fa-phone-volume:after,.fa-duotone.fa-volume-control-phone:after,.fad.fa-phone-volume:after,.fad.fa-volume-control-phone:after{content:"\f2a0\f2a0"}.fa-duotone.fa-phone-xmark:after,.fad.fa-phone-xmark:after{content:"\e227\e227"}.fa-duotone.fa-photo-film:after,.fa-duotone.fa-photo-video:after,.fad.fa-photo-film:after,.fad.fa-photo-video:after{content:"\f87c\f87c"}.fa-duotone.fa-photo-film-music:after,.fad.fa-photo-film-music:after{content:"\e228\e228"}.fa-duotone.fa-pi:after,.fad.fa-pi:after{content:"\f67e\f67e"}.fa-duotone.fa-piano:after,.fad.fa-piano:after{content:"\f8d4\f8d4"}.fa-duotone.fa-piano-keyboard:after,.fad.fa-piano-keyboard:after{content:"\f8d5\f8d5"}.fa-duotone.fa-pickleball:after,.fad.fa-pickleball:after{content:"\e435\e435"}.fa-duotone.fa-pie:after,.fad.fa-pie:after{content:"\f705\f705"}.fa-duotone.fa-pig:after,.fad.fa-pig:after{content:"\f706\f706"}.fa-duotone.fa-piggy-bank:after,.fad.fa-piggy-bank:after{content:"\f4d3\f4d3"}.fa-duotone.fa-pills:after,.fad.fa-pills:after{content:"\f484\f484"}.fa-duotone.fa-pinata:after,.fad.fa-pinata:after{content:"\e3c3\e3c3"}.fa-duotone.fa-pinball:after,.fad.fa-pinball:after{content:"\e229\e229"}.fa-duotone.fa-pineapple:after,.fad.fa-pineapple:after{content:"\e31f\e31f"}.fa-duotone.fa-pipe:after,.fad.fa-pipe:after{content:"\7c\7c"}.fa-duotone.fa-pipe-circle-check:after,.fad.fa-pipe-circle-check:after{content:"\e436\e436"}.fa-duotone.fa-pipe-collar:after,.fad.fa-pipe-collar:after{content:"\e437\e437"}.fa-duotone.fa-pipe-section:after,.fad.fa-pipe-section:after{content:"\e438\e438"}.fa-duotone.fa-pipe-smoking:after,.fad.fa-pipe-smoking:after{content:"\e3c4\e3c4"}.fa-duotone.fa-pipe-valve:after,.fad.fa-pipe-valve:after{content:"\e439\e439"}.fa-duotone.fa-pizza:after,.fad.fa-pizza:after{content:"\f817\f817"}.fa-duotone.fa-pizza-slice:after,.fad.fa-pizza-slice:after{content:"\f818\f818"}.fa-duotone.fa-place-of-worship:after,.fad.fa-place-of-worship:after{content:"\f67f\f67f"}.fa-duotone.fa-plane:after,.fad.fa-plane:after{content:"\f072\f072"}.fa-duotone.fa-plane-arrival:after,.fad.fa-plane-arrival:after{content:"\f5af\f5af"}.fa-duotone.fa-plane-circle-check:after,.fad.fa-plane-circle-check:after{content:"\e555\e555"}.fa-duotone.fa-plane-circle-exclamation:after,.fad.fa-plane-circle-exclamation:after{content:"\e556\e556"}.fa-duotone.fa-plane-circle-xmark:after,.fad.fa-plane-circle-xmark:after{content:"\e557\e557"}.fa-duotone.fa-plane-departure:after,.fad.fa-plane-departure:after{content:"\f5b0\f5b0"}.fa-duotone.fa-plane-alt:after,.fa-duotone.fa-plane-engines:after,.fad.fa-plane-alt:after,.fad.fa-plane-engines:after{content:"\f3de\f3de"}.fa-duotone.fa-plane-lock:after,.fad.fa-plane-lock:after{content:"\e558\e558"}.fa-duotone.fa-plane-prop:after,.fad.fa-plane-prop:after{content:"\e22b\e22b"}.fa-duotone.fa-plane-slash:after,.fad.fa-plane-slash:after{content:"\e069\e069"}.fa-duotone.fa-plane-tail:after,.fad.fa-plane-tail:after{content:"\e22c\e22c"}.fa-duotone.fa-plane-up:after,.fad.fa-plane-up:after{content:"\e22d\e22d"}.fa-duotone.fa-plane-up-slash:after,.fad.fa-plane-up-slash:after{content:"\e22e\e22e"}.fa-duotone.fa-planet-moon:after,.fad.fa-planet-moon:after{content:"\e01f\e01f"}.fa-duotone.fa-planet-ringed:after,.fad.fa-planet-ringed:after{content:"\e020\e020"}.fa-duotone.fa-plant-wilt:after,.fad.fa-plant-wilt:after{content:"\e43b\e43b"}.fa-duotone.fa-plate-utensils:after,.fad.fa-plate-utensils:after{content:"\e559\e559"}.fa-duotone.fa-plate-wheat:after,.fad.fa-plate-wheat:after{content:"\e55a\e55a"}.fa-duotone.fa-play:after,.fad.fa-play:after{content:"\f04b\f04b"}.fa-duotone.fa-play-pause:after,.fad.fa-play-pause:after{content:"\e22f\e22f"}.fa-duotone.fa-plug:after,.fad.fa-plug:after{content:"\f1e6\f1e6"}.fa-duotone.fa-plug-circle-bolt:after,.fad.fa-plug-circle-bolt:after{content:"\e55b\e55b"}.fa-duotone.fa-plug-circle-check:after,.fad.fa-plug-circle-check:after{content:"\e55c\e55c"}.fa-duotone.fa-plug-circle-exclamation:after,.fad.fa-plug-circle-exclamation:after{content:"\e55d\e55d"}.fa-duotone.fa-plug-circle-minus:after,.fad.fa-plug-circle-minus:after{content:"\e55e\e55e"}.fa-duotone.fa-plug-circle-plus:after,.fad.fa-plug-circle-plus:after{content:"\e55f\e55f"}.fa-duotone.fa-plug-circle-xmark:after,.fad.fa-plug-circle-xmark:after{content:"\e560\e560"}.fa-duotone.fa-add:after,.fa-duotone.fa-plus:after,.fad.fa-add:after,.fad.fa-plus:after{content:"\2b\2b"}.fa-duotone.fa-plus-large:after,.fad.fa-plus-large:after{content:"\e59e\e59e"}.fa-duotone.fa-plus-minus:after,.fad.fa-plus-minus:after{content:"\e43c\e43c"}.fa-duotone.fa-podcast:after,.fad.fa-podcast:after{content:"\f2ce\f2ce"}.fa-duotone.fa-podium:after,.fad.fa-podium:after{content:"\f680\f680"}.fa-duotone.fa-podium-star:after,.fad.fa-podium-star:after{content:"\f758\f758"}.fa-duotone.fa-police-box:after,.fad.fa-police-box:after{content:"\e021\e021"}.fa-duotone.fa-poll-people:after,.fad.fa-poll-people:after{content:"\f759\f759"}.fa-duotone.fa-pompebled:after,.fad.fa-pompebled:after{content:"\e43d\e43d"}.fa-duotone.fa-poo:after,.fad.fa-poo:after{content:"\f2fe\f2fe"}.fa-duotone.fa-poo-bolt:after,.fa-duotone.fa-poo-storm:after,.fad.fa-poo-bolt:after,.fad.fa-poo-storm:after{content:"\f75a\f75a"}.fa-duotone.fa-pool-8-ball:after,.fad.fa-pool-8-ball:after{content:"\e3c5\e3c5"}.fa-duotone.fa-poop:after,.fad.fa-poop:after{content:"\f619\f619"}.fa-duotone.fa-popcorn:after,.fad.fa-popcorn:after{content:"\f819\f819"}.fa-duotone.fa-popsicle:after,.fad.fa-popsicle:after{content:"\e43e\e43e"}.fa-duotone.fa-pot-food:after,.fad.fa-pot-food:after{content:"\e43f\e43f"}.fa-duotone.fa-potato:after,.fad.fa-potato:after{content:"\e440\e440"}.fa-duotone.fa-power-off:after,.fad.fa-power-off:after{content:"\f011\f011"}.fa-duotone.fa-prescription:after,.fad.fa-prescription:after{content:"\f5b1\f5b1"}.fa-duotone.fa-prescription-bottle:after,.fad.fa-prescription-bottle:after{content:"\f485\f485"}.fa-duotone.fa-prescription-bottle-alt:after,.fa-duotone.fa-prescription-bottle-medical:after,.fad.fa-prescription-bottle-alt:after,.fad.fa-prescription-bottle-medical:after{content:"\f486\f486"}.fa-duotone.fa-presentation-screen:after,.fa-duotone.fa-presentation:after,.fad.fa-presentation-screen:after,.fad.fa-presentation:after{content:"\f685\f685"}.fa-duotone.fa-pretzel:after,.fad.fa-pretzel:after{content:"\e441\e441"}.fa-duotone.fa-print:after,.fad.fa-print:after{content:"\f02f\f02f"}.fa-duotone.fa-print-magnifying-glass:after,.fa-duotone.fa-print-search:after,.fad.fa-print-magnifying-glass:after,.fad.fa-print-search:after{content:"\f81a\f81a"}.fa-duotone.fa-print-slash:after,.fad.fa-print-slash:after{content:"\f686\f686"}.fa-duotone.fa-projector:after,.fad.fa-projector:after{content:"\f8d6\f8d6"}.fa-duotone.fa-pump:after,.fad.fa-pump:after{content:"\e442\e442"}.fa-duotone.fa-pump-medical:after,.fad.fa-pump-medical:after{content:"\e06a\e06a"}.fa-duotone.fa-pump-soap:after,.fad.fa-pump-soap:after{content:"\e06b\e06b"}.fa-duotone.fa-pumpkin:after,.fad.fa-pumpkin:after{content:"\f707\f707"}.fa-duotone.fa-puzzle:after,.fad.fa-puzzle:after{content:"\e443\e443"}.fa-duotone.fa-puzzle-piece:after,.fad.fa-puzzle-piece:after{content:"\f12e\f12e"}.fa-duotone.fa-puzzle-piece-alt:after,.fa-duotone.fa-puzzle-piece-simple:after,.fad.fa-puzzle-piece-alt:after,.fad.fa-puzzle-piece-simple:after{content:"\e231\e231"}.fa-duotone.fa-q:after,.fad.fa-q:after{content:"\51\51"}.fa-duotone.fa-qrcode:after,.fad.fa-qrcode:after{content:"\f029\f029"}.fa-duotone.fa-question:after,.fad.fa-question:after{content:"\3f\3f"}.fa-duotone.fa-quote-left-alt:after,.fa-duotone.fa-quote-left:after,.fad.fa-quote-left-alt:after,.fad.fa-quote-left:after{content:"\f10d\f10d"}.fa-duotone.fa-quote-right-alt:after,.fa-duotone.fa-quote-right:after,.fad.fa-quote-right-alt:after,.fad.fa-quote-right:after{content:"\f10e\f10e"}.fa-duotone.fa-quotes:after,.fad.fa-quotes:after{content:"\e234\e234"}.fa-duotone.fa-r:after,.fad.fa-r:after{content:"\52\52"}.fa-duotone.fa-rabbit:after,.fad.fa-rabbit:after{content:"\f708\f708"}.fa-duotone.fa-rabbit-fast:after,.fa-duotone.fa-rabbit-running:after,.fad.fa-rabbit-fast:after,.fad.fa-rabbit-running:after{content:"\f709\f709"}.fa-duotone.fa-racquet:after,.fad.fa-racquet:after{content:"\f45a\f45a"}.fa-duotone.fa-radar:after,.fad.fa-radar:after{content:"\e024\e024"}.fa-duotone.fa-radiation:after,.fad.fa-radiation:after{content:"\f7b9\f7b9"}.fa-duotone.fa-radio:after,.fad.fa-radio:after{content:"\f8d7\f8d7"}.fa-duotone.fa-radio-alt:after,.fa-duotone.fa-radio-tuner:after,.fad.fa-radio-alt:after,.fad.fa-radio-tuner:after{content:"\f8d8\f8d8"}.fa-duotone.fa-rainbow:after,.fad.fa-rainbow:after{content:"\f75b\f75b"}.fa-duotone.fa-raindrops:after,.fad.fa-raindrops:after{content:"\f75c\f75c"}.fa-duotone.fa-ram:after,.fad.fa-ram:after{content:"\f70a\f70a"}.fa-duotone.fa-ramp-loading:after,.fad.fa-ramp-loading:after{content:"\f4d4\f4d4"}.fa-duotone.fa-ranking-star:after,.fad.fa-ranking-star:after{content:"\e561\e561"}.fa-duotone.fa-raygun:after,.fad.fa-raygun:after{content:"\e025\e025"}.fa-duotone.fa-receipt:after,.fad.fa-receipt:after{content:"\f543\f543"}.fa-duotone.fa-record-vinyl:after,.fad.fa-record-vinyl:after{content:"\f8d9\f8d9"}.fa-duotone.fa-rectangle-landscape:after,.fa-duotone.fa-rectangle:after,.fad.fa-rectangle-landscape:after,.fad.fa-rectangle:after{content:"\f2fa\f2fa"}.fa-duotone.fa-ad:after,.fa-duotone.fa-rectangle-ad:after,.fad.fa-ad:after,.fad.fa-rectangle-ad:after{content:"\f641\f641"}.fa-duotone.fa-barcode-alt:after,.fa-duotone.fa-rectangle-barcode:after,.fad.fa-barcode-alt:after,.fad.fa-rectangle-barcode:after{content:"\f463\f463"}.fa-duotone.fa-rectangle-code:after,.fad.fa-rectangle-code:after{content:"\e322\e322"}.fa-duotone.fa-rectangle-history:after,.fad.fa-rectangle-history:after{content:"\e4a2\e4a2"}.fa-duotone.fa-rectangle-history-circle-plus:after,.fad.fa-rectangle-history-circle-plus:after{content:"\e4a3\e4a3"}.fa-duotone.fa-rectangle-history-circle-user:after,.fad.fa-rectangle-history-circle-user:after{content:"\e4a4\e4a4"}.fa-duotone.fa-list-alt:after,.fa-duotone.fa-rectangle-list:after,.fad.fa-list-alt:after,.fad.fa-rectangle-list:after{content:"\f022\f022"}.fa-duotone.fa-pro:after,.fa-duotone.fa-rectangle-pro:after,.fad.fa-pro:after,.fad.fa-rectangle-pro:after{content:"\e235\e235"}.fa-duotone.fa-rectangle-terminal:after,.fad.fa-rectangle-terminal:after{content:"\e236\e236"}.fa-duotone.fa-rectangle-portrait:after,.fa-duotone.fa-rectangle-vertical:after,.fad.fa-rectangle-portrait:after,.fad.fa-rectangle-vertical:after{content:"\f2fb\f2fb"}.fa-duotone.fa-rectangle-vertical-history:after,.fad.fa-rectangle-vertical-history:after{content:"\e237\e237"}.fa-duotone.fa-rectangle-wide:after,.fad.fa-rectangle-wide:after{content:"\f2fc\f2fc"}.fa-duotone.fa-rectangle-times:after,.fa-duotone.fa-rectangle-xmark:after,.fa-duotone.fa-times-rectangle:after,.fa-duotone.fa-window-close:after,.fad.fa-rectangle-times:after,.fad.fa-rectangle-xmark:after,.fad.fa-times-rectangle:after,.fad.fa-window-close:after{content:"\f410\f410"}.fa-duotone.fa-rectangles-mixed:after,.fad.fa-rectangles-mixed:after{content:"\e323\e323"}.fa-duotone.fa-recycle:after,.fad.fa-recycle:after{content:"\f1b8\f1b8"}.fa-duotone.fa-reel:after,.fad.fa-reel:after{content:"\e238\e238"}.fa-duotone.fa-refrigerator:after,.fad.fa-refrigerator:after{content:"\e026\e026"}.fa-duotone.fa-registered:after,.fad.fa-registered:after{content:"\f25d\f25d"}.fa-duotone.fa-repeat:after,.fad.fa-repeat:after{content:"\f363\f363"}.fa-duotone.fa-repeat-1:after,.fad.fa-repeat-1:after{content:"\f365\f365"}.fa-duotone.fa-mail-reply:after,.fa-duotone.fa-reply:after,.fad.fa-mail-reply:after,.fad.fa-reply:after{content:"\f3e5\f3e5"}.fa-duotone.fa-mail-reply-all:after,.fa-duotone.fa-reply-all:after,.fad.fa-mail-reply-all:after,.fad.fa-reply-all:after{content:"\f122\f122"}.fa-duotone.fa-reply-clock:after,.fa-duotone.fa-reply-time:after,.fad.fa-reply-clock:after,.fad.fa-reply-time:after{content:"\e239\e239"}.fa-duotone.fa-republican:after,.fad.fa-republican:after{content:"\f75e\f75e"}.fa-duotone.fa-restroom:after,.fad.fa-restroom:after{content:"\f7bd\f7bd"}.fa-duotone.fa-restroom-simple:after,.fad.fa-restroom-simple:after{content:"\e23a\e23a"}.fa-duotone.fa-retweet:after,.fad.fa-retweet:after{content:"\f079\f079"}.fa-duotone.fa-rhombus:after,.fad.fa-rhombus:after{content:"\e23b\e23b"}.fa-duotone.fa-ribbon:after,.fad.fa-ribbon:after{content:"\f4d6\f4d6"}.fa-duotone.fa-arrow-alt-right:after,.fa-duotone.fa-right:after,.fad.fa-arrow-alt-right:after,.fad.fa-right:after{content:"\f356\f356"}.fa-duotone.fa-right-from-bracket:after,.fa-duotone.fa-sign-out-alt:after,.fad.fa-right-from-bracket:after,.fad.fa-sign-out-alt:after{content:"\f2f5\f2f5"}.fa-duotone.fa-arrow-alt-from-left:after,.fa-duotone.fa-right-from-line:after,.fad.fa-arrow-alt-from-left:after,.fad.fa-right-from-line:after{content:"\f347\f347"}.fa-duotone.fa-exchange-alt:after,.fa-duotone.fa-right-left:after,.fad.fa-exchange-alt:after,.fad.fa-right-left:after{content:"\f362\f362"}.fa-duotone.fa-long-arrow-alt-right:after,.fa-duotone.fa-right-long:after,.fad.fa-long-arrow-alt-right:after,.fad.fa-right-long:after{content:"\f30b\f30b"}.fa-duotone.fa-right-long-to-line:after,.fad.fa-right-long-to-line:after{content:"\e444\e444"}.fa-duotone.fa-right-to-bracket:after,.fa-duotone.fa-sign-in-alt:after,.fad.fa-right-to-bracket:after,.fad.fa-sign-in-alt:after{content:"\f2f6\f2f6"}.fa-duotone.fa-arrow-alt-to-right:after,.fa-duotone.fa-right-to-line:after,.fad.fa-arrow-alt-to-right:after,.fad.fa-right-to-line:after{content:"\f34c\f34c"}.fa-duotone.fa-ring:after,.fad.fa-ring:after{content:"\f70b\f70b"}.fa-duotone.fa-rings-wedding:after,.fad.fa-rings-wedding:after{content:"\f81b\f81b"}.fa-duotone.fa-road:after,.fad.fa-road:after{content:"\f018\f018"}.fa-duotone.fa-road-barrier:after,.fad.fa-road-barrier:after{content:"\e562\e562"}.fa-duotone.fa-road-bridge:after,.fad.fa-road-bridge:after{content:"\e563\e563"}.fa-duotone.fa-road-circle-check:after,.fad.fa-road-circle-check:after{content:"\e564\e564"}.fa-duotone.fa-road-circle-exclamation:after,.fad.fa-road-circle-exclamation:after{content:"\e565\e565"}.fa-duotone.fa-road-circle-xmark:after,.fad.fa-road-circle-xmark:after{content:"\e566\e566"}.fa-duotone.fa-road-lock:after,.fad.fa-road-lock:after{content:"\e567\e567"}.fa-duotone.fa-road-spikes:after,.fad.fa-road-spikes:after{content:"\e568\e568"}.fa-duotone.fa-robot:after,.fad.fa-robot:after{content:"\f544\f544"}.fa-duotone.fa-robot-astromech:after,.fad.fa-robot-astromech:after{content:"\e2d2\e2d2"}.fa-duotone.fa-rocket:after,.fad.fa-rocket:after{content:"\f135\f135"}.fa-duotone.fa-rocket-launch:after,.fad.fa-rocket-launch:after{content:"\e027\e027"}.fa-duotone.fa-roller-coaster:after,.fad.fa-roller-coaster:after{content:"\e324\e324"}.fa-duotone.fa-rotate:after,.fa-duotone.fa-sync-alt:after,.fad.fa-rotate:after,.fad.fa-sync-alt:after{content:"\f2f1\f2f1"}.fa-duotone.fa-rotate-exclamation:after,.fad.fa-rotate-exclamation:after{content:"\e23c\e23c"}.fa-duotone.fa-rotate-back:after,.fa-duotone.fa-rotate-backward:after,.fa-duotone.fa-rotate-left:after,.fa-duotone.fa-undo-alt:after,.fad.fa-rotate-back:after,.fad.fa-rotate-backward:after,.fad.fa-rotate-left:after,.fad.fa-undo-alt:after{content:"\f2ea\f2ea"}.fa-duotone.fa-redo-alt:after,.fa-duotone.fa-rotate-forward:after,.fa-duotone.fa-rotate-right:after,.fad.fa-redo-alt:after,.fad.fa-rotate-forward:after,.fad.fa-rotate-right:after{content:"\f2f9\f2f9"}.fa-duotone.fa-route:after,.fad.fa-route:after{content:"\f4d7\f4d7"}.fa-duotone.fa-route-highway:after,.fad.fa-route-highway:after{content:"\f61a\f61a"}.fa-duotone.fa-route-interstate:after,.fad.fa-route-interstate:after{content:"\f61b\f61b"}.fa-duotone.fa-router:after,.fad.fa-router:after{content:"\f8da\f8da"}.fa-duotone.fa-feed:after,.fa-duotone.fa-rss:after,.fad.fa-feed:after,.fad.fa-rss:after{content:"\f09e\f09e"}.fa-duotone.fa-rouble:after,.fa-duotone.fa-rub:after,.fa-duotone.fa-ruble-sign:after,.fa-duotone.fa-ruble:after,.fad.fa-rouble:after,.fad.fa-rub:after,.fad.fa-ruble-sign:after,.fad.fa-ruble:after{content:"\f158\f158"}.fa-duotone.fa-rug:after,.fad.fa-rug:after{content:"\e569\e569"}.fa-duotone.fa-rugby-ball:after,.fad.fa-rugby-ball:after{content:"\e3c6\e3c6"}.fa-duotone.fa-ruler:after,.fad.fa-ruler:after{content:"\f545\f545"}.fa-duotone.fa-ruler-combined:after,.fad.fa-ruler-combined:after{content:"\f546\f546"}.fa-duotone.fa-ruler-horizontal:after,.fad.fa-ruler-horizontal:after{content:"\f547\f547"}.fa-duotone.fa-ruler-triangle:after,.fad.fa-ruler-triangle:after{content:"\f61c\f61c"}.fa-duotone.fa-ruler-vertical:after,.fad.fa-ruler-vertical:after{content:"\f548\f548"}.fa-duotone.fa-rupee-sign:after,.fa-duotone.fa-rupee:after,.fad.fa-rupee-sign:after,.fad.fa-rupee:after{content:"\f156\f156"}.fa-duotone.fa-rupiah-sign:after,.fad.fa-rupiah-sign:after{content:"\e23d\e23d"}.fa-duotone.fa-rv:after,.fad.fa-rv:after{content:"\f7be\f7be"}.fa-duotone.fa-s:after,.fad.fa-s:after{content:"\53\53"}.fa-duotone.fa-sack:after,.fad.fa-sack:after{content:"\f81c\f81c"}.fa-duotone.fa-sack-dollar:after,.fad.fa-sack-dollar:after{content:"\f81d\f81d"}.fa-duotone.fa-sack-xmark:after,.fad.fa-sack-xmark:after{content:"\e56a\e56a"}.fa-duotone.fa-sailboat:after,.fad.fa-sailboat:after{content:"\e445\e445"}.fa-duotone.fa-bowl-salad:after,.fa-duotone.fa-salad:after,.fad.fa-bowl-salad:after,.fad.fa-salad:after{content:"\f81e\f81e"}.fa-duotone.fa-salt-shaker:after,.fad.fa-salt-shaker:after{content:"\e446\e446"}.fa-duotone.fa-sandwich:after,.fad.fa-sandwich:after{content:"\f81f\f81f"}.fa-duotone.fa-satellite:after,.fad.fa-satellite:after{content:"\f7bf\f7bf"}.fa-duotone.fa-satellite-dish:after,.fad.fa-satellite-dish:after{content:"\f7c0\f7c0"}.fa-duotone.fa-sausage:after,.fad.fa-sausage:after{content:"\f820\f820"}.fa-duotone.fa-saxophone:after,.fad.fa-saxophone:after{content:"\f8dc\f8dc"}.fa-duotone.fa-sax-hot:after,.fa-duotone.fa-saxophone-fire:after,.fad.fa-sax-hot:after,.fad.fa-saxophone-fire:after{content:"\f8db\f8db"}.fa-duotone.fa-balance-scale:after,.fa-duotone.fa-scale-balanced:after,.fad.fa-balance-scale:after,.fad.fa-scale-balanced:after{content:"\f24e\f24e"}.fa-duotone.fa-balance-scale-left:after,.fa-duotone.fa-scale-unbalanced:after,.fad.fa-balance-scale-left:after,.fad.fa-scale-unbalanced:after{content:"\f515\f515"}.fa-duotone.fa-balance-scale-right:after,.fa-duotone.fa-scale-unbalanced-flip:after,.fad.fa-balance-scale-right:after,.fad.fa-scale-unbalanced-flip:after{content:"\f516\f516"}.fa-duotone.fa-scalpel:after,.fad.fa-scalpel:after{content:"\f61d\f61d"}.fa-duotone.fa-scalpel-line-dashed:after,.fa-duotone.fa-scalpel-path:after,.fad.fa-scalpel-line-dashed:after,.fad.fa-scalpel-path:after{content:"\f61e\f61e"}.fa-duotone.fa-scanner-image:after,.fa-duotone.fa-scanner:after,.fad.fa-scanner-image:after,.fad.fa-scanner:after{content:"\f8f3\f8f3"}.fa-duotone.fa-scanner-gun:after,.fad.fa-scanner-gun:after{content:"\f488\f488"}.fa-duotone.fa-scanner-keyboard:after,.fad.fa-scanner-keyboard:after{content:"\f489\f489"}.fa-duotone.fa-scanner-touchscreen:after,.fad.fa-scanner-touchscreen:after{content:"\f48a\f48a"}.fa-duotone.fa-scarecrow:after,.fad.fa-scarecrow:after{content:"\f70d\f70d"}.fa-duotone.fa-scarf:after,.fad.fa-scarf:after{content:"\f7c1\f7c1"}.fa-duotone.fa-school:after,.fad.fa-school:after{content:"\f549\f549"}.fa-duotone.fa-school-circle-check:after,.fad.fa-school-circle-check:after{content:"\e56b\e56b"}.fa-duotone.fa-school-circle-exclamation:after,.fad.fa-school-circle-exclamation:after{content:"\e56c\e56c"}.fa-duotone.fa-school-circle-xmark:after,.fad.fa-school-circle-xmark:after{content:"\e56d\e56d"}.fa-duotone.fa-school-flag:after,.fad.fa-school-flag:after{content:"\e56e\e56e"}.fa-duotone.fa-school-lock:after,.fad.fa-school-lock:after{content:"\e56f\e56f"}.fa-duotone.fa-cut:after,.fa-duotone.fa-scissors:after,.fad.fa-cut:after,.fad.fa-scissors:after{content:"\f0c4\f0c4"}.fa-duotone.fa-screen-users:after,.fa-duotone.fa-users-class:after,.fad.fa-screen-users:after,.fad.fa-users-class:after{content:"\f63d\f63d"}.fa-duotone.fa-screencast:after,.fad.fa-screencast:after{content:"\e23e\e23e"}.fa-duotone.fa-screwdriver:after,.fad.fa-screwdriver:after{content:"\f54a\f54a"}.fa-duotone.fa-screwdriver-wrench:after,.fa-duotone.fa-tools:after,.fad.fa-screwdriver-wrench:after,.fad.fa-tools:after{content:"\f7d9\f7d9"}.fa-duotone.fa-scribble:after,.fad.fa-scribble:after{content:"\e23f\e23f"}.fa-duotone.fa-scroll:after,.fad.fa-scroll:after{content:"\f70e\f70e"}.fa-duotone.fa-scroll-old:after,.fad.fa-scroll-old:after{content:"\f70f\f70f"}.fa-duotone.fa-scroll-torah:after,.fa-duotone.fa-torah:after,.fad.fa-scroll-torah:after,.fad.fa-torah:after{content:"\f6a0\f6a0"}.fa-duotone.fa-scrubber:after,.fad.fa-scrubber:after{content:"\f2f8\f2f8"}.fa-duotone.fa-scythe:after,.fad.fa-scythe:after{content:"\f710\f710"}.fa-duotone.fa-sd-card:after,.fad.fa-sd-card:after{content:"\f7c2\f7c2"}.fa-duotone.fa-sd-cards:after,.fad.fa-sd-cards:after{content:"\e240\e240"}.fa-duotone.fa-seal:after,.fad.fa-seal:after{content:"\e241\e241"}.fa-duotone.fa-seal-exclamation:after,.fad.fa-seal-exclamation:after{content:"\e242\e242"}.fa-duotone.fa-seal-question:after,.fad.fa-seal-question:after{content:"\e243\e243"}.fa-duotone.fa-seat-airline:after,.fad.fa-seat-airline:after{content:"\e244\e244"}.fa-duotone.fa-section:after,.fad.fa-section:after{content:"\e447\e447"}.fa-duotone.fa-seedling:after,.fa-duotone.fa-sprout:after,.fad.fa-seedling:after,.fad.fa-sprout:after{content:"\f4d8\f4d8"}.fa-duotone.fa-semicolon:after,.fad.fa-semicolon:after{content:"\3b\3b"}.fa-duotone.fa-send-back:after,.fad.fa-send-back:after{content:"\f87e\f87e"}.fa-duotone.fa-send-backward:after,.fad.fa-send-backward:after{content:"\f87f\f87f"}.fa-duotone.fa-sensor:after,.fad.fa-sensor:after{content:"\e028\e028"}.fa-duotone.fa-sensor-cloud:after,.fa-duotone.fa-sensor-smoke:after,.fad.fa-sensor-cloud:after,.fad.fa-sensor-smoke:after{content:"\e02c\e02c"}.fa-duotone.fa-sensor-fire:after,.fad.fa-sensor-fire:after{content:"\e02a\e02a"}.fa-duotone.fa-sensor-on:after,.fad.fa-sensor-on:after{content:"\e02b\e02b"}.fa-duotone.fa-sensor-alert:after,.fa-duotone.fa-sensor-triangle-exclamation:after,.fad.fa-sensor-alert:after,.fad.fa-sensor-triangle-exclamation:after{content:"\e029\e029"}.fa-duotone.fa-server:after,.fad.fa-server:after{content:"\f233\f233"}.fa-duotone.fa-shapes:after,.fa-duotone.fa-triangle-circle-square:after,.fad.fa-shapes:after,.fad.fa-triangle-circle-square:after{content:"\f61f\f61f"}.fa-duotone.fa-arrow-turn-right:after,.fa-duotone.fa-mail-forward:after,.fa-duotone.fa-share:after,.fad.fa-arrow-turn-right:after,.fad.fa-mail-forward:after,.fad.fa-share:after{content:"\f064\f064"}.fa-duotone.fa-share-all:after,.fad.fa-share-all:after{content:"\f367\f367"}.fa-duotone.fa-share-from-square:after,.fa-duotone.fa-share-square:after,.fad.fa-share-from-square:after,.fad.fa-share-square:after{content:"\f14d\f14d"}.fa-duotone.fa-share-alt:after,.fa-duotone.fa-share-nodes:after,.fad.fa-share-alt:after,.fad.fa-share-nodes:after{content:"\f1e0\f1e0"}.fa-duotone.fa-sheep:after,.fad.fa-sheep:after{content:"\f711\f711"}.fa-duotone.fa-sheet-plastic:after,.fad.fa-sheet-plastic:after{content:"\e571\e571"}.fa-duotone.fa-ils:after,.fa-duotone.fa-shekel-sign:after,.fa-duotone.fa-shekel:after,.fa-duotone.fa-sheqel-sign:after,.fa-duotone.fa-sheqel:after,.fad.fa-ils:after,.fad.fa-shekel-sign:after,.fad.fa-shekel:after,.fad.fa-sheqel-sign:after,.fad.fa-sheqel:after{content:"\f20b\f20b"}.fa-duotone.fa-inventory:after,.fa-duotone.fa-shelves:after,.fad.fa-inventory:after,.fad.fa-shelves:after{content:"\f480\f480"}.fa-duotone.fa-shelves-empty:after,.fad.fa-shelves-empty:after{content:"\e246\e246"}.fa-duotone.fa-shield-blank:after,.fa-duotone.fa-shield:after,.fad.fa-shield-blank:after,.fad.fa-shield:after{content:"\f132\f132"}.fa-duotone.fa-shield-cat:after,.fad.fa-shield-cat:after{content:"\e572\e572"}.fa-duotone.fa-shield-check:after,.fad.fa-shield-check:after{content:"\f2f7\f2f7"}.fa-duotone.fa-shield-cross:after,.fad.fa-shield-cross:after{content:"\f712\f712"}.fa-duotone.fa-shield-dog:after,.fad.fa-shield-dog:after{content:"\e573\e573"}.fa-duotone.fa-shield-exclamation:after,.fad.fa-shield-exclamation:after{content:"\e247\e247"}.fa-duotone.fa-shield-alt:after,.fa-duotone.fa-shield-halved:after,.fad.fa-shield-alt:after,.fad.fa-shield-halved:after{content:"\f3ed\f3ed"}.fa-duotone.fa-shield-heart:after,.fad.fa-shield-heart:after{content:"\e574\e574"}.fa-duotone.fa-shield-keyhole:after,.fad.fa-shield-keyhole:after{content:"\e248\e248"}.fa-duotone.fa-shield-minus:after,.fad.fa-shield-minus:after{content:"\e249\e249"}.fa-duotone.fa-shield-plus:after,.fad.fa-shield-plus:after{content:"\e24a\e24a"}.fa-duotone.fa-shield-quartered:after,.fad.fa-shield-quartered:after{content:"\e575\e575"}.fa-duotone.fa-shield-slash:after,.fad.fa-shield-slash:after{content:"\e24b\e24b"}.fa-duotone.fa-shield-virus:after,.fad.fa-shield-virus:after{content:"\e06c\e06c"}.fa-duotone.fa-shield-times:after,.fa-duotone.fa-shield-xmark:after,.fad.fa-shield-times:after,.fad.fa-shield-xmark:after{content:"\e24c\e24c"}.fa-duotone.fa-ship:after,.fad.fa-ship:after{content:"\f21a\f21a"}.fa-duotone.fa-shirt:after,.fa-duotone.fa-t-shirt:after,.fa-duotone.fa-tshirt:after,.fad.fa-shirt:after,.fad.fa-t-shirt:after,.fad.fa-tshirt:after{content:"\f553\f553"}.fa-duotone.fa-shirt-long-sleeve:after,.fad.fa-shirt-long-sleeve:after{content:"\e3c7\e3c7"}.fa-duotone.fa-shirt-running:after,.fad.fa-shirt-running:after{content:"\e3c8\e3c8"}.fa-duotone.fa-shirt-tank-top:after,.fad.fa-shirt-tank-top:after{content:"\e3c9\e3c9"}.fa-duotone.fa-shish-kebab:after,.fad.fa-shish-kebab:after{content:"\f821\f821"}.fa-duotone.fa-shoe-prints:after,.fad.fa-shoe-prints:after{content:"\f54b\f54b"}.fa-duotone.fa-shop:after,.fa-duotone.fa-store-alt:after,.fad.fa-shop:after,.fad.fa-store-alt:after{content:"\f54f\f54f"}.fa-duotone.fa-shop-lock:after,.fad.fa-shop-lock:after{content:"\e4a5\e4a5"}.fa-duotone.fa-shop-slash:after,.fa-duotone.fa-store-alt-slash:after,.fad.fa-shop-slash:after,.fad.fa-store-alt-slash:after{content:"\e070\e070"}.fa-duotone.fa-shovel:after,.fad.fa-shovel:after{content:"\f713\f713"}.fa-duotone.fa-shovel-snow:after,.fad.fa-shovel-snow:after{content:"\f7c3\f7c3"}.fa-duotone.fa-shower:after,.fad.fa-shower:after{content:"\f2cc\f2cc"}.fa-duotone.fa-shower-alt:after,.fa-duotone.fa-shower-down:after,.fad.fa-shower-alt:after,.fad.fa-shower-down:after{content:"\e24d\e24d"}.fa-duotone.fa-shredder:after,.fad.fa-shredder:after{content:"\f68a\f68a"}.fa-duotone.fa-shrimp:after,.fad.fa-shrimp:after{content:"\e448\e448"}.fa-duotone.fa-random:after,.fa-duotone.fa-shuffle:after,.fad.fa-random:after,.fad.fa-shuffle:after{content:"\f074\f074"}.fa-duotone.fa-shutters:after,.fad.fa-shutters:after{content:"\e449\e449"}.fa-duotone.fa-shuttle-space:after,.fa-duotone.fa-space-shuttle:after,.fad.fa-shuttle-space:after,.fad.fa-space-shuttle:after{content:"\f197\f197"}.fa-duotone.fa-shuttlecock:after,.fad.fa-shuttlecock:after{content:"\f45b\f45b"}.fa-duotone.fa-sickle:after,.fad.fa-sickle:after{content:"\f822\f822"}.fa-duotone.fa-sidebar:after,.fad.fa-sidebar:after{content:"\e24e\e24e"}.fa-duotone.fa-sidebar-flip:after,.fad.fa-sidebar-flip:after{content:"\e24f\e24f"}.fa-duotone.fa-sigma:after,.fad.fa-sigma:after{content:"\f68b\f68b"}.fa-duotone.fa-sign-hanging:after,.fa-duotone.fa-sign:after,.fad.fa-sign-hanging:after,.fad.fa-sign:after{content:"\f4d9\f4d9"}.fa-duotone.fa-signal-5:after,.fa-duotone.fa-signal-perfect:after,.fa-duotone.fa-signal:after,.fad.fa-signal-5:after,.fad.fa-signal-perfect:after,.fad.fa-signal:after{content:"\f012\f012"}.fa-duotone.fa-signal-alt-4:after,.fa-duotone.fa-signal-alt:after,.fa-duotone.fa-signal-bars-strong:after,.fa-duotone.fa-signal-bars:after,.fad.fa-signal-alt-4:after,.fad.fa-signal-alt:after,.fad.fa-signal-bars-strong:after,.fad.fa-signal-bars:after{content:"\f690\f690"}.fa-duotone.fa-signal-alt-2:after,.fa-duotone.fa-signal-bars-fair:after,.fad.fa-signal-alt-2:after,.fad.fa-signal-bars-fair:after{content:"\f692\f692"}.fa-duotone.fa-signal-alt-3:after,.fa-duotone.fa-signal-bars-good:after,.fad.fa-signal-alt-3:after,.fad.fa-signal-bars-good:after{content:"\f693\f693"}.fa-duotone.fa-signal-alt-slash:after,.fa-duotone.fa-signal-bars-slash:after,.fad.fa-signal-alt-slash:after,.fad.fa-signal-bars-slash:after{content:"\f694\f694"}.fa-duotone.fa-signal-alt-1:after,.fa-duotone.fa-signal-bars-weak:after,.fad.fa-signal-alt-1:after,.fad.fa-signal-bars-weak:after{content:"\f691\f691"}.fa-duotone.fa-signal-2:after,.fa-duotone.fa-signal-fair:after,.fad.fa-signal-2:after,.fad.fa-signal-fair:after{content:"\f68d\f68d"}.fa-duotone.fa-signal-3:after,.fa-duotone.fa-signal-good:after,.fad.fa-signal-3:after,.fad.fa-signal-good:after{content:"\f68e\f68e"}.fa-duotone.fa-signal-slash:after,.fad.fa-signal-slash:after{content:"\f695\f695"}.fa-duotone.fa-signal-stream:after,.fad.fa-signal-stream:after{content:"\f8dd\f8dd"}.fa-duotone.fa-signal-stream-slash:after,.fad.fa-signal-stream-slash:after{content:"\e250\e250"}.fa-duotone.fa-signal-4:after,.fa-duotone.fa-signal-strong:after,.fad.fa-signal-4:after,.fad.fa-signal-strong:after{content:"\f68f\f68f"}.fa-duotone.fa-signal-1:after,.fa-duotone.fa-signal-weak:after,.fad.fa-signal-1:after,.fad.fa-signal-weak:after{content:"\f68c\f68c"}.fa-duotone.fa-signature:after,.fad.fa-signature:after{content:"\f5b7\f5b7"}.fa-duotone.fa-signature-lock:after,.fad.fa-signature-lock:after{content:"\e3ca\e3ca"}.fa-duotone.fa-signature-slash:after,.fad.fa-signature-slash:after{content:"\e3cb\e3cb"}.fa-duotone.fa-map-signs:after,.fa-duotone.fa-signs-post:after,.fad.fa-map-signs:after,.fad.fa-signs-post:after{content:"\f277\f277"}.fa-duotone.fa-sim-card:after,.fad.fa-sim-card:after{content:"\f7c4\f7c4"}.fa-duotone.fa-sim-cards:after,.fad.fa-sim-cards:after{content:"\e251\e251"}.fa-duotone.fa-sink:after,.fad.fa-sink:after{content:"\e06d\e06d"}.fa-duotone.fa-siren:after,.fad.fa-siren:after{content:"\e02d\e02d"}.fa-duotone.fa-siren-on:after,.fad.fa-siren-on:after{content:"\e02e\e02e"}.fa-duotone.fa-sitemap:after,.fad.fa-sitemap:after{content:"\f0e8\f0e8"}.fa-duotone.fa-skeleton:after,.fad.fa-skeleton:after{content:"\f620\f620"}.fa-duotone.fa-ski-boot:after,.fad.fa-ski-boot:after{content:"\e3cc\e3cc"}.fa-duotone.fa-ski-boot-ski:after,.fad.fa-ski-boot-ski:after{content:"\e3cd\e3cd"}.fa-duotone.fa-skull:after,.fad.fa-skull:after{content:"\f54c\f54c"}.fa-duotone.fa-skull-cow:after,.fad.fa-skull-cow:after{content:"\f8de\f8de"}.fa-duotone.fa-skull-crossbones:after,.fad.fa-skull-crossbones:after{content:"\f714\f714"}.fa-duotone.fa-slash:after,.fad.fa-slash:after{content:"\f715\f715"}.fa-duotone.fa-slash-back:after,.fad.fa-slash-back:after{content:"\5c\5c"}.fa-duotone.fa-slash-forward:after,.fad.fa-slash-forward:after{content:"\2f\2f"}.fa-duotone.fa-sleigh:after,.fad.fa-sleigh:after{content:"\f7cc\f7cc"}.fa-duotone.fa-slider:after,.fad.fa-slider:after{content:"\e252\e252"}.fa-duotone.fa-sliders-h:after,.fa-duotone.fa-sliders:after,.fad.fa-sliders-h:after,.fad.fa-sliders:after{content:"\f1de\f1de"}.fa-duotone.fa-sliders-simple:after,.fad.fa-sliders-simple:after{content:"\e253\e253"}.fa-duotone.fa-sliders-up:after,.fa-duotone.fa-sliders-v:after,.fad.fa-sliders-up:after,.fad.fa-sliders-v:after{content:"\f3f1\f3f1"}.fa-duotone.fa-slot-machine:after,.fad.fa-slot-machine:after{content:"\e3ce\e3ce"}.fa-duotone.fa-smog:after,.fad.fa-smog:after{content:"\f75f\f75f"}.fa-duotone.fa-smoke:after,.fad.fa-smoke:after{content:"\f760\f760"}.fa-duotone.fa-smoking:after,.fad.fa-smoking:after{content:"\f48d\f48d"}.fa-duotone.fa-snake:after,.fad.fa-snake:after{content:"\f716\f716"}.fa-duotone.fa-snooze:after,.fa-duotone.fa-zzz:after,.fad.fa-snooze:after,.fad.fa-zzz:after{content:"\f880\f880"}.fa-duotone.fa-snow-blowing:after,.fad.fa-snow-blowing:after{content:"\f761\f761"}.fa-duotone.fa-snowflake:after,.fad.fa-snowflake:after{content:"\f2dc\f2dc"}.fa-duotone.fa-snowflakes:after,.fad.fa-snowflakes:after{content:"\f7cf\f7cf"}.fa-duotone.fa-snowman:after,.fad.fa-snowman:after{content:"\f7d0\f7d0"}.fa-duotone.fa-frosty-head:after,.fa-duotone.fa-snowman-head:after,.fad.fa-frosty-head:after,.fad.fa-snowman-head:after{content:"\f79b\f79b"}.fa-duotone.fa-snowplow:after,.fad.fa-snowplow:after{content:"\f7d2\f7d2"}.fa-duotone.fa-soap:after,.fad.fa-soap:after{content:"\e06e\e06e"}.fa-duotone.fa-socks:after,.fad.fa-socks:after{content:"\f696\f696"}.fa-duotone.fa-creemee:after,.fa-duotone.fa-soft-serve:after,.fad.fa-creemee:after,.fad.fa-soft-serve:after{content:"\e400\e400"}.fa-duotone.fa-solar-panel:after,.fad.fa-solar-panel:after{content:"\f5ba\f5ba"}.fa-duotone.fa-solar-system:after,.fad.fa-solar-system:after{content:"\e02f\e02f"}.fa-duotone.fa-sort:after,.fa-duotone.fa-unsorted:after,.fad.fa-sort:after,.fad.fa-unsorted:after{content:"\f0dc\f0dc"}.fa-duotone.fa-sort-desc:after,.fa-duotone.fa-sort-down:after,.fad.fa-sort-desc:after,.fad.fa-sort-down:after{content:"\f0dd\f0dd"}.fa-duotone.fa-sort-asc:after,.fa-duotone.fa-sort-up:after,.fad.fa-sort-asc:after,.fad.fa-sort-up:after{content:"\f0de\f0de"}.fa-duotone.fa-spa:after,.fad.fa-spa:after{content:"\f5bb\f5bb"}.fa-duotone.fa-space-station-moon:after,.fad.fa-space-station-moon:after{content:"\e033\e033"}.fa-duotone.fa-space-station-moon-alt:after,.fa-duotone.fa-space-station-moon-construction:after,.fad.fa-space-station-moon-alt:after,.fad.fa-space-station-moon-construction:after{content:"\e034\e034"}.fa-duotone.fa-spade:after,.fad.fa-spade:after{content:"\f2f4\f2f4"}.fa-duotone.fa-pastafarianism:after,.fa-duotone.fa-spaghetti-monster-flying:after,.fad.fa-pastafarianism:after,.fad.fa-spaghetti-monster-flying:after{content:"\f67b\f67b"}.fa-duotone.fa-sparkles:after,.fad.fa-sparkles:after{content:"\f890\f890"}.fa-duotone.fa-speaker:after,.fad.fa-speaker:after{content:"\f8df\f8df"}.fa-duotone.fa-speakers:after,.fad.fa-speakers:after{content:"\f8e0\f8e0"}.fa-duotone.fa-spell-check:after,.fad.fa-spell-check:after{content:"\f891\f891"}.fa-duotone.fa-spider:after,.fad.fa-spider:after{content:"\f717\f717"}.fa-duotone.fa-spider-black-widow:after,.fad.fa-spider-black-widow:after{content:"\f718\f718"}.fa-duotone.fa-spider-web:after,.fad.fa-spider-web:after{content:"\f719\f719"}.fa-duotone.fa-spinner:after,.fad.fa-spinner:after{content:"\f110\f110"}.fa-duotone.fa-spinner-third:after,.fad.fa-spinner-third:after{content:"\f3f4\f3f4"}.fa-duotone.fa-split:after,.fad.fa-split:after{content:"\e254\e254"}.fa-duotone.fa-splotch:after,.fad.fa-splotch:after{content:"\f5bc\f5bc"}.fa-duotone.fa-spoon:after,.fa-duotone.fa-utensil-spoon:after,.fad.fa-spoon:after,.fad.fa-utensil-spoon:after{content:"\f2e5\f2e5"}.fa-duotone.fa-sportsball:after,.fad.fa-sportsball:after{content:"\e44b\e44b"}.fa-duotone.fa-spray-can:after,.fad.fa-spray-can:after{content:"\f5bd\f5bd"}.fa-duotone.fa-air-freshener:after,.fa-duotone.fa-spray-can-sparkles:after,.fad.fa-air-freshener:after,.fad.fa-spray-can-sparkles:after{content:"\f5d0\f5d0"}.fa-duotone.fa-sprinkler:after,.fad.fa-sprinkler:after{content:"\e035\e035"}.fa-duotone.fa-sprinkler-ceiling:after,.fad.fa-sprinkler-ceiling:after{content:"\e44c\e44c"}.fa-duotone.fa-square:after,.fad.fa-square:after{content:"\f0c8\f0c8"}.fa-duotone.fa-square-0:after,.fad.fa-square-0:after{content:"\e255\e255"}.fa-duotone.fa-square-1:after,.fad.fa-square-1:after{content:"\e256\e256"}.fa-duotone.fa-square-2:after,.fad.fa-square-2:after{content:"\e257\e257"}.fa-duotone.fa-square-3:after,.fad.fa-square-3:after{content:"\e258\e258"}.fa-duotone.fa-square-4:after,.fad.fa-square-4:after{content:"\e259\e259"}.fa-duotone.fa-square-5:after,.fad.fa-square-5:after{content:"\e25a\e25a"}.fa-duotone.fa-square-6:after,.fad.fa-square-6:after{content:"\e25b\e25b"}.fa-duotone.fa-square-7:after,.fad.fa-square-7:after{content:"\e25c\e25c"}.fa-duotone.fa-square-8:after,.fad.fa-square-8:after{content:"\e25d\e25d"}.fa-duotone.fa-square-9:after,.fad.fa-square-9:after{content:"\e25e\e25e"}.fa-duotone.fa-square-a:after,.fad.fa-square-a:after{content:"\e25f\e25f"}.fa-duotone.fa-square-a-lock:after,.fad.fa-square-a-lock:after{content:"\e44d\e44d"}.fa-duotone.fa-square-ampersand:after,.fad.fa-square-ampersand:after{content:"\e260\e260"}.fa-duotone.fa-arrow-square-down:after,.fa-duotone.fa-square-arrow-down:after,.fad.fa-arrow-square-down:after,.fad.fa-square-arrow-down:after{content:"\f339\f339"}.fa-duotone.fa-square-arrow-down-left:after,.fad.fa-square-arrow-down-left:after{content:"\e261\e261"}.fa-duotone.fa-square-arrow-down-right:after,.fad.fa-square-arrow-down-right:after{content:"\e262\e262"}.fa-duotone.fa-arrow-square-left:after,.fa-duotone.fa-square-arrow-left:after,.fad.fa-arrow-square-left:after,.fad.fa-square-arrow-left:after{content:"\f33a\f33a"}.fa-duotone.fa-arrow-square-right:after,.fa-duotone.fa-square-arrow-right:after,.fad.fa-arrow-square-right:after,.fad.fa-square-arrow-right:after{content:"\f33b\f33b"}.fa-duotone.fa-arrow-square-up:after,.fa-duotone.fa-square-arrow-up:after,.fad.fa-arrow-square-up:after,.fad.fa-square-arrow-up:after{content:"\f33c\f33c"}.fa-duotone.fa-square-arrow-up-left:after,.fad.fa-square-arrow-up-left:after{content:"\e263\e263"}.fa-duotone.fa-external-link-square:after,.fa-duotone.fa-square-arrow-up-right:after,.fad.fa-external-link-square:after,.fad.fa-square-arrow-up-right:after{content:"\f14c\f14c"}.fa-duotone.fa-square-b:after,.fad.fa-square-b:after{content:"\e264\e264"}.fa-duotone.fa-square-bolt:after,.fad.fa-square-bolt:after{content:"\e265\e265"}.fa-duotone.fa-square-c:after,.fad.fa-square-c:after{content:"\e266\e266"}.fa-duotone.fa-caret-square-down:after,.fa-duotone.fa-square-caret-down:after,.fad.fa-caret-square-down:after,.fad.fa-square-caret-down:after{content:"\f150\f150"}.fa-duotone.fa-caret-square-left:after,.fa-duotone.fa-square-caret-left:after,.fad.fa-caret-square-left:after,.fad.fa-square-caret-left:after{content:"\f191\f191"}.fa-duotone.fa-caret-square-right:after,.fa-duotone.fa-square-caret-right:after,.fad.fa-caret-square-right:after,.fad.fa-square-caret-right:after{content:"\f152\f152"}.fa-duotone.fa-caret-square-up:after,.fa-duotone.fa-square-caret-up:after,.fad.fa-caret-square-up:after,.fad.fa-square-caret-up:after{content:"\f151\f151"}.fa-duotone.fa-check-square:after,.fa-duotone.fa-square-check:after,.fad.fa-check-square:after,.fad.fa-square-check:after{content:"\f14a\f14a"}.fa-duotone.fa-chevron-square-down:after,.fa-duotone.fa-square-chevron-down:after,.fad.fa-chevron-square-down:after,.fad.fa-square-chevron-down:after{content:"\f329\f329"}.fa-duotone.fa-chevron-square-left:after,.fa-duotone.fa-square-chevron-left:after,.fad.fa-chevron-square-left:after,.fad.fa-square-chevron-left:after{content:"\f32a\f32a"}.fa-duotone.fa-chevron-square-right:after,.fa-duotone.fa-square-chevron-right:after,.fad.fa-chevron-square-right:after,.fad.fa-square-chevron-right:after{content:"\f32b\f32b"}.fa-duotone.fa-chevron-square-up:after,.fa-duotone.fa-square-chevron-up:after,.fad.fa-chevron-square-up:after,.fad.fa-square-chevron-up:after{content:"\f32c\f32c"}.fa-duotone.fa-square-code:after,.fad.fa-square-code:after{content:"\e267\e267"}.fa-duotone.fa-square-d:after,.fad.fa-square-d:after{content:"\e268\e268"}.fa-duotone.fa-square-dashed:after,.fad.fa-square-dashed:after{content:"\e269\e269"}.fa-duotone.fa-square-divide:after,.fad.fa-square-divide:after{content:"\e26a\e26a"}.fa-duotone.fa-dollar-square:after,.fa-duotone.fa-square-dollar:after,.fa-duotone.fa-usd-square:after,.fad.fa-dollar-square:after,.fad.fa-square-dollar:after,.fad.fa-usd-square:after{content:"\f2e9\f2e9"}.fa-duotone.fa-arrow-alt-square-down:after,.fa-duotone.fa-square-down:after,.fad.fa-arrow-alt-square-down:after,.fad.fa-square-down:after{content:"\f350\f350"}.fa-duotone.fa-square-down-left:after,.fad.fa-square-down-left:after{content:"\e26b\e26b"}.fa-duotone.fa-square-down-right:after,.fad.fa-square-down-right:after{content:"\e26c\e26c"}.fa-duotone.fa-square-e:after,.fad.fa-square-e:after{content:"\e26d\e26d"}.fa-duotone.fa-square-ellipsis:after,.fad.fa-square-ellipsis:after{content:"\e26e\e26e"}.fa-duotone.fa-square-ellipsis-vertical:after,.fad.fa-square-ellipsis-vertical:after{content:"\e26f\e26f"}.fa-duotone.fa-envelope-square:after,.fa-duotone.fa-square-envelope:after,.fad.fa-envelope-square:after,.fad.fa-square-envelope:after{content:"\f199\f199"}.fa-duotone.fa-exclamation-square:after,.fa-duotone.fa-square-exclamation:after,.fad.fa-exclamation-square:after,.fad.fa-square-exclamation:after{content:"\f321\f321"}.fa-duotone.fa-square-f:after,.fad.fa-square-f:after{content:"\e270\e270"}.fa-duotone.fa-box-fragile:after,.fa-duotone.fa-square-fragile:after,.fa-duotone.fa-square-wine-glass-crack:after,.fad.fa-box-fragile:after,.fad.fa-square-fragile:after,.fad.fa-square-wine-glass-crack:after{content:"\f49b\f49b"}.fa-duotone.fa-square-full:after,.fad.fa-square-full:after{content:"\f45c\f45c"}.fa-duotone.fa-square-g:after,.fad.fa-square-g:after{content:"\e271\e271"}.fa-duotone.fa-h-square:after,.fa-duotone.fa-square-h:after,.fad.fa-h-square:after,.fad.fa-square-h:after{content:"\f0fd\f0fd"}.fa-duotone.fa-heart-square:after,.fa-duotone.fa-square-heart:after,.fad.fa-heart-square:after,.fad.fa-square-heart:after{content:"\f4c8\f4c8"}.fa-duotone.fa-square-i:after,.fad.fa-square-i:after{content:"\e272\e272"}.fa-duotone.fa-info-square:after,.fa-duotone.fa-square-info:after,.fad.fa-info-square:after,.fad.fa-square-info:after{content:"\f30f\f30f"}.fa-duotone.fa-square-j:after,.fad.fa-square-j:after{content:"\e273\e273"}.fa-duotone.fa-square-k:after,.fad.fa-square-k:after{content:"\e274\e274"}.fa-duotone.fa-square-kanban:after,.fad.fa-square-kanban:after{content:"\e488\e488"}.fa-duotone.fa-square-l:after,.fad.fa-square-l:after{content:"\e275\e275"}.fa-duotone.fa-arrow-alt-square-left:after,.fa-duotone.fa-square-left:after,.fad.fa-arrow-alt-square-left:after,.fad.fa-square-left:after{content:"\f351\f351"}.fa-duotone.fa-square-list:after,.fad.fa-square-list:after{content:"\e489\e489"}.fa-duotone.fa-square-m:after,.fad.fa-square-m:after{content:"\e276\e276"}.fa-duotone.fa-minus-square:after,.fa-duotone.fa-square-minus:after,.fad.fa-minus-square:after,.fad.fa-square-minus:after{content:"\f146\f146"}.fa-duotone.fa-square-n:after,.fad.fa-square-n:after{content:"\e277\e277"}.fa-duotone.fa-square-nfi:after,.fad.fa-square-nfi:after{content:"\e576\e576"}.fa-duotone.fa-square-o:after,.fad.fa-square-o:after{content:"\e278\e278"}.fa-duotone.fa-square-p:after,.fad.fa-square-p:after{content:"\e279\e279"}.fa-duotone.fa-parking:after,.fa-duotone.fa-square-parking:after,.fad.fa-parking:after,.fad.fa-square-parking:after{content:"\f540\f540"}.fa-duotone.fa-parking-slash:after,.fa-duotone.fa-square-parking-slash:after,.fad.fa-parking-slash:after,.fad.fa-square-parking-slash:after{content:"\f617\f617"}.fa-duotone.fa-pen-square:after,.fa-duotone.fa-pencil-square:after,.fa-duotone.fa-square-pen:after,.fad.fa-pen-square:after,.fad.fa-pencil-square:after,.fad.fa-square-pen:after{content:"\f14b\f14b"}.fa-duotone.fa-square-person-confined:after,.fad.fa-square-person-confined:after{content:"\e577\e577"}.fa-duotone.fa-phone-square:after,.fa-duotone.fa-square-phone:after,.fad.fa-phone-square:after,.fad.fa-square-phone:after{content:"\f098\f098"}.fa-duotone.fa-phone-square-alt:after,.fa-duotone.fa-square-phone-flip:after,.fad.fa-phone-square-alt:after,.fad.fa-square-phone-flip:after{content:"\f87b\f87b"}.fa-duotone.fa-phone-square-down:after,.fa-duotone.fa-square-phone-hangup:after,.fad.fa-phone-square-down:after,.fad.fa-square-phone-hangup:after{content:"\e27a\e27a"}.fa-duotone.fa-plus-square:after,.fa-duotone.fa-square-plus:after,.fad.fa-plus-square:after,.fad.fa-square-plus:after{content:"\f0fe\f0fe"}.fa-duotone.fa-poll-h:after,.fa-duotone.fa-square-poll-horizontal:after,.fad.fa-poll-h:after,.fad.fa-square-poll-horizontal:after{content:"\f682\f682"}.fa-duotone.fa-poll:after,.fa-duotone.fa-square-poll-vertical:after,.fad.fa-poll:after,.fad.fa-square-poll-vertical:after{content:"\f681\f681"}.fa-duotone.fa-square-q:after,.fad.fa-square-q:after{content:"\e27b\e27b"}.fa-duotone.fa-square-quarters:after,.fad.fa-square-quarters:after{content:"\e44e\e44e"}.fa-duotone.fa-question-square:after,.fa-duotone.fa-square-question:after,.fad.fa-question-square:after,.fad.fa-square-question:after{content:"\f2fd\f2fd"}.fa-duotone.fa-square-quote:after,.fad.fa-square-quote:after{content:"\e329\e329"}.fa-duotone.fa-square-r:after,.fad.fa-square-r:after{content:"\e27c\e27c"}.fa-duotone.fa-arrow-alt-square-right:after,.fa-duotone.fa-square-right:after,.fad.fa-arrow-alt-square-right:after,.fad.fa-square-right:after{content:"\f352\f352"}.fa-duotone.fa-square-ring:after,.fad.fa-square-ring:after{content:"\e44f\e44f"}.fa-duotone.fa-square-root:after,.fad.fa-square-root:after{content:"\f697\f697"}.fa-duotone.fa-square-root-alt:after,.fa-duotone.fa-square-root-variable:after,.fad.fa-square-root-alt:after,.fad.fa-square-root-variable:after{content:"\f698\f698"}.fa-duotone.fa-rss-square:after,.fa-duotone.fa-square-rss:after,.fad.fa-rss-square:after,.fad.fa-square-rss:after{content:"\f143\f143"}.fa-duotone.fa-square-s:after,.fad.fa-square-s:after{content:"\e27d\e27d"}.fa-duotone.fa-share-alt-square:after,.fa-duotone.fa-square-share-nodes:after,.fad.fa-share-alt-square:after,.fad.fa-square-share-nodes:after{content:"\f1e1\f1e1"}.fa-duotone.fa-sliders-h-square:after,.fa-duotone.fa-square-sliders:after,.fad.fa-sliders-h-square:after,.fad.fa-square-sliders:after{content:"\f3f0\f3f0"}.fa-duotone.fa-sliders-v-square:after,.fa-duotone.fa-square-sliders-vertical:after,.fad.fa-sliders-v-square:after,.fad.fa-square-sliders-vertical:after{content:"\f3f2\f3f2"}.fa-duotone.fa-square-small:after,.fad.fa-square-small:after{content:"\e27e\e27e"}.fa-duotone.fa-square-star:after,.fad.fa-square-star:after{content:"\e27f\e27f"}.fa-duotone.fa-square-t:after,.fad.fa-square-t:after{content:"\e280\e280"}.fa-duotone.fa-square-terminal:after,.fad.fa-square-terminal:after{content:"\e32a\e32a"}.fa-duotone.fa-box-up:after,.fa-duotone.fa-square-this-way-up:after,.fad.fa-box-up:after,.fad.fa-square-this-way-up:after{content:"\f49f\f49f"}.fa-duotone.fa-square-u:after,.fad.fa-square-u:after{content:"\e281\e281"}.fa-duotone.fa-arrow-alt-square-up:after,.fa-duotone.fa-square-up:after,.fad.fa-arrow-alt-square-up:after,.fad.fa-square-up:after{content:"\f353\f353"}.fa-duotone.fa-square-up-left:after,.fad.fa-square-up-left:after{content:"\e282\e282"}.fa-duotone.fa-external-link-square-alt:after,.fa-duotone.fa-square-up-right:after,.fad.fa-external-link-square-alt:after,.fad.fa-square-up-right:after{content:"\f360\f360"}.fa-duotone.fa-square-user:after,.fad.fa-square-user:after{content:"\e283\e283"}.fa-duotone.fa-square-v:after,.fad.fa-square-v:after{content:"\e284\e284"}.fa-duotone.fa-square-virus:after,.fad.fa-square-virus:after{content:"\e578\e578"}.fa-duotone.fa-square-w:after,.fad.fa-square-w:after{content:"\e285\e285"}.fa-duotone.fa-square-x:after,.fad.fa-square-x:after{content:"\e286\e286"}.fa-duotone.fa-square-xmark:after,.fa-duotone.fa-times-square:after,.fa-duotone.fa-xmark-square:after,.fad.fa-square-xmark:after,.fad.fa-times-square:after,.fad.fa-xmark-square:after{content:"\f2d3\f2d3"}.fa-duotone.fa-square-y:after,.fad.fa-square-y:after{content:"\e287\e287"}.fa-duotone.fa-square-z:after,.fad.fa-square-z:after{content:"\e288\e288"}.fa-duotone.fa-squid:after,.fad.fa-squid:after{content:"\e450\e450"}.fa-duotone.fa-squirrel:after,.fad.fa-squirrel:after{content:"\f71a\f71a"}.fa-duotone.fa-staff:after,.fad.fa-staff:after{content:"\f71b\f71b"}.fa-duotone.fa-rod-asclepius:after,.fa-duotone.fa-rod-snake:after,.fa-duotone.fa-staff-aesculapius:after,.fa-duotone.fa-staff-snake:after,.fad.fa-rod-asclepius:after,.fad.fa-rod-snake:after,.fad.fa-staff-aesculapius:after,.fad.fa-staff-snake:after{content:"\e579\e579"}.fa-duotone.fa-stairs:after,.fad.fa-stairs:after{content:"\e289\e289"}.fa-duotone.fa-stamp:after,.fad.fa-stamp:after{content:"\f5bf\f5bf"}.fa-duotone.fa-rectangle-sd:after,.fa-duotone.fa-standard-definition:after,.fad.fa-rectangle-sd:after,.fad.fa-standard-definition:after{content:"\e28a\e28a"}.fa-duotone.fa-star:after,.fad.fa-star:after{content:"\f005\f005"}.fa-duotone.fa-star-and-crescent:after,.fad.fa-star-and-crescent:after{content:"\f699\f699"}.fa-duotone.fa-star-christmas:after,.fad.fa-star-christmas:after{content:"\f7d4\f7d4"}.fa-duotone.fa-star-exclamation:after,.fad.fa-star-exclamation:after{content:"\f2f3\f2f3"}.fa-duotone.fa-star-half:after,.fad.fa-star-half:after{content:"\f089\f089"}.fa-duotone.fa-star-half-alt:after,.fa-duotone.fa-star-half-stroke:after,.fad.fa-star-half-alt:after,.fad.fa-star-half-stroke:after{content:"\f5c0\f5c0"}.fa-duotone.fa-star-of-david:after,.fad.fa-star-of-david:after{content:"\f69a\f69a"}.fa-duotone.fa-star-of-life:after,.fad.fa-star-of-life:after{content:"\f621\f621"}.fa-duotone.fa-star-sharp:after,.fad.fa-star-sharp:after{content:"\e28b\e28b"}.fa-duotone.fa-star-sharp-half:after,.fad.fa-star-sharp-half:after{content:"\e28c\e28c"}.fa-duotone.fa-star-sharp-half-alt:after,.fa-duotone.fa-star-sharp-half-stroke:after,.fad.fa-star-sharp-half-alt:after,.fad.fa-star-sharp-half-stroke:after{content:"\e28d\e28d"}.fa-duotone.fa-star-shooting:after,.fad.fa-star-shooting:after{content:"\e036\e036"}.fa-duotone.fa-starfighter:after,.fad.fa-starfighter:after{content:"\e037\e037"}.fa-duotone.fa-starfighter-alt:after,.fa-duotone.fa-starfighter-twin-ion-engine:after,.fad.fa-starfighter-alt:after,.fad.fa-starfighter-twin-ion-engine:after{content:"\e038\e038"}.fa-duotone.fa-starfighter-alt-advanced:after,.fa-duotone.fa-starfighter-twin-ion-engine-advanced:after,.fad.fa-starfighter-alt-advanced:after,.fad.fa-starfighter-twin-ion-engine-advanced:after{content:"\e28e\e28e"}.fa-duotone.fa-stars:after,.fad.fa-stars:after{content:"\f762\f762"}.fa-duotone.fa-starship:after,.fad.fa-starship:after{content:"\e039\e039"}.fa-duotone.fa-starship-freighter:after,.fad.fa-starship-freighter:after{content:"\e03a\e03a"}.fa-duotone.fa-steak:after,.fad.fa-steak:after{content:"\f824\f824"}.fa-duotone.fa-steering-wheel:after,.fad.fa-steering-wheel:after{content:"\f622\f622"}.fa-duotone.fa-gbp:after,.fa-duotone.fa-pound-sign:after,.fa-duotone.fa-sterling-sign:after,.fad.fa-gbp:after,.fad.fa-pound-sign:after,.fad.fa-sterling-sign:after{content:"\f154\f154"}.fa-duotone.fa-stethoscope:after,.fad.fa-stethoscope:after{content:"\f0f1\f0f1"}.fa-duotone.fa-stocking:after,.fad.fa-stocking:after{content:"\f7d5\f7d5"}.fa-duotone.fa-stomach:after,.fad.fa-stomach:after{content:"\f623\f623"}.fa-duotone.fa-stop:after,.fad.fa-stop:after{content:"\f04d\f04d"}.fa-duotone.fa-stopwatch:after,.fad.fa-stopwatch:after{content:"\f2f2\f2f2"}.fa-duotone.fa-stopwatch-20:after,.fad.fa-stopwatch-20:after{content:"\e06f\e06f"}.fa-duotone.fa-store:after,.fad.fa-store:after{content:"\f54e\f54e"}.fa-duotone.fa-store-lock:after,.fad.fa-store-lock:after{content:"\e4a6\e4a6"}.fa-duotone.fa-store-slash:after,.fad.fa-store-slash:after{content:"\e071\e071"}.fa-duotone.fa-strawberry:after,.fad.fa-strawberry:after{content:"\e32b\e32b"}.fa-duotone.fa-street-view:after,.fad.fa-street-view:after{content:"\f21d\f21d"}.fa-duotone.fa-stretcher:after,.fad.fa-stretcher:after{content:"\f825\f825"}.fa-duotone.fa-strikethrough:after,.fad.fa-strikethrough:after{content:"\f0cc\f0cc"}.fa-duotone.fa-stroopwafel:after,.fad.fa-stroopwafel:after{content:"\f551\f551"}.fa-duotone.fa-subscript:after,.fad.fa-subscript:after{content:"\f12c\f12c"}.fa-duotone.fa-suitcase:after,.fad.fa-suitcase:after{content:"\f0f2\f0f2"}.fa-duotone.fa-medkit:after,.fa-duotone.fa-suitcase-medical:after,.fad.fa-medkit:after,.fad.fa-suitcase-medical:after{content:"\f0fa\f0fa"}.fa-duotone.fa-suitcase-rolling:after,.fad.fa-suitcase-rolling:after{content:"\f5c1\f5c1"}.fa-duotone.fa-sun:after,.fad.fa-sun:after{content:"\f185\f185"}.fa-duotone.fa-sun-alt:after,.fa-duotone.fa-sun-bright:after,.fad.fa-sun-alt:after,.fad.fa-sun-bright:after{content:"\e28f\e28f"}.fa-duotone.fa-sun-cloud:after,.fad.fa-sun-cloud:after{content:"\f763\f763"}.fa-duotone.fa-sun-dust:after,.fad.fa-sun-dust:after{content:"\f764\f764"}.fa-duotone.fa-sun-haze:after,.fad.fa-sun-haze:after{content:"\f765\f765"}.fa-duotone.fa-sun-plant-wilt:after,.fad.fa-sun-plant-wilt:after{content:"\e57a\e57a"}.fa-duotone.fa-sunglasses:after,.fad.fa-sunglasses:after{content:"\f892\f892"}.fa-duotone.fa-sunrise:after,.fad.fa-sunrise:after{content:"\f766\f766"}.fa-duotone.fa-sunset:after,.fad.fa-sunset:after{content:"\f767\f767"}.fa-duotone.fa-superscript:after,.fad.fa-superscript:after{content:"\f12b\f12b"}.fa-duotone.fa-nigiri:after,.fa-duotone.fa-sushi:after,.fad.fa-nigiri:after,.fad.fa-sushi:after{content:"\e48a\e48a"}.fa-duotone.fa-maki-roll:after,.fa-duotone.fa-makizushi:after,.fa-duotone.fa-sushi-roll:after,.fad.fa-maki-roll:after,.fad.fa-makizushi:after,.fad.fa-sushi-roll:after{content:"\e48b\e48b"}.fa-duotone.fa-swatchbook:after,.fad.fa-swatchbook:after{content:"\f5c3\f5c3"}.fa-duotone.fa-sword:after,.fad.fa-sword:after{content:"\f71c\f71c"}.fa-duotone.fa-sword-laser:after,.fad.fa-sword-laser:after{content:"\e03b\e03b"}.fa-duotone.fa-sword-laser-alt:after,.fad.fa-sword-laser-alt:after{content:"\e03c\e03c"}.fa-duotone.fa-swords:after,.fad.fa-swords:after{content:"\f71d\f71d"}.fa-duotone.fa-swords-laser:after,.fad.fa-swords-laser:after{content:"\e03d\e03d"}.fa-duotone.fa-icons-alt:after,.fa-duotone.fa-symbols:after,.fad.fa-icons-alt:after,.fad.fa-symbols:after{content:"\f86e\f86e"}.fa-duotone.fa-synagogue:after,.fad.fa-synagogue:after{content:"\f69b\f69b"}.fa-duotone.fa-syringe:after,.fad.fa-syringe:after{content:"\f48e\f48e"}.fa-duotone.fa-t:after,.fad.fa-t:after{content:"\54\54"}.fa-duotone.fa-table:after,.fad.fa-table:after{content:"\f0ce\f0ce"}.fa-duotone.fa-table-cells:after,.fa-duotone.fa-th:after,.fad.fa-table-cells:after,.fad.fa-th:after{content:"\f00a\f00a"}.fa-duotone.fa-table-cells-large:after,.fa-duotone.fa-th-large:after,.fad.fa-table-cells-large:after,.fad.fa-th-large:after{content:"\f009\f009"}.fa-duotone.fa-columns:after,.fa-duotone.fa-table-columns:after,.fad.fa-columns:after,.fad.fa-table-columns:after{content:"\f0db\f0db"}.fa-duotone.fa-table-layout:after,.fad.fa-table-layout:after{content:"\e290\e290"}.fa-duotone.fa-table-list:after,.fa-duotone.fa-th-list:after,.fad.fa-table-list:after,.fad.fa-th-list:after{content:"\f00b\f00b"}.fa-duotone.fa-table-picnic:after,.fad.fa-table-picnic:after{content:"\e32d\e32d"}.fa-duotone.fa-table-pivot:after,.fad.fa-table-pivot:after{content:"\e291\e291"}.fa-duotone.fa-rows:after,.fa-duotone.fa-table-rows:after,.fad.fa-rows:after,.fad.fa-table-rows:after{content:"\e292\e292"}.fa-duotone.fa-ping-pong-paddle-ball:after,.fa-duotone.fa-table-tennis-paddle-ball:after,.fa-duotone.fa-table-tennis:after,.fad.fa-ping-pong-paddle-ball:after,.fad.fa-table-tennis-paddle-ball:after,.fad.fa-table-tennis:after{content:"\f45d\f45d"}.fa-duotone.fa-table-tree:after,.fad.fa-table-tree:after{content:"\e293\e293"}.fa-duotone.fa-tablet-android:after,.fa-duotone.fa-tablet:after,.fad.fa-tablet-android:after,.fad.fa-tablet:after{content:"\f3fb\f3fb"}.fa-duotone.fa-tablet-button:after,.fad.fa-tablet-button:after{content:"\f10a\f10a"}.fa-duotone.fa-tablet-rugged:after,.fad.fa-tablet-rugged:after{content:"\f48f\f48f"}.fa-duotone.fa-tablet-android-alt:after,.fa-duotone.fa-tablet-screen:after,.fad.fa-tablet-android-alt:after,.fad.fa-tablet-screen:after{content:"\f3fc\f3fc"}.fa-duotone.fa-tablet-alt:after,.fa-duotone.fa-tablet-screen-button:after,.fad.fa-tablet-alt:after,.fad.fa-tablet-screen-button:after{content:"\f3fa\f3fa"}.fa-duotone.fa-tablets:after,.fad.fa-tablets:after{content:"\f490\f490"}.fa-duotone.fa-digital-tachograph:after,.fa-duotone.fa-tachograph-digital:after,.fad.fa-digital-tachograph:after,.fad.fa-tachograph-digital:after{content:"\f566\f566"}.fa-duotone.fa-taco:after,.fad.fa-taco:after{content:"\f826\f826"}.fa-duotone.fa-tag:after,.fad.fa-tag:after{content:"\f02b\f02b"}.fa-duotone.fa-tags:after,.fad.fa-tags:after{content:"\f02c\f02c"}.fa-duotone.fa-tally-5:after,.fa-duotone.fa-tally:after,.fad.fa-tally-5:after,.fad.fa-tally:after{content:"\f69c\f69c"}.fa-duotone.fa-tally-1:after,.fad.fa-tally-1:after{content:"\e294\e294"}.fa-duotone.fa-tally-2:after,.fad.fa-tally-2:after{content:"\e295\e295"}.fa-duotone.fa-tally-3:after,.fad.fa-tally-3:after{content:"\e296\e296"}.fa-duotone.fa-tally-4:after,.fad.fa-tally-4:after{content:"\e297\e297"}.fa-duotone.fa-tamale:after,.fad.fa-tamale:after{content:"\e451\e451"}.fa-duotone.fa-tank-water:after,.fad.fa-tank-water:after{content:"\e452\e452"}.fa-duotone.fa-tape:after,.fad.fa-tape:after{content:"\f4db\f4db"}.fa-duotone.fa-tarp:after,.fad.fa-tarp:after{content:"\e57b\e57b"}.fa-duotone.fa-tarp-droplet:after,.fad.fa-tarp-droplet:after{content:"\e57c\e57c"}.fa-duotone.fa-cab:after,.fa-duotone.fa-taxi:after,.fad.fa-cab:after,.fad.fa-taxi:after{content:"\f1ba\f1ba"}.fa-duotone.fa-taxi-bus:after,.fad.fa-taxi-bus:after{content:"\e298\e298"}.fa-duotone.fa-teddy-bear:after,.fad.fa-teddy-bear:after{content:"\e3cf\e3cf"}.fa-duotone.fa-teeth:after,.fad.fa-teeth:after{content:"\f62e\f62e"}.fa-duotone.fa-teeth-open:after,.fad.fa-teeth-open:after{content:"\f62f\f62f"}.fa-duotone.fa-telescope:after,.fad.fa-telescope:after{content:"\e03e\e03e"}.fa-duotone.fa-temperature-arrow-down:after,.fa-duotone.fa-temperature-down:after,.fad.fa-temperature-arrow-down:after,.fad.fa-temperature-down:after{content:"\e03f\e03f"}.fa-duotone.fa-temperature-arrow-up:after,.fa-duotone.fa-temperature-up:after,.fad.fa-temperature-arrow-up:after,.fad.fa-temperature-up:after{content:"\e040\e040"}.fa-duotone.fa-temperature-0:after,.fa-duotone.fa-temperature-empty:after,.fa-duotone.fa-thermometer-0:after,.fa-duotone.fa-thermometer-empty:after,.fad.fa-temperature-0:after,.fad.fa-temperature-empty:after,.fad.fa-thermometer-0:after,.fad.fa-thermometer-empty:after{content:"\f2cb\f2cb"}.fa-duotone.fa-temperature-4:after,.fa-duotone.fa-temperature-full:after,.fa-duotone.fa-thermometer-4:after,.fa-duotone.fa-thermometer-full:after,.fad.fa-temperature-4:after,.fad.fa-temperature-full:after,.fad.fa-thermometer-4:after,.fad.fa-thermometer-full:after{content:"\f2c7\f2c7"}.fa-duotone.fa-temperature-2:after,.fa-duotone.fa-temperature-half:after,.fa-duotone.fa-thermometer-2:after,.fa-duotone.fa-thermometer-half:after,.fad.fa-temperature-2:after,.fad.fa-temperature-half:after,.fad.fa-thermometer-2:after,.fad.fa-thermometer-half:after{content:"\f2c9\f2c9"}.fa-duotone.fa-temperature-high:after,.fad.fa-temperature-high:after{content:"\f769\f769"}.fa-duotone.fa-temperature-list:after,.fad.fa-temperature-list:after{content:"\e299\e299"}.fa-duotone.fa-temperature-low:after,.fad.fa-temperature-low:after{content:"\f76b\f76b"}.fa-duotone.fa-temperature-1:after,.fa-duotone.fa-temperature-quarter:after,.fa-duotone.fa-thermometer-1:after,.fa-duotone.fa-thermometer-quarter:after,.fad.fa-temperature-1:after,.fad.fa-temperature-quarter:after,.fad.fa-thermometer-1:after,.fad.fa-thermometer-quarter:after{content:"\f2ca\f2ca"}.fa-duotone.fa-temperature-frigid:after,.fa-duotone.fa-temperature-snow:after,.fad.fa-temperature-frigid:after,.fad.fa-temperature-snow:after{content:"\f768\f768"}.fa-duotone.fa-temperature-hot:after,.fa-duotone.fa-temperature-sun:after,.fad.fa-temperature-hot:after,.fad.fa-temperature-sun:after{content:"\f76a\f76a"}.fa-duotone.fa-temperature-3:after,.fa-duotone.fa-temperature-three-quarters:after,.fa-duotone.fa-thermometer-3:after,.fa-duotone.fa-thermometer-three-quarters:after,.fad.fa-temperature-3:after,.fad.fa-temperature-three-quarters:after,.fad.fa-thermometer-3:after,.fad.fa-thermometer-three-quarters:after{content:"\f2c8\f2c8"}.fa-duotone.fa-tenge-sign:after,.fa-duotone.fa-tenge:after,.fad.fa-tenge-sign:after,.fad.fa-tenge:after{content:"\f7d7\f7d7"}.fa-duotone.fa-tennis-ball:after,.fad.fa-tennis-ball:after{content:"\f45e\f45e"}.fa-duotone.fa-tent:after,.fad.fa-tent:after{content:"\e57d\e57d"}.fa-duotone.fa-tent-arrow-down-to-line:after,.fad.fa-tent-arrow-down-to-line:after{content:"\e57e\e57e"}.fa-duotone.fa-tent-arrow-left-right:after,.fad.fa-tent-arrow-left-right:after{content:"\e57f\e57f"}.fa-duotone.fa-tent-arrow-turn-left:after,.fad.fa-tent-arrow-turn-left:after{content:"\e580\e580"}.fa-duotone.fa-tent-arrows-down:after,.fad.fa-tent-arrows-down:after{content:"\e581\e581"}.fa-duotone.fa-tents:after,.fad.fa-tents:after{content:"\e582\e582"}.fa-duotone.fa-terminal:after,.fad.fa-terminal:after{content:"\f120\f120"}.fa-duotone.fa-text:after,.fad.fa-text:after{content:"\f893\f893"}.fa-duotone.fa-text-height:after,.fad.fa-text-height:after{content:"\f034\f034"}.fa-duotone.fa-text-size:after,.fad.fa-text-size:after{content:"\f894\f894"}.fa-duotone.fa-remove-format:after,.fa-duotone.fa-text-slash:after,.fad.fa-remove-format:after,.fad.fa-text-slash:after{content:"\f87d\f87d"}.fa-duotone.fa-text-width:after,.fad.fa-text-width:after{content:"\f035\f035"}.fa-duotone.fa-thermometer:after,.fad.fa-thermometer:after{content:"\f491\f491"}.fa-duotone.fa-theta:after,.fad.fa-theta:after{content:"\f69e\f69e"}.fa-duotone.fa-thought-bubble:after,.fad.fa-thought-bubble:after{content:"\e32e\e32e"}.fa-duotone.fa-thumbs-down:after,.fad.fa-thumbs-down:after{content:"\f165\f165"}.fa-duotone.fa-thumbs-up:after,.fad.fa-thumbs-up:after{content:"\f164\f164"}.fa-duotone.fa-thumb-tack:after,.fa-duotone.fa-thumbtack:after,.fad.fa-thumb-tack:after,.fad.fa-thumbtack:after{content:"\f08d\f08d"}.fa-duotone.fa-tick:after,.fad.fa-tick:after{content:"\e32f\e32f"}.fa-duotone.fa-ticket:after,.fad.fa-ticket:after{content:"\f145\f145"}.fa-duotone.fa-ticket-airline:after,.fad.fa-ticket-airline:after{content:"\e29a\e29a"}.fa-duotone.fa-ticket-alt:after,.fa-duotone.fa-ticket-simple:after,.fad.fa-ticket-alt:after,.fad.fa-ticket-simple:after{content:"\f3ff\f3ff"}.fa-duotone.fa-tickets-airline:after,.fad.fa-tickets-airline:after{content:"\e29b\e29b"}.fa-duotone.fa-tilde:after,.fad.fa-tilde:after{content:"\7e\7e"}.fa-duotone.fa-timeline:after,.fad.fa-timeline:after{content:"\e29c\e29c"}.fa-duotone.fa-timeline-arrow:after,.fad.fa-timeline-arrow:after{content:"\e29d\e29d"}.fa-duotone.fa-timer:after,.fad.fa-timer:after{content:"\e29e\e29e"}.fa-duotone.fa-tire:after,.fad.fa-tire:after{content:"\f631\f631"}.fa-duotone.fa-tire-flat:after,.fad.fa-tire-flat:after{content:"\f632\f632"}.fa-duotone.fa-tire-pressure-warning:after,.fad.fa-tire-pressure-warning:after{content:"\f633\f633"}.fa-duotone.fa-tire-rugged:after,.fad.fa-tire-rugged:after{content:"\f634\f634"}.fa-duotone.fa-toggle-off:after,.fad.fa-toggle-off:after{content:"\f204\f204"}.fa-duotone.fa-toggle-on:after,.fad.fa-toggle-on:after{content:"\f205\f205"}.fa-duotone.fa-toilet:after,.fad.fa-toilet:after{content:"\f7d8\f7d8"}.fa-duotone.fa-toilet-paper:after,.fad.fa-toilet-paper:after{content:"\f71e\f71e"}.fa-duotone.fa-toilet-paper-alt:after,.fa-duotone.fa-toilet-paper-blank:after,.fad.fa-toilet-paper-alt:after,.fad.fa-toilet-paper-blank:after{content:"\f71f\f71f"}.fa-duotone.fa-toilet-paper-blank-under:after,.fa-duotone.fa-toilet-paper-reverse-alt:after,.fad.fa-toilet-paper-blank-under:after,.fad.fa-toilet-paper-reverse-alt:after{content:"\e29f\e29f"}.fa-duotone.fa-toilet-paper-slash:after,.fad.fa-toilet-paper-slash:after{content:"\e072\e072"}.fa-duotone.fa-toilet-paper-reverse:after,.fa-duotone.fa-toilet-paper-under:after,.fad.fa-toilet-paper-reverse:after,.fad.fa-toilet-paper-under:after{content:"\e2a0\e2a0"}.fa-duotone.fa-toilet-paper-reverse-slash:after,.fa-duotone.fa-toilet-paper-under-slash:after,.fad.fa-toilet-paper-reverse-slash:after,.fad.fa-toilet-paper-under-slash:after{content:"\e2a1\e2a1"}.fa-duotone.fa-toilet-portable:after,.fad.fa-toilet-portable:after{content:"\e583\e583"}.fa-duotone.fa-toilets-portable:after,.fad.fa-toilets-portable:after{content:"\e584\e584"}.fa-duotone.fa-tomato:after,.fad.fa-tomato:after{content:"\e330\e330"}.fa-duotone.fa-tombstone:after,.fad.fa-tombstone:after{content:"\f720\f720"}.fa-duotone.fa-tombstone-alt:after,.fa-duotone.fa-tombstone-blank:after,.fad.fa-tombstone-alt:after,.fad.fa-tombstone-blank:after{content:"\f721\f721"}.fa-duotone.fa-toolbox:after,.fad.fa-toolbox:after{content:"\f552\f552"}.fa-duotone.fa-tooth:after,.fad.fa-tooth:after{content:"\f5c9\f5c9"}.fa-duotone.fa-toothbrush:after,.fad.fa-toothbrush:after{content:"\f635\f635"}.fa-duotone.fa-torii-gate:after,.fad.fa-torii-gate:after{content:"\f6a1\f6a1"}.fa-duotone.fa-tornado:after,.fad.fa-tornado:after{content:"\f76f\f76f"}.fa-duotone.fa-broadcast-tower:after,.fa-duotone.fa-tower-broadcast:after,.fad.fa-broadcast-tower:after,.fad.fa-tower-broadcast:after{content:"\f519\f519"}.fa-duotone.fa-tower-cell:after,.fad.fa-tower-cell:after{content:"\e585\e585"}.fa-duotone.fa-tower-control:after,.fad.fa-tower-control:after{content:"\e2a2\e2a2"}.fa-duotone.fa-tower-observation:after,.fad.fa-tower-observation:after{content:"\e586\e586"}.fa-duotone.fa-tractor:after,.fad.fa-tractor:after{content:"\f722\f722"}.fa-duotone.fa-trademark:after,.fad.fa-trademark:after{content:"\f25c\f25c"}.fa-duotone.fa-traffic-cone:after,.fad.fa-traffic-cone:after{content:"\f636\f636"}.fa-duotone.fa-traffic-light:after,.fad.fa-traffic-light:after{content:"\f637\f637"}.fa-duotone.fa-traffic-light-go:after,.fad.fa-traffic-light-go:after{content:"\f638\f638"}.fa-duotone.fa-traffic-light-slow:after,.fad.fa-traffic-light-slow:after{content:"\f639\f639"}.fa-duotone.fa-traffic-light-stop:after,.fad.fa-traffic-light-stop:after{content:"\f63a\f63a"}.fa-duotone.fa-trailer:after,.fad.fa-trailer:after{content:"\e041\e041"}.fa-duotone.fa-train:after,.fad.fa-train:after{content:"\f238\f238"}.fa-duotone.fa-subway:after,.fa-duotone.fa-train-subway:after,.fad.fa-subway:after,.fad.fa-train-subway:after{content:"\f239\f239"}.fa-duotone.fa-subway-tunnel:after,.fa-duotone.fa-train-subway-tunnel:after,.fad.fa-subway-tunnel:after,.fad.fa-train-subway-tunnel:after{content:"\e2a3\e2a3"}.fa-duotone.fa-train-track:after,.fad.fa-train-track:after{content:"\e453\e453"}.fa-duotone.fa-train-tram:after,.fa-duotone.fa-tram:after,.fad.fa-train-tram:after,.fad.fa-tram:after{content:"\f7da\f7da"}.fa-duotone.fa-train-tunnel:after,.fad.fa-train-tunnel:after{content:"\e454\e454"}.fa-duotone.fa-transformer-bolt:after,.fad.fa-transformer-bolt:after{content:"\e2a4\e2a4"}.fa-duotone.fa-transgender-alt:after,.fa-duotone.fa-transgender:after,.fad.fa-transgender-alt:after,.fad.fa-transgender:after{content:"\f225\f225"}.fa-duotone.fa-transporter:after,.fad.fa-transporter:after{content:"\e042\e042"}.fa-duotone.fa-transporter-1:after,.fad.fa-transporter-1:after{content:"\e043\e043"}.fa-duotone.fa-transporter-2:after,.fad.fa-transporter-2:after{content:"\e044\e044"}.fa-duotone.fa-transporter-3:after,.fad.fa-transporter-3:after{content:"\e045\e045"}.fa-duotone.fa-transporter-4:after,.fad.fa-transporter-4:after{content:"\e2a5\e2a5"}.fa-duotone.fa-transporter-5:after,.fad.fa-transporter-5:after{content:"\e2a6\e2a6"}.fa-duotone.fa-transporter-6:after,.fad.fa-transporter-6:after{content:"\e2a7\e2a7"}.fa-duotone.fa-transporter-7:after,.fad.fa-transporter-7:after{content:"\e2a8\e2a8"}.fa-duotone.fa-transporter-empty:after,.fad.fa-transporter-empty:after{content:"\e046\e046"}.fa-duotone.fa-trash:after,.fad.fa-trash:after{content:"\f1f8\f1f8"}.fa-duotone.fa-trash-arrow-up:after,.fa-duotone.fa-trash-restore:after,.fad.fa-trash-arrow-up:after,.fad.fa-trash-restore:after{content:"\f829\f829"}.fa-duotone.fa-trash-alt:after,.fa-duotone.fa-trash-can:after,.fad.fa-trash-alt:after,.fad.fa-trash-can:after{content:"\f2ed\f2ed"}.fa-duotone.fa-trash-can-arrow-up:after,.fa-duotone.fa-trash-restore-alt:after,.fad.fa-trash-can-arrow-up:after,.fad.fa-trash-restore-alt:after{content:"\f82a\f82a"}.fa-duotone.fa-trash-can-check:after,.fad.fa-trash-can-check:after{content:"\e2a9\e2a9"}.fa-duotone.fa-trash-can-clock:after,.fad.fa-trash-can-clock:after{content:"\e2aa\e2aa"}.fa-duotone.fa-trash-can-list:after,.fad.fa-trash-can-list:after{content:"\e2ab\e2ab"}.fa-duotone.fa-trash-can-plus:after,.fad.fa-trash-can-plus:after{content:"\e2ac\e2ac"}.fa-duotone.fa-trash-alt-slash:after,.fa-duotone.fa-trash-can-slash:after,.fad.fa-trash-alt-slash:after,.fad.fa-trash-can-slash:after{content:"\e2ad\e2ad"}.fa-duotone.fa-trash-can-arrow-turn-left:after,.fa-duotone.fa-trash-can-undo:after,.fa-duotone.fa-trash-undo-alt:after,.fad.fa-trash-can-arrow-turn-left:after,.fad.fa-trash-can-undo:after,.fad.fa-trash-undo-alt:after{content:"\f896\f896"}.fa-duotone.fa-trash-can-xmark:after,.fad.fa-trash-can-xmark:after{content:"\e2ae\e2ae"}.fa-duotone.fa-trash-check:after,.fad.fa-trash-check:after{content:"\e2af\e2af"}.fa-duotone.fa-trash-clock:after,.fad.fa-trash-clock:after{content:"\e2b0\e2b0"}.fa-duotone.fa-trash-list:after,.fad.fa-trash-list:after{content:"\e2b1\e2b1"}.fa-duotone.fa-trash-plus:after,.fad.fa-trash-plus:after{content:"\e2b2\e2b2"}.fa-duotone.fa-trash-slash:after,.fad.fa-trash-slash:after{content:"\e2b3\e2b3"}.fa-duotone.fa-trash-arrow-turn-left:after,.fa-duotone.fa-trash-undo:after,.fad.fa-trash-arrow-turn-left:after,.fad.fa-trash-undo:after{content:"\f895\f895"}.fa-duotone.fa-trash-xmark:after,.fad.fa-trash-xmark:after{content:"\e2b4\e2b4"}.fa-duotone.fa-treasure-chest:after,.fad.fa-treasure-chest:after{content:"\f723\f723"}.fa-duotone.fa-tree:after,.fad.fa-tree:after{content:"\f1bb\f1bb"}.fa-duotone.fa-tree-christmas:after,.fad.fa-tree-christmas:after{content:"\f7db\f7db"}.fa-duotone.fa-tree-city:after,.fad.fa-tree-city:after{content:"\e587\e587"}.fa-duotone.fa-tree-alt:after,.fa-duotone.fa-tree-deciduous:after,.fad.fa-tree-alt:after,.fad.fa-tree-deciduous:after{content:"\f400\f400"}.fa-duotone.fa-tree-decorated:after,.fad.fa-tree-decorated:after{content:"\f7dc\f7dc"}.fa-duotone.fa-tree-large:after,.fad.fa-tree-large:after{content:"\f7dd\f7dd"}.fa-duotone.fa-tree-palm:after,.fad.fa-tree-palm:after{content:"\f82b\f82b"}.fa-duotone.fa-trees:after,.fad.fa-trees:after{content:"\f724\f724"}.fa-duotone.fa-triangle:after,.fad.fa-triangle:after{content:"\f2ec\f2ec"}.fa-duotone.fa-exclamation-triangle:after,.fa-duotone.fa-triangle-exclamation:after,.fa-duotone.fa-warning:after,.fad.fa-exclamation-triangle:after,.fad.fa-triangle-exclamation:after,.fad.fa-warning:after{content:"\f071\f071"}.fa-duotone.fa-triangle-instrument:after,.fa-duotone.fa-triangle-music:after,.fad.fa-triangle-instrument:after,.fad.fa-triangle-music:after{content:"\f8e2\f8e2"}.fa-duotone.fa-construction:after,.fa-duotone.fa-triangle-person-digging:after,.fad.fa-construction:after,.fad.fa-triangle-person-digging:after{content:"\f85d\f85d"}.fa-duotone.fa-trillium:after,.fad.fa-trillium:after{content:"\e588\e588"}.fa-duotone.fa-trophy:after,.fad.fa-trophy:after{content:"\f091\f091"}.fa-duotone.fa-trophy-alt:after,.fa-duotone.fa-trophy-star:after,.fad.fa-trophy-alt:after,.fad.fa-trophy-star:after{content:"\f2eb\f2eb"}.fa-duotone.fa-trowel:after,.fad.fa-trowel:after{content:"\e589\e589"}.fa-duotone.fa-trowel-bricks:after,.fad.fa-trowel-bricks:after{content:"\e58a\e58a"}.fa-duotone.fa-truck:after,.fad.fa-truck:after{content:"\f0d1\f0d1"}.fa-duotone.fa-truck-arrow-right:after,.fad.fa-truck-arrow-right:after{content:"\e58b\e58b"}.fa-duotone.fa-truck-bolt:after,.fad.fa-truck-bolt:after{content:"\e3d0\e3d0"}.fa-duotone.fa-shipping-timed:after,.fa-duotone.fa-truck-clock:after,.fad.fa-shipping-timed:after,.fad.fa-truck-clock:after{content:"\f48c\f48c"}.fa-duotone.fa-truck-container:after,.fad.fa-truck-container:after{content:"\f4dc\f4dc"}.fa-duotone.fa-truck-container-empty:after,.fad.fa-truck-container-empty:after{content:"\e2b5\e2b5"}.fa-duotone.fa-truck-droplet:after,.fad.fa-truck-droplet:after{content:"\e58c\e58c"}.fa-duotone.fa-shipping-fast:after,.fa-duotone.fa-truck-fast:after,.fad.fa-shipping-fast:after,.fad.fa-truck-fast:after{content:"\f48b\f48b"}.fa-duotone.fa-truck-field:after,.fad.fa-truck-field:after{content:"\e58d\e58d"}.fa-duotone.fa-truck-field-un:after,.fad.fa-truck-field-un:after{content:"\e58e\e58e"}.fa-duotone.fa-truck-flatbed:after,.fad.fa-truck-flatbed:after{content:"\e2b6\e2b6"}.fa-duotone.fa-truck-front:after,.fad.fa-truck-front:after{content:"\e2b7\e2b7"}.fa-duotone.fa-ambulance:after,.fa-duotone.fa-truck-medical:after,.fad.fa-ambulance:after,.fad.fa-truck-medical:after{content:"\f0f9\f0f9"}.fa-duotone.fa-truck-monster:after,.fad.fa-truck-monster:after{content:"\f63b\f63b"}.fa-duotone.fa-truck-moving:after,.fad.fa-truck-moving:after{content:"\f4df\f4df"}.fa-duotone.fa-truck-pickup:after,.fad.fa-truck-pickup:after{content:"\f63c\f63c"}.fa-duotone.fa-truck-plane:after,.fad.fa-truck-plane:after{content:"\e58f\e58f"}.fa-duotone.fa-truck-plow:after,.fad.fa-truck-plow:after{content:"\f7de\f7de"}.fa-duotone.fa-truck-ramp:after,.fad.fa-truck-ramp:after{content:"\f4e0\f4e0"}.fa-duotone.fa-truck-loading:after,.fa-duotone.fa-truck-ramp-box:after,.fad.fa-truck-loading:after,.fad.fa-truck-ramp-box:after{content:"\f4de\f4de"}.fa-duotone.fa-truck-couch:after,.fa-duotone.fa-truck-ramp-couch:after,.fad.fa-truck-couch:after,.fad.fa-truck-ramp-couch:after{content:"\f4dd\f4dd"}.fa-duotone.fa-truck-tow:after,.fad.fa-truck-tow:after{content:"\e2b8\e2b8"}.fa-duotone.fa-trumpet:after,.fad.fa-trumpet:after{content:"\f8e3\f8e3"}.fa-duotone.fa-teletype:after,.fa-duotone.fa-tty:after,.fad.fa-teletype:after,.fad.fa-tty:after{content:"\f1e4\f1e4"}.fa-duotone.fa-teletype-answer:after,.fa-duotone.fa-tty-answer:after,.fad.fa-teletype-answer:after,.fad.fa-tty-answer:after{content:"\e2b9\e2b9"}.fa-duotone.fa-tugrik-sign:after,.fad.fa-tugrik-sign:after{content:"\e2ba\e2ba"}.fa-duotone.fa-turkey:after,.fad.fa-turkey:after{content:"\f725\f725"}.fa-duotone.fa-try:after,.fa-duotone.fa-turkish-lira-sign:after,.fa-duotone.fa-turkish-lira:after,.fad.fa-try:after,.fad.fa-turkish-lira-sign:after,.fad.fa-turkish-lira:after{content:"\e2bb\e2bb"}.fa-duotone.fa-level-down-alt:after,.fa-duotone.fa-turn-down:after,.fad.fa-level-down-alt:after,.fad.fa-turn-down:after{content:"\f3be\f3be"}.fa-duotone.fa-turn-down-left:after,.fad.fa-turn-down-left:after{content:"\e331\e331"}.fa-duotone.fa-turn-down-right:after,.fad.fa-turn-down-right:after{content:"\e455\e455"}.fa-duotone.fa-level-up-alt:after,.fa-duotone.fa-turn-up:after,.fad.fa-level-up-alt:after,.fad.fa-turn-up:after{content:"\f3bf\f3bf"}.fa-duotone.fa-turntable:after,.fad.fa-turntable:after{content:"\f8e4\f8e4"}.fa-duotone.fa-turtle:after,.fad.fa-turtle:after{content:"\f726\f726"}.fa-duotone.fa-television:after,.fa-duotone.fa-tv-alt:after,.fa-duotone.fa-tv:after,.fad.fa-television:after,.fad.fa-tv-alt:after,.fad.fa-tv:after{content:"\f26c\f26c"}.fa-duotone.fa-tv-music:after,.fad.fa-tv-music:after{content:"\f8e6\f8e6"}.fa-duotone.fa-tv-retro:after,.fad.fa-tv-retro:after{content:"\f401\f401"}.fa-duotone.fa-typewriter:after,.fad.fa-typewriter:after{content:"\f8e7\f8e7"}.fa-duotone.fa-u:after,.fad.fa-u:after{content:"\55\55"}.fa-duotone.fa-ufo:after,.fad.fa-ufo:after{content:"\e047\e047"}.fa-duotone.fa-ufo-beam:after,.fad.fa-ufo-beam:after{content:"\e048\e048"}.fa-duotone.fa-umbrella:after,.fad.fa-umbrella:after{content:"\f0e9\f0e9"}.fa-duotone.fa-umbrella-beach:after,.fad.fa-umbrella-beach:after{content:"\f5ca\f5ca"}.fa-duotone.fa-umbrella-alt:after,.fa-duotone.fa-umbrella-simple:after,.fad.fa-umbrella-alt:after,.fad.fa-umbrella-simple:after{content:"\e2bc\e2bc"}.fa-duotone.fa-underline:after,.fad.fa-underline:after{content:"\f0cd\f0cd"}.fa-duotone.fa-unicorn:after,.fad.fa-unicorn:after{content:"\f727\f727"}.fa-duotone.fa-uniform-martial-arts:after,.fad.fa-uniform-martial-arts:after{content:"\e3d1\e3d1"}.fa-duotone.fa-union:after,.fad.fa-union:after{content:"\f6a2\f6a2"}.fa-duotone.fa-universal-access:after,.fad.fa-universal-access:after{content:"\f29a\f29a"}.fa-duotone.fa-unlock:after,.fad.fa-unlock:after{content:"\f09c\f09c"}.fa-duotone.fa-unlock-alt:after,.fa-duotone.fa-unlock-keyhole:after,.fad.fa-unlock-alt:after,.fad.fa-unlock-keyhole:after{content:"\f13e\f13e"}.fa-duotone.fa-arrow-alt-up:after,.fa-duotone.fa-up:after,.fad.fa-arrow-alt-up:after,.fad.fa-up:after{content:"\f357\f357"}.fa-duotone.fa-arrows-alt-v:after,.fa-duotone.fa-up-down:after,.fad.fa-arrows-alt-v:after,.fad.fa-up-down:after{content:"\f338\f338"}.fa-duotone.fa-arrows-alt:after,.fa-duotone.fa-up-down-left-right:after,.fad.fa-arrows-alt:after,.fad.fa-up-down-left-right:after{content:"\f0b2\f0b2"}.fa-duotone.fa-up-from-bracket:after,.fad.fa-up-from-bracket:after{content:"\e590\e590"}.fa-duotone.fa-up-from-dotted-line:after,.fad.fa-up-from-dotted-line:after{content:"\e456\e456"}.fa-duotone.fa-arrow-alt-from-bottom:after,.fa-duotone.fa-up-from-line:after,.fad.fa-arrow-alt-from-bottom:after,.fad.fa-up-from-line:after{content:"\f346\f346"}.fa-duotone.fa-up-left:after,.fad.fa-up-left:after{content:"\e2bd\e2bd"}.fa-duotone.fa-long-arrow-alt-up:after,.fa-duotone.fa-up-long:after,.fad.fa-long-arrow-alt-up:after,.fad.fa-up-long:after{content:"\f30c\f30c"}.fa-duotone.fa-up-right:after,.fad.fa-up-right:after{content:"\e2be\e2be"}.fa-duotone.fa-expand-alt:after,.fa-duotone.fa-up-right-and-down-left-from-center:after,.fad.fa-expand-alt:after,.fad.fa-up-right-and-down-left-from-center:after{content:"\f424\f424"}.fa-duotone.fa-external-link-alt:after,.fa-duotone.fa-up-right-from-square:after,.fad.fa-external-link-alt:after,.fad.fa-up-right-from-square:after{content:"\f35d\f35d"}.fa-duotone.fa-up-to-dotted-line:after,.fad.fa-up-to-dotted-line:after{content:"\e457\e457"}.fa-duotone.fa-arrow-alt-to-top:after,.fa-duotone.fa-up-to-line:after,.fad.fa-arrow-alt-to-top:after,.fad.fa-up-to-line:after{content:"\f34d\f34d"}.fa-duotone.fa-upload:after,.fad.fa-upload:after{content:"\f093\f093"}.fa-duotone.fa-usb-drive:after,.fad.fa-usb-drive:after{content:"\f8e9\f8e9"}.fa-duotone.fa-user:after,.fad.fa-user:after{content:"\f007\f007"}.fa-duotone.fa-user-alien:after,.fad.fa-user-alien:after{content:"\e04a\e04a"}.fa-duotone.fa-user-astronaut:after,.fad.fa-user-astronaut:after{content:"\f4fb\f4fb"}.fa-duotone.fa-user-bounty-hunter:after,.fad.fa-user-bounty-hunter:after{content:"\e2bf\e2bf"}.fa-duotone.fa-user-check:after,.fad.fa-user-check:after{content:"\f4fc\f4fc"}.fa-duotone.fa-user-chef:after,.fad.fa-user-chef:after{content:"\e3d2\e3d2"}.fa-duotone.fa-user-clock:after,.fad.fa-user-clock:after{content:"\f4fd\f4fd"}.fa-duotone.fa-user-cowboy:after,.fad.fa-user-cowboy:after{content:"\f8ea\f8ea"}.fa-duotone.fa-user-crown:after,.fad.fa-user-crown:after{content:"\f6a4\f6a4"}.fa-duotone.fa-user-doctor:after,.fa-duotone.fa-user-md:after,.fad.fa-user-doctor:after,.fad.fa-user-md:after{content:"\f0f0\f0f0"}.fa-duotone.fa-user-doctor-hair:after,.fad.fa-user-doctor-hair:after{content:"\e458\e458"}.fa-duotone.fa-user-doctor-hair-long:after,.fad.fa-user-doctor-hair-long:after{content:"\e459\e459"}.fa-duotone.fa-user-doctor-message:after,.fa-duotone.fa-user-md-chat:after,.fad.fa-user-doctor-message:after,.fad.fa-user-md-chat:after{content:"\f82e\f82e"}.fa-duotone.fa-user-cog:after,.fa-duotone.fa-user-gear:after,.fad.fa-user-cog:after,.fad.fa-user-gear:after{content:"\f4fe\f4fe"}.fa-duotone.fa-user-graduate:after,.fad.fa-user-graduate:after{content:"\f501\f501"}.fa-duotone.fa-user-friends:after,.fa-duotone.fa-user-group:after,.fad.fa-user-friends:after,.fad.fa-user-group:after{content:"\f500\f500"}.fa-duotone.fa-user-group-crown:after,.fa-duotone.fa-users-crown:after,.fad.fa-user-group-crown:after,.fad.fa-users-crown:after{content:"\f6a5\f6a5"}.fa-duotone.fa-user-hair:after,.fad.fa-user-hair:after{content:"\e45a\e45a"}.fa-duotone.fa-user-hair-buns:after,.fad.fa-user-hair-buns:after{content:"\e3d3\e3d3"}.fa-duotone.fa-user-hair-long:after,.fad.fa-user-hair-long:after{content:"\e45b\e45b"}.fa-duotone.fa-business-front:after,.fa-duotone.fa-party-back:after,.fa-duotone.fa-trian-balbot:after,.fa-duotone.fa-user-hair-mullet:after,.fad.fa-business-front:after,.fad.fa-party-back:after,.fad.fa-trian-balbot:after,.fad.fa-user-hair-mullet:after{content:"\e45c\e45c"}.fa-duotone.fa-user-headset:after,.fad.fa-user-headset:after{content:"\f82d\f82d"}.fa-duotone.fa-user-construction:after,.fa-duotone.fa-user-hard-hat:after,.fa-duotone.fa-user-helmet-safety:after,.fad.fa-user-construction:after,.fad.fa-user-hard-hat:after,.fad.fa-user-helmet-safety:after{content:"\f82c\f82c"}.fa-duotone.fa-user-injured:after,.fad.fa-user-injured:after{content:"\f728\f728"}.fa-duotone.fa-user-alt:after,.fa-duotone.fa-user-large:after,.fad.fa-user-alt:after,.fad.fa-user-large:after{content:"\f406\f406"}.fa-duotone.fa-user-alt-slash:after,.fa-duotone.fa-user-large-slash:after,.fad.fa-user-alt-slash:after,.fad.fa-user-large-slash:after{content:"\f4fa\f4fa"}.fa-duotone.fa-user-lock:after,.fad.fa-user-lock:after{content:"\f502\f502"}.fa-duotone.fa-user-minus:after,.fad.fa-user-minus:after{content:"\f503\f503"}.fa-duotone.fa-user-music:after,.fad.fa-user-music:after{content:"\f8eb\f8eb"}.fa-duotone.fa-user-ninja:after,.fad.fa-user-ninja:after{content:"\f504\f504"}.fa-duotone.fa-user-nurse:after,.fad.fa-user-nurse:after{content:"\f82f\f82f"}.fa-duotone.fa-user-nurse-hair:after,.fad.fa-user-nurse-hair:after{content:"\e45d\e45d"}.fa-duotone.fa-user-nurse-hair-long:after,.fad.fa-user-nurse-hair-long:after{content:"\e45e\e45e"}.fa-duotone.fa-user-edit:after,.fa-duotone.fa-user-pen:after,.fad.fa-user-edit:after,.fad.fa-user-pen:after{content:"\f4ff\f4ff"}.fa-duotone.fa-user-pilot:after,.fad.fa-user-pilot:after{content:"\e2c0\e2c0"}.fa-duotone.fa-user-pilot-tie:after,.fad.fa-user-pilot-tie:after{content:"\e2c1\e2c1"}.fa-duotone.fa-user-plus:after,.fad.fa-user-plus:after{content:"\f234\f234"}.fa-duotone.fa-user-police:after,.fad.fa-user-police:after{content:"\e333\e333"}.fa-duotone.fa-user-police-tie:after,.fad.fa-user-police-tie:after{content:"\e334\e334"}.fa-duotone.fa-user-robot:after,.fad.fa-user-robot:after{content:"\e04b\e04b"}.fa-duotone.fa-user-robot-xmarks:after,.fad.fa-user-robot-xmarks:after{content:"\e4a7\e4a7"}.fa-duotone.fa-user-secret:after,.fad.fa-user-secret:after{content:"\f21b\f21b"}.fa-duotone.fa-user-shakespeare:after,.fad.fa-user-shakespeare:after{content:"\e2c2\e2c2"}.fa-duotone.fa-user-shield:after,.fad.fa-user-shield:after{content:"\f505\f505"}.fa-duotone.fa-user-slash:after,.fad.fa-user-slash:after{content:"\f506\f506"}.fa-duotone.fa-user-tag:after,.fad.fa-user-tag:after{content:"\f507\f507"}.fa-duotone.fa-user-tie:after,.fad.fa-user-tie:after{content:"\f508\f508"}.fa-duotone.fa-user-tie-hair:after,.fad.fa-user-tie-hair:after{content:"\e45f\e45f"}.fa-duotone.fa-user-tie-hair-long:after,.fad.fa-user-tie-hair-long:after{content:"\e460\e460"}.fa-duotone.fa-user-unlock:after,.fad.fa-user-unlock:after{content:"\e058\e058"}.fa-duotone.fa-user-visor:after,.fad.fa-user-visor:after{content:"\e04c\e04c"}.fa-duotone.fa-user-vneck:after,.fad.fa-user-vneck:after{content:"\e461\e461"}.fa-duotone.fa-user-vneck-hair:after,.fad.fa-user-vneck-hair:after{content:"\e462\e462"}.fa-duotone.fa-user-vneck-hair-long:after,.fad.fa-user-vneck-hair-long:after{content:"\e463\e463"}.fa-duotone.fa-user-times:after,.fa-duotone.fa-user-xmark:after,.fad.fa-user-times:after,.fad.fa-user-xmark:after{content:"\f235\f235"}.fa-duotone.fa-users:after,.fad.fa-users:after{content:"\f0c0\f0c0"}.fa-duotone.fa-users-between-lines:after,.fad.fa-users-between-lines:after{content:"\e591\e591"}.fa-duotone.fa-users-cog:after,.fa-duotone.fa-users-gear:after,.fad.fa-users-cog:after,.fad.fa-users-gear:after{content:"\f509\f509"}.fa-duotone.fa-users-line:after,.fad.fa-users-line:after{content:"\e592\e592"}.fa-duotone.fa-users-medical:after,.fad.fa-users-medical:after{content:"\f830\f830"}.fa-duotone.fa-users-rays:after,.fad.fa-users-rays:after{content:"\e593\e593"}.fa-duotone.fa-users-rectangle:after,.fad.fa-users-rectangle:after{content:"\e594\e594"}.fa-duotone.fa-users-slash:after,.fad.fa-users-slash:after{content:"\e073\e073"}.fa-duotone.fa-users-viewfinder:after,.fad.fa-users-viewfinder:after{content:"\e595\e595"}.fa-duotone.fa-cutlery:after,.fa-duotone.fa-utensils:after,.fad.fa-cutlery:after,.fad.fa-utensils:after{content:"\f2e7\f2e7"}.fa-duotone.fa-utensils-slash:after,.fad.fa-utensils-slash:after{content:"\e464\e464"}.fa-duotone.fa-utility-pole:after,.fad.fa-utility-pole:after{content:"\e2c3\e2c3"}.fa-duotone.fa-utility-pole-double:after,.fad.fa-utility-pole-double:after{content:"\e2c4\e2c4"}.fa-duotone.fa-v:after,.fad.fa-v:after{content:"\56\56"}.fa-duotone.fa-vacuum:after,.fad.fa-vacuum:after{content:"\e04d\e04d"}.fa-duotone.fa-vacuum-robot:after,.fad.fa-vacuum-robot:after{content:"\e04e\e04e"}.fa-duotone.fa-value-absolute:after,.fad.fa-value-absolute:after{content:"\f6a6\f6a6"}.fa-duotone.fa-shuttle-van:after,.fa-duotone.fa-van-shuttle:after,.fad.fa-shuttle-van:after,.fad.fa-van-shuttle:after{content:"\f5b6\f5b6"}.fa-duotone.fa-vault:after,.fad.fa-vault:after{content:"\e2c5\e2c5"}.fa-duotone.fa-vector-circle:after,.fad.fa-vector-circle:after{content:"\e2c6\e2c6"}.fa-duotone.fa-vector-polygon:after,.fad.fa-vector-polygon:after{content:"\e2c7\e2c7"}.fa-duotone.fa-vector-square:after,.fad.fa-vector-square:after{content:"\f5cb\f5cb"}.fa-duotone.fa-vent-damper:after,.fad.fa-vent-damper:after{content:"\e465\e465"}.fa-duotone.fa-venus:after,.fad.fa-venus:after{content:"\f221\f221"}.fa-duotone.fa-venus-double:after,.fad.fa-venus-double:after{content:"\f226\f226"}.fa-duotone.fa-venus-mars:after,.fad.fa-venus-mars:after{content:"\f228\f228"}.fa-duotone.fa-vest:after,.fad.fa-vest:after{content:"\e085\e085"}.fa-duotone.fa-vest-patches:after,.fad.fa-vest-patches:after{content:"\e086\e086"}.fa-duotone.fa-vial:after,.fad.fa-vial:after{content:"\f492\f492"}.fa-duotone.fa-vial-circle-check:after,.fad.fa-vial-circle-check:after{content:"\e596\e596"}.fa-duotone.fa-vial-virus:after,.fad.fa-vial-virus:after{content:"\e597\e597"}.fa-duotone.fa-vials:after,.fad.fa-vials:after{content:"\f493\f493"}.fa-duotone.fa-video-camera:after,.fa-duotone.fa-video:after,.fad.fa-video-camera:after,.fad.fa-video:after{content:"\f03d\f03d"}.fa-duotone.fa-video-arrow-down-left:after,.fad.fa-video-arrow-down-left:after{content:"\e2c8\e2c8"}.fa-duotone.fa-video-arrow-up-right:after,.fad.fa-video-arrow-up-right:after{content:"\e2c9\e2c9"}.fa-duotone.fa-video-plus:after,.fad.fa-video-plus:after{content:"\f4e1\f4e1"}.fa-duotone.fa-video-slash:after,.fad.fa-video-slash:after{content:"\f4e2\f4e2"}.fa-duotone.fa-vihara:after,.fad.fa-vihara:after{content:"\f6a7\f6a7"}.fa-duotone.fa-violin:after,.fad.fa-violin:after{content:"\f8ed\f8ed"}.fa-duotone.fa-virus:after,.fad.fa-virus:after{content:"\e074\e074"}.fa-duotone.fa-virus-covid:after,.fad.fa-virus-covid:after{content:"\e4a8\e4a8"}.fa-duotone.fa-virus-covid-slash:after,.fad.fa-virus-covid-slash:after{content:"\e4a9\e4a9"}.fa-duotone.fa-virus-slash:after,.fad.fa-virus-slash:after{content:"\e075\e075"}.fa-duotone.fa-viruses:after,.fad.fa-viruses:after{content:"\e076\e076"}.fa-duotone.fa-voicemail:after,.fad.fa-voicemail:after{content:"\f897\f897"}.fa-duotone.fa-volcano:after,.fad.fa-volcano:after{content:"\f770\f770"}.fa-duotone.fa-volleyball-ball:after,.fa-duotone.fa-volleyball:after,.fad.fa-volleyball-ball:after,.fad.fa-volleyball:after{content:"\f45f\f45f"}.fa-duotone.fa-volume-medium:after,.fa-duotone.fa-volume:after,.fad.fa-volume-medium:after,.fad.fa-volume:after{content:"\f6a8\f6a8"}.fa-duotone.fa-volume-high:after,.fa-duotone.fa-volume-up:after,.fad.fa-volume-high:after,.fad.fa-volume-up:after{content:"\f028\f028"}.fa-duotone.fa-volume-down:after,.fa-duotone.fa-volume-low:after,.fad.fa-volume-down:after,.fad.fa-volume-low:after{content:"\f027\f027"}.fa-duotone.fa-volume-off:after,.fad.fa-volume-off:after{content:"\f026\f026"}.fa-duotone.fa-volume-slash:after,.fad.fa-volume-slash:after{content:"\f2e2\f2e2"}.fa-duotone.fa-volume-mute:after,.fa-duotone.fa-volume-times:after,.fa-duotone.fa-volume-xmark:after,.fad.fa-volume-mute:after,.fad.fa-volume-times:after,.fad.fa-volume-xmark:after{content:"\f6a9\f6a9"}.fa-duotone.fa-vr-cardboard:after,.fad.fa-vr-cardboard:after{content:"\f729\f729"}.fa-duotone.fa-w:after,.fad.fa-w:after{content:"\57\57"}.fa-duotone.fa-waffle:after,.fad.fa-waffle:after{content:"\e466\e466"}.fa-duotone.fa-wagon-covered:after,.fad.fa-wagon-covered:after{content:"\f8ee\f8ee"}.fa-duotone.fa-walker:after,.fad.fa-walker:after{content:"\f831\f831"}.fa-duotone.fa-walkie-talkie:after,.fad.fa-walkie-talkie:after{content:"\f8ef\f8ef"}.fa-duotone.fa-wallet:after,.fad.fa-wallet:after{content:"\f555\f555"}.fa-duotone.fa-wand:after,.fad.fa-wand:after{content:"\f72a\f72a"}.fa-duotone.fa-magic:after,.fa-duotone.fa-wand-magic:after,.fad.fa-magic:after,.fad.fa-wand-magic:after{content:"\f0d0\f0d0"}.fa-duotone.fa-magic-wand-sparkles:after,.fa-duotone.fa-wand-magic-sparkles:after,.fad.fa-magic-wand-sparkles:after,.fad.fa-wand-magic-sparkles:after{content:"\e2ca\e2ca"}.fa-duotone.fa-wand-sparkles:after,.fad.fa-wand-sparkles:after{content:"\f72b\f72b"}.fa-duotone.fa-warehouse:after,.fad.fa-warehouse:after{content:"\f494\f494"}.fa-duotone.fa-warehouse-alt:after,.fa-duotone.fa-warehouse-full:after,.fad.fa-warehouse-alt:after,.fad.fa-warehouse-full:after{content:"\f495\f495"}.fa-duotone.fa-washer:after,.fa-duotone.fa-washing-machine:after,.fad.fa-washer:after,.fad.fa-washing-machine:after{content:"\f898\f898"}.fa-duotone.fa-watch:after,.fad.fa-watch:after{content:"\f2e1\f2e1"}.fa-duotone.fa-watch-apple:after,.fad.fa-watch-apple:after{content:"\e2cb\e2cb"}.fa-duotone.fa-watch-calculator:after,.fad.fa-watch-calculator:after{content:"\f8f0\f8f0"}.fa-duotone.fa-watch-fitness:after,.fad.fa-watch-fitness:after{content:"\f63e\f63e"}.fa-duotone.fa-watch-smart:after,.fad.fa-watch-smart:after{content:"\e2cc\e2cc"}.fa-duotone.fa-water:after,.fad.fa-water:after{content:"\f773\f773"}.fa-duotone.fa-water-arrow-down:after,.fa-duotone.fa-water-lower:after,.fad.fa-water-arrow-down:after,.fad.fa-water-lower:after{content:"\f774\f774"}.fa-duotone.fa-water-arrow-up:after,.fa-duotone.fa-water-rise:after,.fad.fa-water-arrow-up:after,.fad.fa-water-rise:after{content:"\f775\f775"}.fa-duotone.fa-ladder-water:after,.fa-duotone.fa-swimming-pool:after,.fa-duotone.fa-water-ladder:after,.fad.fa-ladder-water:after,.fad.fa-swimming-pool:after,.fad.fa-water-ladder:after{content:"\f5c5\f5c5"}.fa-duotone.fa-watermelon-slice:after,.fad.fa-watermelon-slice:after{content:"\e337\e337"}.fa-duotone.fa-heart-rate:after,.fa-duotone.fa-wave-pulse:after,.fad.fa-heart-rate:after,.fad.fa-wave-pulse:after{content:"\f5f8\f5f8"}.fa-duotone.fa-wave-sine:after,.fad.fa-wave-sine:after{content:"\f899\f899"}.fa-duotone.fa-wave-square:after,.fad.fa-wave-square:after{content:"\f83e\f83e"}.fa-duotone.fa-wave-triangle:after,.fad.fa-wave-triangle:after{content:"\f89a\f89a"}.fa-duotone.fa-waveform:after,.fad.fa-waveform:after{content:"\f8f1\f8f1"}.fa-duotone.fa-waveform-lines:after,.fa-duotone.fa-waveform-path:after,.fad.fa-waveform-lines:after,.fad.fa-waveform-path:after{content:"\f8f2\f8f2"}.fa-duotone.fa-weight-hanging:after,.fad.fa-weight-hanging:after{content:"\f5cd\f5cd"}.fa-duotone.fa-weight-scale:after,.fa-duotone.fa-weight:after,.fad.fa-weight-scale:after,.fad.fa-weight:after{content:"\f496\f496"}.fa-duotone.fa-whale:after,.fad.fa-whale:after{content:"\f72c\f72c"}.fa-duotone.fa-wheat:after,.fad.fa-wheat:after{content:"\f72d\f72d"}.fa-duotone.fa-wheat-alt:after,.fa-duotone.fa-wheat-awn:after,.fad.fa-wheat-alt:after,.fad.fa-wheat-awn:after{content:"\e2cd\e2cd"}.fa-duotone.fa-wheat-awn-circle-exclamation:after,.fad.fa-wheat-awn-circle-exclamation:after{content:"\e598\e598"}.fa-duotone.fa-wheat-awn-slash:after,.fad.fa-wheat-awn-slash:after{content:"\e338\e338"}.fa-duotone.fa-wheat-slash:after,.fad.fa-wheat-slash:after{content:"\e339\e339"}.fa-duotone.fa-wheelchair:after,.fad.fa-wheelchair:after{content:"\f193\f193"}.fa-duotone.fa-wheelchair-alt:after,.fa-duotone.fa-wheelchair-move:after,.fad.fa-wheelchair-alt:after,.fad.fa-wheelchair-move:after{content:"\e2ce\e2ce"}.fa-duotone.fa-glass-whiskey:after,.fa-duotone.fa-whiskey-glass:after,.fad.fa-glass-whiskey:after,.fad.fa-whiskey-glass:after{content:"\f7a0\f7a0"}.fa-duotone.fa-glass-whiskey-rocks:after,.fa-duotone.fa-whiskey-glass-ice:after,.fad.fa-glass-whiskey-rocks:after,.fad.fa-whiskey-glass-ice:after{content:"\f7a1\f7a1"}.fa-duotone.fa-whistle:after,.fad.fa-whistle:after{content:"\f460\f460"}.fa-duotone.fa-wifi-3:after,.fa-duotone.fa-wifi-strong:after,.fa-duotone.fa-wifi:after,.fad.fa-wifi-3:after,.fad.fa-wifi-strong:after,.fad.fa-wifi:after{content:"\f1eb\f1eb"}.fa-duotone.fa-wifi-exclamation:after,.fad.fa-wifi-exclamation:after{content:"\e2cf\e2cf"}.fa-duotone.fa-wifi-2:after,.fa-duotone.fa-wifi-fair:after,.fad.fa-wifi-2:after,.fad.fa-wifi-fair:after{content:"\f6ab\f6ab"}.fa-duotone.fa-wifi-slash:after,.fad.fa-wifi-slash:after{content:"\f6ac\f6ac"}.fa-duotone.fa-wifi-1:after,.fa-duotone.fa-wifi-weak:after,.fad.fa-wifi-1:after,.fad.fa-wifi-weak:after{content:"\f6aa\f6aa"}.fa-duotone.fa-wind:after,.fad.fa-wind:after{content:"\f72e\f72e"}.fa-duotone.fa-wind-turbine:after,.fad.fa-wind-turbine:after{content:"\f89b\f89b"}.fa-duotone.fa-wind-circle-exclamation:after,.fa-duotone.fa-wind-warning:after,.fad.fa-wind-circle-exclamation:after,.fad.fa-wind-warning:after{content:"\f776\f776"}.fa-duotone.fa-window:after,.fad.fa-window:after{content:"\f40e\f40e"}.fa-duotone.fa-window-alt:after,.fa-duotone.fa-window-flip:after,.fad.fa-window-alt:after,.fad.fa-window-flip:after{content:"\f40f\f40f"}.fa-duotone.fa-window-frame:after,.fad.fa-window-frame:after{content:"\e04f\e04f"}.fa-duotone.fa-window-frame-open:after,.fad.fa-window-frame-open:after{content:"\e050\e050"}.fa-duotone.fa-window-maximize:after,.fad.fa-window-maximize:after{content:"\f2d0\f2d0"}.fa-duotone.fa-window-minimize:after,.fad.fa-window-minimize:after{content:"\f2d1\f2d1"}.fa-duotone.fa-window-restore:after,.fad.fa-window-restore:after{content:"\f2d2\f2d2"}.fa-duotone.fa-windsock:after,.fad.fa-windsock:after{content:"\f777\f777"}.fa-duotone.fa-wine-bottle:after,.fad.fa-wine-bottle:after{content:"\f72f\f72f"}.fa-duotone.fa-wine-glass:after,.fad.fa-wine-glass:after{content:"\f4e3\f4e3"}.fa-duotone.fa-fragile:after,.fa-duotone.fa-wine-glass-crack:after,.fad.fa-fragile:after,.fad.fa-wine-glass-crack:after{content:"\f4bb\f4bb"}.fa-duotone.fa-wine-glass-alt:after,.fa-duotone.fa-wine-glass-empty:after,.fad.fa-wine-glass-alt:after,.fad.fa-wine-glass-empty:after{content:"\f5ce\f5ce"}.fa-duotone.fa-krw:after,.fa-duotone.fa-won-sign:after,.fa-duotone.fa-won:after,.fad.fa-krw:after,.fad.fa-won-sign:after,.fad.fa-won:after{content:"\f159\f159"}.fa-duotone.fa-worm:after,.fad.fa-worm:after{content:"\e599\e599"}.fa-duotone.fa-wreath:after,.fad.fa-wreath:after{content:"\f7e2\f7e2"}.fa-duotone.fa-wrench:after,.fad.fa-wrench:after{content:"\f0ad\f0ad"}.fa-duotone.fa-wrench-simple:after,.fad.fa-wrench-simple:after{content:"\e2d1\e2d1"}.fa-duotone.fa-x:after,.fad.fa-x:after{content:"\58\58"}.fa-duotone.fa-x-ray:after,.fad.fa-x-ray:after{content:"\f497\f497"}.fa-duotone.fa-close:after,.fa-duotone.fa-multiply:after,.fa-duotone.fa-remove:after,.fa-duotone.fa-times:after,.fa-duotone.fa-xmark:after,.fad.fa-close:after,.fad.fa-multiply:after,.fad.fa-remove:after,.fad.fa-times:after,.fad.fa-xmark:after{content:"\f00d\f00d"}.fa-duotone.fa-xmark-large:after,.fad.fa-xmark-large:after{content:"\e59b\e59b"}.fa-duotone.fa-times-to-slot:after,.fa-duotone.fa-vote-nay:after,.fa-duotone.fa-xmark-to-slot:after,.fad.fa-times-to-slot:after,.fad.fa-vote-nay:after,.fad.fa-xmark-to-slot:after{content:"\f771\f771"}.fa-duotone.fa-xmarks-lines:after,.fad.fa-xmarks-lines:after{content:"\e59a\e59a"}.fa-duotone.fa-y:after,.fad.fa-y:after{content:"\59\59"}.fa-duotone.fa-cny:after,.fa-duotone.fa-jpy:after,.fa-duotone.fa-rmb:after,.fa-duotone.fa-yen-sign:after,.fa-duotone.fa-yen:after,.fad.fa-cny:after,.fad.fa-jpy:after,.fad.fa-rmb:after,.fad.fa-yen-sign:after,.fad.fa-yen:after{content:"\f157\f157"}.fa-duotone.fa-yin-yang:after,.fad.fa-yin-yang:after{content:"\f6ad\f6ad"}.fa-duotone.fa-z:after,.fad.fa-z:after{content:"\5a\5a"}:host,:root{--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:300;font-display:block;src:url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.ttf) format("truetype")}.fa-light,.fal{font-family:"Font Awesome 6 Pro";font-weight:300}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-family:"Font Awesome 6 Pro";font-weight:400}:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Pro";font-weight:900}:host,:root{--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro"}@font-face{font-family:"Font Awesome 6 Pro";font-style:normal;font-weight:100;font-display:block;src:url(../webfonts/fa-thin-100.woff2) format("woff2"),url(../webfonts/fa-thin-100.ttf) format("truetype")}.fa-thin,.fat{font-family:"Font Awesome 6 Pro";font-weight:100}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Pro";font-display:block;font-weight:300;src:url(../webfonts/fa-light-300.woff2) format("woff2"),url(../webfonts/fa-light-300.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Duotone";font-display:block;font-weight:900;src:url(../webfonts/fa-duotone-900.woff2) format("woff2"),url(../webfonts/fa-duotone-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f250,u+f252,u+f27a} \ No newline at end of file diff --git a/core/static/django-htmx.js b/core/static/django-htmx.js new file mode 100644 index 0000000..12c70d5 --- /dev/null +++ b/core/static/django-htmx.js @@ -0,0 +1,22 @@ +{ + const data = document.currentScript.dataset; + const isDebug = data.debug === "True"; + + if (isDebug) { + document.addEventListener("htmx:beforeOnLoad", function (event) { + const xhr = event.detail.xhr; + if (xhr.status == 500 || xhr.status == 404) { + // Tell htmx to stop processing this response + event.stopPropagation(); + + document.children[0].innerHTML = xhr.response; + + // Run Django’s inline script + // (1, eval) wtf - see https://stackoverflow.com/questions/9107240/1-evalthis-vs-evalthis-in-javascript + (1, eval)(document.scripts[0].innerText); + // Need to directly call Django’s onload function since browser won’t + window.onload(); + } + }); + } +} diff --git a/core/static/js/gridstack-all.js b/core/static/js/gridstack-all.js new file mode 100644 index 0000000..87896e1 --- /dev/null +++ b/core/static/js/gridstack-all.js @@ -0,0 +1,3 @@ +/*! For license information please see gridstack-all.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.GridStack=t():e.GridStack=t()}(self,(function(){return(()=>{"use strict";var e={427:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDBaseImplement=void 0,t.DDBaseImplement=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(e,t){this._eventRegister[e]=t}off(e){delete this._eventRegister[e]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){delete this._eventRegister}triggerEvent(e,t){if(!this.disabled&&this._eventRegister&&this._eventRegister[e])return this._eventRegister[e](t)}}},186:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDDraggable=void 0;const s=i(939),o=i(593),n=i(427),r=i(635);class l extends n.DDBaseImplement{constructor(e,t={}){super(),this.el=e,this.option=t;let i=t.handle.substring(1);this.dragEl=e.classList.contains(i)?e:e.querySelector(t.handle)||e,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this.enable()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){!1!==this.disabled&&(super.enable(),this.dragEl.addEventListener("mousedown",this._mouseDown),r.isTouch&&(this.dragEl.addEventListener("touchstart",r.touchstart),this.dragEl.addEventListener("pointerdown",r.pointerdown)),this.el.classList.remove("ui-draggable-disabled"),this.el.classList.add("ui-draggable"))}disable(e=!1){!0!==this.disabled&&(super.disable(),this.dragEl.removeEventListener("mousedown",this._mouseDown),r.isTouch&&(this.dragEl.removeEventListener("touchstart",r.touchstart),this.dragEl.removeEventListener("pointerdown",r.pointerdown)),this.el.classList.remove("ui-draggable"),e||this.el.classList.add("ui-draggable-disabled"))}destroy(){this.dragging&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.helper,delete this.option,super.destroy()}updateOption(e){return Object.keys(e).forEach((t=>this.option[t]=e[t])),this}_mouseDown(e){if(s.DDManager.mouseHandled)return;if(0!==e.button)return!0;let t=this.option.handle.substring(1),i=e.target;for(;i&&!i.classList.contains(t);)i=i.parentElement;return i?(this.mouseDownEvent=e,delete this.dragging,delete s.DDManager.dragElement,delete s.DDManager.dropElement,document.addEventListener("mousemove",this._mouseMove,!0),document.addEventListener("mouseup",this._mouseUp,!0),r.isTouch&&(this.dragEl.addEventListener("touchmove",r.touchmove),this.dragEl.addEventListener("touchend",r.touchend)),e.preventDefault(),s.DDManager.mouseHandled=!0,!0):void 0}_mouseMove(e){var t;let i=this.mouseDownEvent;if(this.dragging){this._dragFollow(e);const t=o.Utils.initEvent(e,{target:this.el,type:"drag"});this.option.drag&&this.option.drag(t,this.ui()),this.triggerEvent("drag",t)}else if(Math.abs(e.x-i.x)+Math.abs(e.y-i.y)>3){this.dragging=!0,s.DDManager.dragElement=this;let i=null===(t=this.el.gridstackNode)||void 0===t?void 0:t.grid;i?s.DDManager.dropElement=i.el.ddElement.ddDroppable:delete s.DDManager.dropElement,this.helper=this._createHelper(e),this._setupHelperContainmentStyle(),this.dragOffset=this._getDragOffset(e,this.el,this.helperContainment);const n=o.Utils.initEvent(e,{target:this.el,type:"dragstart"});this._setupHelperStyle(e),this.option.start&&this.option.start(n,this.ui()),this.triggerEvent("dragstart",n)}return e.preventDefault(),!0}_mouseUp(e){var t;if(document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),r.isTouch&&(this.dragEl.removeEventListener("touchmove",r.touchmove,!0),this.dragEl.removeEventListener("touchend",r.touchend,!0)),this.dragging){delete this.dragging,(null===(t=s.DDManager.dropElement)||void 0===t?void 0:t.el)===this.el.parentElement&&delete s.DDManager.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper===this.el?this._removeHelperStyle():this.helper.remove();const i=o.Utils.initEvent(e,{target:this.el,type:"dragstop"});this.option.stop&&this.option.stop(i),this.triggerEvent("dragstop",i),s.DDManager.dropElement&&s.DDManager.dropElement.drop(e)}delete this.helper,delete this.mouseDownEvent,delete s.DDManager.dragElement,delete s.DDManager.dropElement,delete s.DDManager.mouseHandled,e.preventDefault()}_createHelper(e){let t=this.el;return"function"==typeof this.option.helper?t=this.option.helper(e):"clone"===this.option.helper&&(t=o.Utils.cloneNode(this.el)),document.body.contains(t)||o.Utils.appendTo(t,"parent"===this.option.appendTo?this.el.parentNode:this.option.appendTo),t===this.el&&(this.dragElementOriginStyle=l.originStyleProp.map((e=>this.el.style[e]))),t}_setupHelperStyle(e){this.helper.classList.add("ui-draggable-dragging");const t=this.helper.style;return t.pointerEvents="none",t["min-width"]=0,t.width=this.dragOffset.width+"px",t.height=this.dragOffset.height+"px",t.willChange="left, top",t.position="fixed",this._dragFollow(e),t.transition="none",setTimeout((()=>{this.helper&&(t.transition=null)}),0),this}_removeHelperStyle(){var e;this.helper.classList.remove("ui-draggable-dragging");let t=null===(e=this.helper)||void 0===e?void 0:e.gridstackNode;if(this.dragElementOriginStyle&&(!t||!t._isAboutToRemove)){let e=this.helper,t=this.dragElementOriginStyle.transition||null;e.style.transition=this.dragElementOriginStyle.transition="none",l.originStyleProp.forEach((t=>e.style[t]=this.dragElementOriginStyle[t]||null)),setTimeout((()=>e.style.transition=t),50)}return delete this.dragElementOriginStyle,this}_dragFollow(e){const t=this.helper.style,i=this.dragOffset;t.left=e.clientX+i.offsetLeft-0+"px",t.top=e.clientY+i.offsetTop-0+"px"}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,"fixed"!==this.helper.style.position&&(this.parentOriginStylePosition=this.helperContainment.style.position,window.getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position="relative")),this}_getDragOffset(e,t,i){let s=0,n=0;if(i){const e=document.createElement("div");o.Utils.addElStyles(e,{opacity:"0",position:"fixed",top:"0px",left:"0px",width:"1px",height:"1px",zIndex:"-999999"}),i.appendChild(e);const t=e.getBoundingClientRect();i.removeChild(e),s=t.left,n=t.top}const r=t.getBoundingClientRect();return{left:r.left,top:r.top,offsetLeft:-e.clientX+r.left-s,offsetTop:-e.clientY+r.top-n,width:r.width,height:r.height}}ui(){const e=this.el.parentElement.getBoundingClientRect(),t=this.helper.getBoundingClientRect();return{position:{top:t.top-e.top,left:t.left-e.left}}}}t.DDDraggable=l,l.originStyleProp=["transition","pointerEvents","position","left","top"]},225:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDDroppable=void 0;const s=i(939),o=i(427),n=i(593),r=i(635);class l extends o.DDBaseImplement{constructor(e,t={}){super(),this.el=e,this.option=t,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.enable(),this._setupAccept()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){!1!==this.disabled&&(super.enable(),this.el.classList.add("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),this.el.addEventListener("mouseenter",this._mouseEnter),this.el.addEventListener("mouseleave",this._mouseLeave),r.isTouch&&(this.el.addEventListener("pointerenter",r.pointerenter),this.el.addEventListener("pointerleave",r.pointerleave)))}disable(e=!1){!0!==this.disabled&&(super.disable(),this.el.classList.remove("ui-droppable"),e||this.el.classList.add("ui-droppable-disabled"),this.el.removeEventListener("mouseenter",this._mouseEnter),this.el.removeEventListener("mouseleave",this._mouseLeave),r.isTouch&&(this.el.removeEventListener("pointerenter",r.pointerenter),this.el.removeEventListener("pointerleave",r.pointerleave)))}destroy(){this.disable(!0),this.el.classList.remove("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),super.destroy()}updateOption(e){return Object.keys(e).forEach((t=>this.option[t]=e[t])),this._setupAccept(),this}_mouseEnter(e){if(!s.DDManager.dragElement)return;if(!this._canDrop())return;e.preventDefault(),e.stopPropagation(),s.DDManager.dropElement&&s.DDManager.dropElement!==this&&s.DDManager.dropElement._mouseLeave(e),s.DDManager.dropElement=this;const t=n.Utils.initEvent(e,{target:this.el,type:"dropover"});this.option.over&&this.option.over(t,this._ui(s.DDManager.dragElement)),this.triggerEvent("dropover",t),this.el.classList.add("ui-droppable-over")}_mouseLeave(e){var t;if(!s.DDManager.dragElement||s.DDManager.dropElement!==this)return;e.preventDefault(),e.stopPropagation();const i=n.Utils.initEvent(e,{target:this.el,type:"dropout"});if(this.option.out&&this.option.out(i,this._ui(s.DDManager.dragElement)),this.triggerEvent("dropout",i),s.DDManager.dropElement===this){let i;delete s.DDManager.dropElement;let o=this.el.parentElement;for(;!i&&o;)i=null===(t=o.ddElement)||void 0===t?void 0:t.ddDroppable,o=o.parentElement;i&&i._mouseEnter(e)}}drop(e){e.preventDefault();const t=n.Utils.initEvent(e,{target:this.el,type:"drop"});this.option.drop&&this.option.drop(t,this._ui(s.DDManager.dragElement)),this.triggerEvent("drop",t)}_canDrop(){return s.DDManager.dragElement&&(!this.accept||this.accept(s.DDManager.dragElement.el))}_setupAccept(){return this.option.accept?("string"==typeof this.option.accept?this.accept=e=>e.matches(this.option.accept):this.accept=this.option.accept,this):this}_ui(e){return Object.assign({draggable:e.el},e.ui())}}t.DDDroppable=l},320:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDElement=void 0;const s=i(204),o=i(186),n=i(225);class r{constructor(e){this.el=e}static init(e){return e.ddElement||(e.ddElement=new r(e)),e.ddElement}on(e,t){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(e)>-1?this.ddDraggable.on(e,t):this.ddDroppable&&["drop","dropover","dropout"].indexOf(e)>-1?this.ddDroppable.on(e,t):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(e)>-1&&this.ddResizable.on(e,t),this}off(e){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(e)>-1?this.ddDraggable.off(e):this.ddDroppable&&["drop","dropover","dropout"].indexOf(e)>-1?this.ddDroppable.off(e):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(e)>-1&&this.ddResizable.off(e),this}setupDraggable(e){return this.ddDraggable?this.ddDraggable.updateOption(e):this.ddDraggable=new o.DDDraggable(this.el,e),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(e){return this.ddResizable?this.ddResizable.updateOption(e):this.ddResizable=new s.DDResizable(this.el,e),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(e){return this.ddDroppable?this.ddDroppable.updateOption(e):this.ddDroppable=new n.DDDroppable(this.el,e),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}}t.DDElement=r},958:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDGridStack=void 0;const s=i(270),o=i(593),n=i(939),r=i(320);class l{static get(){return a}resizable(e,t,i,s){return this._getDDElements(e).forEach((e=>{if("disable"===t||"enable"===t)e.ddResizable&&e.ddResizable[t]();else if("destroy"===t)e.ddResizable&&e.cleanResizable();else if("option"===t)e.setupResizable({[i]:s});else{const i=e.el.gridstackNode.grid;let s=e.el.getAttribute("gs-resize-handles")?e.el.getAttribute("gs-resize-handles"):i.opts.resizable.handles,o=!i.opts.alwaysShowResizeHandle;e.setupResizable(Object.assign(Object.assign(Object.assign({},i.opts.resizable),{handles:s,autoHide:o}),{start:t.start,stop:t.stop,resize:t.resize}))}})),this}draggable(e,t,i,s){return this._getDDElements(e).forEach((e=>{if("disable"===t||"enable"===t)e.ddDraggable&&e.ddDraggable[t]();else if("destroy"===t)e.ddDraggable&&e.cleanDraggable();else if("option"===t)e.setupDraggable({[i]:s});else{const i=e.el.gridstackNode.grid;e.setupDraggable(Object.assign(Object.assign({},i.opts.draggable),{start:t.start,stop:t.stop,drag:t.drag}))}})),this}dragIn(e,t){return this._getDDElements(e).forEach((e=>e.setupDraggable(t))),this}droppable(e,t,i,s){return"function"!=typeof t.accept||t._accept||(t._accept=t.accept,t.accept=e=>t._accept(e)),this._getDDElements(e).forEach((e=>{"disable"===t||"enable"===t?e.ddDroppable&&e.ddDroppable[t]():"destroy"===t?e.ddDroppable&&e.cleanDroppable():"option"===t?e.setupDroppable({[i]:s}):e.setupDroppable(t)})),this}isDroppable(e){return!(!(e&&e.ddElement&&e.ddElement.ddDroppable)||e.ddElement.ddDroppable.disabled)}isDraggable(e){return!(!(e&&e.ddElement&&e.ddElement.ddDraggable)||e.ddElement.ddDraggable.disabled)}isResizable(e){return!(!(e&&e.ddElement&&e.ddElement.ddResizable)||e.ddElement.ddResizable.disabled)}on(e,t,i){return this._getDDElements(e).forEach((e=>e.on(t,(e=>{i(e,n.DDManager.dragElement?n.DDManager.dragElement.el:e.target,n.DDManager.dragElement?n.DDManager.dragElement.helper:null)})))),this}off(e,t){return this._getDDElements(e).forEach((e=>e.off(t))),this}_getDDElements(e,t=!0){let i=o.Utils.getElements(e);if(!i.length)return[];let s=i.map((e=>e.ddElement||(t?r.DDElement.init(e):null)));return t||s.filter((e=>e)),s}}t.DDGridStack=l;const a=new l;function h(e,t){let i=e?e.gridstackNode:void 0;i&&i.grid&&(t?i._isAboutToRemove=!0:delete i._isAboutToRemove,t?e.classList.add("grid-stack-item-removing"):e.classList.remove("grid-stack-item-removing"))}s.GridStack.prototype._setupAcceptWidget=function(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return a.droppable(this.el,"destroy"),this;let e,t,i=(i,s,n)=>{let r=s.gridstackNode;if(!r)return;n=n||s;let l=this.el.getBoundingClientRect(),{top:h,left:d}=n.getBoundingClientRect();d-=l.left,h-=l.top;let g={position:{top:h,left:d}};if(r._temporaryRemoved){if(r.x=Math.max(0,Math.round(d/t)),r.y=Math.max(0,Math.round(h/e)),delete r.autoPosition,this.engine.nodeBoundFix(r),!this.engine.willItFit(r)){if(r.autoPosition=!0,!this.engine.willItFit(r))return void a.off(s,"drag");r._willFitPos&&(o.Utils.copyPos(r,r._willFitPos),delete r._willFitPos)}this._onStartMoving(n,i,g,r,t,e)}else this._dragOrResize(n,i,g,r,t,e)};return a.droppable(this.el,{accept:e=>{let t=e.gridstackNode;if((null==t?void 0:t.grid)===this)return!0;if(!this.opts.acceptWidgets)return!1;if(null==t?void 0:t.subGrid)return!1;let i=!0;if("function"==typeof this.opts.acceptWidgets)i=this.opts.acceptWidgets(e);else{let t=!0===this.opts.acceptWidgets?".grid-stack-item":this.opts.acceptWidgets;i=e.matches(t)}if(i&&t&&this.opts.maxRow){let e={w:t.w,h:t.h,minW:t.minW,minH:t.minH};i=this.engine.willItFit(e)}return i}}).on(this.el,"dropover",((s,o,n)=>{let r=o.gridstackNode;if((null==r?void 0:r.grid)===this&&!r._temporaryRemoved)return!1;(null==r?void 0:r.grid)&&r.grid!==this&&!r._temporaryRemoved&&r.grid._leave(o,n),t=this.cellWidth(),e=this.getCellHeight(!0),r||(r=this._readAttr(o)),r.grid||(r._isExternal=!0,o.gridstackNode=r),n=n||o;let l=r.w||Math.round(n.offsetWidth/t)||1,d=r.h||Math.round(n.offsetHeight/e)||1;return r.grid&&r.grid!==this?(o._gridstackNodeOrig||(o._gridstackNodeOrig=r),o.gridstackNode=r=Object.assign(Object.assign({},r),{w:l,h:d,grid:this}),this.engine.cleanupNode(r).nodeBoundFix(r),r._initDD=r._isExternal=r._temporaryRemoved=!0):(r.w=l,r.h=d,r._temporaryRemoved=!0),h(r.el,!1),a.on(o,"drag",i),i(s,o,n),!1})).on(this.el,"dropout",((e,t,i)=>{let s=t.gridstackNode;return!!s&&(s.grid&&s.grid!==this||this._leave(t,i),!1)})).on(this.el,"drop",((e,t,i)=>{let s=t.gridstackNode;if((null==s?void 0:s.grid)===this&&!s._isExternal)return!1;let n=!!this.placeholder.parentElement;this.placeholder.remove();let r=t._gridstackNodeOrig;if(delete t._gridstackNodeOrig,n&&r&&r.grid&&r.grid!==this){let e=r.grid;e.engine.removedNodes.push(r),e._triggerRemoveEvent()}return!!s&&(n&&(this.engine.cleanupNode(s),s.grid=this),a.off(t,"drag"),i!==t?(i.remove(),t.gridstackNode=r,n&&(t=t.cloneNode(!0))):(t.remove(),this._removeDD(t)),!!n&&(t.gridstackNode=s,s.el=t,o.Utils.copyPos(s,this._readAttr(this.placeholder)),o.Utils.removePositioningStyles(t),this._writeAttr(t,s),this.el.appendChild(t),this._updateContainerHeight(),this.engine.addedNodes.push(s),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(Object.assign(Object.assign({},e),{type:"dropped"}),r&&r.grid?r:void 0,s),window.setTimeout((()=>{s.el&&s.el.parentElement?this._prepareDragDropByNode(s):this.engine.removeNode(s)})),!1))})),this},s.GridStack.prototype._setupRemoveDrop=function(){if(!this.opts.staticGrid&&"string"==typeof this.opts.removable){let e=document.querySelector(this.opts.removable);if(!e)return this;a.isDroppable(e)||a.droppable(e,this.opts.removableOptions).on(e,"dropover",((e,t)=>h(t,!0))).on(e,"dropout",((e,t)=>h(t,!1)))}return this},s.GridStack.setupDragIn=function(e,t){let i,s;e&&(i=e,s=Object.assign(Object.assign({},{handle:".grid-stack-item-content",appendTo:"body"}),t||{})),"string"==typeof i&&o.Utils.getElements(i).forEach((e=>{a.isDraggable(e)||a.dragIn(e,s)}))},s.GridStack.prototype._prepareDragDropByNode=function(e){let t=e.el;const i=e.noMove||this.opts.disableDrag,s=e.noResize||this.opts.disableResize;if(this.opts.staticGrid||i&&s)return e._initDD&&(this._removeDD(t),delete e._initDD),t.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!e._initDD){let i,s,n=(o,n)=>{this._gsEventHandler[o.type]&&this._gsEventHandler[o.type](o,o.target),i=this.cellWidth(),s=this.getCellHeight(!0),this._onStartMoving(t,o,n,e,i,s)},r=(o,n)=>{this._dragOrResize(t,o,n,e,i,s)},l=i=>{this.placeholder.remove(),delete e._moving,delete e._lastTried;let s=i.target;if(s.gridstackNode&&s.gridstackNode.grid===this){if(e.el=s,e._isAboutToRemove){let o=t.gridstackNode.grid;o._gsEventHandler[i.type]&&o._gsEventHandler[i.type](i,s),this._removeDD(t),o.engine.removedNodes.push(e),o._triggerRemoveEvent(),delete t.gridstackNode,delete e.el,t.remove()}else o.Utils.removePositioningStyles(s),e._temporaryRemoved?(o.Utils.copyPos(e,e._orig),this._writePosAttr(s,e),this.engine.addNode(e)):this._writePosAttr(s,e),this._gsEventHandler[i.type]&&this._gsEventHandler[i.type](i,s);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate()}};a.draggable(t,{start:n,stop:l,drag:r}).resizable(t,{start:n,stop:l,resize:r}),e._initDD=!0}return a.draggable(t,i?"disable":"enable").resizable(t,s?"disable":"enable"),this},s.GridStack.prototype._onStartMoving=function(e,t,i,s,o,n){this.engine.cleanNodes().beginUpdate(s),this._writePosAttr(this.placeholder,s),this.el.appendChild(this.placeholder),s.el=this.placeholder,s._lastUiPosition=i.position,s._prevYPix=i.position.top,s._moving="dragstart"===t.type,delete s._lastTried,"dropover"===t.type&&s._temporaryRemoved&&(this.engine.addNode(s),s._moving=!0),this.engine.cacheRects(o,n,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),"resizestart"===t.type&&(a.resizable(e,"option","minWidth",o*(s.minW||1)).resizable(e,"option","minHeight",n*(s.minH||1)),s.maxW&&a.resizable(e,"option","maxWidth",o*s.maxW),s.maxH&&a.resizable(e,"option","maxHeight",n*s.maxH))},s.GridStack.prototype._leave=function(e,t){let i=e.gridstackNode;i&&(a.off(e,"drag"),i._temporaryRemoved||(i._temporaryRemoved=!0,this.engine.removeNode(i),i.el=i._isExternal&&t?t:e,!0===this.opts.removable&&h(e,!0),e._gridstackNodeOrig?(e.gridstackNode=e._gridstackNodeOrig,delete e._gridstackNodeOrig):i._isExternal&&(delete i.el,delete e.gridstackNode,this.engine.restoreInitial())))},s.GridStack.prototype._dragOrResize=function(e,t,i,s,n,r){let l,a=Object.assign({},s._orig),h=this.opts.marginLeft,d=this.opts.marginRight,g=this.opts.marginTop,p=this.opts.marginBottom,u=Math.round(.1*r),c=Math.round(.1*n);if(h=Math.min(h,c),d=Math.min(d,c),g=Math.min(g,u),p=Math.min(p,u),"drag"===t.type){if(s._temporaryRemoved)return;let t=i.position.top-s._prevYPix;s._prevYPix=i.position.top,o.Utils.updateScrollPosition(e,i.position,t);let l=i.position.left+(i.position.left>s._lastUiPosition.left?-d:h),u=i.position.top+(i.position.top>s._lastUiPosition.top?-p:g);a.x=Math.round(l/n),a.y=Math.round(u/r);let c=this._extraDragRow;if(this.engine.collide(s,a)){let e=this.getRow(),t=Math.max(0,a.y+s.h-e);this.opts.maxRow&&e+t>this.opts.maxRow&&(t=Math.max(0,this.opts.maxRow-e)),this._extraDragRow=t}else this._extraDragRow=0;if(this._extraDragRow!==c&&this._updateContainerHeight(),s.x===a.x&&s.y===a.y)return}else if("resize"===t.type){if(a.x<0)return;if(o.Utils.updateScrollResize(t,e,r),a.w=Math.round((i.size.width-h)/n),a.h=Math.round((i.size.height-g)/r),s.w===a.w&&s.h===a.h)return;if(s._lastTried&&s._lastTried.w===a.w&&s._lastTried.h===a.h)return;let d=i.position.left+h,p=i.position.top+g;a.x=Math.round(d/n),a.y=Math.round(p/r),l=!0}s._lastTried=a;let m={x:i.position.left+h,y:i.position.top+g,w:(i.size?i.size.width:s.w*n)-h-d,h:(i.size?i.size.height:s.h*r)-g-p};if(this.engine.moveNodeCheck(s,Object.assign(Object.assign({},a),{cellWidth:n,cellHeight:r,rect:m,resizing:l}))){s._lastUiPosition=i.position,this.engine.cacheRects(n,r,g,d,p,h),delete s._skipDown,l&&s.subGrid&&s.subGrid.onParentResize(),this._extraDragRow=0,this._updateContainerHeight();let e=t.target;this._writePosAttr(e,s),this._gsEventHandler[t.type]&&this._gsEventHandler[t.type](t,e)}},s.GridStack.prototype.movable=function(e,t){return this.opts.staticGrid||s.GridStack.getElements(e).forEach((e=>{let i=e.gridstackNode;i&&(t?delete i.noMove:i.noMove=!0,this._prepareDragDropByNode(i))})),this},s.GridStack.prototype.resizable=function(e,t){return this.opts.staticGrid||s.GridStack.getElements(e).forEach((e=>{let i=e.gridstackNode;i&&(t?delete i.noResize:i.noResize=!0,this._prepareDragDropByNode(i))})),this},s.GridStack.prototype.disable=function(){if(!this.opts.staticGrid)return this.enableMove(!1),this.enableResize(!1),this._triggerEvent("disable"),this},s.GridStack.prototype.enable=function(){if(!this.opts.staticGrid)return this.enableMove(!0),this.enableResize(!0),this._triggerEvent("enable"),this},s.GridStack.prototype.enableMove=function(e){return this.opts.staticGrid||(this.opts.disableDrag=!e,this.engine.nodes.forEach((t=>this.movable(t.el,e)))),this},s.GridStack.prototype.enableResize=function(e){return this.opts.staticGrid||(this.opts.disableResize=!e,this.engine.nodes.forEach((t=>this.resizable(t.el,e)))),this},s.GridStack.prototype._removeDD=function(e){return a.draggable(e,"destroy").resizable(e,"destroy"),e.gridstackNode&&delete e.gridstackNode._initDD,this}},939:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDManager=void 0,t.DDManager=class{}},41:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDResizableHandle=void 0;const s=i(635);class o{constructor(e,t,i){this.moving=!1,this.host=e,this.dir=t,this.option=i,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._init()}_init(){const e=document.createElement("div");return e.classList.add("ui-resizable-handle"),e.classList.add(`${o.prefix}${this.dir}`),e.style.zIndex="100",e.style.userSelect="none",this.el=e,this.host.appendChild(this.el),this.el.addEventListener("mousedown",this._mouseDown),s.isTouch&&(this.el.addEventListener("touchstart",s.touchstart),this.el.addEventListener("pointerdown",s.pointerdown)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener("mousedown",this._mouseDown),s.isTouch&&(this.el.removeEventListener("touchstart",s.touchstart),this.el.removeEventListener("pointerdown",s.pointerdown)),this.host.removeChild(this.el),delete this.el,delete this.host,this}_mouseDown(e){this.mouseDownEvent=e,document.addEventListener("mousemove",this._mouseMove,!0),document.addEventListener("mouseup",this._mouseUp,!0),s.isTouch&&(this.el.addEventListener("touchmove",s.touchmove),this.el.addEventListener("touchend",s.touchend)),e.stopPropagation(),e.preventDefault()}_mouseMove(e){let t=this.mouseDownEvent;this.moving?this._triggerEvent("move",e):Math.abs(e.x-t.x)+Math.abs(e.y-t.y)>2&&(this.moving=!0,this._triggerEvent("start",this.mouseDownEvent),this._triggerEvent("move",e)),e.stopPropagation(),e.preventDefault()}_mouseUp(e){this.moving&&this._triggerEvent("stop",e),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),s.isTouch&&(this.el.removeEventListener("touchmove",s.touchmove),this.el.removeEventListener("touchend",s.touchend)),delete this.moving,delete this.mouseDownEvent,e.stopPropagation(),e.preventDefault()}_triggerEvent(e,t){return this.option[e]&&this.option[e](t),this}}t.DDResizableHandle=o,o.prefix="ui-resizable-"},204:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DDResizable=void 0;const s=i(41),o=i(427),n=i(593),r=i(939);class l extends o.DDBaseImplement{constructor(e,t={}){super(),this._ui=()=>{const e=this.el.parentElement.getBoundingClientRect(),t={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,top:this.originalRect.top-this.scrolled},i=this.temporalRect||t;return{position:{left:i.left-e.left,top:i.top-e.top},size:{width:i.width,height:i.height}}},this.el=e,this.option=t,this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(this.option.autoHide),this._setupHandlers()}on(e,t){super.on(e,t)}off(e){super.off(e)}enable(){super.enable(),this.el.classList.add("ui-resizable"),this.el.classList.remove("ui-resizable-disabled"),this._setupAutoHide(this.option.autoHide)}disable(){super.disable(),this.el.classList.add("ui-resizable-disabled"),this.el.classList.remove("ui-resizable"),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),this.el.classList.remove("ui-resizable"),delete this.el,super.destroy()}updateOption(e){let t=e.handles&&e.handles!==this.option.handles,i=e.autoHide&&e.autoHide!==this.option.autoHide;return Object.keys(e).forEach((t=>this.option[t]=e[t])),t&&(this._removeHandlers(),this._setupHandlers()),i&&this._setupAutoHide(this.option.autoHide),this}_setupAutoHide(e){return e?(this.el.classList.add("ui-resizable-autohide"),this.el.addEventListener("mouseover",this._mouseOver),this.el.addEventListener("mouseout",this._mouseOut)):(this.el.classList.remove("ui-resizable-autohide"),this.el.removeEventListener("mouseover",this._mouseOver),this.el.removeEventListener("mouseout",this._mouseOut)),this}_mouseOver(e){r.DDManager.overResizeElement||r.DDManager.dragElement||(r.DDManager.overResizeElement=this,this.el.classList.remove("ui-resizable-autohide"))}_mouseOut(e){r.DDManager.overResizeElement===this&&(delete r.DDManager.overResizeElement,this.el.classList.add("ui-resizable-autohide"))}_setupHandlers(){let e=this.option.handles||"e,s,se";return"all"===e&&(e="n,e,s,w,se,sw,ne,nw"),this.handlers=e.split(",").map((e=>e.trim())).map((e=>new s.DDResizableHandle(this.el,e,{start:e=>{this._resizeStart(e)},stop:e=>{this._resizeStop(e)},move:t=>{this._resizing(t,e)}}))),this}_resizeStart(e){this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=n.Utils.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=e,this._setupHelper(),this._applyChange();const t=n.Utils.initEvent(e,{type:"resizestart",target:this.el});return this.option.start&&this.option.start(t,this._ui()),this.el.classList.add("ui-resizable-resizing"),this.triggerEvent("resizestart",t),this}_resizing(e,t){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(e,t),this._applyChange();const i=n.Utils.initEvent(e,{type:"resize",target:this.el});return this.option.resize&&this.option.resize(i,this._ui()),this.triggerEvent("resize",i),this}_resizeStop(e){const t=n.Utils.initEvent(e,{type:"resizestop",target:this.el});return this.option.stop&&this.option.stop(t),this.el.classList.remove("ui-resizable-resizing"),this.triggerEvent("resizestop",t),this._cleanHelper(),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){return this.elOriginStyleVal=l._originStyleProp.map((e=>this.el.style[e])),this.parentOriginStylePosition=this.el.parentElement.style.position,window.getComputedStyle(this.el.parentElement).position.match(/static/)&&(this.el.parentElement.style.position="relative"),this.el.style.position="absolute",this.el.style.opacity="0.8",this}_cleanHelper(){return l._originStyleProp.forEach(((e,t)=>{this.el.style[e]=this.elOriginStyleVal[t]||null})),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(e,t){const i=this.startEvent,s={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,top:this.originalRect.top-this.scrolled},o=e.clientX-i.clientX,n=e.clientY-i.clientY;t.indexOf("e")>-1?s.width+=o:t.indexOf("w")>-1&&(s.width-=o,s.left+=o),t.indexOf("s")>-1?s.height+=n:t.indexOf("n")>-1&&(s.height-=n,s.top+=n);const r=this._constrainSize(s.width,s.height);return Math.round(s.width)!==Math.round(r.width)&&(t.indexOf("w")>-1&&(s.left+=s.width-r.width),s.width=r.width),Math.round(s.height)!==Math.round(r.height)&&(t.indexOf("n")>-1&&(s.top+=s.height-r.height),s.height=r.height),s}_constrainSize(e,t){const i=this.option.maxWidth||Number.MAX_SAFE_INTEGER,s=this.option.minWidth||e,o=this.option.maxHeight||Number.MAX_SAFE_INTEGER,n=this.option.minHeight||t;return{width:Math.min(i,Math.max(s,e)),height:Math.min(o,Math.max(n,t))}}_applyChange(){let e={left:0,top:0,width:0,height:0};if("absolute"===this.el.style.position){const t=this.el.parentElement,{left:i,top:s}=t.getBoundingClientRect();e={left:i,top:s,width:0,height:0}}return this.temporalRect?(Object.keys(this.temporalRect).forEach((t=>{const i=this.temporalRect[t];this.el.style[t]=i-e[t]+"px"})),this):this}_removeHandlers(){return this.handlers.forEach((e=>e.destroy())),delete this.handlers,this}}t.DDResizable=l,l._originStyleProp=["width","height","position","left","top","opacity","zIndex"]},635:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.pointerleave=t.pointerenter=t.pointerdown=t.touchend=t.touchmove=t.touchstart=t.isTouch=void 0;const s=i(939);t.isTouch="ontouchstart"in document||"ontouchstart"in window||window.DocumentTouch&&document instanceof window.DocumentTouch||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;class o{}function n(e,t){if(e.touches.length>1)return;e.cancelable&&e.preventDefault();const i=e.changedTouches[0],s=document.createEvent("MouseEvents");s.initMouseEvent(t,!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(s)}function r(e,t){e.cancelable&&e.preventDefault();const i=document.createEvent("MouseEvents");i.initMouseEvent(t,!0,!0,window,1,e.screenX,e.screenY,e.clientX,e.clientY,!1,!1,!1,!1,0,null),e.target.dispatchEvent(i)}t.touchstart=function(e){o.touchHandled||(o.touchHandled=!0,n(e,"mousedown"))},t.touchmove=function(e){o.touchHandled&&n(e,"mousemove")},t.touchend=function(e){if(!o.touchHandled)return;o.pointerLeaveTimeout&&(window.clearTimeout(o.pointerLeaveTimeout),delete o.pointerLeaveTimeout);const t=!!s.DDManager.dragElement;n(e,"mouseup"),t||n(e,"click"),o.touchHandled=!1},t.pointerdown=function(e){e.target.releasePointerCapture(e.pointerId)},t.pointerenter=function(e){s.DDManager.dragElement&&r(e,"mouseenter")},t.pointerleave=function(e){s.DDManager.dragElement&&(o.pointerLeaveTimeout=window.setTimeout((()=>{delete o.pointerLeaveTimeout,r(e,"mouseleave")}),10))}},62:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.GridStackEngine=void 0;const s=i(593);class o{constructor(e={}){this.addedNodes=[],this.removedNodes=[],this.column=e.column||12,this.maxRow=e.maxRow,this._float=e.float,this.nodes=e.nodes||[],this.onChange=e.onChange}batchUpdate(e=!0){return!!this.batchMode===e||(this.batchMode=e,e?(this._prevFloat=this._float,this._float=!0,this.saveInitial()):(this._float=this._prevFloat,delete this._prevFloat,this._packNodes()._notify())),this}_useEntireRowArea(e,t){return!this.float&&!this._hasLocked&&(!e._moving||e._skipDown||t.y<=e.y)}_fixCollisions(e,t=e,i,o={}){if(this.sortNodes(-1),!(i=i||this.collide(e,t)))return!1;if(e._moving&&!o.nested&&!this.float&&this.swap(e,i))return!0;let n=t;this._useEntireRowArea(e,t)&&(n={x:0,w:this.column,y:t.y,h:t.h},i=this.collide(e,n,o.skip));let r=!1,l={nested:!0,pack:!1};for(;i=i||this.collide(e,n,o.skip);){let n;if(i.locked||e._moving&&!e._skipDown&&t.y>e.y&&!this.float&&(!this.collide(i,Object.assign(Object.assign({},i),{y:e.y}),e)||!this.collide(i,Object.assign(Object.assign({},i),{y:t.y-i.h}),e))?(e._skipDown=e._skipDown||t.y>e.y,n=this.moveNode(e,Object.assign(Object.assign(Object.assign({},t),{y:i.y+i.h}),l)),i.locked&&n?s.Utils.copyPos(t,e):!i.locked&&n&&o.pack&&(this._packNodes(),t.y=i.y+i.h,s.Utils.copyPos(e,t)),r=r||n):n=this.moveNode(i,Object.assign(Object.assign(Object.assign({},i),{y:t.y+t.h,skip:e}),l)),!n)return r;i=void 0}return r}collide(e,t=e,i){return this.nodes.find((o=>o!==e&&o!==i&&s.Utils.isIntercepted(o,t)))}collideAll(e,t=e,i){return this.nodes.filter((o=>o!==e&&o!==i&&s.Utils.isIntercepted(o,t)))}collideCoverage(e,t,i){if(!t.rect||!e._rect)return;let s,o=e._rect,n=Object.assign({},t.rect);return n.y>o.y?(n.h+=n.y-o.y,n.y=o.y):n.h+=o.y-n.y,n.x>o.x?(n.w+=n.x-o.x,n.x=o.x):n.w+=o.x-n.x,i.forEach((e=>{if(e.locked||!e._rect)return;let t=e._rect,i=Number.MAX_VALUE,r=Number.MAX_VALUE,l=.5;o.yt.y+t.h&&(i=(t.y+t.h-n.y)/t.h),o.xt.x+t.w&&(r=(t.x+t.w-n.x)/t.w);let a=Math.min(r,i);a>l&&(l=a,s=e)})),s}cacheRects(e,t,i,s,o,n){return this.nodes.forEach((r=>r._rect={y:r.y*t+i,x:r.x*e+n,w:r.w*e-n-s,h:r.h*t-i-o})),this}swap(e,t){if(!t||t.locked||!e||e.locked)return!1;function i(){let i=t.x,s=t.y;return t.x=e.x,t.y=e.y,e.h!=t.h?(e.x=i,e.y=t.y+t.h):e.w!=t.w?(e.x=t.x+t.w,e.y=s):(e.x=i,e.y=s),e._dirty=t._dirty=!0,!0}let o;if(e.w===t.w&&e.h===t.h&&(e.x===t.x||e.y===t.y)&&(o=s.Utils.isTouching(e,t)))return i();if(!1!==o){if(e.w===t.w&&e.x===t.x&&(o||(o=s.Utils.isTouching(e,t)))){if(t.y{e.locked||(e.autoPosition=!0),this.addNode(e,!1),e._dirty=!0})),this.batchUpdate(!1)}set float(e){this._float!==e&&(this._float=e||!1,e||this._packNodes()._notify())}get float(){return this._float||!1}sortNodes(e){return this.nodes=s.Utils.sort(this.nodes,e,this.column),this}_packNodes(){return this.batchMode||(this.sortNodes(),this.float?this.nodes.forEach((e=>{if(e._updating||void 0===e._orig||e.y===e._orig.y)return;let t=e.y;for(;t>e._orig.y;)--t,this.collide(e,{x:e.x,y:t,w:e.w,h:e.h})||(e._dirty=!0,e.y=t)})):this.nodes.forEach(((e,t)=>{if(!e.locked)for(;e.y>0;){let i=0===t?0:e.y-1;if(0!==t&&this.collide(e,{x:e.x,y:i,w:e.w,h:e.h}))break;e._dirty=e.y!==i,e.y=i}}))),this}prepareNode(e,t){(e=e||{})._id=e._id||o._idSeq++,void 0!==e.x&&void 0!==e.y&&null!==e.x&&null!==e.y||(e.autoPosition=!0);let i={x:0,y:0,w:1,h:1};return s.Utils.defaults(e,i),e.autoPosition||delete e.autoPosition,e.noResize||delete e.noResize,e.noMove||delete e.noMove,"string"==typeof e.x&&(e.x=Number(e.x)),"string"==typeof e.y&&(e.y=Number(e.y)),"string"==typeof e.w&&(e.w=Number(e.w)),"string"==typeof e.h&&(e.h=Number(e.h)),isNaN(e.x)&&(e.x=i.x,e.autoPosition=!0),isNaN(e.y)&&(e.y=i.y,e.autoPosition=!0),isNaN(e.w)&&(e.w=i.w),isNaN(e.h)&&(e.h=i.h),this.nodeBoundFix(e,t)}nodeBoundFix(e,t){let i=e._orig||s.Utils.copyPos({},e);return e.maxW&&(e.w=Math.min(e.w,e.maxW)),e.maxH&&(e.h=Math.min(e.h,e.maxH)),e.minW&&e.minW<=this.column&&(e.w=Math.max(e.w,e.minW)),e.minH&&(e.h=Math.max(e.h,e.minH)),e.w>this.column?(this.column<12&&!this._inColumnResize&&(e.w=Math.min(12,e.w),this.cacheOneLayout(e,12)),e.w=this.column):e.w<1&&(e.w=1),this.maxRow&&e.h>this.maxRow?e.h=this.maxRow:e.h<1&&(e.h=1),e.x<0&&(e.x=0),e.y<0&&(e.y=0),e.x+e.w>this.column&&(t?e.w=this.column-e.x:e.x=this.column-e.w),this.maxRow&&e.y+e.h>this.maxRow&&(t?e.h=this.maxRow-e.y:e.y=this.maxRow-e.h),s.Utils.samePos(e,i)||(e._dirty=!0),e}getDirtyNodes(e){return e?this.nodes.filter((e=>e._dirty&&!s.Utils.samePos(e,e._orig))):this.nodes.filter((e=>e._dirty))}_notify(e){if(this.batchMode||!this.onChange)return this;let t=(e||[]).concat(this.getDirtyNodes());return this.onChange(t),this}cleanNodes(){return this.batchMode||this.nodes.forEach((e=>{delete e._dirty,delete e._lastTried})),this}saveInitial(){return this.nodes.forEach((e=>{e._orig=s.Utils.copyPos({},e),delete e._dirty})),this._hasLocked=this.nodes.some((e=>e.locked)),this}restoreInitial(){return this.nodes.forEach((e=>{s.Utils.samePos(e,e._orig)||(s.Utils.copyPos(e,e._orig),e._dirty=!0)})),this._notify(),this}addNode(e,t=!1){let i=this.nodes.find((t=>t._id===e._id));if(i)return i;if(delete(e=this._inColumnResize?this.nodeBoundFix(e):this.prepareNode(e))._temporaryRemoved,delete e._removeDOM,e.autoPosition){this.sortNodes();for(let t=0;;++t){let i=t%this.column,o=Math.floor(t/this.column);if(i+e.w>this.column)continue;let n={x:i,y:o,w:e.w,h:e.h};if(!this.nodes.find((e=>s.Utils.isIntercepted(n,e)))){e.x=i,e.y=o,delete e.autoPosition;break}}}return this.nodes.push(e),t&&this.addedNodes.push(e),this._fixCollisions(e),this.batchMode||this._packNodes()._notify(),e}removeNode(e,t=!0,i=!1){return this.nodes.find((t=>t===e))?(i&&this.removedNodes.push(e),t&&(e._removeDOM=!0),this.nodes=this.nodes.filter((t=>t!==e)),this._packNodes()._notify([e])):this}removeAll(e=!0){return delete this._layouts,0===this.nodes.length?this:(e&&this.nodes.forEach((e=>e._removeDOM=!0)),this.removedNodes=this.nodes,this.nodes=[],this._notify(this.removedNodes))}moveNodeCheck(e,t){if(!this.changedPosConstrain(e,t))return!1;if(t.pack=!0,!this.maxRow)return this.moveNode(e,t);let i,n=new o({column:this.column,float:this.float,nodes:this.nodes.map((t=>t===e?(i=Object.assign({},t),i):Object.assign({},t)))});if(!i)return!1;let r=n.moveNode(i,t)&&n.getRow()<=this.maxRow;if(!r&&!t.resizing){let i=this.collide(e,t);if(i&&this.swap(e,i))return this._notify(),!0}return!!r&&(n.nodes.filter((e=>e._dirty)).forEach((e=>{let t=this.nodes.find((t=>t._id===e._id));t&&(s.Utils.copyPos(t,e),t._dirty=!0)})),this._notify(),!0)}willItFit(e){if(delete e._willFitPos,!this.maxRow)return!0;let t=new o({column:this.column,float:this.float,nodes:this.nodes.map((e=>Object.assign({},e)))}),i=Object.assign({},e);return this.cleanupNode(i),delete i.el,delete i._id,delete i.content,delete i.grid,t.addNode(i),t.getRow()<=this.maxRow&&(e._willFitPos=s.Utils.copyPos({},i),!0)}changedPosConstrain(e,t){return t.w=t.w||e.w,t.h=t.h||e.h,e.x!==t.x||e.y!==t.y||(e.maxW&&(t.w=Math.min(t.w,e.maxW)),e.maxH&&(t.h=Math.min(t.h,e.maxH)),e.minW&&(t.w=Math.max(t.w,e.minW)),e.minH&&(t.h=Math.max(t.h,e.minH)),e.w!==t.w||e.h!==t.h)}moveNode(e,t){if(!e||!t)return!1;void 0===t.pack&&(t.pack=!0),"number"!=typeof t.x&&(t.x=e.x),"number"!=typeof t.y&&(t.y=e.y),"number"!=typeof t.w&&(t.w=e.w),"number"!=typeof t.h&&(t.h=e.h);let i=e.w!==t.w||e.h!==t.h,o=s.Utils.copyPos({},e,!0);if(s.Utils.copyPos(o,t),o=this.nodeBoundFix(o,i),s.Utils.copyPos(t,o),s.Utils.samePos(e,t))return!1;let n=s.Utils.copyPos({},e),r=this.collideAll(e,o,t.skip),l=!0;if(r.length){let i=e._moving&&!t.nested?this.collideCoverage(e,t,r):r[0];l=!!i&&!this._fixCollisions(e,o,i,t)}return l&&(e._dirty=!0,s.Utils.copyPos(e,o)),t.pack&&this._packNodes()._notify(),!s.Utils.samePos(e,n)}getRow(){return this.nodes.reduce(((e,t)=>Math.max(e,t.y+t.h)),0)}beginUpdate(e){return e._updating||(e._updating=!0,delete e._skipDown,this.batchMode||this.saveInitial()),this}endUpdate(){let e=this.nodes.find((e=>e._updating));return e&&(delete e._updating,delete e._skipDown),this}save(e=!0){var t;let i=null===(t=this._layouts)||void 0===t?void 0:t.length,s=i&&this.column!==i-1?this._layouts[i-1]:null,o=[];return this.sortNodes(),this.nodes.forEach((t=>{let i=null==s?void 0:s.find((e=>e._id===t._id)),n=Object.assign({},t);i&&(n.x=i.x,n.y=i.y,n.w=i.w);for(let e in n)"_"!==e[0]&&null!==n[e]&&void 0!==n[e]||delete n[e];delete n.grid,e||delete n.el,n.autoPosition||delete n.autoPosition,n.noResize||delete n.noResize,n.noMove||delete n.noMove,n.locked||delete n.locked,o.push(n)})),o}layoutsNodesChange(e){return!this._layouts||this._inColumnResize||this._layouts.forEach(((t,i)=>{if(!t||i===this.column)return this;if(i{if(!e._orig)return;let i=t.find((t=>t._id===e._id));i&&(e.y!==e._orig.y&&(i.y+=e.y-e._orig.y),e.x!==e._orig.x&&(i.x=Math.round(e.x*s)),e.w!==e._orig.w&&(i.w=Math.round(e.w*s)))}))}})),this}updateNodeWidths(e,t,i,o="moveScale"){var n;if(!this.nodes.length||!t||e===t)return this;this.cacheLayout(this.nodes,e),this.batchUpdate();let r=[],l=!1;if(1===t&&(null==i?void 0:i.length)){l=!0;let e=0;i.forEach((t=>{t.x=0,t.w=1,t.y=Math.max(t.y,e),e=t.y+t.h})),r=i,i=[]}else i=s.Utils.sort(this.nodes,-1,e);let a=[];if(t>e){a=this._layouts[t]||[];let s=this._layouts.length-1;!a.length&&e!==s&&(null===(n=this._layouts[s])||void 0===n?void 0:n.length)&&(e=s,this._layouts[s].forEach((e=>{let t=i.find((t=>t._id===e._id));t&&(t.x=e.x,t.y=e.y,t.w=e.w)})))}if(a.forEach((e=>{let t=i.findIndex((t=>t._id===e._id));-1!==t&&(i[t].x=e.x,i[t].y=e.y,i[t].w=e.w,r.push(i[t]),i.splice(t,1))})),i.length)if("function"==typeof o)o(t,e,r,i);else if(!l){let s=t/e,n="move"===o||"moveScale"===o,l="scale"===o||"moveScale"===o;i.forEach((i=>{i.x=1===t?0:n?Math.round(i.x*s):Math.min(i.x,t-1),i.w=1===t||1===e?1:l?Math.round(i.w*s)||1:Math.min(i.w,t),r.push(i)})),i=[]}return r=s.Utils.sort(r,-1,t),this._inColumnResize=!0,this.nodes=[],r.forEach((e=>{this.addNode(e,!1),delete e._orig})),this.batchUpdate(!1),delete this._inColumnResize,this}cacheLayout(e,t,i=!1){let s=[];return e.forEach(((e,t)=>{e._id=e._id||o._idSeq++,s[t]={x:e.x,y:e.y,w:e.w,_id:e._id}})),this._layouts=i?[]:this._layouts||[],this._layouts[t]=s,this}cacheOneLayout(e,t){e._id=e._id||o._idSeq++;let i={x:e.x,y:e.y,w:e.w,_id:e._id};this._layouts=this._layouts||[],this._layouts[t]=this._layouts[t]||[];let s=this._layouts[t].findIndex((t=>t._id===e._id));return-1===s?this._layouts[t].push(i):this._layouts[t][s]=i,this}cleanupNode(e){for(let t in e)"_"===t[0]&&"_id"!==t&&delete e[t];return this}}t.GridStackEngine=o,o._idSeq=1},270:function(e,t,i){var s=this&&this.__createBinding||(Object.create?function(e,t,i,s){void 0===s&&(s=i),Object.defineProperty(e,s,{enumerable:!0,get:function(){return t[i]}})}:function(e,t,i,s){void 0===s&&(s=i),e[s]=t[i]}),o=this&&this.__exportStar||function(e,t){for(var i in e)"default"===i||t.hasOwnProperty(i)||s(t,e,i)};Object.defineProperty(t,"__esModule",{value:!0}),t.GridStack=void 0;const n=i(62),r=i(593);o(i(699),t),o(i(593),t),o(i(62),t);const l={column:12,minRow:0,maxRow:0,itemClass:"grid-stack-item",placeholderClass:"grid-stack-placeholder",placeholderText:"",handle:".grid-stack-item-content",handleClass:null,styleInHead:!1,cellHeight:"auto",cellHeightThrottle:100,margin:10,auto:!0,oneColumnSize:768,float:!1,staticGrid:!1,animate:!0,alwaysShowResizeHandle:"mobile",resizable:{handles:"se"},draggable:{handle:".grid-stack-item-content",appendTo:"body"},disableDrag:!1,disableResize:!1,rtl:"auto",removable:!1,removableOptions:{accept:".grid-stack-item"},marginUnit:"px",cellHeightUnit:"px",disableOneColumnMode:!1,oneColumnModeDomSort:!1};class a{constructor(e,t={}){this._gsEventHandler={},this._extraDragRow=0,this.el=e,(t=t||{}).row&&(t.minRow=t.maxRow=t.row,delete t.row);let i=r.Utils.toNumber(e.getAttribute("gs-row"));"auto"===t.column&&delete t.column;let s=t;void 0!==s.minWidth&&(t.oneColumnSize=t.oneColumnSize||s.minWidth,delete s.minWidth),void 0!==t.alwaysShowResizeHandle&&(t._alwaysShowResizeHandle=t.alwaysShowResizeHandle);let o=Object.assign(Object.assign({},r.Utils.cloneDeep(l)),{column:r.Utils.toNumber(e.getAttribute("gs-column"))||l.column,minRow:i||r.Utils.toNumber(e.getAttribute("gs-min-row"))||l.minRow,maxRow:i||r.Utils.toNumber(e.getAttribute("gs-max-row"))||l.maxRow,staticGrid:r.Utils.toBool(e.getAttribute("gs-static"))||l.staticGrid,_styleSheetClass:"grid-stack-instance-"+(1e4*Math.random()).toFixed(0),draggable:{handle:(t.handleClass?"."+t.handleClass:t.handle?t.handle:"")||l.draggable.handle},removableOptions:{accept:t.itemClass?"."+t.itemClass:l.removableOptions.accept}});e.getAttribute("gs-animate")&&(o.animate=r.Utils.toBool(e.getAttribute("gs-animate"))),this.opts=r.Utils.defaults(t,o),t=null,this._initMargin(),1!==this.opts.column&&!this.opts.disableOneColumnMode&&this._widthOrContainer()<=this.opts.oneColumnSize&&(this._prevColumn=this.getColumn(),this.opts.column=1),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===e.style.direction),this.opts.rtl&&this.el.classList.add("grid-stack-rtl");let d=r.Utils.closestByClass(this.el,l.itemClass);d&&d.gridstackNode&&(this.opts._isNested=d.gridstackNode,this.opts._isNested.subGrid=this,d.classList.add("grid-stack-nested"),this.el.classList.add("grid-stack-nested")),this._isAutoCellHeight="auto"===this.opts.cellHeight,this._isAutoCellHeight||"initial"===this.opts.cellHeight?this.cellHeight(void 0,!1):("number"==typeof this.opts.cellHeight&&this.opts.cellHeightUnit&&this.opts.cellHeightUnit!==l.cellHeightUnit&&(this.opts.cellHeight=this.opts.cellHeight+this.opts.cellHeightUnit,delete this.opts.cellHeightUnit),this.cellHeight(this.opts.cellHeight,!1)),"mobile"===this.opts.alwaysShowResizeHandle&&(this.opts.alwaysShowResizeHandle=h.isTouch),this.el.classList.add(this.opts._styleSheetClass),this._setStaticClass();let g=this.opts.engineClass||a.engineClass||n.GridStackEngine;if(this.engine=new g({column:this.getColumn(),float:this.opts.float,maxRow:this.opts.maxRow,onChange:e=>{let t=0;this.engine.nodes.forEach((e=>{t=Math.max(t,e.y+e.h)})),e.forEach((e=>{let t=e.el;t&&(e._removeDOM?(t&&t.remove(),delete e._removeDOM):this._writePosAttr(t,e))})),this._updateStyles(!1,t)}}),this.opts.auto){this.batchUpdate();let e=[];this.getGridItems().forEach((t=>{let i=parseInt(t.getAttribute("gs-x")),s=parseInt(t.getAttribute("gs-y"));e.push({el:t,i:(Number.isNaN(i)?1e3:i)+(Number.isNaN(s)?1e3:s)*this.getColumn()})})),e.sort(((e,t)=>e.i-t.i)).forEach((e=>this._prepareElement(e.el))),this.batchUpdate(!1)}this.setAnimation(this.opts.animate),this._updateStyles(),12!=this.opts.column&&this.el.classList.add("grid-stack-"+this.opts.column),this.opts.dragIn&&a.setupDragIn(this.opts.dragIn,this.opts.dragInOptions),delete this.opts.dragIn,delete this.opts.dragInOptions,this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateWindowResizeEvent()}static init(e={},t=".grid-stack"){let i=a.getGridElement(t);return i?(i.gridstack||(i.gridstack=new a(i,r.Utils.cloneDeep(e))),i.gridstack):("string"==typeof t?console.error('GridStack.initAll() no grid was found with selector "'+t+'" - element missing or wrong selector ?\nNote: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.'):console.error("GridStack.init() no grid element was passed."),null)}static initAll(e={},t=".grid-stack"){let i=[];return a.getGridElements(t).forEach((t=>{t.gridstack||(t.gridstack=new a(t,r.Utils.cloneDeep(e)),delete e.dragIn,delete e.dragInOptions),i.push(t.gridstack)})),0===i.length&&console.error('GridStack.initAll() no grid was found with selector "'+t+'" - element missing or wrong selector ?\nNote: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.'),i}static addGrid(e,t={}){if(!e)return null;let i=e;if(!e.classList.contains("grid-stack")){let s=document.implementation.createHTMLDocument("");s.body.innerHTML=`
`,i=s.body.children[0],e.appendChild(i)}let s=a.init(t,i);if(s.opts.children){let e=s.opts.children;delete s.opts.children,s.load(e)}return s}static registerEngine(e){a.engineClass=e}get placeholder(){if(!this._placeholder){let e=document.createElement("div");e.className="placeholder-content",this.opts.placeholderText&&(e.innerHTML=this.opts.placeholderText),this._placeholder=document.createElement("div"),this._placeholder.classList.add(this.opts.placeholderClass,l.itemClass,this.opts.itemClass),this.placeholder.appendChild(e)}return this._placeholder}addWidget(e,t){if(arguments.length>2){console.warn("gridstack.ts: `addWidget(el, x, y, width...)` is deprecated. Use `addWidget({x, y, w, content, ...})`. It will be removed soon");let t=arguments,i=1,s={x:t[i++],y:t[i++],w:t[i++],h:t[i++],autoPosition:t[i++],minW:t[i++],maxW:t[i++],minH:t[i++],maxH:t[i++],id:t[i++]};return this.addWidget(e,s)}let i;if("string"==typeof e){let t=document.implementation.createHTMLDocument("");t.body.innerHTML=e,i=t.body.children[0]}else if(0===arguments.length||1===arguments.length&&(void 0!==(s=e).x||void 0!==s.y||void 0!==s.w||void 0!==s.h||void 0!==s.content)){let s=e&&e.content||"";t=e;let o=document.implementation.createHTMLDocument("");o.body.innerHTML=`
${s}
`,i=o.body.children[0]}else i=e;var s;let o=this._readAttr(i);t=r.Utils.cloneDeep(t)||{},r.Utils.defaults(t,o);let n=this.engine.prepareNode(t);if(this._writeAttr(i,t),this._insertNotAppend?this.el.prepend(i):this.el.appendChild(i),this._prepareElement(i,!0,t),this._updateContainerHeight(),n.subGrid&&!n.subGrid.el){let e,t=n.subGrid;"auto"===t.column&&(t.column=n.w,t.disableOneColumnMode=!0,e=!0);let i=n.el.querySelector(".grid-stack-item-content");n.subGrid=a.addGrid(i,n.subGrid),e&&(n.subGrid._autoColumn=!0)}return this._triggerAddEvent(),this._triggerChangeEvent(),i}save(e=!0,t=!1){let i=this.engine.save(e);if(i.forEach((t=>{if(e&&t.el&&!t.subGrid){let e=t.el.querySelector(".grid-stack-item-content");t.content=e?e.innerHTML:void 0,t.content||delete t.content}else e||delete t.content,t.subGrid&&(t.subGrid=t.subGrid.save(e,!0));delete t.el})),t){let e=r.Utils.cloneDeep(this.opts);e.marginBottom===e.marginTop&&e.marginRight===e.marginLeft&&e.marginTop===e.marginRight&&(e.margin=e.marginTop,delete e.marginTop,delete e.marginRight,delete e.marginBottom,delete e.marginLeft),e.rtl===("rtl"===this.el.style.direction)&&(e.rtl="auto"),this._isAutoCellHeight&&(e.cellHeight="auto"),this._autoColumn&&(e.column="auto",delete e.disableOneColumnMode);const t=e._alwaysShowResizeHandle;return delete e._alwaysShowResizeHandle,void 0!==t?e.alwaysShowResizeHandle=t:delete e.alwaysShowResizeHandle,r.Utils.removeInternalAndSame(e,l),e.children=i,e}return i}load(e,t=!0){let i=a.Utils.sort([...e],-1,this._prevColumn||this.getColumn());this._insertNotAppend=!0,this._prevColumn&&this._prevColumn!==this.opts.column&&i.some((e=>e.x+e.w>this.opts.column))&&(this._ignoreLayoutsNodeChange=!0,this.engine.cacheLayout(i,this._prevColumn,!0));let s=[];return this.batchUpdate(),t&&[...this.engine.nodes].forEach((e=>{i.find((t=>e.id===t.id))||("function"==typeof t?t(this,e,!1):(s.push(e),this.removeWidget(e.el,!0,!1)))})),i.forEach((e=>{let i=e.id||0===e.id?this.engine.nodes.find((t=>t.id===e.id)):void 0;if(i){if(this.update(i.el,e),e.subGrid&&e.subGrid.children){let t=i.el.querySelector(".grid-stack");t&&t.gridstack&&(t.gridstack.load(e.subGrid.children),this._insertNotAppend=!0)}}else t&&(e="function"==typeof t?t(this,e,!0).gridstackNode:this.addWidget(e).gridstackNode)})),this.engine.removedNodes=s,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this._insertNotAppend,this}batchUpdate(e=!0){return this.engine.batchUpdate(e),e||(this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(e=!1){if(this.opts.cellHeight&&"auto"!==this.opts.cellHeight&&(!e||!this.opts.cellHeightUnit||"px"===this.opts.cellHeightUnit))return this.opts.cellHeight;let t=this.el.querySelector("."+this.opts.itemClass);if(t){let e=r.Utils.toNumber(t.getAttribute("gs-h"));return Math.round(t.offsetHeight/e)}let i=parseInt(this.el.getAttribute("gs-current-row"));return i?Math.round(this.el.getBoundingClientRect().height/i):this.opts.cellHeight}cellHeight(e,t=!0){if(t&&void 0!==e&&this._isAutoCellHeight!==("auto"===e)&&(this._isAutoCellHeight="auto"===e,this._updateWindowResizeEvent()),"initial"!==e&&"auto"!==e||(e=void 0),void 0===e){let t=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;e=this.cellWidth()+t}let i=r.Utils.parseHeight(e);return this.opts.cellHeightUnit===i.unit&&this.opts.cellHeight===i.h||(this.opts.cellHeightUnit=i.unit,this.opts.cellHeight=i.h,t&&this._updateStyles(!0,this.getRow())),this}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(){return this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}compact(){return this.engine.compact(),this._triggerChangeEvent(),this}column(e,t="moveScale"){if(e<1||this.opts.column===e)return this;let i,s=this.getColumn();return 1===e?this._prevColumn=s:delete this._prevColumn,this.el.classList.remove("grid-stack-"+s),this.el.classList.add("grid-stack-"+e),this.opts.column=this.engine.column=e,1===e&&this.opts.oneColumnModeDomSort&&(i=[],this.getGridItems().forEach((e=>{e.gridstackNode&&i.push(e.gridstackNode)})),i.length||(i=void 0)),this.engine.updateNodeWidths(s,e,i,t),this._isAutoCellHeight&&this.cellHeight(),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter((e=>e.matches("."+this.opts.itemClass)&&!e.matches("."+this.opts.placeholderClass)))}destroy(e=!0){if(this.el)return this._updateWindowResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),e?this.el.parentNode.removeChild(this.el):(this.removeAll(e),this.el.classList.remove(this.opts._styleSheetClass)),this._removeStylesheet(),this.el.removeAttribute("gs-current-row"),delete this.opts._isNested,delete this.opts,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this}float(e){return this.engine.float=e,this._triggerChangeEvent(),this}getFloat(){return this.engine.float}getCellFromPixel(e,t=!1){let i,s=this.el.getBoundingClientRect();i=t?{top:s.top+document.documentElement.scrollTop,left:s.left}:{top:this.el.offsetTop,left:this.el.offsetLeft};let o=e.left-i.left,n=e.top-i.top,r=s.width/this.getColumn(),l=s.height/parseInt(this.el.getAttribute("gs-current-row"));return{x:Math.floor(o/r),y:Math.floor(n/l)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow)}isAreaEmpty(e,t,i,s){return this.engine.isAreaEmpty(e,t,i,s)}makeWidget(e){let t=a.getElement(e);return this._prepareElement(t,!0),this._updateContainerHeight(),this._triggerAddEvent(),this._triggerChangeEvent(),t}on(e,t){if(-1!==e.indexOf(" "))return e.split(" ").forEach((e=>this.on(e,t))),this;if("change"===e||"added"===e||"removed"===e||"enable"===e||"disable"===e){let i="enable"===e||"disable"===e;this._gsEventHandler[e]=i?e=>t(e):e=>t(e,e.detail),this.el.addEventListener(e,this._gsEventHandler[e])}else"drag"===e||"dragstart"===e||"dragstop"===e||"resizestart"===e||"resize"===e||"resizestop"===e||"dropped"===e?this._gsEventHandler[e]=t:console.log("GridStack.on("+e+') event not supported, but you can still use $(".grid-stack").on(...) while jquery-ui is still used internally.');return this}off(e){return-1!==e.indexOf(" ")?(e.split(" ").forEach((e=>this.off(e))),this):("change"!==e&&"added"!==e&&"removed"!==e&&"enable"!==e&&"disable"!==e||this._gsEventHandler[e]&&this.el.removeEventListener(e,this._gsEventHandler[e]),delete this._gsEventHandler[e],this)}removeWidget(e,t=!0,i=!0){return a.getElements(e).forEach((e=>{if(e.parentElement!==this.el)return;let s=e.gridstackNode;s||(s=this.engine.nodes.find((t=>e===t.el))),s&&(delete e.gridstackNode,this._removeDD(e),this.engine.removeNode(s,t,i),t&&e.parentElement&&e.remove())})),i&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this}removeAll(e=!0){return this.engine.nodes.forEach((e=>{delete e.el.gridstackNode,this._removeDD(e.el)})),this.engine.removeAll(e),this._triggerRemoveEvent(),this}setAnimation(e){return e?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this}setStatic(e,t=!0){return this.opts.staticGrid===e||(this.opts.staticGrid=e,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach((e=>this._prepareDragDropByNode(e))),t&&this._setStaticClass()),this}update(e,t){if(arguments.length>2){console.warn("gridstack.ts: `update(el, x, y, w, h)` is deprecated. Use `update(el, {x, w, content, ...})`. It will be removed soon");let i=arguments,s=1;return t={x:i[s++],y:i[s++],w:i[s++],h:i[s++]},this.update(e,t)}return a.getElements(e).forEach((e=>{if(!e||!e.gridstackNode)return;let i=e.gridstackNode,s=r.Utils.cloneDeep(t);delete s.autoPosition;let o,n=["x","y","w","h"];if(n.some((e=>void 0!==s[e]&&s[e]!==i[e]))&&(o={},n.forEach((e=>{o[e]=void 0!==s[e]?s[e]:i[e],delete s[e]}))),!o&&(s.minW||s.minH||s.maxW||s.maxH)&&(o={}),s.content){let t=e.querySelector(".grid-stack-item-content");t&&t.innerHTML!==s.content&&(t.innerHTML=s.content),delete s.content}let l=!1,a=!1;for(const e in s)"_"!==e[0]&&i[e]!==s[e]&&(i[e]=s[e],l=!0,a=a||!this.opts.staticGrid&&("noResize"===e||"noMove"===e||"locked"===e));o&&(this.engine.cleanNodes().beginUpdate(i).moveNode(i,o),this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate()),l&&this._writeAttr(e,i),a&&this._prepareDragDropByNode(i)})),this}margin(e){if(!("string"==typeof e&&e.split(" ").length>1)){let t=r.Utils.parseHeight(e);if(this.opts.marginUnit===t.unit&&this.opts.margin===t.h)return}return this.opts.margin=e,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this._updateStyles(!0),this}getMargin(){return this.opts.margin}willItFit(e){if(arguments.length>1){console.warn("gridstack.ts: `willItFit(x,y,w,h,autoPosition)` is deprecated. Use `willItFit({x, y,...})`. It will be removed soon");let e=arguments,t=0,i={x:e[t++],y:e[t++],w:e[t++],h:e[t++],autoPosition:e[t++]};return this.willItFit(i)}return this.engine.willItFit(e)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let e=this.engine.getDirtyNodes(!0);return e&&e.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(e),this._triggerEvent("change",e)),this.engine.saveInitial(),this}_triggerAddEvent(){return this.engine.batchMode||this.engine.addedNodes&&this.engine.addedNodes.length>0&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach((e=>{delete e._dirty})),this._triggerEvent("added",this.engine.addedNodes),this.engine.addedNodes=[]),this}_triggerRemoveEvent(){return this.engine.batchMode||this.engine.removedNodes&&this.engine.removedNodes.length>0&&(this._triggerEvent("removed",this.engine.removedNodes),this.engine.removedNodes=[]),this}_triggerEvent(e,t){let i=t?new CustomEvent(e,{bubbles:!1,detail:t}):new Event(e);return this.el.dispatchEvent(i),this}_removeStylesheet(){return this._styles&&(r.Utils.removeStylesheet(this._styles._id),delete this._styles),this}_updateStyles(e=!1,t){if(e&&this._removeStylesheet(),this._updateContainerHeight(),0===this.opts.cellHeight)return this;let i=this.opts.cellHeight,s=this.opts.cellHeightUnit,o=`.${this.opts._styleSheetClass} > .${this.opts.itemClass}`;if(!this._styles){let e="gridstack-style-"+(1e5*Math.random()).toFixed(),t=this.opts.styleInHead?void 0:this.el.parentNode;if(this._styles=r.Utils.createStylesheet(e,t),!this._styles)return this;this._styles._id=e,this._styles._max=0,r.Utils.addCSSRule(this._styles,o,`min-height: ${i}${s}`);let n=this.opts.marginTop+this.opts.marginUnit,l=this.opts.marginBottom+this.opts.marginUnit,a=this.opts.marginRight+this.opts.marginUnit,h=this.opts.marginLeft+this.opts.marginUnit,d=`${o} > .grid-stack-item-content`,g=`.${this.opts._styleSheetClass} > .grid-stack-placeholder > .placeholder-content`;r.Utils.addCSSRule(this._styles,d,`top: ${n}; right: ${a}; bottom: ${l}; left: ${h};`),r.Utils.addCSSRule(this._styles,g,`top: ${n}; right: ${a}; bottom: ${l}; left: ${h};`),r.Utils.addCSSRule(this._styles,`${o} > .ui-resizable-ne`,`right: ${a}`),r.Utils.addCSSRule(this._styles,`${o} > .ui-resizable-e`,`right: ${a}`),r.Utils.addCSSRule(this._styles,`${o} > .ui-resizable-se`,`right: ${a}; bottom: ${l}`),r.Utils.addCSSRule(this._styles,`${o} > .ui-resizable-nw`,`left: ${h}`),r.Utils.addCSSRule(this._styles,`${o} > .ui-resizable-w`,`left: ${h}`),r.Utils.addCSSRule(this._styles,`${o} > .ui-resizable-sw`,`left: ${h}; bottom: ${l}`)}if((t=t||this._styles._max)>this._styles._max){let e=e=>i*e+s;for(let i=this._styles._max+1;i<=t;i++){let t=e(i);r.Utils.addCSSRule(this._styles,`${o}[gs-y="${i-1}"]`,`top: ${e(i-1)}`),r.Utils.addCSSRule(this._styles,`${o}[gs-h="${i}"]`,`height: ${t}`),r.Utils.addCSSRule(this._styles,`${o}[gs-min-h="${i}"]`,`min-height: ${t}`),r.Utils.addCSSRule(this._styles,`${o}[gs-max-h="${i}"]`,`max-height: ${t}`)}this._styles._max=t}return this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let e=this.getRow()+this._extraDragRow;if(this.el.setAttribute("gs-current-row",String(e)),0===e)return this.el.style.removeProperty("height"),this;let t=this.opts.cellHeight,i=this.opts.cellHeightUnit;return t?(this.el.style.height=e*t+i,this):this}_prepareElement(e,t=!1,i){i||(e.classList.add(this.opts.itemClass),i=this._readAttr(e)),e.gridstackNode=i,i.el=e,i.grid=this;let s=Object.assign({},i);return i=this.engine.addNode(i,t),r.Utils.same(i,s)||this._writeAttr(e,i),this._prepareDragDropByNode(i),this}_writePosAttr(e,t){return void 0!==t.x&&null!==t.x&&e.setAttribute("gs-x",String(t.x)),void 0!==t.y&&null!==t.y&&e.setAttribute("gs-y",String(t.y)),t.w&&e.setAttribute("gs-w",String(t.w)),t.h&&e.setAttribute("gs-h",String(t.h)),this}_writeAttr(e,t){if(!t)return this;this._writePosAttr(e,t);let i={autoPosition:"gs-auto-position",minW:"gs-min-w",minH:"gs-min-h",maxW:"gs-max-w",maxH:"gs-max-h",noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",resizeHandles:"gs-resize-handles"};for(const s in i)t[s]?e.setAttribute(i[s],String(t[s])):e.removeAttribute(i[s]);return this}_readAttr(e){let t={};t.x=r.Utils.toNumber(e.getAttribute("gs-x")),t.y=r.Utils.toNumber(e.getAttribute("gs-y")),t.w=r.Utils.toNumber(e.getAttribute("gs-w")),t.h=r.Utils.toNumber(e.getAttribute("gs-h")),t.maxW=r.Utils.toNumber(e.getAttribute("gs-max-w")),t.minW=r.Utils.toNumber(e.getAttribute("gs-min-w")),t.maxH=r.Utils.toNumber(e.getAttribute("gs-max-h")),t.minH=r.Utils.toNumber(e.getAttribute("gs-min-h")),t.autoPosition=r.Utils.toBool(e.getAttribute("gs-auto-position")),t.noResize=r.Utils.toBool(e.getAttribute("gs-no-resize")),t.noMove=r.Utils.toBool(e.getAttribute("gs-no-move")),t.locked=r.Utils.toBool(e.getAttribute("gs-locked")),t.resizeHandles=e.getAttribute("gs-resize-handles"),t.id=e.getAttribute("gs-id");for(const e in t){if(!t.hasOwnProperty(e))return;t[e]||0===t[e]||delete t[e]}return t}_setStaticClass(){let e=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...e),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...e),this.el.removeAttribute("gs-static")),this}onParentResize(){if(!this.el||!this.el.clientWidth)return;let e=!1;if(this._autoColumn&&this.opts._isNested)this.opts.column!==this.opts._isNested.w&&(e=!0,this.column(this.opts._isNested.w,"none"));else{let t=!this.opts.disableOneColumnMode&&this.el.clientWidth<=this.opts.oneColumnSize;1===this.opts.column!==t&&(e=!0,this.opts.animate&&this.setAnimation(!1),this.column(t?1:this._prevColumn),this.opts.animate&&this.setAnimation(!0))}return this._isAutoCellHeight&&(!e&&this.opts.cellHeightThrottle?(this._cellHeightThrottle||(this._cellHeightThrottle=r.Utils.throttle((()=>this.cellHeight()),this.opts.cellHeightThrottle)),this._cellHeightThrottle()):this.cellHeight()),this.engine.nodes.forEach((e=>{e.subGrid&&e.subGrid.onParentResize()})),this}_updateWindowResizeEvent(e=!1){const t=(this._isAutoCellHeight||!this.opts.disableOneColumnMode)&&!this.opts._isNested;return e||!t||this._windowResizeBind?!e&&t||!this._windowResizeBind||(window.removeEventListener("resize",this._windowResizeBind),delete this._windowResizeBind):(this._windowResizeBind=this.onParentResize.bind(this),window.addEventListener("resize",this._windowResizeBind)),this}static getElement(e=".grid-stack-item"){return r.Utils.getElement(e)}static getElements(e=".grid-stack-item"){return r.Utils.getElements(e)}static getGridElement(e){return a.getElement(e)}static getGridElements(e){return r.Utils.getElements(e)}_initMargin(){let e,t=0,i=[];return"string"==typeof this.opts.margin&&(i=this.opts.margin.split(" ")),2===i.length?(this.opts.marginTop=this.opts.marginBottom=i[0],this.opts.marginLeft=this.opts.marginRight=i[1]):4===i.length?(this.opts.marginTop=i[0],this.opts.marginRight=i[1],this.opts.marginBottom=i[2],this.opts.marginLeft=i[3]):(e=r.Utils.parseHeight(this.opts.margin),this.opts.marginUnit=e.unit,t=this.opts.margin=e.h),void 0===this.opts.marginTop?this.opts.marginTop=t:(e=r.Utils.parseHeight(this.opts.marginTop),this.opts.marginTop=e.h,delete this.opts.margin),void 0===this.opts.marginBottom?this.opts.marginBottom=t:(e=r.Utils.parseHeight(this.opts.marginBottom),this.opts.marginBottom=e.h,delete this.opts.margin),void 0===this.opts.marginRight?this.opts.marginRight=t:(e=r.Utils.parseHeight(this.opts.marginRight),this.opts.marginRight=e.h,delete this.opts.margin),void 0===this.opts.marginLeft?this.opts.marginLeft=t:(e=r.Utils.parseHeight(this.opts.marginLeft),this.opts.marginLeft=e.h,delete this.opts.margin),this.opts.marginUnit=e.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop),this}static setupDragIn(e,t){}movable(e,t){return this}resizable(e,t){return this}disable(){return this}enable(){return this}enableMove(e){return this}enableResize(e){return this}_removeDD(e){return this}_setupAcceptWidget(){return this}_setupRemoveDrop(){return this}_prepareDragDropByNode(e){return this}_onStartMoving(e,t,i,s,o,n){}_dragOrResize(e,t,i,s,o,n){}_leave(e,t){}commit(){return r.obsolete(this,this.batchUpdate(!1),"commit","batchUpdate","5.2"),this}}t.GridStack=a,a.Utils=r.Utils,a.Engine=n.GridStackEngine,a.GDRev="6.0.1";const h=i(635);o(i(958),t)},699:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0})},593:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utils=t.obsoleteAttr=t.obsoleteOptsDel=t.obsoleteOpts=t.obsolete=void 0,t.obsolete=function(e,t,i,s,o){let n=(...n)=>(console.warn("gridstack.js: Function `"+i+"` is deprecated in "+o+" and has been replaced with `"+s+"`. It will be **removed** in a future release"),t.apply(e,n));return n.prototype=t.prototype,n},t.obsoleteOpts=function(e,t,i,s){void 0!==e[t]&&(e[i]=e[t],console.warn("gridstack.js: Option `"+t+"` is deprecated in "+s+" and has been replaced with `"+i+"`. It will be **removed** in a future release"))},t.obsoleteOptsDel=function(e,t,i,s){void 0!==e[t]&&console.warn("gridstack.js: Option `"+t+"` is deprecated in "+i+s)},t.obsoleteAttr=function(e,t,i,s){let o=e.getAttribute(t);null!==o&&(e.setAttribute(i,o),console.warn("gridstack.js: attribute `"+t+"`="+o+" is deprecated on this object in "+s+" and has been replaced with `"+i+"`. It will be **removed** in a future release"))};class i{static getElements(e){if("string"==typeof e){let t=document.querySelectorAll(e);return t.length||"."===e[0]||"#"===e[0]||(t=document.querySelectorAll("."+e),t.length||(t=document.querySelectorAll("#"+e))),Array.from(t)}return[e]}static getElement(e){if("string"==typeof e){if(!e.length)return null;if("#"===e[0])return document.getElementById(e.substring(1));if("."===e[0]||"["===e[0])return document.querySelector(e);if(!isNaN(+e[0]))return document.getElementById(e);let t=document.querySelector(e);return t||(t=document.getElementById(e)),t||(t=document.querySelector("."+e)),t}return e}static isIntercepted(e,t){return!(e.y>=t.y+t.h||e.y+e.h<=t.y||e.x+e.w<=t.x||e.x>=t.x+t.w)}static isTouching(e,t){return i.isIntercepted(e,{x:t.x-.5,y:t.y-.5,w:t.w+1,h:t.h+1})}static sort(e,t,i){return i=i||e.reduce(((e,t)=>Math.max(t.x+t.w,e)),0)||12,-1===t?e.sort(((e,t)=>t.x+t.y*i-(e.x+e.y*i))):e.sort(((e,t)=>e.x+e.y*i-(t.x+t.y*i)))}static createStylesheet(e,t){let i=document.createElement("style");return i.setAttribute("type","text/css"),i.setAttribute("gs-style-id",e),i.styleSheet?i.styleSheet.cssText="":i.appendChild(document.createTextNode("")),t?t.insertBefore(i,t.firstChild):(t=document.getElementsByTagName("head")[0]).appendChild(i),i.sheet}static removeStylesheet(e){let t=document.querySelector("STYLE[gs-style-id="+e+"]");t&&t.parentNode&&t.remove()}static addCSSRule(e,t,i){"function"==typeof e.addRule?e.addRule(t,i):"function"==typeof e.insertRule&&e.insertRule(`${t}{${i}}`)}static toBool(e){return"boolean"==typeof e?e:"string"==typeof e?!(""===(e=e.toLowerCase())||"no"===e||"false"===e||"0"===e):Boolean(e)}static toNumber(e){return null===e||0===e.length?void 0:Number(e)}static parseHeight(e){let t,i="px";if("string"==typeof e){let s=e.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%)?$/);if(!s)throw new Error("Invalid height");i=s[2]||"px",t=parseFloat(s[1])}else t=e;return{h:t,unit:i}}static defaults(e,...t){return t.forEach((t=>{for(const i in t){if(!t.hasOwnProperty(i))return;null===e[i]||void 0===e[i]?e[i]=t[i]:"object"==typeof t[i]&&"object"==typeof e[i]&&this.defaults(e[i],t[i])}})),e}static same(e,t){if("object"!=typeof e)return e==t;if(typeof e!=typeof t)return!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(e[i]!==t[i])return!1;return!0}static copyPos(e,t,i=!1){return e.x=t.x,e.y=t.y,e.w=t.w,e.h=t.h,i&&(t.minW&&(e.minW=t.minW),t.minH&&(e.minH=t.minH),t.maxW&&(e.maxW=t.maxW),t.maxH&&(e.maxH=t.maxH)),e}static samePos(e,t){return e&&t&&e.x===t.x&&e.y===t.y&&e.w===t.w&&e.h===t.h}static removeInternalAndSame(e,t){if("object"==typeof e&&"object"==typeof t)for(let i in e){let s=e[i];if("_"===i[0]||s===t[i])delete e[i];else if(s&&"object"==typeof s&&void 0!==t[i]){for(let e in s)s[e]!==t[i][e]&&"_"!==e[0]||delete s[e];Object.keys(s).length||delete e[i]}}}static closestByClass(e,t){for(;e;){if(e.classList.contains(t))return e;e=e.parentElement}return null}static throttle(e,t){let i=!1;return(...s)=>{i||(i=!0,setTimeout((()=>{e(...s),i=!1}),t))}}static removePositioningStyles(e){let t=e.style;t.position&&t.removeProperty("position"),t.left&&t.removeProperty("left"),t.top&&t.removeProperty("top"),t.width&&t.removeProperty("width"),t.height&&t.removeProperty("height")}static getScrollElement(e){if(!e)return document.scrollingElement||document.documentElement;const t=getComputedStyle(e);return/(auto|scroll)/.test(t.overflow+t.overflowY)?e:this.getScrollElement(e.parentElement)}static updateScrollPosition(e,t,i){let s=e.getBoundingClientRect(),o=window.innerHeight||document.documentElement.clientHeight;if(s.top<0||s.bottom>o){let n=s.bottom-o,r=s.top,l=this.getScrollElement(e);if(null!==l){let a=l.scrollTop;s.top<0&&i<0?e.offsetHeight>o?l.scrollTop+=i:l.scrollTop+=Math.abs(r)>Math.abs(i)?i:r:i>0&&(e.offsetHeight>o?l.scrollTop+=i:l.scrollTop+=n>i?i:n),t.top+=l.scrollTop-a}}}static updateScrollResize(e,t,i){const s=this.getScrollElement(t),o=s.clientHeight,n=s===this.getScrollElement()?0:s.getBoundingClientRect().top,r=e.clientY-n,l=r>o-i;re===o))&&(s[o]=i.cloneDeep(e[o]));return s}static cloneNode(e){const t=e.cloneNode(!0);return t.removeAttribute("id"),t}static appendTo(e,t){let i;i="string"==typeof t?document.querySelector(t):t,i&&i.appendChild(e)}static addElStyles(e,t){if(t instanceof Object)for(const i in t)t.hasOwnProperty(i)&&(Array.isArray(t[i])?t[i].forEach((t=>{e.style[i]=t})):e.style[i]=t[i])}static initEvent(e,t){const i={type:t.type},s={button:0,which:0,buttons:1,bubbles:!0,cancelable:!0,target:t.target?t.target:e.target};return e.dataTransfer&&(i.dataTransfer=e.dataTransfer),["altKey","ctrlKey","metaKey","shiftKey"].forEach((t=>i[t]=e[t])),["pageX","pageY","clientX","clientY","screenX","screenY"].forEach((t=>i[t]=e[t])),Object.assign(Object.assign({},i),s)}}t.Utils=i}},t={},i=function i(s){var o=t[s];if(void 0!==o)return o.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}(270);return i.GridStack})()})); +//# sourceMappingURL=gridstack-all.js.map \ No newline at end of file diff --git a/core/static/js/gridstack.min.js b/core/static/js/gridstack.min.js new file mode 100644 index 0000000..20c5710 --- /dev/null +++ b/core/static/js/gridstack.min.js @@ -0,0 +1,16 @@ +/** + * Minified by jsDelivr using Terser v5.14.1. + * Original file: /npm/gridstack@6.0.1/dist/gridstack.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(t,e,i,s){void 0===s&&(s=i),Object.defineProperty(t,s,{enumerable:!0,get:function(){return e[i]}})}:function(t,e,i,s){void 0===s&&(s=i),t[s]=e[i]}),__exportStar=this&&this.__exportStar||function(t,e){for(var i in t)"default"===i||e.hasOwnProperty(i)||__createBinding(e,t,i)};Object.defineProperty(exports,"__esModule",{value:!0}),exports.GridStack=void 0; +/*! + * GridStack 6.0.1 + * https://gridstackjs.com/ + * + * Copyright (c) 2021-2022 Alain Dumesny + * see root license https://github.com/gridstack/gridstack.js/tree/master/LICENSE + */ +const gridstack_engine_1=require("./gridstack-engine"),utils_1=require("./utils");__exportStar(require("./types"),exports),__exportStar(require("./utils"),exports),__exportStar(require("./gridstack-engine"),exports);const GridDefaults={column:12,minRow:0,maxRow:0,itemClass:"grid-stack-item",placeholderClass:"grid-stack-placeholder",placeholderText:"",handle:".grid-stack-item-content",handleClass:null,styleInHead:!1,cellHeight:"auto",cellHeightThrottle:100,margin:10,auto:!0,oneColumnSize:768,float:!1,staticGrid:!1,animate:!0,alwaysShowResizeHandle:"mobile",resizable:{handles:"se"},draggable:{handle:".grid-stack-item-content",appendTo:"body"},disableDrag:!1,disableResize:!1,rtl:"auto",removable:!1,removableOptions:{accept:".grid-stack-item"},marginUnit:"px",cellHeightUnit:"px",disableOneColumnMode:!1,oneColumnModeDomSort:!1};class GridStack{constructor(t,e={}){this._gsEventHandler={},this._extraDragRow=0,this.el=t,(e=e||{}).row&&(e.minRow=e.maxRow=e.row,delete e.row);let i=utils_1.Utils.toNumber(t.getAttribute("gs-row"));"auto"===e.column&&delete e.column;let s=e;void 0!==s.minWidth&&(e.oneColumnSize=e.oneColumnSize||s.minWidth,delete s.minWidth),void 0!==e.alwaysShowResizeHandle&&(e._alwaysShowResizeHandle=e.alwaysShowResizeHandle);let r=Object.assign(Object.assign({},utils_1.Utils.cloneDeep(GridDefaults)),{column:utils_1.Utils.toNumber(t.getAttribute("gs-column"))||GridDefaults.column,minRow:i||(utils_1.Utils.toNumber(t.getAttribute("gs-min-row"))||GridDefaults.minRow),maxRow:i||(utils_1.Utils.toNumber(t.getAttribute("gs-max-row"))||GridDefaults.maxRow),staticGrid:utils_1.Utils.toBool(t.getAttribute("gs-static"))||GridDefaults.staticGrid,_styleSheetClass:"grid-stack-instance-"+(1e4*Math.random()).toFixed(0),draggable:{handle:(e.handleClass?"."+e.handleClass:e.handle?e.handle:"")||GridDefaults.draggable.handle},removableOptions:{accept:e.itemClass?"."+e.itemClass:GridDefaults.removableOptions.accept}});t.getAttribute("gs-animate")&&(r.animate=utils_1.Utils.toBool(t.getAttribute("gs-animate"))),this.opts=utils_1.Utils.defaults(e,r),e=null,this._initMargin(),1!==this.opts.column&&!this.opts.disableOneColumnMode&&this._widthOrContainer()<=this.opts.oneColumnSize&&(this._prevColumn=this.getColumn(),this.opts.column=1),"auto"===this.opts.rtl&&(this.opts.rtl="rtl"===t.style.direction),this.opts.rtl&&this.el.classList.add("grid-stack-rtl");let n=utils_1.Utils.closestByClass(this.el,GridDefaults.itemClass);n&&n.gridstackNode&&(this.opts._isNested=n.gridstackNode,this.opts._isNested.subGrid=this,n.classList.add("grid-stack-nested"),this.el.classList.add("grid-stack-nested")),this._isAutoCellHeight="auto"===this.opts.cellHeight,this._isAutoCellHeight||"initial"===this.opts.cellHeight?this.cellHeight(void 0,!1):("number"==typeof this.opts.cellHeight&&this.opts.cellHeightUnit&&this.opts.cellHeightUnit!==GridDefaults.cellHeightUnit&&(this.opts.cellHeight=this.opts.cellHeight+this.opts.cellHeightUnit,delete this.opts.cellHeightUnit),this.cellHeight(this.opts.cellHeight,!1)),"mobile"===this.opts.alwaysShowResizeHandle&&(this.opts.alwaysShowResizeHandle=dd_touch_1.isTouch),this.el.classList.add(this.opts._styleSheetClass),this._setStaticClass();let l=this.opts.engineClass||GridStack.engineClass||gridstack_engine_1.GridStackEngine;if(this.engine=new l({column:this.getColumn(),float:this.opts.float,maxRow:this.opts.maxRow,onChange:t=>{let e=0;this.engine.nodes.forEach((t=>{e=Math.max(e,t.y+t.h)})),t.forEach((t=>{let e=t.el;e&&(t._removeDOM?(e&&e.remove(),delete t._removeDOM):this._writePosAttr(e,t))})),this._updateStyles(!1,e)}}),this.opts.auto){this.batchUpdate();let t=[];this.getGridItems().forEach((e=>{let i=parseInt(e.getAttribute("gs-x")),s=parseInt(e.getAttribute("gs-y"));t.push({el:e,i:(Number.isNaN(i)?1e3:i)+(Number.isNaN(s)?1e3:s)*this.getColumn()})})),t.sort(((t,e)=>t.i-e.i)).forEach((t=>this._prepareElement(t.el))),this.batchUpdate(!1)}this.setAnimation(this.opts.animate),this._updateStyles(),12!=this.opts.column&&this.el.classList.add("grid-stack-"+this.opts.column),this.opts.dragIn&&GridStack.setupDragIn(this.opts.dragIn,this.opts.dragInOptions),delete this.opts.dragIn,delete this.opts.dragInOptions,this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateWindowResizeEvent()}static init(t={},e=".grid-stack"){let i=GridStack.getGridElement(e);return i?(i.gridstack||(i.gridstack=new GridStack(i,utils_1.Utils.cloneDeep(t))),i.gridstack):("string"==typeof e?console.error('GridStack.initAll() no grid was found with selector "'+e+'" - element missing or wrong selector ?\nNote: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.'):console.error("GridStack.init() no grid element was passed."),null)}static initAll(t={},e=".grid-stack"){let i=[];return GridStack.getGridElements(e).forEach((e=>{e.gridstack||(e.gridstack=new GridStack(e,utils_1.Utils.cloneDeep(t)),delete t.dragIn,delete t.dragInOptions),i.push(e.gridstack)})),0===i.length&&console.error('GridStack.initAll() no grid was found with selector "'+e+'" - element missing or wrong selector ?\nNote: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.'),i}static addGrid(t,e={}){if(!t)return null;let i=t;if(!t.classList.contains("grid-stack")){let s=document.implementation.createHTMLDocument("");s.body.innerHTML=`
`,i=s.body.children[0],t.appendChild(i)}let s=GridStack.init(e,i);if(s.opts.children){let t=s.opts.children;delete s.opts.children,s.load(t)}return s}static registerEngine(t){GridStack.engineClass=t}get placeholder(){if(!this._placeholder){let t=document.createElement("div");t.className="placeholder-content",this.opts.placeholderText&&(t.innerHTML=this.opts.placeholderText),this._placeholder=document.createElement("div"),this._placeholder.classList.add(this.opts.placeholderClass,GridDefaults.itemClass,this.opts.itemClass),this.placeholder.appendChild(t)}return this._placeholder}addWidget(t,e){if(arguments.length>2){console.warn("gridstack.ts: `addWidget(el, x, y, width...)` is deprecated. Use `addWidget({x, y, w, content, ...})`. It will be removed soon");let e=arguments,i=1,s={x:e[i++],y:e[i++],w:e[i++],h:e[i++],autoPosition:e[i++],minW:e[i++],maxW:e[i++],minH:e[i++],maxH:e[i++],id:e[i++]};return this.addWidget(t,s)}let i;if("string"==typeof t){let e=document.implementation.createHTMLDocument("");e.body.innerHTML=t,i=e.body.children[0]}else if(0===arguments.length||1===arguments.length&&(void 0!==(s=t).x||void 0!==s.y||void 0!==s.w||void 0!==s.h||void 0!==s.content)){let s=t&&t.content||"";e=t;let r=document.implementation.createHTMLDocument("");r.body.innerHTML=`
${s}
`,i=r.body.children[0]}else i=t;var s;let r=this._readAttr(i);e=utils_1.Utils.cloneDeep(e)||{},utils_1.Utils.defaults(e,r);let n=this.engine.prepareNode(e);if(this._writeAttr(i,e),this._insertNotAppend?this.el.prepend(i):this.el.appendChild(i),this._prepareElement(i,!0,e),this._updateContainerHeight(),n.subGrid&&!n.subGrid.el){let t,e=n.subGrid;"auto"===e.column&&(e.column=n.w,e.disableOneColumnMode=!0,t=!0);let i=n.el.querySelector(".grid-stack-item-content");n.subGrid=GridStack.addGrid(i,n.subGrid),t&&(n.subGrid._autoColumn=!0)}return this._triggerAddEvent(),this._triggerChangeEvent(),i}save(t=!0,e=!1){let i=this.engine.save(t);if(i.forEach((e=>{if(t&&e.el&&!e.subGrid){let t=e.el.querySelector(".grid-stack-item-content");e.content=t?t.innerHTML:void 0,e.content||delete e.content}else t||delete e.content,e.subGrid&&(e.subGrid=e.subGrid.save(t,!0));delete e.el})),e){let t=utils_1.Utils.cloneDeep(this.opts);t.marginBottom===t.marginTop&&t.marginRight===t.marginLeft&&t.marginTop===t.marginRight&&(t.margin=t.marginTop,delete t.marginTop,delete t.marginRight,delete t.marginBottom,delete t.marginLeft),t.rtl===("rtl"===this.el.style.direction)&&(t.rtl="auto"),this._isAutoCellHeight&&(t.cellHeight="auto"),this._autoColumn&&(t.column="auto",delete t.disableOneColumnMode);const e=t._alwaysShowResizeHandle;return delete t._alwaysShowResizeHandle,void 0!==e?t.alwaysShowResizeHandle=e:delete t.alwaysShowResizeHandle,utils_1.Utils.removeInternalAndSame(t,GridDefaults),t.children=i,t}return i}load(t,e=!0){let i=GridStack.Utils.sort([...t],-1,this._prevColumn||this.getColumn());this._insertNotAppend=!0,this._prevColumn&&this._prevColumn!==this.opts.column&&i.some((t=>t.x+t.w>this.opts.column))&&(this._ignoreLayoutsNodeChange=!0,this.engine.cacheLayout(i,this._prevColumn,!0));let s=[];if(this.batchUpdate(),e){[...this.engine.nodes].forEach((t=>{i.find((e=>t.id===e.id))||("function"==typeof e?e(this,t,!1):(s.push(t),this.removeWidget(t.el,!0,!1)))}))}return i.forEach((t=>{let i=t.id||0===t.id?this.engine.nodes.find((e=>e.id===t.id)):void 0;if(i){if(this.update(i.el,t),t.subGrid&&t.subGrid.children){let e=i.el.querySelector(".grid-stack");e&&e.gridstack&&(e.gridstack.load(t.subGrid.children),this._insertNotAppend=!0)}}else e&&(t="function"==typeof e?e(this,t,!0).gridstackNode:this.addWidget(t).gridstackNode)})),this.engine.removedNodes=s,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this._insertNotAppend,this}batchUpdate(t=!0){return this.engine.batchUpdate(t),t||(this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(t=!1){if(this.opts.cellHeight&&"auto"!==this.opts.cellHeight&&(!t||!this.opts.cellHeightUnit||"px"===this.opts.cellHeightUnit))return this.opts.cellHeight;let e=this.el.querySelector("."+this.opts.itemClass);if(e){let t=utils_1.Utils.toNumber(e.getAttribute("gs-h"));return Math.round(e.offsetHeight/t)}let i=parseInt(this.el.getAttribute("gs-current-row"));return i?Math.round(this.el.getBoundingClientRect().height/i):this.opts.cellHeight}cellHeight(t,e=!0){if(e&&void 0!==t&&this._isAutoCellHeight!==("auto"===t)&&(this._isAutoCellHeight="auto"===t,this._updateWindowResizeEvent()),"initial"!==t&&"auto"!==t||(t=void 0),void 0===t){let e=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;t=this.cellWidth()+e}let i=utils_1.Utils.parseHeight(t);return this.opts.cellHeightUnit===i.unit&&this.opts.cellHeight===i.h||(this.opts.cellHeightUnit=i.unit,this.opts.cellHeight=i.h,e&&this._updateStyles(!0,this.getRow())),this}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(){return this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}compact(){return this.engine.compact(),this._triggerChangeEvent(),this}column(t,e="moveScale"){if(t<1||this.opts.column===t)return this;let i,s=this.getColumn();return 1===t?this._prevColumn=s:delete this._prevColumn,this.el.classList.remove("grid-stack-"+s),this.el.classList.add("grid-stack-"+t),this.opts.column=this.engine.column=t,1===t&&this.opts.oneColumnModeDomSort&&(i=[],this.getGridItems().forEach((t=>{t.gridstackNode&&i.push(t.gridstackNode)})),i.length||(i=void 0)),this.engine.updateNodeWidths(s,t,i,e),this._isAutoCellHeight&&this.cellHeight(),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter((t=>t.matches("."+this.opts.itemClass)&&!t.matches("."+this.opts.placeholderClass)))}destroy(t=!0){if(this.el)return this._updateWindowResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),t?this.el.parentNode.removeChild(this.el):(this.removeAll(t),this.el.classList.remove(this.opts._styleSheetClass)),this._removeStylesheet(),this.el.removeAttribute("gs-current-row"),delete this.opts._isNested,delete this.opts,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this}float(t){return this.engine.float=t,this._triggerChangeEvent(),this}getFloat(){return this.engine.float}getCellFromPixel(t,e=!1){let i,s=this.el.getBoundingClientRect();i=e?{top:s.top+document.documentElement.scrollTop,left:s.left}:{top:this.el.offsetTop,left:this.el.offsetLeft};let r=t.left-i.left,n=t.top-i.top,l=s.width/this.getColumn(),o=s.height/parseInt(this.el.getAttribute("gs-current-row"));return{x:Math.floor(r/l),y:Math.floor(n/o)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow)}isAreaEmpty(t,e,i,s){return this.engine.isAreaEmpty(t,e,i,s)}makeWidget(t){let e=GridStack.getElement(t);return this._prepareElement(e,!0),this._updateContainerHeight(),this._triggerAddEvent(),this._triggerChangeEvent(),e}on(t,e){if(-1!==t.indexOf(" ")){return t.split(" ").forEach((t=>this.on(t,e))),this}if("change"===t||"added"===t||"removed"===t||"enable"===t||"disable"===t){let i="enable"===t||"disable"===t;this._gsEventHandler[t]=i?t=>e(t):t=>e(t,t.detail),this.el.addEventListener(t,this._gsEventHandler[t])}else"drag"===t||"dragstart"===t||"dragstop"===t||"resizestart"===t||"resize"===t||"resizestop"===t||"dropped"===t?this._gsEventHandler[t]=e:console.log("GridStack.on("+t+') event not supported, but you can still use $(".grid-stack").on(...) while jquery-ui is still used internally.');return this}off(t){if(-1!==t.indexOf(" ")){return t.split(" ").forEach((t=>this.off(t))),this}return"change"!==t&&"added"!==t&&"removed"!==t&&"enable"!==t&&"disable"!==t||this._gsEventHandler[t]&&this.el.removeEventListener(t,this._gsEventHandler[t]),delete this._gsEventHandler[t],this}removeWidget(t,e=!0,i=!0){return GridStack.getElements(t).forEach((t=>{if(t.parentElement!==this.el)return;let s=t.gridstackNode;s||(s=this.engine.nodes.find((e=>t===e.el))),s&&(delete t.gridstackNode,this._removeDD(t),this.engine.removeNode(s,e,i),e&&t.parentElement&&t.remove())})),i&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this}removeAll(t=!0){return this.engine.nodes.forEach((t=>{delete t.el.gridstackNode,this._removeDD(t.el)})),this.engine.removeAll(t),this._triggerRemoveEvent(),this}setAnimation(t){return t?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this}setStatic(t,e=!0){return this.opts.staticGrid===t||(this.opts.staticGrid=t,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach((t=>this._prepareDragDropByNode(t))),e&&this._setStaticClass()),this}update(t,e){if(arguments.length>2){console.warn("gridstack.ts: `update(el, x, y, w, h)` is deprecated. Use `update(el, {x, w, content, ...})`. It will be removed soon");let i=arguments,s=1;return e={x:i[s++],y:i[s++],w:i[s++],h:i[s++]},this.update(t,e)}return GridStack.getElements(t).forEach((t=>{if(!t||!t.gridstackNode)return;let i=t.gridstackNode,s=utils_1.Utils.cloneDeep(e);delete s.autoPosition;let r,n=["x","y","w","h"];if(n.some((t=>void 0!==s[t]&&s[t]!==i[t]))&&(r={},n.forEach((t=>{r[t]=void 0!==s[t]?s[t]:i[t],delete s[t]}))),!r&&(s.minW||s.minH||s.maxW||s.maxH)&&(r={}),s.content){let e=t.querySelector(".grid-stack-item-content");e&&e.innerHTML!==s.content&&(e.innerHTML=s.content),delete s.content}let l=!1,o=!1;for(const t in s)"_"!==t[0]&&i[t]!==s[t]&&(i[t]=s[t],l=!0,o=o||!this.opts.staticGrid&&("noResize"===t||"noMove"===t||"locked"===t));r&&(this.engine.cleanNodes().beginUpdate(i).moveNode(i,r),this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate()),l&&this._writeAttr(t,i),o&&this._prepareDragDropByNode(i)})),this}margin(t){if(!("string"==typeof t&&t.split(" ").length>1)){let e=utils_1.Utils.parseHeight(t);if(this.opts.marginUnit===e.unit&&this.opts.margin===e.h)return}return this.opts.margin=t,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this._updateStyles(!0),this}getMargin(){return this.opts.margin}willItFit(t){if(arguments.length>1){console.warn("gridstack.ts: `willItFit(x,y,w,h,autoPosition)` is deprecated. Use `willItFit({x, y,...})`. It will be removed soon");let t=arguments,e=0,i={x:t[e++],y:t[e++],w:t[e++],h:t[e++],autoPosition:t[e++]};return this.willItFit(i)}return this.engine.willItFit(t)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let t=this.engine.getDirtyNodes(!0);return t&&t.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(t),this._triggerEvent("change",t)),this.engine.saveInitial(),this}_triggerAddEvent(){return this.engine.batchMode||this.engine.addedNodes&&this.engine.addedNodes.length>0&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach((t=>{delete t._dirty})),this._triggerEvent("added",this.engine.addedNodes),this.engine.addedNodes=[]),this}_triggerRemoveEvent(){return this.engine.batchMode||this.engine.removedNodes&&this.engine.removedNodes.length>0&&(this._triggerEvent("removed",this.engine.removedNodes),this.engine.removedNodes=[]),this}_triggerEvent(t,e){let i=e?new CustomEvent(t,{bubbles:!1,detail:e}):new Event(t);return this.el.dispatchEvent(i),this}_removeStylesheet(){return this._styles&&(utils_1.Utils.removeStylesheet(this._styles._id),delete this._styles),this}_updateStyles(t=!1,e){if(t&&this._removeStylesheet(),this._updateContainerHeight(),0===this.opts.cellHeight)return this;let i=this.opts.cellHeight,s=this.opts.cellHeightUnit,r=`.${this.opts._styleSheetClass} > .${this.opts.itemClass}`;if(!this._styles){let t="gridstack-style-"+(1e5*Math.random()).toFixed(),e=this.opts.styleInHead?void 0:this.el.parentNode;if(this._styles=utils_1.Utils.createStylesheet(t,e),!this._styles)return this;this._styles._id=t,this._styles._max=0,utils_1.Utils.addCSSRule(this._styles,r,`min-height: ${i}${s}`);let n=this.opts.marginTop+this.opts.marginUnit,l=this.opts.marginBottom+this.opts.marginUnit,o=this.opts.marginRight+this.opts.marginUnit,h=this.opts.marginLeft+this.opts.marginUnit,a=`${r} > .grid-stack-item-content`,d=`.${this.opts._styleSheetClass} > .grid-stack-placeholder > .placeholder-content`;utils_1.Utils.addCSSRule(this._styles,a,`top: ${n}; right: ${o}; bottom: ${l}; left: ${h};`),utils_1.Utils.addCSSRule(this._styles,d,`top: ${n}; right: ${o}; bottom: ${l}; left: ${h};`),utils_1.Utils.addCSSRule(this._styles,`${r} > .ui-resizable-ne`,`right: ${o}`),utils_1.Utils.addCSSRule(this._styles,`${r} > .ui-resizable-e`,`right: ${o}`),utils_1.Utils.addCSSRule(this._styles,`${r} > .ui-resizable-se`,`right: ${o}; bottom: ${l}`),utils_1.Utils.addCSSRule(this._styles,`${r} > .ui-resizable-nw`,`left: ${h}`),utils_1.Utils.addCSSRule(this._styles,`${r} > .ui-resizable-w`,`left: ${h}`),utils_1.Utils.addCSSRule(this._styles,`${r} > .ui-resizable-sw`,`left: ${h}; bottom: ${l}`)}if((e=e||this._styles._max)>this._styles._max){let t=t=>i*t+s;for(let i=this._styles._max+1;i<=e;i++){let e=t(i);utils_1.Utils.addCSSRule(this._styles,`${r}[gs-y="${i-1}"]`,`top: ${t(i-1)}`),utils_1.Utils.addCSSRule(this._styles,`${r}[gs-h="${i}"]`,`height: ${e}`),utils_1.Utils.addCSSRule(this._styles,`${r}[gs-min-h="${i}"]`,`min-height: ${e}`),utils_1.Utils.addCSSRule(this._styles,`${r}[gs-max-h="${i}"]`,`max-height: ${e}`)}this._styles._max=e}return this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let t=this.getRow()+this._extraDragRow;if(this.el.setAttribute("gs-current-row",String(t)),0===t)return this.el.style.removeProperty("height"),this;let e=this.opts.cellHeight,i=this.opts.cellHeightUnit;return e?(this.el.style.height=t*e+i,this):this}_prepareElement(t,e=!1,i){i||(t.classList.add(this.opts.itemClass),i=this._readAttr(t)),t.gridstackNode=i,i.el=t,i.grid=this;let s=Object.assign({},i);return i=this.engine.addNode(i,e),utils_1.Utils.same(i,s)||this._writeAttr(t,i),this._prepareDragDropByNode(i),this}_writePosAttr(t,e){return void 0!==e.x&&null!==e.x&&t.setAttribute("gs-x",String(e.x)),void 0!==e.y&&null!==e.y&&t.setAttribute("gs-y",String(e.y)),e.w&&t.setAttribute("gs-w",String(e.w)),e.h&&t.setAttribute("gs-h",String(e.h)),this}_writeAttr(t,e){if(!e)return this;this._writePosAttr(t,e);let i={autoPosition:"gs-auto-position",minW:"gs-min-w",minH:"gs-min-h",maxW:"gs-max-w",maxH:"gs-max-h",noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id",resizeHandles:"gs-resize-handles"};for(const s in i)e[s]?t.setAttribute(i[s],String(e[s])):t.removeAttribute(i[s]);return this}_readAttr(t){let e={};e.x=utils_1.Utils.toNumber(t.getAttribute("gs-x")),e.y=utils_1.Utils.toNumber(t.getAttribute("gs-y")),e.w=utils_1.Utils.toNumber(t.getAttribute("gs-w")),e.h=utils_1.Utils.toNumber(t.getAttribute("gs-h")),e.maxW=utils_1.Utils.toNumber(t.getAttribute("gs-max-w")),e.minW=utils_1.Utils.toNumber(t.getAttribute("gs-min-w")),e.maxH=utils_1.Utils.toNumber(t.getAttribute("gs-max-h")),e.minH=utils_1.Utils.toNumber(t.getAttribute("gs-min-h")),e.autoPosition=utils_1.Utils.toBool(t.getAttribute("gs-auto-position")),e.noResize=utils_1.Utils.toBool(t.getAttribute("gs-no-resize")),e.noMove=utils_1.Utils.toBool(t.getAttribute("gs-no-move")),e.locked=utils_1.Utils.toBool(t.getAttribute("gs-locked")),e.resizeHandles=t.getAttribute("gs-resize-handles"),e.id=t.getAttribute("gs-id");for(const t in e){if(!e.hasOwnProperty(t))return;e[t]||0===e[t]||delete e[t]}return e}_setStaticClass(){let t=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...t),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...t),this.el.removeAttribute("gs-static")),this}onParentResize(){if(!this.el||!this.el.clientWidth)return;let t=!1;if(this._autoColumn&&this.opts._isNested)this.opts.column!==this.opts._isNested.w&&(t=!0,this.column(this.opts._isNested.w,"none"));else{let e=!this.opts.disableOneColumnMode&&this.el.clientWidth<=this.opts.oneColumnSize;1===this.opts.column!==e&&(t=!0,this.opts.animate&&this.setAnimation(!1),this.column(e?1:this._prevColumn),this.opts.animate&&this.setAnimation(!0))}return this._isAutoCellHeight&&(!t&&this.opts.cellHeightThrottle?(this._cellHeightThrottle||(this._cellHeightThrottle=utils_1.Utils.throttle((()=>this.cellHeight()),this.opts.cellHeightThrottle)),this._cellHeightThrottle()):this.cellHeight()),this.engine.nodes.forEach((t=>{t.subGrid&&t.subGrid.onParentResize()})),this}_updateWindowResizeEvent(t=!1){const e=(this._isAutoCellHeight||!this.opts.disableOneColumnMode)&&!this.opts._isNested;return t||!e||this._windowResizeBind?!t&&e||!this._windowResizeBind||(window.removeEventListener("resize",this._windowResizeBind),delete this._windowResizeBind):(this._windowResizeBind=this.onParentResize.bind(this),window.addEventListener("resize",this._windowResizeBind)),this}static getElement(t=".grid-stack-item"){return utils_1.Utils.getElement(t)}static getElements(t=".grid-stack-item"){return utils_1.Utils.getElements(t)}static getGridElement(t){return GridStack.getElement(t)}static getGridElements(t){return utils_1.Utils.getElements(t)}_initMargin(){let t,e=0,i=[];return"string"==typeof this.opts.margin&&(i=this.opts.margin.split(" ")),2===i.length?(this.opts.marginTop=this.opts.marginBottom=i[0],this.opts.marginLeft=this.opts.marginRight=i[1]):4===i.length?(this.opts.marginTop=i[0],this.opts.marginRight=i[1],this.opts.marginBottom=i[2],this.opts.marginLeft=i[3]):(t=utils_1.Utils.parseHeight(this.opts.margin),this.opts.marginUnit=t.unit,e=this.opts.margin=t.h),void 0===this.opts.marginTop?this.opts.marginTop=e:(t=utils_1.Utils.parseHeight(this.opts.marginTop),this.opts.marginTop=t.h,delete this.opts.margin),void 0===this.opts.marginBottom?this.opts.marginBottom=e:(t=utils_1.Utils.parseHeight(this.opts.marginBottom),this.opts.marginBottom=t.h,delete this.opts.margin),void 0===this.opts.marginRight?this.opts.marginRight=e:(t=utils_1.Utils.parseHeight(this.opts.marginRight),this.opts.marginRight=t.h,delete this.opts.margin),void 0===this.opts.marginLeft?this.opts.marginLeft=e:(t=utils_1.Utils.parseHeight(this.opts.marginLeft),this.opts.marginLeft=t.h,delete this.opts.margin),this.opts.marginUnit=t.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop),this}static setupDragIn(t,e){}movable(t,e){return this}resizable(t,e){return this}disable(){return this}enable(){return this}enableMove(t){return this}enableResize(t){return this}_removeDD(t){return this}_setupAcceptWidget(){return this}_setupRemoveDrop(){return this}_prepareDragDropByNode(t){return this}_onStartMoving(t,e,i,s,r,n){}_dragOrResize(t,e,i,s,r,n){}_leave(t,e){}commit(){return utils_1.obsolete(this,this.batchUpdate(!1),"commit","batchUpdate","5.2"),this}}exports.GridStack=GridStack,GridStack.Utils=utils_1.Utils,GridStack.Engine=gridstack_engine_1.GridStackEngine,GridStack.GDRev="6.0.1";const dd_touch_1=require("./dd-touch");__exportStar(require("./dd-gridstack"),exports); +//# sourceMappingURL=/sm/534d08a27666919c65a933b55352892bab1335d9819a47d05bd82d2a52b8daf3.map \ No newline at end of file diff --git a/core/static/js/htmx.min.js b/core/static/js/htmx.min.js new file mode 100644 index 0000000..027cd1e --- /dev/null +++ b/core/static/js/htmx.min.js @@ -0,0 +1 @@ +(function(e,t){if(typeof define==="function"&&define.amd){define([],t)}else{e.htmx=e.htmx||t()}})(typeof self!=="undefined"?self:this,function(){return function(){"use strict";var U={onLoad:t,process:vt,on:X,off:F,trigger:$,ajax:nr,find:R,findAll:O,closest:N,values:function(e,t){var r=Pt(e,t||"post");return r.values},remove:q,addClass:L,removeClass:T,toggleClass:A,takeClass:H,defineExtension:fr,removeExtension:cr,logAll:C,logger:null,config:{historyEnabled:true,historyCacheSize:10,refreshOnHistoryMiss:false,defaultSwapStyle:"innerHTML",defaultSwapDelay:0,defaultSettleDelay:20,includeIndicatorStyles:true,indicatorClass:"htmx-indicator",requestClass:"htmx-request",addedClass:"htmx-added",settlingClass:"htmx-settling",swappingClass:"htmx-swapping",allowEval:true,inlineScriptNonce:"",attributesToSettle:["class","style","width","height"],withCredentials:false,timeout:0,wsReconnectDelay:"full-jitter",disableSelector:"[hx-disable], [data-hx-disable]",useTemplateFragments:false,scrollBehavior:"smooth",defaultFocusScroll:false},parseInterval:v,_:e,createEventSource:function(e){return new EventSource(e,{withCredentials:true})},createWebSocket:function(e){return new WebSocket(e,[])},version:"1.8.0"};var r={addTriggerHandler:st,bodyContains:K,canAccessLocalStorage:E,filterValues:Ut,hasAttribute:o,getAttributeValue:V,getClosestMatch:h,getExpressionVars:Qt,getHeaders:Bt,getInputValues:Pt,getInternalData:W,getSwapSpecification:_t,getTriggerSpecs:Me,getTarget:re,makeFragment:g,mergeObjects:Y,makeSettleInfo:Gt,oobSwap:ae,selectAndSwap:Ee,settleImmediately:Lt,shouldCancel:je,triggerEvent:$,triggerErrorEvent:J,withExtensions:xt};var n=["get","post","put","delete","patch"];var i=n.map(function(e){return"[hx-"+e+"], [data-hx-"+e+"]"}).join(", ");function v(e){if(e==undefined){return undefined}if(e.slice(-2)=="ms"){return parseFloat(e.slice(0,-2))||undefined}if(e.slice(-1)=="s"){return parseFloat(e.slice(0,-1))*1e3||undefined}if(e.slice(-1)=="m"){return parseFloat(e.slice(0,-1))*1e3*60||undefined}return parseFloat(e)||undefined}function f(e,t){return e.getAttribute&&e.getAttribute(t)}function o(e,t){return e.hasAttribute&&(e.hasAttribute(t)||e.hasAttribute("data-"+t))}function V(e,t){return f(e,t)||f(e,"data-"+t)}function u(e){return e.parentElement}function _(){return document}function h(e,t){while(e&&!t(e)){e=u(e)}return e?e:null}function a(e,t,r){var n=V(t,r);var i=V(t,"hx-disinherit");if(e!==t&&i&&(i==="*"||i.split(" ").indexOf(r)>=0)){return"unset"}else{return n}}function z(t,r){var n=null;h(t,function(e){return n=a(t,e,r)});if(n!=="unset"){return n}}function d(e,t){var r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector;return r&&r.call(e,t)}function s(e){var t=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i;var r=t.exec(e);if(r){return r[1].toLowerCase()}else{return""}}function l(e,t){var r=new DOMParser;var n=r.parseFromString(e,"text/html");var i=n.body;while(t>0){t--;i=i.firstChild}if(i==null){i=_().createDocumentFragment()}return i}function g(e){if(U.config.useTemplateFragments){var t=l("",0);return t.querySelector("template").content}else{var r=s(e);switch(r){case"thead":case"tbody":case"tfoot":case"colgroup":case"caption":return l(""+e+"
",1);case"col":return l(""+e+"
",2);case"tr":return l(""+e+"
",2);case"td":case"th":return l(""+e+"
",3);case"script":return l("
"+e+"
",1);default:return l(e,0)}}}function Z(e){if(e){e()}}function p(e,t){return Object.prototype.toString.call(e)==="[object "+t+"]"}function m(e){return p(e,"Function")}function x(e){return p(e,"Object")}function W(e){var t="htmx-internal-data";var r=e[t];if(!r){r=e[t]={}}return r}function y(e){var t=[];if(e){for(var r=0;r=0}function K(e){if(e.getRootNode()instanceof ShadowRoot){return _().body.contains(e.getRootNode().host)}else{return _().body.contains(e)}}function w(e){return e.trim().split(/\s+/)}function Y(e,t){for(var r in t){if(t.hasOwnProperty(r)){e[r]=t[r]}}return e}function S(e){try{return JSON.parse(e)}catch(e){yt(e);return null}}function E(){var e="htmx:localStorageTest";try{localStorage.setItem(e,e);localStorage.removeItem(e);return true}catch(e){return false}}function e(e){return Zt(_().body,function(){return eval(e)})}function t(t){var e=U.on("htmx:load",function(e){t(e.detail.elt)});return e}function C(){U.logger=function(e,t,r){if(console){console.log(t,e,r)}}}function R(e,t){if(t){return e.querySelector(t)}else{return R(_(),e)}}function O(e,t){if(t){return e.querySelectorAll(t)}else{return O(_(),e)}}function q(e,t){e=D(e);if(t){setTimeout(function(){q(e)},t)}else{e.parentElement.removeChild(e)}}function L(e,t,r){e=D(e);if(r){setTimeout(function(){L(e,t)},r)}else{e.classList&&e.classList.add(t)}}function T(e,t,r){e=D(e);if(r){setTimeout(function(){T(e,t)},r)}else{if(e.classList){e.classList.remove(t);if(e.classList.length===0){e.removeAttribute("class")}}}}function A(e,t){e=D(e);e.classList.toggle(t)}function H(e,t){e=D(e);G(e.parentElement.children,function(e){T(e,t)});L(e,t)}function N(e,t){e=D(e);if(e.closest){return e.closest(t)}else{do{if(e==null||d(e,t)){return e}}while(e=e&&u(e))}}function I(e,t){if(t.indexOf("closest ")===0){return[N(e,t.substr(8))]}else if(t.indexOf("find ")===0){return[R(e,t.substr(5))]}else if(t.indexOf("next ")===0){return[k(e,t.substr(5))]}else if(t.indexOf("previous ")===0){return[M(e,t.substr(9))]}else if(t==="document"){return[document]}else if(t==="window"){return[window]}else{return _().querySelectorAll(t)}}var k=function(e,t){var r=_().querySelectorAll(t);for(var n=0;n=0;n--){var i=r[n];if(i.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING){return i}}};function Q(e,t){if(t){return I(e,t)[0]}else{return I(_().body,e)[0]}}function D(e){if(p(e,"String")){return R(e)}else{return e}}function P(e,t,r){if(m(t)){return{target:_().body,event:e,listener:t}}else{return{target:D(e),event:t,listener:r}}}function X(t,r,n){dr(function(){var e=P(t,r,n);e.target.addEventListener(e.event,e.listener)});var e=m(r);return e?r:n}function F(t,r,n){dr(function(){var e=P(t,r,n);e.target.removeEventListener(e.event,e.listener)});return m(r)?r:n}var ee=_().createElement("output");function j(e,t){var r=z(e,t);if(r){if(r==="this"){return[te(e,t)]}else{var n=I(e,r);if(n.length===0){yt('The selector "'+r+'" on '+t+" returned no matches!");return[ee]}else{return n}}}}function te(e,t){return h(e,function(e){return V(e,t)!=null})}function re(e){var t=z(e,"hx-target");if(t){if(t==="this"){return te(e,"hx-target")}else{return Q(e,t)}}else{var r=W(e);if(r.boosted){return _().body}else{return e}}}function B(e){var t=U.config.attributesToSettle;for(var r=0;r0){o=e.substr(0,e.indexOf(":"));t=e.substr(e.indexOf(":")+1,e.length)}else{o=e}var r=_().querySelectorAll(t);if(r){G(r,function(e){var t;var r=i.cloneNode(true);t=_().createDocumentFragment();t.appendChild(r);if(!ie(o,e)){t=r}var n={shouldSwap:true,target:e,fragment:t};if(!$(e,"htmx:oobBeforeSwap",n))return;e=n.target;if(n["shouldSwap"]){we(o,e,e,t,a)}G(a.elts,function(e){$(e,"htmx:oobAfterSwap",n)})});i.parentNode.removeChild(i)}else{i.parentNode.removeChild(i);J(_().body,"htmx:oobErrorNoTarget",{content:i})}return e}function oe(e,t,r){var n=z(e,"hx-select-oob");if(n){var i=n.split(",");for(let e=0;e0){var t=n.querySelector(e.tagName+"[id='"+e.id+"']");if(t&&t!==n){var r=e.cloneNode();ne(e,t);i.tasks.push(function(){ne(e,r)})}}})}function ue(e){return function(){T(e,U.config.addedClass);vt(e);ut(e);fe(e);$(e,"htmx:load")}}function fe(e){var t="[autofocus]";var r=d(e,t)?e:e.querySelector(t);if(r!=null){r.focus()}}function ce(e,t,r,n){le(e,r,n);while(r.childNodes.length>0){var i=r.firstChild;L(i,U.config.addedClass);e.insertBefore(i,t);if(i.nodeType!==Node.TEXT_NODE&&i.nodeType!==Node.COMMENT_NODE){n.tasks.push(ue(i))}}}function he(t){var e=W(t);if(e.webSocket){e.webSocket.close()}if(e.sseEventSource){e.sseEventSource.close()}$(t,"htmx:beforeCleanupElement");if(e.listenerInfos){G(e.listenerInfos,function(e){if(t!==e.on){e.on.removeEventListener(e.trigger,e.listener)}})}if(t.children){G(t.children,function(e){he(e)})}}function de(e,t,r){if(e.tagName==="BODY"){return ye(e,t,r)}else{var n;var i=e.previousSibling;ce(u(e),e,t,r);if(i==null){n=u(e).firstChild}else{n=i.nextSibling}W(e).replacedWith=n;r.elts=[];while(n&&n!==e){if(n.nodeType===Node.ELEMENT_NODE){r.elts.push(n)}n=n.nextElementSibling}he(e);u(e).removeChild(e)}}function ve(e,t,r){return ce(e,e.firstChild,t,r)}function ge(e,t,r){return ce(u(e),e,t,r)}function pe(e,t,r){return ce(e,null,t,r)}function me(e,t,r){return ce(u(e),e.nextSibling,t,r)}function xe(e,t,r){he(e);return u(e).removeChild(e)}function ye(e,t,r){var n=e.firstChild;ce(e,n,t,r);if(n){while(n.nextSibling){he(n.nextSibling);e.removeChild(n.nextSibling)}he(n);e.removeChild(n)}}function be(e,t){var r=z(e,"hx-select");if(r){var n=_().createDocumentFragment();G(t.querySelectorAll(r),function(e){n.appendChild(e)});t=n}return t}function we(e,t,r,n,i){switch(e){case"none":return;case"outerHTML":de(r,n,i);return;case"afterbegin":ve(r,n,i);return;case"beforebegin":ge(r,n,i);return;case"beforeend":pe(r,n,i);return;case"afterend":me(r,n,i);return;case"delete":xe(r,n,i);return;default:var a=hr(t);for(var o=0;o-1){var t=e.replace(/]*>|>)([\s\S]*?)<\/svg>/gim,"");var r=t.match(/]*>|>)([\s\S]*?)<\/title>/im);if(r){return r[2]}}}function Ee(e,t,r,n,i){i.title=Se(n);var a=g(n);if(a){oe(r,a,i);a=be(r,a);se(a);return we(e,r,t,a,i)}}function Ce(e,t,r){var n=e.getResponseHeader(t);if(n.indexOf("{")===0){var i=S(n);for(var a in i){if(i.hasOwnProperty(a)){var o=i[a];if(!x(o)){o={value:o}}$(r,a,o)}}}else{$(r,n,[])}}var Re=/\s/;var Oe=/[\s,]/;var qe=/[_$a-zA-Z]/;var Le=/[_$a-zA-Z0-9]/;var Te=['"',"'","/"];var Ae=/[^\s]/;function He(e){var t=[];var r=0;while(r0){var o=t[0];if(o==="]"){n--;if(n===0){if(a===null){i=i+"true"}t.shift();i+=")})";try{var s=Zt(e,function(){return Function(i)()},function(){return true});s.source=i;return s}catch(e){J(_().body,"htmx:syntax:error",{error:e,source:i});return null}}}else if(o==="["){n++}if(Ne(o,a,r)){i+="(("+r+"."+o+") ? ("+r+"."+o+") : (window."+o+"))"}else{i=i+o}a=t.shift()}}}function c(e,t){var r="";while(e.length>0&&!e[0].match(t)){r+=e.shift()}return r}var ke="input, textarea, select";function Me(e){var t=V(e,"hx-trigger");var r=[];if(t){var n=He(t);do{c(n,Ae);var f=n.length;var i=c(n,/[,\[\s]/);if(i!==""){if(i==="every"){var a={trigger:"every"};c(n,Ae);a.pollInterval=v(c(n,/[,\[\s]/));c(n,Ae);var o=Ie(e,n,"event");if(o){a.eventFilter=o}r.push(a)}else if(i.indexOf("sse:")===0){r.push({trigger:"sse",sseEvent:i.substr(4)})}else{var s={trigger:i};var o=Ie(e,n,"event");if(o){s.eventFilter=o}while(n.length>0&&n[0]!==","){c(n,Ae);var l=n.shift();if(l==="changed"){s.changed=true}else if(l==="once"){s.once=true}else if(l==="consume"){s.consume=true}else if(l==="delay"&&n[0]===":"){n.shift();s.delay=v(c(n,Oe))}else if(l==="from"&&n[0]===":"){n.shift();var u=c(n,Oe);if(u==="closest"||u==="find"||u==="next"||u==="previous"){n.shift();u+=" "+c(n,Oe)}s.from=u}else if(l==="target"&&n[0]===":"){n.shift();s.target=c(n,Oe)}else if(l==="throttle"&&n[0]===":"){n.shift();s.throttle=v(c(n,Oe))}else if(l==="queue"&&n[0]===":"){n.shift();s.queue=c(n,Oe)}else if((l==="root"||l==="threshold")&&n[0]===":"){n.shift();s[l]=c(n,Oe)}else{J(e,"htmx:syntax:error",{token:n.shift()})}}r.push(s)}}if(n.length===f){J(e,"htmx:syntax:error",{token:n.shift()})}c(n,Ae)}while(n[0]===","&&n.shift())}if(r.length>0){return r}else if(d(e,"form")){return[{trigger:"submit"}]}else if(d(e,'input[type="button"]')){return[{trigger:"click"}]}else if(d(e,ke)){return[{trigger:"change"}]}else{return[{trigger:"click"}]}}function De(e){W(e).cancelled=true}function Pe(e,t,r){var n=W(e);n.timeout=setTimeout(function(){if(K(e)&&n.cancelled!==true){if(!Ue(r,pt("hx:poll:trigger",{triggerSpec:r,target:e}))){t(e)}Pe(e,t,r)}},r.pollInterval)}function Xe(e){return location.hostname===e.hostname&&f(e,"href")&&f(e,"href").indexOf("#")!==0}function Fe(t,r,e){if(t.tagName==="A"&&Xe(t)&&(t.target===""||t.target==="_self")||t.tagName==="FORM"){r.boosted=true;var n,i;if(t.tagName==="A"){n="get";i=f(t,"href")}else{var a=f(t,"method");n=a?a.toLowerCase():"get";if(n==="get"){}i=f(t,"action")}e.forEach(function(e){Ve(t,function(e){ar(n,i,t,e)},r,e,true)})}}function je(e,t){if(e.type==="submit"||e.type==="click"){if(t.tagName==="FORM"){return true}if(d(t,'input[type="submit"], button')&&N(t,"form")!==null){return true}if(t.tagName==="A"&&t.href&&(t.getAttribute("href")==="#"||t.getAttribute("href").indexOf("#")!==0)){return true}}return false}function Be(e,t){return W(e).boosted&&e.tagName==="A"&&t.type==="click"&&(t.ctrlKey||t.metaKey)}function Ue(e,t){var r=e.eventFilter;if(r){try{return r(t)!==true}catch(e){J(_().body,"htmx:eventFilter:error",{error:e,source:r.source});return true}}return false}function Ve(a,o,e,s,l){var t;if(s.from){t=I(a,s.from)}else{t=[a]}G(t,function(n){var i=function(e){if(!K(a)){n.removeEventListener(s.trigger,i);return}if(Be(a,e)){return}if(l||je(e,a)){e.preventDefault()}if(Ue(s,e)){return}var t=W(e);t.triggerSpec=s;if(t.handledFor==null){t.handledFor=[]}var r=W(a);if(t.handledFor.indexOf(a)<0){t.handledFor.push(a);if(s.consume){e.stopPropagation()}if(s.target&&e.target){if(!d(e.target,s.target)){return}}if(s.once){if(r.triggeredOnce){return}else{r.triggeredOnce=true}}if(s.changed){if(r.lastValue===a.value){return}else{r.lastValue=a.value}}if(r.delayed){clearTimeout(r.delayed)}if(r.throttle){return}if(s.throttle){if(!r.throttle){o(a,e);r.throttle=setTimeout(function(){r.throttle=null},s.throttle)}}else if(s.delay){r.delayed=setTimeout(function(){o(a,e)},s.delay)}else{o(a,e)}}};if(e.listenerInfos==null){e.listenerInfos=[]}e.listenerInfos.push({trigger:s.trigger,listener:i,on:n});n.addEventListener(s.trigger,i)})}var _e=false;var ze=null;function We(){if(!ze){ze=function(){_e=true};window.addEventListener("scroll",ze);setInterval(function(){if(_e){_e=false;G(_().querySelectorAll("[hx-trigger='revealed'],[data-hx-trigger='revealed']"),function(e){Ge(e)})}},200)}}function Ge(t){if(!o(t,"data-hx-revealed")&&b(t)){t.setAttribute("data-hx-revealed","true");var e=W(t);if(e.initialized){$(t,"revealed")}else{t.addEventListener("htmx:afterProcessNode",function(e){$(t,"revealed")},{once:true})}}}function Je(e,t,r){var n=w(r);for(var i=0;i=0){var t=Ye(n);setTimeout(function(){$e(s,r,n+1)},t)}};t.onopen=function(e){n=0};W(s).webSocket=t;t.addEventListener("message",function(e){if(Ze(s)){return}var t=e.data;xt(s,function(e){t=e.transformResponse(t,null,s)});var r=Gt(s);var n=g(t);var i=y(n.children);for(var a=0;a0){$(u,"htmx:validation:halted",i);return}t.send(JSON.stringify(l));if(je(e,u)){e.preventDefault()}})}else{J(u,"htmx:noWebSocketSourceError")}}function Ye(e){var t=U.config.wsReconnectDelay;if(typeof t==="function"){return t(e)}if(t==="full-jitter"){var r=Math.min(e,6);var n=1e3*Math.pow(2,r);return n*Math.random()}yt('htmx.config.wsReconnectDelay must either be a function or the string "full-jitter"')}function Qe(e,t,r){var n=w(r);for(var i=0;iU.config.historyCacheSize){i.shift()}while(i.length>0){try{localStorage.setItem("htmx-history-cache",JSON.stringify(i));break}catch(e){J(_().body,"htmx:historyCacheError",{cause:e,cache:i});i.shift()}}}function Et(e){if(!E()){return null}var t=S(localStorage.getItem("htmx-history-cache"))||[];for(var r=0;r=200&&this.status<400){$(_().body,"htmx:historyCacheMissLoad",i);var e=g(this.response);e=e.querySelector("[hx-history-elt],[data-hx-history-elt]")||e;var t=wt();var r=Gt(t);ye(t,e,r);Lt(r.tasks);bt=n;$(_().body,"htmx:historyRestore",{path:n})}else{J(_().body,"htmx:historyCacheMissLoadError",i)}};e.send()}function At(e){Rt();e=e||location.pathname+location.search;var t=Et(e);if(t){var r=g(t.content);var n=wt();var i=Gt(n);ye(n,r,i);Lt(i.tasks);document.title=t.title;window.scrollTo(0,t.scroll);bt=e;$(_().body,"htmx:historyRestore",{path:e})}else{if(U.config.refreshOnHistoryMiss){window.location.reload(true)}else{Tt(e)}}}function Ht(e){var t=j(e,"hx-indicator");if(t==null){t=[e]}G(t,function(e){e.classList["add"].call(e.classList,U.config.requestClass)});return t}function Nt(e){G(e,function(e){e.classList["remove"].call(e.classList,U.config.requestClass)})}function It(e,t){for(var r=0;r=0}function _t(e,t){var r=t?t:z(e,"hx-swap");var n={swapStyle:W(e).boosted?"innerHTML":U.config.defaultSwapStyle,swapDelay:U.config.defaultSwapDelay,settleDelay:U.config.defaultSettleDelay};if(W(e).boosted&&!Vt(e)){n["show"]="top"}if(r){var i=w(r);if(i.length>0){n["swapStyle"]=i[0];for(var a=1;a0?l.join(":"):null;n["scroll"]=f;n["scrollTarget"]=u}if(o.indexOf("show:")===0){var c=o.substr(5);var l=c.split(":");var h=l.pop();var u=l.length>0?l.join(":"):null;n["show"]=h;n["showTarget"]=u}if(o.indexOf("focus-scroll:")===0){var d=o.substr("focus-scroll:".length);n["focusScroll"]=d=="true"}}}}return n}function zt(e){return z(e,"hx-encoding")==="multipart/form-data"||d(e,"form")&&f(e,"enctype")==="multipart/form-data"}function Wt(t,r,n){var i=null;xt(r,function(e){if(i==null){i=e.encodeParameters(t,n,r)}});if(i!=null){return i}else{if(zt(r)){return jt(n)}else{return Ft(n)}}}function Gt(e){return{tasks:[],elts:[e]}}function Jt(e,t){var r=e[0];var n=e[e.length-1];if(t.scroll){var i=null;if(t.scrollTarget){i=Q(r,t.scrollTarget)}if(t.scroll==="top"&&(r||i)){i=i||r;i.scrollTop=0}if(t.scroll==="bottom"&&(n||i)){i=i||n;i.scrollTop=i.scrollHeight}}if(t.show){var i=null;if(t.showTarget){var a=t.showTarget;if(t.showTarget==="window"){a="body"}i=Q(r,a)}if(t.show==="top"&&(r||i)){i=i||r;i.scrollIntoView({block:"start",behavior:U.config.scrollBehavior})}if(t.show==="bottom"&&(n||i)){i=i||n;i.scrollIntoView({block:"end",behavior:U.config.scrollBehavior})}}}function $t(e,t,r,n){if(n==null){n={}}if(e==null){return n}var i=V(e,t);if(i){var a=i.trim();var o=r;if(a.indexOf("javascript:")===0){a=a.substr(11);o=true}else if(a.indexOf("js:")===0){a=a.substr(3);o=true}if(a.indexOf("{")!==0){a="{"+a+"}"}var s;if(o){s=Zt(e,function(){return Function("return ("+a+")")()},{})}else{s=S(a)}for(var l in s){if(s.hasOwnProperty(l)){if(n[l]==null){n[l]=s[l]}}}}return $t(u(e),t,r,n)}function Zt(e,t,r){if(U.config.allowEval){return t()}else{J(e,"htmx:evalDisallowedError");return r}}function Kt(e,t){return $t(e,"hx-vars",true,t)}function Yt(e,t){return $t(e,"hx-vals",false,t)}function Qt(e){return Y(Kt(e),Yt(e))}function er(t,r,n){if(n!==null){try{t.setRequestHeader(r,n)}catch(e){t.setRequestHeader(r,encodeURIComponent(n));t.setRequestHeader(r+"-URI-AutoEncoded","true")}}}function tr(t){if(t.responseURL&&typeof URL!=="undefined"){try{var e=new URL(t.responseURL);return e.pathname+e.search}catch(e){J(_().body,"htmx:badResponseUrl",{url:t.responseURL})}}}function rr(e,t){return e.getAllResponseHeaders().match(t)}function nr(e,t,r){e=e.toLowerCase();if(r){if(r instanceof Element||p(r,"String")){return ar(e,t,null,null,{targetOverride:D(r),returnPromise:true})}else{return ar(e,t,D(r.source),r.event,{handler:r.handler,headers:r.headers,values:r.values,targetOverride:D(r.target),swapOverride:r.swap,returnPromise:true})}}else{return ar(e,t,null,null,{returnPromise:true})}}function ir(e){var t=[];while(e){t.push(e);e=e.parentElement}return t}function ar(e,t,n,f,r){var c=null;var h=null;r=r!=null?r:{};if(r.returnPromise&&typeof Promise!=="undefined"){var d=new Promise(function(e,t){c=e;h=t})}if(n==null){n=_().body}var v=r.handler||sr;if(!K(n)){return}var g=r.targetOverride||re(n);if(g==null||g==ee){J(n,"htmx:targetError",{target:V(n,"hx-target")});return}var p=n;var i=W(n);var a=z(n,"hx-sync");var m=null;var x=false;if(a){var y=a.split(":");var b=y[0].trim();if(b==="this"){p=te(n,"hx-sync")}else{p=Q(n,b)}a=(y[1]||"drop").trim();i=W(p);if(a==="drop"&&i.xhr&&i.abortable!==true){return}else if(a==="abort"){if(i.xhr){return}else{x=true}}else if(a==="replace"){$(p,"htmx:abort")}else if(a.indexOf("queue")===0){var w=a.split(" ");m=(w[1]||"last").trim()}}if(i.xhr){if(i.abortable){$(p,"htmx:abort")}else{if(m==null){if(f){var S=W(f);if(S&&S.triggerSpec&&S.triggerSpec.queue){m=S.triggerSpec.queue}}if(m==null){m="last"}}if(i.queuedRequests==null){i.queuedRequests=[]}if(m==="first"&&i.queuedRequests.length===0){i.queuedRequests.push(function(){ar(e,t,n,f,r)})}else if(m==="all"){i.queuedRequests.push(function(){ar(e,t,n,f,r)})}else if(m==="last"){i.queuedRequests=[];i.queuedRequests.push(function(){ar(e,t,n,f,r)})}return}}var o=new XMLHttpRequest;i.xhr=o;i.abortable=x;var s=function(){i.xhr=null;i.abortable=false;if(i.queuedRequests!=null&&i.queuedRequests.length>0){var e=i.queuedRequests.shift();e()}};var E=z(n,"hx-prompt");if(E){var C=prompt(E);if(C===null||!$(n,"htmx:prompt",{prompt:C,target:g})){Z(c);s();return d}}var R=z(n,"hx-confirm");if(R){if(!confirm(R)){Z(c);s();return d}}var O=Bt(n,g,C);if(r.headers){O=Y(O,r.headers)}var q=Pt(n,e);var L=q.errors;var T=q.values;if(r.values){T=Y(T,r.values)}var A=Qt(n);var H=Y(T,A);var N=Ut(H,n);if(e!=="get"&&!zt(n)){O["Content-Type"]="application/x-www-form-urlencoded"}if(t==null||t===""){t=_().location.href}var I=$t(n,"hx-request");var l={parameters:N,unfilteredParameters:H,headers:O,target:g,verb:e,errors:L,withCredentials:r.credentials||I.credentials||U.config.withCredentials,timeout:r.timeout||I.timeout||U.config.timeout,path:t,triggeringEvent:f};if(!$(n,"htmx:configRequest",l)){Z(c);s();return d}t=l.path;e=l.verb;O=l.headers;N=l.parameters;L=l.errors;if(L&&L.length>0){$(n,"htmx:validation:halted",l);Z(c);s();return d}var k=t.split("#");var M=k[0];var D=k[1];var P=null;if(e==="get"){P=M;var X=Object.keys(N).length!==0;if(X){if(P.indexOf("?")<0){P+="?"}else{P+="&"}P+=Ft(N);if(D){P+="#"+D}}o.open("GET",P,true)}else{o.open(e.toUpperCase(),t,true)}o.overrideMimeType("text/html");o.withCredentials=l.withCredentials;o.timeout=l.timeout;if(I.noHeaders){}else{for(var F in O){if(O.hasOwnProperty(F)){var j=O[F];er(o,F,j)}}}var u={xhr:o,target:g,requestConfig:l,etc:r,pathInfo:{requestPath:t,finalRequestPath:P||t,anchor:D}};o.onload=function(){try{var e=ir(n);u.pathInfo.responsePath=tr(o);v(n,u);Nt(B);$(n,"htmx:afterRequest",u);$(n,"htmx:afterOnLoad",u);if(!K(n)){var t=null;while(e.length>0&&t==null){var r=e.shift();if(K(r)){t=r}}if(t){$(t,"htmx:afterRequest",u);$(t,"htmx:afterOnLoad",u)}}Z(c);s()}catch(e){J(n,"htmx:onLoadError",Y({error:e},u));throw e}};o.onerror=function(){Nt(B);J(n,"htmx:afterRequest",u);J(n,"htmx:sendError",u);Z(h);s()};o.onabort=function(){Nt(B);J(n,"htmx:afterRequest",u);J(n,"htmx:sendAbort",u);Z(h);s()};o.ontimeout=function(){Nt(B);J(n,"htmx:afterRequest",u);J(n,"htmx:timeout",u);Z(h);s()};if(!$(n,"htmx:beforeRequest",u)){Z(c);s();return d}var B=Ht(n);G(["loadstart","loadend","progress","abort"],function(t){G([o,o.upload],function(e){e.addEventListener(t,function(e){$(n,"htmx:xhr:"+t,{lengthComputable:e.lengthComputable,loaded:e.loaded,total:e.total})})})});$(n,"htmx:beforeSend",u);o.send(e==="get"?null:Wt(o,n,N));return d}function or(e,t){var r=t.xhr;var n=null;var i=null;if(rr(r,/HX-Push:/i)){n=r.getResponseHeader("HX-Push");i="push"}else if(rr(r,/HX-Push-Url:/i)){n=r.getResponseHeader("HX-Push-Url");i="push"}else if(rr(r,/HX-Replace-Url:/i)){n=r.getResponseHeader("HX-Replace-Url");i="replace"}if(n){if(n==="false"){return{}}else{return{type:i,path:n}}}var a=t.pathInfo.finalRequestPath;var o=t.pathInfo.responsePath;var s=z(e,"hx-push-url");var f=z(e,"hx-replace-url");var c=W(e).boosted;var l=null;var u=null;if(s){l="push";u=s}else if(f){l="replace";u=f}else if(c){l="push";u=o||a}if(u){if(u==="false"){return{}}if(u==="true"){u=o||a}if(t.pathInfo.anchor&&u.indexOf("#")===-1){u=u+"#"+t.pathInfo.anchor}return{type:l,path:u}}else{return{}}}function sr(s,l){var u=l.xhr;var f=l.target;var n=l.etc;if(!$(s,"htmx:beforeOnLoad",l))return;if(rr(u,/HX-Trigger:/i)){Ce(u,"HX-Trigger",s)}if(rr(u,/HX-Location:/i)){Rt();var e=u.getResponseHeader("HX-Location");var c;if(e.indexOf("{")===0){c=S(e);e=c["path"];delete c["path"]}nr("GET",e,c).then(()=>{Ot(e)});return}if(rr(u,/HX-Redirect:/i)){location.href=u.getResponseHeader("HX-Redirect");return}if(rr(u,/HX-Refresh:/i)){if("true"===u.getResponseHeader("HX-Refresh")){location.reload();return}}if(rr(u,/HX-Retarget:/i)){l.target=_().querySelector(u.getResponseHeader("HX-Retarget"))}var h=or(s,l);var i=u.status>=200&&u.status<400&&u.status!==204;var d=u.response;var t=u.status>=400;var r=Y({shouldSwap:i,serverResponse:d,isError:t},l);if(!$(f,"htmx:beforeSwap",r))return;f=r.target;d=r.serverResponse;t=r.isError;l.failed=t;l.successful=!t;if(r.shouldSwap){if(u.status===286){De(s)}xt(s,function(e){d=e.transformResponse(d,u,s)});if(h.type){Rt()}var a=n.swapOverride;if(rr(u,/HX-Reswap:/i)){a=u.getResponseHeader("HX-Reswap")}var c=_t(s,a);f.classList.add(U.config.swappingClass);var o=function(){try{var e=document.activeElement;var t={};try{t={elt:e,start:e?e.selectionStart:null,end:e?e.selectionEnd:null}}catch(e){}var n=Gt(f);Ee(c.swapStyle,f,s,d,n);if(t.elt&&!K(t.elt)&&t.elt.id){var r=document.getElementById(t.elt.id);var i={preventScroll:c.focusScroll!==undefined?!c.focusScroll:!U.config.defaultFocusScroll};if(r){if(t.start&&r.setSelectionRange){r.setSelectionRange(t.start,t.end)}r.focus(i)}}f.classList.remove(U.config.swappingClass);G(n.elts,function(e){if(e.classList){e.classList.add(U.config.settlingClass)}$(e,"htmx:afterSwap",l)});if(rr(u,/HX-Trigger-After-Swap:/i)){var a=s;if(!K(s)){a=_().body}Ce(u,"HX-Trigger-After-Swap",a)}var o=function(){G(n.tasks,function(e){e.call()});G(n.elts,function(e){if(e.classList){e.classList.remove(U.config.settlingClass)}$(e,"htmx:afterSettle",l)});if(h.type){if(h.type==="push"){Ot(h.path);$(_().body,"htmx:pushedIntoHistory",{path:h.path})}else{qt(h.path);$(_().body,"htmx:replacedInHistory",{path:h.path})}}if(l.pathInfo.anchor){var e=R("#"+l.pathInfo.anchor);if(e){e.scrollIntoView({block:"start",behavior:"auto"})}}if(n.title){var t=R("title");if(t){t.innerHTML=n.title}else{window.document.title=n.title}}Jt(n.elts,c);if(rr(u,/HX-Trigger-After-Settle:/i)){var r=s;if(!K(s)){r=_().body}Ce(u,"HX-Trigger-After-Settle",r)}};if(c.settleDelay>0){setTimeout(o,c.settleDelay)}else{o()}}catch(e){J(s,"htmx:swapError",l);throw e}};if(c.swapDelay>0){setTimeout(o,c.swapDelay)}else{o()}}if(t){J(s,"htmx:responseError",Y({error:"Response Status Error Code "+u.status+" from "+l.pathInfo.path},l))}}var lr={};function ur(){return{init:function(e){return null},onEvent:function(e,t){return true},transformResponse:function(e,t,r){return e},isInlineSwap:function(e){return false},handleSwap:function(e,t,r,n){return false},encodeParameters:function(e,t,r){return null}}}function fr(e,t){if(t.init){t.init(r)}lr[e]=Y(ur(),t)}function cr(e){delete lr[e]}function hr(e,r,n){if(e==undefined){return r}if(r==undefined){r=[]}if(n==undefined){n=[]}var t=V(e,"hx-ext");if(t){G(t.split(","),function(e){e=e.replace(/ /g,"");if(e.slice(0,7)=="ignore:"){n.push(e.slice(7));return}if(n.indexOf(e)<0){var t=lr[e];if(t&&r.indexOf(t)<0){r.push(t)}}})}return hr(u(e),r,n)}function dr(e){if(_().readyState!=="loading"){e()}else{_().addEventListener("DOMContentLoaded",e)}}function vr(){if(U.config.includeIndicatorStyles!==false){_().head.insertAdjacentHTML("beforeend","")}}function gr(){var e=_().querySelector('meta[name="htmx-config"]');if(e){return S(e.content)}else{return null}}function pr(){var e=gr();if(e){U.config=Y(U.config,e)}}dr(function(){pr();vr();var e=_().body;vt(e);var t=_().querySelectorAll("[hx-trigger='restored'],[data-hx-trigger='restored']");e.addEventListener("htmx:abort",function(e){var t=e.target;var r=W(t);if(r&&r.xhr){r.xhr.abort()}});window.onpopstate=function(e){if(e.state&&e.state.htmx){At();G(t,function(e){$(e,"htmx:restored",{document:_(),triggerEvent:$})})}};setTimeout(function(){$(e,"htmx:load",{})},0)});return U}()}); \ No newline at end of file diff --git a/core/static/js/hyperscript.min.js b/core/static/js/hyperscript.min.js new file mode 100644 index 0000000..4e22b3b --- /dev/null +++ b/core/static/js/hyperscript.min.js @@ -0,0 +1 @@ +(function(e,t){const r=t(e);if(typeof exports==="object"&&typeof exports["nodeName"]!=="string"){module.exports=r}else{e["_hyperscript"]=r;if("document"in e)e["_hyperscript"].browserInit()}})(typeof self!=="undefined"?self:this,(e=>{"use strict";const t={dynamicResolvers:[function(e,t){if(e==="Fixed"){return Number(t).toFixed()}else if(e.indexOf("Fixed:")===0){let r=e.split(":")[1];return Number(t).toFixed(parseInt(r))}}],String:function(e){if(e.toString){return e.toString()}else{return""+e}},Int:function(e){return parseInt(e)},Float:function(e){return parseFloat(e)},Number:function(e){return Number(e)},Date:function(e){return new Date(e)},Array:function(e){return Array.from(e)},JSON:function(e){return JSON.stringify(e)},Object:function(e){if(e instanceof String){e=e.toString()}if(typeof e==="string"){return JSON.parse(e)}else{return Object.assign({},e)}}};const r={attributes:"_, script, data-script",defaultTransition:"all 500ms ease-in",disableSelector:"[disable-scripting], [data-disable-scripting]",conversions:t};class n{static OP_TABLE={"+":"PLUS","-":"MINUS","*":"MULTIPLY","/":"DIVIDE",".":"PERIOD","..":"ELLIPSIS","\\":"BACKSLASH",":":"COLON","%":"PERCENT","|":"PIPE","!":"EXCLAMATION","?":"QUESTION","#":"POUND","&":"AMPERSAND",$:"DOLLAR",";":"SEMI",",":"COMMA","(":"L_PAREN",")":"R_PAREN","<":"L_ANG",">":"R_ANG","<=":"LTE_ANG",">=":"GTE_ANG","==":"EQ","===":"EQQ","!=":"NEQ","!==":"NEQQ","{":"L_BRACE","}":"R_BRACE","[":"L_BRACKET","]":"R_BRACKET","=":"EQUALS"};static isValidCSSClassChar(e){return n.isAlpha(e)||n.isNumeric(e)||e==="-"||e==="_"||e===":"}static isValidCSSIDChar(e){return n.isAlpha(e)||n.isNumeric(e)||e==="-"||e==="_"||e===":"}static isWhitespace(e){return e===" "||e==="\t"||n.isNewline(e)}static positionString(e){return"[Line: "+e.line+", Column: "+e.column+"]"}static isNewline(e){return e==="\r"||e==="\n"}static isNumeric(e){return e>="0"&&e<="9"}static isAlpha(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"}static isIdentifierChar(e,t){return e==="_"||e==="$"}static isReservedChar(e){return e==="`"||e==="^"}static isValidSingleQuoteStringStart(e){if(e.length>0){var t=e[e.length-1];if(t.type==="IDENTIFIER"||t.type==="CLASS_REF"||t.type==="ID_REF"){return false}if(t.op&&(t.value===">"||t.value===")")){return false}}return true}static tokenize(e,t){var r=[];var a=e;var o=0;var s=0;var u=1;var l="";var c=0;function f(){return t&&c===0}while(o=0){return this.consumeToken()}}requireToken(e,t){var r=this.matchToken(e,t);if(r){return r}else{this.raiseError(this,"Expected '"+e+"' but found '"+this.currentToken().value+"'")}}peekToken(e,t,r){return this.tokens[t]&&this.tokens[t].value===e&&this.tokens[t].type===r}matchToken(e,t){if(this.follows.indexOf(e)!==-1){return}t=t||"IDENTIFIER";if(this.currentToken()&&this.currentToken().value===e&&this.currentToken().type===t){return this.consumeToken()}}consumeToken(){var e=this.tokens.shift();this.consumed.push(e);this._lastConsumed=e;this.consumeWhitespace();return e}consumeUntil(e,t){var r=[];var n=this.token(0,true);while((t==null||n.type!==t)&&(e==null||n.value!==e)&&n.type!=="EOF"){var i=this.tokens.shift();this.consumed.push(i);r.push(n);n=this.token(0,true)}this.consumeWhitespace();return r}lastWhitespace(){if(this.consumed[this.consumed.length-1]&&this.consumed[this.consumed.length-1].type==="WHITESPACE"){return this.consumed[this.consumed.length-1].value}else{return""}}consumeUntilWhitespace(){return this.consumeUntil(null,"WHITESPACE")}hasMore(){return this.tokens.length>0}token(e,t){var r;var n=0;do{if(!t){while(this.tokens[n]&&this.tokens[n].type==="WHITESPACE"){n++}}r=this.tokens[n];e--;n++}while(e>-1);if(r){return r}else{return{type:"EOF",value:"<<>>"}}}currentToken(){return this.token(0)}lastMatch(){return this._lastConsumed}static sourceFor=function(){return this.programSource.substring(this.startToken.start,this.endToken.end)};static lineFor=function(){return this.programSource.split("\n")[this.startToken.line-1]};follows=[];pushFollow(e){this.follows.push(e)}popFollow(){this.follows.pop()}clearFollows(){var e=this.follows;this.follows=[];return e}restoreFollows(e){this.follows=e}}class a{constructor(e){this.runtime=e;this.possessivesDisabled=false;this.addGrammarElement("feature",(function(e,t,r){if(r.matchOpToken("(")){var n=e.requireElement("feature",r);r.requireOpToken(")");return n}var i=e.FEATURES[r.currentToken().value||""];if(i){return i(e,t,r)}}));this.addGrammarElement("command",(function(e,t,r){if(r.matchOpToken("(")){const t=e.requireElement("command",r);r.requireOpToken(")");return t}var n=e.COMMANDS[r.currentToken().value||""];let i;if(n){i=n(e,t,r)}else if(r.currentToken().type==="IDENTIFIER"){i=e.parseElement("pseudoCommand",r)}if(i){return e.parseElement("indirectStatement",r,i)}return i}));this.addGrammarElement("commandList",(function(e,t,r){var n=e.parseElement("command",r);if(n){r.matchToken("then");const t=e.parseElement("commandList",r);if(t)n.next=t;return n}}));this.addGrammarElement("leaf",(function(e,t,r){var n=e.parseAnyOf(e.LEAF_EXPRESSIONS,r);if(n==null){return e.parseElement("symbol",r)}return n}));this.addGrammarElement("indirectExpression",(function(e,t,r,n){for(var i=0;i{this.unifiedExec(e,t)})).catch((e=>{this.unifiedExec({op:function(){throw e}},t)}));return}else if(r===o.HALT){if(t.meta.finallyHandler&&!t.meta.handlingFinally){t.meta.handlingFinally=true;e=t.meta.finallyHandler}else{if(t.meta.onHalt){t.meta.onHalt()}if(t.meta.currentException){if(t.meta.reject){t.meta.reject(t.meta.currentException);return}else{throw t.meta.currentException}}else{return}}}else{e=r}}}unifiedEval(e,t){var r=[t];var n=false;var i=false;if(e.args){for(var a=0;a{r=this.wrapArrays(r);Promise.all(r).then((function(r){if(i){this.unwrapAsyncs(r)}try{var a=e.op.apply(e,r);t(a)}catch(e){n(e)}})).catch((function(e){n(e)}))}))}else{if(i){this.unwrapAsyncs(r)}return e.op.apply(e,r)}}_scriptAttrs=null;getScriptAttributes(){if(this._scriptAttrs==null){this._scriptAttrs=r.attributes.replace(/ /g,"").split(",")}return this._scriptAttrs}getScript(e){for(var t=0;t{this.initElement(e,e instanceof HTMLScriptElement&&e.type==="text/hyperscript"?document.body:e)}))}}initElement(e,t){if(e.closest&&e.closest(r.disableSelector)){return}var n=this.getInternalData(e);if(!n.initialized){var i=this.getScript(e);if(i){try{n.initialized=true;n.script=i;const r=this.lexer,s=this.parser;var a=r.tokenize(i);var o=s.parseHyperScript(a);if(!o)return;o.apply(t||e,e);setTimeout((()=>{this.triggerEvent(t||e,"load",{hyperscript:true})}),1)}catch(t){this.triggerEvent(e,"exception",{error:t});console.error("hyperscript errors were found on the following element:",e,"\n\n",t.message,t.stack)}}}}internalDataMap=new WeakMap;getInternalData(e){var t=this.internalDataMap.get(e);if(typeof t==="undefined"){this.internalDataMap.set(e,t={})}return t}typeCheck(e,t,r){if(e==null&&r){return true}var n=Object.prototype.toString.call(e).slice(8,-1);return n===t}getElementScope(e){var t=e.meta&&e.meta.owner;if(t){var r=this.getInternalData(t);var n="elementScope";if(e.meta.feature&&e.meta.feature.behavior){n=e.meta.feature.behavior+"Scope"}var i=c(r,n);return i}else{return{}}}isReservedWord(e){return["meta","it","result","locals","event","target","detail","sender","body"].includes(e)}isHyperscriptContext(e){return e instanceof s}resolveSymbol(t,r,n){if(t==="me"||t==="my"||t==="I"){return r.me}if(t==="it"||t==="its"||t==="result"){return r.result}if(t==="you"||t==="your"||t==="yourself"){return r.you}else{if(n==="global"){return e[t]}else if(n==="element"){var i=this.getElementScope(r);return i[t]}else if(n==="local"){return r.locals[t]}else{if(r.meta&&r.meta.context){var a=r.meta.context[t];if(typeof a!=="undefined"){return a}}if(this.isHyperscriptContext(r)&&!this.isReservedWord(t)){var o=r.locals[t]}else{var o=r[t]}if(typeof o!=="undefined"){return o}else{var i=this.getElementScope(r);o=i[t];if(typeof o!=="undefined"){return o}else{return e[t]}}}}}setSymbol(t,r,n,i){if(n==="global"){e[t]=i}else if(n==="element"){var a=this.getElementScope(r);a[t]=i}else if(n==="local"){r.locals[t]=i}else{if(this.isHyperscriptContext(r)&&!this.isReservedWord(t)&&typeof r.locals[t]!=="undefined"){r.locals[t]=i}else{var a=this.getElementScope(r);var o=a[t];if(typeof o!=="undefined"){a[t]=i}else{if(this.isHyperscriptContext(r)&&!this.isReservedWord(t)){r.locals[t]=i}else{r[t]=i}}}}}findNext(e,t){if(e){if(e.resolveNext){return e.resolveNext(t)}else if(e.next){return e.next}else{return this.findNext(e.parent,t)}}}flatGet(e,t,r){if(e!=null){var n=r(e,t);if(typeof n!=="undefined"){return n}if(this.shouldAutoIterate(e)){var i=[];for(var a of e){var o=r(a,t);i.push(o)}return i}}}resolveProperty(e,t){return this.flatGet(e,t,((e,t)=>e[t]))}resolveAttribute(e,t){return this.flatGet(e,t,((e,t)=>e.getAttribute&&e.getAttribute(t)))}resolveStyle(e,t){return this.flatGet(e,t,((e,t)=>e.style&&e.style[t]))}resolveComputedStyle(e,t){return this.flatGet(e,t,((e,t)=>getComputedStyle(e).getPropertyValue(t)))}assignToNamespace(t,r,n,i){let a;if(typeof document!=="undefined"&&t===document.body){a=e}else{a=this.getHyperscriptFeatures(t)}var o;while((o=r.shift())!==undefined){var s=a[o];if(s==null){s={};a[o]=s}a=s}a[n]=i}getHyperTrace(e,t){var r=[];var n=e;while(n.meta.caller){n=n.meta.caller}if(n.meta.traceMap){return n.meta.traceMap.get(t,r)}}registerHyperTrace(e,t){var r=[];var n=null;while(e!=null){r.push(e);n=e;e=e.meta.caller}if(n.meta.traceMap==null){n.meta.traceMap=new Map}if(!n.meta.traceMap.get(t)){var i={trace:r,print:function(e){e=e||console.error;e("hypertrace /// ");var t=0;for(var n=0;n",i.meta.feature.displayName.padEnd(t+2),"-",i.meta.owner)}}};n.meta.traceMap.set(t,i)}}escapeSelector(e){return e.replace(/:/g,(function(e){return"\\"+e}))}nullCheck(e,t){if(e==null){throw new Error("'"+t.sourceFor()+"' is null")}}isEmpty(e){return e==undefined||e.length===0}doesExist(e){if(e==null){return false}if(this.shouldAutoIterate(e)){for(const t of e){return true}}return false}getRootNode(e){if(e&&e instanceof Node){var t=e.getRootNode();if(t instanceof Document||t instanceof ShadowRoot)return t}return document}getEventQueueFor(e,t){let r=this.getInternalData(e);var n=r.eventQueues;if(n==null){n=new Map;r.eventQueues=n}var i=n.get(t);if(i==null){i={queue:[],executing:false};n.set(t,i)}return i}hyperscriptUrl="document"in e?document.currentScript.src:null}class s{constructor(t,r,n,i,a){this.meta={parser:a.parser,lexer:a.lexer,runtime:a,owner:t,feature:r,iterators:{},ctx:this};this.locals={};this.me=n,this.you=undefined;this.result=undefined;this.event=i;this.target=i?i.target:null;this.detail=i?i.detail:null;this.sender=i?i.detail?i.detail.sender:null:null;this.body="document"in e?document.body:null;a.addFeatures(t,this)}}class u{constructor(e,t,r){this._css=e;this.relativeToElement=t;this.escape=r;this[l]=true}get css(){if(this.escape){return o.prototype.escapeSelector(this._css)}else{return this._css}}get className(){return this._css.substr(1)}get id(){return this.className()}contains(e){for(let t of this){if(t.contains(e)){return true}}return false}get length(){return this.selectMatches().length}[Symbol.iterator](){let e=this.selectMatches();return e[Symbol.iterator]()}selectMatches(){let e=o.prototype.getRootNode(this.relativeToElement).querySelectorAll(this.css);return e}}const l=Symbol();function c(e,t){var r=e[t];if(r){return r}else{var n={};e[t]=n;return n}}function f(e){try{return JSON.parse(e)}catch(e){m(e);return null}}function m(e){if(console.error){console.error(e)}else if(console.log){console.log("ERROR: ",e)}}function p(e,t){return new(e.bind.apply(e,[e].concat(t)))}function h(t){t.addLeafExpression("parenthesized",(function(e,t,r){if(r.matchOpToken("(")){var n=r.clearFollows();try{var i=e.requireElement("expression",r)}finally{r.restoreFollows(n)}r.requireOpToken(")");return i}}));t.addLeafExpression("string",(function(e,t,r){var i=r.matchTokenType("STRING");if(!i)return;var a=i.value;var o;if(i.template){var s=n.tokenize(a,true);o=e.parseStringTemplate(s)}else{o=[]}return{type:"string",token:i,args:o,op:function(e){var t="";for(var r=1;re instanceof Element))}get css(){let e="",t=0;for(const r of this.templateParts){if(r instanceof Element){e+="[data-hs-query-id='"+t+++"']"}else e+=r}return e}[Symbol.iterator](){this.elements.forEach(((e,t)=>e.dataset.hsQueryId=t));const e=super[Symbol.iterator]();this.elements.forEach((e=>e.removeAttribute("data-hs-query-id")));return e}}t.addLeafExpression("queryRef",(function(e,t,i){var a=i.matchOpToken("<");if(!a)return;var o=i.consumeUntil("/");i.requireOpToken("/");i.requireOpToken(">");var s=o.map((function(e){if(e.type==="STRING"){return'"'+e.value+'"'}else{return e.value}})).join("");var l,c,f;if(s.indexOf("$")>=0){l=true;c=n.tokenize(s,true);f=e.parseStringTemplate(c)}return{type:"queryRef",css:s,args:f,op:function(e,...t){if(l){return new r(s,e.me,t)}else{return new u(s,e.me)}},evaluate:function(e){return t.unifiedEval(this,e)}}}));t.addLeafExpression("attributeRef",(function(e,t,r){var n=r.matchTokenType("ATTRIBUTE_REF");if(!n)return;if(!n.value)return;var i=n.value;if(i.indexOf("[")===0){var a=i.substring(2,i.length-1)}else{var a=i.substring(1)}var o="["+a+"]";var s=a.split("=");var u=s[0];var l=s[1];if(l){if(l.indexOf('"')===0){l=l.substring(1,l.length-1)}}return{type:"attributeRef",name:u,css:o,value:l,op:function(e){var t=e.you||e.me;if(t){return t.getAttribute(u)}},evaluate:function(e){return t.unifiedEval(this,e)}}}));t.addLeafExpression("styleRef",(function(e,t,r){var n=r.matchTokenType("STYLE_REF");if(!n)return;if(!n.value)return;var i=n.value.substr(1);if(i.startsWith("computed-")){i=i.substr("computed-".length);return{type:"computedStyleRef",name:i,op:function(e){var r=e.you||e.me;if(r){return t.resolveComputedStyle(r,i)}},evaluate:function(e){return t.unifiedEval(this,e)}}}else{return{type:"styleRef",name:i,op:function(e){var r=e.you||e.me;if(r){return t.resolveStyle(r,i)}},evaluate:function(e){return t.unifiedEval(this,e)}}}}));t.addGrammarElement("objectKey",(function(e,t,r){var n;if(n=r.matchTokenType("STRING")){return{type:"objectKey",key:n.value,evaluate:function(){return n.value}}}else if(r.matchOpToken("[")){var i=e.parseElement("expression",r);r.requireOpToken("]");return{type:"objectKey",expr:i,args:[i],op:function(e,t){return t},evaluate:function(e){return t.unifiedEval(this,e)}}}else{var a="";do{n=r.matchTokenType("IDENTIFIER")||r.matchOpToken("-");if(n)a+=n.value}while(n);return{type:"objectKey",key:a,evaluate:function(){return a}}}}));t.addLeafExpression("objectLiteral",(function(e,t,r){if(!r.matchOpToken("{"))return;var n=[];var i=[];if(!r.matchOpToken("}")){do{var a=e.requireElement("objectKey",r);r.requireOpToken(":");var o=e.requireElement("expression",r);i.push(o);n.push(a)}while(r.matchOpToken(","));r.requireOpToken("}")}return{type:"objectLiteral",args:[n,i],op:function(e,t,r){var n={};for(var i=0;i");var a=e.requireElement("expression",r);return{type:"blockLiteral",args:n,expr:a,evaluate:function(e){var t=function(){for(var t=0;t=0;a--){var o=i[a];if(o.compareDocumentPosition(e)===Node.DOCUMENT_POSITION_FOLLOWING){return o}}if(n){return i[i.length-1]}};var f=function(e,t,r,n){var i=[];o.prototype.forEach(t,(function(t){if(t.matches(r)||t===e){i.push(t)}}));for(var a=0;a","<=",">=","==","===","!=","!==");var a=i?i.value:null;var o=true;var s=false;if(a==null){if(r.matchToken("is")||r.matchToken("am")){if(r.matchToken("not")){if(r.matchToken("in")){a="not in"}else if(r.matchToken("a")){a="not a";s=true}else if(r.matchToken("empty")){a="not empty";o=false}else{a="!="}}else if(r.matchToken("in")){a="in"}else if(r.matchToken("a")){a="a";s=true}else if(r.matchToken("empty")){a="empty";o=false}else if(r.matchToken("less")){r.requireToken("than");if(r.matchToken("or")){r.requireToken("equal");r.requireToken("to");a="<="}else{a="<"}}else if(r.matchToken("greater")){r.requireToken("than");if(r.matchToken("or")){r.requireToken("equal");r.requireToken("to");a=">="}else{a=">"}}else{a="=="}}else if(r.matchToken("exist")||r.matchToken("exists")){a="exist";o=false}else if(r.matchToken("matches")||r.matchToken("match")){a="match"}else if(r.matchToken("contains")||r.matchToken("contain")){a="contain"}else if(r.matchToken("includes")||r.matchToken("include")){a="include"}else if(r.matchToken("do")||r.matchToken("does")){r.requireToken("not");if(r.matchToken("matches")||r.matchToken("match")){a="not match"}else if(r.matchToken("contains")||r.matchToken("contain")){a="not contain"}else if(r.matchToken("exist")||r.matchToken("exist")){a="not exist";o=false}else if(r.matchToken("include")){a="not include"}else{e.raiseParseError(r,"Expected matches or contains")}}}if(a){var u,l,c;if(s){u=r.requireTokenType("IDENTIFIER");l=!r.matchOpToken("!")}else if(o){c=e.requireElement("mathExpression",r);if(a==="match"||a==="not match"){c=c.css?c.css:c}}var f=n;n={type:"comparisonOperator",operator:a,typeName:u,nullOk:l,lhs:n,rhs:c,args:[n,c],op:function(e,r,n){if(a==="=="){return r==n}else if(a==="!="){return r!=n}if(a==="match"){return r!=null&&v(f,r,n)}if(a==="not match"){return r==null||!v(f,r,n)}if(a==="in"){return n!=null&&h(c,n,r)}if(a==="not in"){return n==null||!h(c,n,r)}if(a==="contain"){return r!=null&&h(f,r,n)}if(a==="not contain"){return r==null||!h(f,r,n)}if(a==="include"){return r!=null&&h(f,r,n)}if(a==="not include"){return r==null||!h(f,r,n)}if(a==="==="){return r===n}else if(a==="!=="){return r!==n}else if(a==="<"){return r"){return r>n}else if(a==="<="){return r<=n}else if(a===">="){return r>=n}else if(a==="empty"){return t.isEmpty(r)}else if(a==="not empty"){return!t.isEmpty(r)}else if(a==="exist"){return t.doesExist(r)}else if(a==="not exist"){return!t.doesExist(r)}else if(a==="a"){return t.typeCheck(r,u.value,l)}else if(a==="not a"){return!t.typeCheck(r,u.value,l)}else{throw"Unknown comparison : "+a}},evaluate:function(e){return t.unifiedEval(this,e)}}}return n}));t.addGrammarElement("comparisonExpression",(function(e,t,r){return e.parseAnyOf(["comparisonOperator","mathExpression"],r)}));t.addGrammarElement("logicalOperator",(function(e,t,r){var n=e.parseElement("comparisonExpression",r);var i,a=null;i=r.matchToken("and")||r.matchToken("or");while(i){a=a||i;if(a.value!==i.value){e.raiseParseError(r,"You must parenthesize logical operations with different operators")}var o=e.requireElement("comparisonExpression",r);const s=i.value;n={type:"logicalOperator",operator:s,lhs:n,rhs:o,args:[n,o],op:function(e,t,r){if(s==="and"){return t&&r}else{return t||r}},evaluate:function(e){return t.unifiedEval(this,e)}};i=r.matchToken("and")||r.matchToken("or")}return n}));t.addGrammarElement("logicalExpression",(function(e,t,r){return e.parseAnyOf(["logicalOperator","mathExpression"],r)}));t.addGrammarElement("asyncExpression",(function(e,t,r){if(r.matchToken("async")){var n=e.requireElement("logicalExpression",r);var i={type:"asyncExpression",value:n,evaluate:function(e){return{asyncWrapper:true,value:this.value.evaluate(e)}}};return i}else{return e.parseElement("logicalExpression",r)}}));t.addGrammarElement("expression",(function(e,t,r){r.matchToken("the");return e.parseElement("asyncExpression",r)}));t.addGrammarElement("assignableExpression",(function(e,t,r){r.matchToken("the");var n=e.parseElement("primaryExpression",r);if(n&&(n.type==="symbol"||n.type==="ofExpression"||n.type==="propertyAccess"||n.type==="attributeRefAccess"||n.type==="attributeRef"||n.type==="styleRef"||n.type==="arrayIndex"||n.type==="possessive")){return n}else{e.raiseParseError(r,"A target expression must be writable. The expression type '"+(n&&n.type)+"' is not.")}return n}));t.addGrammarElement("hyperscript",(function(e,t,r){var n=[];if(r.hasMore()){while(e.featureStart(r.currentToken())||r.currentToken().value==="("){var i=e.requireElement("feature",r);n.push(i);r.matchToken("end")}}return{type:"hyperscript",features:n,apply:function(e,t,r){for(const i of n){i.install(e,t,r)}}}}));var d=function(e){var t=[];if(e.token(0).value==="("&&(e.token(1).value===")"||e.token(2).value===","||e.token(2).value===")")){e.matchOpToken("(");do{t.push(e.requireTokenType("IDENTIFIER"))}while(e.matchOpToken(","));e.requireOpToken(")")}return t};t.addFeature("on",(function(e,t,r){if(!r.matchToken("on"))return;var n=false;if(r.matchToken("every")){n=true}var i=[];var a=null;do{var o=e.requireElement("eventName",r,"Expected event name");var s=o.evaluate();if(a){a=a+" or "+s}else{a="on "+s}var u=d(r);var l=null;if(r.matchOpToken("[")){l=e.requireElement("expression",r);r.requireOpToken("]")}var c,f,m;if(r.currentToken().type==="NUMBER"){var p=r.consumeToken();if(!p.value)return;c=parseInt(p.value);if(r.matchToken("to")){var h=r.consumeToken();if(!h.value)return;f=parseInt(h.value)}else if(r.matchToken("and")){m=true;r.requireToken("on")}}var v,E;if(s==="intersection"){v={};if(r.matchToken("with")){v["with"]=e.requireElement("expression",r).evaluate()}if(r.matchToken("having")){do{if(r.matchToken("margin")){v["rootMargin"]=e.requireElement("stringLike",r).evaluate()}else if(r.matchToken("threshold")){v["threshold"]=e.requireElement("expression",r).evaluate()}else{e.raiseParseError(r,"Unknown intersection config specification")}}while(r.matchToken("and"))}}else if(s==="mutation"){E={};if(r.matchToken("of")){do{if(r.matchToken("anything")){E["attributes"]=true;E["subtree"]=true;E["characterData"]=true;E["childList"]=true}else if(r.matchToken("childList")){E["childList"]=true}else if(r.matchToken("attributes")){E["attributes"]=true;E["attributeOldValue"]=true}else if(r.matchToken("subtree")){E["subtree"]=true}else if(r.matchToken("characterData")){E["characterData"]=true;E["characterDataOldValue"]=true}else if(r.currentToken().type==="ATTRIBUTE_REF"){var T=r.consumeToken();if(E["attributeFilter"]==null){E["attributeFilter"]=[]}if(T.value.indexOf("@")==0){E["attributeFilter"].push(T.value.substring(1))}else{e.raiseParseError(r,"Only shorthand attribute references are allowed here")}}else{e.raiseParseError(r,"Unknown mutation config specification")}}while(r.matchToken("or"))}else{E["attributes"]=true;E["characterData"]=true;E["childList"]=true}}var y=null;var k=false;if(r.matchToken("from")){if(r.matchToken("elsewhere")){k=true}else{y=e.parseElement("expression",r);if(!y){e.raiseParseError(r,'Expected either target value or "elsewhere".')}}}if(y===null&&k===false&&r.matchToken("elsewhere")){k=true}if(r.matchToken("in")){var x=e.parseElement("unaryExpression",r)}if(r.matchToken("debounced")){r.requireToken("at");var g=e.requireElement("expression",r);var b=g.evaluate({})}else if(r.matchToken("throttled")){r.requireToken("at");var g=e.requireElement("expression",r);var w=g.evaluate({})}i.push({execCount:0,every:n,on:s,args:u,filter:l,from:y,inExpr:x,elsewhere:k,startCount:c,endCount:f,unbounded:m,debounceTime:b,throttleTime:w,mutationSpec:E,intersectionSpec:v,debounced:undefined,lastExec:undefined})}while(r.matchToken("or"));var S=true;if(!n){if(r.matchToken("queue")){if(r.matchToken("all")){var q=true;var S=false}else if(r.matchToken("first")){var N=true}else if(r.matchToken("none")){var I=true}else{r.requireToken("last")}}}var R=e.requireElement("commandList",r);e.ensureTerminated(R);var C,A;if(r.matchToken("catch")){C=r.requireTokenType("IDENTIFIER").value;A=e.requireElement("commandList",r);e.ensureTerminated(A)}if(r.matchToken("finally")){var O=e.requireElement("commandList",r);e.ensureTerminated(O)}var L={displayName:a,events:i,start:R,every:n,execCount:0,errorHandler:A,errorSymbol:C,execute:function(e){let r=t.getEventQueueFor(e.me,L);if(r.executing&&n===false){if(I||N&&r.queue.length>0){return}if(S){r.queue.length=0}r.queue.push(e);return}L.execCount++;r.executing=true;e.meta.onHalt=function(){r.executing=false;var e=r.queue.shift();if(e){setTimeout((function(){L.execute(e)}),1)}};e.meta.reject=function(r){console.error(r.message?r.message:r);var n=t.getHyperTrace(e,r);if(n){n.print()}t.triggerEvent(e.me,"exception",{error:r})};R.execute(e)},install:function(e,r){for(const r of L.events){var n;if(r.elsewhere){n=[document]}else if(r.from){n=r.from.evaluate(t.makeContext(e,L,e,null))}else{n=[e]}t.implicitLoop(n,(function(n){var i=r.on;if(n==null){console.warn("'%s' feature ignored because target does not exists:",a,e);return}if(r.mutationSpec){i="hyperscript:mutation";const e=new MutationObserver((function(e,r){if(!L.executing){t.triggerEvent(n,i,{mutationList:e,observer:r})}}));e.observe(n,r.mutationSpec)}if(r.intersectionSpec){i="hyperscript:insersection";const e=new IntersectionObserver((function(r){for(const o of r){var a={observer:e};a=Object.assign(a,o);a["intersecting"]=o.isIntersecting;t.triggerEvent(n,i,a)}}),r.intersectionSpec);e.observe(n)}var o=n.addEventListener||n.on;o.call(n,i,(function a(o){if(typeof Node!=="undefined"&&e instanceof Node&&n!==e&&!e.isConnected){n.removeEventListener(i,a);return}var s=t.makeContext(e,L,e,o);if(r.elsewhere&&e.contains(o.target)){return}if(r.from){s.result=n}for(const e of r.args){let t=s.event[e.value];if(t!==undefined){s.locals[e.value]=t}else if("detail"in s.event){s.locals[e.value]=s.event["detail"][e.value]}}s.meta.errorHandler=A;s.meta.errorSymbol=C;s.meta.finallyHandler=O;if(r.filter){var u=s.meta.context;s.meta.context=s.event;try{var l=r.filter.evaluate(s);if(l){}else{return}}finally{s.meta.context=u}}if(r.inExpr){var c=o.target;while(true){if(c.matches&&c.matches(r.inExpr.css)){s.result=c;break}else{c=c.parentElement;if(c==null){return}}}}r.execCount++;if(r.startCount){if(r.endCount){if(r.execCountr.endCount){return}}else if(r.unbounded){if(r.execCount{var a=false;for(const s of i){var o=n=>{e.result=n;if(s.args){for(const t of s.args){e.locals[t.value]=n[t.value]||(n.detail?n.detail[t.value]:null)}}if(!a){a=true;r(t.findNext(this,e))}};if(s.name){n.addEventListener(s.name,o,{once:true})}else if(s.time!=null){setTimeout(o,s.time,s.time)}}}))}};return n}else{var s;if(r.matchToken("a")){r.requireToken("tick");s=0}else{s=e.requireElement("expression",r)}n={type:"waitCmd",time:s,args:[s],op:function(e,r){return new Promise((n=>{setTimeout((()=>{n(t.findNext(this,e))}),r)}))},execute:function(e){return t.unifiedExec(this,e)}};return n}}));t.addGrammarElement("dotOrColonPath",(function(e,t,r){var n=r.matchTokenType("IDENTIFIER");if(n){var i=[n.value];var a=r.matchOpToken(".")||r.matchOpToken(":");if(a){do{i.push(r.requireTokenType("IDENTIFIER","NUMBER").value)}while(r.matchOpToken(a.value))}return{type:"dotOrColonPath",path:i,evaluate:function(){return i.join(a?a.value:"")}}}}));t.addGrammarElement("eventName",(function(e,t,r){var n;if(n=r.matchTokenType("STRING")){return{evaluate:function(){return n.value}}}return e.parseElement("dotOrColonPath",r)}));function E(e,t,r,n){var i=t.requireElement("eventName",n);var a=t.parseElement("namedArgumentList",n);if(e==="send"&&n.matchToken("to")||e==="trigger"&&n.matchToken("on")){var o=t.requireElement("expression",n)}else{var o=t.requireElement("implicitMeTarget",n)}var s={eventName:i,details:a,to:o,args:[o,i,a],op:function(e,t,n,i){r.nullCheck(t,o);r.forEach(t,(function(t){r.triggerEvent(t,n,i,e.me)}));return r.findNext(s,e)}};return s}t.addCommand("trigger",(function(e,t,r){if(r.matchToken("trigger")){return E("trigger",e,t,r)}}));t.addCommand("send",(function(e,t,r){if(r.matchToken("send")){return E("send",e,t,r)}}));var T=function(e,t,r,n){if(n){if(e.commandBoundary(r.currentToken())){e.raiseParseError(r,"'return' commands must return a value. If you do not wish to return a value, use 'exit' instead.")}else{var i=e.requireElement("expression",r)}}var a={value:i,args:[i],op:function(e,r){var n=e.meta.resolve;e.meta.returned=true;e.meta.returnValue=r;if(n){if(r){n(r)}else{n()}}return t.HALT}};return a};t.addCommand("return",(function(e,t,r){if(r.matchToken("return")){return T(e,t,r,true)}}));t.addCommand("exit",(function(e,t,r){if(r.matchToken("exit")){return T(e,t,r,false)}}));t.addCommand("halt",(function(e,t,r){if(r.matchToken("halt")){if(r.matchToken("the")){r.requireToken("event");if(r.matchOpToken("'")){r.requireToken("s")}var n=true}if(r.matchToken("bubbling")){var i=true}else if(r.matchToken("default")){var a=true}var o=T(e,t,r,false);var s={keepExecuting:true,bubbling:i,haltDefault:a,exit:o,op:function(e){if(e.event){if(i){e.event.stopPropagation()}else if(a){e.event.preventDefault()}else{e.event.stopPropagation();e.event.preventDefault()}if(n){return t.findNext(this,e)}else{return o}}}};return s}}));t.addCommand("log",(function(e,t,r){if(!r.matchToken("log"))return;var n=[e.parseElement("expression",r)];while(r.matchOpToken(",")){n.push(e.requireElement("expression",r))}if(r.matchToken("with")){var i=e.requireElement("expression",r)}var a={exprs:n,withExpr:i,args:[i,n],op:function(e,r,n){if(r){r.apply(null,n)}else{console.log.apply(null,n)}return t.findNext(this,e)}};return a}));t.addCommand("throw",(function(e,t,r){if(!r.matchToken("throw"))return;var n=e.requireElement("expression",r);var i={expr:n,args:[n],op:function(e,r){t.registerHyperTrace(e,r);throw r}};return i}));var y=function(e,t,r){var n=e.requireElement("expression",r);var i={expr:n,args:[n],op:function(e,r){e.result=r;return t.findNext(i,e)}};return i};t.addCommand("call",(function(e,t,r){if(!r.matchToken("call"))return;var n=y(e,t,r);if(n.expr&&n.expr.type!=="functionCall"){e.raiseParseError(r,"Must be a function invocation")}return n}));t.addCommand("get",(function(e,t,r){if(r.matchToken("get")){return y(e,t,r)}}));t.addCommand("make",(function(e,t,r){if(!r.matchToken("make"))return;r.matchToken("a")||r.matchToken("an");var n=e.requireElement("expression",r);var i=[];if(n.type!=="queryRef"&&r.matchToken("from")){do{i.push(e.requireElement("expression",r))}while(r.matchOpToken(","))}if(r.matchToken("called")){var a=e.requireElement("symbol",r)}var o;if(n.type==="queryRef"){o={op:function(e){var r,i="div",o,s=[];var u=/(?:(^|#|\.)([^#\. ]+))/g;while(r=u.exec(n.css)){if(r[1]==="")i=r[2].trim();else if(r[1]==="#")o=r[2].trim();else s.push(r[2].trim())}var l=document.createElement(i);if(o!==undefined)l.id=o;for(var c=0;c{if(!r.matchToken("pick"))return;r.matchToken("the");if(r.matchToken("item")||r.matchToken("items")||r.matchToken("character")||r.matchToken("characters")){const n=g(e,t,r);r.requireToken("from");const i=e.requireElement("expression",r);return{args:[i,n.from,n.to],op(e,r,i,a){if(n.toEnd)a=r.length;if(!n.includeStart)i++;if(n.includeEnd)a++;if(a==null||a==undefined)a=i+1;e.result=r.slice(i,a);return t.findNext(this,e)}}}if(r.matchToken("match")){r.matchToken("of");const n=e.parseElement("expression",r);let i="";if(r.matchOpToken("|")){i=r.requireToken("identifier").value}r.requireToken("from");const a=e.parseElement("expression",r);return{args:[a,n],op(e,r,n){e.result=new RegExp(n,i).exec(r);return t.findNext(this,e)}}}if(r.matchToken("matches")){r.matchToken("of");const n=e.parseElement("expression",r);let i="gu";if(r.matchOpToken("|")){i="g"+r.requireToken("identifier").value.replace("g","")}console.log("flags",i);r.requireToken("from");const a=e.parseElement("expression",r);return{args:[a,n],op(e,r,n){e.result=new w(n,i,r);return t.findNext(this,e)}}}}));t.addCommand("increment",(function(e,t,r){if(!r.matchToken("increment"))return;var n;var i=e.parseElement("assignableExpression",r);if(r.matchToken("by")){n=e.requireElement("expression",r)}var a={type:"implicitIncrementOp",target:i,args:[i,n],op:function(e,t,r){t=t?parseFloat(t):0;r=n?parseFloat(r):1;var i=t+r;e.result=i;return i},evaluate:function(e){return t.unifiedEval(this,e)}};return k(e,t,r,i,a)}));t.addCommand("decrement",(function(e,t,r){if(!r.matchToken("decrement"))return;var n;var i=e.parseElement("assignableExpression",r);if(r.matchToken("by")){n=e.requireElement("expression",r)}var a={type:"implicitDecrementOp",target:i,args:[i,n],op:function(e,t,r){t=t?parseFloat(t):0;r=n?parseFloat(r):1;var i=t-r;e.result=i;return i},evaluate:function(e){return t.unifiedEval(this,e)}};return k(e,t,r,i,a)}));function S(e,t){var r="text";var n;e.matchToken("a")||e.matchToken("an");if(e.matchToken("json")||e.matchToken("Object")){r="json"}else if(e.matchToken("response")){r="response"}else if(e.matchToken("html")){r="html"}else if(e.matchToken("text")){}else{n=t.requireElement("dotOrColonPath",e).evaluate()}return{type:r,conversion:n}}t.addCommand("fetch",(function(e,t,r){if(!r.matchToken("fetch"))return;var n=e.requireElement("stringLike",r);if(r.matchToken("as")){var i=S(r,e)}if(r.matchToken("with")&&r.currentToken().value!=="{"){var a=e.parseElement("nakedNamedArgumentList",r)}else{var a=e.parseElement("objectLiteral",r)}if(i==null&&r.matchToken("as")){i=S(r,e)}var o=i?i.type:"text";var s=i?i.conversion:null;var u={url:n,argExpressions:a,args:[n,a],op:function(e,r,n){var i=n||{};i["sender"]=e.me;i["headers"]=i["headers"]||{};var a=new AbortController;let l=e.me.addEventListener("fetch:abort",(function(){a.abort()}),{once:true});i["signal"]=a.signal;t.triggerEvent(e.me,"hyperscript:beforeFetch",i);t.triggerEvent(e.me,"fetch:beforeRequest",i);n=i;var c=false;if(n.timeout){setTimeout((function(){if(!c){a.abort()}}),n.timeout)}return fetch(r,n).then((function(r){let n={response:r};t.triggerEvent(e.me,"fetch:afterResponse",n);r=n.response;if(o==="response"){e.result=r;t.triggerEvent(e.me,"fetch:afterRequest",{result:r});c=true;return t.findNext(u,e)}if(o==="json"){return r.json().then((function(r){e.result=r;t.triggerEvent(e.me,"fetch:afterRequest",{result:r});c=true;return t.findNext(u,e)}))}return r.text().then((function(r){if(s)r=t.convertValue(r,s);if(o==="html")r=t.convertValue(r,"Fragment");e.result=r;t.triggerEvent(e.me,"fetch:afterRequest",{result:r});c=true;return t.findNext(u,e)}))})).catch((function(r){t.triggerEvent(e.me,"fetch:error",{reason:r});throw r})).finally((function(){e.me.removeEventListener("fetch:abort",l)}))}};return u}))}function v(e){e.addCommand("settle",(function(e,t,r){if(r.matchToken("settle")){if(!e.commandBoundary(r.currentToken())){var n=e.requireElement("expression",r)}else{var n=e.requireElement("implicitMeTarget",r)}var i={type:"settleCmd",args:[n],op:function(e,r){t.nullCheck(r,n);var a=null;var o=false;var s=false;var u=new Promise((function(e){a=e}));r.addEventListener("transitionstart",(function(){s=true}),{once:true});setTimeout((function(){if(!s&&!o){a(t.findNext(i,e))}}),500);r.addEventListener("transitionend",(function(){if(!o){a(t.findNext(i,e))}}),{once:true});return u},execute:function(e){return t.unifiedExec(this,e)}};return i}}));e.addCommand("add",(function(e,t,r){if(r.matchToken("add")){var n=e.parseElement("classRef",r);var i=null;var a=null;if(n==null){i=e.parseElement("attributeRef",r);if(i==null){a=e.parseElement("styleLiteral",r);if(a==null){e.raiseParseError(r,"Expected either a class reference or attribute expression")}}}else{var o=[n];while(n=e.parseElement("classRef",r)){o.push(n)}}if(r.matchToken("to")){var s=e.requireElement("expression",r)}else{var s=e.requireElement("implicitMeTarget",r)}if(r.matchToken("when")){if(a){e.raiseParseError(r,"Only class and properties are supported with a when clause")}var u=e.requireElement("expression",r)}if(o){return{classRefs:o,to:s,args:[s,o],op:function(e,r,n){t.nullCheck(r,s);t.forEach(n,(function(n){t.implicitLoop(r,(function(r){if(u){e.result=r;let i=t.evaluateNoPromise(u,e);if(i){if(r instanceof Element)r.classList.add(n.className)}else{if(r instanceof Element)r.classList.remove(n.className)}e.result=null}else{if(r instanceof Element)r.classList.add(n.className)}}))}));return t.findNext(this,e)}}}else if(i){return{type:"addCmd",attributeRef:i,to:s,args:[s],op:function(e,r,n){t.nullCheck(r,s);t.implicitLoop(r,(function(r){if(u){e.result=r;let n=t.evaluateNoPromise(u,e);if(n){r.setAttribute(i.name,i.value)}else{r.removeAttribute(i.name)}e.result=null}else{r.setAttribute(i.name,i.value)}}));return t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}}else{return{type:"addCmd",cssDeclaration:a,to:s,args:[s,a],op:function(e,r,n){t.nullCheck(r,s);t.implicitLoop(r,(function(e){e.style.cssText+=n}));return t.findNext(this,e)},execute:function(e){return t.unifiedExec(this,e)}}}}}));e.addGrammarElement("styleLiteral",(function(e,t,r){if(!r.matchOpToken("{"))return;var n=[""];var i=[];while(r.hasMore()){if(r.matchOpToken("\\")){r.consumeToken()}else if(r.matchOpToken("}")){break}else if(r.matchToken("$")){var a=r.matchOpToken("{");var o=e.parseElement("expression",r);if(a)r.requireOpToken("}");i.push(o);n.push("")}else{var s=r.consumeToken();n[n.length-1]+=r.source.substring(s.start,s.end)}n[n.length-1]+=r.lastWhitespace()}return{type:"styleLiteral",args:[i],op:function(e,t){var r="";n.forEach((function(e,n){r+=e;if(n in t)r+=t[n]}));return r},evaluate:function(e){return t.unifiedEval(this,e)}}}));e.addCommand("remove",(function(e,t,r){if(r.matchToken("remove")){var n=e.parseElement("classRef",r);var i=null;var a=null;if(n==null){i=e.parseElement("attributeRef",r);if(i==null){a=e.parseElement("expression",r);if(a==null){e.raiseParseError(r,"Expected either a class reference, attribute expression or value expression")}}}else{var o=[n];while(n=e.parseElement("classRef",r)){o.push(n)}}if(r.matchToken("from")){var s=e.requireElement("expression",r)}else{if(a==null){var s=e.requireElement("implicitMeTarget",r)}}if(a){return{elementExpr:a,from:s,args:[a,s],op:function(e,r,n){t.nullCheck(r,a);t.implicitLoop(r,(function(e){if(e.parentElement&&(n==null||n.contains(e))){e.parentElement.removeChild(e)}}));return t.findNext(this,e)}}}else{return{classRefs:o,attributeRef:i,elementExpr:a,from:s,args:[o,s],op:function(e,r,n){t.nullCheck(n,s);if(r){t.forEach(r,(function(e){t.implicitLoop(n,(function(t){t.classList.remove(e.className)}))}))}else{t.implicitLoop(n,(function(e){e.removeAttribute(i.name)}))}return t.findNext(this,e)}}}}}));e.addCommand("toggle",(function(e,t,r){if(r.matchToken("toggle")){r.matchAnyToken("the","my");if(r.currentToken().type==="STYLE_REF"){let t=r.consumeToken();var n=t.value.substr(1);var a=true;var o=i(e,r,n);if(r.matchToken("of")){r.pushFollow("with");try{var s=e.requireElement("expression",r)}finally{r.popFollow()}}else{var s=e.requireElement("implicitMeTarget",r)}}else if(r.matchToken("between")){var u=true;var l=e.parseElement("classRef",r);r.requireToken("and");var c=e.requireElement("classRef",r)}else{var l=e.parseElement("classRef",r);var f=null;if(l==null){f=e.parseElement("attributeRef",r);if(f==null){e.raiseParseError(r,"Expected either a class reference or attribute expression")}}else{var m=[l];while(l=e.parseElement("classRef",r)){m.push(l)}}}if(a!==true){if(r.matchToken("on")){var s=e.requireElement("expression",r)}else{var s=e.requireElement("implicitMeTarget",r)}}if(r.matchToken("for")){var p=e.requireElement("expression",r)}else if(r.matchToken("until")){var h=e.requireElement("dotOrColonPath",r,"Expected event name");if(r.matchToken("from")){var v=e.requireElement("expression",r)}}var d={classRef:l,classRef2:c,classRefs:m,attributeRef:f,on:s,time:p,evt:h,from:v,toggle:function(e,r,n,i){t.nullCheck(e,s);if(a){t.implicitLoop(e,(function(e){o("toggle",e)}))}else if(u){t.implicitLoop(e,(function(e){if(e.classList.contains(r.className)){e.classList.remove(r.className);e.classList.add(n.className)}else{e.classList.add(r.className);e.classList.remove(n.className)}}))}else if(i){t.forEach(i,(function(r){t.implicitLoop(e,(function(e){e.classList.toggle(r.className)}))}))}else{t.forEach(e,(function(e){if(e.hasAttribute(f.name)){e.removeAttribute(f.name)}else{e.setAttribute(f.name,f.value)}}))}},args:[s,p,h,v,l,c,m],op:function(e,r,n,i,a,o,s,u){if(n){return new Promise((function(i){d.toggle(r,o,s,u);setTimeout((function(){d.toggle(r,o,s,u);i(t.findNext(d,e))}),n)}))}else if(i){return new Promise((function(n){var l=a||e.me;l.addEventListener(i,(function(){d.toggle(r,o,s,u);n(t.findNext(d,e))}),{once:true});d.toggle(r,o,s,u)}))}else{this.toggle(r,o,s,u);return t.findNext(d,e)}}};return d}}));var t={display:function(r,n,i){if(i){n.style.display=i}else if(r==="toggle"){if(getComputedStyle(n).display==="none"){t.display("show",n,i)}else{t.display("hide",n,i)}}else if(r==="hide"){const t=e.runtime.getInternalData(n);if(t.originalDisplay==null){t.originalDisplay=n.style.display}n.style.display="none"}else{const t=e.runtime.getInternalData(n);if(t.originalDisplay&&t.originalDisplay!=="none"){n.style.display=t.originalDisplay}else{n.style.removeProperty("display")}}},visibility:function(e,r,n){if(n){r.style.visibility=n}else if(e==="toggle"){if(getComputedStyle(r).visibility==="hidden"){t.visibility("show",r,n)}else{t.visibility("hide",r,n)}}else if(e==="hide"){r.style.visibility="hidden"}else{r.style.visibility="visible"}},opacity:function(e,r,n){if(n){r.style.opacity=n}else if(e==="toggle"){if(getComputedStyle(r).opacity==="0"){t.opacity("show",r,n)}else{t.opacity("hide",r,n)}}else if(e==="hide"){r.style.opacity="0"}else{r.style.opacity="1"}}};var n=function(e,t,r){var n;var i=r.currentToken();if(i.value==="when"||i.value==="with"||e.commandBoundary(i)){n=e.parseElement("implicitMeTarget",r)}else{n=e.parseElement("expression",r)}return n};var i=function(e,n,i){var a=r.defaultHideShowStrategy;var o=t;if(r.hideShowStrategies){o=Object.assign(o,r.hideShowStrategies)}i=i||a||"display";var s=o[i];if(s==null){e.raiseParseError(n,"Unknown show/hide strategy : "+i)}return s};e.addCommand("hide",(function(e,t,r){if(r.matchToken("hide")){var a=n(e,t,r);var o=null;if(r.matchToken("with")){o=r.requireTokenType("IDENTIFIER","STYLE_REF").value;if(o.indexOf("*")===0){o=o.substr(1)}}var s=i(e,r,o);return{target:a,args:[a],op:function(e,r){t.nullCheck(r,a);t.implicitLoop(r,(function(e){s("hide",e)}));return t.findNext(this,e)}}}}));e.addCommand("show",(function(e,t,r){if(r.matchToken("show")){var a=n(e,t,r);var o=null;if(r.matchToken("with")){o=r.requireTokenType("IDENTIFIER","STYLE_REF").value;if(o.indexOf("*")===0){o=o.substr(1)}}var s=null;if(r.matchOpToken(":")){var u=r.consumeUntilWhitespace();r.matchTokenType("WHITESPACE");s=u.map((function(e){return e.value})).join("")}if(r.matchToken("when")){var l=e.requireElement("expression",r)}var c=i(e,r,o);return{target:a,when:l,args:[a],op:function(e,r){t.nullCheck(r,a);t.implicitLoop(r,(function(r){if(l){e.result=r;let n=t.evaluateNoPromise(l,e);if(n){c("show",r,s)}else{c("hide",r)}e.result=null}else{c("show",r,s)}}));return t.findNext(this,e)}}}}));e.addCommand("take",(function(e,t,r){if(r.matchToken("take")){var n=e.requireElement("classRef",r);if(r.matchToken("from")){var i=e.requireElement("expression",r)}else{var i=n}if(r.matchToken("for")){var a=e.requireElement("expression",r)}else{var a=e.requireElement("implicitMeTarget",r)}var o={classRef:n,from:i,forElt:a,args:[n,i,a],op:function(e,r,n,o){t.nullCheck(n,i);t.nullCheck(o,a);var s=r.className;t.implicitLoop(n,(function(e){e.classList.remove(s)}));t.implicitLoop(o,(function(e){e.classList.add(s)}));return t.findNext(this,e)}};return o}}));function a(t,r,n,i){if(n!=null){var a=t.resolveSymbol(n,r)}else{var a=r}if(a instanceof Element||a instanceof HTMLDocument){while(a.firstChild)a.removeChild(a.firstChild);a.append(e.runtime.convertValue(i,"Fragment"));t.processNode(a)}else{if(n!=null){t.setSymbol(n,r,null,i)}else{throw"Don't know how to put a value into "+typeof r}}}e.addCommand("put",(function(e,t,r){if(r.matchToken("put")){var n=e.requireElement("expression",r);var i=r.matchAnyToken("into","before","after");if(i==null&&r.matchToken("at")){r.matchToken("the");i=r.matchAnyToken("start","end");r.requireToken("of")}if(i==null){e.raiseParseError(r,"Expected one of 'into', 'before', 'at start of', 'at end of', 'after'")}var o=e.requireElement("expression",r);var s=i.value;var u=false;var l=false;var c=null;var f=null;if(o.type==="arrayIndex"&&s==="into"){u=true;f=o.prop;c=o.root}else if(o.prop&&o.root&&s==="into"){f=o.prop.value;c=o.root}else if(o.type==="symbol"&&s==="into"){l=true;f=o.name}else if(o.type==="attributeRef"&&s==="into"){var m=true;f=o.name;c=e.requireElement("implicitMeTarget",r)}else if(o.type==="styleRef"&&s==="into"){var p=true;f=o.name;c=e.requireElement("implicitMeTarget",r)}else if(o.attribute&&s==="into"){var m=o.attribute.type==="attributeRef";var p=o.attribute.type==="styleRef";f=o.attribute.name;c=o.root}else{c=o}var h={target:o,operation:s,symbolWrite:l,value:n,args:[c,f,n],op:function(e,r,n,i){if(l){a(t,e,n,i)}else{t.nullCheck(r,c);if(s==="into"){if(m){t.implicitLoop(r,(function(e){e.setAttribute(n,i)}))}else if(p){t.implicitLoop(r,(function(e){e.style[n]=i}))}else if(u){r[n]=i}else{t.implicitLoop(r,(function(e){a(t,e,n,i)}))}}else{var o=s==="before"?Element.prototype.before:s==="after"?Element.prototype.after:s==="start"?Element.prototype.prepend:s==="end"?Element.prototype.append:Element.prototype.append;t.implicitLoop(r,(function(e){o.call(e,i instanceof Node?i:t.convertValue(i,"Fragment"));if(e.parentElement){t.processNode(e.parentElement)}else{t.processNode(e)}}))}}return t.findNext(this,e)}};return h}}));function o(e,t,r){var n;if(r.matchToken("the")||r.matchToken("element")||r.matchToken("elements")||r.currentToken().type==="CLASS_REF"||r.currentToken().type==="ID_REF"||r.currentToken().op&&r.currentToken().value==="<"){e.possessivesDisabled=true;try{n=e.parseElement("expression",r)}finally{delete e.possessivesDisabled}if(r.matchOpToken("'")){r.requireToken("s")}}else if(r.currentToken().type==="IDENTIFIER"&&r.currentToken().value==="its"){var i=r.matchToken("its");n={type:"pseudopossessiveIts",token:i,name:i.value,evaluate:function(e){return t.resolveSymbol("it",e)}}}else{r.matchToken("my")||r.matchToken("me");n=e.parseElement("implicitMeTarget",r)}return n}e.addCommand("transition",(function(e,t,n){if(n.matchToken("transition")){var i=o(e,t,n);var a=[];var s=[];var u=[];var l=n.currentToken();while(!e.commandBoundary(l)&&l.value!=="over"&&l.value!=="using"){if(n.currentToken().type==="STYLE_REF"){let e=n.consumeToken();let t=e.value.substr(1);a.push({type:"styleRefValue",evaluate:function(){return t}})}else{a.push(e.requireElement("stringLike",n))}if(n.matchToken("from")){s.push(e.requireElement("expression",n))}else{s.push(null)}n.requireToken("to");if(n.matchToken("initial")){u.push({type:"initial_literal",evaluate:function(){return"initial"}})}else{u.push(e.requireElement("expression",n))}l=n.currentToken()}if(n.matchToken("over")){var c=e.requireElement("expression",n)}else if(n.matchToken("using")){var f=e.requireElement("expression",n)}var m={to:u,args:[i,a,s,u,f,c],op:function(e,n,a,o,s,u,l){t.nullCheck(n,i);var c=[];t.implicitLoop(n,(function(e){var n=new Promise((function(n,i){var c=e.style.transition;if(l){e.style.transition="all "+l+"ms ease-in"}else if(u){e.style.transition=u}else{e.style.transition=r.defaultTransition}var f=t.getInternalData(e);var m=getComputedStyle(e);var p={};for(var h=0;he.forEach((e=>x(e))))).then((()=>n((function(){a();d.processNode(document.documentElement);e.document.addEventListener("htmx:load",(function(e){d.processNode(e.detail.elt)}))}))));function n(e){if(document.readyState!=="loading"){setTimeout(e)}else{document.addEventListener("DOMContentLoaded",e)}}function i(){var e=document.querySelector('meta[name="htmx-config"]');if(e){return f(e.content)}else{return null}}function a(){var e=i();if(e){Object.assign(r,e)}}}const x=Object.assign(y,{config:r,use(e){e(x)},internals:{lexer:E,parser:T,runtime:d,Lexer:n,Tokens:i,Parser:a,Runtime:o},ElementCollection:u,addFeature:T.addFeature.bind(T),addCommand:T.addCommand.bind(T),addLeafExpression:T.addLeafExpression.bind(T),addIndirectExpression:T.addIndirectExpression.bind(T),evaluate:d.evaluate.bind(d),parse:d.parse.bind(d),processNode:d.processNode.bind(d),browserInit:k});return x})); diff --git a/core/static/js/magnet.min.js b/core/static/js/magnet.min.js new file mode 100644 index 0000000..37f25e7 --- /dev/null +++ b/core/static/js/magnet.min.js @@ -0,0 +1,2 @@ +(()=>{"use strict";const t=function(t,e){return t instanceof DOMPoint?DOMPoint.fromPoint(t):t instanceof DOMRect?new DOMPoint(t.x,t.y):new DOMPoint(t,e)},e=t;function n(e){const{best:n}=e;return t(n.x?.rawDistance??0,n.y?.rawDistance??0)}const a=/[|;,\s]/;function s(t,e){if(null===t)return[];const n=t.split(a);return void 0===e?n:Object.values(e).filter((t=>n.includes(t)))}function o(t,e){const n=Array.isArray(t)?t:[t];return void 0===e?n.join("|"):Object.values(e).filter((t=>n.includes(t))).join("|")}const r=function(t,e){return customElements.get(e)?Promise.reject(new Error(`Already defined <${e}>`)):(customElements.define(e,t),customElements.whenDefined(e))};var i;!function(t){t.topToTop="topToTop",t.topToBottom="topToBottom",t.rightToRight="rightToRight",t.rightToLeft="rightToLeft",t.bottomToTop="bottomToTop",t.bottomToBottom="bottomToBottom",t.leftToRight="leftToRight",t.leftToLeft="leftToLeft",t.xCenterToXCenter="xCenterToXCenter",t.yCenterToYCenter="yCenterToYCenter"}(i||(i={}));const c=[i.rightToRight,i.rightToLeft,i.leftToRight,i.leftToLeft,i.xCenterToXCenter],l=[i.topToTop,i.topToBottom,i.bottomToTop,i.bottomToBottom,i.yCenterToYCenter],u=i;var g;let h;!function(t){t.outer="outer",t.inner="inner",t.center="center",t.extend="extend"}(g||(g={})),function(t){t.inner="inner",t.center="center"}(h||(h={}));const f=g;var d;!function(t){t.disabled="disabled",t.group="group",t.unattractable="unattractable",t.unmovable="unmovable",t.attractDistance="attract-distance",t.alignTo="align-to",t.alignToParent="align-to-parent",t.crossPrevent="cross-prevent",t.offsetUnit="offset-unit"}(d||(d={}));const m=d;var b;!function(t){t.parent="parent"}(b||(b={}));const p=b;var T;!function(t){t.magnetstart="magnetstart",t.magnetmove="magnetmove",t.magnetend="magnetend",t.attract="attract",t.attracted="attracted",t.attractmove="attractmove",t.attractedmove="attractedmove",t.unattract="unattract",t.unattracted="unattracted"}(T||(T={}));const y=T;var D;!function(t){t.pixel="px",t.px="px",t.percentage="%",t["%"]="%"}(D||(D={}));const x=D,{isNaN:v}=globalThis,{abs:P}=Math,A=document.createElement("template"),M={[m.disabled]:!1,[m.group]:null,[m.attractDistance]:10,[m.unattractable]:!1,[m.unmovable]:!1,get[m.alignTo](){return[f.outer,f.center,f.extend]},get[m.alignToParent](){return[]},get[m.crossPrevent](){return[]},[m.offsetUnit]:x.pixel};A.innerHTML="\n \n \n \n";class w extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"}),this.shadowRoot.append(A.content.cloneNode(!0))}static get ALIGNMENT(){return{...u}}static get ALIGN_TO(){return{...f}}static get ALIGN_TO_PARENT(){return{...h}}static get CROSS_PREVENT(){return{...p}}static get EVENT(){return{...y}}static getAlignmentsFromAlignTo(t){const e=Array.isArray(t)?t:[t],n=[];return e.includes(f.outer)&&n.push(u.topToBottom,u.rightToLeft,u.bottomToTop,u.leftToRight),e.includes(f.inner)&&n.push(u.topToTop,u.rightToRight,u.bottomToBottom,u.leftToLeft),e.includes(f.center)&&n.push(u.xCenterToXCenter,u.yCenterToYCenter),n}static getMagnetAttractionOffset=n;get disabled(){return null!==this.traceMagnetAttributeValue(m.disabled)}set disabled(t){t?this.setAttribute(m.disabled,""):this.removeAttribute(m.disabled)}get group(){return this.traceMagnetAttributeValue(m.group)}set group(t){null===t||0===t.length?this.removeAttribute(m.group):this.setAttribute(m.group,t)}get parentMagnet(){const t=this.getAttribute(m.group);let e=this.parentElement;for(;e;){if(e instanceof w){const n=e.getAttribute(m.group);if(null===t||null===n||t===n)return e}e=e.parentElement}return null}get unattractable(){return null!==this.traceMagnetAttributeValue(m.unattractable)}set unattractable(t){t?this.setAttribute(m.unattractable,""):this.removeAttribute(m.unattractable)}get unmovable(){return null!==this.traceMagnetAttributeValue(m.unmovable)}set unmovable(t){t?this.setAttribute(m.unmovable,""):this.removeAttribute(m.unmovable)}get attractDistance(){const t=this.traceMagnetAttributeValue(m.attractDistance);return null===t?M[m.attractDistance]:Number(t)}set attractDistance(t){if(null===t)this.removeAttribute(m.attractDistance);else{if(v(t))throw new TypeError(`Invalid attraction distance: ${t}`);if(t<0)throw new RangeError(`Attraction distance should be greater than 0: ${t}`);t!==this.attractDistance&&this.setAttribute(m.attractDistance,`${t}`)}}get alignTos(){const t=this.traceMagnetAttributeValue(m.alignTo);return null===t?M[m.alignTo]:s(t,f)}set alignTos(t){this.setAttribute(m.alignTo,o(Array.isArray(t)?t:s(t,f)))}get alignToParents(){const t=this.traceMagnetAttributeValue(m.alignToParent);return null===t?M[m.alignToParent]:s(t,h)}set alignToParents(t){this.setAttribute(m.alignToParent,o(Array.isArray(t)?t:s(t,h)))}get alignments(){return w.getAlignmentsFromAlignTo(this.alignTos)}get parentAlignments(){return w.getAlignmentsFromAlignTo(this.alignToParents)}get crossPrevents(){const t=this.traceMagnetAttributeValue(m.crossPrevent);return null===t?M[m.crossPrevent]:s(t,p)}set crossPrevents(t){this.setAttribute(m.crossPrevent,o(Array.isArray(t)?t:s(t,p)))}get offsetUnit(){const t=this.traceMagnetAttributeValue(m.offsetUnit);return null===t?M[m.offsetUnit]:t}set offsetUnit(t){if(null===t)this.removeAttribute(m.offsetUnit);else{if(!Object.values(x).includes(t))throw new Error(`Invalid offset unit: ${t}`);t!==this.offsetUnit&&this.setAttribute(m.offsetUnit,t)}}traceMagnetAttributeValue(t){const e=this.getAttribute(t);if(null!==e)return e;const{parentMagnet:n}=this;return n?n.traceMagnetAttributeValue(t):null}}r(w,"magnet-pack");const C=w;function R(t,...e){if(t instanceof Window)return new DOMRect(0,0,t.innerWidth,t.innerHeight);if(t instanceof Document)return document.body.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();if(E.isPack(t))return DOMRect.fromRect(t.rect);if("object"!=typeof t){const n=t,[a,s,o]=e;return new DOMRect(n,a,s,o)}const{top:n,right:a,bottom:s,left:o,x:r=o,y:i=n,width:c=a-r,height:l=s-i}=t;return new DOMRect(r,i,c,l)}function k(t){return E.isPack(t)?t.rect:t instanceof DOMRect?t:R(t)}const B=R;class J{constructor(t,e=k(t)){const n=J.isPack(t)?t.raw:t;this.raw=n,this.rect=e,Object.freeze(this)}static isPack(t){return t instanceof J}}function O(t){return J.isPack(t)?t:new J(t)}const E=J,L=function(t,e,n){switch(n){default:return 1/0;case u.topToTop:return e.top-t.top;case u.topToBottom:return e.bottom-t.top;case u.rightToRight:return e.right-t.right;case u.rightToLeft:return e.left-t.right;case u.bottomToTop:return e.top-t.bottom;case u.bottomToBottom:return e.bottom-t.bottom;case u.leftToRight:return e.right-t.left;case u.leftToLeft:return e.left-t.left;case u.xCenterToXCenter:return(e.right+e.left-(t.right+t.left))/2;case u.yCenterToYCenter:return(e.top+e.bottom-(t.top+t.bottom))/2}},j=()=>!0,F=()=>!1;function N(t,e){const n=t.right+t.left,a=e.right+e.left;return P(n-a)/2}function X(t,e){const n=t.top+t.bottom,a=e.top+e.bottom;return P(n-a)/2}const Y=function(t,e,n={}){const a=O(t),s=e.map((t=>O(t))),{attractDistance:o=M[m.attractDistance],alignTos:r=M[m.alignTo],alignments:i=C.getAlignmentsFromAlignTo(r),onJudgeDistance:c=j,onJudgeAttraction:l=j,attractionBest:g={}}=n,h={attractDistance:o,alignTos:r,alignments:i,onJudgeDistance:c};return s.reduce(((t,e)=>{const n=it.prototype.attractionTo.call(a,e,h),{best:s,results:r}=n,i=l({source:a,target:e,results:[...r],best:{x:s.x,y:s.y}});if(t.target.push(e),i){const{results:e,best:n}=t;if(e.push(...r),s.x)if(void 0===n.x||s.x.absDistancee)s.x.alignment===u.leftToLeft&&(n.x=s.x);else if(s.x.rawDistance<-e)s.x.alignment===u.rightToRight&&(n.x=s.x);else if(s.x.alignment===u.xCenterToXCenter){const e=s.x.target.rect,a=n.x.target.rect,o=e.top+e.bottom,r=a.top+a.bottom,i=t.top+t.bottom,c=P(o-i);P(r-i)e)s.y.alignment===u.topToTop&&(n.y=s.y);else if(s.y.alignment===u.yCenterToYCenter){const e=s.y.target.rect,a=n.y.target.rect,o=e.right+e.left,r=a.right+a.left,i=t.right+t.left,c=P(o-i);P(r-i){const n=it.prototype.distanceTo.call(a,s,e);if(g({...n},{attractDistance:o,alignTos:r})){const{results:a,best:s}=t;if(a.push(n),c.includes(e)){if(void 0===s.x||n.absDistancet?n.alignment===u.leftToLeft&&(s.x=n):n.rawDistance<-t?n.alignment===u.rightToRight&&(s.x=n):n.alignment===u.xCenterToXCenter&&(s.x=n)}}else if(l.includes(e))if(void 0===s.y||n.absDistancet?n.alignment===u.topToTop&&(s.y=n):n.alignment===u.yCenterToYCenter&&(s.y=n)}}return t}),{source:a,target:s,results:[],best:{}})},I=function(t){return Boolean(t.best.x??t.best.y)},$=function(){return!0};function U(t,e,n,a){e.forEach((e=>{!function(t,e,n,a){t.addEventListener(e,n,a)}(t,e,n,a)}))}function S(t,e,n,a){e.forEach((e=>{t.removeEventListener(e,n,a)}))}function W(t,e,n){return t.dispatchEvent(new CustomEvent(e,n))}const H=function(t,n){let a=0,s=0;return t.leftn.right&&(a=n.right-t.right),t.topn.bottom&&(s=n.bottom-t.bottom),e(a,s)},z=function(t,a,s={}){const o=t.raw,{ignoreEvent:r=!(o instanceof HTMLElement),alignToParents:i=M[m.alignToParent],crossPrevents:c=M[m.crossPrevent],parentPack:l,lastAttractionBest:u,onJudgeMovement:g=j}=s,h=u?.x,f=u?.y,d=it.getAlignmentsFromAlignTo(i).length>0,b=c.includes(p.parent)&&l,T=k(t),{width:D,height:x}=T,v=k(l??T),P=T,A=b?H(P,v):e(0,0),w=B(P.x+A.x,P.y+A.y,D,x),C=new E(o,w),R=g(C),J=[],O=[],L=[],N=t=>{r||O.forEach((e=>{const n=e.target,a=n.raw,s={source:C,target:n,sourceNextRect:t};W(a,y.unattracted,{bubbles:!0,cancelable:!1,composed:!0,detail:s})}))};if(!R)return h&&O.push(h),f&&O.push(f),N(w),{position:null,attractionBest:null};const X={},{unattractable:I=M[m.unattractable],attractDistance:$=M[m.attractDistance],alignTos:U=M[m.alignTo],alignments:S=it.getAlignmentsFromAlignTo(U),onJudgeDistanceInParent:z=j}=s,_=new E(o,P),G=I?F:s.onJudgeDistance??j;if(d&&l){const{best:t}=V(_,l,{attractDistance:$,alignTos:U,alignments:S,onJudgeDistance:G});X.x=t.x,X.y=t.y}const q=b?t=>z(t,{attractDistance:$,alignTos:U,parent:l,onJudgeDistance:G}):G,K=I?F:s.onJudgeAttraction??j,Q=Y(_,a,{attractDistance:$,alignTos:U,alignments:S,onJudgeDistance:q,onJudgeAttraction:K,attractionBest:X}),Z=Q.best,tt=n(Q),et=B(P.x+tt.x,P.y+tt.y,D,x),nt=b?H(et,v):e(0,0),at=B(et.x+nt.x,et.y+nt.y,D,x);if(!r){const{x:t,y:n}=Z,a=h?.target,s=f?.target,r=t?.target,i=n?.target,c=i!==s;if(r!==a)a&&O.push(h),r&&J.push(t);else if(r){const e=h?.alignment;e!==t.alignment?J.push(t):L.push(t)}if(c)s&&O.push(f),i&&J.push(n);else if(i){const t=f?.alignment;t!==n.alignment?J.push(n):L.push(n)}if(J.length>0){const t={source:C,nextRect:at,attraction:Q};if(!W(o,y.attract,{bubbles:!0,cancelable:!0,composed:!0,detail:t}))return h&&O.push(h),f&&O.push(f),{position:e(P.x+A.x,P.y+A.y),attractionBest:null}}if(O.length>0){const t={source:C,nextRect:at,attraction:Q};W(o,y.unattract,{bubbles:!0,cancelable:!1,composed:!0,detail:t})}if(L.length>0){const t={source:C,nextRect:at,attraction:Q};W(o,y.attractmove,{bubbles:!0,cancelable:!1,composed:!0,detail:t})}}var st;return st=at,r||J.forEach((t=>{const e=t.target,n=e.raw,a={source:C,target:e,sourceNextRect:st,distance:t};W(n,y.attracted,{bubbles:!0,cancelable:!1,composed:!0,detail:a})})),N(at),(t=>{r||L.forEach((e=>{const n=e.target,a=n.raw,s={source:C,target:n,sourceNextRect:t,distance:e};W(a,y.attractedmove,{bubbles:!0,cancelable:!1,composed:!0,detail:s})}))})(at),{position:e(P.x+tt.x+nt.x,P.y+tt.y+nt.y),attractionBest:Z}},_=function(e){const{clientX:n,clientY:a}=e;return t(n,a)},G=["pointerdown"],q=["pointermove"],K=["pointerup"];function Q(t){t.resetMagnetRect(),t.resetParentPack(),t.resetTargetMagnetPacks()}function Z(t,n,a){const{magnetRect:s,targetMagnetPacks:o,judgeMagnetMovement:r}=this,{position:i,attractionBest:c}=z(new E(this,B(s.x+a.x-t.x,s.y+a.y-t.y,s.width,s.height)),o,{unattractable:this.unattractable,attractDistance:this.attractDistance,alignTos:this.alignTos,alignToParents:this.alignToParents,crossPrevents:this.crossPrevents,parentPack:this.parentPack,lastAttractionBest:this.lastAttractionBest,onJudgeDistance:this.judgeMagnetDistance,onJudgeDistanceInParent:this.judgeMagnetDistanceInParent,onJudgeAttraction:this.judgeMagnetAttraction,onJudgeMovement:n=>{if(!r(n))return!1;const s={source:n,targets:o,startPoint:e(t),movePoint:e(a)};return W(this,y.magnetmove,{bubbles:!0,cancelable:!0,composed:!0,detail:s})}});return this.setMagnetOffset((i?.x??s.x)-s.x+n.x,(i?.y??s.y)-s.y+n.y),this.lastAttractionBest=c,a}function tt(t){if(this.disabled||this.unmovable)return;const n=_(t);this.isMoving=!1,Q(this);const{magnetRect:a,targetMagnetPacks:s}=this,o={source:new E(this,a),targets:s,startPoint:e(n)};if(!W(this,y.magnetstart,{bubbles:!0,cancelable:!0,composed:!0,detail:o}))return;let r=n;const i=Z.bind(this,n,this.lastOffset),c=t=>{const e=_(t);r=i(e)},l=new MutationObserver((()=>{i(r)})),u=()=>{this.isMoving=!1,this.style.removeProperty("z-index"),S(document,q,c),S(document,K,u),l.disconnect(),Q(this),W(this,y.magnetend,{bubbles:!0,cancelable:!1,composed:!0})};this.isMoving=!0,this.style.setProperty("z-index",`${Date.now()}`),t.preventDefault(),U(document,q,c),U(document,K,u),l.observe(this,{attributes:!0,attributeFilter:Object.values(m)}),i(r)}function et(t){t.disabled||t.unmovable?function(t){S(t,G,tt)}(t):function(t){U(t,G,tt)}(t)}var nt;!function(t){t.offsetX="--offset-x",t.offsetY="--offset-y"}(nt||(nt={}));const at=nt,st="magnet-block",ot=document.createElement("template");ot.innerHTML=`\n \n \n \n`;class rt extends C{rectCache=null;parentPackCache=null;targetMagnetPacksCache=null;isMoving=!1;lastOffset=e(0,0);lastAttractionBest=null;constructor(){super(),this.shadowRoot.append(ot.content.cloneNode(!0)),et(this)}get disabled(){return super.disabled}set disabled(t){super.disabled=t,et(this)}get unmovable(){return super.unmovable}set unmovable(t){super.unmovable=t,et(this)}get magnetRect(){return this.rectCache||(this.rectCache=k(this)),this.rectCache}resetMagnetRect(){this.isMoving||(this.rectCache=null)}get parentPack(){const t=this.parentElement??document.body;return this.parentPackCache||(this.parentPackCache=O(t)),this.parentPackCache}resetParentPack(){this.isMoving||(this.parentPackCache=null)}get targetMagnetPacks(){return this.targetMagnetPacksCache||(this.targetMagnetPacksCache=this.getAttractableMagnets().map((t=>O(t)))),this.targetMagnetPacksCache}resetTargetMagnetPacks(){this.isMoving||(this.targetMagnetPacksCache=null)}getOtherMagnets(){return Array.from(document.querySelectorAll(st)).filter((t=>t!==this))}getAttractableMagnets(){if(this.disabled||this.unattractable)return[];const{group:t}=this,e=null!==t,n=`magnet-block:not([${m.disabled}]):not([${m.unattractable}])`;return Array.from(document.querySelectorAll(n)).filter((n=>!(n===this||this.contains(n)||e&&t!==n.group)))}judgeMagnetDistance(...[t,e={}]){const{attractDistance:n=this.attractDistance,alignTos:a=this.alignTos}=e;return function(t,e={}){const{attractDistance:n=M[m.attractDistance]}=e;if(t.absDistance>n)return!1;const{alignTos:a=M[m.alignTo]}=e;if(a.includes(f.extend))return!0;const{source:{rect:s},target:{rect:o}}=t;switch(t.alignment){default:return!1;case u.topToTop:case u.topToBottom:case u.bottomToTop:case u.bottomToBottom:case u.yCenterToYCenter:return!(s.right+no.right);case u.rightToRight:case u.rightToLeft:case u.leftToRight:case u.leftToLeft:case u.xCenterToXCenter:return!(s.top-n>o.bottom||s.bottom+n=s.top&&c.bottom+r<=s.bottom;case"rightToRight":case"rightToLeft":case"leftToRight":case"leftToLeft":case"xCenterToXCenter":return c.right+r<=s.right&&c.left+r>=s.left}}(t,{attractDistance:n,alignTos:a,parent:e.parent??this.parentPack,onJudgeDistance:s})}judgeMagnetAttraction=I;judgeMagnetMovement=$;rawDistanceTo(t,e){const n=k(this),a=k(t);return L(n,a,e)}distanceTo(t,e){return function(t,e,n){const a=O(t),s=O(e),o=k(t),r=k(e),i=L(o,r,n);return{source:a,target:s,alignment:n,rawDistance:i,absDistance:P(i)}}(this,t,e)}attractionTo(t,e={}){const{attractDistance:n=this.attractDistance,alignTos:a=this.alignTos,alignments:s,onJudgeDistance:o=this.judgeMagnetDistance}=e;return V(this,t,{attractDistance:n,alignTos:a,alignments:s,onJudgeDistance:o})}attractionToParent(t={}){const{attractDistance:e=this.attractDistance,alignTos:n=this.alignToParents,alignments:a,onJudgeDistance:s=this.judgeMagnetDistance}=t;return V(this,this.parentPack,{attractDistance:e,alignTos:n,alignments:a,onJudgeDistance:s})}multiAttractionsTo(t,e={}){const{attractDistance:n=this.attractDistance,alignTos:a=this.alignTos,alignToParents:s=this.alignToParents,alignments:o,onJudgeDistance:r=this.judgeMagnetDistance,attractionBest:i,onJudgeAttraction:c=this.judgeMagnetAttraction}=e,l=rt.prototype.attractionToParent.call(this,{attractDistance:n,alignTos:s,alignments:o,onJudgeDistance:r,attractionBest:i});return Y(this,t,{attractDistance:n,alignTos:a,alignments:o,onJudgeDistance:r,onJudgeAttraction:c,attractionBest:l?.best})}getMagnetAttractionResultOfPosition(t,n,a){const s=e(t,n),o=(t instanceof DOMPoint?n:a)??{},{width:r,height:i}=this.magnetRect,c=B(s.x,s.y,r,i),l=new E(this,c),{ignoreEvent:u,unattractable:g=this.unattractable,attractDistance:h=this.attractDistance,alignTos:f=this.alignTos,alignments:d,alignToParents:m=this.alignToParents,crossPrevents:b=this.crossPrevents,parentPack:p=this.parentPack,lastAttractionBest:T=this.lastAttractionBest,onJudgeDistance:y=this.judgeMagnetDistance,onJudgeDistanceInParent:D=this.judgeMagnetDistanceInParent,onJudgeAttraction:x=this.judgeMagnetAttraction,onJudgeMovement:v=this.judgeMagnetMovement}=o,P=z(l,this.targetMagnetPacks,{ignoreEvent:u,unattractable:g,attractDistance:h,alignTos:f,alignments:d,alignToParents:m,crossPrevents:b,parentPack:p,lastAttractionBest:T,onJudgeDistance:y,onJudgeDistanceInParent:D,onJudgeAttraction:x,onJudgeMovement:v});return this.resetMagnetRect(),this.resetParentPack(),this.resetTargetMagnetPacks(),P}get lastMagnetOffset(){const{offsetUnit:t,lastOffset:n}=this;switch(t){default:case x.pixel:return e(n);case x.percentage:{const{offsetParent:t}=this,a=B(t??document);return e(n.x/a.width,n.y/a.height)}}}resetMagnetOffset(){this.style.removeProperty(at.offsetX),this.style.removeProperty(at.offsetY),this.lastOffset=e(0,0)}setMagnetOffset(t=this.lastOffset,n){const a=e(t,n),{offsetUnit:s}=this;switch(s){default:case x.pixel:this.style.setProperty(at.offsetX,`${a.x}px`),this.style.setProperty(at.offsetY,`${a.y}px`);break;case x.percentage:{const t=this.offsetParent??document.body,n=globalThis.getComputedStyle(t),{boxSizing:s,width:o,height:r}=n;let i=parseFloat(o),c=parseFloat(r);if("border-box"===s){const{paddingTop:t,paddingRight:e,paddingBottom:a,paddingLeft:s,borderTopWidth:o,borderRightWidth:r,borderBottomWidth:l,borderLeftWidth:u}=n,g=parseFloat(t),h=parseFloat(e),f=parseFloat(a),d=parseFloat(s),m=parseFloat(o),b=parseFloat(r),p=parseFloat(l);i-=h+d+b+parseFloat(u),c-=g+f+m+p}const l=e(a.x/i,a.y/c);this.style.setProperty(at.offsetX,100*l.x+"%"),this.style.setProperty(at.offsetY,100*l.y+"%");break}}this.lastOffset=e(a)}setMagnetPosition(t=e(this.magnetRect),n){const a=e(t,n),{lastOffset:s,magnetRect:o}=this,r=e(o.x-s.x,o.y-s.y);this.setMagnetOffset(a.x-r.x,a.y-r.y),this.resetMagnetRect()}get bestAttraction(){const{lastAttractionBest:t}=this,e=t?.x,n=t?.y,a={};if(e){const{source:t,target:n}=e;a.x={...e,source:new E(t.raw,B(t.rect)),target:new E(n.raw,B(n.rect))}}else a.x=void 0;if(n){const{source:t,target:e}=n;a.y={...n,source:new E(t.raw,B(t.rect)),target:new E(e.raw,B(e.rect))}}else a.y=void 0;return a}}r(rt,st);const it=rt})(); + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFnbmV0Lm1pbi5qcyIsIm1hcHBpbmdzIjoibUJBWU8sTUFBTUEsRUFBMkIsU0FDdENDLEVBQ0FDLEdBRUEsT0FBSUQsYUFBYUUsU0FDUkEsU0FBU0MsVUFBVUgsR0FFeEJBLGFBQWFJLFFBQ1IsSUFBSUYsU0FBU0YsRUFBRUEsRUFBR0EsRUFBRUMsR0FHdEIsSUFBSUMsU0FBU0YsRUFBR0MsSUFhekIsSUNqQk8sU0FBU0ksRUFBb0JDLEdBQ2xDLE1BQU0sS0FBRUMsR0FBU0QsRUFFakIsT0FBT1AsRUFDTFEsRUFBS1AsR0FBR1EsYUFBZSxFQUN2QkQsRUFBS04sR0FBR08sYUFBZSxHQ3hCM0IsTUFBTUMsRUFBVyxVQUtWLFNBQVNDLEVBQ2RDLEVBQ0FDLEdBRUEsR0FBYyxPQUFWRCxFQUNGLE1BQU8sR0FHVCxNQUFNRSxFQUFTRixFQUFNRyxNQUFNTCxHQUUzQixZQUFvQk0sSUFBaEJILEVBQ0tDLEVBR01HLE9BQU9ILE9BQU9ELEdBRzFCSyxRQUFRQyxHQUFVTCxFQUFPTSxTQUFTRCxLQU1oQyxTQUFTRSxFQUNkVCxFQUNBQyxHQUVBLE1BQU1DLEVBQVNRLE1BQU1DLFFBQVFYLEdBQVNBLEVBQVEsQ0FBQ0EsR0FFL0MsWUFBb0JJLElBQWhCSCxFQUNLQyxFQUFPVSxLQUFLLEtBR05QLE9BQU9ILE9BQU9ELEdBRzFCSyxRQUFRQyxHQUFVTCxFQUFPTSxTQUFTRCxLQUNsQ0ssS0FBSyxLQ3hCVixRQWZBLFNBQ0VDLEVBQ0FDLEdBRUEsT0FBSUMsZUFBZUMsSUFBSUYsR0FDZEcsUUFBUUMsT0FDYixJQUFJQyxNQUFPLG9CQUFtQkwsUUFJbENDLGVBQWVLLE9BQU9OLEVBQVVELEdBRXpCRSxlQUFlTSxZQUFZUCxLLElDZi9CUSxHLFNBQUFBLEdBQUFBLEVBQUFBLFNBQUFBLFdBQUFBLEVBQUFBLFlBQUFBLGNBQUFBLEVBQUFBLGFBQUFBLGVBQUFBLEVBQUFBLFlBQUFBLGNBQUFBLEVBQUFBLFlBQUFBLGNBQUFBLEVBQUFBLGVBQUFBLGlCQUFBQSxFQUFBQSxZQUFBQSxjQUFBQSxFQUFBQSxXQUFBQSxhQUFBQSxFQUFBQSxpQkFBQUEsbUJBQUFBLEVBQUFBLGlCQUFBQSxtQixDQUFBQSxJQUFBQSxFQUFBQSxLQWFFLE1BQU1DLEVBQTJCLENBQ3RDRCxFQUFVRSxhQUNWRixFQUFVRyxZQUNWSCxFQUFVSSxZQUNWSixFQUFVSyxXQUNWTCxFQUFVTSxrQkFHQ0MsRUFBMkIsQ0FDdENQLEVBQVVRLFNBQ1ZSLEVBQVVTLFlBQ1ZULEVBQVVVLFlBQ1ZWLEVBQVVXLGVBQ1ZYLEVBQVVZLGtCQUdaLEksSUM3QktDLEVBT0UsSUFBS0MsRyxTQVBQRCxHQUFBQSxFQUFBQSxNQUFBQSxRQUFBQSxFQUFBQSxNQUFBQSxRQUFBQSxFQUFBQSxPQUFBQSxTQUFBQSxFQUFBQSxPQUFBQSxTLENBQUFBLElBQUFBLEVBQUFBLEssU0FPT0MsR0FBQUEsRUFBQUEsTUFBQUEsUUFBQUEsRUFBQUEsT0FBQUEsUyxDQUFBQSxJQUFBQSxFQUFBQSxLQUtaLFUsSUNaS0MsRyxTQUFBQSxHQUFBQSxFQUFBQSxTQUFBQSxXQUFBQSxFQUFBQSxNQUFBQSxRQUFBQSxFQUFBQSxjQUFBQSxnQkFBQUEsRUFBQUEsVUFBQUEsWUFBQUEsRUFBQUEsZ0JBQUFBLG1CQUFBQSxFQUFBQSxRQUFBQSxXQUFBQSxFQUFBQSxjQUFBQSxrQkFBQUEsRUFBQUEsYUFBQUEsZ0JBQUFBLEVBQUFBLFdBQUFBLGMsQ0FBQUEsSUFBQUEsRUFBQUEsS0FZTCxVLElDWktDLEcsU0FBQUEsR0FBQUEsRUFBQUEsT0FBQUEsUyxDQUFBQSxJQUFBQSxFQUFBQSxLQUlMLFUsSUNKS0MsRyxTQUFBQSxHQUFBQSxFQUFBQSxZQUFBQSxjQUFBQSxFQUFBQSxXQUFBQSxhQUFBQSxFQUFBQSxVQUFBQSxZQUFBQSxFQUFBQSxRQUFBQSxVQUFBQSxFQUFBQSxVQUFBQSxZQUFBQSxFQUFBQSxZQUFBQSxjQUFBQSxFQUFBQSxjQUFBQSxnQkFBQUEsRUFBQUEsVUFBQUEsWUFBQUEsRUFBQUEsWUFBQUEsYyxDQUFBQSxJQUFBQSxFQUFBQSxLQVlMLFUsSUNaS0MsRyxTQUFBQSxHQUFBQSxFQUFBQSxNQUFBQSxLQUFBQSxFQUFBQSxHQUFBQSxLQUFBQSxFQUFBQSxXQUFBQSxJQUFBQSxFQUFBQSxLQUFBQSxJLENBQUFBLElBQUFBLEVBQUFBLEtBT0wsV0NQUUMsTUFBS0EsR0FBS0MsWUFDWixJQUFFQyxHQUFRQyxLQ1dWQyxFQUFXQyxTQUFTQyxjQUFjLFlBRTNCQyxFQUF5QixDQUNwQyxDQUFDWCxFQUFBQSxXQUFxQixFQUN0QixDQUFDQSxFQUFBQSxPQUFrQixLQUNuQixDQUFDQSxFQUFBQSxpQkFBNEIsR0FDN0IsQ0FBQ0EsRUFBQUEsZ0JBQTBCLEVBQzNCLENBQUNBLEVBQUFBLFlBQXNCLEVBQ2xCQSxJQUFBQSxFQUFBQSxXQUNILE1BQU8sQ0FDTEYsRUFBQUEsTUFDQUEsRUFBQUEsT0FDQUEsRUFBQUEsU0FHQ0UsSUFBQUEsRUFBQUEsaUJBQ0gsTUFBTyxJQUVKQSxJQUFBQSxFQUFBQSxnQkFDSCxNQUFPLElBSVQsQ0FBQ0EsRUFBQUEsWUFBdUJHLEVBQUFBLE9BRzFCSyxFQUFTSSxVQUFhLDhIQVd0QixNQUFNQyxVQUFtQkMsWUFDdkJDLGNBQ0VDLFFBRUFDLEtBQUtDLGFBQWEsQ0FBRUMsS0FBTSxTQUN6QkYsS0FBS0csV0FBMEJDLE9BQU9iLEVBQVNjLFFBQVFDLFdBQVUsSUFHekRDLHVCQUNULE1BQU8sSUFBS3ZDLEdBR0h3QyxzQkFDVCxNQUFPLElBQUszQixHQUdINEIsNkJBQ1QsTUFBTyxJQUFLM0IsR0FHSDRCLDJCQUNULE1BQU8sSUFBSzFCLEdBR0gyQixtQkFDVCxNQUFPLElBQUsxQixHQU1pQixnQ0FBQzJCLEdBQzlCLE1BQU1DLEVBQVd6RCxNQUFNQyxRQUFRdUQsR0FBVUEsRUFBUyxDQUFDQSxHQUM3Q0UsRUFBMEIsR0F5QmhDLE9BdkJJRCxFQUFTM0QsU0FBUzJCLEVBQUFBLFFBQ3BCaUMsRUFBV0MsS0FDVC9DLEVBQUFBLFlBQ0FBLEVBQUFBLFlBQ0FBLEVBQUFBLFlBQ0FBLEVBQUFBLGFBR0E2QyxFQUFTM0QsU0FBUzJCLEVBQUFBLFFBQ3BCaUMsRUFBV0MsS0FDVC9DLEVBQUFBLFNBQ0FBLEVBQUFBLGFBQ0FBLEVBQUFBLGVBQ0FBLEVBQUFBLFlBR0E2QyxFQUFTM0QsU0FBUzJCLEVBQUFBLFNBQ3BCaUMsRUFBV0MsS0FDVC9DLEVBQUFBLGlCQUNBQSxFQUFBQSxrQkFJRzhDLEVBTXVCLGlDQUFHMUUsRUFLL0I0RSxlQUNGLE9BQThELE9BQXZEaEIsS0FBS2lCLDBCQUEwQmxDLEVBQUFBLFVBTXBDaUMsYUFBU0EsR0FDUEEsRUFDRmhCLEtBQUtrQixhQUFhbkMsRUFBQUEsU0FBb0IsSUFFdENpQixLQUFLbUIsZ0JBQWdCcEMsRUFBQUEsVUFPckJxQyxZQUNGLE9BQU9wQixLQUFLaUIsMEJBQTBCbEMsRUFBQUEsT0FNcENxQyxVQUFNQSxHQUNNLE9BQVZBLEdBQW1DLElBQWpCQSxFQUFNQyxPQUMxQnJCLEtBQUttQixnQkFBZ0JwQyxFQUFBQSxPQUVyQmlCLEtBQUtrQixhQUFhbkMsRUFBQUEsTUFBaUJxQyxHQU9uQ0UsbUJBQ0YsTUFBTUYsRUFBUXBCLEtBQUt1QixhQUFheEMsRUFBQUEsT0FFaEMsSUFBSXlDLEVBQVN4QixLQUFLeUIsY0FFbEIsS0FBT0QsR0FBUSxDQUNiLEdBQUlBLGFBQWtCNUIsRUFBWSxDQUNoQyxNQUFNOEIsRUFBY0YsRUFBT0QsYUFBYXhDLEVBQUFBLE9BRXhDLEdBQWMsT0FBVnFDLEdBQ2lCLE9BQWhCTSxHQUNBTixJQUFVTSxFQUViLE9BQU9GLEVBSVhBLEVBQVNBLEVBQU9DLGNBR2xCLE9BQU8sS0FNTEUsb0JBQ0YsT0FBbUUsT0FBNUQzQixLQUFLaUIsMEJBQTBCbEMsRUFBQUEsZUFNcEM0QyxrQkFBY0EsR0FDWkEsRUFDRjNCLEtBQUtrQixhQUFhbkMsRUFBQUEsY0FBeUIsSUFFM0NpQixLQUFLbUIsZ0JBQWdCcEMsRUFBQUEsZUFPckI2QyxnQkFDRixPQUErRCxPQUF4RDVCLEtBQUtpQiwwQkFBMEJsQyxFQUFBQSxXQU1wQzZDLGNBQVVBLEdBQ1JBLEVBQ0Y1QixLQUFLa0IsYUFBYW5DLEVBQUFBLFVBQXFCLElBRXZDaUIsS0FBS21CLGdCQUFnQnBDLEVBQUFBLFdBT3JCOEMsc0JBQ0YsTUFBTW5GLEVBQVFzRCxLQUFLaUIsMEJBQTBCbEMsRUFBQUEsaUJBRTdDLE9BQWtCLE9BQVZyQyxFQUNKZ0QsRUFBdUJYLEVBQUFBLGlCQUN2QitDLE9BQU9wRixHQU9UbUYsb0JBQWdCQSxHQUNsQixHQUF3QixPQUFwQkEsRUFDRjdCLEtBQUttQixnQkFBZ0JwQyxFQUFBQSxxQkFDaEIsSUFBSUksRUFBTTBDLEdBQ2YsTUFBTSxJQUFJRSxVQUFXLGdDQUErQkYsS0FDL0MsR0FBSUEsRUFBa0IsRUFDM0IsTUFBTSxJQUFJRyxXQUFZLGlEQUFnREgsS0FDN0RBLElBQW9CN0IsS0FBSzZCLGlCQUNsQzdCLEtBQUtrQixhQUFhbkMsRUFBQUEsZ0JBQTRCLEdBQUU4QyxNQU9oRGhCLGVBQ0YsTUFBTW5FLEVBQVFzRCxLQUFLaUIsMEJBQTBCbEMsRUFBQUEsU0FFN0MsT0FBa0IsT0FBVnJDLEVBQ0pnRCxFQUF1QlgsRUFBQUEsU0FDdkJ0QyxFQUEyQkMsRUFBT21DLEdBT3BDZ0MsYUFBU0EsR0FDWGIsS0FBS2tCLGFBQ0huQyxFQUFBQSxRQUNBNUIsRUFBNEJDLE1BQU1DLFFBQVF3RCxHQUN0Q0EsRUFDQXBFLEVBQTJCb0UsRUFBVWhDLEtBUXpDb0QscUJBQ0YsTUFBTXZGLEVBQVFzRCxLQUFLaUIsMEJBQTBCbEMsRUFBQUEsZUFFN0MsT0FBa0IsT0FBVnJDLEVBQ0pnRCxFQUF1QlgsRUFBQUEsZUFDdkJ0QyxFQUEyQkMsRUFBT29DLEdBT3BDbUQsbUJBQWVBLEdBQ2pCakMsS0FBS2tCLGFBQ0huQyxFQUFBQSxjQUNBNUIsRUFBNEJDLE1BQU1DLFFBQVE0RSxHQUN0Q0EsRUFDQXhGLEVBQTJCd0YsRUFBZ0JuRCxLQVEvQ2dDLGlCQUNGLE9BQU9sQixFQUFXc0MseUJBQXlCbEMsS0FBS2EsVUFNOUNzQix1QkFDRixPQUFPdkMsRUFBV3NDLHlCQUF5QmxDLEtBQUtpQyxnQkFNOUNHLG9CQUNGLE1BQU0xRixFQUFRc0QsS0FBS2lCLDBCQUEwQmxDLEVBQUFBLGNBRTdDLE9BQWtCLE9BQVZyQyxFQUNKZ0QsRUFBdUJYLEVBQUFBLGNBQ3ZCdEMsRUFBMkJDLEVBQU9zQyxHQU9wQ29ELGtCQUFjQSxHQUNoQnBDLEtBQUtrQixhQUNIbkMsRUFBQUEsYUFDQTVCLEVBQTRCQyxNQUFNQyxRQUFRK0UsR0FDdENBLEVBQ0EzRixFQUEyQjJGLEVBQWVwRCxLQVFwQ3FELGlCQUNaLE1BQU0zRixFQUFRc0QsS0FBS2lCLDBCQUEwQmxDLEVBQUFBLFlBRTdDLE9BQWtCLE9BQVZyQyxFQUNKZ0QsRUFBdUJYLEVBQUFBLFlBQ3ZCckMsRUFPUTJGLGVBQVdBLEdBQ3ZCLEdBQW1CLE9BQWZBLEVBQ0ZyQyxLQUFLbUIsZ0JBQWdCcEMsRUFBQUEsZ0JBQ2hCLEtBQUtoQyxPQUFPSCxPQUFPc0MsR0FBWWhDLFNBQVNtRixHQUM3QyxNQUFNLElBQUl4RSxNQUFPLHdCQUF1QndFLEtBQy9CQSxJQUFlckMsS0FBS3FDLFlBQzdCckMsS0FBS2tCLGFBQWFuQyxFQUFBQSxXQUFzQnNELElBTzVDcEIsMEJBQTBCcUIsR0FDeEIsTUFBTTVGLEVBQVFzRCxLQUFLdUIsYUFBYWUsR0FFaEMsR0FBYyxPQUFWNUYsRUFDRixPQUFPQSxFQUdULE1BQU0sYUFBRTRFLEdBQWlCdEIsS0FFekIsT0FBUXNCLEVBQ0pBLEVBQWFMLDBCQUEwQnFCLEdBQ3ZDLE1BS1JDLEVBQWdCM0MsRUExV0MsZUE0V2pCLFVDM1dPLFNBQVM0QyxFQUNkNUIsS0FDRzZCLEdBRUgsR0FBSTdCLGFBQWtCOEIsT0FDcEIsT0FBTyxJQUFJdkcsUUFBUSxFQUFHLEVBQUd5RSxFQUFPK0IsV0FBWS9CLEVBQU9nQyxhQUdyRCxHQUFJaEMsYUFBa0JpQyxTQUNwQixPQUFPckQsU0FBU3NELEtBQUtDLHdCQUd2QixHQUFJbkMsYUFBa0JvQyxRQUNwQixPQUFPcEMsRUFBT21DLHdCQUdoQixHQUFJRSxFQUFBQSxPQUFZckMsR0FDZCxPQUFPekUsUUFBUStHLFNBQVN0QyxFQUFPdUMsTUFHakMsR0FBc0IsaUJBQVh2QyxFQUFxQixDQUM5QixNQUFNN0UsRUFBSTZFLEdBQ0g1RSxFQUFHb0gsRUFBT0MsR0FBVVosRUFFM0IsT0FBTyxJQUFJdEcsUUFBUUosRUFBR0MsRUFBR29ILEVBQU9DLEdBR2xDLE1BQU0sSUFDSkMsRUFESSxNQUNDQyxFQURELE9BQ1FDLEVBRFIsS0FDZ0JDLEVBRGhCLEVBRUoxSCxFQUFJMEgsRUFGQSxFQUdKekgsRUFBSXNILEVBSEEsTUFJSkYsRUFBU0csRUFBbUJ4SCxFQUp4QixPQUtKc0gsRUFBVUcsRUFBb0J4SCxHQUM1QjRFLEVBRUosT0FBTyxJQUFJekUsUUFBUUosRUFBR0MsRUFBR29ILEVBQU9DLEdBTTNCLFNBQVNLLEVBQVE5QyxHQUN0QixPQUFJcUMsRUFBQUEsT0FBWXJDLEdBQ1BBLEVBQU91QyxLQUdadkMsYUFBa0J6RSxRQUNieUUsRUFHRjRCLEVBQVc1QixHQUdwQixVQzdEQSxNQUFNcUMsRUFLSm5ELFlBQVljLEVBQXlCdUMsRUFBZ0JPLEVBQVE5QyxJQUMzRCxNQUFNK0MsRUFBTVYsRUFBS1csT0FBT2hELEdBQVVBLEVBQU8rQyxJQUFNL0MsRUFFL0NaLEtBQUsyRCxJQUFNQSxFQUNYM0QsS0FBS21ELEtBQU9BLEVBRVpwRyxPQUFPOEcsT0FBTzdELE1BTUgsY0FBQ1ksR0FDWixPQUFPQSxhQUFrQnFDLEdBT3RCLFNBQVNhLEVBQVFsRCxHQUN0QixPQUFPcUMsRUFBS1csT0FBT2hELEdBQVVBLEVBQVMsSUFBSXFDLEVBQUtyQyxHQUdqRCxVQ2lCQSxFQTdDQSxTQUNFbUQsRUFDQUMsRUFDQUMsR0FFQSxPQUFRQSxHQUNOLFFBQ0UsT0FBT0MsRUFBQUEsRUFFVCxLQUFLbEcsRUFBQUEsU0FDSCxPQUFPZ0csRUFBV1YsSUFBTVMsRUFBV1QsSUFFckMsS0FBS3RGLEVBQUFBLFlBQ0gsT0FBT2dHLEVBQVdSLE9BQVNPLEVBQVdULElBRXhDLEtBQUt0RixFQUFBQSxhQUNILE9BQU9nRyxFQUFXVCxNQUFRUSxFQUFXUixNQUV2QyxLQUFLdkYsRUFBQUEsWUFDSCxPQUFPZ0csRUFBV1AsS0FBT00sRUFBV1IsTUFFdEMsS0FBS3ZGLEVBQUFBLFlBQ0gsT0FBT2dHLEVBQVdWLElBQU1TLEVBQVdQLE9BRXJDLEtBQUt4RixFQUFBQSxlQUNILE9BQU9nRyxFQUFXUixPQUFTTyxFQUFXUCxPQUV4QyxLQUFLeEYsRUFBQUEsWUFDSCxPQUFPZ0csRUFBV1QsTUFBUVEsRUFBV04sS0FFdkMsS0FBS3pGLEVBQUFBLFdBQ0gsT0FBT2dHLEVBQVdQLEtBQU9NLEVBQVdOLEtBRXRDLEtBQUt6RixFQUFBQSxpQkFDSCxPQUNHZ0csRUFBV1QsTUFBUVMsRUFBV1AsTUFBU00sRUFBV1IsTUFBUVEsRUFBV04sT0FDcEUsRUFFTixLQUFLekYsRUFBQUEsaUJBQ0gsT0FDR2dHLEVBQVdWLElBQU1VLEVBQVdSLFFBQVdPLEVBQVdULElBQU1TLEVBQVdQLFNBQ2xFLElDOUNHVyxFQUFhLEtBQU0sRUFFbkJDLEVBQWMsS0FBTSxFQ0kxQixTQUFTQyxFQUNkTixFQUNBQyxHQUVBLE1BQU1NLEVBQW9CUCxFQUFXUixNQUFRUSxFQUFXTixLQUNsRGMsRUFBb0JQLEVBQVdULE1BQVFTLEVBQVdQLEtBRXhELE9BQU9wRSxFQUFJaUYsRUFBb0JDLEdBQXFCLEVBTS9DLFNBQVNDLEVBQ2RULEVBQ0FDLEdBRUEsTUFBTVMsRUFBb0JWLEVBQVdULElBQU1TLEVBQVdQLE9BQ2hEa0IsRUFBb0JWLEVBQVdWLElBQU1VLEVBQVdSLE9BRXRELE9BQU9uRSxFQUFJb0YsRUFBb0JDLEdBQXFCLEVDOEl0RCxRQWpKQSxTQUNFOUQsRUFDQStELEVBQ0FDLEVBQXFDLElBRXJDLE1BQU1DLEVBQWFmLEVBQVFsRCxHQUNyQmtFLEVBQWNILEVBQVFJLEtBQUtDLEdBQVdsQixFQUFRa0IsTUFDOUMsZ0JBQ0puRCxFQUFrQm5DLEVBQXVCWCxFQUFBQSxpQkFEckMsU0FFSjhCLEVBQVduQixFQUF1QlgsRUFBQUEsU0FGOUIsV0FHSitCLEVBQWFsQixFQUFBQSx5QkFBb0NpQixHQUg3QyxnQkFJSm9FLEVBQWtCZCxFQUpkLGtCQUtKZSxFQUFvQmYsRUFMaEIsZUFNSmdCLEVBQWlCLElBQ2ZQLEVBQ0VRLEVBQXFELENBQ3pEdkQsZ0JBQUFBLEVBQ0FoQixTQUFBQSxFQUNBQyxXQUFBQSxFQUNBbUUsZ0JBQUFBLEdBMkhGLE9Bekh3QkgsRUFBWU8sUUFDbEMsQ0FBQ2hKLEVBQVlpSixLQUNYLE1BQU1DLEVBQW1CQyxHQUFBQSxVQUFBQSxhQUFBQSxLQUN2QlgsRUFDQVMsRUFDQUYsSUFHQTlJLEtBQU1tSixFQUNOQyxRQUFTQyxHQUNQSixFQUNFSyxFQUFnQlYsRUFBa0IsQ0FDdEN0RSxPQUFRaUUsRUFDUkcsT0FBUU0sRUFDUkksUUFBUyxJQUFJQyxHQUNickosS0FBTSxDQUNKUCxFQUFHMEosRUFBWTFKLEVBQ2ZDLEVBQUd5SixFQUFZekosS0FNbkIsR0FGQUssRUFBVzJJLE9BQU9qRSxLQUFLdUUsR0FFbkJNLEVBQWUsQ0FDakIsTUFBTSxRQUFFRixFQUFGLEtBQVdwSixHQUFTRCxFQUkxQixHQUZBcUosRUFBUTNFLFFBQVE0RSxHQUVaRixFQUFZMUosRUFDZCxRQUFlZSxJQUFYUixFQUFLUCxHQUFtQjBKLEVBQVkxSixFQUFFOEosWUFBY3ZKLEVBQUtQLEVBQUU4SixZQUU3RHZKLEVBQUtQLEVBQUkwSixFQUFZMUosT0FDaEIsR0FBSU8sRUFBS1AsRUFBRThKLGNBQWdCSixFQUFZMUosRUFBRThKLFlBQWEsQ0FDM0QsTUFBTTlCLEVBQWFMLEVBQVFtQixHQUNyQmIsRUFBYXlCLEVBQVkxSixFQUFFaUosT0FBTzdCLEtBQ2xDMkMsRUFBZXhKLEVBQUtQLEVBQUVpSixPQUFPN0IsS0FDN0I0QyxFQUFldkIsRUFBK0JULEVBQVlDLEdBQzFEZ0MsRUFBUXhCLEVBQStCVCxFQUFZK0IsR0FFekQsR0FBSUMsRUFBZUMsRUFDakIxSixFQUFLUCxFQUFJMEosRUFBWTFKLE9BQ2hCLEdBQUlnSyxJQUFpQkMsRUFBTyxDQUNqQyxNQUFNQyxFQUFNcEUsRUFBa0IsRUFFOUIsR0FBSTRELEVBQVkxSixFQUFFUSxZQUFjMEosRUFDMUJSLEVBQVkxSixFQUFFa0ksWUFBY2pHLEVBQUFBLGFBQzlCMUIsRUFBS1AsRUFBSTBKLEVBQVkxSixRQUVsQixHQUFJMEosRUFBWTFKLEVBQUVRLGFBQWUwSixFQUNsQ1IsRUFBWTFKLEVBQUVrSSxZQUFjakcsRUFBQUEsZUFDOUIxQixFQUFLUCxFQUFJMEosRUFBWTFKLFFBRWxCLEdBQUkwSixFQUFZMUosRUFBRWtJLFlBQWNqRyxFQUFBQSxpQkFBNEIsQ0FDakUsTUFBTWtJLEVBQVdULEVBQVkxSixFQUFFaUosT0FBTzdCLEtBQ2hDZ0QsRUFBYzdKLEVBQUtQLEVBQUVpSixPQUFPN0IsS0FDNUJpRCxFQUFZRixFQUFTNUMsSUFBTTRDLEVBQVMxQyxPQUNwQzZDLEVBQWVGLEVBQVk3QyxJQUFNNkMsRUFBWTNDLE9BQzdDOEMsRUFBY3ZDLEVBQVdULElBQU1TLEVBQVdQLE9BQzFDK0MsRUFBZ0JsSCxFQUFJK0csRUFBWUUsR0FDYmpILEVBQUlnSCxFQUFlQyxHQUVyQkMsSUFDckJqSyxFQUFLUCxFQUFJMEosRUFBWTFKLEtBTy9CLEdBQUkwSixFQUFZekosRUFDZCxRQUFlYyxJQUFYUixFQUFLTixHQUFtQnlKLEVBQVl6SixFQUFFNkosWUFBY3ZKLEVBQUtOLEVBQUU2SixZQUU3RHZKLEVBQUtOLEVBQUl5SixFQUFZekosT0FDaEIsR0FBSU0sRUFBS04sRUFBRTZKLGNBQWdCSixFQUFZekosRUFBRTZKLFlBQWEsQ0FDM0QsTUFBTTlCLEVBQWFMLEVBQVFtQixHQUNyQmIsRUFBYXlCLEVBQVl6SixFQUFFZ0osT0FBTzdCLEtBQ2xDMkMsRUFBZXhKLEVBQUtOLEVBQUVnSixPQUFPN0IsS0FDN0JxRCxFQUFlbkMsRUFBK0JOLEVBQVlDLEdBQzFEeUMsRUFBUXBDLEVBQStCTixFQUFZK0IsR0FFekQsR0FBSVUsRUFBZUMsRUFDakJuSyxFQUFLTixFQUFJeUosRUFBWXpKLE9BQ2hCLEdBQUl3SyxJQUFpQkMsRUFBTyxDQUNqQyxNQUFNUixFQUFNcEUsRUFBa0IsRUFFOUIsR0FBSTRELEVBQVl6SixFQUFFTyxhQUFlMEosRUFDM0JSLEVBQVl6SixFQUFFaUksWUFBY2pHLEVBQUFBLGlCQUM5QjFCLEVBQUtOLEVBQUl5SixFQUFZekosUUFFbEIsR0FBSXlKLEVBQVl6SixFQUFFTyxZQUFjMEosRUFDakNSLEVBQVl6SixFQUFFaUksWUFBY2pHLEVBQUFBLFdBQzlCMUIsRUFBS04sRUFBSXlKLEVBQVl6SixRQUVsQixHQUFJeUosRUFBWXpKLEVBQUVpSSxZQUFjakcsRUFBQUEsaUJBQTRCLENBQ2pFLE1BQU1rSSxFQUFXVCxFQUFZekosRUFBRWdKLE9BQU83QixLQUNoQ2dELEVBQWM3SixFQUFLTixFQUFFZ0osT0FBTzdCLEtBQzVCdUQsRUFBWVIsRUFBUzNDLE1BQVEyQyxFQUFTekMsS0FDdENrRCxFQUFlUixFQUFZNUMsTUFBUTRDLEVBQVkxQyxLQUMvQ21ELEVBQWM3QyxFQUFXUixNQUFRUSxFQUFXTixLQUM1Q29ELEVBQWdCeEgsRUFBSXFILEVBQVlFLEdBQ2J2SCxFQUFJc0gsRUFBZUMsR0FFckJDLElBQ3JCdkssRUFBS04sRUFBSXlKLEVBQVl6SixNQVFqQyxPQUFPSyxJQUVULENBQ0V1RSxPQUFRaUUsRUFDUkcsT0FBUSxHQUNSVSxRQUFTLEdBQ1RwSixLQUFNLElBQUs2SSxNQzFEakIsRUFqRkEsU0FDRXZFLEVBQ0FvRSxFQUNBSixFQUFxQyxJQUVyQyxNQUFNQyxFQUFhZixFQUFRbEQsR0FDckIwRSxFQUFheEIsRUFBUWtCLElBQ3JCLGdCQUNKbkQsRUFBa0JuQyxFQUF1QlgsRUFBQUEsaUJBRHJDLFNBRUo4QixFQUFXbkIsRUFBdUJYLEVBQUFBLFNBRjlCLFdBR0orQixFQUFhMEUsR0FBQUEseUJBQWdDM0UsR0FIekMsZ0JBSUpvRSxFQUFrQmQsR0FDaEJTLEVBa0VKLE9BakV5QjlELEVBQVd1RSxRQUNsQyxDQUFDaEosRUFBWTRILEtBQ1gsTUFBTTZDLEVBQVd0QixHQUFBQSxVQUFBQSxXQUFBQSxLQUFpQ1gsRUFBWVMsRUFBWXJCLEdBUzFFLEdBUnNCZ0IsRUFDcEIsSUFBSzZCLEdBQ0wsQ0FDRWpGLGdCQUFBQSxFQUNBaEIsU0FBQUEsSUFJZSxDQUNqQixNQUFNLFFBQUU2RSxFQUFGLEtBQVdwSixHQUFTRCxFQUkxQixHQUZBcUosRUFBUTNFLEtBQUsrRixHQUVUN0ksRUFBWWYsU0FBUytHLElBQ3ZCLFFBQWVuSCxJQUFYUixFQUFLUCxHQUFtQitLLEVBQVNqQixZQUFjdkosRUFBS1AsRUFBRThKLFlBQ3hEdkosRUFBS1AsRUFBSStLLE9BQ0osR0FBSXhLLEVBQUtQLEVBQUU4SixjQUFnQmlCLEVBQVNqQixZQUFhLENBQ3RELE1BQU1JLEVBQU1wRSxFQUFrQixFQUUxQmlGLEVBQVN2SyxZQUFjMEosRUFDckJhLEVBQVM3QyxZQUFjakcsRUFBQUEsYUFDekIxQixFQUFLUCxFQUFJK0ssR0FFRkEsRUFBU3ZLLGFBQWUwSixFQUM3QmEsRUFBUzdDLFlBQWNqRyxFQUFBQSxlQUN6QjFCLEVBQUtQLEVBQUkrSyxHQUVGQSxFQUFTN0MsWUFBY2pHLEVBQUFBLG1CQUNoQzFCLEVBQUtQLEVBQUkrSyxTQUdSLEdBQUl2SSxFQUFZckIsU0FBUytHLEdBQzlCLFFBQWVuSCxJQUFYUixFQUFLTixHQUFtQjhLLEVBQVNqQixZQUFjdkosRUFBS04sRUFBRTZKLFlBQ3hEdkosRUFBS04sRUFBSThLLE9BQ0osR0FBSXhLLEVBQUtOLEVBQUU2SixjQUFnQmlCLEVBQVNqQixZQUFhLENBQ3RELE1BQU1JLEVBQU1wRSxFQUFrQixFQUUxQmlGLEVBQVN2SyxhQUFlMEosRUFDdEJhLEVBQVM3QyxZQUFjakcsRUFBQUEsaUJBQ3pCMUIsRUFBS04sRUFBSThLLEdBRUZBLEVBQVN2SyxZQUFjMEosRUFDNUJhLEVBQVM3QyxZQUFjakcsRUFBQUEsV0FDekIxQixFQUFLTixFQUFJOEssR0FFRkEsRUFBUzdDLFlBQWNqRyxFQUFBQSxtQkFDaEMxQixFQUFLTixFQUFJOEssSUFNakIsT0FBT3pLLElBRVQsQ0FDRXVFLE9BQVFpRSxFQUNSRyxPQUFRTSxFQUNSSSxRQUFTLEdBQ1RwSixLQUFNLE1DaEZaLEVBTjJDLFNBQ3pDRCxHQUVBLE9BQU8wSyxRQUFRMUssRUFBV0MsS0FBS1AsR0FBS00sRUFBV0MsS0FBS04sSUNEdEQsRUFKdUMsV0FDckMsT0FBTyxHQ2VGLFNBQVNnTCxFQUNkQyxFQUNBQyxFQUNBQyxFQUNBdkMsR0FFQXNDLEVBQU1FLFNBQVNDLEtBbEJWLFNBQ0xKLEVBQ0FJLEVBQ0FGLEVBQ0F2QyxHQUVBcUMsRUFBSUssaUJBQWlCRCxFQUFNRixFQUFVdkMsR0FhbkMwQyxDQUFpQkwsRUFBS0ksRUFBTUYsRUFBVXZDLE1BbUJuQyxTQUFTMkMsRUFDZE4sRUFDQUMsRUFDQUMsRUFDQXZDLEdBRUFzQyxFQUFNRSxTQUFTQyxJQUNiSixFQUFJTyxvQkFBb0JILEVBQU1GLEVBQVV2QyxNQWNyQyxTQUFTNkMsRUFDZFIsRUFDQUksRUFDQXpDLEdBRUEsT0FBT3FDLEVBQUlTLGNBQWMsSUFBSUMsWUFBWU4sRUFBTXpDLElDcERqRCxRQW5CQSxTQUE2QmIsRUFBcUJDLEdBQ2hELElBQUlqSSxFQUFJLEVBQ0pDLEVBQUksRUFjUixPQVpJK0gsRUFBV04sS0FBT08sRUFBV1AsS0FDL0IxSCxFQUFJaUksRUFBV1AsS0FBT00sRUFBV04sS0FDeEJNLEVBQVdSLE1BQVFTLEVBQVdULFFBQ3ZDeEgsRUFBSWlJLEVBQVdULE1BQVFRLEVBQVdSLE9BR2hDUSxFQUFXVCxJQUFNVSxFQUFXVixJQUM5QnRILEVBQUlnSSxFQUFXVixJQUFNUyxFQUFXVCxJQUN2QlMsRUFBV1AsT0FBU1EsRUFBV1IsU0FDeEN4SCxFQUFJZ0ksRUFBV1IsT0FBU08sRUFBV1AsUUFHOUIxSCxFQUFZQyxFQUFHQyxJQ2laeEIsRUF2WEEsU0FDRTZJLEVBQ0FDLEVBQ0FGLEVBQTZDLElBRTdDLE1BQU1nRCxFQUFZL0MsRUFBV2xCLEtBQ3ZCLFlBQ0prRSxJQUFnQkQsYUFBcUIvSCxhQURqQyxlQUVKb0MsRUFBaUJ2QyxFQUF1QlgsRUFBQUEsZUFGcEMsY0FHSnFELEVBQWdCMUMsRUFBdUJYLEVBQUFBLGNBSG5DLFdBSUorSSxFQUpJLG1CQUtKQyxFQUxJLGdCQU1KQyxFQUFrQjdELEdBQ2hCUyxFQUNFcUQsRUFBWUYsR0FBb0JoTSxFQUNoQ21NLEVBQVlILEdBQW9CL0wsRUFFaENtTSxFQURtQjNDLEdBQUFBLHlCQUFnQ3ZELEdBQ2xCWixPQUFTLEVBRTFDK0csRUFEcUJoRyxFQUFjbEYsU0FBUzhCLEVBQUFBLFNBQ1A4SSxFQUNyQy9ELEVBQWFMLEVBQVFtQixJQUV6QnpCLE1BQU9pRixFQUNQaEYsT0FBUWlGLEdBQ052RSxFQUNFd0UsRUFBYTdFLEVBQ2pCb0UsR0FDRy9ELEdBU0N5RSxFQUFnQnpFLEVBQ2hCMEUsRUFBd0JMLEVBQzFCTSxFQUFvQkYsRUFBZUQsR0FDbkN6TSxFQUFZLEVBQUcsR0FFYjZNLEVBQXFCbkcsRUFDekJnRyxFQUFjek0sRUFBSTBNLEVBQXFCMU0sRUFDdkN5TSxFQUFjeE0sRUFBSXlNLEVBQXFCek0sRUFDdkNxTSxFQUNBQyxHQUVJTSxFQUFxQixJQUFJM0YsRUFBSzJFLEVBQVdlLEdBQ3pDRSxFQUFvQmIsRUFBZ0JZLEdBS3BDRSxFQUE2QixHQUM3QkMsRUFBK0IsR0FDL0JDLEVBQWlDLEdBNkJqQ0MsRUFBMkJDLElBQzNCckIsR0FJSmtCLEVBQWlCM0IsU0FBUytCLElBQ3hCLE1BQU03RCxFQUFhNkQsRUFBZ0JuRSxPQUM3Qm9FLEVBQWE5RCxFQUFXM0IsSUFDeEIwRixFQUFpRCxDQUNyRHpJLE9BQVFnSSxFQUNSNUQsT0FBUU0sRUFDUjRELGVBQUFBLEdBR0Z6QixFQUNFMkIsRUFDQW5LLEVBQUFBLFlBQ0EsQ0FDRXFLLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLE9BQVFKLFFBaUNoQixJQUFLUixFQVVILE9BVElaLEdBQ0ZjLEVBQWlCaEksS0FBS2tILEdBRXBCQyxHQUNGYSxFQUFpQmhJLEtBQUttSCxHQUd4QmUsRUFBd0JOLEdBRWpCLENBQ0xlLFNBQVUsS0FDVnZFLGVBQWdCLE1BT3BCLE1BQU1BLEVBQWlDLElBRWpDLGNBQ0p4RCxFQUFnQmpDLEVBQXVCWCxFQUFBQSxlQURuQyxnQkFFSjhDLEVBQWtCbkMsRUFBdUJYLEVBQUFBLGlCQUZyQyxTQUdKOEIsRUFBV25CLEVBQXVCWCxFQUFBQSxTQUg5QixXQUlKK0IsRUFBYTBFLEdBQUFBLHlCQUFnQzNFLEdBSnpDLHdCQUtKOEksRUFBMEJ4RixHQUN4QlMsRUFDRWdGLEVBQWdCLElBQUkzRyxFQUFLMkUsRUFBV1ksR0FDcEN2RCxFQUFtQnRELEVBQ3JCeUMsRUFDQ1EsRUFBUUssaUJBQW1CZCxFQUdoQyxHQUFJZ0UsR0FBaUJMLEVBQVksQ0FDL0IsTUFBTSxLQUFFeEwsR0FBU3VOLEVBQ2ZELEVBQ0E5QixFQUNBLENBQ0VqRyxnQkFBQUEsRUFDQWhCLFNBQUFBLEVBQ0FDLFdBQUFBLEVBQ0FtRSxnQkFBQUEsSUFJSkUsRUFBZXBKLEVBQUlPLEVBQUtQLEVBQ3hCb0osRUFBZW5KLEVBQUlNLEVBQUtOLEVBRzFCLE1BQU04TixFQUF5QzFCLEVBQ3pDdEIsR0FDRjZDLEVBQXdCN0MsRUFBVSxDQUNoQ2pGLGdCQUFBQSxFQUNBaEIsU0FBQUEsRUFDQVcsT0FBUXNHLEVBQ1I3QyxnQkFBQUEsSUFHRkEsRUFFRUMsRUFBcUJ2RCxFQUN2QnlDLEVBQ0NRLEVBQVFNLG1CQUFxQmYsRUFFNUI0RixFQUFtQkMsRUFDdkJKLEVBQ0E5RSxFQUNBLENBQ0VqRCxnQkFBQUEsRUFDQWhCLFNBQUFBLEVBQ0FDLFdBQUFBLEVBQ0FtRSxnQkFBaUI2RSxFQUNqQjVFLGtCQUFBQSxFQUNBQyxlQUFBQSxJQUdFOEUsRUFBdUJGLEVBQWlCek4sS0FDeEM0TixHQUF5QjlOLEVBQW9CMk4sR0FDN0NJLEdBQXVCM0gsRUFDM0JnRyxFQUFjek0sRUFBSW1PLEdBQXVCbk8sRUFDekN5TSxFQUFjeE0sRUFBSWtPLEdBQXVCbE8sRUFDekNxTSxFQUNBQyxHQUVJOEIsR0FBa0NoQyxFQUNwQ00sRUFBb0J5QixHQUFzQjVCLEdBQzFDek0sRUFBWSxFQUFHLEdBRWJ1TyxHQUErQjdILEVBQ25DMkgsR0FBcUJwTyxFQUFJcU8sR0FBK0JyTyxFQUN4RG9PLEdBQXFCbk8sRUFBSW9PLEdBQStCcE8sRUFDeERxTSxFQUNBQyxHQUdGLElBQUtULEVBQWEsQ0FDaEIsTUFDRTlMLEVBQUd1TyxFQUNIdE8sRUFBR3VPLEdBQ0ROLEVBQ0VPLEVBQWN2QyxHQUFXakQsT0FDekJ5RixFQUFjdkMsR0FBV2xELE9BQ3pCMEYsRUFBaUJKLEdBQWN0RixPQUMvQjJGLEVBQWlCSixHQUFjdkYsT0FFL0I0RixFQUFjRCxJQUFtQkYsRUFLdkMsR0FOb0JDLElBQW1CRixFQU9qQ0EsR0FDRnpCLEVBQWlCaEksS0FBS2tILEdBRXBCeUMsR0FDRjVCLEVBQWUvSCxLQUFLdUosUUFFakIsR0FBSUksRUFBZ0IsQ0FDekIsTUFBTUcsRUFBaUI1QyxHQUFXaEUsVUFHOUI0RyxJQUZzQlAsRUFBYXJHLFVBR3JDNkUsRUFBZS9ILEtBQUt1SixHQUVwQnRCLEVBQW1CakksS0FBS3VKLEdBSTVCLEdBQUlNLEVBQ0VILEdBQ0YxQixFQUFpQmhJLEtBQUttSCxHQUVwQnlDLEdBQ0Y3QixFQUFlL0gsS0FBS3dKLFFBRWpCLEdBQUlJLEVBQWdCLENBQ3pCLE1BQU1HLEVBQWlCNUMsR0FBV2pFLFVBRzlCNkcsSUFGc0JQLEVBQWF0RyxVQUdyQzZFLEVBQWUvSCxLQUFLd0osR0FFcEJ2QixFQUFtQmpJLEtBQUt3SixHQU81QixHQUFJekIsRUFBZXpILE9BQVMsRUFBRyxDQUM3QixNQUFNMEosRUFBeUMsQ0FDN0NuSyxPQUFRZ0ksRUFDUm9DLFNBQVVYLEdBQ1ZoTyxXQUFZME4sR0FhZCxJQVh5QnRDLEVBQ3ZCRyxFQUNBM0ksRUFBQUEsUUFDQSxDQUNFcUssU0FBUyxFQUNUQyxZQUFZLEVBQ1pDLFVBQVUsRUFDVkMsT0FBUXNCLElBWVYsT0FQSTlDLEdBQ0ZjLEVBQWlCaEksS0FBS2tILEdBRXBCQyxHQUNGYSxFQUFpQmhJLEtBQUttSCxHQUdqQixDQUNMd0IsU0FBVTVOLEVBQ1IwTSxFQUFjek0sRUFBSTBNLEVBQXFCMU0sRUFDdkN5TSxFQUFjeE0sRUFBSXlNLEVBQXFCek0sR0FFekNtSixlQUFnQixNQUt0QixHQUFJNEQsRUFBaUIxSCxPQUFTLEVBQUcsQ0FDL0IsTUFBTTRKLEVBQTZDLENBQ2pEckssT0FBUWdJLEVBQ1JvQyxTQUFVWCxHQUNWaE8sV0FBWTBOLEdBR2R0QyxFQUNFRyxFQUNBM0ksRUFBQUEsVUFDQSxDQUNFcUssU0FBUyxFQUNUQyxZQUFZLEVBQ1pDLFVBQVUsRUFDVkMsT0FBUXdCLElBS2QsR0FBSWpDLEVBQW1CM0gsT0FBUyxFQUFHLENBQ2pDLE1BQU02SixFQUFpRCxDQUNyRHRLLE9BQVFnSSxFQUNSb0MsU0FBVVgsR0FDVmhPLFdBQVkwTixHQUdkdEMsRUFDRUcsRUFDQTNJLEVBQUFBLFlBQ0EsQ0FDRXFLLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLE9BQVF5QixLQTNTZWhDLElBQUFBLEdBcVQvQixPQXJUK0JBLEdBaVRUbUIsR0FoVGhCeEMsR0FJSmlCLEVBQWUxQixTQUFTK0QsSUFDdEIsTUFBTTdGLEVBQWE2RixFQUFjbkcsT0FDM0JvRSxFQUFhOUQsRUFBVzNCLElBQ3hCeUgsRUFBNkMsQ0FDakR4SyxPQUFRZ0ksRUFDUjVELE9BQVFNLEVBQ1I0RCxlQUFBQSxHQUNBcEMsU0FBVXFFLEdBR1oxRCxFQUNFMkIsRUFDQW5LLEVBQUFBLFVBQ0EsQ0FDRXFLLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLE9BQVEyQixPQTRSaEJuQyxFQUF3Qm9CLElBN1BXbkIsQ0FBQUEsSUFDN0JyQixHQUlKbUIsRUFBbUI1QixTQUFTaUUsSUFDMUIsTUFBTS9GLEVBQWErRixFQUFrQnJHLE9BQy9Cb0UsRUFBYTlELEVBQVczQixJQUN4QjJILEVBQXFELENBQ3pEMUssT0FBUWdJLEVBQ1I1RCxPQUFRTSxFQUNSNEQsZUFBQUEsRUFDQXBDLFNBQVV1RSxHQUdaNUQsRUFDRTJCLEVBQ0FuSyxFQUFBQSxjQUNBLENBQ0VxSyxTQUFTLEVBQ1RDLFlBQVksRUFDWkMsVUFBVSxFQUNWQyxPQUFRNkIsUUF3T2hCQyxDQUEwQmxCLElBRW5CLENBQ0xYLFNBQVU1TixFQUNSME0sRUFBY3pNLEVBQUltTyxHQUF1Qm5PLEVBQUlxTyxHQUErQnJPLEVBQzVFeU0sRUFBY3hNLEVBQUlrTyxHQUF1QmxPLEVBQUlvTyxHQUErQnBPLEdBRTlFbUosZUFBZ0I4RSxJQ3ZacEIsRUFOQSxTQUFvQnVCLEdBQ2xCLE1BQU0sUUFBRUMsRUFBRixRQUFXQyxHQUFZRixFQUU3QixPQUFPMVAsRUFBWTJQLEVBQVNDLElDSXhCQyxFQUFtQixDQUFDLGVBQ3BCQyxFQUFrQixDQUFDLGVBQ25CQyxFQUFpQixDQUFDLGFBS3hCLFNBQVNDLEVBQWtCQyxHQUN6QkEsRUFBT0Msa0JBQ1BELEVBQU9FLGtCQUNQRixFQUFPRyx5QkFNVCxTQUFTQyxFQUVQQyxFQUNBQyxFQUNBQyxHQUVBLE1BQ0VDLFdBQVl4SSxFQUNaeUksa0JBQW1CMUgsRUFGZixvQkFHSjJILEdBQ0V6TSxNQXlCRSxTQUFFMEosRUFBRixlQUFZdkUsR0FBbUJ1SCxFQUNuQyxJQUFJekosRUFBS2pELEtBQU13QyxFQUNidUIsRUFBV2hJLEVBQUl1USxFQUFVdlEsRUFBSXFRLEVBQVdyUSxFQUN4Q2dJLEVBQVcvSCxFQUFJc1EsRUFBVXRRLEVBQUlvUSxFQUFXcFEsRUFDeEMrSCxFQUFXWCxNQUNYVyxFQUFXVixTQUVieUIsRUFDQSxDQUNFbkQsY0FBZTNCLEtBQUsyQixjQUNwQkUsZ0JBQWlCN0IsS0FBSzZCLGdCQUN0QmhCLFNBQVViLEtBQUthLFNBQ2ZvQixlQUFnQmpDLEtBQUtpQyxlQUNyQkcsY0FBZXBDLEtBQUtvQyxjQUNwQjBGLFdBQVk5SCxLQUFLOEgsV0FDakJDLG1CQUFvQi9ILEtBQUsrSCxtQkFDekI5QyxnQkFBaUJqRixLQUFLMk0sb0JBQ3RCaEQsd0JBQXlCM0osS0FBSzRNLDRCQUM5QjFILGtCQUFtQmxGLEtBQUs2TSxzQkFDeEI3RSxnQkEzQ3NDOEUsSUFDeEMsSUFBS0wsRUFBb0JLLEdBQ3ZCLE9BQU8sRUFHVCxNQUFNQyxFQUFtQyxDQUN2Q25NLE9BQVFrTSxFQUNSbkksUUFBU0csRUFDVHNILFdBQVl0USxFQUFZc1EsR0FDeEJFLFVBQVd4USxFQUFZd1EsSUFhekIsT0FYc0I3RSxFQUNwQnpILEtBQ0FmLEVBQUFBLFdBQ0EsQ0FDRXFLLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLE9BQVFzRCxPQWtDZCxPQU5BL00sS0FBS2dOLGlCQUNGdEQsR0FBVTNOLEdBQUtnSSxFQUFXaEksR0FBS2dJLEVBQVdoSSxFQUFJc1EsRUFBZ0J0USxHQUM5RDJOLEdBQVUxTixHQUFLK0gsRUFBVy9ILEdBQUsrSCxFQUFXL0gsRUFBSXFRLEVBQWdCclEsR0FFakVnRSxLQUFLK0gsbUJBQXFCNUMsRUFFbkJtSCxFQU1ULFNBQVNXLEdBRVB6QixHQUVBLEdBQUl4TCxLQUFLZ0IsVUFBWWhCLEtBQUs0QixVQUN4QixPQUdGLE1BQU13SyxFQUFhYyxFQUFXMUIsR0FFOUJ4TCxLQUFLbU4sVUFBVyxFQUNoQnJCLEVBQWtCOUwsTUFFbEIsTUFDRXVNLFdBQVl4SSxFQUNaeUksa0JBQW1CMUgsR0FDakI5RSxLQUVFb04sRUFBcUMsQ0FDekN4TSxPQUZpQixJQUFJcUMsRUFBS2pELEtBQU0rRCxHQUdoQ1ksUUFBU0csRUFDVHNILFdBQVl0USxFQUFZc1EsSUFhMUIsSUFYdUIzRSxFQUNyQnpILEtBQ0FmLEVBQUFBLFlBQ0EsQ0FDRXFLLFNBQVMsRUFDVEMsWUFBWSxFQUNaQyxVQUFVLEVBQ1ZDLE9BQVEyRCxJQUtWLE9BR0YsSUFBSUMsRUFBMEJqQixFQUM5QixNQUFNa0IsRUFBa0JuQixFQUFhb0IsS0FBS3ZOLEtBQU1vTSxFQUFZcE0sS0FBS3dOLFlBQzNEQyxFQUFvQkMsSUFDeEIsTUFBTXBCLEVBQVlZLEVBQVdRLEdBRTdCTCxFQUFnQkMsRUFBZ0JoQixJQUU1QnFCLEVBQW9CLElBQUlDLGtCQUFpQixLQUM3Q04sRUFBZ0JELE1BRVpRLEVBQWtCLEtBQ3RCN04sS0FBS21OLFVBQVcsRUFDaEJuTixLQUFLOE4sTUFBTUMsZUFBZSxXQUMxQnhHLEVBQXFCL0gsU0FBVW9NLEVBQWlCNkIsR0FDaERsRyxFQUFxQi9ILFNBQVVxTSxFQUFnQmdDLEdBQy9DRixFQUFrQkssYUFDbEJsQyxFQUFrQjlMLE1BQ2xCeUgsRUFBYXpILEtBQU1mLEVBQUFBLFVBQWlCLENBQ2xDcUssU0FBUyxFQUNUQyxZQUFZLEVBQ1pDLFVBQVUsS0FJZHhKLEtBQUttTixVQUFXLEVBQ2hCbk4sS0FBSzhOLE1BQU1HLFlBQVksVUFBWSxHQUFFQyxLQUFLQyxTQUMxQzNDLEVBQU00QyxpQkFDTnBILEVBQWtCeEgsU0FBVW9NLEVBQWlCNkIsR0FDN0N6RyxFQUFrQnhILFNBQVVxTSxFQUFnQmdDLEdBQzVDRixFQUFrQlUsUUFBUXJPLEtBQU0sQ0FDOUJzTyxZQUFZLEVBQ1pDLGdCQUFpQnhSLE9BQU9ILE9BQU9tQyxLQUVqQ3VPLEVBQWdCRCxHQW9CWCxTQUFTbUIsR0FBbUJ6QyxHQUM3QkEsRUFBTy9LLFVBQVkrSyxFQUFPbkssVUFSaEMsU0FBa0NtSyxHQUNoQ3hFLEVBQXFCd0UsRUFBUUosRUFBa0JzQixJQVE3Q3dCLENBQXlCMUMsR0FoQjdCLFNBQStCQSxHQUM3Qi9FLEVBQWtCK0UsRUFBUUosRUFBa0JzQixJQWlCMUN5QixDQUFzQjNDLEcsSUNoTXJCNEMsSSxTQUFBQSxHQUFBQSxFQUFBQSxRQUFBQSxhQUFBQSxFQUFBQSxRQUFBQSxhLENBQUFBLEtBQUFBLEdBQUFBLEtBS0wsWUNpQk1uUixHQUFXLGVBQ1grQixHQUFXQyxTQUFTQyxjQUFjLFlBRXhDRixHQUFTSSxVQUFhLDRDQUdMZ1AsR0FBQUEsZ0NBQ0FBLEdBQUFBLGdNQVlqQixNQUFNbkosV0FBZTVGLEVBQ1RnUCxVQUE0QixLQUU1QkMsZ0JBQStCLEtBRS9CQyx1QkFBd0MsS0FFeEMzQixVQUFvQixFQUVwQkssV0FBdUIxUixFQUFZLEVBQUcsR0FFdENpTSxtQkFBNEMsS0FFdERqSSxjQUNFQyxRQUVDQyxLQUFLRyxXQUEwQkMsT0FBT2IsR0FBU2MsUUFBUUMsV0FBVSxJQUNsRWtPLEdBQW1CeE8sTUFNakJnQixlQUNGLE9BQU9qQixNQUFNaUIsU0FNWEEsYUFBU0EsR0FDWGpCLE1BQU1pQixTQUFXQSxFQUNqQndOLEdBQW1CeE8sTUFNakI0QixnQkFDRixPQUFPN0IsTUFBTTZCLFVBTVhBLGNBQVVBLEdBQ1o3QixNQUFNNkIsVUFBWUEsRUFDbEI0TSxHQUFtQnhPLE1BTWpCdU0saUJBS0YsT0FKS3ZNLEtBQUs0TyxZQUNSNU8sS0FBSzRPLFVBQVlsTCxFQUFRMUQsT0FHcEJBLEtBQUs0TyxVQU1kNUMsa0JBQ09oTSxLQUFLbU4sV0FDUm5OLEtBQUs0TyxVQUFZLE1BT2pCOUcsaUJBQ0YsTUFBTXRHLEVBQVN4QixLQUFLeUIsZUFBaUJqQyxTQUFTc0QsS0FNOUMsT0FKSzlDLEtBQUs2TyxrQkFDUjdPLEtBQUs2TyxnQkFBa0IvSyxFQUFRdEMsSUFHMUJ4QixLQUFLNk8sZ0JBTWQ1QyxrQkFDT2pNLEtBQUttTixXQUNSbk4sS0FBSzZPLGdCQUFrQixNQU92QnJDLHdCQU1GLE9BTEt4TSxLQUFLOE8seUJBQ1I5TyxLQUFLOE8sdUJBQXlCOU8sS0FBSytPLHdCQUNoQ2hLLEtBQUtDLEdBQVdsQixFQUFRa0IsTUFHdEJoRixLQUFLOE8sdUJBTWQ1Qyx5QkFDT2xNLEtBQUttTixXQUNSbk4sS0FBSzhPLHVCQUF5QixNQU9sQ0Usa0JBQ0UsT0FBUTVSLE1BQU02UixLQUFLelAsU0FBUzBQLGlCQUFpQjFSLEtBQzFDUixRQUFRK08sR0FBV0EsSUFBVy9MLE9BTW5DK08sd0JBQ0UsR0FBSS9PLEtBQUtnQixVQUFZaEIsS0FBSzJCLGNBQ3hCLE1BQU8sR0FHVCxNQUFNLE1BQUVQLEdBQVVwQixLQUNabVAsRUFBcUIsT0FBVi9OLEVBR1hnTyxFQUFZLHFCQUZtQnJRLEVBQUFBLG1CQUNLQSxFQUFBQSxrQkFTMUMsT0FQaUIzQixNQUFNNlIsS0FBS3pQLFNBQVMwUCxpQkFBaUJFLElBQ25EcFMsUUFBUStPLEtBQ1BBLElBQVcvTCxNQUNQQSxLQUFLcVAsU0FBU3RELElBQ2RvRCxHQUFXL04sSUFBVTJLLEVBQU8zSyxTQVV0Q3VMLHdCQUNFN0YsRUFDQWxDLEVBQVUsS0FFVixNQUFNLGdCQUNKL0MsRUFBa0I3QixLQUFLNkIsZ0JBRG5CLFNBRUpoQixFQUFXYixLQUFLYSxVQUNkK0QsRUFFSixPQ2xMbUMsU0FDckNrQyxFQUNBbEMsRUFBVSxJQUVWLE1BQU0sZ0JBQ0ovQyxFQUFrQm5DLEVBQXVCWCxFQUFBQSxrQkFDdkM2RixFQUVKLEdBQUlrQyxFQUFTakIsWUFBY2hFLEVBRXpCLE9BQU8sRUFHVCxNQUFNLFNBQ0poQixFQUFXbkIsRUFBdUJYLEVBQUFBLFVBQ2hDNkYsRUFFSixHQUFJL0QsRUFBUzNELFNBQVMyQixFQUFBQSxRQUVwQixPQUFPLEVBR1QsTUFDRStCLFFBQ0V1QyxLQUFNWSxHQUVSaUIsUUFDRTdCLEtBQU1hLElBRU44QyxFQUdKLE9BQVFBLEVBQVM3QyxXQUNmLFFBQ0UsT0FBTyxFQUVULEtBQUtqRyxFQUFBQSxTQUNMLEtBQUtBLEVBQUFBLFlBQ0wsS0FBS0EsRUFBQUEsWUFDTCxLQUFLQSxFQUFBQSxlQUNMLEtBQUtBLEVBQUFBLGlCQUNILFFBQ0crRixFQUFXUixNQUFRMUIsRUFBbUJtQyxFQUFXUCxNQUM5Q00sRUFBV04sS0FBTzVCLEVBQW1CbUMsRUFBV1QsT0FPeEQsS0FBS3ZGLEVBQUFBLGFBQ0wsS0FBS0EsRUFBQUEsWUFDTCxLQUFLQSxFQUFBQSxZQUNMLEtBQUtBLEVBQUFBLFdBQ0wsS0FBS0EsRUFBQUEsaUJBQ0gsUUFDRytGLEVBQVdULElBQU16QixFQUFtQm1DLEVBQVdSLFFBQzVDTyxFQUFXUCxPQUFTM0IsRUFBbUJtQyxFQUFXVixNRHlIbkRnTSxDQUFjeEksRUFBVSxDQUM3QmpGLGdCQUFBQSxFQUNBaEIsU0FBQUEsSUFPSitMLGdDQUNFOUYsRUFDQWxDLEVBQVUsS0FFVixNQUFNLGdCQUNKL0MsRUFBa0I3QixLQUFLNkIsZ0JBRG5CLFNBRUpoQixFQUFXYixLQUFLYSxTQUZaLGdCQUdKb0UsRUFBa0JqRixLQUFLMk0scUJBQ3JCL0gsRUFHSixPRXRNbUQsU0FDckRrQyxFQUNBbEMsRUFBVSxJQUVWLE1BQU0sZ0JBQ0pLLEVBQWtCZCxLQUNmb0wsR0FDRDNLLEVBR0osSUFGMEJLLEVBQWdCNkIsRUFBVXlJLEdBR2xELE9BQU8sRUFNVCxNQUVNaEgsRUFBYTdFLEVBRkprQixFQUFRcEQsUUFBVWhDLFNBQVNzRCxPQUdwQyxVQUFFbUIsRUFBRixZQUFhMUgsRUFBYixPQUEwQnFFLEdBQVdrRyxHQUV6QzNELEtBQU1ZLEdBQ0puRCxFQUVKLE9BQVFxRCxHQUNOLFFBQ0UsT0FBTyxFQUVULElBQUssV0FDTCxJQUFLLGNBQ0wsSUFBSyxjQUNMLElBQUssaUJBcUJMLElBQUssbUJBQ0gsT0FDRUYsRUFBV1QsSUFBTS9HLEdBQWVnTSxFQUFXakYsS0FDeENTLEVBQVdQLE9BQVNqSCxHQUFlZ00sRUFBVy9FLE9BbEJyRCxJQUFLLGVBQ0wsSUFBSyxjQUNMLElBQUssY0FDTCxJQUFLLGFBTUwsSUFBSyxtQkFDSCxPQUNFTyxFQUFXUixNQUFRaEgsR0FBZWdNLEVBQVdoRixPQUMxQ1EsRUFBV04sS0FBT2xILEdBQWVnTSxFQUFXOUUsTUZvSjVDK0wsQ0FBc0IxSSxFQUFVLENBQ3JDakYsZ0JBQUFBLEVBQ0FoQixTQUFBQSxFQUNBVyxPQUxhb0QsRUFBUXBELFFBQVV4QixLQUFLOEgsV0FNcEM3QyxnQkFBQUEsSUFTSjRILHNCQUF3QjRDLEVBTXhCaEQsb0JBQXNCaUQsRUFLdEJDLGNBQ0UzSyxFQUNBZixHQUVBLE1BQU1GLEVBQWFMLEVBQVExRCxNQUNyQmdFLEVBQWFOLEVBQVFzQixHQUUzQixPQUFPMkssRUFBYzVMLEVBQVlDLEVBQVlDLEdBTS9DMkwsV0FDRTVLLEVBQ0FmLEdBRUEsT0d6UEosU0FDRXJELEVBQ0FvRSxFQUNBZixHQUVBLE1BQU1ZLEVBQWFmLEVBQVFsRCxHQUNyQjBFLEVBQWF4QixFQUFRa0IsR0FDckJqQixFQUFhTCxFQUFROUMsR0FDckJvRCxFQUFhTixFQUFRc0IsR0FDckJ6SSxFQUFjb1QsRUFBYzVMLEVBQVlDLEVBQVlDLEdBRzFELE1BQU8sQ0FDTHJELE9BQVFpRSxFQUNSRyxPQUFRTSxFQUNSckIsVUFBQUEsRUFDQTFILFlBQUFBLEVBQ0FzSixZQVBrQnhHLEVBQUk5QyxJSCtPZnFULENBQVc1UCxLQUFNZ0YsRUFBUWYsR0FNbEM0TCxhQUNFN0ssRUFDQUosRUFBcUMsSUFFckMsTUFBTSxnQkFDSi9DLEVBQWtCN0IsS0FBSzZCLGdCQURuQixTQUVKaEIsRUFBV2IsS0FBS2EsU0FGWixXQUdKQyxFQUhJLGdCQUlKbUUsRUFBa0JqRixLQUFLMk0scUJBQ3JCL0gsRUFFSixPQUFPaUYsRUFDTDdKLEtBQ0FnRixFQUNBLENBQ0VuRCxnQkFBQUEsRUFDQWhCLFNBQUFBLEVBQ0FDLFdBQUFBLEVBQ0FtRSxnQkFBQUEsSUFRTjZLLG1CQUNFbEwsRUFBcUMsSUFFckMsTUFBTSxnQkFDSi9DLEVBQWtCN0IsS0FBSzZCLGdCQURuQixTQUVKaEIsRUFBV2IsS0FBS2lDLGVBRlosV0FHSm5CLEVBSEksZ0JBSUptRSxFQUFrQmpGLEtBQUsyTSxxQkFDckIvSCxFQUVKLE9BQU9pRixFQUNMN0osS0FDQUEsS0FBSzhILFdBQ0wsQ0FDRWpHLGdCQUFBQSxFQUNBaEIsU0FBQUEsRUFDQUMsV0FBQUEsRUFDQW1FLGdCQUFBQSxJQVFOK0UsbUJBQ0VyRixFQUNBQyxFQUVJLElBRUosTUFBTSxnQkFDSi9DLEVBQWtCN0IsS0FBSzZCLGdCQURuQixTQUVKaEIsRUFBV2IsS0FBS2EsU0FGWixlQUdKb0IsRUFBaUJqQyxLQUFLaUMsZUFIbEIsV0FJSm5CLEVBSkksZ0JBS0ptRSxFQUFrQmpGLEtBQUsyTSxvQkFMbkIsZUFNSnhILEVBTkksa0JBT0pELEVBQW9CbEYsS0FBSzZNLHVCQUN2QmpJLEVBQ0VtTCxFQUFtQnZLLEdBQU93SyxVQUFVRixtQkFBbUJHLEtBQzNEalEsS0FDQSxDQUNFNkIsZ0JBQUFBLEVBQ0FoQixTQUFVb0IsRUFDVm5CLFdBQUFBLEVBQ0FtRSxnQkFBQUEsRUFDQUUsZUFBQUEsSUFJSixPQUFPNkUsRUFDTGhLLEtBQ0EyRSxFQUNBLENBQ0U5QyxnQkFBQUEsRUFDQWhCLFNBQUFBLEVBQ0FDLFdBQUFBLEVBQ0FtRSxnQkFBQUEsRUFDQUMsa0JBQUFBLEVBQ0FDLGVBQWdCNEssR0FBa0J6VCxPQW1CeEM0VCxvQ0FDRUMsRUFDQUMsRUFDQUMsR0FFQSxNQUFNM0csRUFBVzVOLEVBQVlxVSxFQUFnQkMsR0FDdkN4TCxHQUNIdUwsYUFBZ0JsVSxTQUFXbVUsRUFBT0MsSUFBUyxJQUV4QyxNQUFFak4sRUFBRixPQUFTQyxHQUFXckQsS0FBS3VNLFdBQ3pCeEksRUFBYXZCLEVBQ2pCa0gsRUFBUzNOLEVBQ1QyTixFQUFTMU4sRUFDVG9ILEVBQ0FDLEdBRUl3QixFQUFhLElBQUk1QixFQUFLakQsS0FBTStELElBQzVCLFlBQ0o4RCxFQURJLGNBRUpsRyxFQUFnQjNCLEtBQUsyQixjQUZqQixnQkFHSkUsRUFBa0I3QixLQUFLNkIsZ0JBSG5CLFNBSUpoQixFQUFXYixLQUFLYSxTQUpaLFdBS0pDLEVBTEksZUFNSm1CLEVBQWlCakMsS0FBS2lDLGVBTmxCLGNBT0pHLEVBQWdCcEMsS0FBS29DLGNBUGpCLFdBUUowRixFQUFhOUgsS0FBSzhILFdBUmQsbUJBU0pDLEVBQXFCL0gsS0FBSytILG1CQVR0QixnQkFVSjlDLEVBQWtCakYsS0FBSzJNLG9CQVZuQix3QkFXSmhELEVBQTBCM0osS0FBSzRNLDRCQVgzQixrQkFZSjFILEVBQW9CbEYsS0FBSzZNLHNCQVpyQixnQkFhSjdFLEVBQWtCaEksS0FBS3lNLHFCQUNyQjdILEVBQ0UwTCxFQUFTNUQsRUFDYjdILEVBQ0E3RSxLQUFLd00sa0JBQ0wsQ0FDRTNFLFlBQUFBLEVBQ0FsRyxjQUFBQSxFQUNBRSxnQkFBQUEsRUFDQWhCLFNBQUFBLEVBQ0FDLFdBQUFBLEVBQ0FtQixlQUFBQSxFQUNBRyxjQUFBQSxFQUNBMEYsV0FBQUEsRUFDQUMsbUJBQUFBLEVBQ0E5QyxnQkFBQUEsRUFDQTBFLHdCQUFBQSxFQUNBekUsa0JBQUFBLEVBQ0E4QyxnQkFBQUEsSUFRSixPQUpBaEksS0FBS2dNLGtCQUNMaE0sS0FBS2lNLGtCQUNMak0sS0FBS2tNLHlCQUVFb0UsRUFNTEMsdUJBQ0YsTUFBTSxXQUFFbE8sRUFBRixXQUFjbUwsR0FBZXhOLEtBRW5DLE9BQVFxQyxHQUNOLFFBQ0EsS0FBS25ELEVBQUFBLE1BQ0gsT0FBT3BELEVBQVkwUixHQUVyQixLQUFLdE8sRUFBQUEsV0FBdUIsQ0FDMUIsTUFBTSxhQUFFc1IsR0FBaUJ4USxLQUNuQnVJLEVBQWEvRixFQUFXZ08sR0FBZ0JoUixVQU05QyxPQUxlMUQsRUFDYjBSLEVBQVd6UixFQUFJd00sRUFBV25GLE1BQzFCb0ssRUFBV3hSLEVBQUl1TSxFQUFXbEYsVUFXbENvTixvQkFDRXpRLEtBQUs4TixNQUFNQyxlQUFlWSxHQUFBQSxTQUMxQjNPLEtBQUs4TixNQUFNQyxlQUFlWSxHQUFBQSxTQUMxQjNPLEtBQUt3TixXQUFhMVIsRUFBWSxFQUFHLEdBVW5Da1IsZ0JBQ0UwRCxFQUFTMVEsS0FBS3dOLFdBQ2RtRCxHQUVBLE1BQU1DLEVBQVM5VSxFQUFZNFUsRUFBY0MsSUFDbkMsV0FBRXRPLEdBQWVyQyxLQUV2QixPQUFRcUMsR0FDTixRQUNBLEtBQUtuRCxFQUFBQSxNQUNIYyxLQUFLOE4sTUFBTUcsWUFBWVUsR0FBQUEsUUFBZ0IsR0FBRWlDLEVBQU83VSxPQUNoRGlFLEtBQUs4TixNQUFNRyxZQUFZVSxHQUFBQSxRQUFnQixHQUFFaUMsRUFBTzVVLE9BQ2hELE1BRUYsS0FBS2tELEVBQUFBLFdBQXVCLENBQzFCLE1BQU1zQyxFQUFTeEIsS0FBS3dRLGNBQWdCaFIsU0FBU3NELEtBQ3ZDK04sRUFBU3pSLFdBQVcwUixpQkFBaUJ0UCxJQUNyQyxVQUFFdVAsRUFBRixNQUFhM04sRUFBYixPQUFvQkMsR0FBV3dOLEVBQ3JDLElBQUlHLEVBQWFDLFdBQVc3TixHQUN4QjhOLEVBQWNELFdBQVc1TixHQUU3QixHQUFrQixlQUFkME4sRUFBNEIsQ0FDOUIsTUFBTSxXQUNKSSxFQURJLGFBQ1FDLEVBRFIsY0FDc0JDLEVBRHRCLFlBQ3FDQyxFQURyQyxlQUVKQyxFQUZJLGlCQUVZQyxFQUZaLGtCQUU4QkMsRUFGOUIsZ0JBRWlEQyxHQUNuRGIsRUFDRXZOLEVBQU0yTixXQUFXRSxHQUNqQjVOLEVBQVEwTixXQUFXRyxHQUNuQjVOLEVBQVN5TixXQUFXSSxHQUNwQjVOLEVBQU93TixXQUFXSyxHQUNsQkssRUFBWVYsV0FBV00sR0FDdkJLLEVBQWNYLFdBQVdPLEdBQ3pCSyxFQUFlWixXQUFXUSxHQUdoQ1QsR0FBY3pOLEVBQVFFLEVBQU9tTyxFQUZWWCxXQUFXUyxHQUc5QlIsR0FBZTVOLEVBQU1FLEVBQVNtTyxFQUFZRSxFQUc1QyxNQUFNQyxFQUFpQmhXLEVBQ3JCOFUsRUFBTzdVLEVBQUlpVixFQUNYSixFQUFPNVUsRUFBSWtWLEdBR2JsUixLQUFLOE4sTUFBTUcsWUFBWVUsR0FBQUEsUUFBa0IsSUFBTW1ELEVBQWUvVixFQUF2QixLQUN2Q2lFLEtBQUs4TixNQUFNRyxZQUFZVSxHQUFBQSxRQUFrQixJQUFNbUQsRUFBZTlWLEVBQXZCLEtBQ3ZDLE9BSUpnRSxLQUFLd04sV0FBYTFSLEVBQVk4VSxHQVVoQ21CLGtCQUNFaFcsRUFBT0QsRUFBWWtFLEtBQUt1TSxZQUN4QnZRLEdBRUEsTUFBTTBOLEVBQVc1TixFQUFZQyxFQUFhQyxJQUNwQyxXQUNKd1IsRUFDQWpCLFdBQVl4SSxHQUNWL0QsS0FDRWdTLEVBQVNsVyxFQUNiaUksRUFBV2hJLEVBQUl5UixFQUFXelIsRUFDMUJnSSxFQUFXL0gsRUFBSXdSLEVBQVd4UixHQUc1QmdFLEtBQUtnTixnQkFDSHRELEVBQVMzTixFQUFJaVcsRUFBT2pXLEVBQ3BCMk4sRUFBUzFOLEVBQUlnVyxFQUFPaFcsR0FFdEJnRSxLQUFLZ00sa0JBTUhpRyxxQkFDRixNQUFNLG1CQUFFbEssR0FBdUIvSCxLQUN6QmpFLEVBQUlnTSxHQUFvQmhNLEVBQ3hCQyxFQUFJK0wsR0FBb0IvTCxFQUN4Qm1KLEVBQWlDLEdBRXZDLEdBQUlwSixFQUFHLENBQ0wsTUFBTSxPQUFFNkUsRUFBRixPQUFVb0UsR0FBV2pKLEVBRTNCb0osRUFBZXBKLEVBQUksSUFDZEEsRUFDSDZFLE9BQVEsSUFBSXFDLEVBQUtyQyxFQUFPK0MsSUFBS25CLEVBQVc1QixFQUFPdUMsT0FDL0M2QixPQUFRLElBQUkvQixFQUFLK0IsRUFBT3JCLElBQUtuQixFQUFXd0MsRUFBTzdCLGFBR2pEZ0MsRUFBZXBKLE9BQUllLEVBR3JCLEdBQUlkLEVBQUcsQ0FDTCxNQUFNLE9BQUU0RSxFQUFGLE9BQVVvRSxHQUFXaEosRUFFM0JtSixFQUFlbkosRUFBSSxJQUNkQSxFQUNINEUsT0FBUSxJQUFJcUMsRUFBS3JDLEVBQU8rQyxJQUFLbkIsRUFBVzVCLEVBQU91QyxPQUMvQzZCLE9BQVEsSUFBSS9CLEVBQUsrQixFQUFPckIsSUFBS25CLEVBQVd3QyxFQUFPN0IsYUFHakRnQyxFQUFlbkosT0FBSWMsRUFHckIsT0FBT3FJLEdBSVg1QyxFQUFnQmlELEdBQVFoSSxJQUV4QixhIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvdHlwZXMvUG9pbnQudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvdHlwZXMvQXR0cmFjdGlvbi50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy91dGlscy9tdWx0aUF0dHJpYnV0ZVZhbHVlcy50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy91dGlscy9yZWdpc3RlckVsZW1lbnQudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvdmFsdWVzL2FsaWdubWVudC50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy92YWx1ZXMvYWxpZ25Uby50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy92YWx1ZXMvYXR0cmlidXRlLnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3ZhbHVlcy9jcm9zc1ByZXZlbnQudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvdmFsdWVzL2V2ZW50LnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3ZhbHVlcy9vZmZzZXRVbml0LnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3V0aWxzL251bWVyaWMudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvY29yZS50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy90eXBlcy9SZWN0LnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3R5cGVzL1BhY2sudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvbWV0aG9kcy9yYXdEaXN0YW5jZVRvLnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3V0aWxzL3JldHVyblRydWVGYWxzZS50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy91dGlscy9kaXN0YW5jZUJldHdlZW5SZWN0cy50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy9tZXRob2RzL211bHRpQXR0cmFjdGlvbnNUby50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy9tZXRob2RzL3NpbmdsZUF0dHJhY3Rpb25Uby50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy9tZXRob2RzL2p1ZGdlQXR0cmFjdGlvbi50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy9tZXRob2RzL2p1ZGdlTW92ZW1lbnQudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvdXRpbHMvZXZlbnRIYW5kbGVyLnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3V0aWxzL2dldE9mZnNldFRvQmVJblJlY3QudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvbWV0aG9kcy9hdHRyYWN0aW9uUmVzdWx0T2ZQb3NpdGlvbi50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy91dGlscy9nZXRFdmVudFhZLnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL3V0aWxzL2RyYWdMaXN0ZW5lci50cyIsIndlYnBhY2s6Ly9AbGYyY29tL21hZ25ldC5qcy8uL3NyYy92YWx1ZXMvc3R5bGUudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvYmxvY2sudHMiLCJ3ZWJwYWNrOi8vQGxmMmNvbS9tYWduZXQuanMvLi9zcmMvbWV0aG9kcy9qdWRnZURpc3RhbmNlLnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL21ldGhvZHMvanVkZ2VEaXN0YW5jZUluUGFyZW50LnRzIiwid2VicGFjazovL0BsZjJjb20vbWFnbmV0LmpzLy4vc3JjL21ldGhvZHMvZGlzdGFuY2VUby50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUGFjaywgeyBSZWN0YWJsZSB9IGZyb20gJy4vUGFjayc7XG5pbXBvcnQgeyBnZXRSZWN0IH0gZnJvbSAnLi9SZWN0JztcblxuaW50ZXJmYWNlIENyZWF0ZVBvaW50IHtcbiAgKHg6IG51bWJlciwgeTogbnVtYmVyKTogRE9NUG9pbnQ7XG4gIChwb2ludDogRE9NUG9pbnQpOiBET01Qb2ludDtcbiAgKHJlY3Q6IERPTVJlY3QpOiBET01Qb2ludDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHBvaW50IG9iamVjdCBmcm9tIGEgcG9pbnQgb3IgKHgsIHkpLlxuICovXG5leHBvcnQgY29uc3QgY3JlYXRlUG9pbnQ6IENyZWF0ZVBvaW50ID0gZnVuY3Rpb24gY3JlYXRlUG9pbnQoXG4gIHg6IG51bWJlciB8IERPTVBvaW50IHwgRE9NUmVjdCxcbiAgeT86IG51bWJlcixcbikge1xuICBpZiAoeCBpbnN0YW5jZW9mIERPTVBvaW50KSB7XG4gICAgcmV0dXJuIERPTVBvaW50LmZyb21Qb2ludCh4KTtcbiAgfVxuICBpZiAoeCBpbnN0YW5jZW9mIERPTVJlY3QpIHtcbiAgICByZXR1cm4gbmV3IERPTVBvaW50KHgueCwgeC55KTtcbiAgfVxuXG4gIHJldHVybiBuZXcgRE9NUG9pbnQoeCwgeSk7XG59O1xuXG4vKipcbiAqIFJldHVybnMgcG9pbnQgb2JqZWN0IGZyb20gc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UG9pbnQoc291cmNlOiBSZWN0YWJsZSB8IFBhY2sgfCBET01Qb2ludCk6IERPTVBvaW50IHtcbiAgcmV0dXJuIChzb3VyY2UgaW5zdGFuY2VvZiBET01Qb2ludFxuICAgID8gc291cmNlXG4gICAgOiBET01Qb2ludC5mcm9tUG9pbnQoZ2V0UmVjdChzb3VyY2UpKVxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVQb2ludDtcbiIsImltcG9ydCBEaXN0YW5jZSBmcm9tICcuL0Rpc3RhbmNlJztcbmltcG9ydCBQYWNrIGZyb20gJy4vUGFjayc7XG5pbXBvcnQgeyBjcmVhdGVQb2ludCB9IGZyb20gJy4vUG9pbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJhY3Rpb25CZXN0IHtcbiAgeD86IERpc3RhbmNlO1xuICB5PzogRGlzdGFuY2U7XG59XG5cbmludGVyZmFjZSBBdHRyYWN0aW9uPFQ+IHtcbiAgc291cmNlOiBQYWNrO1xuICB0YXJnZXQ6IFQ7XG4gIHJlc3VsdHM6IERpc3RhbmNlW107XG4gIGJlc3Q6IEF0dHJhY3Rpb25CZXN0O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG9mZnNldCBvZiBhdHRyYWN0aW9uIHJlc3VsdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF0dHJhY3Rpb25PZmZzZXQoYXR0cmFjdGlvbjogQXR0cmFjdGlvbjx1bmtub3duPik6IERPTVBvaW50IHtcbiAgY29uc3QgeyBiZXN0IH0gPSBhdHRyYWN0aW9uO1xuXG4gIHJldHVybiBjcmVhdGVQb2ludChcbiAgICBiZXN0Lng/LnJhd0Rpc3RhbmNlID8/IDAsXG4gICAgYmVzdC55Py5yYXdEaXN0YW5jZSA/PyAwLFxuICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBdHRyYWN0aW9uO1xuIiwiY29uc3QgU1BMSVRURVIgPSAvW3w7LFxcc10vO1xuXG4vKipcbiAqIFJldHVybnMgc3BsaXR0ZWQgdmFsdWVzIGZyb20gYXR0cmlidXRlIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QXJyYXlGcm9tQXR0cmlidXRlVmFsdWU8ViBleHRlbmRzIHN0cmluZz4oXG4gIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICBpbmRleE9iamVjdD86IFJlY29yZDxzdHJpbmcsIFY+LFxuKTogVltdIHtcbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgdmFsdWVzID0gdmFsdWUuc3BsaXQoU1BMSVRURVIpO1xuXG4gIGlmIChpbmRleE9iamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHZhbHVlcyBhcyBWW107XG4gIH1cblxuICBjb25zdCBpbmRleHMgPSBPYmplY3QudmFsdWVzKGluZGV4T2JqZWN0KTtcblxuICByZXR1cm4gaW5kZXhzXG4gICAgLmZpbHRlcigoaW5kZXgpID0+IHZhbHVlcy5pbmNsdWRlcyhpbmRleCkpO1xufVxuXG4vKipcbiAqIFJldHVybnMgY29tYmluZWQgdmFsdWUgZnJvbSBhcnJheSBvZiB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBdHRyaWJ1dGVWYWx1ZUZyb21BcnJheTxUPihcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICBpbmRleE9iamVjdD86IFQsXG4pOiBzdHJpbmcge1xuICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcblxuICBpZiAoaW5kZXhPYmplY3QgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB2YWx1ZXMuam9pbignfCcpO1xuICB9XG5cbiAgY29uc3QgaW5kZXhzID0gT2JqZWN0LnZhbHVlcyhpbmRleE9iamVjdCk7XG5cbiAgcmV0dXJuIGluZGV4c1xuICAgIC5maWx0ZXIoKGluZGV4KSA9PiB2YWx1ZXMuaW5jbHVkZXMoaW5kZXgpKVxuICAgIC5qb2luKCd8Jyk7XG59XG4iLCIvKipcbiAqIFJlZ2lzdGVycyBLbm9iIGVsZW1lbnQuXG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVyRWxlbWVudChcbiAgTm9kZTogdHlwZW9mIEhUTUxFbGVtZW50LFxuICBub2RlTmFtZTogc3RyaW5nLFxuKTogUmV0dXJuVHlwZTx0eXBlb2YgY3VzdG9tRWxlbWVudHMud2hlbkRlZmluZWQ+IHtcbiAgaWYgKGN1c3RvbUVsZW1lbnRzLmdldChub2RlTmFtZSkpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICBuZXcgRXJyb3IoYEFscmVhZHkgZGVmaW5lZCA8JHtub2RlTmFtZX0+YCksXG4gICAgKTtcbiAgfVxuXG4gIGN1c3RvbUVsZW1lbnRzLmRlZmluZShub2RlTmFtZSwgTm9kZSk7XG5cbiAgcmV0dXJuIGN1c3RvbUVsZW1lbnRzLndoZW5EZWZpbmVkKG5vZGVOYW1lKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgcmVnaXN0ZXJFbGVtZW50O1xuIiwiZW51bSBBbGlnbm1lbnQge1xuICB0b3BUb1RvcCA9ICd0b3BUb1RvcCcsXG4gIHRvcFRvQm90dG9tID0gJ3RvcFRvQm90dG9tJyxcbiAgcmlnaHRUb1JpZ2h0ID0gJ3JpZ2h0VG9SaWdodCcsXG4gIHJpZ2h0VG9MZWZ0ID0gJ3JpZ2h0VG9MZWZ0JyxcbiAgYm90dG9tVG9Ub3AgPSAnYm90dG9tVG9Ub3AnLFxuICBib3R0b21Ub0JvdHRvbSA9ICdib3R0b21Ub0JvdHRvbScsXG4gIGxlZnRUb1JpZ2h0ID0gJ2xlZnRUb1JpZ2h0JyxcbiAgbGVmdFRvTGVmdCA9ICdsZWZ0VG9MZWZ0JyxcbiAgeENlbnRlclRvWENlbnRlciA9ICd4Q2VudGVyVG9YQ2VudGVyJyxcbiAgeUNlbnRlclRvWUNlbnRlciA9ICd5Q2VudGVyVG9ZQ2VudGVyJyxcbn1cblxuZXhwb3J0IGNvbnN0IEFsaWdubWVudFhzOiBBbGlnbm1lbnRbXSA9IFtcbiAgQWxpZ25tZW50LnJpZ2h0VG9SaWdodCxcbiAgQWxpZ25tZW50LnJpZ2h0VG9MZWZ0LFxuICBBbGlnbm1lbnQubGVmdFRvUmlnaHQsXG4gIEFsaWdubWVudC5sZWZ0VG9MZWZ0LFxuICBBbGlnbm1lbnQueENlbnRlclRvWENlbnRlcixcbl07XG5cbmV4cG9ydCBjb25zdCBBbGlnbm1lbnRZczogQWxpZ25tZW50W10gPSBbXG4gIEFsaWdubWVudC50b3BUb1RvcCxcbiAgQWxpZ25tZW50LnRvcFRvQm90dG9tLFxuICBBbGlnbm1lbnQuYm90dG9tVG9Ub3AsXG4gIEFsaWdubWVudC5ib3R0b21Ub0JvdHRvbSxcbiAgQWxpZ25tZW50LnlDZW50ZXJUb1lDZW50ZXIsXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBBbGlnbm1lbnQ7XG4iLCJlbnVtIEFsaWduVG8ge1xuICBvdXRlciA9ICdvdXRlcicsXG4gIGlubmVyID0gJ2lubmVyJyxcbiAgY2VudGVyID0gJ2NlbnRlcicsXG4gIGV4dGVuZCA9ICdleHRlbmQnLFxufVxuXG5leHBvcnQgZW51bSBBbGlnblRvUGFyZW50IHtcbiAgaW5uZXIgPSAnaW5uZXInLFxuICBjZW50ZXIgPSAnY2VudGVyJyxcbn1cblxuZXhwb3J0IGRlZmF1bHQgQWxpZ25UbztcbiIsImVudW0gQXR0cmlidXRlIHtcbiAgZGlzYWJsZWQgPSAnZGlzYWJsZWQnLFxuICBncm91cCA9ICdncm91cCcsXG4gIHVuYXR0cmFjdGFibGUgPSAndW5hdHRyYWN0YWJsZScsXG4gIHVubW92YWJsZSA9ICd1bm1vdmFibGUnLFxuICBhdHRyYWN0RGlzdGFuY2UgPSAnYXR0cmFjdC1kaXN0YW5jZScsXG4gIGFsaWduVG8gPSAnYWxpZ24tdG8nLFxuICBhbGlnblRvUGFyZW50ID0gJ2FsaWduLXRvLXBhcmVudCcsXG4gIGNyb3NzUHJldmVudCA9ICdjcm9zcy1wcmV2ZW50JyxcbiAgb2Zmc2V0VW5pdCA9ICdvZmZzZXQtdW5pdCcsXG59XG5cbmV4cG9ydCBkZWZhdWx0IEF0dHJpYnV0ZTtcbiIsImVudW0gQ3Jvc3NQcmV2ZW50IHtcbiAgcGFyZW50ID0gJ3BhcmVudCcsXG59XG5cbmV4cG9ydCBkZWZhdWx0IENyb3NzUHJldmVudDtcbiIsImVudW0gRXZlbnQge1xuICBtYWduZXRzdGFydCA9ICdtYWduZXRzdGFydCcsXG4gIG1hZ25ldG1vdmUgPSAnbWFnbmV0bW92ZScsXG4gIG1hZ25ldGVuZCA9ICdtYWduZXRlbmQnLFxuICBhdHRyYWN0ID0gJ2F0dHJhY3QnLFxuICBhdHRyYWN0ZWQgPSAnYXR0cmFjdGVkJyxcbiAgYXR0cmFjdG1vdmUgPSAnYXR0cmFjdG1vdmUnLFxuICBhdHRyYWN0ZWRtb3ZlID0gJ2F0dHJhY3RlZG1vdmUnLFxuICB1bmF0dHJhY3QgPSAndW5hdHRyYWN0JyxcbiAgdW5hdHRyYWN0ZWQgPSAndW5hdHRyYWN0ZWQnLFxufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudDtcbiIsImVudW0gT2Zmc2V0VW5pdCB7XG4gIHBpeGVsID0gJ3B4JyxcbiAgcHggPSAncHgnLFxuICBwZXJjZW50YWdlID0gJyUnLFxuICAnJScgPSAnJScsXG59XG5cbmV4cG9ydCBkZWZhdWx0IE9mZnNldFVuaXQ7XG4iLCJjb25zdCB7IGlzTmFOIH0gPSBnbG9iYWxUaGlzO1xuY29uc3QgeyBhYnMgfSA9IE1hdGg7XG5cbmV4cG9ydCB7IGlzTmFOLCBhYnMgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgc291cmNlIGlzIGEgbnVtYmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNudW0objogdW5rbm93bik6IG4gaXMgbnVtYmVyIHtcbiAgcmV0dXJuIHR5cGVvZiBuID09PSAnbnVtYmVyJztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIG51bWJlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0ZE51bShuOiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoaXNOYU4obikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIG51bWJlcjogJHtufWApO1xuICB9XG5cbiAgcmV0dXJuIChpc251bShuKSA/IG4gOiBOdW1iZXIobikpO1xufVxuIiwiaW1wb3J0IHsgZ2V0QXR0cmFjdGlvbk9mZnNldCB9IGZyb20gJy4vdHlwZXMvQXR0cmFjdGlvbic7XG5pbXBvcnQgeyBnZXRBcnJheUZyb21BdHRyaWJ1dGVWYWx1ZSwgZ2V0QXR0cmlidXRlVmFsdWVGcm9tQXJyYXkgfSBmcm9tICcuL3V0aWxzL211bHRpQXR0cmlidXRlVmFsdWVzJztcbmltcG9ydCByZWdpc3RlckVsZW1lbnQgZnJvbSAnLi91dGlscy9yZWdpc3RlckVsZW1lbnQnO1xuaW1wb3J0IEFsaWdubWVudCBmcm9tICcuL3ZhbHVlcy9hbGlnbm1lbnQnO1xuaW1wb3J0IEFsaWduVG8sIHsgQWxpZ25Ub1BhcmVudCB9IGZyb20gJy4vdmFsdWVzL2FsaWduVG8nO1xuaW1wb3J0IEF0dHJpYnV0ZSBmcm9tICcuL3ZhbHVlcy9hdHRyaWJ1dGUnO1xuaW1wb3J0IENyb3NzUHJldmVudCBmcm9tICcuL3ZhbHVlcy9jcm9zc1ByZXZlbnQnO1xuaW1wb3J0IEV2ZW50IGZyb20gJy4vdmFsdWVzL2V2ZW50JztcbmltcG9ydCBPZmZzZXRVbml0IGZyb20gJy4vdmFsdWVzL29mZnNldFVuaXQnO1xuaW1wb3J0IHsgaXNOYU4gfSBmcm9tICcuL3V0aWxzL251bWVyaWMnO1xuXG5jb25zdCBub2RlTmFtZSA9ICdtYWduZXQtcGFjayc7XG5jb25zdCB0ZW1wbGF0ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RlbXBsYXRlJyk7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QXR0cmlidXRlVmFsdWVzID0ge1xuICBbQXR0cmlidXRlLmRpc2FibGVkXTogZmFsc2UsXG4gIFtBdHRyaWJ1dGUuZ3JvdXBdOiBudWxsLFxuICBbQXR0cmlidXRlLmF0dHJhY3REaXN0YW5jZV06IDEwLFxuICBbQXR0cmlidXRlLnVuYXR0cmFjdGFibGVdOiBmYWxzZSxcbiAgW0F0dHJpYnV0ZS51bm1vdmFibGVdOiBmYWxzZSxcbiAgZ2V0IFtBdHRyaWJ1dGUuYWxpZ25Ub10oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIEFsaWduVG8ub3V0ZXIsXG4gICAgICBBbGlnblRvLmNlbnRlcixcbiAgICAgIEFsaWduVG8uZXh0ZW5kLFxuICAgIF07XG4gIH0sXG4gIGdldCBbQXR0cmlidXRlLmFsaWduVG9QYXJlbnRdKCkge1xuICAgIHJldHVybiBbXTtcbiAgfSxcbiAgZ2V0IFtBdHRyaWJ1dGUuY3Jvc3NQcmV2ZW50XSgpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gQ3Jvc3NQcmV2ZW50cy5wYXJlbnQsXG4gICAgXTtcbiAgfSxcbiAgW0F0dHJpYnV0ZS5vZmZzZXRVbml0XTogT2Zmc2V0VW5pdC5waXhlbCxcbn07XG5cbnRlbXBsYXRlLmlubmVySFRNTCA9IGBcbiAgPHN0eWxlPlxuICAgIDpob3N0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIDwvc3R5bGU+XG4gIDxzbG90PlxuICA8L3Nsb3Q+XG5gO1xuXG5jbGFzcyBNYWduZXRQYWNrIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7XG4gICAgKHRoaXMuc2hhZG93Um9vdCBhcyBTaGFkb3dSb290KS5hcHBlbmQodGVtcGxhdGUuY29udGVudC5jbG9uZU5vZGUodHJ1ZSkpO1xuICB9XG5cbiAgc3RhdGljIGdldCBBTElHTk1FTlQoKSB7XG4gICAgcmV0dXJuIHsgLi4uQWxpZ25tZW50IH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IEFMSUdOX1RPKCkge1xuICAgIHJldHVybiB7IC4uLkFsaWduVG8gfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgQUxJR05fVE9fUEFSRU5UKCkge1xuICAgIHJldHVybiB7IC4uLkFsaWduVG9QYXJlbnQgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgQ1JPU1NfUFJFVkVOVCgpIHtcbiAgICByZXR1cm4geyAuLi5Dcm9zc1ByZXZlbnQgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgRVZFTlQoKSB7XG4gICAgcmV0dXJuIHsgLi4uRXZlbnQgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsaWdubWVudCB2YWx1ZXMgY29udmVydGVkIGZyb20gc2lkZXMgb2YgYWxpZ25pbmcuXG4gICAqL1xuICBzdGF0aWMgZ2V0QWxpZ25tZW50c0Zyb21BbGlnblRvKHNvdXJjZTogc3RyaW5nW10pOiBBbGlnbm1lbnRbXSB7XG4gICAgY29uc3QgYWxpZ25Ub3MgPSBBcnJheS5pc0FycmF5KHNvdXJjZSkgPyBzb3VyY2UgOiBbc291cmNlXTtcbiAgICBjb25zdCBhbGlnbm1lbnRzOiBBbGlnbm1lbnRbXSA9IFtdO1xuXG4gICAgaWYgKGFsaWduVG9zLmluY2x1ZGVzKEFsaWduVG8ub3V0ZXIpKSB7XG4gICAgICBhbGlnbm1lbnRzLnB1c2goXG4gICAgICAgIEFsaWdubWVudC50b3BUb0JvdHRvbSxcbiAgICAgICAgQWxpZ25tZW50LnJpZ2h0VG9MZWZ0LFxuICAgICAgICBBbGlnbm1lbnQuYm90dG9tVG9Ub3AsXG4gICAgICAgIEFsaWdubWVudC5sZWZ0VG9SaWdodCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChhbGlnblRvcy5pbmNsdWRlcyhBbGlnblRvLmlubmVyKSkge1xuICAgICAgYWxpZ25tZW50cy5wdXNoKFxuICAgICAgICBBbGlnbm1lbnQudG9wVG9Ub3AsXG4gICAgICAgIEFsaWdubWVudC5yaWdodFRvUmlnaHQsXG4gICAgICAgIEFsaWdubWVudC5ib3R0b21Ub0JvdHRvbSxcbiAgICAgICAgQWxpZ25tZW50LmxlZnRUb0xlZnQsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoYWxpZ25Ub3MuaW5jbHVkZXMoQWxpZ25Uby5jZW50ZXIpKSB7XG4gICAgICBhbGlnbm1lbnRzLnB1c2goXG4gICAgICAgIEFsaWdubWVudC54Q2VudGVyVG9YQ2VudGVyLFxuICAgICAgICBBbGlnbm1lbnQueUNlbnRlclRvWUNlbnRlcixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFsaWdubWVudHM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgb2Zmc2V0IG9mIGF0dHJhY3Rpb24gcmVzdWx0LlxuICAgKi9cbiAgc3RhdGljIGdldE1hZ25ldEF0dHJhY3Rpb25PZmZzZXQgPSBnZXRBdHRyYWN0aW9uT2Zmc2V0XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBtYWduZXQgaXMgZGlzYWJsZWQuXG4gICAqL1xuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJhY2VNYWduZXRBdHRyaWJ1dGVWYWx1ZShBdHRyaWJ1dGUuZGlzYWJsZWQpICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgZGlzYWJsZWQgb2YgbWFnbmV0LlxuICAgKi9cbiAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZShBdHRyaWJ1dGUuZGlzYWJsZWQsICcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoQXR0cmlidXRlLmRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBtYWduZXQgZ3JvdXAuXG4gICAqL1xuICBnZXQgZ3JvdXAoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMudHJhY2VNYWduZXRBdHRyaWJ1dGVWYWx1ZShBdHRyaWJ1dGUuZ3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbWFnbmV0IGdyb3VwLlxuICAgKi9cbiAgc2V0IGdyb3VwKGdyb3VwOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKGdyb3VwID09PSBudWxsIHx8IGdyb3VwLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoQXR0cmlidXRlLmdyb3VwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoQXR0cmlidXRlLmdyb3VwLCBncm91cCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5lYXJlc3QgcGFyZW50IG1hZ25ldCBlbGVtZW50LlxuICAgKi9cbiAgZ2V0IHBhcmVudE1hZ25ldCgpOiBNYWduZXRQYWNrIHwgbnVsbCB7XG4gICAgY29uc3QgZ3JvdXAgPSB0aGlzLmdldEF0dHJpYnV0ZShBdHRyaWJ1dGUuZ3JvdXApO1xuXG4gICAgbGV0IHBhcmVudCA9IHRoaXMucGFyZW50RWxlbWVudDtcblxuICAgIHdoaWxlIChwYXJlbnQpIHtcbiAgICAgIGlmIChwYXJlbnQgaW5zdGFuY2VvZiBNYWduZXRQYWNrKSB7XG4gICAgICAgIGNvbnN0IHBhcmVudEdyb3VwID0gcGFyZW50LmdldEF0dHJpYnV0ZShBdHRyaWJ1dGUuZ3JvdXApO1xuXG4gICAgICAgIGlmIChncm91cCA9PT0gbnVsbFxuICAgICAgICAgIHx8IHBhcmVudEdyb3VwID09PSBudWxsXG4gICAgICAgICAgfHwgZ3JvdXAgPT09IHBhcmVudEdyb3VwXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBtYWduZXQgaGFzIG5vIGF0dHJhY3Rpb24uXG4gICAqL1xuICBnZXQgdW5hdHRyYWN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFjZU1hZ25ldEF0dHJpYnV0ZVZhbHVlKEF0dHJpYnV0ZS51bmF0dHJhY3RhYmxlKSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVuYXR0cmFjdGFibGUgb2YgbWFnbmV0LlxuICAgKi9cbiAgc2V0IHVuYXR0cmFjdGFibGUodW5hdHRyYWN0YWJsZTogYm9vbGVhbikge1xuICAgIGlmICh1bmF0dHJhY3RhYmxlKSB7XG4gICAgICB0aGlzLnNldEF0dHJpYnV0ZShBdHRyaWJ1dGUudW5hdHRyYWN0YWJsZSwgJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShBdHRyaWJ1dGUudW5hdHRyYWN0YWJsZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgbWFnbmV0IGlzIHVuYWJsZSB0byBiZSBkcmFnZ2VkLlxuICAgKi9cbiAgZ2V0IHVubW92YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50cmFjZU1hZ25ldEF0dHJpYnV0ZVZhbHVlKEF0dHJpYnV0ZS51bm1vdmFibGUpICE9PSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdW5tb3ZhYmxlIG9mIG1hZ25ldC5cbiAgICovXG4gIHNldCB1bm1vdmFibGUodW5tb3ZhYmxlOiBib29sZWFuKSB7XG4gICAgaWYgKHVubW92YWJsZSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoQXR0cmlidXRlLnVubW92YWJsZSwgJycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShBdHRyaWJ1dGUudW5tb3ZhYmxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGlzdGFuY2Ugb2YgYXR0cmFjdGlvbi5cbiAgICovXG4gIGdldCBhdHRyYWN0RGlzdGFuY2UoKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudHJhY2VNYWduZXRBdHRyaWJ1dGVWYWx1ZShBdHRyaWJ1dGUuYXR0cmFjdERpc3RhbmNlKTtcblxuICAgIHJldHVybiAodmFsdWUgPT09IG51bGxcbiAgICAgID8gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuYXR0cmFjdERpc3RhbmNlXVxuICAgICAgOiBOdW1iZXIodmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXN0YW5jZSBvZiBhdHRyYWN0aW9uLlxuICAgKi9cbiAgc2V0IGF0dHJhY3REaXN0YW5jZShhdHRyYWN0RGlzdGFuY2U6IG51bWJlciB8IG51bGwpIHtcbiAgICBpZiAoYXR0cmFjdERpc3RhbmNlID09PSBudWxsKSB7XG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShBdHRyaWJ1dGUuYXR0cmFjdERpc3RhbmNlKTtcbiAgICB9IGVsc2UgaWYgKGlzTmFOKGF0dHJhY3REaXN0YW5jZSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgYXR0cmFjdGlvbiBkaXN0YW5jZTogJHthdHRyYWN0RGlzdGFuY2V9YCk7XG4gICAgfSBlbHNlIGlmIChhdHRyYWN0RGlzdGFuY2UgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgQXR0cmFjdGlvbiBkaXN0YW5jZSBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDA6ICR7YXR0cmFjdERpc3RhbmNlfWApO1xuICAgIH0gZWxzZSBpZiAoYXR0cmFjdERpc3RhbmNlICE9PSB0aGlzLmF0dHJhY3REaXN0YW5jZSkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoQXR0cmlidXRlLmF0dHJhY3REaXN0YW5jZSwgYCR7YXR0cmFjdERpc3RhbmNlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIG1hZ25ldCBhdHRyYWN0aW9uIHNpZGVzLlxuICAgKi9cbiAgZ2V0IGFsaWduVG9zKCk6IEFsaWduVG9bXSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnRyYWNlTWFnbmV0QXR0cmlidXRlVmFsdWUoQXR0cmlidXRlLmFsaWduVG8pO1xuXG4gICAgcmV0dXJuICh2YWx1ZSA9PT0gbnVsbFxuICAgICAgPyBkZWZhdWx0QXR0cmlidXRlVmFsdWVzW0F0dHJpYnV0ZS5hbGlnblRvXVxuICAgICAgOiBnZXRBcnJheUZyb21BdHRyaWJ1dGVWYWx1ZSh2YWx1ZSwgQWxpZ25UbylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgbWFnbmV0IGF0dHJhY3Rpb24gc2lkZXMuXG4gICAqL1xuICBzZXQgYWxpZ25Ub3MoYWxpZ25Ub3M6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoXG4gICAgICBBdHRyaWJ1dGUuYWxpZ25UbyxcbiAgICAgIGdldEF0dHJpYnV0ZVZhbHVlRnJvbUFycmF5KChBcnJheS5pc0FycmF5KGFsaWduVG9zKVxuICAgICAgICA/IGFsaWduVG9zXG4gICAgICAgIDogZ2V0QXJyYXlGcm9tQXR0cmlidXRlVmFsdWUoYWxpZ25Ub3MsIEFsaWduVG8pXG4gICAgICApKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGF0dHJhY3Rpb24gc2lkZXMgZm9yIGl0cyBwYXJlbnQgZWxlbWVudC5cbiAgICovXG4gIGdldCBhbGlnblRvUGFyZW50cygpOiBBbGlnblRvUGFyZW50W10ge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cmFjZU1hZ25ldEF0dHJpYnV0ZVZhbHVlKEF0dHJpYnV0ZS5hbGlnblRvUGFyZW50KTtcblxuICAgIHJldHVybiAodmFsdWUgPT09IG51bGxcbiAgICAgID8gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuYWxpZ25Ub1BhcmVudF1cbiAgICAgIDogZ2V0QXJyYXlGcm9tQXR0cmlidXRlVmFsdWUodmFsdWUsIEFsaWduVG9QYXJlbnQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhdHRyYWN0aW9uIHNpZGVzIGZvciBpdHMgcGFyZW50IGVsZW1lbnQuXG4gICAqL1xuICBzZXQgYWxpZ25Ub1BhcmVudHMoYWxpZ25Ub1BhcmVudHM6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoXG4gICAgICBBdHRyaWJ1dGUuYWxpZ25Ub1BhcmVudCxcbiAgICAgIGdldEF0dHJpYnV0ZVZhbHVlRnJvbUFycmF5KChBcnJheS5pc0FycmF5KGFsaWduVG9QYXJlbnRzKVxuICAgICAgICA/IGFsaWduVG9QYXJlbnRzXG4gICAgICAgIDogZ2V0QXJyYXlGcm9tQXR0cmlidXRlVmFsdWUoYWxpZ25Ub1BhcmVudHMsIEFsaWduVG9QYXJlbnQpXG4gICAgICApKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbWFnbmV0IGFsaWdubWVudHMgZm9yIGF0dHJhY3Rpb24uXG4gICAqL1xuICBnZXQgYWxpZ25tZW50cygpOiBBbGlnbm1lbnRbXSB7XG4gICAgcmV0dXJuIE1hZ25ldFBhY2suZ2V0QWxpZ25tZW50c0Zyb21BbGlnblRvKHRoaXMuYWxpZ25Ub3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgbWFnbmV0IGFsaWdubWVudHMgZm9yIHBhcmVudCBhdHRyYWN0aW9uLlxuICAgKi9cbiAgZ2V0IHBhcmVudEFsaWdubWVudHMoKTogQWxpZ25tZW50W10ge1xuICAgIHJldHVybiBNYWduZXRQYWNrLmdldEFsaWdubWVudHNGcm9tQWxpZ25Ubyh0aGlzLmFsaWduVG9QYXJlbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRhcmdldHMgdGhhdCB0aGUgbWFnbmV0IHdvdWxkIHByZXZlbnQgZnJvbSBjcm9zc2luZy5cbiAgICovXG4gIGdldCBjcm9zc1ByZXZlbnRzKCk6IENyb3NzUHJldmVudFtdIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudHJhY2VNYWduZXRBdHRyaWJ1dGVWYWx1ZShBdHRyaWJ1dGUuY3Jvc3NQcmV2ZW50KTtcblxuICAgIHJldHVybiAodmFsdWUgPT09IG51bGxcbiAgICAgID8gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuY3Jvc3NQcmV2ZW50XVxuICAgICAgOiBnZXRBcnJheUZyb21BdHRyaWJ1dGVWYWx1ZSh2YWx1ZSwgQ3Jvc3NQcmV2ZW50KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0YXJnZXRzIHRoYXQgdGhlIG1hZ25ldCB3b3VsZCBwcmV2ZW50IGZyb20gY3Jvc3NpbmcuXG4gICAqL1xuICBzZXQgY3Jvc3NQcmV2ZW50cyhjcm9zc1ByZXZlbnRzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKFxuICAgICAgQXR0cmlidXRlLmNyb3NzUHJldmVudCxcbiAgICAgIGdldEF0dHJpYnV0ZVZhbHVlRnJvbUFycmF5KChBcnJheS5pc0FycmF5KGNyb3NzUHJldmVudHMpXG4gICAgICAgID8gY3Jvc3NQcmV2ZW50c1xuICAgICAgICA6IGdldEFycmF5RnJvbUF0dHJpYnV0ZVZhbHVlKGNyb3NzUHJldmVudHMsIENyb3NzUHJldmVudClcbiAgICAgICkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB1bml0IG9mIG9mZnNldC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgb2Zmc2V0VW5pdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cmFjZU1hZ25ldEF0dHJpYnV0ZVZhbHVlKEF0dHJpYnV0ZS5vZmZzZXRVbml0KTtcblxuICAgIHJldHVybiAodmFsdWUgPT09IG51bGxcbiAgICAgID8gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUub2Zmc2V0VW5pdF1cbiAgICAgIDogdmFsdWVcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHVuaXQgb2Ygb2Zmc2V0LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldCBvZmZzZXRVbml0KG9mZnNldFVuaXQ6IHN0cmluZyB8IG51bGwpIHtcbiAgICBpZiAob2Zmc2V0VW5pdCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoQXR0cmlidXRlLm9mZnNldFVuaXQpO1xuICAgIH0gZWxzZSBpZiAoIU9iamVjdC52YWx1ZXMoT2Zmc2V0VW5pdCkuaW5jbHVkZXMob2Zmc2V0VW5pdCBhcyBPZmZzZXRVbml0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9mZnNldCB1bml0OiAke29mZnNldFVuaXR9YCk7XG4gICAgfSBlbHNlIGlmIChvZmZzZXRVbml0ICE9PSB0aGlzLm9mZnNldFVuaXQpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKEF0dHJpYnV0ZS5vZmZzZXRVbml0LCBvZmZzZXRVbml0KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2Ygc3BlY2lmaWMgYXR0cmlidXRlIG5hbWUuXG4gICAqL1xuICB0cmFjZU1hZ25ldEF0dHJpYnV0ZVZhbHVlKGF0dHJOYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QXR0cmlidXRlKGF0dHJOYW1lKTtcblxuICAgIGlmICh2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHsgcGFyZW50TWFnbmV0IH0gPSB0aGlzO1xuXG4gICAgcmV0dXJuIChwYXJlbnRNYWduZXRcbiAgICAgID8gcGFyZW50TWFnbmV0LnRyYWNlTWFnbmV0QXR0cmlidXRlVmFsdWUoYXR0ck5hbWUpXG4gICAgICA6IG51bGxcbiAgICApO1xuICB9XG59XG5cbnJlZ2lzdGVyRWxlbWVudChNYWduZXRQYWNrLCBub2RlTmFtZSk7XG5cbmV4cG9ydCBkZWZhdWx0IE1hZ25ldFBhY2s7XG4iLCJpbXBvcnQgUGFjaywgeyBSZWN0YWJsZSB9IGZyb20gJy4vUGFjayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjdGxpa2UgZXh0ZW5kcyBQYXJ0aWFsPERPTVJlY3Q+IHtcbiAgdG9wPzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICBsZWZ0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBjb21wbGV0ZWQgcmVjdCBvYmplY3QgZnJvbSByZWN0YWJsZSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZWN0KFxuICBzb3VyY2U6IFJlY3RhYmxlIHwgUGFjayB8IG51bWJlcixcbiAgLi4uYXJnczogW251bWJlcj8sIG51bWJlcj8sIG51bWJlcj9dXG4pOiBET01SZWN0IHtcbiAgaWYgKHNvdXJjZSBpbnN0YW5jZW9mIFdpbmRvdykge1xuICAgIHJldHVybiBuZXcgRE9NUmVjdCgwLCAwLCBzb3VyY2UuaW5uZXJXaWR0aCwgc291cmNlLmlubmVySGVpZ2h0KTtcbiAgfVxuXG4gIGlmIChzb3VyY2UgaW5zdGFuY2VvZiBEb2N1bWVudCkge1xuICAgIHJldHVybiBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgaWYgKHNvdXJjZSBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcbiAgICByZXR1cm4gc291cmNlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICB9XG5cbiAgaWYgKFBhY2suaXNQYWNrKHNvdXJjZSkpIHtcbiAgICByZXR1cm4gRE9NUmVjdC5mcm9tUmVjdChzb3VyY2UucmVjdCk7XG4gIH1cblxuICBpZiAodHlwZW9mIHNvdXJjZSAhPT0gJ29iamVjdCcpIHtcbiAgICBjb25zdCB4ID0gc291cmNlO1xuICAgIGNvbnN0IFt5LCB3aWR0aCwgaGVpZ2h0XSA9IGFyZ3M7XG5cbiAgICByZXR1cm4gbmV3IERPTVJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7XG4gIH1cblxuICBjb25zdCB7XG4gICAgdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LFxuICAgIHggPSBsZWZ0IGFzIG51bWJlcixcbiAgICB5ID0gdG9wIGFzIG51bWJlcixcbiAgICB3aWR0aCA9IChyaWdodCBhcyBudW1iZXIpIC0geCxcbiAgICBoZWlnaHQgPSAoYm90dG9tIGFzIG51bWJlcikgLSB5LFxuICB9ID0gc291cmNlO1xuXG4gIHJldHVybiBuZXcgRE9NUmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHJlY3Qgb2JqZWN0IGZyb20gc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVjdChzb3VyY2U6IFJlY3RhYmxlIHwgUGFjayk6IERPTVJlY3Qge1xuICBpZiAoUGFjay5pc1BhY2soc291cmNlKSkge1xuICAgIHJldHVybiBzb3VyY2UucmVjdDtcbiAgfVxuXG4gIGlmIChzb3VyY2UgaW5zdGFuY2VvZiBET01SZWN0KSB7XG4gICAgcmV0dXJuIHNvdXJjZTtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVSZWN0KHNvdXJjZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZVJlY3Q7XG4iLCJpbXBvcnQgeyBnZXRSZWN0LCBSZWN0bGlrZSB9IGZyb20gJy4vUmVjdCc7XG5cbmV4cG9ydCB0eXBlIFJlY3RhYmxlID0gUmVjdGxpa2UgfCBET01SZWN0IHwgRWxlbWVudCB8IERvY3VtZW50IHwgV2luZG93O1xuXG5jbGFzcyBQYWNrIHtcbiAgcmVhZG9ubHkgcmF3OiBSZWN0YWJsZTtcblxuICByZWFkb25seSByZWN0OiBET01SZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNvdXJjZTogUmVjdGFibGUgfCBQYWNrLCByZWN0OiBET01SZWN0ID0gZ2V0UmVjdChzb3VyY2UpKSB7XG4gICAgY29uc3QgcmF3ID0gUGFjay5pc1BhY2soc291cmNlKSA/IHNvdXJjZS5yYXcgOiBzb3VyY2U7XG5cbiAgICB0aGlzLnJhdyA9IHJhdztcbiAgICB0aGlzLnJlY3QgPSByZWN0O1xuXG4gICAgT2JqZWN0LmZyZWV6ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgc291cmNlIGlzIHBhY2sgb2JlamN0LlxuICAgKi9cbiAgc3RhdGljIGlzUGFjayhzb3VyY2U6IHVua25vd24pOiBzb3VyY2UgaXMgUGFjayB7XG4gICAgcmV0dXJuIHNvdXJjZSBpbnN0YW5jZW9mIFBhY2s7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHBhY2sgb2JqZWN0IGZyb20gc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFjayhzb3VyY2U6IFJlY3RhYmxlIHwgUGFjayk6IFBhY2sge1xuICByZXR1cm4gUGFjay5pc1BhY2soc291cmNlKSA/IHNvdXJjZSA6IG5ldyBQYWNrKHNvdXJjZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBhY2s7XG4iLCJpbXBvcnQgQWxpZ25tZW50IGZyb20gJy4uL3ZhbHVlcy9hbGlnbm1lbnQnO1xuXG4vKipcbiAqIFJldHVybnMgZGlzdGFuY2UgYmV0d2VlbiBzb3VyY2UgdG8gdGFyZ2V0IG9uIHNwZWNpZmljIGFsaWdubWVudC5cbiAqL1xuZnVuY3Rpb24gcmF3RGlzdGFuY2VUbyhcbiAgc291cmNlUmVjdDogRE9NUmVjdCxcbiAgdGFyZ2V0UmVjdDogRE9NUmVjdCxcbiAgYWxpZ25tZW50OiBBbGlnbm1lbnQsXG4pOiBudW1iZXIge1xuICBzd2l0Y2ggKGFsaWdubWVudCkge1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gSW5maW5pdHk7XG5cbiAgICBjYXNlIEFsaWdubWVudC50b3BUb1RvcDpcbiAgICAgIHJldHVybiB0YXJnZXRSZWN0LnRvcCAtIHNvdXJjZVJlY3QudG9wO1xuXG4gICAgY2FzZSBBbGlnbm1lbnQudG9wVG9Cb3R0b206XG4gICAgICByZXR1cm4gdGFyZ2V0UmVjdC5ib3R0b20gLSBzb3VyY2VSZWN0LnRvcDtcblxuICAgIGNhc2UgQWxpZ25tZW50LnJpZ2h0VG9SaWdodDpcbiAgICAgIHJldHVybiB0YXJnZXRSZWN0LnJpZ2h0IC0gc291cmNlUmVjdC5yaWdodDtcblxuICAgIGNhc2UgQWxpZ25tZW50LnJpZ2h0VG9MZWZ0OlxuICAgICAgcmV0dXJuIHRhcmdldFJlY3QubGVmdCAtIHNvdXJjZVJlY3QucmlnaHQ7XG5cbiAgICBjYXNlIEFsaWdubWVudC5ib3R0b21Ub1RvcDpcbiAgICAgIHJldHVybiB0YXJnZXRSZWN0LnRvcCAtIHNvdXJjZVJlY3QuYm90dG9tO1xuXG4gICAgY2FzZSBBbGlnbm1lbnQuYm90dG9tVG9Cb3R0b206XG4gICAgICByZXR1cm4gdGFyZ2V0UmVjdC5ib3R0b20gLSBzb3VyY2VSZWN0LmJvdHRvbTtcblxuICAgIGNhc2UgQWxpZ25tZW50LmxlZnRUb1JpZ2h0OlxuICAgICAgcmV0dXJuIHRhcmdldFJlY3QucmlnaHQgLSBzb3VyY2VSZWN0LmxlZnQ7XG5cbiAgICBjYXNlIEFsaWdubWVudC5sZWZ0VG9MZWZ0OlxuICAgICAgcmV0dXJuIHRhcmdldFJlY3QubGVmdCAtIHNvdXJjZVJlY3QubGVmdDtcblxuICAgIGNhc2UgQWxpZ25tZW50LnhDZW50ZXJUb1hDZW50ZXI6XG4gICAgICByZXR1cm4gKFxuICAgICAgICAodGFyZ2V0UmVjdC5yaWdodCArIHRhcmdldFJlY3QubGVmdCkgLSAoc291cmNlUmVjdC5yaWdodCArIHNvdXJjZVJlY3QubGVmdClcbiAgICAgICkgLyAyO1xuXG4gICAgY2FzZSBBbGlnbm1lbnQueUNlbnRlclRvWUNlbnRlcjpcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0YXJnZXRSZWN0LnRvcCArIHRhcmdldFJlY3QuYm90dG9tKSAtIChzb3VyY2VSZWN0LnRvcCArIHNvdXJjZVJlY3QuYm90dG9tKVxuICAgICAgKSAvIDI7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgcmF3RGlzdGFuY2VUbztcbiIsImV4cG9ydCBjb25zdCByZXR1cm5UcnVlID0gKCkgPT4gdHJ1ZTtcblxuZXhwb3J0IGNvbnN0IHJldHVybkZhbHNlID0gKCkgPT4gZmFsc2U7XG4iLCJpbXBvcnQgY3JlYXRlUG9pbnQgZnJvbSAnLi4vdHlwZXMvUG9pbnQnO1xuaW1wb3J0IHsgYWJzIH0gZnJvbSAnLi9udW1lcmljJztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXN0YW5jZSBvbiB4LWF4aXMgb2YgY2VudGVycyBmcm9tIHNvdXJjZSB0byB0YXJnZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZUJldHdlZW5YQ2VudGVyc09mUmVjdHMoXG4gIHNvdXJjZVJlY3Q6IERPTVJlY3QsXG4gIHRhcmdldFJlY3Q6IERPTVJlY3QsXG4pOiBudW1iZXIge1xuICBjb25zdCBzb3VyY2VSZWN0WENlbnRlciA9IHNvdXJjZVJlY3QucmlnaHQgKyBzb3VyY2VSZWN0LmxlZnQ7XG4gIGNvbnN0IHRhcmdldFJlY3RYQ2VudGVyID0gdGFyZ2V0UmVjdC5yaWdodCArIHRhcmdldFJlY3QubGVmdDtcblxuICByZXR1cm4gYWJzKHNvdXJjZVJlY3RYQ2VudGVyIC0gdGFyZ2V0UmVjdFhDZW50ZXIpIC8gMjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXN0YW5jZSBvbiB5LWF4aXMgb2YgY2VudGVycyBmcm9tIHNvdXJjZSB0byB0YXJnZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXN0YW5jZUJldHdlZW5ZQ2VudGVyc09mUmVjdHMoXG4gIHNvdXJjZVJlY3Q6IERPTVJlY3QsXG4gIHRhcmdldFJlY3Q6IERPTVJlY3QsXG4pOiBudW1iZXIge1xuICBjb25zdCBzb3VyY2VSZWN0WUNlbnRlciA9IHNvdXJjZVJlY3QudG9wICsgc291cmNlUmVjdC5ib3R0b207XG4gIGNvbnN0IHRhcmdldFJlY3RZQ2VudGVyID0gdGFyZ2V0UmVjdC50b3AgKyB0YXJnZXRSZWN0LmJvdHRvbTtcblxuICByZXR1cm4gYWJzKHNvdXJjZVJlY3RZQ2VudGVyIC0gdGFyZ2V0UmVjdFlDZW50ZXIpIC8gMjtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXN0YW5jZSBvbiB4LWF4aXMgb2YgY2VudGVycyBmcm9tIHNvdXJjZSB0byB0YXJnZXQuXG4gKi9cbmZ1bmN0aW9uIGRpc3RhbmNlQmV0d2VlbkNlbnRlcnNPZlJlY3RzKFxuICBzb3VyY2VSZWN0OiBET01SZWN0LFxuICB0YXJnZXRSZWN0OiBET01SZWN0LFxuKTogRE9NUG9pbnQge1xuICByZXR1cm4gY3JlYXRlUG9pbnQoXG4gICAgZGlzdGFuY2VCZXR3ZWVuWENlbnRlcnNPZlJlY3RzKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QpLFxuICAgIGRpc3RhbmNlQmV0d2VlbllDZW50ZXJzT2ZSZWN0cyhzb3VyY2VSZWN0LCB0YXJnZXRSZWN0KSxcbiAgKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGlzdGFuY2VCZXR3ZWVuQ2VudGVyc09mUmVjdHM7XG4iLCJpbXBvcnQgTWFnbmV0IGZyb20gJy4uL2Jsb2NrJztcbmltcG9ydCBNYWduZXRQYWNrLCB7IGRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXMgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCBBdHRyYWN0aW9uLCB7IEF0dHJhY3Rpb25CZXN0IH0gZnJvbSAnLi4vdHlwZXMvQXR0cmFjdGlvbic7XG5pbXBvcnQgUGFjaywgeyBnZXRQYWNrLCBSZWN0YWJsZSB9IGZyb20gJy4uL3R5cGVzL1BhY2snO1xuaW1wb3J0IHsgZ2V0UmVjdCB9IGZyb20gJy4uL3R5cGVzL1JlY3QnO1xuaW1wb3J0IHsgYWJzIH0gZnJvbSAnLi4vdXRpbHMvbnVtZXJpYyc7XG5pbXBvcnQgQWxpZ25tZW50IGZyb20gJy4uL3ZhbHVlcy9hbGlnbm1lbnQnO1xuaW1wb3J0IHsgU2luZ2xlQXR0cmFjdGlvblRvT3B0aW9ucyB9IGZyb20gJy4vc2luZ2xlQXR0cmFjdGlvblRvJztcbmltcG9ydCB7IE9uSnVkZ2VBdHRyYWN0aW9uIH0gZnJvbSAnLi9qdWRnZUF0dHJhY3Rpb24nO1xuaW1wb3J0IHsgcmV0dXJuVHJ1ZSB9IGZyb20gJy4uL3V0aWxzL3JldHVyblRydWVGYWxzZSc7XG5pbXBvcnQgQXR0cmlidXRlIGZyb20gJy4uL3ZhbHVlcy9hdHRyaWJ1dGUnO1xuaW1wb3J0IHsgZGlzdGFuY2VCZXR3ZWVuWENlbnRlcnNPZlJlY3RzLCBkaXN0YW5jZUJldHdlZW5ZQ2VudGVyc09mUmVjdHMgfSBmcm9tICcuLi91dGlscy9kaXN0YW5jZUJldHdlZW5SZWN0cyc7XG5cbmV4cG9ydCB0eXBlIE11bHRpQXR0cmFjdGlvbiA9IEF0dHJhY3Rpb248UGFja1tdPjtcblxuZXhwb3J0IGludGVyZmFjZSBNdWx0aUF0dHJhY3Rpb25zVG9PcHRpb25zIGV4dGVuZHMgU2luZ2xlQXR0cmFjdGlvblRvT3B0aW9ucyB7XG4gIGF0dHJhY3Rpb25CZXN0PzogQXR0cmFjdGlvbkJlc3Q7XG4gIG9uSnVkZ2VBdHRyYWN0aW9uPzogT25KdWRnZUF0dHJhY3Rpb247XG59XG5cbi8qKlxuICogUmV0dXJucyByZXN1bHQgb2YgYXR0cmFjdGlvbnMgZnJvbSBzb3VyY2UgdG8gdGFyZ2V0cyBvbiBhbGlnbm1lbnRzLlxuICovXG5mdW5jdGlvbiBtdWx0aUF0dHJhY3Rpb25zVG8oXG4gIHNvdXJjZTogUmVjdGFibGUgfCBQYWNrLFxuICB0YXJnZXRzOiAoUmVjdGFibGUgfCBQYWNrKVtdLFxuICBvcHRpb25zOiBNdWx0aUF0dHJhY3Rpb25zVG9PcHRpb25zID0ge30sXG4pOiBNdWx0aUF0dHJhY3Rpb24ge1xuICBjb25zdCBzb3VyY2VQYWNrID0gZ2V0UGFjayhzb3VyY2UpO1xuICBjb25zdCB0YXJnZXRQYWNrcyA9IHRhcmdldHMubWFwKCh0YXJnZXQpID0+IGdldFBhY2sodGFyZ2V0KSk7XG4gIGNvbnN0IHtcbiAgICBhdHRyYWN0RGlzdGFuY2UgPSBkZWZhdWx0QXR0cmlidXRlVmFsdWVzW0F0dHJpYnV0ZS5hdHRyYWN0RGlzdGFuY2VdLFxuICAgIGFsaWduVG9zID0gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuYWxpZ25Ub10sXG4gICAgYWxpZ25tZW50cyA9IE1hZ25ldFBhY2suZ2V0QWxpZ25tZW50c0Zyb21BbGlnblRvKGFsaWduVG9zKSxcbiAgICBvbkp1ZGdlRGlzdGFuY2UgPSByZXR1cm5UcnVlLFxuICAgIG9uSnVkZ2VBdHRyYWN0aW9uID0gcmV0dXJuVHJ1ZSxcbiAgICBhdHRyYWN0aW9uQmVzdCA9IHt9LFxuICB9ID0gb3B0aW9ucztcbiAgY29uc3Qgc2luZ2xlQXR0cmFjdGlvbk9wdGlvbnM6IFNpbmdsZUF0dHJhY3Rpb25Ub09wdGlvbnMgPSB7XG4gICAgYXR0cmFjdERpc3RhbmNlLFxuICAgIGFsaWduVG9zLFxuICAgIGFsaWdubWVudHMsXG4gICAgb25KdWRnZURpc3RhbmNlLFxuICB9O1xuICBjb25zdCBtdWx0aUF0dHJhY3Rpb24gPSB0YXJnZXRQYWNrcy5yZWR1Y2U8TXVsdGlBdHRyYWN0aW9uPihcbiAgICAoYXR0cmFjdGlvbiwgdGFyZ2V0UGFjaykgPT4ge1xuICAgICAgY29uc3Qgc2luZ2xlQXR0cmFjdGlvbiA9IE1hZ25ldC5wcm90b3R5cGUuYXR0cmFjdGlvblRvLmNhbGwoXG4gICAgICAgIHNvdXJjZVBhY2ssXG4gICAgICAgIHRhcmdldFBhY2ssXG4gICAgICAgIHNpbmdsZUF0dHJhY3Rpb25PcHRpb25zLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYmVzdDogY3VycmVudEJlc3QsXG4gICAgICAgIHJlc3VsdHM6IGN1cnJlbnRSZXN1bHRzLFxuICAgICAgfSA9IHNpbmdsZUF0dHJhY3Rpb247XG4gICAgICBjb25zdCBwYXNzSnVkZ2VtZW50ID0gb25KdWRnZUF0dHJhY3Rpb24oe1xuICAgICAgICBzb3VyY2U6IHNvdXJjZVBhY2ssXG4gICAgICAgIHRhcmdldDogdGFyZ2V0UGFjayxcbiAgICAgICAgcmVzdWx0czogWy4uLmN1cnJlbnRSZXN1bHRzXSxcbiAgICAgICAgYmVzdDoge1xuICAgICAgICAgIHg6IGN1cnJlbnRCZXN0LngsXG4gICAgICAgICAgeTogY3VycmVudEJlc3QueSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICBhdHRyYWN0aW9uLnRhcmdldC5wdXNoKHRhcmdldFBhY2spO1xuXG4gICAgICBpZiAocGFzc0p1ZGdlbWVudCkge1xuICAgICAgICBjb25zdCB7IHJlc3VsdHMsIGJlc3QgfSA9IGF0dHJhY3Rpb247XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKC4uLmN1cnJlbnRSZXN1bHRzKTtcblxuICAgICAgICBpZiAoY3VycmVudEJlc3QueCkge1xuICAgICAgICAgIGlmIChiZXN0LnggPT09IHVuZGVmaW5lZCB8fCBjdXJyZW50QmVzdC54LmFic0Rpc3RhbmNlIDwgYmVzdC54LmFic0Rpc3RhbmNlXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBiZXN0LnggPSBjdXJyZW50QmVzdC54O1xuICAgICAgICAgIH0gZWxzZSBpZiAoYmVzdC54LmFic0Rpc3RhbmNlID09PSBjdXJyZW50QmVzdC54LmFic0Rpc3RhbmNlKSB7XG4gICAgICAgICAgICBjb25zdCBzb3VyY2VSZWN0ID0gZ2V0UmVjdChzb3VyY2VQYWNrKTtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldFJlY3QgPSBjdXJyZW50QmVzdC54LnRhcmdldC5yZWN0O1xuICAgICAgICAgICAgY29uc3QgbGFzdEJlc3RSZWN0ID0gYmVzdC54LnRhcmdldC5yZWN0O1xuICAgICAgICAgICAgY29uc3QgY3VycmVudERpZmZZID0gZGlzdGFuY2VCZXR3ZWVuWUNlbnRlcnNPZlJlY3RzKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QpO1xuICAgICAgICAgICAgY29uc3QgZGlmZlkgPSBkaXN0YW5jZUJldHdlZW5ZQ2VudGVyc09mUmVjdHMoc291cmNlUmVjdCwgbGFzdEJlc3RSZWN0KTtcblxuICAgICAgICAgICAgaWYgKGN1cnJlbnREaWZmWSA8IGRpZmZZKSB7XG4gICAgICAgICAgICAgIGJlc3QueCA9IGN1cnJlbnRCZXN0Lng7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnREaWZmWSA9PT0gZGlmZlkpIHtcbiAgICAgICAgICAgICAgY29uc3QgZ2FwID0gYXR0cmFjdERpc3RhbmNlIC8gMztcblxuICAgICAgICAgICAgICBpZiAoY3VycmVudEJlc3QueC5yYXdEaXN0YW5jZSA+IGdhcCkge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50QmVzdC54LmFsaWdubWVudCA9PT0gQWxpZ25tZW50LmxlZnRUb0xlZnQpIHtcbiAgICAgICAgICAgICAgICAgIGJlc3QueCA9IGN1cnJlbnRCZXN0Lng7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRCZXN0LngucmF3RGlzdGFuY2UgPCAtZ2FwKSB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRCZXN0LnguYWxpZ25tZW50ID09PSBBbGlnbm1lbnQucmlnaHRUb1JpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICBiZXN0LnggPSBjdXJyZW50QmVzdC54O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50QmVzdC54LmFsaWdubWVudCA9PT0gQWxpZ25tZW50LnhDZW50ZXJUb1hDZW50ZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0UmVjdCA9IGN1cnJlbnRCZXN0LngudGFyZ2V0LnJlY3Q7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFJlY3QgPSBiZXN0LngudGFyZ2V0LnJlY3Q7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdFlCYXNlID0gbGFzdFJlY3QudG9wICsgbGFzdFJlY3QuYm90dG9tO1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRZQmFzZSA9IGN1cnJlbnRSZWN0LnRvcCArIGN1cnJlbnRSZWN0LmJvdHRvbTtcbiAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2VZQmFzZSA9IHNvdXJjZVJlY3QudG9wICsgc291cmNlUmVjdC5ib3R0b207XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdFlEaXN0YW5jZSA9IGFicyhsYXN0WUJhc2UgLSBzb3VyY2VZQmFzZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudFlEaXN0YW5jZSA9IGFicyhjdXJyZW50WUJhc2UgLSBzb3VyY2VZQmFzZSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFlEaXN0YW5jZSA8IGxhc3RZRGlzdGFuY2UpIHtcbiAgICAgICAgICAgICAgICAgIGJlc3QueCA9IGN1cnJlbnRCZXN0Lng7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnRCZXN0LnkpIHtcbiAgICAgICAgICBpZiAoYmVzdC55ID09PSB1bmRlZmluZWQgfHwgY3VycmVudEJlc3QueS5hYnNEaXN0YW5jZSA8IGJlc3QueS5hYnNEaXN0YW5jZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgYmVzdC55ID0gY3VycmVudEJlc3QueTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGJlc3QueS5hYnNEaXN0YW5jZSA9PT0gY3VycmVudEJlc3QueS5hYnNEaXN0YW5jZSkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlUmVjdCA9IGdldFJlY3Qoc291cmNlUGFjayk7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXRSZWN0ID0gY3VycmVudEJlc3QueS50YXJnZXQucmVjdDtcbiAgICAgICAgICAgIGNvbnN0IGxhc3RCZXN0UmVjdCA9IGJlc3QueS50YXJnZXQucmVjdDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnREaWZmWCA9IGRpc3RhbmNlQmV0d2VlblhDZW50ZXJzT2ZSZWN0cyhzb3VyY2VSZWN0LCB0YXJnZXRSZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGRpZmZYID0gZGlzdGFuY2VCZXR3ZWVuWENlbnRlcnNPZlJlY3RzKHNvdXJjZVJlY3QsIGxhc3RCZXN0UmVjdCk7XG5cbiAgICAgICAgICAgIGlmIChjdXJyZW50RGlmZlggPCBkaWZmWCkge1xuICAgICAgICAgICAgICBiZXN0LnkgPSBjdXJyZW50QmVzdC55O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50RGlmZlggPT09IGRpZmZYKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGdhcCA9IGF0dHJhY3REaXN0YW5jZSAvIDM7XG5cbiAgICAgICAgICAgICAgaWYgKGN1cnJlbnRCZXN0LnkucmF3RGlzdGFuY2UgPCAtZ2FwKSB7XG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRCZXN0LnkuYWxpZ25tZW50ID09PSBBbGlnbm1lbnQuYm90dG9tVG9Cb3R0b20pIHtcbiAgICAgICAgICAgICAgICAgIGJlc3QueSA9IGN1cnJlbnRCZXN0Lnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRCZXN0LnkucmF3RGlzdGFuY2UgPiBnYXApIHtcbiAgICAgICAgICAgICAgICBpZiAoY3VycmVudEJlc3QueS5hbGlnbm1lbnQgPT09IEFsaWdubWVudC50b3BUb1RvcCkge1xuICAgICAgICAgICAgICAgICAgYmVzdC55ID0gY3VycmVudEJlc3QueTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudEJlc3QueS5hbGlnbm1lbnQgPT09IEFsaWdubWVudC55Q2VudGVyVG9ZQ2VudGVyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdFJlY3QgPSBjdXJyZW50QmVzdC55LnRhcmdldC5yZWN0O1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRSZWN0ID0gYmVzdC55LnRhcmdldC5yZWN0O1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RYQmFzZSA9IGxhc3RSZWN0LnJpZ2h0ICsgbGFzdFJlY3QubGVmdDtcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJyZW50WEJhc2UgPSBjdXJyZW50UmVjdC5yaWdodCArIGN1cnJlbnRSZWN0LmxlZnQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgc291cmNlWEJhc2UgPSBzb3VyY2VSZWN0LnJpZ2h0ICsgc291cmNlUmVjdC5sZWZ0O1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RYRGlzdGFuY2UgPSBhYnMobGFzdFhCYXNlIC0gc291cmNlWEJhc2UpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRYRGlzdGFuY2UgPSBhYnMoY3VycmVudFhCYXNlIC0gc291cmNlWEJhc2UpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRYRGlzdGFuY2UgPCBsYXN0WERpc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgICBiZXN0LnkgPSBjdXJyZW50QmVzdC55O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXR0cmFjdGlvbjtcbiAgICB9LFxuICAgIHtcbiAgICAgIHNvdXJjZTogc291cmNlUGFjayxcbiAgICAgIHRhcmdldDogW10sXG4gICAgICByZXN1bHRzOiBbXSxcbiAgICAgIGJlc3Q6IHsgLi4uYXR0cmFjdGlvbkJlc3QgfSxcbiAgICB9LFxuICApO1xuXG4gIHJldHVybiBtdWx0aUF0dHJhY3Rpb247XG59XG5cbmV4cG9ydCBkZWZhdWx0IG11bHRpQXR0cmFjdGlvbnNUbztcbiIsImltcG9ydCBBdHRyYWN0aW9uIGZyb20gJy4uL3R5cGVzL0F0dHJhY3Rpb24nO1xuaW1wb3J0IFBhY2ssIHsgZ2V0UGFjaywgUmVjdGFibGUgfSBmcm9tICcuLi90eXBlcy9QYWNrJztcbmltcG9ydCBBbGlnbm1lbnQsIHsgQWxpZ25tZW50WHMsIEFsaWdubWVudFlzIH0gZnJvbSAnLi4vdmFsdWVzL2FsaWdubWVudCc7XG5pbXBvcnQgQWxpZ25UbywgeyBBbGlnblRvUGFyZW50IH0gZnJvbSAnLi4vdmFsdWVzL2FsaWduVG8nO1xuaW1wb3J0IHsgT25KdWRnZURpc3RhbmNlIH0gZnJvbSAnLi9qdWRnZURpc3RhbmNlJztcbmltcG9ydCBNYWduZXQgZnJvbSAnLi4vYmxvY2snO1xuaW1wb3J0IHsgcmV0dXJuVHJ1ZSB9IGZyb20gJy4uL3V0aWxzL3JldHVyblRydWVGYWxzZSc7XG5pbXBvcnQgeyBkZWZhdWx0QXR0cmlidXRlVmFsdWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgQXR0cmlidXRlIGZyb20gJy4uL3ZhbHVlcy9hdHRyaWJ1dGUnO1xuXG5leHBvcnQgdHlwZSBTaW5nbGVBdHRyYWN0aW9uID0gQXR0cmFjdGlvbjxQYWNrPjtcblxuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVBdHRyYWN0aW9uVG9PcHRpb25zIHtcbiAgYXR0cmFjdERpc3RhbmNlPzogbnVtYmVyO1xuICBhbGlnblRvcz86IChBbGlnblRvIHwgQWxpZ25Ub1BhcmVudClbXTtcbiAgYWxpZ25tZW50cz86IEFsaWdubWVudFtdO1xuICBvbkp1ZGdlRGlzdGFuY2U/OiBPbkp1ZGdlRGlzdGFuY2U7XG59XG5cbi8qKlxuICogUmV0dXJucyByZXN1bHQgb2YgYXR0cmFjdGlvbnMgZnJvbSBzb3VyY2UgdG8gdGFyZ2V0IG9uIGFsaWdubWVudHMuXG4gKi9cbmZ1bmN0aW9uIHNpbmdsZUF0dHJhY3Rpb25UbyhcbiAgc291cmNlOiBSZWN0YWJsZSB8IFBhY2ssXG4gIHRhcmdldDogUmVjdGFibGUgfCBQYWNrLFxuICBvcHRpb25zOiBTaW5nbGVBdHRyYWN0aW9uVG9PcHRpb25zID0ge30sXG4pOiBTaW5nbGVBdHRyYWN0aW9uIHtcbiAgY29uc3Qgc291cmNlUGFjayA9IGdldFBhY2soc291cmNlKTtcbiAgY29uc3QgdGFyZ2V0UGFjayA9IGdldFBhY2sodGFyZ2V0KTtcbiAgY29uc3Qge1xuICAgIGF0dHJhY3REaXN0YW5jZSA9IGRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXNbQXR0cmlidXRlLmF0dHJhY3REaXN0YW5jZV0sXG4gICAgYWxpZ25Ub3MgPSBkZWZhdWx0QXR0cmlidXRlVmFsdWVzW0F0dHJpYnV0ZS5hbGlnblRvXSxcbiAgICBhbGlnbm1lbnRzID0gTWFnbmV0LmdldEFsaWdubWVudHNGcm9tQWxpZ25UbyhhbGlnblRvcyksXG4gICAgb25KdWRnZURpc3RhbmNlID0gcmV0dXJuVHJ1ZSxcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHNpbmdsZUF0dHJhY3Rpb24gPSBhbGlnbm1lbnRzLnJlZHVjZTxTaW5nbGVBdHRyYWN0aW9uPihcbiAgICAoYXR0cmFjdGlvbiwgYWxpZ25tZW50KSA9PiB7XG4gICAgICBjb25zdCBkaXN0YW5jZSA9IE1hZ25ldC5wcm90b3R5cGUuZGlzdGFuY2VUby5jYWxsKHNvdXJjZVBhY2ssIHRhcmdldFBhY2ssIGFsaWdubWVudCk7XG4gICAgICBjb25zdCBwYXNzSnVkZ2VtZW50ID0gb25KdWRnZURpc3RhbmNlKFxuICAgICAgICB7IC4uLmRpc3RhbmNlIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhdHRyYWN0RGlzdGFuY2UsXG4gICAgICAgICAgYWxpZ25Ub3MsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAocGFzc0p1ZGdlbWVudCkge1xuICAgICAgICBjb25zdCB7IHJlc3VsdHMsIGJlc3QgfSA9IGF0dHJhY3Rpb247XG5cbiAgICAgICAgcmVzdWx0cy5wdXNoKGRpc3RhbmNlKTtcblxuICAgICAgICBpZiAoQWxpZ25tZW50WHMuaW5jbHVkZXMoYWxpZ25tZW50KSkge1xuICAgICAgICAgIGlmIChiZXN0LnggPT09IHVuZGVmaW5lZCB8fCBkaXN0YW5jZS5hYnNEaXN0YW5jZSA8IGJlc3QueC5hYnNEaXN0YW5jZSkge1xuICAgICAgICAgICAgYmVzdC54ID0gZGlzdGFuY2U7XG4gICAgICAgICAgfSBlbHNlIGlmIChiZXN0LnguYWJzRGlzdGFuY2UgPT09IGRpc3RhbmNlLmFic0Rpc3RhbmNlKSB7XG4gICAgICAgICAgICBjb25zdCBnYXAgPSBhdHRyYWN0RGlzdGFuY2UgLyAzO1xuXG4gICAgICAgICAgICBpZiAoZGlzdGFuY2UucmF3RGlzdGFuY2UgPiBnYXApIHtcbiAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlLmFsaWdubWVudCA9PT0gQWxpZ25tZW50LmxlZnRUb0xlZnQpIHtcbiAgICAgICAgICAgICAgICBiZXN0LnggPSBkaXN0YW5jZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChkaXN0YW5jZS5yYXdEaXN0YW5jZSA8IC1nYXApIHtcbiAgICAgICAgICAgICAgaWYgKGRpc3RhbmNlLmFsaWdubWVudCA9PT0gQWxpZ25tZW50LnJpZ2h0VG9SaWdodCkge1xuICAgICAgICAgICAgICAgIGJlc3QueCA9IGRpc3RhbmNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRpc3RhbmNlLmFsaWdubWVudCA9PT0gQWxpZ25tZW50LnhDZW50ZXJUb1hDZW50ZXIpIHtcbiAgICAgICAgICAgICAgYmVzdC54ID0gZGlzdGFuY2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKEFsaWdubWVudFlzLmluY2x1ZGVzKGFsaWdubWVudCkpIHtcbiAgICAgICAgICBpZiAoYmVzdC55ID09PSB1bmRlZmluZWQgfHwgZGlzdGFuY2UuYWJzRGlzdGFuY2UgPCBiZXN0LnkuYWJzRGlzdGFuY2UpIHtcbiAgICAgICAgICAgIGJlc3QueSA9IGRpc3RhbmNlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYmVzdC55LmFic0Rpc3RhbmNlID09PSBkaXN0YW5jZS5hYnNEaXN0YW5jZSkge1xuICAgICAgICAgICAgY29uc3QgZ2FwID0gYXR0cmFjdERpc3RhbmNlIC8gMztcblxuICAgICAgICAgICAgaWYgKGRpc3RhbmNlLnJhd0Rpc3RhbmNlIDwgLWdhcCkge1xuICAgICAgICAgICAgICBpZiAoZGlzdGFuY2UuYWxpZ25tZW50ID09PSBBbGlnbm1lbnQuYm90dG9tVG9Cb3R0b20pIHtcbiAgICAgICAgICAgICAgICBiZXN0LnkgPSBkaXN0YW5jZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChkaXN0YW5jZS5yYXdEaXN0YW5jZSA+IGdhcCkge1xuICAgICAgICAgICAgICBpZiAoZGlzdGFuY2UuYWxpZ25tZW50ID09PSBBbGlnbm1lbnQudG9wVG9Ub3ApIHtcbiAgICAgICAgICAgICAgICBiZXN0LnkgPSBkaXN0YW5jZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChkaXN0YW5jZS5hbGlnbm1lbnQgPT09IEFsaWdubWVudC55Q2VudGVyVG9ZQ2VudGVyKSB7XG4gICAgICAgICAgICAgIGJlc3QueSA9IGRpc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXR0cmFjdGlvbjtcbiAgICB9LFxuICAgIHtcbiAgICAgIHNvdXJjZTogc291cmNlUGFjayxcbiAgICAgIHRhcmdldDogdGFyZ2V0UGFjayxcbiAgICAgIHJlc3VsdHM6IFtdLFxuICAgICAgYmVzdDoge30sXG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4gc2luZ2xlQXR0cmFjdGlvbjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgc2luZ2xlQXR0cmFjdGlvblRvO1xuIiwiaW1wb3J0IHsgU2luZ2xlQXR0cmFjdGlvbiB9IGZyb20gJy4vc2luZ2xlQXR0cmFjdGlvblRvJztcblxuZXhwb3J0IHR5cGUgT25KdWRnZUF0dHJhY3Rpb24gPSAoXG4gIGF0dHJhY3Rpb246IFNpbmdsZUF0dHJhY3Rpb24sXG4pID0+IGJvb2xlYW47XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBhdHRyYWN0aW9uIHBhc3NlcyB0aGUganVkZ2VtZW50LiBPdGhlcndpc2UgdGhlXG4gKiBhdHRyYWN0aW9uIHdvdWxkIG5vdCBiZSBvbiB0aGUgcmVzdWx0IGxpc3Qgb2YgYXR0cmFjdGlvbnMuXG4gKi9cbmNvbnN0IGp1ZGdlQXR0cmFjdGlvbjogT25KdWRnZUF0dHJhY3Rpb24gPSBmdW5jdGlvbiBqdWRnZUF0dHJhY3Rpb24oXG4gIGF0dHJhY3Rpb24sXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4oYXR0cmFjdGlvbi5iZXN0LnggPz8gYXR0cmFjdGlvbi5iZXN0LnkpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQganVkZ2VBdHRyYWN0aW9uO1xuIiwiaW1wb3J0IFBhY2sgZnJvbSAnLi4vdHlwZXMvUGFjayc7XG5cbmV4cG9ydCB0eXBlIE9uSnVkZ2VNb3ZlbWVudCA9IChwYWNrOiBQYWNrKSA9PiBib29sZWFuO1xuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgZGlzdGFuY2UgcGFzc2VzIHRoZSBqdWRnZW1lbnQuIE90aGVyd2lzZSB0aGVcbiAqIGRpc3RhbmNlIHdvdWxkIG5vdCBiZSBvbiB0aGUgcmVzdWx0IGxpc3Qgb2YgYXR0cmFjdGlvbi5cbiAqL1xuY29uc3QganVkZ2VNb3ZlbWVudDogT25KdWRnZU1vdmVtZW50ID0gZnVuY3Rpb24ganVkZ2VNb3ZlbWVudCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBqdWRnZU1vdmVtZW50O1xuIiwidHlwZSBFdmVudEhvbGRlciA9IEhUTUxFbGVtZW50IHwgRG9jdW1lbnQgfCBXaW5kb3c7XG50eXBlIEV2ZW50TGlzdGVuZXIgPSAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG5cbmludGVyZmFjZSBFdmVudExpc3RlbmVyT3B0aW9ucyB7XG4gIGNhcHR1cmU/OiBib29sZWFuO1xuICBvbmNlPzogYm9vbGVhbjtcbiAgcGFzc2l2ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQWRkcyBldmVudCBvZiB0eXBlIHRvIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRFdmVudExpc3RlbmVyKFxuICByZWY6IEV2ZW50SG9sZGVyLFxuICB0eXBlOiBzdHJpbmcsXG4gIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyLFxuICBvcHRpb25zPzogRXZlbnRMaXN0ZW5lck9wdGlvbnMsXG4pOiB2b2lkIHtcbiAgcmVmLmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIEFkZHMgZXZlbnRzIG9mIHR5cGVzIHRvIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRFdmVudExpc3RlbmVycyhcbiAgcmVmOiBFdmVudEhvbGRlcixcbiAgdHlwZXM6IHN0cmluZ1tdLFxuICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lcixcbiAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuKTogdm9pZCB7XG4gIHR5cGVzLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICBhZGRFdmVudExpc3RlbmVyKHJlZiwgdHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGV2ZW50IG9mIHR5cGUgZnJvbSBlbGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgcmVmOiBFdmVudEhvbGRlcixcbiAgdHlwZTogc3RyaW5nLFxuICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lcixcbiAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuKTogdm9pZCB7XG4gIHJlZi5yZW1vdmVFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGV2ZW50cyBvZiB0eXBlcyBmcm9tIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVycyhcbiAgcmVmOiBFdmVudEhvbGRlcixcbiAgdHlwZXM6IHN0cmluZ1tdLFxuICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lcixcbiAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zLFxuKTogdm9pZCB7XG4gIHR5cGVzLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICByZWYucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG4gIH0pO1xufVxuXG5pbnRlcmZhY2UgQ3VzdG9tRXZlbnRJbml0PFQ+IHtcbiAgZGV0YWlsPzogVDtcbiAgYnViYmxlcz86IGJvb2xlYW47XG4gIGNhbmNlbGFibGU/OiBib29sZWFuO1xuICBjb21wb3NlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVHJpZ2dlcnMgZXZlbnQgYW5kIHJldHVybnMgZmFsc2UgaWYgdGhlIGV2ZW50IGlzIGNhbmNlbGxlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyaWdnZXJFdmVudDxUID0gdW5kZWZpbmVkPihcbiAgcmVmOiBFdmVudEhvbGRlcixcbiAgdHlwZTogc3RyaW5nLFxuICBvcHRpb25zPzogQ3VzdG9tRXZlbnRJbml0PFQ+LFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiByZWYuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodHlwZSwgb3B0aW9ucykpO1xufVxuXG4vKipcbiAqIFRyaWdnZXJzIGV2ZW50cyBhbmQgcmV0dXJucyBmYWxzZSBpZiBhbnkgb2YgdGhlIGV2ZW50IGlzXG4gKiBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyRXZlbnRzPFQ+KFxuICByZWY6IEV2ZW50SG9sZGVyLFxuICB0eXBlczogc3RyaW5nW10sXG4gIG9wdGlvbnM/OiBDdXN0b21FdmVudEluaXQ8VD4sXG4pOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVzLmV2ZXJ5KCh0eXBlKSA9PiB0cmlnZ2VyRXZlbnQocmVmLCB0eXBlLCBvcHRpb25zKSk7XG59XG4iLCJpbXBvcnQgY3JlYXRlUG9pbnQgZnJvbSAnLi4vdHlwZXMvUG9pbnQnO1xuXG4vKipcbiAqIFJldHVybnMgb2Zmc2V0IHRvIGtlZXAgc291cmNlIHJlY3QgaW4gdGFyZ2V0IHJlY3QuXG4gKi9cbmZ1bmN0aW9uIGdldE9mZnNldFRvQmVJblJlY3Qoc291cmNlUmVjdDogRE9NUmVjdCwgdGFyZ2V0UmVjdDogRE9NUmVjdCk6IERPTVBvaW50IHtcbiAgbGV0IHggPSAwO1xuICBsZXQgeSA9IDA7XG5cbiAgaWYgKHNvdXJjZVJlY3QubGVmdCA8IHRhcmdldFJlY3QubGVmdCkge1xuICAgIHggPSB0YXJnZXRSZWN0LmxlZnQgLSBzb3VyY2VSZWN0LmxlZnQ7XG4gIH0gZWxzZSBpZiAoc291cmNlUmVjdC5yaWdodCA+IHRhcmdldFJlY3QucmlnaHQpIHtcbiAgICB4ID0gdGFyZ2V0UmVjdC5yaWdodCAtIHNvdXJjZVJlY3QucmlnaHQ7XG4gIH1cblxuICBpZiAoc291cmNlUmVjdC50b3AgPCB0YXJnZXRSZWN0LnRvcCkge1xuICAgIHkgPSB0YXJnZXRSZWN0LnRvcCAtIHNvdXJjZVJlY3QudG9wO1xuICB9IGVsc2UgaWYgKHNvdXJjZVJlY3QuYm90dG9tID4gdGFyZ2V0UmVjdC5ib3R0b20pIHtcbiAgICB5ID0gdGFyZ2V0UmVjdC5ib3R0b20gLSBzb3VyY2VSZWN0LmJvdHRvbTtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVQb2ludCh4LCB5KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0T2Zmc2V0VG9CZUluUmVjdDtcbiIsImltcG9ydCBNYWduZXQgZnJvbSAnLi4vYmxvY2snO1xuaW1wb3J0IHsgZGVmYXVsdEF0dHJpYnV0ZVZhbHVlcyB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQXR0cmFjdGlvbkJlc3QsIGdldEF0dHJhY3Rpb25PZmZzZXQgfSBmcm9tICcuLi90eXBlcy9BdHRyYWN0aW9uJztcbmltcG9ydCBEaXN0YW5jZSBmcm9tICcuLi90eXBlcy9EaXN0YW5jZSc7XG5pbXBvcnQge1xuICBBdHRyYWN0ZWRFdmVudERldGFpbCwgQXR0cmFjdGVkbW92ZUV2ZW50RGV0YWlsLCBBdHRyYWN0RXZlbnREZXRhaWwsXG4gIEF0dHJhY3Rtb3ZlRXZlbnREZXRhaWwsIFVuYXR0cmFjdGVkRXZlbnREZXRhaWwsIFVuYXR0cmFjdEV2ZW50RGV0YWlsLFxufSBmcm9tICcuLi90eXBlcy9FdmVudERldGFpbCc7XG5pbXBvcnQgUGFjayBmcm9tICcuLi90eXBlcy9QYWNrJztcbmltcG9ydCBjcmVhdGVQb2ludCBmcm9tICcuLi90eXBlcy9Qb2ludCc7XG5pbXBvcnQgY3JlYXRlUmVjdCwgeyBnZXRSZWN0IH0gZnJvbSAnLi4vdHlwZXMvUmVjdCc7XG5pbXBvcnQgeyB0cmlnZ2VyRXZlbnQgfSBmcm9tICcuLi91dGlscy9ldmVudEhhbmRsZXInO1xuaW1wb3J0IGdldE9mZnNldFRvQmVJblJlY3QgZnJvbSAnLi4vdXRpbHMvZ2V0T2Zmc2V0VG9CZUluUmVjdCc7XG5pbXBvcnQgeyByZXR1cm5GYWxzZSwgcmV0dXJuVHJ1ZSB9IGZyb20gJy4uL3V0aWxzL3JldHVyblRydWVGYWxzZSc7XG5pbXBvcnQgQWxpZ25tZW50IGZyb20gJy4uL3ZhbHVlcy9hbGlnbm1lbnQnO1xuaW1wb3J0IEFsaWduVG8sIHsgQWxpZ25Ub1BhcmVudCB9IGZyb20gJy4uL3ZhbHVlcy9hbGlnblRvJztcbmltcG9ydCBBdHRyaWJ1dGUgZnJvbSAnLi4vdmFsdWVzL2F0dHJpYnV0ZSc7XG5pbXBvcnQgQ3Jvc3NQcmV2ZW50IGZyb20gJy4uL3ZhbHVlcy9jcm9zc1ByZXZlbnQnO1xuaW1wb3J0IEV2ZW50IGZyb20gJy4uL3ZhbHVlcy9ldmVudCc7XG5pbXBvcnQgeyBPbkp1ZGdlQXR0cmFjdGlvbiB9IGZyb20gJy4vanVkZ2VBdHRyYWN0aW9uJztcbmltcG9ydCB7IE9uSnVkZ2VEaXN0YW5jZSB9IGZyb20gJy4vanVkZ2VEaXN0YW5jZSc7XG5pbXBvcnQgeyBPbkp1ZGdlRGlzdGFuY2VJblBhcmVudCB9IGZyb20gJy4vanVkZ2VEaXN0YW5jZUluUGFyZW50JztcbmltcG9ydCB7IE9uSnVkZ2VNb3ZlbWVudCB9IGZyb20gJy4vanVkZ2VNb3ZlbWVudCc7XG5pbXBvcnQgbXVsdGlBdHRyYWN0aW9uc1RvIGZyb20gJy4vbXVsdGlBdHRyYWN0aW9uc1RvJztcbmltcG9ydCBzaW5nbGVBdHRyYWN0aW9uVG8gZnJvbSAnLi9zaW5nbGVBdHRyYWN0aW9uVG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uT3B0aW9ucyB7XG4gIGlnbm9yZUV2ZW50PzogYm9vbGVhbjtcbiAgdW5hdHRyYWN0YWJsZT86IGJvb2xlYW47XG4gIGF0dHJhY3REaXN0YW5jZT86IG51bWJlcjtcbiAgYWxpZ25Ub3M/OiBBbGlnblRvW107XG4gIGFsaWdubWVudHM/OiBBbGlnbm1lbnRbXTtcbiAgYWxpZ25Ub1BhcmVudHM/OiBBbGlnblRvUGFyZW50W107XG4gIGNyb3NzUHJldmVudHM/OiBDcm9zc1ByZXZlbnRbXTtcbiAgcGFyZW50UGFjaz86IFBhY2s7XG4gIGxhc3RBdHRyYWN0aW9uQmVzdD86IEF0dHJhY3Rpb25CZXN0IHwgbnVsbDtcbiAgb25KdWRnZURpc3RhbmNlPzogT25KdWRnZURpc3RhbmNlO1xuICBvbkp1ZGdlRGlzdGFuY2VJblBhcmVudD86IE9uSnVkZ2VEaXN0YW5jZUluUGFyZW50O1xuICBvbkp1ZGdlQXR0cmFjdGlvbj86IE9uSnVkZ2VBdHRyYWN0aW9uO1xuICBvbkp1ZGdlTW92ZW1lbnQ/OiBPbkp1ZGdlTW92ZW1lbnQ7XG59XG5cbmludGVyZmFjZSBBdHRyYWN0aW9uUmVzdWx0T2ZQb3NpdGlvblJlc3VsdCB7XG4gIHBvc2l0aW9uOiBET01Qb2ludCB8IG51bGw7XG4gIGF0dHJhY3Rpb25CZXN0OiBBdHRyYWN0aW9uQmVzdCB8IG51bGw7XG59XG5cbmZ1bmN0aW9uIGF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uKFxuICBzb3VyY2VQYWNrOiBQYWNrLFxuICB0YXJnZXRQYWNrczogUGFja1tdLFxuICBvcHRpb25zOiBBdHRyYWN0aW9uUmVzdWx0T2ZQb3NpdGlvbk9wdGlvbnMgPSB7fSxcbik6IEF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uUmVzdWx0IHtcbiAgY29uc3Qgc291cmNlUmF3ID0gc291cmNlUGFjay5yYXcgYXMgSFRNTEVsZW1lbnQ7XG4gIGNvbnN0IHtcbiAgICBpZ25vcmVFdmVudCA9ICEoc291cmNlUmF3IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpLFxuICAgIGFsaWduVG9QYXJlbnRzID0gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuYWxpZ25Ub1BhcmVudF0sXG4gICAgY3Jvc3NQcmV2ZW50cyA9IGRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXNbQXR0cmlidXRlLmNyb3NzUHJldmVudF0sXG4gICAgcGFyZW50UGFjayxcbiAgICBsYXN0QXR0cmFjdGlvbkJlc3QsXG4gICAgb25KdWRnZU1vdmVtZW50ID0gcmV0dXJuVHJ1ZSxcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGxhc3RCZXN0WCA9IGxhc3RBdHRyYWN0aW9uQmVzdD8ueDtcbiAgY29uc3QgbGFzdEJlc3RZID0gbGFzdEF0dHJhY3Rpb25CZXN0Py55O1xuICBjb25zdCBwYXJlbnRBbGlnbm1lbnRzID0gTWFnbmV0LmdldEFsaWdubWVudHNGcm9tQWxpZ25UbyhhbGlnblRvUGFyZW50cyk7XG4gIGNvbnN0IGFsaWduVG9QYXJlbnQgPSBwYXJlbnRBbGlnbm1lbnRzLmxlbmd0aCA+IDA7XG4gIGNvbnN0IGNyb3NzUHJldmVudFBhcmVudCA9IGNyb3NzUHJldmVudHMuaW5jbHVkZXMoQ3Jvc3NQcmV2ZW50LnBhcmVudCk7XG4gIGNvbnN0IGtlZXBJblBhcmVudCA9IGNyb3NzUHJldmVudFBhcmVudCAmJiBwYXJlbnRQYWNrO1xuICBjb25zdCBzb3VyY2VSZWN0ID0gZ2V0UmVjdChzb3VyY2VQYWNrKTtcbiAgY29uc3Qge1xuICAgIHdpZHRoOiBzb3VyY2VXaWR0aCxcbiAgICBoZWlnaHQ6IHNvdXJjZUhlaWdodCxcbiAgfSA9IHNvdXJjZVJlY3Q7XG4gIGNvbnN0IHBhcmVudFJlY3QgPSBnZXRSZWN0KFxuICAgIHBhcmVudFBhY2tcbiAgICA/PyBzb3VyY2VSZWN0LCAvLyBoYWNrIGZvciB0c2xpbnQgYmVjYXVzZSBgcGFyZW50UmVjdGAgd291bGQgYmUgbmVlZGxlc3NcbiAgKTtcblxuICAvKipcbiAgICogTmVlZCB0byBjb25zaWRlciB0aGUgZHJhZ2dpbmcgZm9yY2Ugd2hlbiB0aGUgbWFnbmV0IGlzIHByZXZlbnRlZFxuICAgKiBmcm9tIGNyb3NzaW5nIHBhcmVudCBlbGVtZW50LiBUaGUgYXR0cmFjdGlvbiBvZiB0aGUgbmVhciBtYWduZXRzXG4gICAqIHNob3VsZCBiZSBpZ25vcmVkIGlmIHRoZSBmb3JjZSBpcyBncmVhdGVyIHRoYW4gdGhlIGF0dHJhY3RpbmdcbiAgICogZGlzdGFuY2VzLlxuICAgKi9cbiAgY29uc3Qgc291cmNlUmF3UmVjdCA9IHNvdXJjZVJlY3Q7XG4gIGNvbnN0IHNvdXJjZUluUGFyZW50T2Zmc2V0ID0gKGtlZXBJblBhcmVudFxuICAgID8gZ2V0T2Zmc2V0VG9CZUluUmVjdChzb3VyY2VSYXdSZWN0LCBwYXJlbnRSZWN0KVxuICAgIDogY3JlYXRlUG9pbnQoMCwgMClcbiAgKTtcbiAgY29uc3Qgc291cmNlSW5QYXJlbnRSZWN0ID0gY3JlYXRlUmVjdChcbiAgICBzb3VyY2VSYXdSZWN0LnggKyBzb3VyY2VJblBhcmVudE9mZnNldC54LFxuICAgIHNvdXJjZVJhd1JlY3QueSArIHNvdXJjZUluUGFyZW50T2Zmc2V0LnksXG4gICAgc291cmNlV2lkdGgsXG4gICAgc291cmNlSGVpZ2h0LFxuICApO1xuICBjb25zdCBzb3VyY2VJblBhcmVudFBhY2sgPSBuZXcgUGFjayhzb3VyY2VSYXcsIHNvdXJjZUluUGFyZW50UmVjdCk7XG4gIGNvbnN0IHBhc3NKdWRnZU1vdmVtZW50ID0gb25KdWRnZU1vdmVtZW50KHNvdXJjZUluUGFyZW50UGFjayk7XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgZm9yIHRob3NlIHRhcmdldHMgbmVlZCB0byBkaXNwYXRjaCBldmVudC5cbiAgICovXG4gIGNvbnN0IGF0dHJhY3RSZXN1bHRzOiBEaXN0YW5jZVtdID0gW107XG4gIGNvbnN0IHVuYXR0cmFjdFJlc3VsdHM6IERpc3RhbmNlW10gPSBbXTtcbiAgY29uc3QgYXR0cmFjdG1vdmVSZXN1bHRzOiBEaXN0YW5jZVtdID0gW107XG5cbiAgY29uc3QgZGlzcGF0Y2hBdHRyYWN0RXZlbnRzID0gKHNvdXJjZU5leHRSZWN0OiBET01SZWN0KSA9PiB7XG4gICAgaWYgKGlnbm9yZUV2ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYXR0cmFjdFJlc3VsdHMuZm9yRWFjaCgoYXR0cmFjdFJlc3VsdCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0UGFjayA9IGF0dHJhY3RSZXN1bHQudGFyZ2V0O1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbSA9IHRhcmdldFBhY2sucmF3IGFzIEhUTUxFbGVtZW50O1xuICAgICAgY29uc3QgYXR0cmFjdGVkRXZlbnREZXRhaWw6IEF0dHJhY3RlZEV2ZW50RGV0YWlsID0ge1xuICAgICAgICBzb3VyY2U6IHNvdXJjZUluUGFyZW50UGFjayxcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYWNrLFxuICAgICAgICBzb3VyY2VOZXh0UmVjdCxcbiAgICAgICAgZGlzdGFuY2U6IGF0dHJhY3RSZXN1bHQsXG4gICAgICB9O1xuXG4gICAgICB0cmlnZ2VyRXZlbnQ8QXR0cmFjdGVkRXZlbnREZXRhaWw+KFxuICAgICAgICB0YXJnZXRFbGVtLFxuICAgICAgICBFdmVudC5hdHRyYWN0ZWQsXG4gICAgICAgIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNhbmNlbGFibGU6IGZhbHNlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDogYXR0cmFjdGVkRXZlbnREZXRhaWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9O1xuICBjb25zdCBkaXNwYXRjaFVuYXR0cmFjdEV2ZW50cyA9IChzb3VyY2VOZXh0UmVjdDogRE9NUmVjdCkgPT4ge1xuICAgIGlmIChpZ25vcmVFdmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVuYXR0cmFjdFJlc3VsdHMuZm9yRWFjaCgodW5hdHRyYWN0UmVzdWx0KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXRQYWNrID0gdW5hdHRyYWN0UmVzdWx0LnRhcmdldDtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW0gPSB0YXJnZXRQYWNrLnJhdyBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IHVuYXR0cmFjdGVkRXZlbnREZXRhaWw6IFVuYXR0cmFjdGVkRXZlbnREZXRhaWwgPSB7XG4gICAgICAgIHNvdXJjZTogc291cmNlSW5QYXJlbnRQYWNrLFxuICAgICAgICB0YXJnZXQ6IHRhcmdldFBhY2ssXG4gICAgICAgIHNvdXJjZU5leHRSZWN0LFxuICAgICAgfTtcblxuICAgICAgdHJpZ2dlckV2ZW50PFVuYXR0cmFjdGVkRXZlbnREZXRhaWw+KFxuICAgICAgICB0YXJnZXRFbGVtLFxuICAgICAgICBFdmVudC51bmF0dHJhY3RlZCxcbiAgICAgICAge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiB1bmF0dHJhY3RlZEV2ZW50RGV0YWlsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcbiAgY29uc3QgZGlzcGF0Y2hBdHRyYWN0bW92ZUV2ZW50cyA9IChzb3VyY2VOZXh0UmVjdDogRE9NUmVjdCkgPT4ge1xuICAgIGlmIChpZ25vcmVFdmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF0dHJhY3Rtb3ZlUmVzdWx0cy5mb3JFYWNoKChhdHRyYWN0bW92ZVJlc3VsdCkgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0UGFjayA9IGF0dHJhY3Rtb3ZlUmVzdWx0LnRhcmdldDtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW0gPSB0YXJnZXRQYWNrLnJhdyBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNvbnN0IGF0dHJhY3RlZG1vdmVFdmVudERldGFpbDogQXR0cmFjdGVkbW92ZUV2ZW50RGV0YWlsID0ge1xuICAgICAgICBzb3VyY2U6IHNvdXJjZUluUGFyZW50UGFjayxcbiAgICAgICAgdGFyZ2V0OiB0YXJnZXRQYWNrLFxuICAgICAgICBzb3VyY2VOZXh0UmVjdCxcbiAgICAgICAgZGlzdGFuY2U6IGF0dHJhY3Rtb3ZlUmVzdWx0LFxuICAgICAgfTtcblxuICAgICAgdHJpZ2dlckV2ZW50PEF0dHJhY3RlZG1vdmVFdmVudERldGFpbD4oXG4gICAgICAgIHRhcmdldEVsZW0sXG4gICAgICAgIEV2ZW50LmF0dHJhY3RlZG1vdmUsXG4gICAgICAgIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNhbmNlbGFibGU6IGZhbHNlLFxuICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgIGRldGFpbDogYXR0cmFjdGVkbW92ZUV2ZW50RGV0YWlsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9KTtcbiAgfTtcblxuICBpZiAoIXBhc3NKdWRnZU1vdmVtZW50KSB7XG4gICAgaWYgKGxhc3RCZXN0WCkge1xuICAgICAgdW5hdHRyYWN0UmVzdWx0cy5wdXNoKGxhc3RCZXN0WCk7XG4gICAgfVxuICAgIGlmIChsYXN0QmVzdFkpIHtcbiAgICAgIHVuYXR0cmFjdFJlc3VsdHMucHVzaChsYXN0QmVzdFkpO1xuICAgIH1cblxuICAgIGRpc3BhdGNoVW5hdHRyYWN0RXZlbnRzKHNvdXJjZUluUGFyZW50UmVjdCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcG9zaXRpb246IG51bGwsXG4gICAgICBhdHRyYWN0aW9uQmVzdDogbnVsbCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZHMgYmVzdCBhdHRyYWN0aW9uIHJlc3VsdCBpZiBtYWduZXQgYWxpZ25zIHRvIHBhcmVudC5cbiAgICovXG4gIGNvbnN0IGF0dHJhY3Rpb25CZXN0OiBBdHRyYWN0aW9uQmVzdCA9IHt9O1xuXG4gIGNvbnN0IHtcbiAgICB1bmF0dHJhY3RhYmxlID0gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUudW5hdHRyYWN0YWJsZV0sXG4gICAgYXR0cmFjdERpc3RhbmNlID0gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuYXR0cmFjdERpc3RhbmNlXSxcbiAgICBhbGlnblRvcyA9IGRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXNbQXR0cmlidXRlLmFsaWduVG9dLFxuICAgIGFsaWdubWVudHMgPSBNYWduZXQuZ2V0QWxpZ25tZW50c0Zyb21BbGlnblRvKGFsaWduVG9zKSxcbiAgICBvbkp1ZGdlRGlzdGFuY2VJblBhcmVudCA9IHJldHVyblRydWUsXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBzb3VyY2VSYXdQYWNrID0gbmV3IFBhY2soc291cmNlUmF3LCBzb3VyY2VSYXdSZWN0KTtcbiAgY29uc3Qgb25KdWRnZURpc3RhbmNlID0gKHVuYXR0cmFjdGFibGVcbiAgICA/IHJldHVybkZhbHNlXG4gICAgOiAob3B0aW9ucy5vbkp1ZGdlRGlzdGFuY2UgPz8gcmV0dXJuVHJ1ZSlcbiAgKTtcblxuICBpZiAoYWxpZ25Ub1BhcmVudCAmJiBwYXJlbnRQYWNrKSB7XG4gICAgY29uc3QgeyBiZXN0IH0gPSBzaW5nbGVBdHRyYWN0aW9uVG8oXG4gICAgICBzb3VyY2VSYXdQYWNrLFxuICAgICAgcGFyZW50UGFjayxcbiAgICAgIHtcbiAgICAgICAgYXR0cmFjdERpc3RhbmNlLFxuICAgICAgICBhbGlnblRvcyxcbiAgICAgICAgYWxpZ25tZW50cyxcbiAgICAgICAgb25KdWRnZURpc3RhbmNlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgYXR0cmFjdGlvbkJlc3QueCA9IGJlc3QueDtcbiAgICBhdHRyYWN0aW9uQmVzdC55ID0gYmVzdC55O1xuICB9XG5cbiAgY29uc3Qgb25KdWRnZU11bHRpRGlzdGFuY2U6IE9uSnVkZ2VEaXN0YW5jZSA9IChrZWVwSW5QYXJlbnRcbiAgICA/ICgoZGlzdGFuY2UpID0+IChcbiAgICAgIG9uSnVkZ2VEaXN0YW5jZUluUGFyZW50KGRpc3RhbmNlLCB7XG4gICAgICAgIGF0dHJhY3REaXN0YW5jZSxcbiAgICAgICAgYWxpZ25Ub3MsXG4gICAgICAgIHBhcmVudDogcGFyZW50UGFjayxcbiAgICAgICAgb25KdWRnZURpc3RhbmNlLFxuICAgICAgfSlcbiAgICApKVxuICAgIDogb25KdWRnZURpc3RhbmNlXG4gICk7XG4gIGNvbnN0IG9uSnVkZ2VBdHRyYWN0aW9uID0gKHVuYXR0cmFjdGFibGVcbiAgICA/IHJldHVybkZhbHNlXG4gICAgOiAob3B0aW9ucy5vbkp1ZGdlQXR0cmFjdGlvbiA/PyByZXR1cm5UcnVlKVxuICApO1xuICBjb25zdCBzb3VyY2VBdHRyYWN0aW9uID0gbXVsdGlBdHRyYWN0aW9uc1RvKFxuICAgIHNvdXJjZVJhd1BhY2ssXG4gICAgdGFyZ2V0UGFja3MsXG4gICAge1xuICAgICAgYXR0cmFjdERpc3RhbmNlLFxuICAgICAgYWxpZ25Ub3MsXG4gICAgICBhbGlnbm1lbnRzLFxuICAgICAgb25KdWRnZURpc3RhbmNlOiBvbkp1ZGdlTXVsdGlEaXN0YW5jZSxcbiAgICAgIG9uSnVkZ2VBdHRyYWN0aW9uLFxuICAgICAgYXR0cmFjdGlvbkJlc3QsXG4gICAgfSxcbiAgKTtcbiAgY29uc3Qgc291cmNlQXR0cmFjdGlvbkJlc3QgPSBzb3VyY2VBdHRyYWN0aW9uLmJlc3Q7XG4gIGNvbnN0IHNvdXJjZUF0dHJhY3Rpb25PZmZzZXQgPSBnZXRBdHRyYWN0aW9uT2Zmc2V0KHNvdXJjZUF0dHJhY3Rpb24pO1xuICBjb25zdCBzb3VyY2VBdHRyYWN0aW9uUmVjdCA9IGNyZWF0ZVJlY3QoXG4gICAgc291cmNlUmF3UmVjdC54ICsgc291cmNlQXR0cmFjdGlvbk9mZnNldC54LFxuICAgIHNvdXJjZVJhd1JlY3QueSArIHNvdXJjZUF0dHJhY3Rpb25PZmZzZXQueSxcbiAgICBzb3VyY2VXaWR0aCxcbiAgICBzb3VyY2VIZWlnaHQsXG4gICk7XG4gIGNvbnN0IHNvdXJjZUF0dHJhY3Rpb25JblBhcmVudE9mZnNldCA9IChrZWVwSW5QYXJlbnRcbiAgICA/IGdldE9mZnNldFRvQmVJblJlY3Qoc291cmNlQXR0cmFjdGlvblJlY3QsIHBhcmVudFJlY3QpXG4gICAgOiBjcmVhdGVQb2ludCgwLCAwKVxuICApO1xuICBjb25zdCBzb3VyY2VBdHRyYWN0aW9uSW5QYXJlbnRSZWN0ID0gY3JlYXRlUmVjdChcbiAgICBzb3VyY2VBdHRyYWN0aW9uUmVjdC54ICsgc291cmNlQXR0cmFjdGlvbkluUGFyZW50T2Zmc2V0LngsXG4gICAgc291cmNlQXR0cmFjdGlvblJlY3QueSArIHNvdXJjZUF0dHJhY3Rpb25JblBhcmVudE9mZnNldC55LFxuICAgIHNvdXJjZVdpZHRoLFxuICAgIHNvdXJjZUhlaWdodCxcbiAgKTtcblxuICBpZiAoIWlnbm9yZUV2ZW50KSB7XG4gICAgY29uc3Qge1xuICAgICAgeDogY3VycmVudEJlc3RYLFxuICAgICAgeTogY3VycmVudEJlc3RZLFxuICAgIH0gPSBzb3VyY2VBdHRyYWN0aW9uQmVzdDtcbiAgICBjb25zdCBsYXN0VGFyZ2V0WCA9IGxhc3RCZXN0WD8udGFyZ2V0O1xuICAgIGNvbnN0IGxhc3RUYXJnZXRZID0gbGFzdEJlc3RZPy50YXJnZXQ7XG4gICAgY29uc3QgY3VycmVudFRhcmdldFggPSBjdXJyZW50QmVzdFg/LnRhcmdldDtcbiAgICBjb25zdCBjdXJyZW50VGFyZ2V0WSA9IGN1cnJlbnRCZXN0WT8udGFyZ2V0O1xuICAgIGNvbnN0IGRpZmZUYXJnZXRYID0gY3VycmVudFRhcmdldFggIT09IGxhc3RUYXJnZXRYO1xuICAgIGNvbnN0IGRpZmZUYXJnZXRZID0gY3VycmVudFRhcmdldFkgIT09IGxhc3RUYXJnZXRZO1xuXG4gICAgLyoqXG4gICAgICogUmVjb3JkcyBhbmQgZGlzcGF0Y2hlcyBldmVudHMgb24geC95IHBhY2tzLlxuICAgICAqL1xuICAgIGlmIChkaWZmVGFyZ2V0WCkge1xuICAgICAgaWYgKGxhc3RUYXJnZXRYKSB7XG4gICAgICAgIHVuYXR0cmFjdFJlc3VsdHMucHVzaChsYXN0QmVzdFgpO1xuICAgICAgfVxuICAgICAgaWYgKGN1cnJlbnRUYXJnZXRYKSB7XG4gICAgICAgIGF0dHJhY3RSZXN1bHRzLnB1c2goY3VycmVudEJlc3RYKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRUYXJnZXRYKSB7XG4gICAgICBjb25zdCBsYXN0QWxpZ25tZW50WCA9IGxhc3RCZXN0WD8uYWxpZ25tZW50O1xuICAgICAgY29uc3QgY3VycmVudEFsaWdubWVudFggPSBjdXJyZW50QmVzdFguYWxpZ25tZW50O1xuXG4gICAgICBpZiAobGFzdEFsaWdubWVudFggIT09IGN1cnJlbnRBbGlnbm1lbnRYKSB7XG4gICAgICAgIGF0dHJhY3RSZXN1bHRzLnB1c2goY3VycmVudEJlc3RYKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF0dHJhY3Rtb3ZlUmVzdWx0cy5wdXNoKGN1cnJlbnRCZXN0WCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGRpZmZUYXJnZXRZKSB7XG4gICAgICBpZiAobGFzdFRhcmdldFkpIHtcbiAgICAgICAgdW5hdHRyYWN0UmVzdWx0cy5wdXNoKGxhc3RCZXN0WSk7XG4gICAgICB9XG4gICAgICBpZiAoY3VycmVudFRhcmdldFkpIHtcbiAgICAgICAgYXR0cmFjdFJlc3VsdHMucHVzaChjdXJyZW50QmVzdFkpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoY3VycmVudFRhcmdldFkpIHtcbiAgICAgIGNvbnN0IGxhc3RBbGlnbm1lbnRZID0gbGFzdEJlc3RZPy5hbGlnbm1lbnQ7XG4gICAgICBjb25zdCBjdXJyZW50QWxpZ25tZW50WSA9IGN1cnJlbnRCZXN0WS5hbGlnbm1lbnQ7XG5cbiAgICAgIGlmIChsYXN0QWxpZ25tZW50WSAhPT0gY3VycmVudEFsaWdubWVudFkpIHtcbiAgICAgICAgYXR0cmFjdFJlc3VsdHMucHVzaChjdXJyZW50QmVzdFkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXR0cmFjdG1vdmVSZXN1bHRzLnB1c2goY3VycmVudEJlc3RZKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBdHRyYWN0aW9uIGhhcHBlbnMuXG4gICAgICovXG4gICAgaWYgKGF0dHJhY3RSZXN1bHRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGF0dHJhY3RFdmVudERldGFpbDogQXR0cmFjdEV2ZW50RGV0YWlsID0ge1xuICAgICAgICBzb3VyY2U6IHNvdXJjZUluUGFyZW50UGFjayxcbiAgICAgICAgbmV4dFJlY3Q6IHNvdXJjZUF0dHJhY3Rpb25JblBhcmVudFJlY3QsXG4gICAgICAgIGF0dHJhY3Rpb246IHNvdXJjZUF0dHJhY3Rpb24sXG4gICAgICB9O1xuICAgICAgY29uc3QgcGFzc0F0dHJhY3RFdmVudCA9IHRyaWdnZXJFdmVudDxBdHRyYWN0RXZlbnREZXRhaWw+KFxuICAgICAgICBzb3VyY2VSYXcsXG4gICAgICAgIEV2ZW50LmF0dHJhY3QsXG4gICAgICAgIHtcbiAgICAgICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiBhdHRyYWN0RXZlbnREZXRhaWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAoIXBhc3NBdHRyYWN0RXZlbnQpIHtcbiAgICAgICAgaWYgKGxhc3RCZXN0WCkge1xuICAgICAgICAgIHVuYXR0cmFjdFJlc3VsdHMucHVzaChsYXN0QmVzdFgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsYXN0QmVzdFkpIHtcbiAgICAgICAgICB1bmF0dHJhY3RSZXN1bHRzLnB1c2gobGFzdEJlc3RZKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcG9zaXRpb246IGNyZWF0ZVBvaW50KFxuICAgICAgICAgICAgc291cmNlUmF3UmVjdC54ICsgc291cmNlSW5QYXJlbnRPZmZzZXQueCxcbiAgICAgICAgICAgIHNvdXJjZVJhd1JlY3QueSArIHNvdXJjZUluUGFyZW50T2Zmc2V0LnksXG4gICAgICAgICAgKSxcbiAgICAgICAgICBhdHRyYWN0aW9uQmVzdDogbnVsbCxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodW5hdHRyYWN0UmVzdWx0cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB1bmF0dHJhY3RFdmVudERldGFpbDogVW5hdHRyYWN0RXZlbnREZXRhaWwgPSB7XG4gICAgICAgIHNvdXJjZTogc291cmNlSW5QYXJlbnRQYWNrLFxuICAgICAgICBuZXh0UmVjdDogc291cmNlQXR0cmFjdGlvbkluUGFyZW50UmVjdCxcbiAgICAgICAgYXR0cmFjdGlvbjogc291cmNlQXR0cmFjdGlvbixcbiAgICAgIH07XG5cbiAgICAgIHRyaWdnZXJFdmVudDxVbmF0dHJhY3RFdmVudERldGFpbD4oXG4gICAgICAgIHNvdXJjZVJhdyxcbiAgICAgICAgRXZlbnQudW5hdHRyYWN0LFxuICAgICAgICB7XG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcbiAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICBkZXRhaWw6IHVuYXR0cmFjdEV2ZW50RGV0YWlsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoYXR0cmFjdG1vdmVSZXN1bHRzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGF0dHJhY3Rtb3ZlRXZlbnREZXRhaWw6IEF0dHJhY3Rtb3ZlRXZlbnREZXRhaWwgPSB7XG4gICAgICAgIHNvdXJjZTogc291cmNlSW5QYXJlbnRQYWNrLFxuICAgICAgICBuZXh0UmVjdDogc291cmNlQXR0cmFjdGlvbkluUGFyZW50UmVjdCxcbiAgICAgICAgYXR0cmFjdGlvbjogc291cmNlQXR0cmFjdGlvbixcbiAgICAgIH07XG5cbiAgICAgIHRyaWdnZXJFdmVudDxBdHRyYWN0bW92ZUV2ZW50RGV0YWlsPihcbiAgICAgICAgc291cmNlUmF3LFxuICAgICAgICBFdmVudC5hdHRyYWN0bW92ZSxcbiAgICAgICAge1xuICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXG4gICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgZGV0YWlsOiBhdHRyYWN0bW92ZUV2ZW50RGV0YWlsLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBkaXNwYXRjaEF0dHJhY3RFdmVudHMoc291cmNlQXR0cmFjdGlvbkluUGFyZW50UmVjdCk7XG4gIGRpc3BhdGNoVW5hdHRyYWN0RXZlbnRzKHNvdXJjZUF0dHJhY3Rpb25JblBhcmVudFJlY3QpO1xuICBkaXNwYXRjaEF0dHJhY3Rtb3ZlRXZlbnRzKHNvdXJjZUF0dHJhY3Rpb25JblBhcmVudFJlY3QpO1xuXG4gIHJldHVybiB7XG4gICAgcG9zaXRpb246IGNyZWF0ZVBvaW50KFxuICAgICAgc291cmNlUmF3UmVjdC54ICsgc291cmNlQXR0cmFjdGlvbk9mZnNldC54ICsgc291cmNlQXR0cmFjdGlvbkluUGFyZW50T2Zmc2V0LngsXG4gICAgICBzb3VyY2VSYXdSZWN0LnkgKyBzb3VyY2VBdHRyYWN0aW9uT2Zmc2V0LnkgKyBzb3VyY2VBdHRyYWN0aW9uSW5QYXJlbnRPZmZzZXQueSxcbiAgICApLFxuICAgIGF0dHJhY3Rpb25CZXN0OiBzb3VyY2VBdHRyYWN0aW9uQmVzdCxcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb247XG4iLCJpbXBvcnQgeyBjcmVhdGVQb2ludCB9IGZyb20gJy4uL3R5cGVzL1BvaW50JztcblxuLyoqXG4gKiBSZXR1cm5zICh4LCB5KSBvZiBtb3VzdC90b3VjaCBldmVudC5cbiAqL1xuZnVuY3Rpb24gZ2V0RXZlbnRYWShldmVudDogUG9pbnRlckV2ZW50KTogRE9NUG9pbnQge1xuICBjb25zdCB7IGNsaWVudFgsIGNsaWVudFkgfSA9IGV2ZW50O1xuXG4gIHJldHVybiBjcmVhdGVQb2ludChjbGllbnRYLCBjbGllbnRZKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0RXZlbnRYWTtcbiIsImltcG9ydCBNYWduZXQgZnJvbSAnLi4vYmxvY2snO1xuaW1wb3J0IGF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uIGZyb20gJy4uL21ldGhvZHMvYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24nO1xuaW1wb3J0IHsgT25KdWRnZU1vdmVtZW50IH0gZnJvbSAnLi4vbWV0aG9kcy9qdWRnZU1vdmVtZW50JztcbmltcG9ydCB7IE1vdmVFdmVudERldGFpbCwgU3RhcnRFdmVudERldGFpbCB9IGZyb20gJy4uL3R5cGVzL0V2ZW50RGV0YWlsJztcbmltcG9ydCBQYWNrIGZyb20gJy4uL3R5cGVzL1BhY2snO1xuaW1wb3J0IGNyZWF0ZVBvaW50IGZyb20gJy4uL3R5cGVzL1BvaW50JztcbmltcG9ydCBjcmVhdGVSZWN0IGZyb20gJy4uL3R5cGVzL1JlY3QnO1xuaW1wb3J0IEF0dHJpYnV0ZSBmcm9tICcuLi92YWx1ZXMvYXR0cmlidXRlJztcbmltcG9ydCBFdmVudCBmcm9tICcuLi92YWx1ZXMvZXZlbnQnO1xuaW1wb3J0IHsgYWRkRXZlbnRMaXN0ZW5lcnMsIHJlbW92ZUV2ZW50TGlzdGVuZXJzLCB0cmlnZ2VyRXZlbnQgfSBmcm9tICcuL2V2ZW50SGFuZGxlcic7XG5pbXBvcnQgZ2V0RXZlbnRYWSBmcm9tICcuL2dldEV2ZW50WFknO1xuXG5jb25zdCBFVkVOVF9EUkFHX1NUQVJUID0gWydwb2ludGVyZG93biddO1xuY29uc3QgRVZFTlRfRFJBR19NT1ZFID0gWydwb2ludGVybW92ZSddO1xuY29uc3QgRVZFTlRfRFJBR19FTkQgPSBbJ3BvaW50ZXJ1cCddO1xuXG4vKipcbiAqIFJlc2V0cyBtYWduZXQgY2FjaGVzLlxuICovXG5mdW5jdGlvbiByZXNldE1hZ25ldENhY2hlcyhtYWduZXQ6IE1hZ25ldCk6IHZvaWQge1xuICBtYWduZXQucmVzZXRNYWduZXRSZWN0KCk7XG4gIG1hZ25ldC5yZXNldFBhcmVudFBhY2soKTtcbiAgbWFnbmV0LnJlc2V0VGFyZ2V0TWFnbmV0UGFja3MoKTtcbn1cblxuLyoqXG4gKiBFdmVudCBsaXN0ZW5lciBvZiBkcmFnIG1vdmUgZXZlbnQuXG4gKi9cbmZ1bmN0aW9uIG1vdmVMaXN0ZW5lcihcbiAgdGhpczogTWFnbmV0LFxuICBzdGFydFBvaW50OiBET01Qb2ludCxcbiAgc3RhcnRMYXN0T2Zmc2V0OiBET01Qb2ludCxcbiAgbW92ZVBvaW50OiBET01Qb2ludCxcbik6IERPTVBvaW50IHtcbiAgY29uc3Qge1xuICAgIG1hZ25ldFJlY3Q6IHNvdXJjZVJlY3QsXG4gICAgdGFyZ2V0TWFnbmV0UGFja3M6IHRhcmdldFBhY2tzLFxuICAgIGp1ZGdlTWFnbmV0TW92ZW1lbnQsXG4gIH0gPSB0aGlzO1xuICBjb25zdCBvbkp1ZGdlTW92ZW1lbnQ6IE9uSnVkZ2VNb3ZlbWVudCA9IChuZXh0U291cmNlUGFjaykgPT4ge1xuICAgIGlmICghanVkZ2VNYWduZXRNb3ZlbWVudChuZXh0U291cmNlUGFjaykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBtb3ZlRXZlbnREZXRhaWw6IE1vdmVFdmVudERldGFpbCA9IHtcbiAgICAgIHNvdXJjZTogbmV4dFNvdXJjZVBhY2ssXG4gICAgICB0YXJnZXRzOiB0YXJnZXRQYWNrcyxcbiAgICAgIHN0YXJ0UG9pbnQ6IGNyZWF0ZVBvaW50KHN0YXJ0UG9pbnQpLFxuICAgICAgbW92ZVBvaW50OiBjcmVhdGVQb2ludChtb3ZlUG9pbnQpLFxuICAgIH07XG4gICAgY29uc3QgcGFzc01vdmVFdmVudCA9IHRyaWdnZXJFdmVudDxNb3ZlRXZlbnREZXRhaWw+KFxuICAgICAgdGhpcyxcbiAgICAgIEV2ZW50Lm1hZ25ldG1vdmUsXG4gICAgICB7XG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICBkZXRhaWw6IG1vdmVFdmVudERldGFpbCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBwYXNzTW92ZUV2ZW50O1xuICB9O1xuICBjb25zdCB7IHBvc2l0aW9uLCBhdHRyYWN0aW9uQmVzdCB9ID0gYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24oXG4gICAgbmV3IFBhY2sodGhpcywgY3JlYXRlUmVjdChcbiAgICAgIHNvdXJjZVJlY3QueCArIG1vdmVQb2ludC54IC0gc3RhcnRQb2ludC54LFxuICAgICAgc291cmNlUmVjdC55ICsgbW92ZVBvaW50LnkgLSBzdGFydFBvaW50LnksXG4gICAgICBzb3VyY2VSZWN0LndpZHRoLFxuICAgICAgc291cmNlUmVjdC5oZWlnaHQsXG4gICAgKSksXG4gICAgdGFyZ2V0UGFja3MsXG4gICAge1xuICAgICAgdW5hdHRyYWN0YWJsZTogdGhpcy51bmF0dHJhY3RhYmxlLFxuICAgICAgYXR0cmFjdERpc3RhbmNlOiB0aGlzLmF0dHJhY3REaXN0YW5jZSxcbiAgICAgIGFsaWduVG9zOiB0aGlzLmFsaWduVG9zLFxuICAgICAgYWxpZ25Ub1BhcmVudHM6IHRoaXMuYWxpZ25Ub1BhcmVudHMsXG4gICAgICBjcm9zc1ByZXZlbnRzOiB0aGlzLmNyb3NzUHJldmVudHMsXG4gICAgICBwYXJlbnRQYWNrOiB0aGlzLnBhcmVudFBhY2ssXG4gICAgICBsYXN0QXR0cmFjdGlvbkJlc3Q6IHRoaXMubGFzdEF0dHJhY3Rpb25CZXN0LFxuICAgICAgb25KdWRnZURpc3RhbmNlOiB0aGlzLmp1ZGdlTWFnbmV0RGlzdGFuY2UsXG4gICAgICBvbkp1ZGdlRGlzdGFuY2VJblBhcmVudDogdGhpcy5qdWRnZU1hZ25ldERpc3RhbmNlSW5QYXJlbnQsXG4gICAgICBvbkp1ZGdlQXR0cmFjdGlvbjogdGhpcy5qdWRnZU1hZ25ldEF0dHJhY3Rpb24sXG4gICAgICBvbkp1ZGdlTW92ZW1lbnQsXG4gICAgfSxcbiAgKTtcbiAgdGhpcy5zZXRNYWduZXRPZmZzZXQoXG4gICAgKHBvc2l0aW9uPy54ID8/IHNvdXJjZVJlY3QueCkgLSBzb3VyY2VSZWN0LnggKyBzdGFydExhc3RPZmZzZXQueCxcbiAgICAocG9zaXRpb24/LnkgPz8gc291cmNlUmVjdC55KSAtIHNvdXJjZVJlY3QueSArIHN0YXJ0TGFzdE9mZnNldC55LFxuICApO1xuICB0aGlzLmxhc3RBdHRyYWN0aW9uQmVzdCA9IGF0dHJhY3Rpb25CZXN0O1xuXG4gIHJldHVybiBtb3ZlUG9pbnQ7XG59XG5cbi8qKlxuICogRXZlbnQgbGlzdGVuZXIgb2YgZHJhZyBzdGFydCBldmVudC5cbiAqL1xuZnVuY3Rpb24gc3RhcnRMaXN0ZW5lcihcbiAgdGhpczogTWFnbmV0LFxuICBldmVudDogUG9pbnRlckV2ZW50LFxuKTogdm9pZCB7XG4gIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMudW5tb3ZhYmxlKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RhcnRQb2ludCA9IGdldEV2ZW50WFkoZXZlbnQpO1xuXG4gIHRoaXMuaXNNb3ZpbmcgPSBmYWxzZTtcbiAgcmVzZXRNYWduZXRDYWNoZXModGhpcyk7XG5cbiAgY29uc3Qge1xuICAgIG1hZ25ldFJlY3Q6IHNvdXJjZVJlY3QsXG4gICAgdGFyZ2V0TWFnbmV0UGFja3M6IHRhcmdldFBhY2tzLFxuICB9ID0gdGhpcztcbiAgY29uc3Qgc291cmNlUGFjayA9IG5ldyBQYWNrKHRoaXMsIHNvdXJjZVJlY3QpO1xuICBjb25zdCBzdGFydEV2ZW50RGV0YWlsOiBTdGFydEV2ZW50RGV0YWlsID0ge1xuICAgIHNvdXJjZTogc291cmNlUGFjayxcbiAgICB0YXJnZXRzOiB0YXJnZXRQYWNrcyxcbiAgICBzdGFydFBvaW50OiBjcmVhdGVQb2ludChzdGFydFBvaW50KSxcbiAgfTtcbiAgY29uc3QgcGFzc1N0YXJ0RXZlbnQgPSB0cmlnZ2VyRXZlbnQ8U3RhcnRFdmVudERldGFpbD4oXG4gICAgdGhpcyxcbiAgICBFdmVudC5tYWduZXRzdGFydCxcbiAgICB7XG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgZGV0YWlsOiBzdGFydEV2ZW50RGV0YWlsLFxuICAgIH0sXG4gICk7XG5cbiAgaWYgKCFwYXNzU3RhcnRFdmVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBsYXN0TW92ZVBvaW50OiBET01Qb2ludCA9IHN0YXJ0UG9pbnQ7XG4gIGNvbnN0IGRyYWdNb3ZlSGFuZGxlciA9IG1vdmVMaXN0ZW5lci5iaW5kKHRoaXMsIHN0YXJ0UG9pbnQsIHRoaXMubGFzdE9mZnNldCk7XG4gIGNvbnN0IGRyYWdNb3ZlTGlzdGVuZXIgPSAoZXZ0OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICBjb25zdCBtb3ZlUG9pbnQgPSBnZXRFdmVudFhZKGV2dCk7XG5cbiAgICBsYXN0TW92ZVBvaW50ID0gZHJhZ01vdmVIYW5kbGVyKG1vdmVQb2ludCk7XG4gIH07XG4gIGNvbnN0IGF0dHJpYnV0ZU9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgIGRyYWdNb3ZlSGFuZGxlcihsYXN0TW92ZVBvaW50KTtcbiAgfSk7XG4gIGNvbnN0IGRyYWdFbmRMaXN0ZW5lciA9ICgpID0+IHtcbiAgICB0aGlzLmlzTW92aW5nID0gZmFsc2U7XG4gICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgnei1pbmRleCcpO1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXJzKGRvY3VtZW50LCBFVkVOVF9EUkFHX01PVkUsIGRyYWdNb3ZlTGlzdGVuZXIpO1xuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXJzKGRvY3VtZW50LCBFVkVOVF9EUkFHX0VORCwgZHJhZ0VuZExpc3RlbmVyKTtcbiAgICBhdHRyaWJ1dGVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgcmVzZXRNYWduZXRDYWNoZXModGhpcyk7XG4gICAgdHJpZ2dlckV2ZW50KHRoaXMsIEV2ZW50Lm1hZ25ldGVuZCwge1xuICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgIGNhbmNlbGFibGU6IGZhbHNlLFxuICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgfSk7XG4gIH07XG5cbiAgdGhpcy5pc01vdmluZyA9IHRydWU7XG4gIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJ3otaW5kZXgnLCBgJHtEYXRlLm5vdygpfWApO1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICBhZGRFdmVudExpc3RlbmVycyhkb2N1bWVudCwgRVZFTlRfRFJBR19NT1ZFLCBkcmFnTW92ZUxpc3RlbmVyKTtcbiAgYWRkRXZlbnRMaXN0ZW5lcnMoZG9jdW1lbnQsIEVWRU5UX0RSQUdfRU5ELCBkcmFnRW5kTGlzdGVuZXIpO1xuICBhdHRyaWJ1dGVPYnNlcnZlci5vYnNlcnZlKHRoaXMsIHtcbiAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgIGF0dHJpYnV0ZUZpbHRlcjogT2JqZWN0LnZhbHVlcyhBdHRyaWJ1dGUpLFxuICB9KTtcbiAgZHJhZ01vdmVIYW5kbGVyKGxhc3RNb3ZlUG9pbnQpO1xufVxuXG4vKipcbiAqIEFkZHMgYmFzaWMgZHJhZyBldmVudCBsaXN0ZW5lcnMgb2YgbWFnbmV0LlxuICovXG5mdW5jdGlvbiBhZGRCYXNpY0RyYWdMaXN0ZW5lcnMobWFnbmV0OiBNYWduZXQpOiB2b2lkIHtcbiAgYWRkRXZlbnRMaXN0ZW5lcnMobWFnbmV0LCBFVkVOVF9EUkFHX1NUQVJULCBzdGFydExpc3RlbmVyKTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIGJhc2ljIGRyYWcgZXZlbnQgbGlzdGVuZXJzIG9mIG1hZ25ldC5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQmFzaWNEcmFnTGlzdGVuZXJzKG1hZ25ldDogTWFnbmV0KTogdm9pZCB7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXJzKG1hZ25ldCwgRVZFTlRfRFJBR19TVEFSVCwgc3RhcnRMaXN0ZW5lcik7XG59XG5cbi8qKlxuICogQWRkcyBvciByZW1vdmVzIGRyYWcgZXZlbnQgbGlzdGVuZXJzIG9mIG1hZ25ldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRHJhZ0xpc3RlbmVycyhtYWduZXQ6IE1hZ25ldCk6IHZvaWQge1xuICBpZiAobWFnbmV0LmRpc2FibGVkIHx8IG1hZ25ldC51bm1vdmFibGUpIHtcbiAgICByZW1vdmVCYXNpY0RyYWdMaXN0ZW5lcnMobWFnbmV0KTtcbiAgfSBlbHNlIHtcbiAgICBhZGRCYXNpY0RyYWdMaXN0ZW5lcnMobWFnbmV0KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBzdGFydExpc3RlbmVyO1xuIiwiZW51bSBTdHlsZSB7XG4gIG9mZnNldFggPSAnLS1vZmZzZXQteCcsXG4gIG9mZnNldFkgPSAnLS1vZmZzZXQteScsXG59XG5cbmV4cG9ydCBkZWZhdWx0IFN0eWxlO1xuIiwiaW1wb3J0IE1hZ25ldFBhY2sgZnJvbSAnLi9jb3JlJztcbmltcG9ydCBkaXN0YW5jZVRvIGZyb20gJy4vbWV0aG9kcy9kaXN0YW5jZVRvJztcbmltcG9ydCByYXdEaXN0YW5jZVRvIGZyb20gJy4vbWV0aG9kcy9yYXdEaXN0YW5jZVRvJztcbmltcG9ydCBtdWx0aUF0dHJhY3Rpb25zVG8sIHsgTXVsdGlBdHRyYWN0aW9uc1RvT3B0aW9ucyB9IGZyb20gJy4vbWV0aG9kcy9tdWx0aUF0dHJhY3Rpb25zVG8nO1xuaW1wb3J0IHNpbmdsZUF0dHJhY3Rpb25UbywgeyBTaW5nbGVBdHRyYWN0aW9uVG9PcHRpb25zIH0gZnJvbSAnLi9tZXRob2RzL3NpbmdsZUF0dHJhY3Rpb25Ubyc7XG5pbXBvcnQganVkZ2VBdHRyYWN0aW9uIGZyb20gJy4vbWV0aG9kcy9qdWRnZUF0dHJhY3Rpb24nO1xuaW1wb3J0IGp1ZGdlRGlzdGFuY2UgZnJvbSAnLi9tZXRob2RzL2p1ZGdlRGlzdGFuY2UnO1xuaW1wb3J0IGp1ZGdlRGlzdGFuY2VJblBhcmVudCBmcm9tICcuL21ldGhvZHMvanVkZ2VEaXN0YW5jZUluUGFyZW50JztcbmltcG9ydCBqdWRnZU1vdmVtZW50IGZyb20gJy4vbWV0aG9kcy9qdWRnZU1vdmVtZW50JztcbmltcG9ydCB7IEF0dHJhY3Rpb25CZXN0IH0gZnJvbSAnLi90eXBlcy9BdHRyYWN0aW9uJztcbmltcG9ydCBQYWNrLCB7IGdldFBhY2ssIFJlY3RhYmxlIH0gZnJvbSAnLi90eXBlcy9QYWNrJztcbmltcG9ydCBjcmVhdGVQb2ludCBmcm9tICcuL3R5cGVzL1BvaW50JztcbmltcG9ydCBjcmVhdGVSZWN0LCB7IGdldFJlY3QgfSBmcm9tICcuL3R5cGVzL1JlY3QnO1xuaW1wb3J0IHsgY2hlY2tEcmFnTGlzdGVuZXJzIH0gZnJvbSAnLi91dGlscy9kcmFnTGlzdGVuZXInO1xuaW1wb3J0IHJlZ2lzdGVyRWxlbWVudCBmcm9tICcuL3V0aWxzL3JlZ2lzdGVyRWxlbWVudCc7XG5pbXBvcnQgQWxpZ25tZW50IGZyb20gJy4vdmFsdWVzL2FsaWdubWVudCc7XG5pbXBvcnQgQXR0cmlidXRlIGZyb20gJy4vdmFsdWVzL2F0dHJpYnV0ZSc7XG5pbXBvcnQgT2Zmc2V0VW5pdCBmcm9tICcuL3ZhbHVlcy9vZmZzZXRVbml0JztcbmltcG9ydCBTdHlsZSBmcm9tICcuL3ZhbHVlcy9zdHlsZSc7XG5pbXBvcnQgeyBBbGlnblRvUGFyZW50IH0gZnJvbSAnLi92YWx1ZXMvYWxpZ25Ubyc7XG5pbXBvcnQgYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24sIHsgQXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb25PcHRpb25zIH0gZnJvbSAnLi9tZXRob2RzL2F0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uJztcblxuY29uc3Qgbm9kZU5hbWUgPSAnbWFnbmV0LWJsb2NrJztcbmNvbnN0IHRlbXBsYXRlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGVtcGxhdGUnKTtcblxudGVtcGxhdGUuaW5uZXJIVE1MID0gYFxuICA8c3R5bGU+XG4gICAgOmhvc3Qge1xuICAgICAgLS14OiB2YXIoJHtTdHlsZS5vZmZzZXRYfSwgMCk7XG4gICAgICAtLXk6IHZhcigke1N0eWxlLm9mZnNldFl9LCAwKTtcblxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0teCksIHZhcigtLXkpKTtcbiAgICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIDwvc3R5bGU+XG4gIDxzbG90PlxuICA8L3Nsb3Q+XG5gO1xuXG5jbGFzcyBNYWduZXQgZXh0ZW5kcyBNYWduZXRQYWNrIHtcbiAgcHJvdGVjdGVkIHJlY3RDYWNoZTogRE9NUmVjdCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBwYXJlbnRQYWNrQ2FjaGU6IFBhY2sgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgdGFyZ2V0TWFnbmV0UGFja3NDYWNoZTogUGFja1tdIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJvdGVjdGVkIGlzTW92aW5nOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGxhc3RPZmZzZXQ6IERPTVBvaW50ID0gY3JlYXRlUG9pbnQoMCwgMCk7XG5cbiAgcHJvdGVjdGVkIGxhc3RBdHRyYWN0aW9uQmVzdDogQXR0cmFjdGlvbkJlc3QgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgKHRoaXMuc2hhZG93Um9vdCBhcyBTaGFkb3dSb290KS5hcHBlbmQodGVtcGxhdGUuY29udGVudC5jbG9uZU5vZGUodHJ1ZSkpO1xuICAgIGNoZWNrRHJhZ0xpc3RlbmVycyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgbWFnbmV0IGlzIGRpc2FibGVkLlxuICAgKi9cbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdXBlci5kaXNhYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGRpc2FibGVkIG9mIG1hZ25ldC5cbiAgICovXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZDogYm9vbGVhbikge1xuICAgIHN1cGVyLmRpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgY2hlY2tEcmFnTGlzdGVuZXJzKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgbWFnbmV0IGlzIHVuYWJsZSB0byBiZSBkcmFnZ2VkLlxuICAgKi9cbiAgZ2V0IHVubW92YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIudW5tb3ZhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdW5tb3ZhYmxlIG9mIG1hZ25ldC5cbiAgICovXG4gIHNldCB1bm1vdmFibGUodW5tb3ZhYmxlOiBib29sZWFuKSB7XG4gICAgc3VwZXIudW5tb3ZhYmxlID0gdW5tb3ZhYmxlO1xuICAgIGNoZWNrRHJhZ0xpc3RlbmVycyh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHJlY3Qgb2JqZWN0IG9mIHRoaXMgbWFnbmV0LlxuICAgKi9cbiAgZ2V0IG1hZ25ldFJlY3QoKTogRE9NUmVjdCB7XG4gICAgaWYgKCF0aGlzLnJlY3RDYWNoZSkge1xuICAgICAgdGhpcy5yZWN0Q2FjaGUgPSBnZXRSZWN0KHRoaXMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlY3RDYWNoZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHJlY3Qgb2JqZWN0IG9mIHRoaXMgbWFnbmV0LlxuICAgKi9cbiAgcmVzZXRNYWduZXRSZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc01vdmluZykge1xuICAgICAgdGhpcy5yZWN0Q2FjaGUgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHBhY2sgb2JqZWN0IG9mIHBhcmVudCBpZiBleGlzdGluZy5cbiAgICovXG4gIGdldCBwYXJlbnRQYWNrKCk6IFBhY2sge1xuICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucGFyZW50RWxlbWVudCA/PyBkb2N1bWVudC5ib2R5O1xuXG4gICAgaWYgKCF0aGlzLnBhcmVudFBhY2tDYWNoZSkge1xuICAgICAgdGhpcy5wYXJlbnRQYWNrQ2FjaGUgPSBnZXRQYWNrKHBhcmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyZW50UGFja0NhY2hlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgcGFjayBvYmplY3Qgb2YgdGhlIHBhcmVudCBvZiBtYWduZXQuXG4gICAqL1xuICByZXNldFBhcmVudFBhY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTW92aW5nKSB7XG4gICAgICB0aGlzLnBhcmVudFBhY2tDYWNoZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcGFjayBvYmplY3RzIG9mIHRhcmdldCBtYWduZXRzLlxuICAgKi9cbiAgZ2V0IHRhcmdldE1hZ25ldFBhY2tzKCk6IFBhY2tbXSB7XG4gICAgaWYgKCF0aGlzLnRhcmdldE1hZ25ldFBhY2tzQ2FjaGUpIHtcbiAgICAgIHRoaXMudGFyZ2V0TWFnbmV0UGFja3NDYWNoZSA9IHRoaXMuZ2V0QXR0cmFjdGFibGVNYWduZXRzKClcbiAgICAgICAgLm1hcCgodGFyZ2V0KSA9PiBnZXRQYWNrKHRhcmdldCkpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnRhcmdldE1hZ25ldFBhY2tzQ2FjaGU7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBwYWNrIG9iamVjdHMgb2YgdGFyZ2V0IG1hZ25ldHMuXG4gICAqL1xuICByZXNldFRhcmdldE1hZ25ldFBhY2tzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc01vdmluZykge1xuICAgICAgdGhpcy50YXJnZXRNYWduZXRQYWNrc0NhY2hlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBvdGhlciBtYWduZXQgZWxlbWVudHMuXG4gICAqL1xuICBnZXRPdGhlck1hZ25ldHMoKTogTWFnbmV0W10ge1xuICAgIHJldHVybiAoQXJyYXkuZnJvbShkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKG5vZGVOYW1lKSkgYXMgTWFnbmV0W10pXG4gICAgICAuZmlsdGVyKChtYWduZXQpID0+IG1hZ25ldCAhPT0gdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBhdHRyYWN0YWJsZSBtYWduZXQgZWxlbWVudHMuXG4gICAqL1xuICBnZXRBdHRyYWN0YWJsZU1hZ25ldHMoKTogTWFnbmV0W10ge1xuICAgIGlmICh0aGlzLmRpc2FibGVkIHx8IHRoaXMudW5hdHRyYWN0YWJsZSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZ3JvdXAgfSA9IHRoaXM7XG4gICAgY29uc3QgaGFzR3JvdXAgPSBncm91cCAhPT0gbnVsbDtcbiAgICBjb25zdCBub25EaXNhYmxlZFNlbGVjdG9yID0gYDpub3QoWyR7QXR0cmlidXRlLmRpc2FibGVkfV0pYDtcbiAgICBjb25zdCBub25VbmF0dHJhY3RhYmxlU2VsZWN0b3IgPSBgOm5vdChbJHtBdHRyaWJ1dGUudW5hdHRyYWN0YWJsZX1dKWA7XG4gICAgY29uc3Qgc2VsZWN0b3IgPSBgJHtub2RlTmFtZX0ke25vbkRpc2FibGVkU2VsZWN0b3J9JHtub25VbmF0dHJhY3RhYmxlU2VsZWN0b3J9YDtcbiAgICBjb25zdCBtYWduZXRzID0gKEFycmF5LmZyb20oZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcikpIGFzIE1hZ25ldFtdKVxuICAgICAgLmZpbHRlcigobWFnbmV0KSA9PiAoXG4gICAgICAgIG1hZ25ldCAhPT0gdGhpc1xuICAgICAgICAmJiAhdGhpcy5jb250YWlucyhtYWduZXQpXG4gICAgICAgICYmIChoYXNHcm91cCA/IGdyb3VwID09PSBtYWduZXQuZ3JvdXAgOiB0cnVlKVxuICAgICAgKSk7XG5cbiAgICByZXR1cm4gbWFnbmV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGRpc3RhbmNlIHBhc3NlcyB0aGUganVkZ2VtZW50LiBPdGhlcndpc2UgdGhlXG4gICAqIGRpc3RhbmNlIHdvdWxkIG5vdCBiZSBsaXN0ZWQgb24gdGhlIGF0dHJhY3Rpb24gcmVzdWx0LlxuICAgKi9cbiAganVkZ2VNYWduZXREaXN0YW5jZSguLi5bXG4gICAgZGlzdGFuY2UsXG4gICAgb3B0aW9ucyA9IHt9LFxuICBdOiBQYXJhbWV0ZXJzPHR5cGVvZiBqdWRnZURpc3RhbmNlPikge1xuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJhY3REaXN0YW5jZSA9IHRoaXMuYXR0cmFjdERpc3RhbmNlLFxuICAgICAgYWxpZ25Ub3MgPSB0aGlzLmFsaWduVG9zLFxuICAgIH0gPSBvcHRpb25zO1xuXG4gICAgcmV0dXJuIGp1ZGdlRGlzdGFuY2UoZGlzdGFuY2UsIHtcbiAgICAgIGF0dHJhY3REaXN0YW5jZSxcbiAgICAgIGFsaWduVG9zLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzYW1lIGFzIC5qdWRnZU1hZ25ldERpc2FuY2UgYnV0IGNvbnNpZGVyIGEgd3JhcHBlciBlbGVtZW50LlxuICAgKi9cbiAganVkZ2VNYWduZXREaXN0YW5jZUluUGFyZW50KC4uLltcbiAgICBkaXN0YW5jZSxcbiAgICBvcHRpb25zID0ge30sXG4gIF06IFBhcmFtZXRlcnM8dHlwZW9mIGp1ZGdlRGlzdGFuY2VJblBhcmVudD4pIHtcbiAgICBjb25zdCB7XG4gICAgICBhdHRyYWN0RGlzdGFuY2UgPSB0aGlzLmF0dHJhY3REaXN0YW5jZSxcbiAgICAgIGFsaWduVG9zID0gdGhpcy5hbGlnblRvcyxcbiAgICAgIG9uSnVkZ2VEaXN0YW5jZSA9IHRoaXMuanVkZ2VNYWduZXREaXN0YW5jZSxcbiAgICB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBwYXJlbnQgPSBvcHRpb25zLnBhcmVudCA/PyB0aGlzLnBhcmVudFBhY2s7XG5cbiAgICByZXR1cm4ganVkZ2VEaXN0YW5jZUluUGFyZW50KGRpc3RhbmNlLCB7XG4gICAgICBhdHRyYWN0RGlzdGFuY2UsXG4gICAgICBhbGlnblRvcyxcbiAgICAgIHBhcmVudCxcbiAgICAgIG9uSnVkZ2VEaXN0YW5jZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGF0dHJhY3Rpb24gcGFzc2VzIHRoZSBqdWRnZW1lbnQuIE90aGVyd2lzZSB0aGVcbiAgICogZGlzdGFuY2UgcmVzdWx0cyBvZiBhdHRyYWN0aW9uIHdvdWxkIG5vdCBiZSBsaXN0ZWQgb24gdGhlIHJlc3VsdCBvZlxuICAgKiBhdHRyYWN0aW9ucy5cbiAgICovXG4gIGp1ZGdlTWFnbmV0QXR0cmFjdGlvbiA9IGp1ZGdlQXR0cmFjdGlvblxuXG4gIC8qKlxuICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgb2Zmc2V0IG9mIHBhY2sgcGFzc2VzIHRoZSBqdWRnZW1lbnQuIE90aGVyd2lzZVxuICAqIHRoZSBtYWduZXQgd291bGQgbm90IGJlIGFwcGxpZWQgdGhlIG1vdmVtZW50LlxuICAqL1xuICBqdWRnZU1hZ25ldE1vdmVtZW50ID0ganVkZ2VNb3ZlbWVudFxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRpc3RhbmNlIHZhbHVlIHRvIHRhcmdldCBvbiBzcGVjaWZpYyBhbGlnbm1lbnQuXG4gICAqL1xuICByYXdEaXN0YW5jZVRvKFxuICAgIHRhcmdldDogUmVjdGFibGUgfCBQYWNrLFxuICAgIGFsaWdubWVudDogQWxpZ25tZW50LFxuICApIHtcbiAgICBjb25zdCBzb3VyY2VSZWN0ID0gZ2V0UmVjdCh0aGlzKTtcbiAgICBjb25zdCB0YXJnZXRSZWN0ID0gZ2V0UmVjdCh0YXJnZXQpO1xuXG4gICAgcmV0dXJuIHJhd0Rpc3RhbmNlVG8oc291cmNlUmVjdCwgdGFyZ2V0UmVjdCwgYWxpZ25tZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRpc3RhbmNlIG9iamVjdCB0byB0YXJnZXQgb24gYWxpZ25tZW50LlxuICAgKi9cbiAgZGlzdGFuY2VUbyhcbiAgICB0YXJnZXQ6IFJlY3RhYmxlIHwgUGFjayxcbiAgICBhbGlnbm1lbnQ6IEFsaWdubWVudCxcbiAgKSB7XG4gICAgcmV0dXJuIGRpc3RhbmNlVG8odGhpcywgdGFyZ2V0LCBhbGlnbm1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcmVzdWx0IG9mIGF0dHJhY3Rpb25zIHRvIHRhcmdldCBvbiBhbGlnbm1lbnRzLlxuICAgKi9cbiAgYXR0cmFjdGlvblRvKFxuICAgIHRhcmdldDogUmVjdGFibGUgfCBQYWNrLFxuICAgIG9wdGlvbnM6IFNpbmdsZUF0dHJhY3Rpb25Ub09wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXR0cmFjdERpc3RhbmNlID0gdGhpcy5hdHRyYWN0RGlzdGFuY2UsXG4gICAgICBhbGlnblRvcyA9IHRoaXMuYWxpZ25Ub3MsXG4gICAgICBhbGlnbm1lbnRzLFxuICAgICAgb25KdWRnZURpc3RhbmNlID0gdGhpcy5qdWRnZU1hZ25ldERpc3RhbmNlLFxuICAgIH0gPSBvcHRpb25zO1xuXG4gICAgcmV0dXJuIHNpbmdsZUF0dHJhY3Rpb25UbyhcbiAgICAgIHRoaXMsXG4gICAgICB0YXJnZXQsXG4gICAgICB7XG4gICAgICAgIGF0dHJhY3REaXN0YW5jZSxcbiAgICAgICAgYWxpZ25Ub3MsXG4gICAgICAgIGFsaWdubWVudHMsXG4gICAgICAgIG9uSnVkZ2VEaXN0YW5jZSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHJlc3VsdCBvZiBhdHRyYWN0aW9ucyB0byBwYXJlbnQgb24gYWxpZ25tZW50cy5cbiAgICovXG4gIGF0dHJhY3Rpb25Ub1BhcmVudChcbiAgICBvcHRpb25zOiBTaW5nbGVBdHRyYWN0aW9uVG9PcHRpb25zID0ge30sXG4gICkge1xuICAgIGNvbnN0IHtcbiAgICAgIGF0dHJhY3REaXN0YW5jZSA9IHRoaXMuYXR0cmFjdERpc3RhbmNlLFxuICAgICAgYWxpZ25Ub3MgPSB0aGlzLmFsaWduVG9QYXJlbnRzLFxuICAgICAgYWxpZ25tZW50cyxcbiAgICAgIG9uSnVkZ2VEaXN0YW5jZSA9IHRoaXMuanVkZ2VNYWduZXREaXN0YW5jZSxcbiAgICB9ID0gb3B0aW9ucztcblxuICAgIHJldHVybiBzaW5nbGVBdHRyYWN0aW9uVG8oXG4gICAgICB0aGlzLFxuICAgICAgdGhpcy5wYXJlbnRQYWNrLFxuICAgICAge1xuICAgICAgICBhdHRyYWN0RGlzdGFuY2UsXG4gICAgICAgIGFsaWduVG9zLFxuICAgICAgICBhbGlnbm1lbnRzLFxuICAgICAgICBvbkp1ZGdlRGlzdGFuY2UsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyByZXN1bHQgb2YgYXR0cmFjdGlvbnMgZnJvbSBzb3VyY2UgdG8gdGFyZ2V0cyBvbiBhbGlnbm1lbnRzLlxuICAgKi9cbiAgbXVsdGlBdHRyYWN0aW9uc1RvKFxuICAgIHRhcmdldHM6IChSZWN0YWJsZSB8IFBhY2spW10sXG4gICAgb3B0aW9uczogTXVsdGlBdHRyYWN0aW9uc1RvT3B0aW9ucyAmIHtcbiAgICAgIGFsaWduVG9QYXJlbnRzPzogQWxpZ25Ub1BhcmVudFtdO1xuICAgIH0gPSB7fSxcbiAgKSB7XG4gICAgY29uc3Qge1xuICAgICAgYXR0cmFjdERpc3RhbmNlID0gdGhpcy5hdHRyYWN0RGlzdGFuY2UsXG4gICAgICBhbGlnblRvcyA9IHRoaXMuYWxpZ25Ub3MsXG4gICAgICBhbGlnblRvUGFyZW50cyA9IHRoaXMuYWxpZ25Ub1BhcmVudHMsXG4gICAgICBhbGlnbm1lbnRzLFxuICAgICAgb25KdWRnZURpc3RhbmNlID0gdGhpcy5qdWRnZU1hZ25ldERpc3RhbmNlLFxuICAgICAgYXR0cmFjdGlvbkJlc3QsXG4gICAgICBvbkp1ZGdlQXR0cmFjdGlvbiA9IHRoaXMuanVkZ2VNYWduZXRBdHRyYWN0aW9uLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHBhcmVudEF0dHJhY3Rpb24gPSBNYWduZXQucHJvdG90eXBlLmF0dHJhY3Rpb25Ub1BhcmVudC5jYWxsKFxuICAgICAgdGhpcyxcbiAgICAgIHtcbiAgICAgICAgYXR0cmFjdERpc3RhbmNlLFxuICAgICAgICBhbGlnblRvczogYWxpZ25Ub1BhcmVudHMsXG4gICAgICAgIGFsaWdubWVudHMsXG4gICAgICAgIG9uSnVkZ2VEaXN0YW5jZSxcbiAgICAgICAgYXR0cmFjdGlvbkJlc3QsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICByZXR1cm4gbXVsdGlBdHRyYWN0aW9uc1RvKFxuICAgICAgdGhpcyxcbiAgICAgIHRhcmdldHMsXG4gICAgICB7XG4gICAgICAgIGF0dHJhY3REaXN0YW5jZSxcbiAgICAgICAgYWxpZ25Ub3MsXG4gICAgICAgIGFsaWdubWVudHMsXG4gICAgICAgIG9uSnVkZ2VEaXN0YW5jZSxcbiAgICAgICAgb25KdWRnZUF0dHJhY3Rpb24sXG4gICAgICAgIGF0dHJhY3Rpb25CZXN0OiBwYXJlbnRBdHRyYWN0aW9uPy5iZXN0LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZmluYWwgYXZhaWxhYmxlIHBvc2l0aW9uIGFuZCBhdHRyYWN0aW9uIG9uIHNwZWNpZmljIHBvc2l0aW9uLlxuICAgKi9cbiAgZ2V0TWFnbmV0QXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24oXG4gICAgcG9zaXRpb246IERPTVBvaW50LFxuICAgIG9wdGlvbnM/OiBBdHRyYWN0aW9uUmVzdWx0T2ZQb3NpdGlvbk9wdGlvbnMsXG4gICk6IFJldHVyblR5cGU8dHlwZW9mIGF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uPlxuXG4gIGdldE1hZ25ldEF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uKFxuICAgIHg6IG51bWJlcixcbiAgICB5OiBudW1iZXIsXG4gICAgb3B0aW9ucz86IEF0dHJhY3Rpb25SZXN1bHRPZlBvc2l0aW9uT3B0aW9ucyxcbiAgKTogUmV0dXJuVHlwZTx0eXBlb2YgYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24+XG5cbiAgZ2V0TWFnbmV0QXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb248QTAgZXh0ZW5kcyBET01Qb2ludCB8IG51bWJlcj4oXG4gICAgYXJnMDogQTAsXG4gICAgYXJnMT86IEEwIGV4dGVuZHMgRE9NUG9pbnQgPyBBdHRyYWN0aW9uUmVzdWx0T2ZQb3NpdGlvbk9wdGlvbnMgOiBudW1iZXIsXG4gICAgYXJnMj86IEEwIGV4dGVuZHMgRE9NUG9pbnQgPyB1bmRlZmluZWQgOiBBdHRyYWN0aW9uUmVzdWx0T2ZQb3NpdGlvbk9wdGlvbnMsXG4gICkge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gY3JlYXRlUG9pbnQoYXJnMCBhcyBudW1iZXIsIGFyZzEgYXMgbnVtYmVyKTtcbiAgICBjb25zdCBvcHRpb25zID0gKFxuICAgICAgKGFyZzAgaW5zdGFuY2VvZiBET01Qb2ludCA/IGFyZzEgOiBhcmcyKSA/PyB7fVxuICAgICkgYXMgQXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb25PcHRpb25zO1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5tYWduZXRSZWN0O1xuICAgIGNvbnN0IHNvdXJjZVJlY3QgPSBjcmVhdGVSZWN0KFxuICAgICAgcG9zaXRpb24ueCxcbiAgICAgIHBvc2l0aW9uLnksXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICApO1xuICAgIGNvbnN0IHNvdXJjZVBhY2sgPSBuZXcgUGFjayh0aGlzLCBzb3VyY2VSZWN0KTtcbiAgICBjb25zdCB7XG4gICAgICBpZ25vcmVFdmVudCxcbiAgICAgIHVuYXR0cmFjdGFibGUgPSB0aGlzLnVuYXR0cmFjdGFibGUsXG4gICAgICBhdHRyYWN0RGlzdGFuY2UgPSB0aGlzLmF0dHJhY3REaXN0YW5jZSxcbiAgICAgIGFsaWduVG9zID0gdGhpcy5hbGlnblRvcyxcbiAgICAgIGFsaWdubWVudHMsXG4gICAgICBhbGlnblRvUGFyZW50cyA9IHRoaXMuYWxpZ25Ub1BhcmVudHMsXG4gICAgICBjcm9zc1ByZXZlbnRzID0gdGhpcy5jcm9zc1ByZXZlbnRzLFxuICAgICAgcGFyZW50UGFjayA9IHRoaXMucGFyZW50UGFjayxcbiAgICAgIGxhc3RBdHRyYWN0aW9uQmVzdCA9IHRoaXMubGFzdEF0dHJhY3Rpb25CZXN0LFxuICAgICAgb25KdWRnZURpc3RhbmNlID0gdGhpcy5qdWRnZU1hZ25ldERpc3RhbmNlLFxuICAgICAgb25KdWRnZURpc3RhbmNlSW5QYXJlbnQgPSB0aGlzLmp1ZGdlTWFnbmV0RGlzdGFuY2VJblBhcmVudCxcbiAgICAgIG9uSnVkZ2VBdHRyYWN0aW9uID0gdGhpcy5qdWRnZU1hZ25ldEF0dHJhY3Rpb24sXG4gICAgICBvbkp1ZGdlTW92ZW1lbnQgPSB0aGlzLmp1ZGdlTWFnbmV0TW92ZW1lbnQsXG4gICAgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgcmVzdWx0ID0gYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24oXG4gICAgICBzb3VyY2VQYWNrLFxuICAgICAgdGhpcy50YXJnZXRNYWduZXRQYWNrcyxcbiAgICAgIHtcbiAgICAgICAgaWdub3JlRXZlbnQsXG4gICAgICAgIHVuYXR0cmFjdGFibGUsXG4gICAgICAgIGF0dHJhY3REaXN0YW5jZSxcbiAgICAgICAgYWxpZ25Ub3MsXG4gICAgICAgIGFsaWdubWVudHMsXG4gICAgICAgIGFsaWduVG9QYXJlbnRzLFxuICAgICAgICBjcm9zc1ByZXZlbnRzLFxuICAgICAgICBwYXJlbnRQYWNrLFxuICAgICAgICBsYXN0QXR0cmFjdGlvbkJlc3QsXG4gICAgICAgIG9uSnVkZ2VEaXN0YW5jZSxcbiAgICAgICAgb25KdWRnZURpc3RhbmNlSW5QYXJlbnQsXG4gICAgICAgIG9uSnVkZ2VBdHRyYWN0aW9uLFxuICAgICAgICBvbkp1ZGdlTW92ZW1lbnQsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICB0aGlzLnJlc2V0TWFnbmV0UmVjdCgpO1xuICAgIHRoaXMucmVzZXRQYXJlbnRQYWNrKCk7XG4gICAgdGhpcy5yZXNldFRhcmdldE1hZ25ldFBhY2tzKCk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBwb2ludCBvYmplY3Qgb2YgbWFnbmV0IG9mZnNldC5cbiAgICovXG4gIGdldCBsYXN0TWFnbmV0T2Zmc2V0KCk6IERPTVBvaW50IHtcbiAgICBjb25zdCB7IG9mZnNldFVuaXQsIGxhc3RPZmZzZXQgfSA9IHRoaXM7XG5cbiAgICBzd2l0Y2ggKG9mZnNldFVuaXQpIHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICBjYXNlIE9mZnNldFVuaXQucGl4ZWw6XG4gICAgICAgIHJldHVybiBjcmVhdGVQb2ludChsYXN0T2Zmc2V0KTtcblxuICAgICAgY2FzZSBPZmZzZXRVbml0LnBlcmNlbnRhZ2U6IHtcbiAgICAgICAgY29uc3QgeyBvZmZzZXRQYXJlbnQgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSBjcmVhdGVSZWN0KG9mZnNldFBhcmVudCA/PyBkb2N1bWVudCk7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGNyZWF0ZVBvaW50KFxuICAgICAgICAgIGxhc3RPZmZzZXQueCAvIHBhcmVudFJlY3Qud2lkdGgsXG4gICAgICAgICAgbGFzdE9mZnNldC55IC8gcGFyZW50UmVjdC5oZWlnaHQsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG9mZnNldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBvZmZzZXQgb2YgbWFnbmV0IG1vdmVtZW50LlxuICAgKi9cbiAgcmVzZXRNYWduZXRPZmZzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdHlsZS5yZW1vdmVQcm9wZXJ0eShTdHlsZS5vZmZzZXRYKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KFN0eWxlLm9mZnNldFkpO1xuICAgIHRoaXMubGFzdE9mZnNldCA9IGNyZWF0ZVBvaW50KDAsIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIE9mZnNldHMgbWFnbmV0IG1vdmVtZW50IHdpdGggKGR4LCBkeSkuXG4gICAqL1xuICBzZXRNYWduZXRPZmZzZXQoZHg6IG51bWJlciwgZHk6IG51bWJlcik6IHZvaWRcblxuICBzZXRNYWduZXRPZmZzZXQob2Zmc2V0PzogRE9NUG9pbnQpOiB2b2lkXG5cbiAgc2V0TWFnbmV0T2Zmc2V0PERYIGV4dGVuZHMgRE9NUG9pbnQgfCBudW1iZXI+KFxuICAgIGR4OiBEWCA9IHRoaXMubGFzdE9mZnNldCBhcyBEWCxcbiAgICBkeT86IERYIGV4dGVuZHMgRE9NUG9pbnQgPyB1bmRlZmluZWQgOiBudW1iZXIsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IG9mZnNldCA9IGNyZWF0ZVBvaW50KGR4IGFzIG51bWJlciwgZHkgYXMgbnVtYmVyKTtcbiAgICBjb25zdCB7IG9mZnNldFVuaXQgfSA9IHRoaXM7XG5cbiAgICBzd2l0Y2ggKG9mZnNldFVuaXQpIHtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICBjYXNlIE9mZnNldFVuaXQucGl4ZWw6XG4gICAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoU3R5bGUub2Zmc2V0WCwgYCR7b2Zmc2V0Lnh9cHhgKTtcbiAgICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eShTdHlsZS5vZmZzZXRZLCBgJHtvZmZzZXQueX1weGApO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBPZmZzZXRVbml0LnBlcmNlbnRhZ2U6IHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5vZmZzZXRQYXJlbnQgPz8gZG9jdW1lbnQuYm9keTtcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gZ2xvYmFsVGhpcy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCk7XG4gICAgICAgIGNvbnN0IHsgYm94U2l6aW5nLCB3aWR0aCwgaGVpZ2h0IH0gPSBzdHlsZXM7XG4gICAgICAgIGxldCBmaW5hbFdpZHRoID0gcGFyc2VGbG9hdCh3aWR0aCk7XG4gICAgICAgIGxldCBmaW5hbEhlaWdodCA9IHBhcnNlRmxvYXQoaGVpZ2h0KTtcblxuICAgICAgICBpZiAoYm94U2l6aW5nID09PSAnYm9yZGVyLWJveCcpIHtcbiAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBwYWRkaW5nVG9wLCBwYWRkaW5nUmlnaHQsIHBhZGRpbmdCb3R0b20sIHBhZGRpbmdMZWZ0LFxuICAgICAgICAgICAgYm9yZGVyVG9wV2lkdGgsIGJvcmRlclJpZ2h0V2lkdGgsIGJvcmRlckJvdHRvbVdpZHRoLCBib3JkZXJMZWZ0V2lkdGgsXG4gICAgICAgICAgfSA9IHN0eWxlcztcbiAgICAgICAgICBjb25zdCB0b3AgPSBwYXJzZUZsb2F0KHBhZGRpbmdUb3ApO1xuICAgICAgICAgIGNvbnN0IHJpZ2h0ID0gcGFyc2VGbG9hdChwYWRkaW5nUmlnaHQpO1xuICAgICAgICAgIGNvbnN0IGJvdHRvbSA9IHBhcnNlRmxvYXQocGFkZGluZ0JvdHRvbSk7XG4gICAgICAgICAgY29uc3QgbGVmdCA9IHBhcnNlRmxvYXQocGFkZGluZ0xlZnQpO1xuICAgICAgICAgIGNvbnN0IGJvcmRlclRvcCA9IHBhcnNlRmxvYXQoYm9yZGVyVG9wV2lkdGgpO1xuICAgICAgICAgIGNvbnN0IGJvcmRlclJpZ2h0ID0gcGFyc2VGbG9hdChib3JkZXJSaWdodFdpZHRoKTtcbiAgICAgICAgICBjb25zdCBib3JkZXJCb3R0b20gPSBwYXJzZUZsb2F0KGJvcmRlckJvdHRvbVdpZHRoKTtcbiAgICAgICAgICBjb25zdCBib3JkZXJMZWZ0ID0gcGFyc2VGbG9hdChib3JkZXJMZWZ0V2lkdGgpO1xuXG4gICAgICAgICAgZmluYWxXaWR0aCAtPSByaWdodCArIGxlZnQgKyBib3JkZXJSaWdodCArIGJvcmRlckxlZnQ7XG4gICAgICAgICAgZmluYWxIZWlnaHQgLT0gdG9wICsgYm90dG9tICsgYm9yZGVyVG9wICsgYm9yZGVyQm90dG9tO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVsYXRpdmVPZmZzZXQgPSBjcmVhdGVQb2ludChcbiAgICAgICAgICBvZmZzZXQueCAvIGZpbmFsV2lkdGgsXG4gICAgICAgICAgb2Zmc2V0LnkgLyBmaW5hbEhlaWdodCxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KFN0eWxlLm9mZnNldFgsIGAkezEwMCAqIHJlbGF0aXZlT2Zmc2V0Lnh9JWApO1xuICAgICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KFN0eWxlLm9mZnNldFksIGAkezEwMCAqIHJlbGF0aXZlT2Zmc2V0Lnl9JWApO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmxhc3RPZmZzZXQgPSBjcmVhdGVQb2ludChvZmZzZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIG1hZ25ldCBtb3ZlbWVudCB0byAoeCwgeSkuXG4gICAqL1xuICBzZXRNYWduZXRQb3NpdGlvbih4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWRcblxuICBzZXRNYWduZXRQb3NpdGlvbihwb3NpdGlvbj86IERPTVBvaW50KTogdm9pZFxuXG4gIHNldE1hZ25ldFBvc2l0aW9uPFggZXh0ZW5kcyBET01Qb2ludCB8IG51bWJlcj4oXG4gICAgeDogWCA9IGNyZWF0ZVBvaW50KHRoaXMubWFnbmV0UmVjdCkgYXMgWCxcbiAgICB5PzogWCBleHRlbmRzIERPTVBvaW50ID8gdW5kZWZpbmVkIDogbnVtYmVyLFxuICApIHtcbiAgICBjb25zdCBwb3NpdGlvbiA9IGNyZWF0ZVBvaW50KHggYXMgbnVtYmVyLCB5IGFzIG51bWJlcik7XG4gICAgY29uc3Qge1xuICAgICAgbGFzdE9mZnNldCxcbiAgICAgIG1hZ25ldFJlY3Q6IHNvdXJjZVJlY3QsXG4gICAgfSA9IHRoaXM7XG4gICAgY29uc3Qgb3JpZ2luID0gY3JlYXRlUG9pbnQoXG4gICAgICBzb3VyY2VSZWN0LnggLSBsYXN0T2Zmc2V0LngsXG4gICAgICBzb3VyY2VSZWN0LnkgLSBsYXN0T2Zmc2V0LnksXG4gICAgKTtcblxuICAgIHRoaXMuc2V0TWFnbmV0T2Zmc2V0KFxuICAgICAgcG9zaXRpb24ueCAtIG9yaWdpbi54LFxuICAgICAgcG9zaXRpb24ueSAtIG9yaWdpbi55LFxuICAgICk7XG4gICAgdGhpcy5yZXNldE1hZ25ldFJlY3QoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBiZXN0IGF0dHJhY3Rpb24gb2YgbGFzdCBtb3ZlLlxuICAgKi9cbiAgZ2V0IGJlc3RBdHRyYWN0aW9uKCk6IEF0dHJhY3Rpb25CZXN0IHtcbiAgICBjb25zdCB7IGxhc3RBdHRyYWN0aW9uQmVzdCB9ID0gdGhpcztcbiAgICBjb25zdCB4ID0gbGFzdEF0dHJhY3Rpb25CZXN0Py54O1xuICAgIGNvbnN0IHkgPSBsYXN0QXR0cmFjdGlvbkJlc3Q/Lnk7XG4gICAgY29uc3QgYXR0cmFjdGlvbkJlc3Q6IEF0dHJhY3Rpb25CZXN0ID0ge307XG5cbiAgICBpZiAoeCkge1xuICAgICAgY29uc3QgeyBzb3VyY2UsIHRhcmdldCB9ID0geDtcblxuICAgICAgYXR0cmFjdGlvbkJlc3QueCA9IHtcbiAgICAgICAgLi4ueCxcbiAgICAgICAgc291cmNlOiBuZXcgUGFjayhzb3VyY2UucmF3LCBjcmVhdGVSZWN0KHNvdXJjZS5yZWN0KSksXG4gICAgICAgIHRhcmdldDogbmV3IFBhY2sodGFyZ2V0LnJhdywgY3JlYXRlUmVjdCh0YXJnZXQucmVjdCkpLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0cmFjdGlvbkJlc3QueCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAoeSkge1xuICAgICAgY29uc3QgeyBzb3VyY2UsIHRhcmdldCB9ID0geTtcblxuICAgICAgYXR0cmFjdGlvbkJlc3QueSA9IHtcbiAgICAgICAgLi4ueSxcbiAgICAgICAgc291cmNlOiBuZXcgUGFjayhzb3VyY2UucmF3LCBjcmVhdGVSZWN0KHNvdXJjZS5yZWN0KSksXG4gICAgICAgIHRhcmdldDogbmV3IFBhY2sodGFyZ2V0LnJhdywgY3JlYXRlUmVjdCh0YXJnZXQucmVjdCkpLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0cmFjdGlvbkJlc3QueSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gYXR0cmFjdGlvbkJlc3Q7XG4gIH1cbn1cblxucmVnaXN0ZXJFbGVtZW50KE1hZ25ldCwgbm9kZU5hbWUpO1xuXG5leHBvcnQgZGVmYXVsdCBNYWduZXQ7XG4iLCJpbXBvcnQgeyBkZWZhdWx0QXR0cmlidXRlVmFsdWVzIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgRGlzdGFuY2UgZnJvbSAnLi4vdHlwZXMvRGlzdGFuY2UnO1xuaW1wb3J0IEFsaWdubWVudCBmcm9tICcuLi92YWx1ZXMvYWxpZ25tZW50JztcbmltcG9ydCBBbGlnblRvLCB7IEFsaWduVG9QYXJlbnQgfSBmcm9tICcuLi92YWx1ZXMvYWxpZ25Ubyc7XG5pbXBvcnQgQXR0cmlidXRlIGZyb20gJy4uL3ZhbHVlcy9hdHRyaWJ1dGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEp1ZGdlRGlzdGFuY2VPcHRpb25zIHtcbiAgYXR0cmFjdERpc3RhbmNlPzogbnVtYmVyO1xuICBhbGlnblRvcz86IChBbGlnblRvIHwgQWxpZ25Ub1BhcmVudClbXTtcbn1cblxuZXhwb3J0IHR5cGUgT25KdWRnZURpc3RhbmNlID0gKFxuICBkaXN0YW5jZTogRGlzdGFuY2UsXG4gIG9wdGlvbnM/OiBKdWRnZURpc3RhbmNlT3B0aW9ucyxcbikgPT4gYm9vbGVhbjtcblxuLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIGRpc3RhbmNlIHBhc3NlcyB0aGUganVkZ2VtZW50LiBPdGhlcndpc2UgdGhlXG4gKiBkaXN0YW5jZSB3b3VsZCBub3QgYmUgb24gdGhlIHJlc3VsdCBsaXN0IG9mIGF0dHJhY3Rpb24uXG4gKi9cbmNvbnN0IGp1ZGdlRGlzdGFuY2U6IE9uSnVkZ2VEaXN0YW5jZSA9IGZ1bmN0aW9uIGp1ZGdlRGlzdGFuY2UoXG4gIGRpc3RhbmNlLFxuICBvcHRpb25zID0ge30sXG4pOiBib29sZWFuIHtcbiAgY29uc3Qge1xuICAgIGF0dHJhY3REaXN0YW5jZSA9IGRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXNbQXR0cmlidXRlLmF0dHJhY3REaXN0YW5jZV0sXG4gIH0gPSBvcHRpb25zO1xuXG4gIGlmIChkaXN0YW5jZS5hYnNEaXN0YW5jZSA+IGF0dHJhY3REaXN0YW5jZSkge1xuICAgIC8vIHRvbyBmYXIsIG5vIGNvbnNpZGVyXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3Qge1xuICAgIGFsaWduVG9zID0gZGVmYXVsdEF0dHJpYnV0ZVZhbHVlc1tBdHRyaWJ1dGUuYWxpZ25Ub10sXG4gIH0gPSBvcHRpb25zO1xuXG4gIGlmIChhbGlnblRvcy5pbmNsdWRlcyhBbGlnblRvLmV4dGVuZCkpIHtcbiAgICAvLyBhbGlnbiB0byBleHRlbmRlZCBlZGdlc1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3Qge1xuICAgIHNvdXJjZToge1xuICAgICAgcmVjdDogc291cmNlUmVjdCxcbiAgICB9LFxuICAgIHRhcmdldDoge1xuICAgICAgcmVjdDogdGFyZ2V0UmVjdCxcbiAgICB9LFxuICB9ID0gZGlzdGFuY2U7XG5cbiAgLy8gb25seSBwYXNzIHdoZW4gc291cmNlIG92ZXJsYXBzIHRhcmdldFxuICBzd2l0Y2ggKGRpc3RhbmNlLmFsaWdubWVudCkge1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG5cbiAgICBjYXNlIEFsaWdubWVudC50b3BUb1RvcDpcbiAgICBjYXNlIEFsaWdubWVudC50b3BUb0JvdHRvbTpcbiAgICBjYXNlIEFsaWdubWVudC5ib3R0b21Ub1RvcDpcbiAgICBjYXNlIEFsaWdubWVudC5ib3R0b21Ub0JvdHRvbTpcbiAgICBjYXNlIEFsaWdubWVudC55Q2VudGVyVG9ZQ2VudGVyOlxuICAgICAgaWYgKFxuICAgICAgICAoc291cmNlUmVjdC5yaWdodCArIGF0dHJhY3REaXN0YW5jZSkgPCB0YXJnZXRSZWN0LmxlZnRcbiAgICAgICAgfHwgKHNvdXJjZVJlY3QubGVmdCAtIGF0dHJhY3REaXN0YW5jZSkgPiB0YXJnZXRSZWN0LnJpZ2h0XG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGNhc2UgQWxpZ25tZW50LnJpZ2h0VG9SaWdodDpcbiAgICBjYXNlIEFsaWdubWVudC5yaWdodFRvTGVmdDpcbiAgICBjYXNlIEFsaWdubWVudC5sZWZ0VG9SaWdodDpcbiAgICBjYXNlIEFsaWdubWVudC5sZWZ0VG9MZWZ0OlxuICAgIGNhc2UgQWxpZ25tZW50LnhDZW50ZXJUb1hDZW50ZXI6XG4gICAgICBpZiAoXG4gICAgICAgIChzb3VyY2VSZWN0LnRvcCAtIGF0dHJhY3REaXN0YW5jZSkgPiB0YXJnZXRSZWN0LmJvdHRvbVxuICAgICAgICB8fCAoc291cmNlUmVjdC5ib3R0b20gKyBhdHRyYWN0RGlzdGFuY2UpIDwgdGFyZ2V0UmVjdC50b3BcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBqdWRnZURpc3RhbmNlO1xuIiwiaW1wb3J0IERpc3RhbmNlIGZyb20gJy4uL3R5cGVzL0Rpc3RhbmNlJztcbmltcG9ydCBQYWNrLCB7IFJlY3RhYmxlIH0gZnJvbSAnLi4vdHlwZXMvUGFjayc7XG5pbXBvcnQgeyBnZXRSZWN0IH0gZnJvbSAnLi4vdHlwZXMvUmVjdCc7XG5pbXBvcnQgeyByZXR1cm5UcnVlIH0gZnJvbSAnLi4vdXRpbHMvcmV0dXJuVHJ1ZUZhbHNlJztcbmltcG9ydCB7IEp1ZGdlRGlzdGFuY2VPcHRpb25zLCBPbkp1ZGdlRGlzdGFuY2UgfSBmcm9tICcuL2p1ZGdlRGlzdGFuY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEp1ZGdlRGlzdGFuY2VJblBhcmVudE9wdGlvbnMgZXh0ZW5kcyBKdWRnZURpc3RhbmNlT3B0aW9ucyB7XG4gIHBhcmVudD86IFBhY2sgfCBSZWN0YWJsZSB8IG51bGw7XG4gIG9uSnVkZ2VEaXN0YW5jZT86IE9uSnVkZ2VEaXN0YW5jZTtcbn1cblxuZXhwb3J0IHR5cGUgT25KdWRnZURpc3RhbmNlSW5QYXJlbnQgPSAoXG4gIGRpc3RhbmNlOiBEaXN0YW5jZSxcbiAgb3B0aW9ucz86IEp1ZGdlRGlzdGFuY2VJblBhcmVudE9wdGlvbnMsXG4pID0+IGJvb2xlYW47XG5cbi8qKlxuICogUmV0dXJucyB0cnVlIGlmIHRoZSBkaXN0YW5jZSBwYXNzZXMgdGhlIGp1ZGdlbWVudC4gT3RoZXJ3aXNlIHRoZVxuICogZGlzdGFuY2Ugd291bGQgbm90IGJlIG9uIHRoZSByZXN1bHQgbGlzdCBvZiBhdHRyYWN0aW9uLlxuICovXG5jb25zdCBqdWRnZURpc3RhbmNlSW5QYXJlbnQ6IE9uSnVkZ2VEaXN0YW5jZUluUGFyZW50ID0gZnVuY3Rpb24ganVkZ2VEaXN0YW5jZUluUGFyZW50KFxuICBkaXN0YW5jZSxcbiAgb3B0aW9ucyA9IHt9LFxuKSB7XG4gIGNvbnN0IHtcbiAgICBvbkp1ZGdlRGlzdGFuY2UgPSByZXR1cm5UcnVlLFxuICAgIC4uLmp1ZGdlRGlzdGFuY2VPcHRpb25zXG4gIH0gPSBvcHRpb25zO1xuICBjb25zdCBwYXNzSnVkZ2VEaXN0YW5jZSA9IG9uSnVkZ2VEaXN0YW5jZShkaXN0YW5jZSwganVkZ2VEaXN0YW5jZU9wdGlvbnMpO1xuXG4gIGlmICghcGFzc0p1ZGdlRGlzdGFuY2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogSWYgb3B0aW9ucy5wYXJlbnQgaXMgYG51bGxgLCB1c2UgYGRvY3VtZW50LmJvZHlgIGluc3RlYWQuXG4gICAqL1xuICBjb25zdCBwYXJlbnQgPSBvcHRpb25zLnBhcmVudCA/PyBkb2N1bWVudC5ib2R5O1xuXG4gIGNvbnN0IHBhcmVudFJlY3QgPSBnZXRSZWN0KHBhcmVudCk7XG4gIGNvbnN0IHsgYWxpZ25tZW50LCByYXdEaXN0YW5jZSwgc291cmNlIH0gPSBkaXN0YW5jZTtcbiAgY29uc3Qge1xuICAgIHJlY3Q6IHNvdXJjZVJlY3QsXG4gIH0gPSBzb3VyY2U7XG5cbiAgc3dpdGNoIChhbGlnbm1lbnQpIHtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBjYXNlICd0b3BUb1RvcCc6XG4gICAgY2FzZSAndG9wVG9Cb3R0b20nOlxuICAgIGNhc2UgJ2JvdHRvbVRvVG9wJzpcbiAgICBjYXNlICdib3R0b21Ub0JvdHRvbSc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICBzb3VyY2VSZWN0LnRvcCArIHJhd0Rpc3RhbmNlID49IHBhcmVudFJlY3QudG9wXG4gICAgICAgICYmIHNvdXJjZVJlY3QuYm90dG9tICsgcmF3RGlzdGFuY2UgPD0gcGFyZW50UmVjdC5ib3R0b21cbiAgICAgICk7XG5cbiAgICBjYXNlICdyaWdodFRvUmlnaHQnOlxuICAgIGNhc2UgJ3JpZ2h0VG9MZWZ0JzpcbiAgICBjYXNlICdsZWZ0VG9SaWdodCc6XG4gICAgY2FzZSAnbGVmdFRvTGVmdCc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICBzb3VyY2VSZWN0LnJpZ2h0ICsgcmF3RGlzdGFuY2UgPD0gcGFyZW50UmVjdC5yaWdodFxuICAgICAgICAmJiBzb3VyY2VSZWN0LmxlZnQgKyByYXdEaXN0YW5jZSA+PSBwYXJlbnRSZWN0LmxlZnRcbiAgICAgICk7XG5cbiAgICBjYXNlICd4Q2VudGVyVG9YQ2VudGVyJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHNvdXJjZVJlY3QucmlnaHQgKyByYXdEaXN0YW5jZSA8PSBwYXJlbnRSZWN0LnJpZ2h0XG4gICAgICAgICYmIHNvdXJjZVJlY3QubGVmdCArIHJhd0Rpc3RhbmNlID49IHBhcmVudFJlY3QubGVmdFxuICAgICAgKTtcblxuICAgIGNhc2UgJ3lDZW50ZXJUb1lDZW50ZXInOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgc291cmNlUmVjdC50b3AgKyByYXdEaXN0YW5jZSA+PSBwYXJlbnRSZWN0LnRvcFxuICAgICAgICAmJiBzb3VyY2VSZWN0LmJvdHRvbSArIHJhd0Rpc3RhbmNlIDw9IHBhcmVudFJlY3QuYm90dG9tXG4gICAgICApO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBqdWRnZURpc3RhbmNlSW5QYXJlbnQ7XG4iLCJpbXBvcnQgRGlzdGFuY2UgZnJvbSAnLi4vdHlwZXMvRGlzdGFuY2UnO1xuaW1wb3J0IFBhY2ssIHsgZ2V0UGFjaywgUmVjdGFibGUgfSBmcm9tICcuLi90eXBlcy9QYWNrJztcbmltcG9ydCB7IGdldFJlY3QgfSBmcm9tICcuLi90eXBlcy9SZWN0JztcbmltcG9ydCB7IGFicyB9IGZyb20gJy4uL3V0aWxzL251bWVyaWMnO1xuaW1wb3J0IEFsaWdubWVudCBmcm9tICcuLi92YWx1ZXMvYWxpZ25tZW50JztcbmltcG9ydCByYXdEaXN0YW5jZVRvIGZyb20gJy4vcmF3RGlzdGFuY2VUbyc7XG5cbi8qKlxuICogUmV0dXJucyBkaXN0YW5jZSBvYmplY3QgZnJvbSBzb3VyY2UgdG8gdGFyZ2V0IG9uIGFsaWdubWVudC5cbiAqL1xuZnVuY3Rpb24gZGlzdGFuY2VUbyhcbiAgc291cmNlOiBSZWN0YWJsZSB8IFBhY2ssXG4gIHRhcmdldDogUmVjdGFibGUgfCBQYWNrLFxuICBhbGlnbm1lbnQ6IEFsaWdubWVudCxcbik6IERpc3RhbmNlIHtcbiAgY29uc3Qgc291cmNlUGFjayA9IGdldFBhY2soc291cmNlKTtcbiAgY29uc3QgdGFyZ2V0UGFjayA9IGdldFBhY2sodGFyZ2V0KTtcbiAgY29uc3Qgc291cmNlUmVjdCA9IGdldFJlY3Qoc291cmNlKTtcbiAgY29uc3QgdGFyZ2V0UmVjdCA9IGdldFJlY3QodGFyZ2V0KTtcbiAgY29uc3QgcmF3RGlzdGFuY2UgPSByYXdEaXN0YW5jZVRvKHNvdXJjZVJlY3QsIHRhcmdldFJlY3QsIGFsaWdubWVudCk7XG4gIGNvbnN0IGFic0Rpc3RhbmNlID0gYWJzKHJhd0Rpc3RhbmNlKTtcblxuICByZXR1cm4ge1xuICAgIHNvdXJjZTogc291cmNlUGFjayxcbiAgICB0YXJnZXQ6IHRhcmdldFBhY2ssXG4gICAgYWxpZ25tZW50LFxuICAgIHJhd0Rpc3RhbmNlLFxuICAgIGFic0Rpc3RhbmNlLFxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBkaXN0YW5jZVRvO1xuIl0sIm5hbWVzIjpbImNyZWF0ZVBvaW50IiwieCIsInkiLCJET01Qb2ludCIsImZyb21Qb2ludCIsIkRPTVJlY3QiLCJnZXRBdHRyYWN0aW9uT2Zmc2V0IiwiYXR0cmFjdGlvbiIsImJlc3QiLCJyYXdEaXN0YW5jZSIsIlNQTElUVEVSIiwiZ2V0QXJyYXlGcm9tQXR0cmlidXRlVmFsdWUiLCJ2YWx1ZSIsImluZGV4T2JqZWN0IiwidmFsdWVzIiwic3BsaXQiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJmaWx0ZXIiLCJpbmRleCIsImluY2x1ZGVzIiwiZ2V0QXR0cmlidXRlVmFsdWVGcm9tQXJyYXkiLCJBcnJheSIsImlzQXJyYXkiLCJqb2luIiwiTm9kZSIsIm5vZGVOYW1lIiwiY3VzdG9tRWxlbWVudHMiLCJnZXQiLCJQcm9taXNlIiwicmVqZWN0IiwiRXJyb3IiLCJkZWZpbmUiLCJ3aGVuRGVmaW5lZCIsIkFsaWdubWVudCIsIkFsaWdubWVudFhzIiwicmlnaHRUb1JpZ2h0IiwicmlnaHRUb0xlZnQiLCJsZWZ0VG9SaWdodCIsImxlZnRUb0xlZnQiLCJ4Q2VudGVyVG9YQ2VudGVyIiwiQWxpZ25tZW50WXMiLCJ0b3BUb1RvcCIsInRvcFRvQm90dG9tIiwiYm90dG9tVG9Ub3AiLCJib3R0b21Ub0JvdHRvbSIsInlDZW50ZXJUb1lDZW50ZXIiLCJBbGlnblRvIiwiQWxpZ25Ub1BhcmVudCIsIkF0dHJpYnV0ZSIsIkNyb3NzUHJldmVudCIsIkV2ZW50IiwiT2Zmc2V0VW5pdCIsImlzTmFOIiwiZ2xvYmFsVGhpcyIsImFicyIsIk1hdGgiLCJ0ZW1wbGF0ZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImRlZmF1bHRBdHRyaWJ1dGVWYWx1ZXMiLCJpbm5lckhUTUwiLCJNYWduZXRQYWNrIiwiSFRNTEVsZW1lbnQiLCJjb25zdHJ1Y3RvciIsInN1cGVyIiwidGhpcyIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJzaGFkb3dSb290IiwiYXBwZW5kIiwiY29udGVudCIsImNsb25lTm9kZSIsIkFMSUdOTUVOVCIsIkFMSUdOX1RPIiwiQUxJR05fVE9fUEFSRU5UIiwiQ1JPU1NfUFJFVkVOVCIsIkVWRU5UIiwic291cmNlIiwiYWxpZ25Ub3MiLCJhbGlnbm1lbnRzIiwicHVzaCIsImRpc2FibGVkIiwidHJhY2VNYWduZXRBdHRyaWJ1dGVWYWx1ZSIsInNldEF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImdyb3VwIiwibGVuZ3RoIiwicGFyZW50TWFnbmV0IiwiZ2V0QXR0cmlidXRlIiwicGFyZW50IiwicGFyZW50RWxlbWVudCIsInBhcmVudEdyb3VwIiwidW5hdHRyYWN0YWJsZSIsInVubW92YWJsZSIsImF0dHJhY3REaXN0YW5jZSIsIk51bWJlciIsIlR5cGVFcnJvciIsIlJhbmdlRXJyb3IiLCJhbGlnblRvUGFyZW50cyIsImdldEFsaWdubWVudHNGcm9tQWxpZ25UbyIsInBhcmVudEFsaWdubWVudHMiLCJjcm9zc1ByZXZlbnRzIiwib2Zmc2V0VW5pdCIsImF0dHJOYW1lIiwicmVnaXN0ZXJFbGVtZW50IiwiY3JlYXRlUmVjdCIsImFyZ3MiLCJXaW5kb3ciLCJpbm5lcldpZHRoIiwiaW5uZXJIZWlnaHQiLCJEb2N1bWVudCIsImJvZHkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJFbGVtZW50IiwiUGFjayIsImZyb21SZWN0IiwicmVjdCIsIndpZHRoIiwiaGVpZ2h0IiwidG9wIiwicmlnaHQiLCJib3R0b20iLCJsZWZ0IiwiZ2V0UmVjdCIsInJhdyIsImlzUGFjayIsImZyZWV6ZSIsImdldFBhY2siLCJzb3VyY2VSZWN0IiwidGFyZ2V0UmVjdCIsImFsaWdubWVudCIsIkluZmluaXR5IiwicmV0dXJuVHJ1ZSIsInJldHVybkZhbHNlIiwiZGlzdGFuY2VCZXR3ZWVuWENlbnRlcnNPZlJlY3RzIiwic291cmNlUmVjdFhDZW50ZXIiLCJ0YXJnZXRSZWN0WENlbnRlciIsImRpc3RhbmNlQmV0d2VlbllDZW50ZXJzT2ZSZWN0cyIsInNvdXJjZVJlY3RZQ2VudGVyIiwidGFyZ2V0UmVjdFlDZW50ZXIiLCJ0YXJnZXRzIiwib3B0aW9ucyIsInNvdXJjZVBhY2siLCJ0YXJnZXRQYWNrcyIsIm1hcCIsInRhcmdldCIsIm9uSnVkZ2VEaXN0YW5jZSIsIm9uSnVkZ2VBdHRyYWN0aW9uIiwiYXR0cmFjdGlvbkJlc3QiLCJzaW5nbGVBdHRyYWN0aW9uT3B0aW9ucyIsInJlZHVjZSIsInRhcmdldFBhY2siLCJzaW5nbGVBdHRyYWN0aW9uIiwiTWFnbmV0IiwiY3VycmVudEJlc3QiLCJyZXN1bHRzIiwiY3VycmVudFJlc3VsdHMiLCJwYXNzSnVkZ2VtZW50IiwiYWJzRGlzdGFuY2UiLCJsYXN0QmVzdFJlY3QiLCJjdXJyZW50RGlmZlkiLCJkaWZmWSIsImdhcCIsImxhc3RSZWN0IiwiY3VycmVudFJlY3QiLCJsYXN0WUJhc2UiLCJjdXJyZW50WUJhc2UiLCJzb3VyY2VZQmFzZSIsImxhc3RZRGlzdGFuY2UiLCJjdXJyZW50RGlmZlgiLCJkaWZmWCIsImxhc3RYQmFzZSIsImN1cnJlbnRYQmFzZSIsInNvdXJjZVhCYXNlIiwibGFzdFhEaXN0YW5jZSIsImRpc3RhbmNlIiwiQm9vbGVhbiIsImFkZEV2ZW50TGlzdGVuZXJzIiwicmVmIiwidHlwZXMiLCJsaXN0ZW5lciIsImZvckVhY2giLCJ0eXBlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXJzIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInRyaWdnZXJFdmVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsInNvdXJjZVJhdyIsImlnbm9yZUV2ZW50IiwicGFyZW50UGFjayIsImxhc3RBdHRyYWN0aW9uQmVzdCIsIm9uSnVkZ2VNb3ZlbWVudCIsImxhc3RCZXN0WCIsImxhc3RCZXN0WSIsImFsaWduVG9QYXJlbnQiLCJrZWVwSW5QYXJlbnQiLCJzb3VyY2VXaWR0aCIsInNvdXJjZUhlaWdodCIsInBhcmVudFJlY3QiLCJzb3VyY2VSYXdSZWN0Iiwic291cmNlSW5QYXJlbnRPZmZzZXQiLCJnZXRPZmZzZXRUb0JlSW5SZWN0Iiwic291cmNlSW5QYXJlbnRSZWN0Iiwic291cmNlSW5QYXJlbnRQYWNrIiwicGFzc0p1ZGdlTW92ZW1lbnQiLCJhdHRyYWN0UmVzdWx0cyIsInVuYXR0cmFjdFJlc3VsdHMiLCJhdHRyYWN0bW92ZVJlc3VsdHMiLCJkaXNwYXRjaFVuYXR0cmFjdEV2ZW50cyIsInNvdXJjZU5leHRSZWN0IiwidW5hdHRyYWN0UmVzdWx0IiwidGFyZ2V0RWxlbSIsInVuYXR0cmFjdGVkRXZlbnREZXRhaWwiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImNvbXBvc2VkIiwiZGV0YWlsIiwicG9zaXRpb24iLCJvbkp1ZGdlRGlzdGFuY2VJblBhcmVudCIsInNvdXJjZVJhd1BhY2siLCJzaW5nbGVBdHRyYWN0aW9uVG8iLCJvbkp1ZGdlTXVsdGlEaXN0YW5jZSIsInNvdXJjZUF0dHJhY3Rpb24iLCJtdWx0aUF0dHJhY3Rpb25zVG8iLCJzb3VyY2VBdHRyYWN0aW9uQmVzdCIsInNvdXJjZUF0dHJhY3Rpb25PZmZzZXQiLCJzb3VyY2VBdHRyYWN0aW9uUmVjdCIsInNvdXJjZUF0dHJhY3Rpb25JblBhcmVudE9mZnNldCIsInNvdXJjZUF0dHJhY3Rpb25JblBhcmVudFJlY3QiLCJjdXJyZW50QmVzdFgiLCJjdXJyZW50QmVzdFkiLCJsYXN0VGFyZ2V0WCIsImxhc3RUYXJnZXRZIiwiY3VycmVudFRhcmdldFgiLCJjdXJyZW50VGFyZ2V0WSIsImRpZmZUYXJnZXRZIiwibGFzdEFsaWdubWVudFgiLCJsYXN0QWxpZ25tZW50WSIsImF0dHJhY3RFdmVudERldGFpbCIsIm5leHRSZWN0IiwidW5hdHRyYWN0RXZlbnREZXRhaWwiLCJhdHRyYWN0bW92ZUV2ZW50RGV0YWlsIiwiYXR0cmFjdFJlc3VsdCIsImF0dHJhY3RlZEV2ZW50RGV0YWlsIiwiYXR0cmFjdG1vdmVSZXN1bHQiLCJhdHRyYWN0ZWRtb3ZlRXZlbnREZXRhaWwiLCJkaXNwYXRjaEF0dHJhY3Rtb3ZlRXZlbnRzIiwiZXZlbnQiLCJjbGllbnRYIiwiY2xpZW50WSIsIkVWRU5UX0RSQUdfU1RBUlQiLCJFVkVOVF9EUkFHX01PVkUiLCJFVkVOVF9EUkFHX0VORCIsInJlc2V0TWFnbmV0Q2FjaGVzIiwibWFnbmV0IiwicmVzZXRNYWduZXRSZWN0IiwicmVzZXRQYXJlbnRQYWNrIiwicmVzZXRUYXJnZXRNYWduZXRQYWNrcyIsIm1vdmVMaXN0ZW5lciIsInN0YXJ0UG9pbnQiLCJzdGFydExhc3RPZmZzZXQiLCJtb3ZlUG9pbnQiLCJtYWduZXRSZWN0IiwidGFyZ2V0TWFnbmV0UGFja3MiLCJqdWRnZU1hZ25ldE1vdmVtZW50IiwiYXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24iLCJqdWRnZU1hZ25ldERpc3RhbmNlIiwianVkZ2VNYWduZXREaXN0YW5jZUluUGFyZW50IiwianVkZ2VNYWduZXRBdHRyYWN0aW9uIiwibmV4dFNvdXJjZVBhY2siLCJtb3ZlRXZlbnREZXRhaWwiLCJzZXRNYWduZXRPZmZzZXQiLCJzdGFydExpc3RlbmVyIiwiZ2V0RXZlbnRYWSIsImlzTW92aW5nIiwic3RhcnRFdmVudERldGFpbCIsImxhc3RNb3ZlUG9pbnQiLCJkcmFnTW92ZUhhbmRsZXIiLCJiaW5kIiwibGFzdE9mZnNldCIsImRyYWdNb3ZlTGlzdGVuZXIiLCJldnQiLCJhdHRyaWJ1dGVPYnNlcnZlciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJkcmFnRW5kTGlzdGVuZXIiLCJzdHlsZSIsInJlbW92ZVByb3BlcnR5IiwiZGlzY29ubmVjdCIsInNldFByb3BlcnR5IiwiRGF0ZSIsIm5vdyIsInByZXZlbnREZWZhdWx0Iiwib2JzZXJ2ZSIsImF0dHJpYnV0ZXMiLCJhdHRyaWJ1dGVGaWx0ZXIiLCJjaGVja0RyYWdMaXN0ZW5lcnMiLCJyZW1vdmVCYXNpY0RyYWdMaXN0ZW5lcnMiLCJhZGRCYXNpY0RyYWdMaXN0ZW5lcnMiLCJTdHlsZSIsInJlY3RDYWNoZSIsInBhcmVudFBhY2tDYWNoZSIsInRhcmdldE1hZ25ldFBhY2tzQ2FjaGUiLCJnZXRBdHRyYWN0YWJsZU1hZ25ldHMiLCJnZXRPdGhlck1hZ25ldHMiLCJmcm9tIiwicXVlcnlTZWxlY3RvckFsbCIsImhhc0dyb3VwIiwic2VsZWN0b3IiLCJjb250YWlucyIsImp1ZGdlRGlzdGFuY2UiLCJqdWRnZURpc3RhbmNlT3B0aW9ucyIsImp1ZGdlRGlzdGFuY2VJblBhcmVudCIsImp1ZGdlQXR0cmFjdGlvbiIsImp1ZGdlTW92ZW1lbnQiLCJyYXdEaXN0YW5jZVRvIiwiZGlzdGFuY2VUbyIsImF0dHJhY3Rpb25UbyIsImF0dHJhY3Rpb25Ub1BhcmVudCIsInBhcmVudEF0dHJhY3Rpb24iLCJwcm90b3R5cGUiLCJjYWxsIiwiZ2V0TWFnbmV0QXR0cmFjdGlvblJlc3VsdE9mUG9zaXRpb24iLCJhcmcwIiwiYXJnMSIsImFyZzIiLCJyZXN1bHQiLCJsYXN0TWFnbmV0T2Zmc2V0Iiwib2Zmc2V0UGFyZW50IiwicmVzZXRNYWduZXRPZmZzZXQiLCJkeCIsImR5Iiwib2Zmc2V0Iiwic3R5bGVzIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImJveFNpemluZyIsImZpbmFsV2lkdGgiLCJwYXJzZUZsb2F0IiwiZmluYWxIZWlnaHQiLCJwYWRkaW5nVG9wIiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdMZWZ0IiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJUb3AiLCJib3JkZXJSaWdodCIsImJvcmRlckJvdHRvbSIsInJlbGF0aXZlT2Zmc2V0Iiwic2V0TWFnbmV0UG9zaXRpb24iLCJvcmlnaW4iLCJiZXN0QXR0cmFjdGlvbiJdLCJzb3VyY2VSb290IjoiIn0= \ No newline at end of file diff --git a/core/static/js/remove-me.js b/core/static/js/remove-me.js new file mode 100644 index 0000000..42be993 --- /dev/null +++ b/core/static/js/remove-me.js @@ -0,0 +1,27 @@ +(function(){ + function maybeRemoveMe(elt) { + var timing = elt.getAttribute("remove-me") || elt.getAttribute("data-remove-me"); + if (timing) { + setTimeout(function () { + elt.parentElement.removeChild(elt); + }, htmx.parseInterval(timing)); + } + } + + htmx.defineExtension('remove-me', { + onEvent: function (name, evt) { + if (name === "htmx:afterProcessNode") { + var elt = evt.detail.elt; + if (elt.getAttribute) { + maybeRemoveMe(elt); + if (elt.querySelectorAll) { + var children = elt.querySelectorAll("[remove-me], [data-remove-me]"); + for (var i = 0; i < children.length; i++) { + maybeRemoveMe(children[i]); + } + } + } + } + } + }); +})(); diff --git a/core/static/logo.svg b/core/static/logo.svg new file mode 100644 index 0000000..dd1c82a --- /dev/null +++ b/core/static/logo.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/core/static/manifest.webmanifest b/core/static/manifest.webmanifest new file mode 100644 index 0000000..4357ad9 --- /dev/null +++ b/core/static/manifest.webmanifest @@ -0,0 +1,15 @@ +{ + "background_color": "white", + "description": "Search for anything.", + "display": "fullscreen", + "icons": [ + { + "src": "/static/logo.png", + "sizes": "800x800", + "type": "image/png" + } + ], + "name": "Pathogen Data Analytics", + "short_name": "Pathogen", + "start_url": "/" + } \ No newline at end of file diff --git a/core/static/modal.js b/core/static/modal.js new file mode 100644 index 0000000..0535526 --- /dev/null +++ b/core/static/modal.js @@ -0,0 +1,44 @@ +// var modal = document.querySelector('.modal'); // assuming you have only 1 +var modal = document.getElementById("modal"); +var html = document.querySelector('html'); + +var disableModal = function() { + modal.classList.remove('is-active'); + html.classList.remove('is-clipped'); + var modal_refresh = document.getElementsByClassName("modal-refresh"); + for(var i = 0; i < modal_refresh.length; i++) { + modal_refresh[i].remove(); + } +} + +var elements = document.querySelectorAll('.modal-background'); +for(var i = 0; i < elements.length; i++) { + elements[i].addEventListener('click', function(e) { + // elements[i].preventDefault(); + disableModal(); + }); +} + +var elements = document.querySelectorAll('.modal-close'); +for(var i = 0; i < elements.length; i++) { + elements[i].addEventListener('click', function(e) { + // elements[i].preventDefault(); + disableModal(); + }); +} + +function activateButtons() { + var elements = document.querySelectorAll('.modal-close-button'); + for(var i = 0; i < elements.length; i++) { + elements[i].addEventListener('click', function(e) { + // elements[i].preventDefault(); + disableModal(); + }); + } +} +activateButtons(); +// modal.querySelector('.modal-close-button').addEventListener('click', function(e) { +// e.preventDefault(); +// modal.classList.remove('is-active'); +// html.classList.remove('is-clipped'); +// }); diff --git a/core/templates/base.html b/core/templates/base.html new file mode 100644 index 0000000..07ef8d0 --- /dev/null +++ b/core/templates/base.html @@ -0,0 +1,300 @@ +{% load static %} +{% load has_plan %} + + + + + + + XF - {{ request.path_info }} + + + + + + + + + + + + + + + + + + + + {% block outer_content %} + {% endblock %} +
+
+ {% block content %} + {% endblock %} +
+
+ + diff --git a/core/templates/cancel.html b/core/templates/cancel.html new file mode 100644 index 0000000..426cde8 --- /dev/null +++ b/core/templates/cancel.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} + +
+

Forgot to add something to your cart? Shop around then come back to pay!

+
+ +{% endblock %} diff --git a/core/templates/denied.html b/core/templates/denied.html new file mode 100644 index 0000000..971d96d --- /dev/null +++ b/core/templates/denied.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block content %} +

Access denied

+

Sorry, you do not have the necessary permissions to view this page.

+ +{% endblock %} diff --git a/core/templates/index.html b/core/templates/index.html new file mode 100644 index 0000000..2d0292c --- /dev/null +++ b/core/templates/index.html @@ -0,0 +1,95 @@ +{% extends "base.html" %} +{% load static %} +{% load joinsep %} +{% block outer_content %} + +
+
+
+ +
+
+
+ + + +
+
+
+
+ + + +{% endblock %} diff --git a/core/templates/modals/modal.html b/core/templates/modals/modal.html new file mode 100644 index 0000000..df33750 --- /dev/null +++ b/core/templates/modals/modal.html @@ -0,0 +1,5 @@ +{% extends 'mixins/wm/modal.html' %} + +{% block modal_content %} + {% include 'window-content/main.html' %} +{% endblock %} \ No newline at end of file diff --git a/core/templates/partials/notify.html b/core/templates/partials/notify.html new file mode 100644 index 0000000..fb0587a --- /dev/null +++ b/core/templates/partials/notify.html @@ -0,0 +1,5 @@ +{% if message is not None %} +
+ {{ message }} +
+{% endif %} diff --git a/core/templates/registration/login.html b/core/templates/registration/login.html new file mode 100644 index 0000000..6cc72a3 --- /dev/null +++ b/core/templates/registration/login.html @@ -0,0 +1,25 @@ +{% extends "base.html" %} +{% load static %} +{% load crispy_forms_tags %} + +{% block content %} +
+
+
+
+
+
+ {% csrf_token %} + {{ form|crispy }} +
+ +
+
+
+
+
+
+
+{% endblock %} \ No newline at end of file diff --git a/core/templates/registration/logout.html b/core/templates/registration/logout.html new file mode 100644 index 0000000..e69de29 diff --git a/core/templates/registration/registration_closed.html b/core/templates/registration/registration_closed.html new file mode 100644 index 0000000..f0a7ca1 --- /dev/null +++ b/core/templates/registration/registration_closed.html @@ -0,0 +1,19 @@ +{% extends "base.html" %} +{% load static %} +{% load crispy_forms_tags %} + +{% block content %} +
+
+
+
+
+
+

Registration closed.

+
+
+
+
+
+
+{% endblock %} diff --git a/core/templates/registration/signup.html b/core/templates/registration/signup.html new file mode 100644 index 0000000..7beef31 --- /dev/null +++ b/core/templates/registration/signup.html @@ -0,0 +1,25 @@ +{% extends "base.html" %} +{% load static %} +{% load crispy_forms_tags %} + +{% block content %} +
+
+
+
+
+
+ {% csrf_token %} + {{ form|crispy }} +
+ +
+
+
+
+
+
+
+{% endblock %} diff --git a/core/templates/subscriptioncancel.html b/core/templates/subscriptioncancel.html new file mode 100644 index 0000000..fe63b0e --- /dev/null +++ b/core/templates/subscriptioncancel.html @@ -0,0 +1,9 @@ +{% extends "base.html" %} + +{% block content %} + +
+

Subscription {{ plan }} cancelled!

+
+ +{% endblock %} diff --git a/core/templates/success.html b/core/templates/success.html new file mode 100644 index 0000000..e2308a8 --- /dev/null +++ b/core/templates/success.html @@ -0,0 +1,11 @@ +{% extends "base.html" %} + +{% block content %} +

XF

+
+

Thank you for your order!

+
+

The customer portal will be available in your profile shortly.

+
+
+{% endblock %} diff --git a/core/templates/two_factor/_base.html b/core/templates/two_factor/_base.html new file mode 100644 index 0000000..838aa18 --- /dev/null +++ b/core/templates/two_factor/_base.html @@ -0,0 +1 @@ +{% extends 'base.html' %} \ No newline at end of file diff --git a/core/templates/two_factor/_base_focus.html b/core/templates/two_factor/_base_focus.html new file mode 100644 index 0000000..104ce14 --- /dev/null +++ b/core/templates/two_factor/_base_focus.html @@ -0,0 +1,16 @@ +{% extends "two_factor/_base.html" %} + +{% block content_wrapper %} +
+
+
+
+
+ {% block content %}{% endblock content %} +
+
+
+
+
+{% endblock %} + diff --git a/core/templates/two_factor/_wizard_actions.html b/core/templates/two_factor/_wizard_actions.html new file mode 100644 index 0000000..74cbe3d --- /dev/null +++ b/core/templates/two_factor/_wizard_actions.html @@ -0,0 +1,16 @@ +{% load i18n %} + +
+ {% if cancel_url %} + {% trans "Cancel" %} + {% endif %} + {% if wizard.steps.prev %} + + {% else %} + + {% endif %} + +
\ No newline at end of file diff --git a/core/templates/two_factor/_wizard_forms.html b/core/templates/two_factor/_wizard_forms.html new file mode 100644 index 0000000..7a9eb9e --- /dev/null +++ b/core/templates/two_factor/_wizard_forms.html @@ -0,0 +1,6 @@ +{% load crispy_forms_tags %} + + + {{ wizard.management_form|crispy }} + {{ wizard.form|crispy }} +
diff --git a/core/templates/two_factor/core/backup_tokens.html b/core/templates/two_factor/core/backup_tokens.html new file mode 100644 index 0000000..ca4f9ff --- /dev/null +++ b/core/templates/two_factor/core/backup_tokens.html @@ -0,0 +1,28 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Backup Tokens" %}{% endblock %}

+

{% blocktrans trimmed %}Backup tokens can be used when your primary and backup + phone numbers aren't available. The backup tokens below can be used + for login verification. If you've used up all your backup tokens, you + can generate a new set of backup tokens. Only the backup tokens shown + below will be valid.{% endblocktrans %}

+ + {% if device.token_set.count %} +
    + {% for token in device.token_set.all %} +
  • {{ token.token }}
  • + {% endfor %} +
+

{% blocktrans %}Print these tokens and keep them somewhere safe.{% endblocktrans %}

+ {% else %} +

{% trans "You don't have any backup codes yet." %}

+ {% endif %} + +
{% csrf_token %}{{ form }} + {% trans "Back to Account Security" %} + +
+{% endblock %} diff --git a/core/templates/two_factor/core/login.html b/core/templates/two_factor/core/login.html new file mode 100644 index 0000000..c36c03d --- /dev/null +++ b/core/templates/two_factor/core/login.html @@ -0,0 +1,52 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Login" %}{% endblock %}

+ + {% if wizard.steps.current == 'auth' %} +

{% blocktrans %}Enter your credentials.{% endblocktrans %}

+ {% elif wizard.steps.current == 'token' %} + {% if device.method == 'call' %} +

{% blocktrans trimmed %}We are calling your phone right now, please enter the + digits you hear.{% endblocktrans %}

+ {% elif device.method == 'sms' %} +

{% blocktrans trimmed %}We sent you a text message, please enter the tokens we + sent.{% endblocktrans %}

+ {% else %} +

{% blocktrans trimmed %}Please enter the tokens generated by your token + generator.{% endblocktrans %}

+ {% endif %} + {% elif wizard.steps.current == 'backup' %} +

{% blocktrans trimmed %}Use this form for entering backup tokens for logging in. + These tokens have been generated for you to print and keep safe. Please + enter one of these backup tokens to login to your account.{% endblocktrans %}

+ {% endif %} + +
{% csrf_token %} + {% include "two_factor/_wizard_forms.html" %} + + {# hidden submit button to enable [enter] key #} + + + {% if other_devices %} +

{% trans "Or, alternatively, use one of your backup phones:" %}

+

+ {% for other in other_devices %} + + {% endfor %}

+ {% endif %} + {% if backup_tokens %} +

{% trans "As a last resort, you can use a backup token:" %}

+

+ +

+ {% endif %} + + {% include "two_factor/_wizard_actions.html" %} +
+{% endblock %} diff --git a/core/templates/two_factor/core/otp_required.html b/core/templates/two_factor/core/otp_required.html new file mode 100644 index 0000000..e5b9e5b --- /dev/null +++ b/core/templates/two_factor/core/otp_required.html @@ -0,0 +1,22 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Permission Denied" %}{% endblock %}

+ +

{% blocktrans trimmed %}The page you requested, enforces users to verify using + two-factor authentication for security reasons. You need to enable these + security features in order to access this page.{% endblocktrans %}

+ +

{% blocktrans trimmed %}Two-factor authentication is not enabled for your + account. Enable two-factor authentication for enhanced account + security.{% endblocktrans %}

+ + +{% endblock %} diff --git a/core/templates/two_factor/core/phone_register.html b/core/templates/two_factor/core/phone_register.html new file mode 100644 index 0000000..11182ff --- /dev/null +++ b/core/templates/two_factor/core/phone_register.html @@ -0,0 +1,24 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Add Backup Phone" %}{% endblock %}

+ + {% if wizard.steps.current == 'setup' %} +

{% blocktrans trimmed %}You'll be adding a backup phone number to your + account. This number will be used if your primary method of + registration is not available.{% endblocktrans %}

+ {% elif wizard.steps.current == 'validation' %} +

{% blocktrans trimmed %}We've sent a token to your phone number. Please + enter the token you've received.{% endblocktrans %}

+ {% endif %} + +
{% csrf_token %} + {% include "two_factor/_wizard_forms.html" %} + + {# hidden submit button to enable [enter] key #} + + + {% include "two_factor/_wizard_actions.html" %} +
+{% endblock %} diff --git a/core/templates/two_factor/core/setup.html b/core/templates/two_factor/core/setup.html new file mode 100644 index 0000000..bd5c93d --- /dev/null +++ b/core/templates/two_factor/core/setup.html @@ -0,0 +1,56 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Enable Two-Factor Authentication" %}{% endblock %}

+ {% if wizard.steps.current == 'welcome' %} +

{% blocktrans trimmed %}You are about to take your account security to the + next level. Follow the steps in this wizard to enable two-factor + authentication.{% endblocktrans %}

+ {% elif wizard.steps.current == 'method' %} +

{% blocktrans trimmed %}Please select which authentication method you would + like to use.{% endblocktrans %}

+ {% elif wizard.steps.current == 'generator' %} +

{% blocktrans trimmed %}To start using a token generator, please use your + smartphone to scan the QR code below. For example, use Google + Authenticator. Then, enter the token generated by the app. + {% endblocktrans %}

+

QR Code

+ {% elif wizard.steps.current == 'sms' %} +

{% blocktrans trimmed %}Please enter the phone number you wish to receive the + text messages on. This number will be validated in the next step. + {% endblocktrans %}

+ {% elif wizard.steps.current == 'call' %} +

{% blocktrans trimmed %}Please enter the phone number you wish to be called on. + This number will be validated in the next step. {% endblocktrans %}

+ {% elif wizard.steps.current == 'validation' %} + {% if challenge_succeeded %} + {% if device.method == 'call' %} +

{% blocktrans trimmed %}We are calling your phone right now, please enter the + digits you hear.{% endblocktrans %}

+ {% elif device.method == 'sms' %} +

{% blocktrans trimmed %}We sent you a text message, please enter the tokens we + sent.{% endblocktrans %}

+ {% endif %} + {% else %} + + {% endif %} + {% elif wizard.steps.current == 'yubikey' %} +

{% blocktrans trimmed %}To identify and verify your YubiKey, please insert a + token in the field below. Your YubiKey will be linked to your + account.{% endblocktrans %}

+ {% endif %} + +
{% csrf_token %} + {% include "two_factor/_wizard_forms.html" %} + + {# hidden submit button to enable [enter] key #} + + + {% include "two_factor/_wizard_actions.html" %} +
+{% endblock %} diff --git a/core/templates/two_factor/core/setup_complete.html b/core/templates/two_factor/core/setup_complete.html new file mode 100644 index 0000000..0d947ab --- /dev/null +++ b/core/templates/two_factor/core/setup_complete.html @@ -0,0 +1,24 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Enable Two-Factor Authentication" %}{% endblock %}

+ +

{% blocktrans trimmed %}Congratulations, you've successfully enabled two-factor + authentication.{% endblocktrans %}

+ + {% if not phone_methods %} +

{% trans "Back to Account Security" %}

+ {% else %} +

{% blocktrans trimmed %}However, it might happen that you don't have access to + your primary token device. To enable account recovery, add a phone + number.{% endblocktrans %}

+ + {% trans "Back to Account Security" %} +

{% trans "Add Phone Number" %}

+ {% endif %} + +{% endblock %} diff --git a/core/templates/two_factor/profile/disable.html b/core/templates/two_factor/profile/disable.html new file mode 100644 index 0000000..2db864a --- /dev/null +++ b/core/templates/two_factor/profile/disable.html @@ -0,0 +1,14 @@ +{% extends "two_factor/_base_focus.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Disable Two-factor Authentication" %}{% endblock %}

+

{% blocktrans trimmed %}You are about to disable two-factor authentication. This + weakens your account security, are you sure?{% endblocktrans %}

+
+ {% csrf_token %} + {{ form }}
+ +
+{% endblock %} diff --git a/core/templates/two_factor/profile/profile.html b/core/templates/two_factor/profile/profile.html new file mode 100644 index 0000000..f72e7bc --- /dev/null +++ b/core/templates/two_factor/profile/profile.html @@ -0,0 +1,63 @@ +{% extends "two_factor/_base.html" %} +{% load i18n %} + +{% block content %} +

{% block title %}{% trans "Account Security" %}{% endblock %}

+ + {% if default_device %} + {% if default_device_type == 'TOTPDevice' %} +

{% trans "Tokens will be generated by your token generator." %}

+ {% elif default_device_type == 'PhoneDevice' %} +

{% blocktrans with primary=default_device.generate_challenge_button_title %}Primary method: {{ primary }}{% endblocktrans %}

+ {% elif default_device_type == 'RemoteYubikeyDevice' %} +

{% blocktrans %}Tokens will be generated by your YubiKey.{% endblocktrans %}

+ {% endif %} + + {% if available_phone_methods %} +

{% trans "Backup Phone Numbers" %}

+

{% blocktrans trimmed %}If your primary method is not available, we are able to + send backup tokens to the phone numbers listed below.{% endblocktrans %}

+
    + {% for phone in backup_phones %} +
  • + {{ phone.generate_challenge_button_title }} +
    + {% csrf_token %} + +
    +
  • + {% endfor %} +
+

{% trans "Add Phone Number" %}

+ {% endif %} + +

{% trans "Backup Tokens" %}

+

+ {% blocktrans trimmed %}If you don't have any device with you, you can access + your account using backup tokens.{% endblocktrans %} + {% blocktrans trimmed count counter=backup_tokens %} + You have only one backup token remaining. + {% plural %} + You have {{ counter }} backup tokens remaining. + {% endblocktrans %} +

+

{% trans "Show Codes" %}

+ +

{% trans "Disable Two-Factor Authentication" %}

+

{% blocktrans trimmed %}However we strongly discourage you to do so, you can + also disable two-factor authentication for your account.{% endblocktrans %}

+

+ {% trans "Disable Two-Factor Authentication" %}

+ {% else %} +

{% blocktrans trimmed %}Two-factor authentication is not enabled for your + account. Enable two-factor authentication for enhanced account + security.{% endblocktrans %}

+

+ {% trans "Enable Two-Factor Authentication" %} +

+ {% endif %} +{% endblock %} diff --git a/core/templates/two_factor/twilio/press_a_key.xml b/core/templates/two_factor/twilio/press_a_key.xml new file mode 100644 index 0000000..85a3619 --- /dev/null +++ b/core/templates/two_factor/twilio/press_a_key.xml @@ -0,0 +1,7 @@ +{% load i18n %} + + + {% blocktrans %}Hi, this is {{ site_name }} calling. Press any key to continue.{% endblocktrans %} + + {% trans "You didn’t press any keys. Good bye." %} + diff --git a/core/templates/two_factor/twilio/sms_message.html b/core/templates/two_factor/twilio/sms_message.html new file mode 100644 index 0000000..b680488 --- /dev/null +++ b/core/templates/two_factor/twilio/sms_message.html @@ -0,0 +1,5 @@ +{% load i18n %} +{% blocktrans trimmed %} + Your OTP token is {{ token }} +{% endblocktrans %} + diff --git a/core/templates/two_factor/twilio/token.xml b/core/templates/two_factor/twilio/token.xml new file mode 100644 index 0000000..4eafffe --- /dev/null +++ b/core/templates/two_factor/twilio/token.xml @@ -0,0 +1,12 @@ +{% load i18n %} + + {% trans "Your token is:" %} + +{% for digit in token %} {{ digit }} + +{% endfor %} {% trans "Repeat:" %} + +{% for digit in token %} {{ digit }} + +{% endfor %} {% trans "Good bye." %} + diff --git a/core/templates/widgets/widget.html b/core/templates/widgets/widget.html new file mode 100644 index 0000000..ce1598e --- /dev/null +++ b/core/templates/widgets/widget.html @@ -0,0 +1,20 @@ +{% extends 'mixins/wm/widget.html' %} +{% load static %} + +{% block widget_options %} + gs-w="10" gs-h="1" gs-y="10" gs-x="1" +{% endblock %} + +{% block heading %} + Widget +{% endblock %} + +{% block close_button %} + +{% endblock %} + +{% block panel_content %} + {% include 'window-content/main.html' %} +{% endblock %} diff --git a/core/templates/window-content/main.html b/core/templates/window-content/main.html new file mode 100644 index 0000000..84b385e --- /dev/null +++ b/core/templates/window-content/main.html @@ -0,0 +1,44 @@ +

This is a demo panel

+ +
+ + + +
\ No newline at end of file diff --git a/core/templates/windows/window.html b/core/templates/windows/window.html new file mode 100644 index 0000000..36f41fb --- /dev/null +++ b/core/templates/windows/window.html @@ -0,0 +1,9 @@ +{% extends 'mixins/wm/window.html' %} + +{% block heading %} + Window +{% endblock %} + +{% block panel_content %} + {% include 'window-content/main.html' %} +{% endblock %} \ No newline at end of file diff --git a/core/templatetags/__init__.py b/core/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/templatetags/has_plan.py b/core/templatetags/has_plan.py new file mode 100644 index 0000000..94a568f --- /dev/null +++ b/core/templatetags/has_plan.py @@ -0,0 +1,11 @@ +from django import template + +register = template.Library() + + +@register.filter +def has_plan(user, plan_name): + if not hasattr(user, "plans"): + return False + plan_list = [plan.name for plan in user.plans.all()] + return plan_name in plan_list diff --git a/core/templatetags/index.py b/core/templatetags/index.py new file mode 100644 index 0000000..aa3e4c8 --- /dev/null +++ b/core/templatetags/index.py @@ -0,0 +1,8 @@ +from django import template + +register = template.Library() + + +@register.filter +def index(h, key): + return h[key] diff --git a/core/templatetags/joinsep.py b/core/templatetags/joinsep.py new file mode 100644 index 0000000..4f0c06b --- /dev/null +++ b/core/templatetags/joinsep.py @@ -0,0 +1,8 @@ +from django import template + +register = template.Library() + + +@register.filter +def joinsep(lst, sep): + return sep.join(lst) diff --git a/core/templatetags/nsep.py b/core/templatetags/nsep.py new file mode 100644 index 0000000..742ae57 --- /dev/null +++ b/core/templatetags/nsep.py @@ -0,0 +1,8 @@ +from django import template + +register = template.Library() + + +@register.filter +def nsep(lst): + return "\n".join(lst) diff --git a/core/templatetags/urlsafe.py b/core/templatetags/urlsafe.py new file mode 100644 index 0000000..c673475 --- /dev/null +++ b/core/templatetags/urlsafe.py @@ -0,0 +1,10 @@ +import urllib.parse + +from django import template + +register = template.Library() + + +@register.filter +def urlsafe(h): + return urllib.parse.quote(h, safe="") diff --git a/core/tests.py b/core/tests.py new file mode 100644 index 0000000..a79ca8b --- /dev/null +++ b/core/tests.py @@ -0,0 +1,3 @@ +# from django.test import TestCase + +# Create your tests here. diff --git a/core/tests/__init__.py b/core/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/util/__init__.py b/core/util/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/core/util/django_settings_export.py b/core/util/django_settings_export.py new file mode 100644 index 0000000..b31fe40 --- /dev/null +++ b/core/util/django_settings_export.py @@ -0,0 +1,69 @@ +""" +Export Django settings to templates + +https://github.com/jakubroztocil/django-settings-export + +""" +from django.conf import settings as django_settings +from django.core.exceptions import ImproperlyConfigured + +__version__ = "1.2.1" + + +VARIABLE_NAME = getattr(django_settings, "SETTINGS_EXPORT_VARIABLE_NAME", "settings") + + +class SettingsExportError(ImproperlyConfigured): + """Base error indicating misconfiguration.""" + + +class UndefinedSettingError(SettingsExportError): + """An undefined setting name included in SETTINGS_EXPORT.""" + + +class UnexportedSettingError(SettingsExportError): + """An unexported setting has been accessed from a template.""" + + +def settings_export(request): + """ + The template context processor that adds settings defined in + `SETTINGS_EXPORT` to the context. If SETTINGS_EXPORT_VARIABLE_NAME is not + set, the context variable will be `settings`. + + """ + variable_name = getattr( + django_settings, "SETTINGS_EXPORT_VARIABLE_NAME", "settings" + ) + return {variable_name: _get_exported_settings()} + + +class ExportedSettings(dict): + def __getitem__(self, item): + """Fail loudly if accessing a setting that is not exported.""" + try: + return super(ExportedSettings, self).__getitem__(item) + except KeyError: + if hasattr(self, item): + # Let the KeyError propagate so that Django templates + # can access the existing attribute (e.g. `items()`). + raise + raise UnexportedSettingError( + "The `{key}` setting key is not accessible" + ' from templates: add "{key}" to' + " `settings.SETTINGS_EXPORT` to change that.".format(key=item) + ) + + +def _get_exported_settings(): + exported_settings = ExportedSettings() + for key in getattr(django_settings, "SETTINGS_EXPORT", []): + try: + value = getattr(django_settings, key) + except AttributeError: + raise UndefinedSettingError( + '"settings.%s" is included in settings.SETTINGS_EXPORT ' + "but it does not exist. " % key + ) + exported_settings[key] = value + return exported_settings diff --git a/core/util/logs.py b/core/util/logs.py new file mode 100644 index 0000000..26cc230 --- /dev/null +++ b/core/util/logs.py @@ -0,0 +1,68 @@ +# Other library imports +import logging + +log = logging.getLogger("util") + +debug = True + +# Color definitions +BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8) +COLORS = { + "WARNING": YELLOW, + "INFO": WHITE, + "DEBUG": BLUE, + "CRITICAL": YELLOW, + "ERROR": RED, +} +RESET_SEQ = "\033[0m" +COLOR_SEQ = "\033[1;%dm" +BOLD_SEQ = "\033[1m" + + +def formatter_message(message, use_color=True): + if use_color: + message = message.replace("$RESET", RESET_SEQ).replace("$BOLD", BOLD_SEQ) + else: + message = message.replace("$RESET", "").replace("$BOLD", "") + return message + + +class ColoredFormatter(logging.Formatter): + def __init__(self, msg, use_color=True): + logging.Formatter.__init__(self, msg) + self.use_color = use_color + + def format(self, record): + levelname = record.levelname + if self.use_color and levelname in COLORS: + levelname_color = ( + COLOR_SEQ % (30 + COLORS[levelname]) + levelname + RESET_SEQ + ) + record.levelname = levelname_color + return logging.Formatter.format(self, record) + + +def get_logger(name): + # Define the logging format + FORMAT = "%(asctime)s %(levelname)18s $BOLD%(name)13s$RESET - %(message)s" + COLOR_FORMAT = formatter_message(FORMAT, True) + color_formatter = ColoredFormatter(COLOR_FORMAT) + # formatter = logging.Formatter( + + # Why is this so complicated? + ch = logging.StreamHandler() + ch.setLevel(logging.INFO) + # ch.setFormatter(formatter) + ch.setFormatter(color_formatter) + + # Define the logger on the base class + log = logging.getLogger(name) + log.setLevel(logging.INFO) + if debug: + log.setLevel(logging.DEBUG) + ch.setLevel(logging.DEBUG) + + # Add the handler and stop it being silly and printing everything twice + log.addHandler(ch) + log.propagate = False + return log diff --git a/core/views.py b/core/views.py new file mode 100644 index 0000000..e69de29 diff --git a/core/views/__init__.py b/core/views/__init__.py new file mode 100644 index 0000000..732a099 --- /dev/null +++ b/core/views/__init__.py @@ -0,0 +1,341 @@ +import uuid + +from django.core.exceptions import ImproperlyConfigured +from django.core.paginator import Paginator +from django.db.models import QuerySet +from django.http import Http404, HttpResponseBadRequest +from django.urls import reverse +from django.views.generic.detail import DetailView +from django.views.generic.edit import CreateView, DeleteView, UpdateView +from django.views.generic.list import ListView +from rest_framework.parsers import FormParser + +from core.util import logs + +log = logs.get_logger(__name__) + + +class RestrictedViewMixin: + """ + This mixin overrides two helpers in order to pass the user object to the filters. + get_queryset alters the objects returned for list views. + get_form_kwargs passes the request object to the form class. Remaining permissions + checks are in forms.py + """ + + allow_empty = True + queryset = None + model = None + paginate_by = None + paginate_orphans = 0 + context_object_name = None + paginator_class = Paginator + page_kwarg = "page" + ordering = None + + def get_queryset(self): + """ + This function is overriden to filter the objects by the requesting user. + """ + if self.queryset is not None: + queryset = self.queryset + if isinstance(queryset, QuerySet): + # queryset = queryset.all() + queryset = queryset.filter(user=self.request.user) + elif self.model is not None: + queryset = self.model._default_manager.filter(user=self.request.user) + else: + raise ImproperlyConfigured( + "%(cls)s is missing a QuerySet. Define " + "%(cls)s.model, %(cls)s.queryset, or override " + "%(cls)s.get_queryset()." % {"cls": self.__class__.__name__} + ) + if hasattr(self, "get_ordering"): + ordering = self.get_ordering() + if ordering: + if isinstance(ordering, str): + ordering = (ordering,) + queryset = queryset.order_by(*ordering) + + return queryset + + def get_form_kwargs(self): + """Passes the request object to the form class. + This is necessary to only display members that belong to a given user""" + + kwargs = super().get_form_kwargs() + kwargs["request"] = self.request + return kwargs + + +class ObjectNameMixin(object): + def __init__(self, *args, **kwargs): + self.title_singular = self.model._meta.verbose_name.title() # Hook + self.context_object_name_singular = self.title_singular.lower() # hook + self.title = self.model._meta.verbose_name_plural.title() # Hooks + self.context_object_name = self.title.lower() # hooks + + self.context_object_name = self.context_object_name.replace(" ", "") + self.context_object_name_singular = self.context_object_name_singular.replace( + " ", "" + ) + super().__init__(*args, **kwargs) + + +class ObjectList(RestrictedViewMixin, ObjectNameMixin, ListView): + allowed_types = ["modal", "widget", "window", "page"] + window_content = "window-content/objects.html" + list_template = None + + page_title = None + page_subtitle = None + + list_url_name = None + # WARNING: TAKEN FROM locals() + list_url_args = ["type"] + + submit_url_name = None + + delete_all_url_name = None + + # copied from BaseListView + def get(self, request, *args, **kwargs): + self.request = request + self.object_list = self.get_queryset() + allow_empty = self.get_allow_empty() + + type = kwargs.get("type", None) + if not type: + return HttpResponseBadRequest("No type specified") + if type not in self.allowed_types: + return HttpResponseBadRequest("Invalid type specified") + self.template_name = f"wm/{type}.html" + unique = str(uuid.uuid4())[:8] + + list_url_args = {} + for arg in self.list_url_args: + list_url_args[arg] = locals()[arg] + + orig_type = type + if type == "page": + type = "modal" + + if not allow_empty: + # When pagination is enabled and object_list is a queryset, + # it's better to do a cheap query than to load the unpaginated + # queryset in memory. + if self.get_paginate_by(self.object_list) is not None and hasattr( + self.object_list, "exists" + ): + is_empty = not self.object_list.exists() + else: + is_empty = not self.object_list + if is_empty: + raise Http404("Empty list") + submit_url = reverse(self.submit_url_name, kwargs={"type": type}) + + list_url = reverse(self.list_url_name, kwargs=list_url_args) + context = self.get_context_data() + context["title"] = self.title + f" ({type})" + context["title_singular"] = self.title_singular + context["unique"] = unique + context["window_content"] = self.window_content + context["list_template"] = self.list_template + context["page_title"] = self.page_title + context["page_subtitle"] = self.page_subtitle + context["type"] = type + context["submit_url"] = submit_url + context["list_url"] = list_url + context["context_object_name"] = self.context_object_name + context["context_object_name_singular"] = self.context_object_name_singular + if self.delete_all_url_name: + context["delete_all_url"] = reverse(self.delete_all_url_name) + + # Return partials for HTMX + if self.request.htmx: + if orig_type == "page": + self.template_name = self.list_template + else: + context["window_content"] = self.list_template + return self.render_to_response(context) + + +class ObjectCreate(RestrictedViewMixin, ObjectNameMixin, CreateView): + allowed_types = ["modal", "widget", "window", "page"] + window_content = "window-content/object-form.html" + parser_classes = [FormParser] + + model = None + submit_url_name = None + + list_url_name = None + # WARNING: TAKEN FROM locals() + list_url_args = ["type"] + + request = None + + def post_save(self, obj): + pass + + def form_valid(self, form): + obj = form.save(commit=False) + if self.request is None: + raise Exception("Request is None") + obj.user = self.request.user + obj.save() + form.save_m2m() + self.post_save(obj) + context = {"message": "Object created", "class": "success"} + response = self.render_to_response(context) + response["HX-Trigger"] = f"{self.context_object_name_singular}Event" + return response + + def form_invalid(self, form): + """If the form is invalid, render the invalid form.""" + return self.get(self.request, **self.kwargs, form=form) + + def get(self, request, *args, **kwargs): + self.request = request + self.kwargs = kwargs + type = kwargs.get("type", None) + if not type: + return HttpResponseBadRequest("No type specified") + if type not in self.allowed_types: + return HttpResponseBadRequest("Invalid type specified") + self.template_name = f"wm/{type}.html" + unique = str(uuid.uuid4())[:8] + + list_url_args = {} + for arg in self.list_url_args: + list_url_args[arg] = locals()[arg] + + if type == "page": + type = "modal" + + self.object = None + submit_url = reverse(self.submit_url_name, kwargs={"type": type}) + + list_url = reverse(self.list_url_name, kwargs=list_url_args) + context = self.get_context_data() + form = kwargs.get("form", None) + if form: + context["form"] = form + context["unique"] = unique + context["window_content"] = self.window_content + context["context_object_name"] = self.context_object_name + context["context_object_name_singular"] = self.context_object_name_singular + context["submit_url"] = submit_url + context["list_url"] = list_url + context["type"] = type + response = self.render_to_response(context) + # response["HX-Trigger"] = f"{self.context_object_name_singular}Event" + return response + + def post(self, request, *args, **kwargs): + self.request = request + self.template_name = "partials/notify.html" + return super().post(request, *args, **kwargs) + + +class ObjectRead(RestrictedViewMixin, ObjectNameMixin, DetailView): + allowed_types = ["modal", "widget", "window", "page"] + window_content = "window-content/object.html" + + model = None + + +class ObjectUpdate(RestrictedViewMixin, ObjectNameMixin, UpdateView): + allowed_types = ["modal", "widget", "window", "page"] + window_content = "window-content/object-form.html" + parser_classes = [FormParser] + + model = None + submit_url_name = None + + request = None + + def post_save(self, obj): + pass + + def form_valid(self, form): + obj = form.save(commit=False) + if self.request is None: + raise Exception("Request is None") + obj.save() + form.save_m2m() + self.post_save(obj) + context = {"message": "Object updated", "class": "success"} + response = self.render_to_response(context) + response["HX-Trigger"] = f"{self.context_object_name_singular}Event" + return response + + def form_invalid(self, form): + """If the form is invalid, render the invalid form.""" + return self.get(self.request, **self.kwargs, form=form) + + def get(self, request, *args, **kwargs): + self.request = request + type = kwargs.get("type", None) + pk = kwargs.get("pk", None) + if not type: + return HttpResponseBadRequest("No type specified") + if not pk: + return HttpResponseBadRequest("No pk specified") + if type not in self.allowed_types: + return HttpResponseBadRequest("Invalid type specified") + self.template_name = f"wm/{type}.html" + unique = str(uuid.uuid4())[:8] + if type == "page": + type = "modal" + + self.object = self.get_object() + submit_url = reverse(self.submit_url_name, kwargs={"type": type, "pk": pk}) + context = self.get_context_data() + form = kwargs.get("form", None) + if form: + context["form"] = form + context["unique"] = unique + context["window_content"] = self.window_content + context["context_object_name"] = self.context_object_name + context["context_object_name_singular"] = self.context_object_name_singular + context["submit_url"] = submit_url + context["type"] = type + response = self.render_to_response(context) + # response["HX-Trigger"] = f"{self.context_object_name_singular}Event" + return response + + def post(self, request, *args, **kwargs): + self.request = request + self.template_name = "partials/notify.html" + return super().post(request, *args, **kwargs) + + +class ObjectDelete(RestrictedViewMixin, ObjectNameMixin, DeleteView): + model = None + template_name = "partials/notify.html" + + # Overriden to prevent success URL from being used + def delete(self, request, *args, **kwargs): + """ + Call the delete() method on the fetched object and then redirect to the + success URL. + """ + self.object = self.get_object() + # success_url = self.get_success_url() + self.object.delete() + context = {"message": "Object deleted", "class": "success"} + response = self.render_to_response(context) + response["HX-Trigger"] = f"{self.context_object_name_singular}Event" + return response + + # This will be used in newer Django versions, until then we get a warning + def form_valid(self, form): + """ + Call the delete() method on the fetched object. + """ + self.object = self.get_object() + self.object.delete() + context = {"message": "Object deleted", "class": "success"} + response = self.render_to_response(context) + response["HX-Trigger"] = f"{self.context_object_name_singular}Event" + return response diff --git a/core/views/base.py b/core/views/base.py new file mode 100644 index 0000000..52649f8 --- /dev/null +++ b/core/views/base.py @@ -0,0 +1,42 @@ +import logging + +from django.conf import settings +from django.shortcuts import render +from django.urls import reverse_lazy +from django.views import View +from django.views.generic.edit import CreateView + +from core.forms import NewUserForm +from core.lib.notify import raw_sendmsg + +logger = logging.getLogger(__name__) + +# Create your views here + + +class Home(View): + template_name = "index.html" + + def get(self, request): + return render(request, self.template_name) + + +class Signup(CreateView): + form_class = NewUserForm + success_url = reverse_lazy("two_factor:login") + template_name = "registration/signup.html" + + def form_valid(self, form): + """If the form is valid, save the associated model.""" + self.object = form.save() + raw_sendmsg( + f"New user signup: {self.object.username} - {self.object.email}", + title="New user", + topic=settings.NOTIFY_TOPIC, + ) + return super().form_valid(form) + + def get(self, request, *args, **kwargs): + if not settings.REGISTRATION_OPEN: + return render(request, "registration/registration_closed.html") + return super().get(request, *args, **kwargs) diff --git a/core/views/demo.py b/core/views/demo.py new file mode 100644 index 0000000..cb51657 --- /dev/null +++ b/core/views/demo.py @@ -0,0 +1,26 @@ +import uuid + +from django.shortcuts import render +from django.views import View + + +class DemoModal(View): + template_name = "modals/modal.html" + + def get(self, request): + return render(request, self.template_name) + + +class DemoWidget(View): + template_name = "widgets/widget.html" + + def get(self, request): + unique = str(uuid.uuid4())[:8] + return render(request, self.template_name, {"unique": unique}) + + +class DemoWindow(View): + template_name = "windows/window.html" + + def get(self, request): + return render(request, self.template_name) diff --git a/core/views/manage/permissions.py b/core/views/manage/permissions.py new file mode 100644 index 0000000..0f6fb33 --- /dev/null +++ b/core/views/manage/permissions.py @@ -0,0 +1,6 @@ +from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin + + +class SuperUserRequiredMixin(LoginRequiredMixin, UserPassesTestMixin): + def test_func(self): + return self.request.user.is_superuser diff --git a/core/views/notifications.py b/core/views/notifications.py new file mode 100644 index 0000000..3ef96a0 --- /dev/null +++ b/core/views/notifications.py @@ -0,0 +1,30 @@ +from django.contrib.auth.mixins import LoginRequiredMixin +from mixins.views import ObjectUpdate + +from core.forms import NotificationSettingsForm +from core.models import NotificationSettings + + +# Notifications - we create a new notification settings object if there isn't one +# Hence, there is only an update view, not a create view. +class NotificationsUpdate(LoginRequiredMixin, ObjectUpdate): + model = NotificationSettings + form_class = NotificationSettingsForm + + page_title = "Update your notification settings" + page_subtitle = ( + "At least the topic must be set if you want to receive notifications." + ) + + submit_url_name = "notifications_update" + submit_url_args = ["type"] + + pk_required = False + + hide_cancel = True + + def get_object(self, **kwargs): + notification_settings, _ = NotificationSettings.objects.get_or_create( + user=self.request.user + ) + return notification_settings diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3dba691 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,125 @@ +version: "2.2" + +services: + app: + image: xf/envelope:prod + container_name: envelope + build: + context: . + args: + OPERATION: ${OPERATION} + volumes: + - ${REPO_DIR}:/code + - ${REPO_DIR}/docker/uwsgi.ini:/conf/uwsgi.ini + - ${APP_DATABASE_FILE}:/conf/db.sqlite3 + - app_static:${STATIC_ROOT} + #ports: + # - "8000:8000" # uwsgi socket + env_file: + - stack.env + volumes_from: + - tmp + depends_on: + redis: + condition: service_healthy + migration: + condition: service_started + collectstatic: + condition: service_started + networks: + - default + - xf + + migration: + image: xf/envelope:prod + container_name: migration_envelope + build: + context: . + args: + OPERATION: ${OPERATION} + command: sh -c '. /venv/bin/activate && python manage.py migrate --noinput' + volumes: + - ${REPO_DIR}:/code + - ${REPO_DIR}/docker/uwsgi.ini:/conf/uwsgi.ini + - ${APP_DATABASE_FILE}:/conf/db.sqlite3 + - app_static:${STATIC_ROOT} + volumes_from: + - tmp + env_file: + - stack.env + + collectstatic: + image: xf/envelope:prod + container_name: collectstatic_envelope + build: + context: . + args: + OPERATION: ${OPERATION} + command: sh -c '. /venv/bin/activate && python manage.py collectstatic --noinput' + volumes: + - ${REPO_DIR}:/code + - ${APP_DATABASE_FILE}:/conf/db.sqlite3 + - app_static:${STATIC_ROOT} + volumes_from: + - tmp + env_file: + - stack.env + + nginx: + image: nginx:latest + container_name: nginx_envelope + ports: + - ${APP_PORT}:9999 + ulimits: + nproc: 65535 + nofile: + soft: 65535 + hard: 65535 + volumes: + - ${REPO_DIR}:/code + - ${REPO_DIR}/docker/nginx/conf.d/${OPERATION}.conf:/etc/nginx/conf.d/default.conf + - app_static:${STATIC_ROOT} + volumes_from: + - tmp + networks: + - default + - xf + depends_on: + app: + condition: service_started + + tmp: + image: busybox + container_name: tmp_envelope + command: chmod -R 777 /var/run/socks + volumes: + - /var/run/socks + + redis: + image: redis + command: redis-server /etc/redis.conf + ulimits: + nproc: 65535 + nofile: + soft: 65535 + hard: 65535 + volumes: + - ${REPO_DIR}/docker/redis.conf:/etc/redis.conf + - redis_data:/data + volumes_from: + - tmp + healthcheck: + test: "redis-cli -s /var/run/socks/redis.sock ping" + interval: 2s + timeout: 2s + retries: 15 + +networks: + default: + driver: bridge + xf: + external: true + +volumes: + app_static: {} + redis_data: {} diff --git a/docker/nginx/conf.d/dev.conf b/docker/nginx/conf.d/dev.conf new file mode 100644 index 0000000..bd3ab31 --- /dev/null +++ b/docker/nginx/conf.d/dev.conf @@ -0,0 +1,23 @@ +upstream django { + #server app:8000; + #server unix:///var/run/socks/app.sock; + server app:8000; +} + +server { + listen 9999; + + location = /favicon.ico { access_log off; log_not_found off; } + + location /static/ { + root /conf; + } + + location / { + proxy_pass http://django; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + } + +} \ No newline at end of file diff --git a/docker/nginx/conf.d/uwsgi.conf b/docker/nginx/conf.d/uwsgi.conf new file mode 100644 index 0000000..1e19ae9 --- /dev/null +++ b/docker/nginx/conf.d/uwsgi.conf @@ -0,0 +1,24 @@ +upstream django { + server app:8000; + #server unix:///var/run/socks/app.sock; +} + +server { + listen 9999; + + location = /favicon.ico { access_log off; log_not_found off; } + + location /static/ { + root /conf; + } + + location / { + include /etc/nginx/uwsgi_params; # the uwsgi_params file you installed + uwsgi_pass django; + uwsgi_param Host $host; + uwsgi_param X-Real-IP $remote_addr; + uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for; + uwsgi_param X-Forwarded-Proto $http_x_forwarded_proto; + } + +} \ No newline at end of file diff --git a/docker/redis.conf b/docker/redis.conf new file mode 100644 index 0000000..424a612 --- /dev/null +++ b/docker/redis.conf @@ -0,0 +1,2 @@ +unixsocket /var/run/socks/redis.sock +unixsocketperm 777 \ No newline at end of file diff --git a/docker/uwsgi.ini b/docker/uwsgi.ini new file mode 100644 index 0000000..4f952d0 --- /dev/null +++ b/docker/uwsgi.ini @@ -0,0 +1,12 @@ +[uwsgi] +chdir=/code +module=app.wsgi:application +env=DJANGO_SETTINGS_MODULE=app.settings +master=1 +pidfile=/tmp/project-master.pid +socket=0.0.0.0:8000 +harakiri=20 +max-requests=100000 +vacuum=1 +home=/venv +processes=12 diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..1a64b14 --- /dev/null +++ b/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings") + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == "__main__": + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ab2e7bc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,31 @@ +wheel +uwsgi +django +pre-commit +django-crispy-forms==1.14.0 +crispy-bulma +# stripe +django-rest-framework +uvloop +uvicorn[standard] +gunicorn +django-htmx +cryptography +django-debug-toolbar +django-debug-toolbar-template-profiler +orjson +watchfiles +django-otp +django-two-factor-auth +django-otp-yubikey +phonenumbers +qrcode +pydantic +# glom +git+https://git.zm.is/XF/django-crud-mixins +# pyroscope-io +# For caching +redis +hiredis +django-cachalot +django_redis diff --git a/stack.env.example b/stack.env.example new file mode 100644 index 0000000..b11951e --- /dev/null +++ b/stack.env.example @@ -0,0 +1,16 @@ +APP_PORT=5006 +REPO_DIR=. +APP_LOCAL_SETTINGS=./app/local_settings.py +APP_DATABASE_FILE=./db.sqlite3 +DOMAIN=dev.local +URL=http://127.0.0.1:5006 +ALLOWED_HOSTS=127.0.0.1,dev.local,zm.is,localhost,xf +NOTIFY_TOPIC=some-ntfy-topic +CSRF_TRUSTED_ORIGINS=http://127.0.0.1:5006,http://localhost:5006,http://qi:5006 +DEBUG=y +SECRET_KEY=asdkld00s0s0ds +STATIC_ROOT=/conf/static +REGISTRATION_OPEN=1 +OPERATION=dev +PROFILER=0 +BILLING_ENABLED=0