diff --git a/.gcloudignore b/.gcloudignore new file mode 100644 index 0000000..614912e --- /dev/null +++ b/.gcloudignore @@ -0,0 +1,21 @@ +# This file specifies files that are *not* uploaded to Google Cloud +# using gcloud. It follows the same syntax as .gitignore, with the addition of +# "#!include" directives (which insert the entries of the given .gitignore-style +# file at that point). +# +# For more information, run: +# $ gcloud topic gcloudignore +# +.gcloudignore +# If you would like to upload your .git directory, .gitignore file or files +# from your .gitignore file, remove the corresponding line +# below: +.git +.gitignore +venv/ +dev/ + +# Python pycache: +__pycache__/ +# Ignored by the build system +/setup.cfg \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..dac4eb8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,141 @@ +# Django # +*.log +*.pot +*.pyc +__pycache__ +db.sqlite3 +media + +# Backup files # +*.bak + +# If you are using PyCharm # +# User-specific stuff +.idea/ + + +# AWS User-specific +.idea/**/aws.xml + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# File-based project format +*.iws + +# IntelliJ +out/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Python # +*.py[cod] +*$py.class + +# Distribution / packaging +.Python build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.whl +*.egg-info/ +.installed.cfg +*.egg +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +.pytest_cache/ +nosetests.xml +coverage.xml +*.cover +.hypothesis/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery +celerybeat-schedule.* + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + +# Sublime Text # +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache +*.sublime-workspace +*.sublime-project + +# sftp configuration file +sftp-config.json + +# Package control specific files Package +Control.last-run +Control.ca-list +Control.ca-bundle +Control.system-ca-bundle +GitHub.sublime-settings + +# Visual Studio Code # +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history + + +custom/migrations/* +authorization/migrations/* +configuration/migrations/* +locations/migrations/* +locations/views/locations.json \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100755 index 0000000..11607f3 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,13 @@ +stages: + - merge + +merge_dev_to_main: + stage: merge + only: + - dev + script: + - git config user.email "your_email@example.com" + - git config user.name "Your Name" + - git checkout main + - git merge --no-ff dev + - git push origin main diff --git a/README.txt b/README.txt new file mode 100755 index 0000000..e69de29 diff --git a/app.yaml b/app.yaml new file mode 100644 index 0000000..0b926cc --- /dev/null +++ b/app.yaml @@ -0,0 +1,26 @@ +runtime: python312 + +entrypoint: gunicorn --bind :$PORT problematy.wsgi:application + +env_variables: + APPENGINE_URL: your_app_uri + SECRET_KEY: your_secret_key + DB_NAME: your_db_name + DB_USER: your_db_user + DB_PASSWORD: your_db_password + DB_HOST: your_db_host + DB_PORT: your_db_port + LOCATIONS_BLOB_FILEPATH: your_json_filepath + APPLICATION_BUCKET_NAME: your_bucket_name + +handlers: +# This configures Google App Engine to serve the files in the app's static +# directory. +- url: /static + static_dir: static/ + +# This handler routes all requests not caught above to your main app. It is +# required when static routes are defined, but can be omitted (along with +# the entire handlers section) when there are no static files defined. +- url: /.* + script: auto \ No newline at end of file diff --git a/authorization/__init__.py b/authorization/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/authorization/admin/__init__.py b/authorization/admin/__init__.py new file mode 100755 index 0000000..c5bb239 --- /dev/null +++ b/authorization/admin/__init__.py @@ -0,0 +1,2 @@ +from .permission_admin import * +from .custom_user_admin import * diff --git a/authorization/admin/custom_user_admin.py b/authorization/admin/custom_user_admin.py new file mode 100755 index 0000000..d5dc9ed --- /dev/null +++ b/authorization/admin/custom_user_admin.py @@ -0,0 +1,23 @@ +from django.contrib import admin +from django.contrib.auth.admin import UserAdmin +from authorization.models.custom_user import CustomUser + + +@admin.register(CustomUser) +class CustomUserAdmin(UserAdmin): + model = CustomUser + list_display = ('email', 'first_name', 'last_name', 'role', 'is_staff', 'date_joined', 'last_login') + list_filter = ('is_staff', 'is_active', 'role') + fieldsets = ( + (None, {'fields': ('email', 'password', 'first_name', 'last_name', 'role')}), + ('Permissions', {'fields': ('is_staff', 'is_active')}), + ('Important dates', {'fields': ('last_login', 'date_joined')}), + ) + add_fieldsets = ( + (None, { + 'classes': ('wide',), + 'fields': ('email', 'first_name', 'last_name', 'role', 'password1', 'password2', 'is_staff', 'is_active')} + ), + ) + search_fields = ('email', 'first_name', 'last_name') + ordering = ('email',) diff --git a/authorization/admin/permission_admin.py b/authorization/admin/permission_admin.py new file mode 100755 index 0000000..611fe2c --- /dev/null +++ b/authorization/admin/permission_admin.py @@ -0,0 +1,8 @@ +from django.contrib import admin +from authorization.models import Permission + + +@admin.register(Permission) +class PermissionAdmin(admin.ModelAdmin): + list_display = ['name', 'codename'] + fields = ['name'] diff --git a/authorization/apps.py b/authorization/apps.py new file mode 100755 index 0000000..565f328 --- /dev/null +++ b/authorization/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AuthorizationConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'authorization' diff --git a/authorization/forms/__init__.py b/authorization/forms/__init__.py new file mode 100755 index 0000000..642ffe0 --- /dev/null +++ b/authorization/forms/__init__.py @@ -0,0 +1,2 @@ +from .auth_form import * +from .role_form import * diff --git a/authorization/forms/auth_form.py b/authorization/forms/auth_form.py new file mode 100755 index 0000000..8dd7ba6 --- /dev/null +++ b/authorization/forms/auth_form.py @@ -0,0 +1,21 @@ +from django import forms +from django.contrib.auth import authenticate +from django.contrib.auth.forms import AuthenticationForm +from django.utils.translation import gettext_lazy as _ + + +class CustomAuthenticationForm(AuthenticationForm): + username = forms.EmailField(label=_("Email"), widget=forms.TextInput(attrs={'autofocus': True})) + + def clean(self): + email = self.cleaned_data.get('username') + password = self.cleaned_data.get('password') + + if email is not None and password: + self.user_cache = authenticate(self.request, username=email, password=password) + if self.user_cache is None: + raise self.get_invalid_login_error() + else: + self.confirm_login_allowed(self.user_cache) + + return self.cleaned_data \ No newline at end of file diff --git a/authorization/forms/role_form.py b/authorization/forms/role_form.py new file mode 100755 index 0000000..4b1276d --- /dev/null +++ b/authorization/forms/role_form.py @@ -0,0 +1,19 @@ +from django import forms + +from authorization.models import Role, PermissionChoices, Permission + + +class RoleForm(forms.ModelForm): + permissions = forms.ModelMultipleChoiceField( + queryset=Permission.objects.all(), + widget=forms.CheckboxSelectMultiple, + required=False + ) + + class Meta: + model = Role + fields = ['name', 'permissions'] + + def __init__(self, *args, **kwargs): + super(RoleForm, self).__init__(*args, **kwargs) + self.fields['permissions'].widget.attrs.update({'class': 'form-check-input'}) diff --git a/authorization/forms/user_edit_form.py b/authorization/forms/user_edit_form.py new file mode 100755 index 0000000..d4672c7 --- /dev/null +++ b/authorization/forms/user_edit_form.py @@ -0,0 +1,44 @@ +from django import forms +from django.contrib.auth.forms import UserChangeForm + +from authorization.models import CustomUser + + +class EditUserForm(UserChangeForm): + password1 = forms.CharField( + label="Password", + widget=forms.PasswordInput, + required=False # Сделаем поле необязательным + ) + password2 = forms.CharField( + label="Password confirmation", + widget=forms.PasswordInput, + required=False # Сделаем поле необязательным + ) + + class Meta: + model = CustomUser + fields = ['first_name', 'last_name', 'email', 'role'] + widgets = { + 'email': forms.EmailInput(attrs={'readonly': 'readonly'}), + } + + def clean(self): + cleaned_data = super().clean() + password1 = cleaned_data.get("password1") + password2 = cleaned_data.get("password2") + + if password1 or password2: # Если есть хоть одно поле не пустое + if password1 != password2: + raise forms.ValidationError("Passwords do not match.") + return cleaned_data + + def save(self, commit=True): + user = super().save(commit=False) + password = self.cleaned_data.get("password1") + if password: # Теперь меняем пароль только если оба поля совпадают + user.set_password(password) + if commit: + user.save() + return user + diff --git a/authorization/models/__init__.py b/authorization/models/__init__.py new file mode 100755 index 0000000..87b9f7a --- /dev/null +++ b/authorization/models/__init__.py @@ -0,0 +1,2 @@ +from .custom_user import * +from .roles import * diff --git a/authorization/models/custom_user.py b/authorization/models/custom_user.py new file mode 100755 index 0000000..42859e6 --- /dev/null +++ b/authorization/models/custom_user.py @@ -0,0 +1,56 @@ +from django.db import models +from django.contrib.auth.models import AbstractBaseUser, BaseUserManager, PermissionsMixin +from django.utils.translation import gettext_lazy as _ +from django.utils import timezone + + +class CustomUserManager(BaseUserManager): + def create_user(self, email, first_name, last_name, password=None, **extra_fields): + if not email: + raise ValueError(_('The Email must be set')) + email = self.normalize_email(email) + user = self.model(email=email, first_name=first_name, last_name=last_name, **extra_fields) + user.set_password(password) + user.save(using=self._db) + return user + + def create_superuser(self, email, first_name, last_name, password=None, **extra_fields): + extra_fields.setdefault('is_staff', True) + extra_fields.setdefault('is_superuser', True) + + if extra_fields.get('is_staff') is not True: + raise ValueError(_('Superuser must have is_staff=True.')) + if extra_fields.get('is_superuser') is not True: + raise ValueError(_('Superuser must have is_superuser=True.')) + + return self.create_user(email, first_name, last_name, password, **extra_fields) + + +class CustomUser(AbstractBaseUser, PermissionsMixin): + email = models.EmailField(_('email address'), unique=True) + first_name = models.CharField(_('first name'), max_length=30, blank=False) + last_name = models.CharField(_('last name'), max_length=30, blank=False) + role = models.ForeignKey('Role', on_delete=models.SET_NULL, null=True, blank=True, verbose_name=_('role')) + is_staff = models.BooleanField(default=False) + is_active = models.BooleanField(default=True) + date_joined = models.DateTimeField(_('date joined'), default=timezone.now) + last_login = models.DateTimeField(_('last login'), default=timezone.now, blank=True, null=True) + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + objects = CustomUserManager() + + USERNAME_FIELD = 'email' + REQUIRED_FIELDS = ['first_name', 'last_name'] + + def __str__(self): + return self.email + + def get_full_name(self): + return f'{self.first_name} {self.last_name}' + + def has_role_permission(self, perm_codename): + if self.is_superuser: + return True + return self.role.permissions.filter(codename=perm_codename).exists() if self.role else False diff --git a/authorization/models/roles.py b/authorization/models/roles.py new file mode 100755 index 0000000..f685f55 --- /dev/null +++ b/authorization/models/roles.py @@ -0,0 +1,49 @@ +from django.db import models +from django.utils.text import slugify +from django.utils.translation import gettext_lazy as _ + + +class Role(models.Model): + name = models.CharField(_('role name'), max_length=255, unique=True) + permissions = models.ManyToManyField('Permission', related_name='roles') + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + def __str__(self): + return self.name + + +class PermissionChoices(models.TextChoices): + EDIT_LOCATIONS = 'edit_locations', _('Edit Locations') + DELETE_LOCATIONS = 'delete_locations', _('Delete Locations') + ADD_LOCATIONS = 'add_locations', _('Add Locations') + CHECK_LOCATIONS = 'check_locations', _('Check Locations') + MANAGE_USERS = 'manage_users', _('Manage Users') + CONFIGURATION_ROLES = 'configuration_roles', _('Configuration: Roles') + CONFIGURATION_ATTRIBUTES_AND_VALUES = 'configuration_attributes_and_values', _('Configuration: Attributes & Values') + CONFIGURATION_TYPE_OF_PLACES = 'configuration_type_of_places', _('Configuration: Types of Places') + CONFIGURATION_GENERAL_SETTINGS = 'configuration_general_settings', _('Configuration: General Settings') + + +class Permission(models.Model): + name = models.CharField( + _('permission name'), + max_length=255, + unique=True, + choices=PermissionChoices.choices + ) + codename = models.CharField( + _('permission codename'), + max_length=100, + unique=True, + blank=True + ) + + def save(self, *args, **kwargs): + if not self.codename: + self.codename = slugify(self.name) + super(Permission, self).save(*args, **kwargs) + + def __str__(self): + return self.name diff --git a/authorization/templatetags/__init__.py b/authorization/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/authorization/templatetags/custom_tags.py b/authorization/templatetags/custom_tags.py new file mode 100644 index 0000000..2246d5c --- /dev/null +++ b/authorization/templatetags/custom_tags.py @@ -0,0 +1,9 @@ +from django import template +from django.utils.safestring import mark_safe + +register = template.Library() + + +@register.filter(name='has_role_permission') +def has_role_permission(user, perm_codename): + return user.has_role_permission(perm_codename) diff --git a/authorization/urls.py b/authorization/urls.py new file mode 100755 index 0000000..97f4dc8 --- /dev/null +++ b/authorization/urls.py @@ -0,0 +1,20 @@ +from django.urls import path + +from authorization.views import RoleListView, RoleCreateView, RoleEditView, RoleDeleteView, \ + UsersListView, UserCreateView, UserEditView, UserDeleteView, \ + LoginView, CustomLogoutView + +urlpatterns = [ + path('login/', LoginView.as_view(), name='login'), + path('logout/', CustomLogoutView.as_view(), name='logout'), + # User + path("user/list", UsersListView.as_view(), name="user_list"), + path('user/create', UserCreateView.as_view(), name='create_user'), + path("user/edit//", UserEditView.as_view(), name="user_edit"), + path("user/delete//", UserDeleteView.as_view(), name="user_delete"), + # Role + path("roles/list/", RoleListView.as_view(), name='role_list'), + path('roles/create/', RoleCreateView.as_view(), name='create_role'), + path('roles/edit//', RoleEditView.as_view(), name='edit_role'), + path('roles/delete//', RoleDeleteView.as_view(), name='role_delete'), +] diff --git a/authorization/views/__init__.py b/authorization/views/__init__.py new file mode 100755 index 0000000..fc30c83 --- /dev/null +++ b/authorization/views/__init__.py @@ -0,0 +1,4 @@ +from .login_view import * +from .roles_view import * +from .user_view import * +from .logout_view import * diff --git a/authorization/views/login_view.py b/authorization/views/login_view.py new file mode 100755 index 0000000..4bd12d9 --- /dev/null +++ b/authorization/views/login_view.py @@ -0,0 +1,28 @@ +from django.contrib.auth.views import LogoutView +from django.shortcuts import render, redirect +from django.urls import reverse_lazy +from django.views import View +from django.contrib.auth import authenticate, login +from django.contrib import messages + +from authorization.forms import CustomAuthenticationForm + + +class LoginView(View): + authentication_form = CustomAuthenticationForm + template_name = "authorization/login.html" + + def get(self, request, *args, **kwargs): + return render(request, self.template_name) + + def post(self, request, *args, **kwargs): + email = request.POST.get('email') + password = request.POST.get('password') + user = authenticate(request, username=email, password=password) + + if user is not None: + login(request, user) + return redirect('index') + else: + messages.error(request, "Invalid email or password.") + return render(request, self.template_name) diff --git a/authorization/views/logout_view.py b/authorization/views/logout_view.py new file mode 100755 index 0000000..17b5a84 --- /dev/null +++ b/authorization/views/logout_view.py @@ -0,0 +1,7 @@ +from django.contrib.auth.mixins import LoginRequiredMixin +from django.contrib.auth.views import LogoutView +from django.urls import reverse_lazy + + +class CustomLogoutView(LoginRequiredMixin, LogoutView): + next_page = reverse_lazy('login') diff --git a/authorization/views/roles_view.py b/authorization/views/roles_view.py new file mode 100755 index 0000000..6956d3d --- /dev/null +++ b/authorization/views/roles_view.py @@ -0,0 +1,101 @@ +from django.contrib.auth.mixins import LoginRequiredMixin +from django.http import JsonResponse +from django.urls import reverse_lazy, reverse +from django.views import View +from django.views.generic import ListView, CreateView, UpdateView, DeleteView + +from django.shortcuts import render, redirect, get_object_or_404 +from django.contrib import messages + +from authorization.forms import RoleForm +from authorization.models import Role, Permission +from problematy.utils import get_user_permissions, PermissionMixin + + +class RoleListView(PermissionMixin, LoginRequiredMixin, ListView): + model = Role + context_object_name = 'roles' + template_name = 'authorization/roles_list.html' + paginate_by = 25 + + def has_permission(self): + return self.user_perms.get('can_configurate_roles', False) + + def get_queryset(self): + queryset = super(RoleListView, self).get_queryset() + return queryset.order_by('-updated_at', '-created_at') + + def get_context_data(self, *, object_list=None, **kwargs): + context = super(RoleListView, self).get_context_data(**kwargs) + paginator, page, queryset, is_paginated = self.paginate_queryset(self.get_queryset(), self.paginate_by) + + page_number = context.get('page_obj').number + per_page = context.get('paginator').per_page + start_index = (page_number - 1) * per_page + 1 + + context['paginator'] = paginator + context['page'] = page + context['queryset'] = queryset + context['is_paginated'] = is_paginated + context['start_index'] = start_index + context.update(get_user_permissions(self.request.user)) + return context + + +class RoleCreateView(PermissionMixin, LoginRequiredMixin, View): + template_name = "authorization/create_role.html" + + def has_permission(self): + return self.user_perms.get('can_configurate_roles', False) + + def get(self, request, *args, **kwargs): + form = RoleForm() + permissions = Permission.objects.all() + context = { + 'form': form, + 'permissions': permissions, + } + context.update(get_user_permissions(self.request.user)) + return render(request, self.template_name, context) + + def post(self, request, *args, **kwargs): + form = RoleForm(request.POST) + if form.is_valid(): + role = form.save(commit=False) + role.save() + form.save_m2m() + return redirect('role_list') + else: + return render(request, self.template_name, {'form': form}) + + +class RoleEditView(PermissionMixin, LoginRequiredMixin, UpdateView): + model = Role + form_class = RoleForm + template_name = 'authorization/edit_role.html' + context_object_name = 'role' + pk_url_kwarg = 'role_id' + + def has_permission(self): + return self.user_perms.get('can_configurate_roles', False) + + def get_context_data(self, *, object_list=None, **kwargs): + context = super().get_context_data(**kwargs) + context.update(get_user_permissions(self.request.user)) + return context + + def get_success_url(self): + return reverse('role_list') + + +class RoleDeleteView(PermissionMixin, LoginRequiredMixin, View): + def has_permission(self): + return self.user_perms.get('can_configurate_roles', False) + + def post(self, request, *args, **kwargs): + if not get_user_permissions(self.request.user).get("can_configurate_roles") and not self.request.user.is_superuser: + return redirect('user_list') + role_id = request.POST.get('id') + role = get_object_or_404(Role, pk=role_id) + role.delete() + return redirect('role_list') diff --git a/authorization/views/user_view.py b/authorization/views/user_view.py new file mode 100755 index 0000000..6decfd1 --- /dev/null +++ b/authorization/views/user_view.py @@ -0,0 +1,146 @@ +import re + +from django.contrib.auth.decorators import login_required, permission_required +from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage +from django.http import JsonResponse +from django.shortcuts import render, get_object_or_404, redirect +from django.contrib.auth.hashers import make_password +from django.contrib.auth.mixins import LoginRequiredMixin +from django.core.exceptions import ValidationError +from django.shortcuts import render, redirect +from django.views import View +from django.contrib import messages + +from authorization.forms.user_edit_form import EditUserForm +from authorization.models import CustomUser, Role +from problematy.utils import get_user_permissions, PermissionMixin + + +class UsersListView(PermissionMixin, LoginRequiredMixin, View): + model = CustomUser + template_name = "authorization/user_list.html" + paginate_by = 25 + + def has_permission(self): + return self.user_perms.get('can_manage_users', False) + + def get(self, request, *args, **kwargs): + user_list = CustomUser.objects.all().order_by('-is_superuser', '-updated_at', '-date_joined', '-created_at') + paginator = Paginator(user_list, self.paginate_by) + + page = request.GET.get('page', 1) + try: + users = paginator.page(page) + except PageNotAnInteger: + users = paginator.page(1) + except EmptyPage: + users = paginator.page(paginator.num_pages) + + start_index = (users.number - 1) * paginator.per_page + 1 + + context = { + 'users': users, + 'start_index': start_index, + } + context.update(get_user_permissions(self.request.user)) + return render(request, self.template_name, context) + + +class UserCreateView(PermissionMixin, LoginRequiredMixin, View): + template_name = 'authorization/create_user.html' + raise_exception = True + + def has_permission(self): + return self.user_perms.get('can_manage_users', False) + + def get(self, request, *args, **kwargs): + roles = Role.objects.all() + context = { + 'roles': roles, + } + context.update(get_user_permissions(self.request.user)) + return render(request, self.template_name, context) + + def post(self, request, *args, **kwargs): + first_name = request.POST.get('first_name') + last_name = request.POST.get('last_name') + email = request.POST.get('email') + role_id = request.POST.get('role') + password = request.POST.get('password1') + password_confirmation = request.POST.get('password2') + roles = Role.objects.all() + + if not re.match(r"[^@]+@[^@]+\.[^@]+", email): + messages.error(request, "Invalid email format.") + return render(request, self.template_name, {'roles': roles}) + + if password != password_confirmation: + messages.error(request, "Passwords do not match.") + return render(request, self.template_name, {'roles': roles}) + + try: + if CustomUser.objects.filter(email=email).exists(): + messages.error(request, "Email already exists.") + return render(request, self.template_name, {'roles': roles}) + + role = Role.objects.get(id=role_id) + user = CustomUser.objects.create( + first_name=first_name, + last_name=last_name, + email=email, + role=role, + password=make_password(password), + ) + + user.save() + return redirect('user_list') + except ValidationError as e: + messages.error(request, "Error creating user: " + str(e)) + return render(request, self.template_name, {'roles': roles}) + + +class UserEditView(PermissionMixin, LoginRequiredMixin, View): + + def has_permission(self): + return self.user_perms.get('can_manage_users', False) + + def get(self, request, pk): + user = get_object_or_404(CustomUser, pk=pk) + form = EditUserForm(instance=user) + roles = Role.objects.all() + context = { + 'form': form, + 'roles': roles, + 'user': user + } + context.update(get_user_permissions(self.request.user)) + return render(request, 'authorization/edit_user.html', context) + + def post(self, request, pk): + user = get_object_or_404(CustomUser, pk=pk) + form = EditUserForm(request.POST, instance=user) + if form.is_valid(): + form.save() + return redirect('user_list') + else: + messages.error(request, form.errors) # Добавляем сообщение об ошибке в интерфейс + roles = Role.objects.all() + context = { + 'form': form, + 'roles': roles, + 'user': user + } + context.update(get_user_permissions(self.request.user)) + return render(request, 'authorization/edit_user.html', context) + + +class UserDeleteView(PermissionMixin, LoginRequiredMixin, View): + def has_permission(self): + return self.user_perms.get('can_manage_users', False) + + def post(self, request, pk): + if not get_user_permissions(self.request.user).get("can_manage_users") and not self.request.user.is_superuser: + return redirect('user_list') + user = get_object_or_404(CustomUser, pk=pk) + user.delete() + return redirect('user_list') diff --git a/configuration/__init__.py b/configuration/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/configuration/admin/__init__.py b/configuration/admin/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/configuration/apps.py b/configuration/apps.py new file mode 100755 index 0000000..eab8aa0 --- /dev/null +++ b/configuration/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class ConfigurationConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'configuration' diff --git a/configuration/forms/__init__.py b/configuration/forms/__init__.py new file mode 100755 index 0000000..dc9decd --- /dev/null +++ b/configuration/forms/__init__.py @@ -0,0 +1,5 @@ +from .attribute_form import * +from .attribute_create_form import * +from .type_of_place_form import * +from .general_settings_form import * +from .value_form import * diff --git a/configuration/forms/attribute_create_form.py b/configuration/forms/attribute_create_form.py new file mode 100644 index 0000000..c0c781c --- /dev/null +++ b/configuration/forms/attribute_create_form.py @@ -0,0 +1,39 @@ +from django import forms +from configuration.models import Attribute, Value +from django.db import transaction + + +class AttributeCreateForm(forms.ModelForm): + values = forms.CharField( + widget=forms.Textarea(attrs={ + 'rows': 3, + 'class': 'form-control', + 'placeholder': 'Enter values separated by commas' + }), + required=False + ) + + class Meta: + model = Attribute + fields = ['name', 'values', 'visible_in_categories', 'visible_in_visible_data'] + + def __init__(self, *args, **kwargs): + super(AttributeCreateForm, self).__init__(*args, **kwargs) + if self.instance.pk: + initial_values = self.instance.get_values_list() + self.fields['values'].initial = ", ".join(initial_values) + + def clean_values(self): + values = self.cleaned_data.get('values', '') + if isinstance(values, list): + return values # или обработать список по вашему усмотрению + return [v.strip() for v in values.split(',') if v.strip()] + + def save_values(self, instance): + if self.cleaned_data['values']: + current_values = [value.strip() for value in self.cleaned_data['values'].split(',')] + existing_values = list(instance.values.values_list('content', flat=True)) + for value in current_values: + if value and value not in existing_values: + Value.objects.create(attribute=instance, content=value) + instance.values.exclude(content__in=current_values).delete() diff --git a/configuration/forms/attribute_form.py b/configuration/forms/attribute_form.py new file mode 100755 index 0000000..9eed203 --- /dev/null +++ b/configuration/forms/attribute_form.py @@ -0,0 +1,51 @@ +from django import forms +from configuration.models import Attribute, Value +from django.db import transaction + + +class AttributeForm(forms.ModelForm): + values = forms.CharField( + widget=forms.Textarea(attrs={ + 'rows': 3, + 'class': 'form-control', + 'placeholder': 'Enter values separated by commas' + }), + required=False + ) + class Meta: + model = Attribute + fields = ['name', 'values', 'visible_in_categories', 'visible_in_visible_data'] + + def __init__(self, *args, **kwargs): + super(AttributeForm, self).__init__(*args, **kwargs) + if self.instance.pk: + initial_values = self.instance.get_values_list() + self.fields['values'].initial = ", ".join(initial_values) + + def clean_values(self): + values = self.cleaned_data.get('values', '') + if isinstance(values, list): + return values # или обработать список по вашему усмотрению + return [v.strip() for v in values.split(',') if v.strip()] + + def save_values(self, instance): + current_values = self.cleaned_data['values'] + + if isinstance(current_values, str): + current_values = [value.strip() for value in current_values.split(',') if value.strip()] + + existing_values = list(instance.values.values_list('content', flat=True)) + for value in current_values: + if value and value not in existing_values: + Value.objects.create(attribute=instance, content=value) + # Удаляем неиспользуемые значения + instance.values.exclude(content__in=current_values).delete() + + def save_values(self, instance): + if self.cleaned_data['values']: + current_values = [value.strip() for value in self.cleaned_data['values'].split(',')] + existing_values = list(instance.values.values_list('content', flat=True)) + for value in current_values: + if value and value not in existing_values: + Value.objects.create(attribute=instance, content=value) + instance.values.exclude(content__in=current_values).delete() diff --git a/configuration/forms/formset.py b/configuration/forms/formset.py new file mode 100644 index 0000000..d0f0417 --- /dev/null +++ b/configuration/forms/formset.py @@ -0,0 +1,13 @@ +from django.forms import inlineformset_factory + +from configuration.forms import ValueForm +from configuration.models import Attribute, Value + + +ValueFormSet = inlineformset_factory( + Attribute, # Модель родителя + Value, # Модель для которой создается набор форм + fields=('content',), # Поля, которые будут включены в каждую форму набора + extra=1, # Количество пустых форм для отображения + can_delete=True # Позволить удалять формы +) \ No newline at end of file diff --git a/configuration/forms/general_settings_form.py b/configuration/forms/general_settings_form.py new file mode 100755 index 0000000..fb569dd --- /dev/null +++ b/configuration/forms/general_settings_form.py @@ -0,0 +1,25 @@ +# В вашем файле forms.py +from django import forms +from django.core.exceptions import ValidationError +from configuration.models import GeneralSetting + +class GeneralSettingForm(forms.ModelForm): + checking_period = forms.IntegerField( + min_value=1, + max_value=500, + widget=forms.NumberInput(attrs={ + 'class': 'form-control', + 'placeholder': 'Enter number of days' + }), + label="Places checking period (1 to 500 days)" + ) + + class Meta: + model = GeneralSetting + fields = ['checking_period'] + + def clean_checking_period(self): + checking_period = self.cleaned_data.get("checking_period") + if not 1 <= checking_period <= 500: + raise ValidationError("Please enter a value between 1 and 500.") + return checking_period diff --git a/configuration/forms/type_of_place_form.py b/configuration/forms/type_of_place_form.py new file mode 100755 index 0000000..2f8f99c --- /dev/null +++ b/configuration/forms/type_of_place_form.py @@ -0,0 +1,48 @@ +from django import forms +from configuration.models import TypeOfPlace, Attribute + + +class TypeOfPlaceCreateForm(forms.ModelForm): + attributes = forms.ModelMultipleChoiceField( + queryset=Attribute.objects.all(), + widget=forms.CheckboxSelectMultiple(), + required=False + ) + enable_website = forms.BooleanField(label='Enable Website Field', required=False) + enable_comments = forms.BooleanField(label='Enable Comments Field', required=False) + + class Meta: + model = TypeOfPlace + fields = ['name', 'attributes', 'enable_website', 'enable_comments'] + + def __init__(self, *args, **kwargs): + super(TypeOfPlaceCreateForm, self).__init__(*args, **kwargs) + self.fields['attributes'].widget.attrs.update({'class': 'form-check-input'}) + + def clean(self): + cleaned_data = super().clean() + + return cleaned_data + + +class TypeOfPlaceEditForm(forms.ModelForm): + attributes = forms.ModelMultipleChoiceField( + queryset=Attribute.objects.all(), + widget=forms.CheckboxSelectMultiple, + required=False + ) + enable_website = forms.BooleanField(label='Enable Website Field', required=False) + enable_comments = forms.BooleanField(label='Enable Comments Field', required=False) + + class Meta: + model = TypeOfPlace + fields = ['name', 'enable_website', 'enable_comments'] + + def __init__(self, *args, **kwargs): + super(TypeOfPlaceEditForm, self).__init__(*args, **kwargs) + self.fields['attributes'].widget.attrs.update({'class': 'form-check-input'}) + + def clean(self): + cleaned_data = super().clean() + + return cleaned_data diff --git a/configuration/forms/value_form.py b/configuration/forms/value_form.py new file mode 100644 index 0000000..16b1ec7 --- /dev/null +++ b/configuration/forms/value_form.py @@ -0,0 +1,12 @@ +from django import forms +from configuration.models import Value + + +class ValueForm(forms.ModelForm): + class Meta: + model = Value + fields = ['content'] + + def __init__(self, *args, **kwargs): + super(ValueForm, self).__init__(*args, **kwargs) + self.fields['content'].widget.attrs.update({'class': 'form-control'}) diff --git a/configuration/models/__init__.py b/configuration/models/__init__.py new file mode 100755 index 0000000..326c356 --- /dev/null +++ b/configuration/models/__init__.py @@ -0,0 +1,3 @@ +from .attribute import * +from .type_of_place import * +from .general_settings import * diff --git a/configuration/models/attribute.py b/configuration/models/attribute.py new file mode 100755 index 0000000..395ec22 --- /dev/null +++ b/configuration/models/attribute.py @@ -0,0 +1,25 @@ +from django.db import models + + +class Attribute(models.Model): + name = models.CharField(max_length=100) + visible_in_categories = models.BooleanField(default=True) + visible_in_visible_data = models.BooleanField(default=True) + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + def get_values_list(self): + return [value.content for value in self.values.all()] + + def __str__(self): + return self.name + + +class Value(models.Model): + attribute = models.ForeignKey(Attribute, related_name='values', on_delete=models.CASCADE) + content = models.CharField(max_length=100) + + def __str__(self): + return f"{self.content}" + diff --git a/configuration/models/general_settings.py b/configuration/models/general_settings.py new file mode 100755 index 0000000..52987b8 --- /dev/null +++ b/configuration/models/general_settings.py @@ -0,0 +1,16 @@ +from django.db import models + + +class GeneralSetting(models.Model): + checking_period = models.PositiveIntegerField(default=30, verbose_name="Places checking period (1 to 500 days)") + + class Meta: + verbose_name_plural = "General Settings" + + @classmethod + def load(cls): + obj, created = cls.objects.get_or_create(pk=1) + return obj + + def __str__(self): + return f'checking_period: {self.checking_period} day(s)' diff --git a/configuration/models/type_of_place.py b/configuration/models/type_of_place.py new file mode 100755 index 0000000..2fcfb9c --- /dev/null +++ b/configuration/models/type_of_place.py @@ -0,0 +1,80 @@ +from django.db import models + +from configuration.models import Attribute, Value + + +class TypeOfPlace(models.Model): + name = models.CharField(max_length=100) + attributes = models.ManyToManyField(Attribute, through='TypeOfPlaceAttribute') + enable_website = models.BooleanField(default=False) + enable_comments = models.BooleanField(default=False) + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + def __str__(self): + return self.name + + def get_attributes_for_type_of_place_list(self): + attributes_with_values = [] + for toa in self.typeofplaceattribute_set.all(): + if toa: + attributes_with_values.append({ + 'attribute_id': toa.attribute_id, + 'attribute_name': toa.attribute.name, + 'values': [value.content for value in toa.attribute.values.all()] + }) + return attributes_with_values + + def get_attributes_with_values(self): + attributes_with_values = [] + for toa in self.typeofplaceattribute_set.all(): + values_list = [value.content for value in toa.values.all() if value.content.strip()] + if values_list: + attributes_with_values.append({ + 'attribute_id': toa.attribute.id, + 'attribute_name': toa.attribute.name, + 'values': values_list, + }) + if not values_list: + attribute = Attribute.objects.get(id=toa.attribute.id) + if not attribute.values.all(): + attributes_with_values.append({ + 'attribute_id': toa.attribute.id, + 'attribute_name': toa.attribute.name, + 'values': values_list, + }) + return attributes_with_values + + def get_type_of_place_attr_with_values(self): + attributes_with_values = [] + for toa in self.typeofplaceattribute_set.all(): + values_list = [value.content for value in toa.values.all()] + if values_list: # Добавляем в список только если есть значения + attributes_with_values.append({ + 'attribute_id': toa.attribute.id, + 'attribute_name': toa.attribute.name, + 'values': values_list, + }) + return attributes_with_values + + +class TypeOfPlaceAttribute(models.Model): + type_of_place = models.ForeignKey(TypeOfPlace, on_delete=models.CASCADE) + attribute = models.ForeignKey(Attribute, on_delete=models.CASCADE) + values = models.ManyToManyField(Value, blank=True, related_name='type_place_attributes') + + def __str__(self): + return self.type_of_place.name + + def set_values_list(self, values_ids): + if isinstance(values_ids, list): + value_instances = Value.objects.filter(id__in=values_ids) + self.values.set(value_instances) # Используем метод set() для обновления связей многие-ко-многим + else: + # Если передан одиночный ID, обрабатываем и его корректно + value_instance = Value.objects.filter(id=values_ids) + self.values.set([value_instance]) if value_instance.exists() else self.values.clear() + self.save() # Сохраняем изменения в объекте + + diff --git a/configuration/urls.py b/configuration/urls.py new file mode 100755 index 0000000..f0afbed --- /dev/null +++ b/configuration/urls.py @@ -0,0 +1,35 @@ +from django.urls import path +from configuration.views import AttributeListView, AttributeCreateView, AttributeUpdateView, AttributeDeleteView, \ + TypeOfPlaceListView, TypeOfPlaceCreateView, TypeOfPlaceUpdateView, TypeOfPlaceDeleteView, GeneralSettingsView, \ + get_attributes, get_values, get_attributes_for_type_of_place, AttributeValuesForPlaceView, \ + TypeOfPlaceAttributesView, get_attribute_values + +urlpatterns = [ + # Attributes + path('attributes/', AttributeListView.as_view(), name='attribute_list'), + path('attributes/create/', AttributeCreateView.as_view(), name='attribute_create'), + path('attributes//edit/', AttributeUpdateView.as_view(), name='attribute_edit'), + path('attributes//delete/', AttributeDeleteView.as_view(), name='attribute_delete'), + + + + # Types of Places + path('type_of_place/', TypeOfPlaceListView.as_view(), name='type_of_place_list'), + path('type_of_place/create/', TypeOfPlaceCreateView.as_view(), name='type_of_place_create'), + path('type_of_place//edit/', TypeOfPlaceUpdateView.as_view(), name='type_of_place_edit'), + path('type_of_place//delete/', TypeOfPlaceDeleteView.as_view(), name='type_of_place_delete'), + + # General Settings + path('general_settings/', GeneralSettingsView.as_view(), name='general_settings'), + + # Ajax + path('attributes/get_values//', get_attribute_values, name='attribute-values'), + path('attributes/get_attributes/', get_attributes, name='get_attributes'), + path('attributes/get_values//', get_values, name='get_values'), + path('attributes/values_for_place///', + AttributeValuesForPlaceView.as_view(), name='attribute-values-for-place'), + + path('type_of_place//attributes/', TypeOfPlaceAttributesView.as_view(), name='type_of_place_attributes'), + path('get_attributes_for_type_of_place//', get_attributes_for_type_of_place, + name='get-attributes-for-type'), +] diff --git a/configuration/views/__init__.py b/configuration/views/__init__.py new file mode 100755 index 0000000..e2247f4 --- /dev/null +++ b/configuration/views/__init__.py @@ -0,0 +1,3 @@ +from .attribute_view import * +from .type_of_place_view import * +from .general_settings_view import * diff --git a/configuration/views/attribute_view.py b/configuration/views/attribute_view.py new file mode 100755 index 0000000..2d28684 --- /dev/null +++ b/configuration/views/attribute_view.py @@ -0,0 +1,199 @@ +from django.contrib.auth.mixins import LoginRequiredMixin +from django.http import JsonResponse, HttpResponseRedirect +from django.shortcuts import get_object_or_404 +from django.views import View +from django.views.generic import ListView, CreateView, UpdateView, DeleteView +from django.urls import reverse_lazy + +from configuration.forms import ValueForm, AttributeCreateForm +from configuration.forms.formset import ValueFormSet +from configuration.models import Attribute, Value, TypeOfPlaceAttribute, TypeOfPlace +from problematy.utils import get_user_permissions, PermissionMixin + + +class AttributeListView(PermissionMixin, LoginRequiredMixin, ListView): + model = Attribute + context_object_name = 'attributes' + template_name = 'configuration/attribute_list.html' + paginate_by = 25 + + def has_permission(self): + return self.user_perms.get('can_configurate_attributes_and_values', False) + + def get_queryset(self): + return Attribute.objects.all().order_by('-updated_at', '-created_at') + + def get_context_data(self, *, object_list=None, **kwargs): + context = super(AttributeListView, self).get_context_data(**kwargs) + paginator, page, queryset, is_paginated = self.paginate_queryset(self.get_queryset(), self.paginate_by) + + page_number = context.get('page_obj').number + per_page = context.get('paginator').per_page + start_index = (page_number - 1) * per_page + 1 + + context['paginator'] = paginator + context['page'] = page + context['queryset'] = queryset + context['is_paginated'] = is_paginated + context['start_index'] = start_index + context.update(get_user_permissions(self.request.user)) + return context + + +class AttributeCreateView(PermissionMixin, LoginRequiredMixin, CreateView): + model = Attribute + form_class = AttributeCreateForm + template_name = 'configuration/attribute_create.html' + success_url = reverse_lazy('attribute_list') + + def has_permission(self): + return self.user_perms.get('can_configurate_attributes_and_values', False) + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + if self.request.POST: + context['values'] = ValueFormSet(self.request.POST, instance=self.object) + else: + context['values'] = ValueFormSet(instance=self.object) + if self.object: + initial_values = ", ".join([v.content for v in self.object.values.all()]) + context['form'] = self.form_class(instance=self.object, initial={'values': initial_values}) + + context.update(get_user_permissions(self.request.user)) + return context + + def form_valid(self, form): + self.object = form.save() + current_values_list = form.cleaned_data['values'] + + self.object.values.all().delete() + for value_content in current_values_list: + Value.objects.create(attribute=self.object, content=value_content) + + return HttpResponseRedirect(self.get_success_url()) + + +class AttributeUpdateView(PermissionMixin, LoginRequiredMixin, UpdateView): + model = Attribute + form_class = AttributeCreateForm + template_name = 'configuration/attribute_edit.html' + success_url = reverse_lazy('attribute_list') + + def has_permission(self): + return self.user_perms.get('can_configurate_attributes_and_values', False) + + def get_context_data(self, **kwargs): + context = super(AttributeUpdateView, self).get_context_data(**kwargs) + if self.request.POST: + context['values'] = ValueFormSet(self.request.POST, instance=self.object) + else: + context['values'] = ValueFormSet(instance=self.object) + if self.object: + initial_values = ", ".join([v.content for v in self.object.values.all()]) + context['form'] = self.form_class(instance=self.object, initial={'values': initial_values}) + context.update(get_user_permissions(self.request.user)) + return context + + def form_valid(self, form): + self.object = form.save() # Сохраняем изменения в атрибуте + + # Получаем текущие идентификаторы значений из формы + new_values_ids = [] + for value_content in form.cleaned_data['values']: + value, created = Value.objects.get_or_create( + attribute=self.object, + content=value_content + ) + new_values_ids.append(value.id) + + # Обновляем значения во всех связанных TypeOfPlaceAttribute + for topa in TypeOfPlaceAttribute.objects.filter(attribute=self.object): + # Сохраняем только те идентификаторы, которые уже выбраны в данном TypeOfPlace + existing_value_ids = set(topa.values.values_list('id', flat=True)) + valid_new_values_ids = [vid for vid in new_values_ids if + vid in existing_value_ids or vid in topa.values.values_list('id', flat=True)] + topa.set_values_list(valid_new_values_ids) + + # Удаляем те значения, которые больше не связаны ни с одним TypeOfPlaceAttribute + current_values_ids = [value.id for value in self.object.values.all()] + values_to_delete = set(current_values_ids) - set(new_values_ids) + Value.objects.filter(id__in=values_to_delete).delete() + + return HttpResponseRedirect(self.get_success_url()) + + +class AttributeDeleteView(PermissionMixin, LoginRequiredMixin, DeleteView): + model = Attribute + success_url = reverse_lazy('attribute_list') + + def has_permission(self): + return self.user_perms.get('can_configurate_attributes_and_values', False) + + +class AttributeValuesView(PermissionMixin, LoginRequiredMixin, View): + + def has_permission(self): + return self.user_perms.get('can_configurate_attributes_and_values', False) + + def get(self, request, attribute_id): + type_of_place_id = request.GET.get('type_of_place_id') + if not type_of_place_id: + return JsonResponse({"error": "Type of Place ID is required"}, status=400) + + try: + + attribute_values = TypeOfPlaceAttribute.objects.filter( + id=attribute_id, + type_of_place_id=type_of_place_id + ).values_list('values__content', flat=True).distinct() + + # Сериализация QuerySet в список + values = list(attribute_values) # Простая сериализация в список + return JsonResponse({"values": values}) + + except TypeOfPlaceAttribute.DoesNotExist: + return JsonResponse({"error": "Attribute or Type of Place not found"}, status=404) + + +class GetAttributeValuesView(View): + def get(self, request, attribute_id): + type_of_place_id = request.GET.get('type_of_place_id') + if not type_of_place_id: + return JsonResponse({"error": "Type of Place ID is required"}, status=400) + + try: + # Получение значения и его ID + values = Value.objects.filter( + attribute__id=attribute_id, # убедитесь что это attribute_id, а не value_id! + attribute__typeofplaceattribute__type_of_place_id=type_of_place_id + ).distinct().values('id', 'content') + + # Преобразование QuerySet в список словарей + values_list = list(values) # Пример: [{'id': 1, 'content': 'Value1'}, {'id': 2, 'content': 'Value2'}] + return JsonResponse({"values": values_list}, safe=False) + + except TypeOfPlaceAttribute.DoesNotExist: + return JsonResponse({"error": "Attribute or Type of Place not found"}, status=404) + + +class AttributeValuesForPlaceView(LoginRequiredMixin, View): + def get(self, request, type_of_place_id, attribute_id): + # Получаем значения для атрибута, фильтруем по типу местности + selected_values = Value.objects.filter( + type_place_attributes__type_of_place__id=type_of_place_id, + type_place_attributes__attribute__id=attribute_id + ) + values_data = [{'id': value.id, 'content': value.content} for value in selected_values] + return JsonResponse(values_data, safe=False) + + +def get_attributes(request): + attributes = Attribute.objects.all() + attributes_data = [{'id': attr.id, 'name': attr.name} for attr in attributes] + return JsonResponse(attributes_data, safe=False) + + +def get_values(request, id): + attribute = get_object_or_404(Attribute, id=id) + values = attribute.get_values_list() + return JsonResponse({'values': values}) diff --git a/configuration/views/general_settings_view.py b/configuration/views/general_settings_view.py new file mode 100755 index 0000000..529b554 --- /dev/null +++ b/configuration/views/general_settings_view.py @@ -0,0 +1,35 @@ +from django.contrib.auth.mixins import LoginRequiredMixin +from django.views.generic import View +from django.shortcuts import render, redirect +from configuration.forms import GeneralSettingForm +from configuration.models import GeneralSetting +from problematy.utils import PermissionMixin, get_user_permissions + + +class GeneralSettingsView(PermissionMixin, LoginRequiredMixin, View): + template_name = 'configuration/general_settings.html' + + def has_permission(self): + return self.user_perms.get('can_configurate_general_settings', False) + + def get(self, request, *args, **kwargs): + setting = GeneralSetting.load() + form = GeneralSettingForm(instance=setting) + context = {'form': form} + context.update(get_user_permissions(self.request.user)) + return render(request, self.template_name, context) + + def post(self, request, *args, **kwargs): + setting = GeneralSetting.load() + form = GeneralSettingForm(request.POST, instance=setting) + if form.is_valid(): + checking_period = form.cleaned_data['checking_period'] + if 0 < checking_period <= 500: + form.save() + return redirect('general_settings') + else: + if checking_period > 500: + form.add_error('checking_period', 'The checking period must not exceed 500 days.') + if checking_period < 1: + form.add_error('checking_period', 'The verification period should not be less than 1 day.') + return render(request, self.template_name, {'form': form}) diff --git a/configuration/views/type_of_place_view.py b/configuration/views/type_of_place_view.py new file mode 100755 index 0000000..6aca29c --- /dev/null +++ b/configuration/views/type_of_place_view.py @@ -0,0 +1,173 @@ +import json + +from django.contrib.auth.mixins import LoginRequiredMixin +from django.core.serializers.json import DjangoJSONEncoder +from django.http import JsonResponse, HttpResponseRedirect +from django.shortcuts import redirect +from django.urls import reverse_lazy +from django.utils.safestring import mark_safe +from django.views.generic import ListView, CreateView, UpdateView, DeleteView, DetailView +from configuration.models import TypeOfPlace, Attribute, TypeOfPlaceAttribute, Value +from configuration.forms import TypeOfPlaceCreateForm, TypeOfPlaceEditForm +from locations.models import Location +from problematy.utils import get_user_permissions, PermissionMixin + + +class TypeOfPlaceListView(PermissionMixin, LoginRequiredMixin, ListView): + model = TypeOfPlace + context_object_name = 'types_of_places' + template_name = 'configuration/type_of_place_list.html' + paginate_by = 25 + + def has_permission(self): + return self.user_perms.get('can_configurate_type_of_places', False) + + def get_context_data(self, **kwargs): + context = super(TypeOfPlaceListView, self).get_context_data(**kwargs) + paginator, page, queryset, is_paginated = self.paginate_queryset(self.get_queryset(), self.paginate_by) + + page_number = context.get('page_obj').number + per_page = context.get('paginator').per_page + start_index = (page_number - 1) * per_page + 1 + + types_of_places_with_attrs = [ + (type_of_place, type_of_place.get_attributes_with_values()) for type_of_place in context['types_of_places'] + ] + context['types_of_places_with_attrs'] = types_of_places_with_attrs + context['paginator'] = paginator + context['page'] = page + context['queryset'] = queryset + context['is_paginated'] = is_paginated + context['start_index'] = start_index + context.update(get_user_permissions(self.request.user)) + + return context + + def get_queryset(self): + return TypeOfPlace.objects.all().order_by('-updated_at', '-created_at') + + +class TypeOfPlaceCreateView(PermissionMixin, LoginRequiredMixin, CreateView): + model = TypeOfPlace + form_class = TypeOfPlaceCreateForm # Это указывает форму, которую нужно использовать + template_name = 'configuration/type_of_place_create.html' + success_url = reverse_lazy('type_of_place_list') + + def has_permission(self): + return self.user_perms.get('can_configurate_type_of_places', False) + + def get_context_data(self, **kwargs): + context = super(TypeOfPlaceCreateView, self).get_context_data(**kwargs) # вызываем метод базового класса + context.update(get_user_permissions(self.request.user)) + return context + + def form_valid(self, form): + self.object = form.save(commit=False) + + self.object.save() + + for key in self.request.POST.keys(): + if key.startswith('attribute_values_'): + attribute_id = key.split('_')[-1] # Получаем ID атрибута + values_ids = self.request.POST.getlist(key) + + if attribute_id.isdigit(): + attribute = Attribute.objects.get(id=int(attribute_id)) + type_of_place_attribute = TypeOfPlaceAttribute.objects.create(type_of_place=self.object, + attribute=attribute) + + processed_values_ids = [] + for value_id in values_ids: + split_ids = value_id.split(",") + for id in split_ids: + if id.isdigit(): + processed_values_ids.append(int(id)) + + if processed_values_ids: + type_of_place_attribute.set_values_list(processed_values_ids) + else: + print( + f"No valid value IDs for attribute {attribute.name} ({attribute.id}), creating without values.") + + return redirect(self.get_success_url()) + + +class TypeOfPlaceUpdateView(PermissionMixin, LoginRequiredMixin, UpdateView): + model = TypeOfPlace + form_class = TypeOfPlaceEditForm + template_name = 'configuration/type_of_place_edit.html' + success_url = reverse_lazy('type_of_place_list') + + def has_permission(self): + return self.user_perms.get('can_configurate_type_of_places', False) + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + attributes_with_values = self.object.get_attributes_with_values() + context.update(get_user_permissions(self.request.user)) + context['existingAttributes'] = mark_safe(json.dumps(attributes_with_values)) + return context + + def form_valid(self, form): + self.object = form.save(commit=False) + self.object.save() + existing_attrs = {topa.attribute.id: topa for topa in self.object.typeofplaceattribute_set.all()} + + for key, values in self.request.POST.lists(): + if key.startswith('attribute_values_'): + attribute_id = int(key.split('_')[-1]) # Получаем ID атрибута + + values_ids = [] + for value in values: + if value: + values_ids.extend(map(int, value.split(','))) + + if attribute_id in existing_attrs: + existing_attr = existing_attrs.pop(attribute_id) + existing_attr.set_values_list(values_ids) + else: + attribute = Attribute.objects.get(id=attribute_id) + type_of_place_attribute = TypeOfPlaceAttribute.objects.create( + type_of_place=self.object, + attribute=attribute + ) + type_of_place_attribute.set_values_list(values_ids) + + for topa in existing_attrs.values(): + topa.delete() + + self.object.save() + form.save_m2m() + return super().form_valid(form) + + +class TypeOfPlaceDeleteView(PermissionMixin, LoginRequiredMixin, DeleteView): + model = TypeOfPlace + success_url = reverse_lazy('type_of_place_list') + + def has_permission(self): + return self.user_perms.get('can_configurate_type_of_places', False) + + +def get_attributes_for_type_of_place(request, type_of_place_id): + attributes = Attribute.objects.filter(typeofplaceattribute__type_of_place_id=type_of_place_id).distinct() + data = [{'id': attr.id, 'name': attr.name} for attr in attributes] + return JsonResponse(data, safe=False) + + +class TypeOfPlaceAttributesView(PermissionMixin, LoginRequiredMixin, DetailView): + model = TypeOfPlace + + def get(self, request, *args, **kwargs): + self.object = self.get_object() + attributes_with_values = self.object.get_attributes_with_values() + attributes_with_values.append({'enable_website': self.object.enable_website}) + attributes_with_values.append({'enable_comments': self.object.enable_comments}) + print(attributes_with_values) + return JsonResponse(attributes_with_values, safe=False) + + +def get_attribute_values(request, attribute_id): + values = Value.objects.filter(attribute_id=attribute_id).values_list('id', 'content') + result = [{'id': v[0], 'text': v[1]} for v in values] + return JsonResponse(result, safe=False) \ No newline at end of file diff --git a/gcs_config.py b/gcs_config.py new file mode 100644 index 0000000..c05bc44 --- /dev/null +++ b/gcs_config.py @@ -0,0 +1,22 @@ +import io +import json + +from google.cloud import storage + +from problematy import settings + + +def get_blob(bucket_name, source_blob_name): + client = storage.Client() + bucket = client.bucket(bucket_name) + return bucket.blob(source_blob_name) + + +def download_blob(blob_name): + blob = get_blob(settings.APPLICATION_BUCKET_NAME, blob_name) + return json.loads(blob.download_as_text(encoding="utf-8")) + + +def upload_blob(file: io.BytesIO, blob_name: str): + blob = get_blob(settings.APPLICATION_BUCKET_NAME, blob_name) + blob.upload_from_file(file) \ No newline at end of file diff --git a/locations/__init__.py b/locations/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/locations/admin/__init__.py b/locations/admin/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/locations/apps.py b/locations/apps.py new file mode 100755 index 0000000..9e7ec9a --- /dev/null +++ b/locations/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class LocationsConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'locations' diff --git a/locations/forms/__init__.py b/locations/forms/__init__.py new file mode 100755 index 0000000..9657799 --- /dev/null +++ b/locations/forms/__init__.py @@ -0,0 +1,2 @@ +from .location_form import * +from .location_filter_form import * \ No newline at end of file diff --git a/locations/forms/location_filter_form.py b/locations/forms/location_filter_form.py new file mode 100755 index 0000000..f55e7d0 --- /dev/null +++ b/locations/forms/location_filter_form.py @@ -0,0 +1,60 @@ +from django import forms +from locations.models import Location +from configuration.models import TypeOfPlace, Attribute, TypeOfPlaceAttribute, Value + + +class LocationFilterForm(forms.Form): + search = forms.CharField( + required=False, + widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Search...'}) + ) + status = forms.ChoiceField( + choices=[('', 'No Status')] + Location.STATUS_CHOICES, + required=False, + widget=forms.Select(attrs={'class': 'form-control select2'}) + ) + check_status = forms.ChoiceField( + choices=[('', 'No Check Status')] + Location.CHECK_STATUS_CHOICES, + required=False, + widget=forms.Select(attrs={'class': 'form-control select2'}) + ) + type_of_place = forms.ModelChoiceField( + queryset=TypeOfPlace.objects.all(), + required=False, + widget=forms.Select(attrs={'class': 'form-control select2'}), + empty_label='No Type of Place' + ) + attribute = forms.ModelChoiceField( + queryset=Attribute.objects.all(), + required=False, + widget=forms.Select(attrs={'class': 'form-control select2', 'id': 'id_attribute'}), + label='Attribute', + empty_label='No Attributes' + ) + + attribute_value = forms.ModelMultipleChoiceField( + queryset=Value.objects.none(), + required=False, + widget=forms.SelectMultiple(attrs={ + 'class': 'form-control select2 attribute-value-selector', + 'data-placeholder': 'Select values' + }), + label='Attribute Value' + ) + + def __init__(self, *args, **kwargs): + super(LocationFilterForm, self).__init__(*args, **kwargs) + self.fields['attribute'].queryset = Attribute.objects.none() + if 'type_of_place' in self.data: + try: + type_id = int(self.data.get('type_of_place')) + self.fields['attribute'].queryset = Attribute.objects.filter( + typeofplaceattribute__type_of_place_id=type_id).distinct() + if 'attribute' in self.data: + attr_id = int(self.data.get('attribute')) + self.fields['attribute_value'].queryset = Value.objects.filter( + attribute_id=attr_id, + attribute__typeofplaceattribute__type_of_place_id=type_id + ).distinct() + except (ValueError, TypeError): + pass diff --git a/locations/forms/location_form.py b/locations/forms/location_form.py new file mode 100755 index 0000000..b30ed53 --- /dev/null +++ b/locations/forms/location_form.py @@ -0,0 +1,123 @@ +from django import forms +from django.forms import ModelForm +from configuration.models import TypeOfPlaceAttribute, TypeOfPlace, Attribute +from locations.models import Location + + +class LocationCreateForm(ModelForm): + type_of_place = forms.ModelChoiceField( + queryset=TypeOfPlace.objects.all(), + widget=forms.Select(attrs={'class': 'form-control select2'}), + required=True, # Now required + empty_label='No Type of Place', + error_messages={'required': 'This field is required'} + ) + attributes = forms.ModelMultipleChoiceField( + queryset=TypeOfPlaceAttribute.objects.none(), + required=False, + widget=forms.CheckboxSelectMultiple() + ) + status = forms.ChoiceField( + choices=[('visible', 'Visible'), ('hidden', 'Hidden')], + widget=forms.Select(attrs={'class': 'form-control select2'}), + required=False + ) + check_status = forms.ChoiceField( + choices=[('exists', 'Exists'), ('does_not_exist', 'Does Not Exist'), ('check', 'To Check')], + widget=forms.Select(attrs={'class': 'form-control select2'}), + required=False + ) + website = forms.URLField(required=False) + comments = forms.CharField(widget=forms.Textarea, required=False) + + class Meta: + model = Location + fields = ['name', 'latitude', 'longitude', 'image', 'type_of_place', 'status', 'check_status', 'website', 'comments'] + widgets = { + 'name': forms.TextInput( + attrs={'class': 'form-control', 'placeholder': 'Enter location name', 'required': 'required'}), + 'latitude': forms.NumberInput(attrs={'class': 'form-control'}), + 'longitude': forms.NumberInput(attrs={'class': 'form-control'}), + 'image': forms.FileInput(attrs={'class': 'form-control'}) + } + + def __init__(self, *args, **kwargs): + type_of_place_id = kwargs.pop('type_of_place_id', None) + super(LocationCreateForm, self).__init__(*args, **kwargs) + + self.fields['name'].required = True + self.fields['latitude'].required = True + self.fields['longitude'].required = True + for field_name in ['name', 'latitude', 'longitude']: + self.fields[field_name].error_messages = {'required': 'This field is required'} + self.fields['status'].widget.attrs.update({'class': 'form-control select2'}) + self.fields['check_status'].widget.attrs.update({'class': 'form-control select2'}) + + if type_of_place_id: + attributes = Attribute.objects.filter( + typeofplaceattribute__type_of_place_id=type_of_place_id + ).distinct() + self.fields['attributes'].queryset = attributes + self.fields['attributes'].choices = [(attr.id, attr.name) for attr in attributes] + + +class LocationEditForm(forms.ModelForm): + type_of_place = forms.ModelChoiceField( + queryset=TypeOfPlace.objects.all(), + widget=forms.Select(attrs={'class': 'form-control select2'}), + required=True, # Ensure consistency in field requirement as in CreateForm + empty_label='No Type of Place', + error_messages={'required': 'This field is required'} + ) + attributes = forms.ModelMultipleChoiceField( + queryset=TypeOfPlaceAttribute.objects.none(), # Initially empty, will be set based on type_of_place + required=False, + widget=forms.CheckboxSelectMultiple() + ) + status = forms.ChoiceField( + choices=[('visible', 'Visible'), ('hidden', 'Hidden')], + widget=forms.Select(attrs={'class': 'form-control select2'}), + required=False + ) + check_status = forms.ChoiceField( + choices=[('exists', 'Exists'), ('does_not_exist', 'Does Not Exist'), ('check', 'To Check')], + widget=forms.Select(attrs={'class': 'form-control select2'}), + required=False + ) + + class Meta: + model = Location + fields = ['name', 'latitude', 'longitude', 'image', 'type_of_place', 'status', 'check_status', 'website', 'comments'] + widgets = { + 'name': forms.TextInput( + attrs={'class': 'form-control', 'placeholder': 'Enter location name', 'required': 'required'}), + 'website': forms.URLInput(attrs={'class': 'form-control'}), + 'comments': forms.Textarea(attrs={'class': 'form-control', 'style': 'height: 38px;'}), + 'latitude': forms.NumberInput(attrs={'class': 'form-control'}), + 'longitude': forms.NumberInput(attrs={'class': 'form-control'}), + 'image': forms.FileInput(attrs={'class': 'form-control'}) + } + + def __init__(self, *args, **kwargs): + super(LocationEditForm, self).__init__(*args, **kwargs) + instance = kwargs.get('instance', None) + type_of_place_id = instance.type_of_place.id if instance and instance.type_of_place else None + + # Set field requirements and error messages as in CreateForm + self.fields['name'].required = True + self.fields['latitude'].required = True + self.fields['longitude'].required = True + for field_name in ['name', 'latitude', 'longitude']: + self.fields[field_name].error_messages = {'required': 'This field is required'} + + # Dynamically load and set initial values for attributes based on the type of place + if type_of_place_id: + attributes = Attribute.objects.filter( + typeofplaceattribute__type_of_place_id=type_of_place_id + ).distinct() + self.fields['attributes'].queryset = attributes + self.fields['attributes'].initial = [attr.id for attr in attributes] + + # Pre-populate other fields + self.fields['status'].initial = instance.status if instance else 'visible' + self.fields['check_status'].initial = instance.check_status if instance else 'check' diff --git a/locations/management/commands/check_places.py b/locations/management/commands/check_places.py new file mode 100755 index 0000000..0844892 --- /dev/null +++ b/locations/management/commands/check_places.py @@ -0,0 +1,24 @@ +from django.core.management.base import BaseCommand +from datetime import datetime, timedelta +from django.utils.timezone import make_aware +from django.db.models import Q +from locations.models import Location +from configuration.models import GeneralSetting + + +class Command(BaseCommand): + help = 'Checks locations and updates their status to "To Check" if needed' + + def handle(self, *args, **options): + settings = GeneralSetting.load() + checking_period = settings.checking_period + now = make_aware(datetime.now()) + + locations_to_check = Location.objects.filter( + Q(last_checked__lt=now - timedelta(days=checking_period)) | + Q(last_checked__isnull=True, updated__lt=now - timedelta(days=checking_period)), + status__in=['visible', 'hidden'] + ) + + count = locations_to_check.update(status='to_check') + self.stdout.write(self.style.SUCCESS(f'Updated {count} locations to "To Check" status.')) diff --git a/locations/models/__init__.py b/locations/models/__init__.py new file mode 100755 index 0000000..28bb627 --- /dev/null +++ b/locations/models/__init__.py @@ -0,0 +1 @@ +from .location import * diff --git a/locations/models/location.py b/locations/models/location.py new file mode 100755 index 0000000..8a2f7b5 --- /dev/null +++ b/locations/models/location.py @@ -0,0 +1,81 @@ +from django.core.exceptions import ValidationError +from django.db import models, transaction +from django.utils.translation import gettext_lazy as _ +from model_utils import FieldTracker + +from configuration.models import TypeOfPlace, Attribute, TypeOfPlaceAttribute, Value +from authorization.models import CustomUser + + +class Location(models.Model): + STATUS_CHOICES = [ + ('visible', _('Visible')), + ('hidden', _('Hidden')), + ] + + CHECK_STATUS_CHOICES = [ + ('exists', _('Exists')), + ('does_not_exist', _('Does not exist')), + ('check', _('To Check')), + ] + + name = models.CharField(_('Name'), max_length=255, blank=False) + type_of_place = models.ForeignKey(TypeOfPlace, on_delete=models.SET_NULL, null=True, blank=False) + status = models.CharField(_('Status'), max_length=15, choices=STATUS_CHOICES, default='visible') + check_status = models.CharField(_('Check Status'), max_length=15, choices=CHECK_STATUS_CHOICES, default='check') + latitude = models.DecimalField(_('Latitude'), max_digits=21, decimal_places=18, null=True, blank=True) + longitude = models.DecimalField(_('Longitude'), max_digits=21, decimal_places=18, null=True, blank=True) + image = models.ImageField(_('Image'), upload_to='locations/', null=True, blank=True) + last_checked = models.DateField(_('Last Checked'), null=True, blank=True) + website = models.URLField(max_length=255, blank=True, null=True) + comments = models.TextField(blank=True, null=True) + + created_at = models.DateTimeField(auto_now_add=True) + updated_at = models.DateTimeField(auto_now=True) + + tracker = FieldTracker() + + def __str__(self): + return self.name + + def save(self, *args, **kwargs): + changes = self.tracker.changed() + super().save(*args, **kwargs) + + def get_coordinates(self): + return f"[{self.latitude}, {self.longitude}]" + + def clean(self): + super().clean() # Always call the base class clean + if not self.name: + raise ValidationError({'name': _('This field is required.')}) + if not self.type_of_place: + raise ValidationError({'type_of_place': _('This field is required.')}) + if self.latitude is not None and (self.latitude < -90 or self.latitude > 90): + raise ValidationError({'latitude': _('Latitude must be between -90 and 90.')}) + if self.longitude is not None and (self.longitude < -180 or self.longitude > 180): + raise ValidationError({'longitude': _('Longitude must be between -180 and 180.')}) + + +class LocationAttribute(models.Model): + location = models.ForeignKey(Location, on_delete=models.CASCADE, related_name='location_attributes') + type_of_place_attribute = models.ForeignKey(TypeOfPlaceAttribute, on_delete=models.CASCADE) + selected_values = models.ManyToManyField(Value) + + tracker = FieldTracker() + + def __str__(self): + return f"{self.location.name} - {self.type_of_place_attribute.attribute.name}" + + def get_selected_values_display(self): + return ', '.join([value.content for value in self.selected_values.all()]) + + +class LocationChangeLog(models.Model): + location = models.ForeignKey(Location, on_delete=models.SET_NULL, null=True, blank=True) + user = models.ForeignKey(CustomUser, on_delete=models.SET_NULL, null=True, blank=True) + change_description = models.TextField() + change_date = models.DateTimeField(auto_now_add=True) + + def __str__(self): + return f"{self.change_description} at {self.change_date}" diff --git a/locations/urls.py b/locations/urls.py new file mode 100755 index 0000000..bb0662b --- /dev/null +++ b/locations/urls.py @@ -0,0 +1,19 @@ +from django.urls import path +from locations.views import LocationListView, LocationCreateView, LocationUpdateView, LocationDeleteView, \ + LocationHistoryView, get_attributes_for_type, get_selected_attributes_for_location, get_values_for_attribute, \ + download_locations + +urlpatterns = [ + path('locations/', LocationListView.as_view(), name='location_list'), + path('locations/create/', LocationCreateView.as_view(), name='location_create'), + path('locations//edit/', LocationUpdateView.as_view(), name='location_edit'), + path('locations//delete/', LocationDeleteView.as_view(), name='location_delete'), + path('locations//history/', LocationHistoryView.as_view(), name='location_history'), + # JSON + path('download-locations/', download_locations, name='download-locations'), + # Ajax + path('type_of_place//attributes/', get_attributes_for_type, name='get_attributes_for_type'), + path('attributes//values/', get_values_for_attribute, name='get_values_for_attribute'), + path('locations//selected_attributes/', get_selected_attributes_for_location, + name='get_selected_attributes_for_location'), +] diff --git a/locations/utils.py b/locations/utils.py new file mode 100644 index 0000000..70932e3 --- /dev/null +++ b/locations/utils.py @@ -0,0 +1,189 @@ +import io +import json +import uuid + +from django.db import transaction + +from configuration.models import Value, Attribute, TypeOfPlace +from gcs_config import download_blob, upload_blob +from locations.models import LocationChangeLog, Location +from problematy import settings + + +@transaction.atomic +def log_attribute_changes(location, original_attr_values, posted_attribute_ids, user, changes, is_new): + attributes = Attribute.objects.in_bulk(list(posted_attribute_ids.keys())) + values = Value.objects.all() + values_dict = {value.id: value.content for value in values} + + log_messages = [] + + if is_new: + log_messages.append(f"Created new location '{location.name}' by user (ID: {user.id}).") + for field, old_value in changes.items(): + new_value = getattr(location, field) + if field != 'type_of_place_id': + log_messages.append( + f"Add {field} with value '{new_value}' for location (Name: {location.name}).") + else: + new_type_of_place = location.type_of_place.name if location.type_of_place else "None" + log_messages.append( + f"Add type of place '{new_type_of_place}' for location (Name: {location.name}).") + + else: + log_messages.append(f"Updated location '{location.name}' by user (ID: {user.id}).") + for field, old_value in changes.items(): + new_value = getattr(location, field) + if (old_value is not None) and (field != 'type_of_place_id'): + log_messages.append( + f"{field} changed from '{old_value}' to '{new_value}' for location (Name: {location.name}).") + + # Логирование изменения типа места, если оно изменилось + if 'type_of_place_id' in changes: + old_type_of_place_id = changes['type_of_place_id'] + old_type_of_place = TypeOfPlace.objects.get( + id=old_type_of_place_id).name if old_type_of_place_id else "None" + new_type_of_place = location.type_of_place.name if location.type_of_place else "None" + log_messages.append( + f"Changed type of place from '{old_type_of_place}' to '{new_type_of_place}' for location (Name: {location.name}).") + + # Логируем добавленные и удалённые атрибуты + current_attribute_ids = set(original_attr_values.keys()) + new_attribute_ids = set(posted_attribute_ids.keys()) + added_attributes = new_attribute_ids - current_attribute_ids + removed_attributes = current_attribute_ids - new_attribute_ids + + for attr_id in added_attributes: + attribute_name = attributes.get(attr_id).name if attr_id in attributes else None + if not attribute_name: + attribute_name = Attribute.objects.get(pk=attr_id).name if Attribute.objects.filter(pk=attr_id)[ + 0] else "Unknown Attribute" + log_messages.append( + f"Added attribute '{attribute_name}' (ID: {attr_id}) to location (Name: '{location.name}').") + + for attr_id in removed_attributes: + attribute_name = attributes.get(attr_id).name if attr_id in attributes else None + if not attribute_name: + attribute_name = Attribute.objects.get(pk=attr_id).name if Attribute.objects.filter(pk=attr_id)[ + 0] else "Unknown Attribute" + log_messages.append( + f"Removed attribute '{attribute_name}' (ID: {attr_id}) from location (Name: '{location.name}').") + + # Логируем изменённые значения атрибутов + attribute_ids = None + if is_new: + attribute_ids = new_attribute_ids + else: + attribute_ids = current_attribute_ids.intersection(new_attribute_ids) + for attr_id in attribute_ids: + added_values = None + removed_values = None + if original_attr_values: + existing_value_ids = original_attr_values[attr_id] + new_value_ids = posted_attribute_ids[attr_id] + added_values = set(new_value_ids) - set(existing_value_ids) + removed_values = set(existing_value_ids) - set(new_value_ids) + else: + added_values = posted_attribute_ids[attr_id] + + changes = [] + if added_values: + added_values_names = ", ".join( + [values_dict[int(val_id)] for val_id in added_values if int(val_id) in values_dict]) + changes.append(f"added {added_values_names}") + if removed_values: + removed_values_names = ", ".join( + [values_dict[val_id] for val_id in removed_values if val_id in values_dict]) + changes.append(f"removed {removed_values_names}") + + if changes: + attribute_name = attributes.get(attr_id).name if attr_id in attributes else "Unknown Attribute" + log_messages.append( + f"Updated values for attribute '{attribute_name}' (ID: {attr_id}) on location '{location.name}': {'; '.join(changes)}.") + + # Создаём один объект лога с собранными сообщениями + if log_messages: + change_description = "
".join(log_messages) + LocationChangeLog.objects.create(location=location, user=user, change_description=change_description) + + +def update_map_json(): + try: + locations = Location.objects.all().select_related('type_of_place').prefetch_related( + 'location_attributes__type_of_place_attribute__attribute', 'location_attributes__selected_values') + + try: + data = download_blob(settings.LOCATIONS_BLOB_FILEPATH) + except Exception: + data = {"map": {"data": []}} + + new_data = [] + categories = {} + visible_data = [] + for location in locations: + if location.status == 'hidden': + continue + + attributes_data = {} + loc_data = { + "name": location.name, + "position": [float(location.latitude), float(location.longitude)], + "UUID": str(uuid.uuid4()) + } + + if location.type_of_place: + loc_data['type_of_place'] = location.type_of_place.name + + if location.last_checked: + loc_data['check_date'] = str(location.last_checked) + visible_data.append('check_date') if 'check_date' not in visible_data else None + + type_of_places = categories.get('type_of_place') + if type_of_places: + if location.type_of_place and not (location.type_of_place.name in type_of_places): + categories['type_of_place'].append(location.type_of_place.name) + else: + if location.type_of_place: + categories['type_of_place'] = [location.type_of_place.name] + + attributes = location.location_attributes.all() + if attributes: + for attr in attributes: + attr_name = attr.type_of_place_attribute.attribute.name.replace(" ", "_").lower() + visible_in_categories = attr.type_of_place_attribute.attribute.visible_in_categories + visible_in_visible_data = attr.type_of_place_attribute.attribute.visible_in_visible_data + if visible_in_categories: + if not (attr_name in categories): + categories[attr_name] = [val.content for val in attr.selected_values.all()] + else: + for value in attr.selected_values.all(): + if value.content not in categories[attr_name]: + categories[attr_name].append(value.content) + + if not (attr_name in attributes_data): + attributes_data[attr_name] = [val.content for val in attr.selected_values.all()] + if visible_in_visible_data: + if not (attr_name in visible_data): + visible_data.append(attr_name) + + if attributes_data: + for key, value in attributes_data.items(): + if isinstance(value, list) and (len(value) == 1): + attributes_data[key] = value[0] + + loc_data.update(attributes_data) + new_data.append(loc_data) + + data['map']['data'] = new_data + data['map']['categories'] = categories + data['map']['visible_data'] = visible_data + + json_str = json.dumps(data, ensure_ascii=False, indent=4) + json_bytes_io = io.BytesIO(json_str.encode()) + + upload_blob(file=json_bytes_io, blob_name=settings.LOCATIONS_BLOB_FILEPATH) + + # accessible_by = attr_data + # data['map']['data'].append(accessible_by) + except Exception as e: + print(e) diff --git a/locations/views/__init__.py b/locations/views/__init__.py new file mode 100755 index 0000000..f237820 --- /dev/null +++ b/locations/views/__init__.py @@ -0,0 +1,3 @@ +from .location_view import * +from .ajax_view import * +from .json_data_viev import * diff --git a/locations/views/ajax_view.py b/locations/views/ajax_view.py new file mode 100644 index 0000000..4901de8 --- /dev/null +++ b/locations/views/ajax_view.py @@ -0,0 +1,35 @@ +from django.http import JsonResponse +from django.shortcuts import get_object_or_404 + +from configuration.models import TypeOfPlace, Value +from locations.models import Location + + +def get_attributes_for_type(request, type_of_place_id): + type_of_place = get_object_or_404(TypeOfPlace, pk=type_of_place_id) + attributes = type_of_place.attributes.values('id', 'name') + return JsonResponse(list(attributes), safe=False) + + +def get_values_for_attribute(request, attribute_id): + values = Value.objects.filter(attribute_id=attribute_id) + values_data = list(values.values('id', 'content')) + return JsonResponse(values_data, safe=False) + + +def get_selected_attributes_for_location(request, location_id): + location = get_object_or_404(Location, pk=location_id) + selected_attributes = location.location_attributes.all() + + attributes_data = [ + { + 'attribute_id': loc_attr.type_of_place_attribute.attribute.id, + 'type_of_place_id': loc_attr.type_of_place_attribute.type_of_place.id, + 'selected_values': list(loc_attr.selected_values.values_list('id', flat=True)) + } + for loc_attr in selected_attributes + ] + return JsonResponse(attributes_data, safe=False) + + + diff --git a/locations/views/json_data_viev.py b/locations/views/json_data_viev.py new file mode 100644 index 0000000..32ad6f0 --- /dev/null +++ b/locations/views/json_data_viev.py @@ -0,0 +1,9 @@ +from django.http import JsonResponse + +from gcs_config import download_blob +from problematy import settings + + +def download_locations(request): + data = download_blob(settings.LOCATIONS_BLOB_FILEPATH) + return JsonResponse(data, safe=False) diff --git a/locations/views/location_view.py b/locations/views/location_view.py new file mode 100755 index 0000000..8a803d7 --- /dev/null +++ b/locations/views/location_view.py @@ -0,0 +1,298 @@ +import json + +from django.contrib.auth.mixins import LoginRequiredMixin +from django.core.exceptions import PermissionDenied +from django.core.serializers.json import DjangoJSONEncoder +from django.http import HttpResponseRedirect +from django.shortcuts import redirect +from django.urls import reverse_lazy +from django.views.generic import ListView, CreateView, UpdateView, DeleteView + +from configuration.models import TypeOfPlaceAttribute, Value +from locations.forms import LocationCreateForm, LocationEditForm +from locations.forms import LocationFilterForm +from locations.models import Location, LocationAttribute, LocationChangeLog +from locations.utils import log_attribute_changes, update_map_json +from problematy.utils import get_user_permissions, PermissionMixin + + +class LocationListView(PermissionMixin, LoginRequiredMixin, ListView): + model = Location + template_name = 'locations/location_list.html' + context_object_name = 'locations' + paginate_by = 25 + + def has_permission(self): + required_permissions = {'can_add_locations', 'can_edit_locations', 'can_delete_locations', + 'can_check_locations'} + return any(self.user_perms.get(perm, False) for perm in required_permissions) + + def get_queryset(self): + queryset = super().get_queryset().order_by('-updated_at', '-created_at') + filter_form = LocationFilterForm(self.request.GET) + + if filter_form.is_valid(): + search = filter_form.cleaned_data.get('search') + status = filter_form.cleaned_data.get('status') + check_status = filter_form.cleaned_data.get('check_status') + type_of_place = filter_form.cleaned_data.get('type_of_place') + attribute = filter_form.cleaned_data.get('attribute') + attribute_values = filter_form.cleaned_data.get('attribute_value') + + if search: + queryset = queryset.filter(name__icontains=search) + if status: + queryset = queryset.filter(status=status) + if check_status: + queryset = queryset.filter(check_status=check_status) + if type_of_place: + queryset = queryset.filter(type_of_place=type_of_place) + if attribute: + queryset = queryset.filter(location_attributes__type_of_place_attribute__attribute=attribute) + if attribute_values: + queryset = queryset.filter(location_attributes__selected_values__in=attribute_values).distinct() + + return queryset + + def get_filter_form(self): + return LocationFilterForm(self.request.GET or None) + + def filter_by_attribute_value(self, queryset, attribute, attribute_value): + return queryset + + def get_context_data(self, **kwargs): + context = super(LocationListView, self).get_context_data(**kwargs) + queryset = self.get_queryset() + paginator, page, queryset, is_paginated = self.paginate_queryset(queryset, self.paginate_by) + page_number = page.number + per_page = paginator.per_page + start_index = (page_number - 1) * per_page + 1 + + selected_attribute_values = self.request.GET.getlist('attribute_value') + context['attribute_value_list_json'] = json.dumps(selected_attribute_values, cls=DjangoJSONEncoder) + context.update({ + 'filter_form': self.get_filter_form(), + 'paginator': paginator, + 'page_obj': page, + 'is_paginated': is_paginated, + 'page': page, # Duplicate for easy access in templates + 'queryset': queryset, + 'start_index': start_index + }) + context.update(get_user_permissions(self.request.user)) # Добавление прав пользователя + return context + + +class LocationCreateView(PermissionMixin, LoginRequiredMixin, CreateView): + model = Location + form_class = LocationCreateForm + template_name = 'locations/location_create.html' + success_url = reverse_lazy('location_list') + + def has_permission(self): + required_permissions = {'can_add_locations'} + return any(self.user_perms.get(perm, False) for perm in required_permissions) + + def get_context_data(self, **kwargs): + context = super().get_context_data() + context.update(get_user_permissions(self.request.user)) + return context + + def form_valid(self, form): + self.object = form.save(commit=False) + changes = self.object.tracker.changed() + self.object.save() + + type_of_place = form.cleaned_data.get('type_of_place') + + posted_attribute_ids = {} + for key in self.request.POST: + if key.startswith('attribute_values_'): + attr_id = key.split('_')[-1] + try: + attr_id = int(attr_id) + value_ids = self.request.POST.getlist(f'selected_values_{attr_id}[]') + posted_attribute_ids[attr_id] = value_ids + except ValueError: + continue + + if type_of_place: + for key, values in self.request.POST.items(): + if key.startswith('attribute_values_'): + attribute_id = key.split('_')[-1] + try: + attribute_id = int(attribute_id) + value_ids = self.request.POST.getlist(f'selected_values_{attribute_id}[]') + type_place_attribute = TypeOfPlaceAttribute.objects.get(attribute_id=attribute_id, + type_of_place=type_of_place) + loc_attr = LocationAttribute.objects.get_or_create( + location=self.object, + type_of_place_attribute=type_place_attribute + )[0] + loc_attr.selected_values.set(Value.objects.filter(id__in=value_ids)) + except (ValueError, TypeOfPlaceAttribute.DoesNotExist, AttributeError): + continue + + log_attribute_changes( + location=self.object, + original_attr_values={}, + posted_attribute_ids=posted_attribute_ids, + user=self.request.user, + changes=changes, + is_new=True + ) + update_map_json() + return super(LocationCreateView, self).form_valid(form) + + def get_form_kwargs(self): + kwargs = super(LocationCreateView, self).get_form_kwargs() + if self.request.method == 'POST': + kwargs['type_of_place_id'] = self.request.POST.get('type_of_place', None) + return kwargs + + +class LocationUpdateView(PermissionMixin, LoginRequiredMixin, UpdateView): + model = Location + form_class = LocationEditForm + template_name = 'locations/location_edit.html' + success_url = reverse_lazy('location_list') + + def has_permission(self): + required_permissions = {'can_edit_locations'} + return any(self.user_perms.get(perm, False) for perm in required_permissions) + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + if self.object.type_of_place: + selected_attributes = LocationAttribute.objects.filter(location=self.object) + # Создаем словарь для JS {attribute_id: [selected_value_ids]} + existing_attributes = { + attr.type_of_place_attribute.attribute.id: list(attr.selected_values.values_list('id', flat=True)) + for attr in selected_attributes + } + context['existingAttributes'] = existing_attributes + context['selectedValues'] = { + attr.id: [val.id for val in attr.selected_values.all()] + for attr in selected_attributes + } + context.update(get_user_permissions(self.request.user)) + return context + + def form_valid(self, form): + original_attr_values = { + attr.type_of_place_attribute.attribute.id: list(set(attr.selected_values.values_list('id', flat=True))) + for attr in LocationAttribute.objects.filter(location=self.object).prefetch_related('selected_values') + } + changes = self.object.tracker.changed() + response = super().form_valid(form) + type_of_place_id = form.cleaned_data.get('type_of_place').id if form.cleaned_data.get('type_of_place') else None + + if type_of_place_id: + possible_attributes = TypeOfPlaceAttribute.objects.filter(type_of_place_id=type_of_place_id) + attribute_ids = set(possible_attributes.values_list('attribute__id', flat=True)) + + posted_attribute_ids = {} + for key in self.request.POST.keys(): + if key.startswith('attribute_values_'): + attr_name = key[len('attribute_values_'):] + attr_id = self.request.POST[key] # ID атрибута + if attr_id.isdigit() and int(attr_id) in attribute_ids: + value_ids = list(map(int, self.request.POST.getlist(f'selected_values_{attr_id}[]'))) + posted_attribute_ids[int(attr_id)] = value_ids + + existing_attributes = LocationAttribute.objects.filter(location=self.object) + + # Удаляем атрибуты, которые не были включены в запрос + attribute_ids_in_request = set(posted_attribute_ids.keys()) + attributes_to_remove = existing_attributes.exclude( + type_of_place_attribute__attribute_id__in=attribute_ids_in_request) + attributes_to_remove.delete() + + for attr_id, value_ids in posted_attribute_ids.items(): + attribute = TypeOfPlaceAttribute.objects.get(attribute_id=attr_id, type_of_place_id=type_of_place_id) + loc_attr, created = LocationAttribute.objects.update_or_create( + location=self.object, + type_of_place_attribute=attribute, + defaults={} + ) + loc_attr.selected_values.set(value_ids) + + # Логирование изменений + self.object.save() + log_attribute_changes( + location=self.object, + original_attr_values=original_attr_values, + posted_attribute_ids=posted_attribute_ids, + user=self.request.user, + changes=changes, + is_new=False + ) + update_map_json() + return response + + def get_form_kwargs(self): + kwargs = super().get_form_kwargs() + kwargs['instance'] = self.object # Убедитесь, что instance корректно передается для предзагрузки + return kwargs + + + + + +class LocationDeleteView(PermissionMixin, LoginRequiredMixin, DeleteView): + model = Location + success_url = reverse_lazy('location_list') + + def has_permission(self): + # return self.user_perms.get('can_delete_locations', False) + required_permissions = {'can_delete_locations'} + return any(self.user_perms.get(perm, False) for perm in required_permissions) + + def get_context_data(self, **kwargs): + context = super(LocationDeleteView, self).get_context_data(**kwargs) + context.update(get_user_permissions(self.request.user)) + return context + + def delete(self, request, *args, **kwargs): + if not self.has_permission(): + return self.handle_no_permission() + self.object = self.get_object() + success_url = self.get_success_url() + self.object.delete(user=request.user) # Передача пользователя в метод delete модели + return HttpResponseRedirect(success_url) + + def handle_no_permission(self): + if self.raise_exception: + raise PermissionDenied(self.get_permission_denied_message()) + return redirect('location_list') + + + + + +class LocationHistoryView(PermissionMixin, LoginRequiredMixin, ListView): + model = LocationChangeLog + template_name = 'locations/location_history.html' + context_object_name = 'history' + paginate_by = 25 + + def get_queryset(self): + location_id = self.kwargs.get('pk') + return LocationChangeLog.objects.filter(location_id=location_id).order_by('-change_date') + + def get_context_data(self, **kwargs): + context = super(LocationHistoryView, self).get_context_data(**kwargs) + paginator, page, queryset, is_paginated = self.paginate_queryset(self.get_queryset(), self.paginate_by) + + page_number = context.get('page_obj').number + per_page = context.get('paginator').per_page + start_index = (page_number - 1) * per_page + 1 + + context['paginator'] = paginator + context['page'] = page + context['queryset'] = queryset + context['is_paginated'] = is_paginated + context['start_index'] = start_index + context.update(get_user_permissions(self.request.user)) + + return context diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..93cac94 --- /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', 'problematy.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/problematy/__init__.py b/problematy/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/problematy/asgi.py b/problematy/asgi.py new file mode 100755 index 0000000..e51092b --- /dev/null +++ b/problematy/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for problematy 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.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'problematy.settings') + +application = get_asgi_application() diff --git a/problematy/settings.py b/problematy/settings.py new file mode 100755 index 0000000..3103b93 --- /dev/null +++ b/problematy/settings.py @@ -0,0 +1,148 @@ +""" +Django settings for problematy project. + +Generated by 'django-admin startproject' using Django 4.2.2. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.2/ref/settings/ +""" + +import os +from pathlib import Path + +from dotenv import load_dotenv + +load_dotenv() + +# 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.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = os.getenv('SECRET_KEY', 'asdasdasdsda') + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = os.getenv('DEBUG', True) + +ALLOWED_HOSTS = ['admin.problematy.space', 'problematy.space', 'animated-backup-427810-r5.uc.r.appspot.com'] +if DEBUG: + ALLOWED_HOSTS.append('*') + +AUTH_USER_MODEL = 'authorization.CustomUser' +LOGIN_URL = '/login/' + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'widget_tweaks', + 'authorization', + 'configuration', + 'locations', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'problematy.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [BASE_DIR / 'templates'] + , + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.template.context_processors.request', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'problematy.wsgi.application' + +# Database +# https://docs.djangoproject.com/en/4.2/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql_psycopg2', + 'NAME': os.getenv('DB_NAME'), + 'USER': os.getenv('DB_USER'), + 'PASSWORD': os.getenv('DB_PASSWORD'), + 'HOST': os.getenv('DB_HOST'), + 'PORT': os.getenv('DB_PORT'), + } +} + +# Password validation +# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + +# Internationalization +# https://docs.djangoproject.com/en/4.2/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.2/howto/static-files/ + +STATIC_URL = '/static/' + +STATICFILES_DIRS = [BASE_DIR / "static"] + +MEDIA_URL = '/media/' +MEDIA_ROOT = os.path.join(BASE_DIR, 'media') + +# Default primary key field type +# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + + +GOOGLE_APPLICATION_CREDENTIALS = os.getenv('GOOGLE_APPLICATION_CREDENTIALS') + +APPLICATION_BUCKET_NAME = os.getenv("APPLICATION_BUCKET_NAME") +LOCATIONS_BLOB_FILEPATH = os.getenv("LOCATIONS_BLOB_FILEPATH") \ No newline at end of file diff --git a/problematy/urls.py b/problematy/urls.py new file mode 100755 index 0000000..9d7b971 --- /dev/null +++ b/problematy/urls.py @@ -0,0 +1,28 @@ +""" +URL configuration for problematy project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.2/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.contrib import admin +from django.urls import path, include +from problematy.view import DashboardView + +urlpatterns = [ + path('admin/', admin.site.urls), + path("", include("authorization.urls")), + path("", include("configuration.urls")), + path("", include("locations.urls")), + + path("", DashboardView.as_view(), name="index"), +] diff --git a/problematy/utils.py b/problematy/utils.py new file mode 100755 index 0000000..229e856 --- /dev/null +++ b/problematy/utils.py @@ -0,0 +1,49 @@ +from django.shortcuts import redirect +from django.urls import reverse + + +class PermissionMixin(object): + def dispatch(self, request, *args, **kwargs): + self.user_perms = get_user_permissions(request.user) + if not self.has_permission() and not self.test_func(): + return redirect(reverse('index')) # Редирект на главную, если не прошел проверки + return super().dispatch(request, *args, **kwargs) + + def has_permission(self): + return any(self.user_perms.values()) + + def test_func(self): + return self.request.user.is_superuser # Это пример, нужно переопределить в подклассе, если используется + + +def get_user_permissions(user): + if not user.is_authenticated: + return {} + if user.is_superuser: + return { + 'can_manage_users': True, + 'can_add_locations': True, + 'can_edit_locations': True, + 'can_delete_locations': True, + 'can_check_locations': True, + 'can_configurate_roles': True, + 'can_configurate_attributes_and_values': True, + 'can_configurate_type_of_places': True, + 'can_configurate_general_settings': True, + } + elif user.role: + user_perms = user.role.permissions.all().values_list('codename', flat=True) + else: + user_perms = [] + perms_context = { + 'can_manage_users': 'manage_users' in user_perms, + 'can_add_locations': 'add_locations' in user_perms, + 'can_edit_locations': 'edit_locations' in user_perms, + 'can_delete_locations': 'delete_locations' in user_perms, + 'can_check_locations': 'check_locations' in user_perms, + 'can_configurate_roles': 'configuration_roles' in user_perms, + 'can_configurate_attributes_and_values': 'configuration_attributes_and_values' in user_perms, + 'can_configurate_type_of_places': 'configuration_type_of_places' in user_perms, + 'can_configurate_general_settings': 'configuration_general_settings' in user_perms, + } + return perms_context diff --git a/problematy/view.py b/problematy/view.py new file mode 100755 index 0000000..4654ca3 --- /dev/null +++ b/problematy/view.py @@ -0,0 +1,13 @@ +from django.contrib.auth.mixins import LoginRequiredMixin +from django.views.generic.base import TemplateView + +from problematy.utils import get_user_permissions + + +class DashboardView(LoginRequiredMixin, TemplateView): + template_name = "index.html" + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update(get_user_permissions(self.request.user)) + return context diff --git a/problematy/wsgi.py b/problematy/wsgi.py new file mode 100755 index 0000000..64413b2 --- /dev/null +++ b/problematy/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for problematy 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.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'problematy.settings') + +application = get_wsgi_application() diff --git a/requirements.txt b/requirements.txt new file mode 100755 index 0000000..b39f01e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,10 @@ +asgiref==3.7.2 +Django==5.0.3 +django-model-utils==4.5.0 +django-widget-tweaks==1.5.0 +pillow==10.3.0 +psycopg2-binary==2.9.9 +python-dotenv==1.0.1 +sqlparse==0.4.4 +gunicorn==20.1.0 +google-cloud-storage==2.17.0 \ No newline at end of file diff --git a/static/css/app-rtl.min.css b/static/css/app-rtl.min.css new file mode 100755 index 0000000..33a076e --- /dev/null +++ b/static/css/app-rtl.min.css @@ -0,0 +1,13 @@ +@charset "UTF-8";@import url(https://fonts.googleapis.com/css?family=Roboto:400,500,700);@import url(https://fonts.googleapis.com/css?family=Karla:400,700);:root{--ct-link-color:#71b6f9;--ct-link-hover-color:#609bd4;--ct-border-color:#dee2e6;--ct-box-shadow:0px 0px 35px 0px rgba(154, 161, 171, 0.15);--ct-box-shadow-sm:0 .75rem 6rem rgba(56, 65, 74, 0.03);--ct-box-shadow-lg:0 0 45px 0 rgba(0, 0, 0, 0.12);--ct-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--ct-component-active-color:#fff;--ct-component-active-bg:#71b6f9;--ct-text-muted:#98a6ad;--ct-blockquote-footer-color:#98a6ad;--ct-hr-color:#dddddd;--ct-mark-bg:#fcf8e3;--ct-table-color:#6c757d;--ct-table-bg:transparent;--ct-table-accent-bg:transparent;--ct-table-striped-color:var(--ct-table-color);--ct-table-striped-bg:rgba(222, 226, 230, 0.3);--ct-table-active-color:var(--ct-table-color);--ct-table-active-bg:#dee2e6;--ct-table-hover-color:var(--ct-table-color);--ct-table-hover-bg:#f8f9fa;--ct-table-border-color:var(--ct-border-color);--ct-table-group-separator-color:var(--ct-border-color);--ct-table-caption-color:var(--ct-text-muted);--ct-input-btn-focus-color:rgba(113, 182, 249, 0.85);--ct-btn-active-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--ct-btn-link-color:var(--ct-link-color);--ct-btn-link-hover-color:var(--ct-link-hover-color);--ct-btn-link-disabled-color:#adb5bd;--ct-form-text-color:var(--ct-text-muted);--ct-input-bg:#fff;--ct-input-disabled-bg:#fff;--ct-input-color:#6c757d;--ct-input-border-color:#ced4da;--ct-input-box-shadow:var(--ct-box-shadow-inset);--ct-input-focus-bg:var(--ct-input-bg);--ct-input-focus-border-color:#b9bfc4;--ct-input-focus-color:var(--ct-input-color);--ct-input-placeholder-color:#adb5bd;--ct-input-plaintext-color:#6c757d;--ct-form-check-input-bg:var(--ct-input-bg);--ct-form-check-input-border:1px solid rgba(0, 0, 0, 0.25);--ct-form-check-input-checked-color:var(--ct-component-active-color);--ct-form-check-input-checked-bg-color:var(--ct-component-active-bg);--ct-form-check-input-checked-border-color:var(--ct-form-check-input-checked-bg-color);--ct-form-check-input-indeterminate-color:var(--ct-component-active-color);--ct-form-check-input-indeterminate-bg-color:var(--ct-component-active-bg);--ct-form-check-input-indeterminate-border-color:var(--ct-component-active-bg);--ct-form-switch-color:rgba(0, 0, 0, 0.25);--ct-input-group-addon-color:var(--ct-input-color);--ct-input-group-addon-bg:#f7f7f7;--ct-input-group-addon-border-color:var(--ct-input-border-color);--ct-form-select-color:var(--ct-input-color);--ct-form-select-bg:var(--ct-input-bg);--ct-form-select-disabled-color:#98a6ad;--ct-form-select-disabled-bg:#f7f7f7;--ct-form-select-indicator-color:#343a40;--ct-form-range-track-bg:#dee2e6;--ct-form-range-track-box-shadow:inset 0 .25rem .25rem rgba(0, 0, 0, 0.1);--ct-form-range-thumb-box-shadow:0 .1rem .25rem rgba(0, 0, 0, 0.1);--ct-form-range-thumb-active-bg:#d4e9fd;--ct-form-range-thumb-disabled-bg:#adb5bd;--ct-form-file-button-color:var(--ct-input-color);--ct-form-file-button-bg:#f7f7f7;--ct-form-file-button-hover-bg:#ebebeb;--ct-nav-link-disabled-color:#98a6ad;--ct-nav-tabs-border-color:#dee2e6;--ct-nav-tabs-link-hover-border-color:#f7f7f7 #f7f7f7 var(--ct-nav-tabs-border-color);--ct-nav-tabs-link-active-color:#6c757d;--ct-nav-tabs-link-active-bg:#fff;--ct-nav-tabs-link-active-border-color:#dee2e6 #dee2e6 var(--ct-nav-tabs-link-active-bg);--ct-navbar-dark-color:rgba(255, 255, 255, 0.55);--ct-navbar-dark-hover-color:rgba(255, 255, 255, 0.75);--ct-navbar-dark-active-color:#fff;--ct-navbar-dark-disabled-color:rgba(255, 255, 255, 0.25);--ct-navbar-dark-toggler-border-color:rgba(255, 255, 255, 0.1);--ct-navbar-light-color:rgba(0, 0, 0, 0.55);--ct-navbar-light-hover-color:rgba(255, 255, 255, 0.7);--ct-navbar-light-active-color:rgba(0, 0, 0, 0.9);--ct-navbar-light-disabled-color:rgba(0, 0, 0, 0.3);--ct-dropdown-color:#6c757d;--ct-dropdown-bg:#fff;--ct-dropdown-border-color:#f1f2f3;--ct-dropdown-divider-bg:#f1f2f3;--ct-dropdown-box-shadow:0 .5rem 1rem rgba(0, 0, 0, 0.175);--ct-dropdown-link-color:#323a46;--ct-dropdown-link-hover-color:#2d343f;--ct-dropdown-link-hover-bg:#f8f9fa;--ct-dropdown-link-active-color:#323a46;--ct-dropdown-link-active-bg:#f7f7f7;--ct-dropdown-link-disabled-color:#98a6ad;--ct-dropdown-header-color:#98a6ad;--ct-dropdown-dark-color:#dee2e6;--ct-dropdown-dark-bg:#343a40;--ct-dropdown-dark-border-color:var(--ct-dropdown-border-color);--ct-dropdown-dark-divider-bg:var(--ct-dropdown-divider-bg);--ct-dropdown-dark-link-color:var(--ct-dropdown-dark-color);--ct-dropdown-dark-link-hover-color:#fff;--ct-dropdown-dark-link-hover-bg:rgba(255, 255, 255, 0.15);--ct-dropdown-dark-link-active-color:var(--ct-dropdown-link-active-color);--ct-dropdown-dark-link-active-bg:var(--ct-dropdown-link-active-bg);--ct-dropdown-dark-link-disabled-color:#adb5bd;--ct-dropdown-dark-header-color:#adb5bd;--ct-pagination-color:#323a46;--ct-pagination-bg:#fff;--ct-pagination-border-color:#dee2e6;--ct-pagination-focus-color:var(--ct-link-hover-color);--ct-pagination-focus-bg:#f7f7f7;--ct-pagination-focus-box-shadow:none;--ct-pagination-hover-color:#323a46;--ct-pagination-hover-bg:#dee2e6;--ct-pagination-hover-border-color:#dee2e6;--ct-pagination-disabled-color:#98a6ad;--ct-pagination-disabled-bg:#fff;--ct-pagination-disabled-border-color:#dee2e6;--ct-card-border-color:#f7f7f7;--ct-card-cap-bg:#f7f7f7;--ct-card-bg:#fff;--ct-accordion-color:#6c757d;--ct-accordion-border-color:rgba(0, 0, 0, 0.125);--ct-accordion-button-active-bg:#f1f8fe;--ct-accordion-button-active-color:#66a4e0;--ct-accordion-button-focus-border-color:var(--ct-input-focus-border-color);--ct-accordion-button-focus-box-shadow:none;--ct-tooltip-color:#fff;--ct-tooltip-bg:#000;--ct-popover-bg:#fff;--ct-popover-border-color:#dee2e6;--ct-popover-header-bg:#f8f9fa;--ct-popover-body-color:#6c757d;--ct-popover-arrow-color:#fff;--ct-popover-arrow-outer-color:#dee2e6;--ct-toast-background-color:rgba(255, 255, 255, 0.85);--ct-toast-border-color:rgba(0, 0, 0, 0.1);--ct-toast-header-color:#98a6ad;--ct-toast-header-background-color:rgba(255, 255, 255, 0.85);--ct-toast-header-border-color:rgba(0, 0, 0, 0.05);--ct-badge-color:#fff;--ct-modal-content-bg:#fff;--ct-modal-content-box-shadow-xs:0 .25rem .5rem rgba(0, 0, 0, 0.5);--ct-modal-content-box-shadow-sm-up:0 .5rem 1rem rgba(0, 0, 0, 0.5);--ct-modal-backdrop-bg:#323a46;--ct-modal-header-border-color:var(--ct-border-color);--ct-modal-footer-border-color:var(--ct-border-color);--ct-progress-bg:#dee2e6;--ct-progress-box-shadow:var(--ct-box-shadow-inset);--ct-progress-bar-color:#fff;--ct-progress-bar-bg:#71b6f9;--ct-list-group-bg:#fff;--ct-list-group-border-color:rgba(0, 0, 0, 0.125);--ct-list-group-hover-bg:#f8f9fa;--ct-list-group-disabled-color:#98a6ad;--ct-list-group-disabled-bg:#fff;--ct-list-group-action-color:#6c757d;--ct-list-group-action-active-color:#6c757d;--ct-list-group-action-active-bg:#f7f7f7;--ct-thumbnail-bg:#ebeff2;--ct-thumbnail-border-color:#dee2e6;--ct-thumbnail-box-shadow:0 1px 2px rgba(0, 0, 0, 0.075);--ct-figure-caption-color:#98a6ad;--ct-breadcrumb-divider-color:#98a6ad;--ct-breadcrumb-active-color:#adb5bd;--ct-carousel-control-color:#fff;--ct-carousel-indicator-active-bg:#fff;--ct-carousel-caption-color:#fff;--ct-carousel-dark-indicator-active-bg:#000;--ct-carousel-dark-caption-color:#000;--ct-btn-close-color:#000;--ct-code-color:#ff8acc;--ct-kbd-color:#fff;--ct-kbd-bg:#323a46;--ct-bg-leftbar:#fff;--ct-bg-leftbar-dark:#343a40;--ct-bg-leftbar-brand:#4a81d4;--ct-bg-leftbar-gradient:#5b69bc;--ct-left-menu-user-box-border:#f5f5f5;--ct-left-menu-dark-user-box-border:rgba(255, 255, 255, 0.2);--ct-menu-item-color-dark:#9097a7;--ct-menu-item-hover-color-dark:#c8cddc;--ct-menu-item-active-color-dark:#fff;--ct-menu-item:#6e768e;--ct-menu-item-hover:#71b6f9;--ct-menu-item-active:#71b6f9;--ct-menu-sub-item-active:#71b6f9;--ct-hori-menu-item-color:#6e7488;--ct-rightbar-bg:#fff;--ct-bg-topbar-light:#fff;--ct-bg-topbar-dark:#38414a;--ct-box-shadow-condensed:3px 5px 10px 0 rgba(154,161,171,.2);--ct-page-title-color:#f8f9fa;--ct-topbar-search-bg:#e2e6ea;--ct-topbar-search-bg-dark:#414b56;--ct-footer-bg:#e3e9ed;--ct-footer-color:#6c757d;--ct-footer-link-hover-color:#636b72;--ct-logo-box-background:#fff;--ct-auth-bg:#fff;--ct-auth-bg-alt:#6658dd;--ct-chat-primary-user-bg:#fef5e4;--ct-chat-secondary-user-bg:#f1f3fa;--ct-card-overlay-bg:rgba(255, 255, 255, 0.8);--ct-input-light-bg:#f3f7f9;--ct-email-msg-container-bg:white}body[data-layout-color=dark]{--ct-body-bg:#282e38;--ct-body-color:#adb5bd;--ct-link-color:#71b6f9;--ct-link-hover-color:#609bd4;--ct-border-color:#3a4250;--ct-box-shadow:0px 0px 35px 0px rgba(66, 72, 80, 0.15);--ct-box-shadow-sm:0 .75rem 6rem rgba(56, 65, 74, 0.03);--ct-box-shadow-lg:0 0 45px 0 rgba(0, 0, 0, 0.12);--ct-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--ct-component-active-color:#fff;--ct-component-active-bg:#71b6f9;--ct-text-muted:#adb5bd;--ct-blockquote-footer-color:#adb5bd;--ct-hr-color:#3a4250;--ct-mark-bg:#fcf8e3;--ct-table-color:#98a6ad;--ct-table-bg:transparent;--ct-table-accent-bg:transparent;--ct-table-striped-color:var(--ct-table-color);--ct-table-striped-bg:#3a4250;--ct-table-active-color:var(--ct-table-color);--ct-table-active-bg:#3a4250;--ct-table-hover-color:var(--ct-table-color);--ct-table-hover-bg:rgba(58, 66, 80, 0.5);--ct-table-border-color:var(--ct-border-color);--ct-table-group-separator-color:#3a4250;--ct-table-caption-color:var(--ct-text-muted);--ct-input-btn-focus-color:rgba(113, 182, 249, 0.85);--ct-btn-active-box-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--ct-btn-link-color:var(--ct-link-color);--ct-btn-link-hover-color:var(--ct-link-hover-color);--ct-btn-link-disabled-color:#98a6ad;--ct-form-text-color:var(--ct-text-muted);--ct-input-bg:#363e4b;--ct-input-disabled-bg:#353d4a;--ct-input-color:#98a6ad;--ct-input-border-color:#424c5c;--ct-input-box-shadow:var(--ct-box-shadow-inset);--ct-input-focus-bg:var(--ct-input-bg);--ct-input-focus-border-color:#545f73;--ct-input-focus-color:var(--ct-input-color);--ct-input-placeholder-color:#98a6ad;--ct-input-plaintext-color:#98a6ad;--ct-form-check-input-bg:var(--ct-input-bg);--ct-form-check-input-border:1px solid #6c757d;--ct-form-check-input-checked-color:var(--ct-component-active-color);--ct-form-check-input-checked-bg-color:var(--ct-component-active-bg);--ct-form-check-input-checked-border-color:var(--ct-form-check-input-checked-bg-color);--ct-form-check-input-indeterminate-color:var(--ct-component-active-color);--ct-form-check-input-indeterminate-bg-color:var(--ct-component-active-bg);--ct-form-check-input-indeterminate-border-color:var(--ct-component-active-bg);--ct-form-switch-color:#6c757d;--ct-input-group-addon-color:var(--ct-input-color);--ct-input-group-addon-bg:#313844;--ct-input-group-addon-border-color:var(--ct-input-border-color);--ct-form-select-color:var(--ct-input-color);--ct-form-select-bg:var(--ct-input-bg);--ct-form-select-disabled-color:#adb5bd;--ct-form-select-disabled-bg:#313844;--ct-form-select-indicator-color:#f7f7f7;--ct-form-range-track-bg:#3a4250;--ct-form-range-track-box-shadow:inset 0 .25rem .25rem rgba(0, 0, 0, 0.1);--ct-form-range-thumb-box-shadow:0 .1rem .25rem rgba(0, 0, 0, 0.1);--ct-form-range-thumb-active-bg:#d4e9fd;--ct-form-range-thumb-disabled-bg:#98a6ad;--ct-form-file-button-color:var(--ct-input-color);--ct-form-file-button-bg:#313844;--ct-form-file-button-hover-bg:#2f3541;--ct-nav-link-disabled-color:#adb5bd;--ct-nav-tabs-border-color:#3a4250;--ct-nav-tabs-link-hover-border-color:#313844 #313844 var(--ct-nav-tabs-border-color);--ct-nav-tabs-link-active-color:#dee2e6;--ct-nav-tabs-link-active-bg:#313844;--ct-nav-tabs-link-active-border-color:#3a4250 #3a4250 var(--ct-nav-tabs-link-active-bg);--ct-navbar-dark-color:rgba(255, 255, 255, 0.55);--ct-navbar-dark-hover-color:rgba(255, 255, 255, 0.75);--ct-navbar-dark-active-color:#fff;--ct-navbar-dark-disabled-color:rgba(255, 255, 255, 0.25);--ct-navbar-dark-toggler-border-color:rgba(255, 255, 255, 0.1);--ct-navbar-light-color:rgba(0, 0, 0, 0.55);--ct-navbar-light-hover-color:rgba(255, 255, 255, 0.7);--ct-navbar-light-active-color:rgba(0, 0, 0, 0.9);--ct-navbar-light-disabled-color:rgba(0, 0, 0, 0.3);--ct-dropdown-color:#6c757d;--ct-dropdown-bg:#313844;--ct-dropdown-border-color:#3a4250;--ct-dropdown-divider-bg:#3a4250;--ct-dropdown-box-shadow:0 .5rem 1rem rgba(0, 0, 0, 0.175);--ct-dropdown-link-color:#adb5bd;--ct-dropdown-link-hover-color:#d4d8d9;--ct-dropdown-link-hover-bg:#3a4250;--ct-dropdown-link-active-color:#e1e9ee;--ct-dropdown-link-active-bg:#3a4250;--ct-dropdown-link-disabled-color:#adb5bd;--ct-dropdown-header-color:#adb5bd;--ct-dropdown-dark-color:#3a4250;--ct-dropdown-dark-bg:#f7f7f7;--ct-dropdown-dark-border-color:var(--ct-dropdown-border-color);--ct-dropdown-dark-divider-bg:var(--ct-dropdown-divider-bg);--ct-dropdown-dark-link-color:var(--ct-dropdown-dark-color);--ct-dropdown-dark-link-hover-color:#fff;--ct-dropdown-dark-link-hover-bg:rgba(255, 255, 255, 0.15);--ct-dropdown-dark-link-active-color:var(--ct-dropdown-link-active-color);--ct-dropdown-dark-link-active-bg:var(--ct-dropdown-link-active-bg);--ct-dropdown-dark-link-disabled-color:#98a6ad;--ct-dropdown-dark-header-color:#98a6ad;--ct-pagination-color:#f7f7f7;--ct-pagination-bg:#3c4453;--ct-pagination-border-color:#454e5f;--ct-pagination-focus-color:var(--ct-link-hover-color);--ct-pagination-focus-bg:#313844;--ct-pagination-focus-box-shadow:none;--ct-pagination-hover-color:#f7f7f7;--ct-pagination-hover-bg:#3a4250;--ct-pagination-hover-border-color:#3a4250;--ct-pagination-disabled-color:#adb5bd;--ct-pagination-disabled-bg:#313844;--ct-pagination-disabled-border-color:#3a4250;--ct-card-border-color:#313844;--ct-card-cap-bg:#313844;--ct-card-bg:#313844;--ct-accordion-color:#6c757d;--ct-accordion-border-color:rgba(0, 0, 0, 0.125);--ct-accordion-button-active-bg:#f1f8fe;--ct-accordion-button-active-color:#66a4e0;--ct-accordion-button-focus-border-color:var(--ct-input-focus-border-color);--ct-accordion-button-focus-box-shadow:none;--ct-tooltip-color:#fff;--ct-tooltip-bg:#000;--ct-popover-bg:#fff;--ct-popover-border-color:#3a4250;--ct-popover-header-bg:#282e38;--ct-popover-body-color:#6c757d;--ct-popover-arrow-color:#fff;--ct-popover-arrow-outer-color:#3a4250;--ct-toast-background-color:rgba(255, 255, 255, 0.06);--ct-toast-border-color:rgba(0, 0, 0, 0.1);--ct-toast-header-color:#adb5bd;--ct-toast-header-background-color:rgba(255, 255, 255, 0.06);--ct-toast-header-border-color:rgba(0, 0, 0, 0.05);--ct-badge-color:#fff;--ct-modal-content-bg:#313844;--ct-modal-content-box-shadow-xs:0 .25rem .5rem rgba(0, 0, 0, 0.5);--ct-modal-content-box-shadow-sm-up:0 .5rem 1rem rgba(0, 0, 0, 0.5);--ct-modal-backdrop-bg:#f1f5f7;--ct-modal-header-border-color:var(--ct-border-color);--ct-modal-footer-border-color:var(--ct-border-color);--ct-progress-bg:#3a4250;--ct-progress-box-shadow:var(--ct-box-shadow-inset);--ct-progress-bar-color:#fff;--ct-progress-bar-bg:#71b6f9;--ct-list-group-bg:#313844;--ct-list-group-border-color:rgba(0, 0, 0, 0.125);--ct-list-group-hover-bg:#282e38;--ct-list-group-disabled-color:#adb5bd;--ct-list-group-disabled-bg:#313844;--ct-list-group-action-color:#dee2e6;--ct-list-group-action-active-color:#6c757d;--ct-list-group-action-active-bg:#313844;--ct-thumbnail-bg:#353d4a;--ct-thumbnail-border-color:#3e4756;--ct-thumbnail-box-shadow:0 1px 2px rgba(0, 0, 0, 0.075);--ct-figure-caption-color:#adb5bd;--ct-breadcrumb-divider-color:#6c757d;--ct-breadcrumb-active-color:#98a6ad;--ct-carousel-control-color:#fff;--ct-carousel-indicator-active-bg:#fff;--ct-carousel-caption-color:#fff;--ct-carousel-dark-indicator-active-bg:#000;--ct-carousel-dark-caption-color:#000;--ct-btn-close-color:#cccecf;--ct-code-color:#ff8acc;--ct-kbd-color:#fff;--ct-kbd-bg:#f1f5f7;--ct-bg-leftbar:#fff;--ct-bg-leftbar-dark:#313844;--ct-bg-leftbar-brand:#4a81d4;--ct-bg-leftbar-gradient:#5b69bc;--ct-left-menu-user-box-border:#f5f5f5;--ct-left-menu-dark-user-box-border:rgba(255, 255, 255, 0.2);--ct-menu-item-color-dark:#9097a7;--ct-menu-item-hover-color-dark:#c8cddc;--ct-menu-item-active-color-dark:#fff;--ct-menu-item:#6e768e;--ct-menu-item-hover:#71b6f9;--ct-menu-item-active:#71b6f9;--ct-menu-sub-item-active:#71b6f9;--ct-hori-menu-item-color:#919eab;--ct-rightbar-bg:#323a46;--ct-bg-topbar-light:#353d4a;--ct-bg-topbar-dark:#2c333e;--ct-box-shadow-condensed:3px 5px 10px 0 rgba(50,58,66);--ct-page-title-color:#f8f9fa;--ct-topbar-search-bg:#323a46;--ct-topbar-search-bg-dark:#323a46;--ct-footer-bg:#2c333e;--ct-footer-color:#adb5bd;--ct-footer-link-hover-color:#a2abb4;--ct-logo-box-background:#fff;--ct-auth-bg:#3e4852;--ct-auth-bg-alt:#3e4852;--ct-chat-primary-user-bg:#404c58;--ct-chat-secondary-user-bg:#404c58;--ct-card-overlay-bg:rgba(255, 255, 255, 0.8);--ct-input-light-bg:#3b4550;--ct-email-msg-container-bg:#333a47}/*! + * Bootstrap v5.1.3 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--ct-blue:#71b6f9;--ct-indigo:#675aa9;--ct-purple:#5b69bc;--ct-pink:#ff8acc;--ct-red:#ff5b5b;--ct-orange:#fd7e14;--ct-yellow:#f9c851;--ct-green:#10c469;--ct-teal:#02a8b5;--ct-cyan:#35b8e0;--ct-white:#fff;--ct-gray:#98a6ad;--ct-gray-dark:#343a40;--ct-gray-100:#f8f9fa;--ct-gray-200:#f7f7f7;--ct-gray-300:#dee2e6;--ct-gray-400:#ced4da;--ct-gray-500:#adb5bd;--ct-gray-600:#98a6ad;--ct-gray-700:#6c757d;--ct-gray-800:#343a40;--ct-gray-900:#323a46;--ct-primary:#71b6f9;--ct-secondary:#6c757d;--ct-success:#10c469;--ct-info:#35b8e0;--ct-warning:#f9c851;--ct-danger:#ff5b5b;--ct-light:#f8f9fa;--ct-dark:#323a46;--ct-pink:#ff8acc;--ct-purple:#5b69bc;--ct-blue:#71b6f9;--ct-primary-rgb:13,110,253;--ct-secondary-rgb:108,117,125;--ct-success-rgb:25,135,84;--ct-info-rgb:13,202,240;--ct-warning-rgb:255,193,7;--ct-danger-rgb:220,53,69;--ct-light-rgb:248,249,250;--ct-dark-rgb:33,37,41;--ct-white-rgb:255,255,255;--ct-black-rgb:0,0,0;--ct-body-color-rgb:108,117,125;--ct-body-bg-rgb:235,239,242;--ct-font-sans-serif:"Roboto",sans-serif;--ct-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ct-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--ct-body-font-family:Roboto,sans-serif;--ct-body-font-size:0.9rem;--ct-body-font-weight:400;--ct-body-line-height:1.5;--ct-body-color:#6c757d;--ct-body-bg:#ebeff2}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--ct-body-font-family);font-size:var(--ct-body-font-size);font-weight:var(--ct-body-font-weight);line-height:var(--ct-body-line-height);color:var(--ct-body-color);text-align:var(--ct-body-text-align);background-color:var(--ct-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1.5rem 0;color:var(--ct-hr-color);background-color:currentColor;border:0;opacity:1}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:1.5rem;font-weight:600;line-height:1.1}.h1,h1{font-size:calc(1.35rem + 1.2vw)}@media (min-width:1200px){.h1,h1{font-size:2.25rem}}.h2,h2{font-size:calc(1.3125rem + .75vw)}@media (min-width:1200px){.h2,h2{font-size:1.875rem}}.h3,h3{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h3,h3{font-size:1.5rem}}.h4,h4{font-size:1.125rem}.h5,h5{font-size:.9375rem}.h6,h6{font-size:.75rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.75rem}.mark,mark{padding:.2em;background-color:var(--ct-mark-bg)}sub,sup{position:relative;font-size:.75rem;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:var(--ct-link-color);text-decoration:none}a:hover{color:var(--ct-link-hover-color)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--ct-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:87.5%}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:87.5%;color:var(--ct-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:var(--ct-kbd-color);background-color:var(--ct-kbd-bg);border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.85rem;padding-bottom:.85rem;color:var(--ct-table-caption-color);text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.125rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.1}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.1}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.1}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.1}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.1}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.1}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-right:0;list-style:none}.list-inline{padding-right:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-left:.5rem}.initialism{font-size:.75rem;text-transform:uppercase}.blockquote{margin-bottom:0;font-size:1.125rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:0;margin-bottom:0;font-size:.75rem;color:var(--ct-blockquote-footer-color)}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--ct-thumbnail-bg);border:1px solid var(--ct-thumbnail-border-color);border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.75rem;line-height:1}.figure-caption{font-size:90%;color:var(--ct-figure-caption-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-left:var(--ct-gutter-x,.75rem);padding-right:var(--ct-gutter-x,.75rem);margin-left:auto;margin-right:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--ct-gutter-x:1.5rem;--ct-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--ct-gutter-y));margin-left:calc(-.5 * var(--ct-gutter-x));margin-right:calc(-.5 * var(--ct-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-left:calc(var(--ct-gutter-x) * .5);padding-right:calc(var(--ct-gutter-x) * .5);margin-top:var(--ct-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-right:8.33333333%}.offset-2{margin-right:16.66666667%}.offset-3{margin-right:25%}.offset-4{margin-right:33.33333333%}.offset-5{margin-right:41.66666667%}.offset-6{margin-right:50%}.offset-7{margin-right:58.33333333%}.offset-8{margin-right:66.66666667%}.offset-9{margin-right:75%}.offset-10{margin-right:83.33333333%}.offset-11{margin-right:91.66666667%}.g-0,.gx-0{--ct-gutter-x:0}.g-0,.gy-0{--ct-gutter-y:0}.g-1,.gx-1{--ct-gutter-x:0.25rem}.g-1,.gy-1{--ct-gutter-y:0.25rem}.g-2,.gx-2{--ct-gutter-x:0.5rem}.g-2,.gy-2{--ct-gutter-y:0.5rem}.g-3,.gx-3{--ct-gutter-x:1rem}.g-3,.gy-3{--ct-gutter-y:1rem}.g-4,.gx-4{--ct-gutter-x:1.5rem}.g-4,.gy-4{--ct-gutter-y:1.5rem}.g-5,.gx-5{--ct-gutter-x:3rem}.g-5,.gy-5{--ct-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-right:0}.offset-sm-1{margin-right:8.33333333%}.offset-sm-2{margin-right:16.66666667%}.offset-sm-3{margin-right:25%}.offset-sm-4{margin-right:33.33333333%}.offset-sm-5{margin-right:41.66666667%}.offset-sm-6{margin-right:50%}.offset-sm-7{margin-right:58.33333333%}.offset-sm-8{margin-right:66.66666667%}.offset-sm-9{margin-right:75%}.offset-sm-10{margin-right:83.33333333%}.offset-sm-11{margin-right:91.66666667%}.g-sm-0,.gx-sm-0{--ct-gutter-x:0}.g-sm-0,.gy-sm-0{--ct-gutter-y:0}.g-sm-1,.gx-sm-1{--ct-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--ct-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--ct-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--ct-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--ct-gutter-x:1rem}.g-sm-3,.gy-sm-3{--ct-gutter-y:1rem}.g-sm-4,.gx-sm-4{--ct-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--ct-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--ct-gutter-x:3rem}.g-sm-5,.gy-sm-5{--ct-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-right:0}.offset-md-1{margin-right:8.33333333%}.offset-md-2{margin-right:16.66666667%}.offset-md-3{margin-right:25%}.offset-md-4{margin-right:33.33333333%}.offset-md-5{margin-right:41.66666667%}.offset-md-6{margin-right:50%}.offset-md-7{margin-right:58.33333333%}.offset-md-8{margin-right:66.66666667%}.offset-md-9{margin-right:75%}.offset-md-10{margin-right:83.33333333%}.offset-md-11{margin-right:91.66666667%}.g-md-0,.gx-md-0{--ct-gutter-x:0}.g-md-0,.gy-md-0{--ct-gutter-y:0}.g-md-1,.gx-md-1{--ct-gutter-x:0.25rem}.g-md-1,.gy-md-1{--ct-gutter-y:0.25rem}.g-md-2,.gx-md-2{--ct-gutter-x:0.5rem}.g-md-2,.gy-md-2{--ct-gutter-y:0.5rem}.g-md-3,.gx-md-3{--ct-gutter-x:1rem}.g-md-3,.gy-md-3{--ct-gutter-y:1rem}.g-md-4,.gx-md-4{--ct-gutter-x:1.5rem}.g-md-4,.gy-md-4{--ct-gutter-y:1.5rem}.g-md-5,.gx-md-5{--ct-gutter-x:3rem}.g-md-5,.gy-md-5{--ct-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-right:0}.offset-lg-1{margin-right:8.33333333%}.offset-lg-2{margin-right:16.66666667%}.offset-lg-3{margin-right:25%}.offset-lg-4{margin-right:33.33333333%}.offset-lg-5{margin-right:41.66666667%}.offset-lg-6{margin-right:50%}.offset-lg-7{margin-right:58.33333333%}.offset-lg-8{margin-right:66.66666667%}.offset-lg-9{margin-right:75%}.offset-lg-10{margin-right:83.33333333%}.offset-lg-11{margin-right:91.66666667%}.g-lg-0,.gx-lg-0{--ct-gutter-x:0}.g-lg-0,.gy-lg-0{--ct-gutter-y:0}.g-lg-1,.gx-lg-1{--ct-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--ct-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--ct-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--ct-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--ct-gutter-x:1rem}.g-lg-3,.gy-lg-3{--ct-gutter-y:1rem}.g-lg-4,.gx-lg-4{--ct-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--ct-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--ct-gutter-x:3rem}.g-lg-5,.gy-lg-5{--ct-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-right:0}.offset-xl-1{margin-right:8.33333333%}.offset-xl-2{margin-right:16.66666667%}.offset-xl-3{margin-right:25%}.offset-xl-4{margin-right:33.33333333%}.offset-xl-5{margin-right:41.66666667%}.offset-xl-6{margin-right:50%}.offset-xl-7{margin-right:58.33333333%}.offset-xl-8{margin-right:66.66666667%}.offset-xl-9{margin-right:75%}.offset-xl-10{margin-right:83.33333333%}.offset-xl-11{margin-right:91.66666667%}.g-xl-0,.gx-xl-0{--ct-gutter-x:0}.g-xl-0,.gy-xl-0{--ct-gutter-y:0}.g-xl-1,.gx-xl-1{--ct-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--ct-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--ct-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--ct-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--ct-gutter-x:1rem}.g-xl-3,.gy-xl-3{--ct-gutter-y:1rem}.g-xl-4,.gx-xl-4{--ct-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--ct-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--ct-gutter-x:3rem}.g-xl-5,.gy-xl-5{--ct-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-right:0}.offset-xxl-1{margin-right:8.33333333%}.offset-xxl-2{margin-right:16.66666667%}.offset-xxl-3{margin-right:25%}.offset-xxl-4{margin-right:33.33333333%}.offset-xxl-5{margin-right:41.66666667%}.offset-xxl-6{margin-right:50%}.offset-xxl-7{margin-right:58.33333333%}.offset-xxl-8{margin-right:66.66666667%}.offset-xxl-9{margin-right:75%}.offset-xxl-10{margin-right:83.33333333%}.offset-xxl-11{margin-right:91.66666667%}.g-xxl-0,.gx-xxl-0{--ct-gutter-x:0}.g-xxl-0,.gy-xxl-0{--ct-gutter-y:0}.g-xxl-1,.gx-xxl-1{--ct-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--ct-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--ct-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--ct-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--ct-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--ct-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--ct-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--ct-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--ct-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--ct-gutter-y:3rem}}.table{--ct-table-bg:var(--ct-table-bg);--ct-table-accent-bg:var(--ct-table-accent-bg);--ct-table-striped-color:var(--ct-table-color);--ct-table-striped-bg:var(--ct-table-striped-bg);--ct-table-active-color:var(--ct-table-color);--ct-table-active-bg:var(--ct-table-active-bg);--ct-table-hover-color:var(--ct-table-color);--ct-table-hover-bg:var(--ct-table-hover-bg);width:100%;margin-bottom:1.5rem;color:var(--ct-table-color);vertical-align:top;border-color:var(--ct-table-border-color)}.table>:not(caption)>*>*{padding:.85rem .85rem;background-color:var(--ct-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--ct-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid var(--ct-table-group-separator-color)}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.5rem .5rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--ct-table-accent-bg:var(--ct-table-striped-bg);color:var(--ct-table-striped-color)}.table-active{--ct-table-accent-bg:var(--ct-table-active-bg);color:var(--ct-table-active-color)}.table-hover>tbody>tr:hover>*{--ct-table-accent-bg:var(--ct-table-hover-bg);color:var(--ct-table-hover-color)}.table-primary{--ct-table-bg:#e3f0fe;--ct-table-striped-bg:#afb9c5;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#8c959f;--ct-table-hover-color:#fff;color:#343a40;border-color:#d2deeb}.table-secondary{--ct-table-bg:#e2e3e5;--ct-table-striped-bg:#aeb0b4;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#8b8f93;--ct-table-hover-color:#fff;color:#343a40;border-color:#d1d2d5}.table-success{--ct-table-bg:#cff3e1;--ct-table-striped-bg:#a1bcb1;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#829791;--ct-table-hover-color:#fff;color:#343a40;border-color:#c0e1d1}.table-info{--ct-table-bg:#d7f1f9;--ct-table-striped-bg:#a6bac2;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#86969d;--ct-table-hover-color:#fff;color:#343a40;border-color:#c7dfe7}.table-warning{--ct-table-bg:#fef4dc;--ct-table-striped-bg:#c1bcad;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#99978e;--ct-table-hover-color:#fff;color:#343a40;border-color:#eae1cc}.table-danger{--ct-table-bg:#ffdede;--ct-table-striped-bg:#c2adaf;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#9a8c8f;--ct-table-hover-color:#fff;color:#343a40;border-color:#ebcece}.table-light{--ct-table-bg:#f7f7f7;--ct-table-striped-bg:#bdbec0;--ct-table-striped-color:#fff;--ct-table-active-bg:#343a40;--ct-table-active-color:#fff;--ct-table-hover-bg:#96999c;--ct-table-hover-color:#fff;color:#343a40;border-color:#e4e4e5}.table-dark{--ct-table-bg:#323a46;--ct-table-striped-bg:#70757e;--ct-table-striped-color:#fff;--ct-table-active-bg:white;--ct-table-active-color:#343a40;--ct-table-hover-bg:#999da3;--ct-table-hover-color:#fff;color:#fff;border-color:#474e59}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem;font-weight:500}.col-form-label{padding-top:calc(.45rem + 1px);padding-bottom:calc(.45rem + 1px);margin-bottom:0;font-size:inherit;font-weight:500;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.28rem + 1px);padding-bottom:calc(.28rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.75rem;color:var(--ct-form-text-color)}.form-control{display:block;width:100%;padding:.45rem .9rem;font-size:.9rem;font-weight:400;line-height:1.5;color:var(--ct-input-color);background-color:var(--ct-input-bg);background-clip:padding-box;border:1px solid var(--ct-input-border-color);-webkit-appearance:none;appearance:none;border-radius:.2rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--ct-input-focus-color);background-color:var(--ct-input-focus-bg);border-color:var(--ct-input-focus-border-color);outline:0;box-shadow:none}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::placeholder{color:var(--ct-input-placeholder-color);opacity:1}.form-control:disabled,.form-control[readonly]{background-color:var(--ct-input-disabled-bg);opacity:1}.form-control::file-selector-button{padding:.45rem .9rem;margin:-.45rem -.9rem;-webkit-margin-end:.9rem;margin-inline-end:.9rem;color:var(--ct-form-file-button-color);background-color:var(--ct-form-file-button-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--ct-form-file-button-hover-bg)}.form-control::-webkit-file-upload-button{padding:.45rem .9rem;margin:-.45rem -.9rem;-webkit-margin-end:.9rem;margin-inline-end:.9rem;color:var(--ct-form-file-button-color);background-color:var(--ct-form-file-button-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--ct-form-file-button-hover-bg)}.form-control-plaintext{display:block;width:100%;padding:.45rem 0;margin-bottom:0;line-height:1.5;color:var(--ct-input-plaintext-color);background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{min-height:calc(1.5em + .56rem + 2px);padding:.28rem .8rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::file-selector-button{padding:.28rem .8rem;margin:-.28rem -.8rem;-webkit-margin-end:.8rem;margin-inline-end:.8rem}.form-control-sm::-webkit-file-upload-button{padding:.28rem .8rem;margin:-.28rem -.8rem;-webkit-margin-end:.8rem;margin-inline-end:.8rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .9rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .56rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.45rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.2rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.2rem}.form-select{display:block;width:100%;padding:.45rem .9rem .45rem 2.7rem;-moz-padding-start:calc(.9rem - 3px);font-size:.9rem;font-weight:400;line-height:1.5;color:var(--ct-form-select-color);background-color:var(--ct-form-select-bg);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238b96a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left .9rem center;background-size:14px 12px;border:1px solid var(--ct-input-border-color);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:var(--ct-input-focus-border-color);outline:0;box-shadow:none}.form-select[multiple],.form-select[size]:not([size="1"]){padding-left:.9rem;background-image:none}.form-select:disabled{color:var(--ct-form-select-disabled-color);background-color:var(--ct-form-select-disabled-bg);border-color:var(--ct-form-select-disabled-border-color)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--ct-form-select-color)}.form-select-sm{padding-top:.28rem;padding-bottom:.28rem;padding-right:.8rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-right:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.35rem;padding-right:1.643em;margin-bottom:.125rem}.form-check .form-check-input{float:right;margin-right:-1.643em}.form-check-input{width:1.143em;height:1.143em;margin-top:.1785em;vertical-align:top;background-color:var(--ct-form-check-input-bg);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--ct-form-check-input-border);-webkit-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:var(--ct-input-focus-border-color);outline:0;box-shadow:none}.form-check-input:checked{background-color:var(--ct-form-check-input-checked-bg-color);border-color:var(--ct-form-check-input-checked-border-color)}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:var(--ct-component-active-bg);border-color:var(--ct-component-active-bg);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-right:2.5em}.form-switch .form-check-input{width:2em;margin-right:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238b96a0' opacity='0.5'/%3e%3c/svg%3e");background-position:right center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%238b96a0' opacity='0.5'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:left center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-left:.75rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.3rem;padding:0;background-color:transparent;-webkit-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #ebeff2,none}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #ebeff2,none}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:var(--ct-component-active-bg);border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:var(--ct-form-range-thumb-active-bg)}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--ct-form-range-track-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:var(--ct-component-active-bg);border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:var(--ct-form-range-thumb-active-bg)}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--ct-form-range-track-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--ct-form-range-thumb-disabled-bg)}.form-range:disabled::-moz-range-thumb{background-color:var(--ct-form-range-thumb-disabled-bg)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;right:0;height:100%;padding:1rem .9rem;pointer-events:none;border:1px solid transparent;transform-origin:100% 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .9rem}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(-.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.45rem .9rem;font-size:.9rem;font-weight:400;line-height:1.5;color:var(--ct-input-group-addon-color);text-align:center;white-space:nowrap;background-color:var(--ct-input-group-addon-bg);border:1px solid var(--ct-input-group-addon-border-color);border-radius:.2rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.28rem .8rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-left:3.6rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-left-radius:0;border-bottom-left-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-right:-1px;border-top-right-radius:0;border-bottom-right-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.75rem;color:#10c469}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .8rem;margin-top:.1rem;font-size:.9rem;line-height:1.5;color:#fff;background-color:rgba(16,196,105,.9);border-radius:.2rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#10c469;padding-left:calc(1.5em + .9rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2310c469' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.375em + .225rem) center;background-size:calc(.75em + .45rem) calc(.75em + .45rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#10c469;box-shadow:0 0 0 .15rem rgba(16,196,105,.85)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-left:calc(1.5em + .9rem);background-position:top calc(.375em + .225rem) left calc(.375em + .225rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#10c469}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-left:4.95rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238b96a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2310c469' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:left .9rem center,center left 2.7rem;background-size:14px 12px,calc(.75em + .45rem) calc(.75em + .45rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#10c469;box-shadow:0 0 0 .15rem rgba(16,196,105,.85)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#10c469}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#10c469}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.85)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#10c469}.form-check-inline .form-check-input~.valid-feedback{margin-right:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.75rem;color:#ff5b5b}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.4rem .8rem;margin-top:.1rem;font-size:.9rem;line-height:1.5;color:#fff;background-color:rgba(255,91,91,.9);border-radius:.2rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#ff5b5b;padding-left:calc(1.5em + .9rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff5b5b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff5b5b' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:left calc(.375em + .225rem) center;background-size:calc(.75em + .45rem) calc(.75em + .45rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#ff5b5b;box-shadow:0 0 0 .15rem rgba(255,91,91,.85)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-left:calc(1.5em + .9rem);background-position:top calc(.375em + .225rem) left calc(.375em + .225rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#ff5b5b}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-left:4.95rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238b96a0' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ff5b5b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ff5b5b' stroke='none'/%3e%3c/svg%3e");background-position:left .9rem center,center left 2.7rem;background-size:14px 12px,calc(.75em + .45rem) calc(.75em + .45rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#ff5b5b;box-shadow:0 0 0 .15rem rgba(255,91,91,.85)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#ff5b5b}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#ff5b5b}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.85)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#ff5b5b}.form-check-inline .form-check-input~.invalid-feedback{margin-right:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#6c757d;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.45rem .9rem;font-size:.9rem;border-radius:.15rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#6c757d}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:none}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-primary:hover{color:#fff;background-color:#609bd4;border-color:#5a92c7}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#609bd4;border-color:#5a92c7;box-shadow:0 0 0 .15rem rgba(134,193,250,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#5a92c7;border-color:#5589bb}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(134,193,250,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .15rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#10c469;border-color:#10c469}.btn-success:hover{color:#fff;background-color:#0ea759;border-color:#0d9d54}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#0ea759;border-color:#0d9d54;box-shadow:0 0 0 .15rem rgba(52,205,128,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#0d9d54;border-color:#0c934f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(52,205,128,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#10c469;border-color:#10c469}.btn-info{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-info:hover{color:#fff;background-color:#2d9cbe;border-color:#2a93b3}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#2d9cbe;border-color:#2a93b3;box-shadow:0 0 0 .15rem rgba(83,195,229,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#2a93b3;border-color:#288aa8}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(83,195,229,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-warning{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-warning:hover{color:#343a40;background-color:#fad06b;border-color:#face62}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#343a40;background-color:#fad06b;border-color:#face62;box-shadow:0 0 0 .15rem rgba(219,179,78,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#343a40;background-color:#fad374;border-color:#face62}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(219,179,78,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-danger{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-danger:hover{color:#fff;background-color:#d94d4d;border-color:#cc4949}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#d94d4d;border-color:#cc4949;box-shadow:0 0 0 .15rem rgba(255,116,116,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#cc4949;border-color:#bf4444}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(255,116,116,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-light{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#343a40;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#343a40;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .15rem rgba(219,220,222,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#343a40;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(219,220,222,.5)}.btn-light.disabled,.btn-light:disabled{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#323a46;border-color:#323a46}.btn-dark:hover{color:#fff;background-color:#2b313c;border-color:#282e38}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#2b313c;border-color:#282e38;box-shadow:0 0 0 .15rem rgba(81,88,98,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#282e38;border-color:#262c35}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(81,88,98,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#323a46;border-color:#323a46}.btn-pink{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-pink:hover{color:#fff;background-color:#d975ad;border-color:#cc6ea3}.btn-check:focus+.btn-pink,.btn-pink:focus{color:#fff;background-color:#d975ad;border-color:#cc6ea3;box-shadow:0 0 0 .15rem rgba(255,156,212,.5)}.btn-check:active+.btn-pink,.btn-check:checked+.btn-pink,.btn-pink.active,.btn-pink:active,.show>.btn-pink.dropdown-toggle{color:#fff;background-color:#cc6ea3;border-color:#bf6899}.btn-check:active+.btn-pink:focus,.btn-check:checked+.btn-pink:focus,.btn-pink.active:focus,.btn-pink:active:focus,.show>.btn-pink.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(255,156,212,.5)}.btn-pink.disabled,.btn-pink:disabled{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-purple{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-purple:hover{color:#fff;background-color:#4d59a0;border-color:#495496}.btn-check:focus+.btn-purple,.btn-purple:focus{color:#fff;background-color:#4d59a0;border-color:#495496;box-shadow:0 0 0 .15rem rgba(116,128,198,.5)}.btn-check:active+.btn-purple,.btn-check:checked+.btn-purple,.btn-purple.active,.btn-purple:active,.show>.btn-purple.dropdown-toggle{color:#fff;background-color:#495496;border-color:#444f8d}.btn-check:active+.btn-purple:focus,.btn-check:checked+.btn-purple:focus,.btn-purple.active:focus,.btn-purple:active:focus,.show>.btn-purple.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(116,128,198,.5)}.btn-purple.disabled,.btn-purple:disabled{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-blue{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-blue:hover{color:#fff;background-color:#609bd4;border-color:#5a92c7}.btn-blue:focus,.btn-check:focus+.btn-blue{color:#fff;background-color:#609bd4;border-color:#5a92c7;box-shadow:0 0 0 .15rem rgba(134,193,250,.5)}.btn-blue.active,.btn-blue:active,.btn-check:active+.btn-blue,.btn-check:checked+.btn-blue,.show>.btn-blue.dropdown-toggle{color:#fff;background-color:#5a92c7;border-color:#5589bb}.btn-blue.active:focus,.btn-blue:active:focus,.btn-check:active+.btn-blue:focus,.btn-check:checked+.btn-blue:focus,.show>.btn-blue.dropdown-toggle:focus{box-shadow:0 0 0 .15rem rgba(134,193,250,.5)}.btn-blue.disabled,.btn-blue:disabled{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-outline-primary{color:#71b6f9;border-color:#71b6f9}.btn-outline-primary:hover{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#71b6f9;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#10c469;border-color:#10c469}.btn-outline-success:hover{color:#fff;background-color:#10c469;border-color:#10c469}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#10c469;border-color:#10c469}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#10c469;background-color:transparent}.btn-outline-info{color:#35b8e0;border-color:#35b8e0}.btn-outline-info:hover{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#35b8e0;background-color:transparent}.btn-outline-warning{color:#f9c851;border-color:#f9c851}.btn-outline-warning:hover{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f9c851;background-color:transparent}.btn-outline-danger{color:#ff5b5b;border-color:#ff5b5b}.btn-outline-danger:hover{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff5b5b;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .15rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .15rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#323a46;border-color:#323a46}.btn-outline-dark:hover{color:#fff;background-color:#323a46;border-color:#323a46}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .15rem rgba(50,58,70,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#323a46;border-color:#323a46}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .15rem rgba(50,58,70,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#323a46;background-color:transparent}.btn-outline-pink{color:#ff8acc;border-color:#ff8acc}.btn-outline-pink:hover{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-check:focus+.btn-outline-pink,.btn-outline-pink:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.5)}.btn-check:active+.btn-outline-pink,.btn-check:checked+.btn-outline-pink,.btn-outline-pink.active,.btn-outline-pink.dropdown-toggle.show,.btn-outline-pink:active{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-check:active+.btn-outline-pink:focus,.btn-check:checked+.btn-outline-pink:focus,.btn-outline-pink.active:focus,.btn-outline-pink.dropdown-toggle.show:focus,.btn-outline-pink:active:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.5)}.btn-outline-pink.disabled,.btn-outline-pink:disabled{color:#ff8acc;background-color:transparent}.btn-outline-purple{color:#5b69bc;border-color:#5b69bc}.btn-outline-purple:hover{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-check:focus+.btn-outline-purple,.btn-outline-purple:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.5)}.btn-check:active+.btn-outline-purple,.btn-check:checked+.btn-outline-purple,.btn-outline-purple.active,.btn-outline-purple.dropdown-toggle.show,.btn-outline-purple:active{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-check:active+.btn-outline-purple:focus,.btn-check:checked+.btn-outline-purple:focus,.btn-outline-purple.active:focus,.btn-outline-purple.dropdown-toggle.show:focus,.btn-outline-purple:active:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.5)}.btn-outline-purple.disabled,.btn-outline-purple:disabled{color:#5b69bc;background-color:transparent}.btn-outline-blue{color:#71b6f9;border-color:#71b6f9}.btn-outline-blue:hover{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:focus+.btn-outline-blue,.btn-outline-blue:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-check:active+.btn-outline-blue,.btn-check:checked+.btn-outline-blue,.btn-outline-blue.active,.btn-outline-blue.dropdown-toggle.show,.btn-outline-blue:active{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:active+.btn-outline-blue:focus,.btn-check:checked+.btn-outline-blue:focus,.btn-outline-blue.active:focus,.btn-outline-blue.dropdown-toggle.show:focus,.btn-outline-blue:active:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-outline-blue.disabled,.btn-outline-blue:disabled{color:#71b6f9;background-color:transparent}.btn-link{font-weight:400;color:var(--ct-btn-link-color);text-decoration:none}.btn-link:hover{color:var(--ct-btn-link-hover-color)}.btn-link.disabled,.btn-link:disabled{color:var(--ct-btn-link-disabled-color)}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.15rem}.btn-group-sm>.btn,.btn-sm{padding:.28rem .8rem;font-size:.875rem;border-radius:.15rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:.9rem;color:var(--ct-dropdown-color);text-align:right;list-style:none;background-color:var(--ct-dropdown-bg);background-clip:padding-box;border:1px solid var(--ct-dropdown-border-color);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;right:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{left:0;right:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{left:0;right:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{left:0;right:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{left:0;right:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{left:auto;right:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{left:0;right:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropend .dropdown-menu[data-bs-popper]{top:0;left:auto;right:100%;margin-top:0;margin-right:.125rem}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;left:100%;right:auto;margin-top:0;margin-left:.125rem}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.75rem 0;overflow:hidden;border-top:1px solid var(--ct-dropdown-divider-bg)}.dropdown-item{display:block;width:100%;padding:.375rem 1.5rem;clear:both;font-weight:400;color:var(--ct-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:var(--ct-dropdown-link-hover-color);background-color:var(--ct-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--ct-dropdown-link-active-color);text-decoration:none;background-color:var(--ct-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--ct-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:var(--ct-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:.375rem 1.5rem;color:var(--ct-dropdown-link-color)}.dropdown-menu-dark{color:var(--ct-dropdown-dark-color);background-color:var(--ct-dropdown-dark-bg);border-color:var(--ct-dropdown-dark-border-color)}.dropdown-menu-dark .dropdown-item{color:var(--ct-dropdown-dark-link-color)}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:var(--ct-dropdown-dark-link-hover-color);background-color:var(--ct-dropdown-dark-link-hover-bg)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:var(--ct-dropdown-dark-link-active-color);background-color:var(--ct-dropdown-dark-link-active-bg)}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:var(--ct-dropdown-dark-link-disabled-color)}.dropdown-menu-dark .dropdown-divider{border-color:var(--ct-dropdown-dark-divider-bg)}.dropdown-menu-dark .dropdown-item-text{color:var(--ct-dropdown-dark-link-color)}.dropdown-menu-dark .dropdown-header{color:var(--ct-dropdown-dark-header-color)}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-right:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-right-radius:0;border-bottom-right-radius:0}.dropdown-toggle-split{padding-left:.675rem;padding-right:.675rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-right:0}.dropstart .dropdown-toggle-split::before{margin-left:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.6rem;padding-right:.6rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-right-radius:0;border-top-left-radius:0}.nav{display:flex;flex-wrap:wrap;padding-right:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:var(--ct-link-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--ct-link-hover-color)}.nav-link.disabled{color:var(--ct-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid var(--ct-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:var(--ct-nav-tabs-link-hover-border-color);isolation:isolate}.nav-tabs .nav-link.disabled{color:var(--ct-nav-link-disabled-color);background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--ct-nav-tabs-link-active-color);background-color:var(--ct-nav-tabs-link-active-bg);border-color:var(--ct-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--ct-component-active-color);background-color:var(--ct-component-active-bg)}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.75rem;padding-bottom:.75rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.2375rem;padding-bottom:.2375rem;margin-left:1rem;font-size:1.25rem;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-right:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.15rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .15rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--ct-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-left:0;border-right:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-left:0;border-right:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-left:0;border-right:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-left:0;border-right:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-left:0;border-right:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-left:0;border-right:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:var(--ct-navbar-light-active-color)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:var(--ct-navbar-light-active-color)}.navbar-light .navbar-nav .nav-link{color:var(--ct-navbar-light-color)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:var(--ct-navbar-light-hover-color)}.navbar-light .navbar-nav .nav-link.disabled{color:var(--ct-navbar-light-disabled-color)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:var(--ct-navbar-light-active-color)}.navbar-light .navbar-toggler{color:var(--ct-navbar-light-color);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='var%28--ct-navbar-light-color%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:var(--ct-navbar-light-color)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:var(--ct-navbar-light-active-color)}.navbar-dark .navbar-brand{color:var(--ct-navbar-dark-active-color)}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:var(--ct-navbar-dark-active-color)}.navbar-dark .navbar-nav .nav-link{color:var(--ct-navbar-dark-color)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:var(--ct-navbar-dark-hover-color)}.navbar-dark .navbar-nav .nav-link.disabled{color:var(--ct-navbar-dark-disabled-color)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:var(--ct-navbar-dark-active-color)}.navbar-dark .navbar-toggler{color:var(--ct-navbar-dark-color);border-color:var(--ct-navbar-dark-toggler-border-color)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='var%28--ct-navbar-dark-color%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:var(--ct-navbar-dark-color)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:var(--ct-navbar-dark-active-color)}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:var(--ct-card-bg);background-clip:border-box;border:0 solid var(--ct-card-border-color);border-radius:.25rem}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card>.list-group:last-child{border-bottom-width:0;border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1.5rem 1.5rem}.card-title{margin-bottom:1.005rem}.card-subtitle{margin-top:-.5025rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-right:1.5rem}.card-header{padding:1.005rem 1.5rem;margin-bottom:0;background-color:var(--ct-card-cap-bg);border-bottom:0 solid var(--ct-card-border-color)}.card-header:first-child{border-radius:.25rem .25rem 0 0}.card-footer{padding:1.005rem 1.5rem;background-color:var(--ct-card-cap-bg);border-top:0 solid var(--ct-card-border-color)}.card-footer:last-child{border-radius:0 0 .25rem .25rem}.card-header-tabs{margin-left:-.75rem;margin-bottom:-1.005rem;margin-right:-.75rem;border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--ct-card-bg);border-bottom-color:var(--ct-card-bg)}.card-header-pills{margin-left:-.75rem;margin-right:-.75rem}.card-img-overlay{position:absolute;top:0;left:0;bottom:0;right:0;padding:1.25rem;border-radius:.25rem}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.card-img,.card-img-bottom{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-right:0;border-right:0}.card-group>.card:not(:last-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:not(:first-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-right-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:.9rem;color:var(--ct-accordion-color);text-align:right;background-color:#ebeff2;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--ct-accordion-button-active-color);background-color:var(--ct-accordion-button-active-bg);box-shadow:inset 0 -1px 0 var(--ct-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--ct-accordion-button-active-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-right:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='var%28--ct-accordion-color%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:var(--ct-accordion-button-focus-border-color);outline:0;box-shadow:var(--ct-accordion-button-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#ebeff2;border:1px solid var(--ct-accordion-border-color)}.accordion-item:first-of-type{border-top-right-radius:.25rem;border-top-left-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-left:0;border-right:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none;background-color:transparent;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-right:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:right;padding-left:.5rem;color:var(--ct-breadcrumb-divider-color);content:var(--ct-breadcrumb-divider, "\f0142")}.breadcrumb-item.active{color:var(--ct-breadcrumb-active-color)}.pagination{display:flex;padding-right:0;list-style:none}.page-link{position:relative;display:block;color:var(--ct-pagination-color);background-color:var(--ct-pagination-bg);border:1px solid var(--ct-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--ct-pagination-hover-color);background-color:var(--ct-pagination-hover-bg);border-color:var(--ct-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--ct-pagination-focus-color);background-color:var(--ct-pagination-focus-bg);outline:0;box-shadow:var(--ct-pagination-focus-box-shadow)}.page-item:not(:first-child) .page-link{margin-right:-1px}.page-item.active .page-link{z-index:3;color:var(--ct-component-active-color);background-color:var(--ct-component-active-bg);border-color:var(--ct-component-active-bg)}.page-item.disabled .page-link{color:var(--ct-pagination-disabled-color);pointer-events:none;background-color:var(--ct-pagination-disabled-bg);border-color:var(--ct-pagination-disabled-border-color)}.page-link{padding:.5rem .75rem}.page-item:first-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item:last-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:.75em;font-weight:700;line-height:1;color:var(--ct-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-left:3.75rem}.alert-dismissible .btn-close{position:absolute;top:0;left:0;z-index:2;padding:.9375rem 1.25rem}.alert-primary{color:#446d95;background-color:#e3f0fe;border-color:#d4e9fd}.alert-primary .alert-link{color:#365777}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0a763f;background-color:#cff3e1;border-color:#b7edd2}.alert-success .alert-link{color:#085e32}.alert-info{color:#206e86;background-color:#d7f1f9;border-color:#c2eaf6}.alert-info .alert-link{color:#1a586b}.alert-warning{color:#957831;background-color:#fef4dc;border-color:#fdefcb}.alert-warning .alert-link{color:#776027}.alert-danger{color:#993737;background-color:#ffdede;border-color:#ffcece}.alert-danger .alert-link{color:#7a2c2c}.alert-light{color:#959596;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#777778}.alert-dark{color:#1e232a;background-color:#d6d8da;border-color:#c2c4c8}.alert-dark .alert-link{color:#181c22}.alert-pink{color:#99537a;background-color:#ffe8f5;border-color:#ffdcf0}.alert-pink .alert-link{color:#7a4262}.alert-purple{color:#373f71;background-color:#dee1f2;border-color:#ced2eb}.alert-purple .alert-link{color:#2c325a}.alert-blue{color:#446d95;background-color:#e3f0fe;border-color:#d4e9fd}.alert-blue .alert-link{color:#365777}@keyframes progress-bar-stripes{0%{background-position-x:.75rem}}.progress{display:flex;height:.75rem;overflow:hidden;font-size:.675rem;background-color:var(--ct-progress-bg);border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--ct-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--ct-progress-bar-bg);transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(-45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:.75rem .75rem}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{display:flex;flex-direction:column;padding-right:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:var(--ct-list-group-action-color);text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:var(--ct-list-group-action-color);text-decoration:none;background-color:var(--ct-list-group-hover-bg)}.list-group-item-action:active{color:var(--ct-list-group-action-active-color);background-color:var(--ct-list-group-action-active-bg)}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;color:var(--ct-list-group-color);background-color:var(--ct-list-group-bg);border:1px solid var(--ct-list-group-border-color)}.list-group-item:first-child{border-top-right-radius:inherit;border-top-left-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--ct-list-group-disabled-color);pointer-events:none;background-color:var(--ct-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--ct-component-active-color);background-color:var(--ct-component-active-bg);border-color:var(--ct-component-active-bg)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-right-radius:.25rem;border-top-left-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-left-radius:.25rem;border-bottom-right-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-right-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-right:-1px;border-right-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#446d95;background-color:#e3f0fe}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#446d95;background-color:#ccd8e5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#446d95;border-color:#446d95}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0a763f;background-color:#cff3e1}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0a763f;background-color:#badbcb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0a763f;border-color:#0a763f}.list-group-item-info{color:#206e86;background-color:#d7f1f9}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#206e86;background-color:#c2d9e0}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#206e86;border-color:#206e86}.list-group-item-warning{color:#957831;background-color:#fef4dc}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#957831;background-color:#e5dcc6}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#957831;border-color:#957831}.list-group-item-danger{color:#993737;background-color:#ffdede}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#993737;background-color:#e6c8c8}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#993737;border-color:#993737}.list-group-item-light{color:#959596;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#959596;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#959596;border-color:#959596}.list-group-item-dark{color:#1e232a;background-color:#d6d8da}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1e232a;background-color:#c1c2c4}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1e232a;border-color:#1e232a}.list-group-item-pink{color:#99537a;background-color:#ffe8f5}.list-group-item-pink.list-group-item-action:focus,.list-group-item-pink.list-group-item-action:hover{color:#99537a;background-color:#e6d1dd}.list-group-item-pink.list-group-item-action.active{color:#fff;background-color:#99537a;border-color:#99537a}.list-group-item-purple{color:#373f71;background-color:#dee1f2}.list-group-item-purple.list-group-item-action:focus,.list-group-item-purple.list-group-item-action:hover{color:#373f71;background-color:#c8cbda}.list-group-item-purple.list-group-item-action.active{color:#fff;background-color:#373f71;border-color:#373f71}.list-group-item-blue{color:#446d95;background-color:#e3f0fe}.list-group-item-blue.list-group-item-action:focus,.list-group-item-blue.list-group-item-action:hover{color:#446d95;background-color:#ccd8e5}.list-group-item-blue.list-group-item-action.active{color:#fff;background-color:#446d95;border-color:#446d95}.btn-close{box-sizing:content-box;width:.8rem;height:.8rem;padding:.25em .25em;color:var(--ct-btn-close-color);background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%238b96a0'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/.8rem auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:var(--ct-btn-close-color);text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:none;opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:var(--ct-toast-background-color);background-clip:padding-box;border:1px solid var(--ct-toast-border-color);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.25rem .75rem;color:var(--ct-toast-header-color);background-color:var(--ct-toast-header-background-color);background-clip:padding-box;border-bottom:1px solid var(--ct-toast-header-border-color);border-top-right-radius:calc(.25rem - 1px);border-top-left-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-left:-.375rem;margin-right:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;right:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:var(--ct-modal-content-bg);background-clip:padding-box;border:1px solid transparent;border-radius:.2rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;z-index:1050;width:100vw;height:100vh;background-color:var(--ct-modal-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid var(--ct-modal-header-border-color);border-top-right-radius:calc(.2rem - 1px);border-top-left-radius:calc(.2rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem auto -.5rem -.5rem}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid var(--ct-modal-footer-border-color);border-bottom-left-radius:calc(.2rem - 1px);border-bottom-right-radius:calc(.2rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:Roboto,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.9rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:var(--ct-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:var(--ct-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:var(--ct-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:var(--ct-tooltip-bg)}.tooltip-inner{max-width:200px;padding:.4rem .8rem;color:var(--ct-tooltip-color);text-align:center;background-color:var(--ct-tooltip-bg);border-radius:.2rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:Roboto,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:right;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:var(--ct-popover-bg);background-clip:padding-box;border:1px solid var(--ct-popover-border-color);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:var(--ct-popover-arrow-outer-color)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:var(--ct-popover-arrow-color)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:var(--ct-popover-arrow-outer-color)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:var(--ct-popover-arrow-color)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:var(--ct-popover-arrow-outer-color)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:var(--ct-popover-arrow-color)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;right:50%;display:block;width:1rem;margin-right:-.5rem;content:"";border-bottom:1px solid var(--ct-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:var(--ct-popover-arrow-outer-color)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:var(--ct-popover-arrow-color)}.popover-header{padding:.7rem .8rem;margin-bottom:0;font-size:.9rem;color:var(--ct-popover-header-color);background-color:var(--ct-popover-header-bg);border-bottom:1px solid var(--ct-popover-border-color);border-top-right-radius:calc(.3rem - 1px);border-top-left-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.7rem .8rem;color:var(--ct-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:right;width:100%;margin-left:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:var(--ct-carousel-control-color);text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:var(--ct-carousel-control-color);text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{right:0}.carousel-control-next{left:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;left:0;bottom:0;right:0;z-index:2;display:flex;justify-content:center;padding:0;margin-left:15%;margin-bottom:1rem;margin-right:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-left:3px;margin-right:3px;text-indent:-999px;cursor:pointer;background-color:var(--ct-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;left:15%;bottom:1.25rem;right:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--ct-carousel-caption-color);text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:var(--ct-carousel-dark-indicator-active-bg)}.carousel-dark .carousel-caption{color:var(--ct-carousel-dark-caption-color)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-left-color:transparent;border-radius:50%;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:var(--ct-modal-content-bg);background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;right:0;z-index:1040;width:100vw;height:100vh;background-color:var(--ct-modal-backdrop-bg)}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-left:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;right:0;width:400px;border-left:1px solid transparent;transform:translateX(100%)}.offcanvas-end{top:0;left:0;width:400px;border-right:1px solid transparent;transform:translateX(-100%)}.offcanvas-top{top:0;left:0;right:0;height:30vh;max-height:100%;border-bottom:1px solid transparent;transform:translateY(-100%)}.offcanvas-bottom{left:0;right:0;height:30vh;max-height:100%;border-top:1px solid transparent;transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0;mask-position:-200% 0}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#71b6f9}.link-primary:focus,.link-primary:hover{color:#609bd4}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#5c636a}.link-success{color:#10c469}.link-success:focus,.link-success:hover{color:#0ea759}.link-info{color:#35b8e0}.link-info:focus,.link-info:hover{color:#2d9cbe}.link-warning{color:#f9c851}.link-warning:focus,.link-warning:hover{color:#fad06b}.link-danger{color:#ff5b5b}.link-danger:focus,.link-danger:hover{color:#d94d4d}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#323a46}.link-dark:focus,.link-dark:hover{color:#2b313c}.link-pink{color:#ff8acc}.link-pink:focus,.link-pink:hover{color:#d975ad}.link-purple{color:#5b69bc}.link-purple:focus,.link-purple:hover{color:#4d59a0}.link-blue{color:#71b6f9}.link-blue:focus,.link-blue:hover{color:#609bd4}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--ct-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;right:0;width:100%;height:100%}.ratio-1x1{--ct-aspect-ratio:100%}.ratio-4x3{--ct-aspect-ratio:75%}.ratio-16x9{--ct-aspect-ratio:56.25%}.ratio-21x9{--ct-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;left:0;right:0;z-index:1030}.fixed-bottom{position:fixed;left:0;bottom:0;right:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;left:0;bottom:0;right:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:1}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:right!important}.float-end{float:left!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--ct-box-shadow)!important}.shadow-sm{box-shadow:var(--ct-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--ct-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{right:0!important}.start-50{right:50%!important}.start-100{right:100%!important}.end-0{left:0!important}.end-50{left:50%!important}.end-100{left:100%!important}.translate-middle{transform:translate(50%,-50%)!important}.translate-middle-x{transform:translateX(50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid var(--ct-border-color)!important}.border-0{border:0!important}.border-top{border-top:1px solid var(--ct-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-left:1px solid var(--ct-border-color)!important}.border-end-0{border-left:0!important}.border-bottom{border-bottom:1px solid var(--ct-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-right:1px solid var(--ct-border-color)!important}.border-start-0{border-right:0!important}.border-primary{border-color:#71b6f9!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#10c469!important}.border-info{border-color:#35b8e0!important}.border-warning{border-color:#f9c851!important}.border-danger{border-color:#ff5b5b!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#323a46!important}.border-pink{border-color:#ff8acc!important}.border-purple{border-color:#5b69bc!important}.border-blue{border-color:#71b6f9!important}.border-white{border-color:#fff!important}.border-0{border-width:0!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.375rem!important}.gap-2{gap:.75rem!important}.gap-3{gap:1.5rem!important}.gap-4{gap:2.25rem!important}.gap-5{gap:4.5rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.375rem!important}.m-2{margin:.75rem!important}.m-3{margin:1.5rem!important}.m-4{margin:2.25rem!important}.m-5{margin:4.5rem!important}.m-auto{margin:auto!important}.mx-0{margin-left:0!important;margin-right:0!important}.mx-1{margin-left:.375rem!important;margin-right:.375rem!important}.mx-2{margin-left:.75rem!important;margin-right:.75rem!important}.mx-3{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-4{margin-left:2.25rem!important;margin-right:2.25rem!important}.mx-5{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.375rem!important;margin-bottom:.375rem!important}.my-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-4{margin-top:2.25rem!important;margin-bottom:2.25rem!important}.my-5{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.375rem!important}.mt-2{margin-top:.75rem!important}.mt-3{margin-top:1.5rem!important}.mt-4{margin-top:2.25rem!important}.mt-5{margin-top:4.5rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-left:0!important}.me-1{margin-left:.375rem!important}.me-2{margin-left:.75rem!important}.me-3{margin-left:1.5rem!important}.me-4{margin-left:2.25rem!important}.me-5{margin-left:4.5rem!important}.me-auto{margin-left:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.375rem!important}.mb-2{margin-bottom:.75rem!important}.mb-3{margin-bottom:1.5rem!important}.mb-4{margin-bottom:2.25rem!important}.mb-5{margin-bottom:4.5rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-right:0!important}.ms-1{margin-right:.375rem!important}.ms-2{margin-right:.75rem!important}.ms-3{margin-right:1.5rem!important}.ms-4{margin-right:2.25rem!important}.ms-5{margin-right:4.5rem!important}.ms-auto{margin-right:auto!important}.m-n1{margin:-.375rem!important}.m-n2{margin:-.75rem!important}.m-n3{margin:-1.5rem!important}.m-n4{margin:-2.25rem!important}.m-n5{margin:-4.5rem!important}.mx-n1{margin-left:-.375rem!important;margin-right:-.375rem!important}.mx-n2{margin-left:-.75rem!important;margin-right:-.75rem!important}.mx-n3{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-n4{margin-left:-2.25rem!important;margin-right:-2.25rem!important}.mx-n5{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.my-n1{margin-top:-.375rem!important;margin-bottom:-.375rem!important}.my-n2{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-n3{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-n4{margin-top:-2.25rem!important;margin-bottom:-2.25rem!important}.my-n5{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.mt-n1{margin-top:-.375rem!important}.mt-n2{margin-top:-.75rem!important}.mt-n3{margin-top:-1.5rem!important}.mt-n4{margin-top:-2.25rem!important}.mt-n5{margin-top:-4.5rem!important}.me-n1{margin-left:-.375rem!important}.me-n2{margin-left:-.75rem!important}.me-n3{margin-left:-1.5rem!important}.me-n4{margin-left:-2.25rem!important}.me-n5{margin-left:-4.5rem!important}.mb-n1{margin-bottom:-.375rem!important}.mb-n2{margin-bottom:-.75rem!important}.mb-n3{margin-bottom:-1.5rem!important}.mb-n4{margin-bottom:-2.25rem!important}.mb-n5{margin-bottom:-4.5rem!important}.ms-n1{margin-right:-.375rem!important}.ms-n2{margin-right:-.75rem!important}.ms-n3{margin-right:-1.5rem!important}.ms-n4{margin-right:-2.25rem!important}.ms-n5{margin-right:-4.5rem!important}.p-0{padding:0!important}.p-1{padding:.375rem!important}.p-2{padding:.75rem!important}.p-3{padding:1.5rem!important}.p-4{padding:2.25rem!important}.p-5{padding:4.5rem!important}.px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.375rem!important;padding-right:.375rem!important}.px-2{padding-left:.75rem!important;padding-right:.75rem!important}.px-3{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-4{padding-left:2.25rem!important;padding-right:2.25rem!important}.px-5{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-4{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.py-5{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.375rem!important}.pt-2{padding-top:.75rem!important}.pt-3{padding-top:1.5rem!important}.pt-4{padding-top:2.25rem!important}.pt-5{padding-top:4.5rem!important}.pe-0{padding-left:0!important}.pe-1{padding-left:.375rem!important}.pe-2{padding-left:.75rem!important}.pe-3{padding-left:1.5rem!important}.pe-4{padding-left:2.25rem!important}.pe-5{padding-left:4.5rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.375rem!important}.pb-2{padding-bottom:.75rem!important}.pb-3{padding-bottom:1.5rem!important}.pb-4{padding-bottom:2.25rem!important}.pb-5{padding-bottom:4.5rem!important}.ps-0{padding-right:0!important}.ps-1{padding-right:.375rem!important}.ps-2{padding-right:.75rem!important}.ps-3{padding-right:1.5rem!important}.ps-4{padding-right:2.25rem!important}.ps-5{padding-right:4.5rem!important}.font-monospace{font-family:var(--ct-font-monospace)!important}.fs-1{font-size:calc(1.35rem + 1.2vw)!important}.fs-2{font-size:calc(1.3125rem + .75vw)!important}.fs-3{font-size:calc(1.275rem + .3vw)!important}.fs-4{font-size:1.125rem!important}.fs-5{font-size:.9375rem!important}.fs-6{font-size:.75rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:right!important}.text-end{text-align:left!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-primary{--ct-text-opacity:1;color:rgba(var(--ct-primary-rgb),var(--ct-text-opacity))!important}.text-secondary{--ct-text-opacity:1;color:rgba(var(--ct-secondary-rgb),var(--ct-text-opacity))!important}.text-success{--ct-text-opacity:1;color:rgba(var(--ct-success-rgb),var(--ct-text-opacity))!important}.text-info{--ct-text-opacity:1;color:rgba(var(--ct-info-rgb),var(--ct-text-opacity))!important}.text-warning{--ct-text-opacity:1;color:rgba(var(--ct-warning-rgb),var(--ct-text-opacity))!important}.text-danger{--ct-text-opacity:1;color:rgba(var(--ct-danger-rgb),var(--ct-text-opacity))!important}.text-light{--ct-text-opacity:1;color:rgba(var(--ct-light-rgb),var(--ct-text-opacity))!important}.text-dark{--ct-text-opacity:1;color:rgba(var(--ct-dark-rgb),var(--ct-text-opacity))!important}.text-black{--ct-text-opacity:1;color:rgba(var(--ct-black-rgb),var(--ct-text-opacity))!important}.text-white{--ct-text-opacity:1;color:rgba(var(--ct-white-rgb),var(--ct-text-opacity))!important}.text-body{--ct-text-opacity:1;color:rgba(var(--ct-body-color-rgb),var(--ct-text-opacity))!important}.text-muted{--ct-text-opacity:1;color:var(--ct-text-muted)!important}.text-black-50{--ct-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--ct-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--ct-text-opacity:1;color:inherit!important}.text-opacity-25{--ct-text-opacity:0.25}.text-opacity-50{--ct-text-opacity:0.5}.text-opacity-75{--ct-text-opacity:0.75}.text-opacity-100{--ct-text-opacity:1}.bg-primary{--ct-bg-opacity:1;background-color:rgba(var(--ct-primary-rgb),var(--ct-bg-opacity))!important}.bg-secondary{--ct-bg-opacity:1;background-color:rgba(var(--ct-secondary-rgb),var(--ct-bg-opacity))!important}.bg-success{--ct-bg-opacity:1;background-color:rgba(var(--ct-success-rgb),var(--ct-bg-opacity))!important}.bg-info{--ct-bg-opacity:1;background-color:rgba(var(--ct-info-rgb),var(--ct-bg-opacity))!important}.bg-warning{--ct-bg-opacity:1;background-color:rgba(var(--ct-warning-rgb),var(--ct-bg-opacity))!important}.bg-danger{--ct-bg-opacity:1;background-color:rgba(var(--ct-danger-rgb),var(--ct-bg-opacity))!important}.bg-light{--ct-bg-opacity:1;background-color:rgba(var(--ct-light-rgb),var(--ct-bg-opacity))!important}.bg-dark{--ct-bg-opacity:1;background-color:rgba(var(--ct-dark-rgb),var(--ct-bg-opacity))!important}.bg-black{--ct-bg-opacity:1;background-color:rgba(var(--ct-black-rgb),var(--ct-bg-opacity))!important}.bg-white{--ct-bg-opacity:1;background-color:rgba(var(--ct-white-rgb),var(--ct-bg-opacity))!important}.bg-body{--ct-bg-opacity:1;background-color:rgba(var(--ct-body-bg-rgb),var(--ct-bg-opacity))!important}.bg-transparent{--ct-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--ct-bg-opacity:0.1}.bg-opacity-25{--ct-bg-opacity:0.25}.bg-opacity-50{--ct-bg-opacity:0.5}.bg-opacity-75{--ct-bg-opacity:0.75}.bg-opacity-100{--ct-bg-opacity:1}.bg-gradient{background-image:var(--ct-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-right-radius:.25rem!important;border-top-left-radius:.25rem!important}.rounded-end{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-bottom{border-bottom-left-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-start{border-bottom-right-radius:.25rem!important;border-top-right-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:right!important}.float-sm-end{float:left!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.375rem!important}.gap-sm-2{gap:.75rem!important}.gap-sm-3{gap:1.5rem!important}.gap-sm-4{gap:2.25rem!important}.gap-sm-5{gap:4.5rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.375rem!important}.m-sm-2{margin:.75rem!important}.m-sm-3{margin:1.5rem!important}.m-sm-4{margin:2.25rem!important}.m-sm-5{margin:4.5rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.375rem!important;margin-right:.375rem!important}.mx-sm-2{margin-left:.75rem!important;margin-right:.75rem!important}.mx-sm-3{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-4{margin-left:2.25rem!important;margin-right:2.25rem!important}.mx-sm-5{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.375rem!important;margin-bottom:.375rem!important}.my-sm-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-sm-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-4{margin-top:2.25rem!important;margin-bottom:2.25rem!important}.my-sm-5{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.375rem!important}.mt-sm-2{margin-top:.75rem!important}.mt-sm-3{margin-top:1.5rem!important}.mt-sm-4{margin-top:2.25rem!important}.mt-sm-5{margin-top:4.5rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-left:0!important}.me-sm-1{margin-left:.375rem!important}.me-sm-2{margin-left:.75rem!important}.me-sm-3{margin-left:1.5rem!important}.me-sm-4{margin-left:2.25rem!important}.me-sm-5{margin-left:4.5rem!important}.me-sm-auto{margin-left:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.375rem!important}.mb-sm-2{margin-bottom:.75rem!important}.mb-sm-3{margin-bottom:1.5rem!important}.mb-sm-4{margin-bottom:2.25rem!important}.mb-sm-5{margin-bottom:4.5rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-right:0!important}.ms-sm-1{margin-right:.375rem!important}.ms-sm-2{margin-right:.75rem!important}.ms-sm-3{margin-right:1.5rem!important}.ms-sm-4{margin-right:2.25rem!important}.ms-sm-5{margin-right:4.5rem!important}.ms-sm-auto{margin-right:auto!important}.m-sm-n1{margin:-.375rem!important}.m-sm-n2{margin:-.75rem!important}.m-sm-n3{margin:-1.5rem!important}.m-sm-n4{margin:-2.25rem!important}.m-sm-n5{margin:-4.5rem!important}.mx-sm-n1{margin-left:-.375rem!important;margin-right:-.375rem!important}.mx-sm-n2{margin-left:-.75rem!important;margin-right:-.75rem!important}.mx-sm-n3{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-sm-n4{margin-left:-2.25rem!important;margin-right:-2.25rem!important}.mx-sm-n5{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.my-sm-n1{margin-top:-.375rem!important;margin-bottom:-.375rem!important}.my-sm-n2{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-sm-n3{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-sm-n4{margin-top:-2.25rem!important;margin-bottom:-2.25rem!important}.my-sm-n5{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.mt-sm-n1{margin-top:-.375rem!important}.mt-sm-n2{margin-top:-.75rem!important}.mt-sm-n3{margin-top:-1.5rem!important}.mt-sm-n4{margin-top:-2.25rem!important}.mt-sm-n5{margin-top:-4.5rem!important}.me-sm-n1{margin-left:-.375rem!important}.me-sm-n2{margin-left:-.75rem!important}.me-sm-n3{margin-left:-1.5rem!important}.me-sm-n4{margin-left:-2.25rem!important}.me-sm-n5{margin-left:-4.5rem!important}.mb-sm-n1{margin-bottom:-.375rem!important}.mb-sm-n2{margin-bottom:-.75rem!important}.mb-sm-n3{margin-bottom:-1.5rem!important}.mb-sm-n4{margin-bottom:-2.25rem!important}.mb-sm-n5{margin-bottom:-4.5rem!important}.ms-sm-n1{margin-right:-.375rem!important}.ms-sm-n2{margin-right:-.75rem!important}.ms-sm-n3{margin-right:-1.5rem!important}.ms-sm-n4{margin-right:-2.25rem!important}.ms-sm-n5{margin-right:-4.5rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.375rem!important}.p-sm-2{padding:.75rem!important}.p-sm-3{padding:1.5rem!important}.p-sm-4{padding:2.25rem!important}.p-sm-5{padding:4.5rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.375rem!important;padding-right:.375rem!important}.px-sm-2{padding-left:.75rem!important;padding-right:.75rem!important}.px-sm-3{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-4{padding-left:2.25rem!important;padding-right:2.25rem!important}.px-sm-5{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-sm-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-sm-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-4{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.py-sm-5{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.375rem!important}.pt-sm-2{padding-top:.75rem!important}.pt-sm-3{padding-top:1.5rem!important}.pt-sm-4{padding-top:2.25rem!important}.pt-sm-5{padding-top:4.5rem!important}.pe-sm-0{padding-left:0!important}.pe-sm-1{padding-left:.375rem!important}.pe-sm-2{padding-left:.75rem!important}.pe-sm-3{padding-left:1.5rem!important}.pe-sm-4{padding-left:2.25rem!important}.pe-sm-5{padding-left:4.5rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.375rem!important}.pb-sm-2{padding-bottom:.75rem!important}.pb-sm-3{padding-bottom:1.5rem!important}.pb-sm-4{padding-bottom:2.25rem!important}.pb-sm-5{padding-bottom:4.5rem!important}.ps-sm-0{padding-right:0!important}.ps-sm-1{padding-right:.375rem!important}.ps-sm-2{padding-right:.75rem!important}.ps-sm-3{padding-right:1.5rem!important}.ps-sm-4{padding-right:2.25rem!important}.ps-sm-5{padding-right:4.5rem!important}.text-sm-start{text-align:right!important}.text-sm-end{text-align:left!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:right!important}.float-md-end{float:left!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.375rem!important}.gap-md-2{gap:.75rem!important}.gap-md-3{gap:1.5rem!important}.gap-md-4{gap:2.25rem!important}.gap-md-5{gap:4.5rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.375rem!important}.m-md-2{margin:.75rem!important}.m-md-3{margin:1.5rem!important}.m-md-4{margin:2.25rem!important}.m-md-5{margin:4.5rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.375rem!important;margin-right:.375rem!important}.mx-md-2{margin-left:.75rem!important;margin-right:.75rem!important}.mx-md-3{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-4{margin-left:2.25rem!important;margin-right:2.25rem!important}.mx-md-5{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.375rem!important;margin-bottom:.375rem!important}.my-md-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-md-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-4{margin-top:2.25rem!important;margin-bottom:2.25rem!important}.my-md-5{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.375rem!important}.mt-md-2{margin-top:.75rem!important}.mt-md-3{margin-top:1.5rem!important}.mt-md-4{margin-top:2.25rem!important}.mt-md-5{margin-top:4.5rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-left:0!important}.me-md-1{margin-left:.375rem!important}.me-md-2{margin-left:.75rem!important}.me-md-3{margin-left:1.5rem!important}.me-md-4{margin-left:2.25rem!important}.me-md-5{margin-left:4.5rem!important}.me-md-auto{margin-left:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.375rem!important}.mb-md-2{margin-bottom:.75rem!important}.mb-md-3{margin-bottom:1.5rem!important}.mb-md-4{margin-bottom:2.25rem!important}.mb-md-5{margin-bottom:4.5rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-right:0!important}.ms-md-1{margin-right:.375rem!important}.ms-md-2{margin-right:.75rem!important}.ms-md-3{margin-right:1.5rem!important}.ms-md-4{margin-right:2.25rem!important}.ms-md-5{margin-right:4.5rem!important}.ms-md-auto{margin-right:auto!important}.m-md-n1{margin:-.375rem!important}.m-md-n2{margin:-.75rem!important}.m-md-n3{margin:-1.5rem!important}.m-md-n4{margin:-2.25rem!important}.m-md-n5{margin:-4.5rem!important}.mx-md-n1{margin-left:-.375rem!important;margin-right:-.375rem!important}.mx-md-n2{margin-left:-.75rem!important;margin-right:-.75rem!important}.mx-md-n3{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-md-n4{margin-left:-2.25rem!important;margin-right:-2.25rem!important}.mx-md-n5{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.my-md-n1{margin-top:-.375rem!important;margin-bottom:-.375rem!important}.my-md-n2{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-md-n3{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-md-n4{margin-top:-2.25rem!important;margin-bottom:-2.25rem!important}.my-md-n5{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.mt-md-n1{margin-top:-.375rem!important}.mt-md-n2{margin-top:-.75rem!important}.mt-md-n3{margin-top:-1.5rem!important}.mt-md-n4{margin-top:-2.25rem!important}.mt-md-n5{margin-top:-4.5rem!important}.me-md-n1{margin-left:-.375rem!important}.me-md-n2{margin-left:-.75rem!important}.me-md-n3{margin-left:-1.5rem!important}.me-md-n4{margin-left:-2.25rem!important}.me-md-n5{margin-left:-4.5rem!important}.mb-md-n1{margin-bottom:-.375rem!important}.mb-md-n2{margin-bottom:-.75rem!important}.mb-md-n3{margin-bottom:-1.5rem!important}.mb-md-n4{margin-bottom:-2.25rem!important}.mb-md-n5{margin-bottom:-4.5rem!important}.ms-md-n1{margin-right:-.375rem!important}.ms-md-n2{margin-right:-.75rem!important}.ms-md-n3{margin-right:-1.5rem!important}.ms-md-n4{margin-right:-2.25rem!important}.ms-md-n5{margin-right:-4.5rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.375rem!important}.p-md-2{padding:.75rem!important}.p-md-3{padding:1.5rem!important}.p-md-4{padding:2.25rem!important}.p-md-5{padding:4.5rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.375rem!important;padding-right:.375rem!important}.px-md-2{padding-left:.75rem!important;padding-right:.75rem!important}.px-md-3{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-4{padding-left:2.25rem!important;padding-right:2.25rem!important}.px-md-5{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-md-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-md-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-4{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.py-md-5{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.375rem!important}.pt-md-2{padding-top:.75rem!important}.pt-md-3{padding-top:1.5rem!important}.pt-md-4{padding-top:2.25rem!important}.pt-md-5{padding-top:4.5rem!important}.pe-md-0{padding-left:0!important}.pe-md-1{padding-left:.375rem!important}.pe-md-2{padding-left:.75rem!important}.pe-md-3{padding-left:1.5rem!important}.pe-md-4{padding-left:2.25rem!important}.pe-md-5{padding-left:4.5rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.375rem!important}.pb-md-2{padding-bottom:.75rem!important}.pb-md-3{padding-bottom:1.5rem!important}.pb-md-4{padding-bottom:2.25rem!important}.pb-md-5{padding-bottom:4.5rem!important}.ps-md-0{padding-right:0!important}.ps-md-1{padding-right:.375rem!important}.ps-md-2{padding-right:.75rem!important}.ps-md-3{padding-right:1.5rem!important}.ps-md-4{padding-right:2.25rem!important}.ps-md-5{padding-right:4.5rem!important}.text-md-start{text-align:right!important}.text-md-end{text-align:left!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:right!important}.float-lg-end{float:left!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.375rem!important}.gap-lg-2{gap:.75rem!important}.gap-lg-3{gap:1.5rem!important}.gap-lg-4{gap:2.25rem!important}.gap-lg-5{gap:4.5rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.375rem!important}.m-lg-2{margin:.75rem!important}.m-lg-3{margin:1.5rem!important}.m-lg-4{margin:2.25rem!important}.m-lg-5{margin:4.5rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.375rem!important;margin-right:.375rem!important}.mx-lg-2{margin-left:.75rem!important;margin-right:.75rem!important}.mx-lg-3{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-4{margin-left:2.25rem!important;margin-right:2.25rem!important}.mx-lg-5{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.375rem!important;margin-bottom:.375rem!important}.my-lg-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-lg-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-4{margin-top:2.25rem!important;margin-bottom:2.25rem!important}.my-lg-5{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.375rem!important}.mt-lg-2{margin-top:.75rem!important}.mt-lg-3{margin-top:1.5rem!important}.mt-lg-4{margin-top:2.25rem!important}.mt-lg-5{margin-top:4.5rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-left:0!important}.me-lg-1{margin-left:.375rem!important}.me-lg-2{margin-left:.75rem!important}.me-lg-3{margin-left:1.5rem!important}.me-lg-4{margin-left:2.25rem!important}.me-lg-5{margin-left:4.5rem!important}.me-lg-auto{margin-left:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.375rem!important}.mb-lg-2{margin-bottom:.75rem!important}.mb-lg-3{margin-bottom:1.5rem!important}.mb-lg-4{margin-bottom:2.25rem!important}.mb-lg-5{margin-bottom:4.5rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-right:0!important}.ms-lg-1{margin-right:.375rem!important}.ms-lg-2{margin-right:.75rem!important}.ms-lg-3{margin-right:1.5rem!important}.ms-lg-4{margin-right:2.25rem!important}.ms-lg-5{margin-right:4.5rem!important}.ms-lg-auto{margin-right:auto!important}.m-lg-n1{margin:-.375rem!important}.m-lg-n2{margin:-.75rem!important}.m-lg-n3{margin:-1.5rem!important}.m-lg-n4{margin:-2.25rem!important}.m-lg-n5{margin:-4.5rem!important}.mx-lg-n1{margin-left:-.375rem!important;margin-right:-.375rem!important}.mx-lg-n2{margin-left:-.75rem!important;margin-right:-.75rem!important}.mx-lg-n3{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-lg-n4{margin-left:-2.25rem!important;margin-right:-2.25rem!important}.mx-lg-n5{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.my-lg-n1{margin-top:-.375rem!important;margin-bottom:-.375rem!important}.my-lg-n2{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-lg-n3{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-lg-n4{margin-top:-2.25rem!important;margin-bottom:-2.25rem!important}.my-lg-n5{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.mt-lg-n1{margin-top:-.375rem!important}.mt-lg-n2{margin-top:-.75rem!important}.mt-lg-n3{margin-top:-1.5rem!important}.mt-lg-n4{margin-top:-2.25rem!important}.mt-lg-n5{margin-top:-4.5rem!important}.me-lg-n1{margin-left:-.375rem!important}.me-lg-n2{margin-left:-.75rem!important}.me-lg-n3{margin-left:-1.5rem!important}.me-lg-n4{margin-left:-2.25rem!important}.me-lg-n5{margin-left:-4.5rem!important}.mb-lg-n1{margin-bottom:-.375rem!important}.mb-lg-n2{margin-bottom:-.75rem!important}.mb-lg-n3{margin-bottom:-1.5rem!important}.mb-lg-n4{margin-bottom:-2.25rem!important}.mb-lg-n5{margin-bottom:-4.5rem!important}.ms-lg-n1{margin-right:-.375rem!important}.ms-lg-n2{margin-right:-.75rem!important}.ms-lg-n3{margin-right:-1.5rem!important}.ms-lg-n4{margin-right:-2.25rem!important}.ms-lg-n5{margin-right:-4.5rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.375rem!important}.p-lg-2{padding:.75rem!important}.p-lg-3{padding:1.5rem!important}.p-lg-4{padding:2.25rem!important}.p-lg-5{padding:4.5rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.375rem!important;padding-right:.375rem!important}.px-lg-2{padding-left:.75rem!important;padding-right:.75rem!important}.px-lg-3{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-4{padding-left:2.25rem!important;padding-right:2.25rem!important}.px-lg-5{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-lg-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-lg-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-4{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.py-lg-5{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.375rem!important}.pt-lg-2{padding-top:.75rem!important}.pt-lg-3{padding-top:1.5rem!important}.pt-lg-4{padding-top:2.25rem!important}.pt-lg-5{padding-top:4.5rem!important}.pe-lg-0{padding-left:0!important}.pe-lg-1{padding-left:.375rem!important}.pe-lg-2{padding-left:.75rem!important}.pe-lg-3{padding-left:1.5rem!important}.pe-lg-4{padding-left:2.25rem!important}.pe-lg-5{padding-left:4.5rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.375rem!important}.pb-lg-2{padding-bottom:.75rem!important}.pb-lg-3{padding-bottom:1.5rem!important}.pb-lg-4{padding-bottom:2.25rem!important}.pb-lg-5{padding-bottom:4.5rem!important}.ps-lg-0{padding-right:0!important}.ps-lg-1{padding-right:.375rem!important}.ps-lg-2{padding-right:.75rem!important}.ps-lg-3{padding-right:1.5rem!important}.ps-lg-4{padding-right:2.25rem!important}.ps-lg-5{padding-right:4.5rem!important}.text-lg-start{text-align:right!important}.text-lg-end{text-align:left!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:right!important}.float-xl-end{float:left!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.375rem!important}.gap-xl-2{gap:.75rem!important}.gap-xl-3{gap:1.5rem!important}.gap-xl-4{gap:2.25rem!important}.gap-xl-5{gap:4.5rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.375rem!important}.m-xl-2{margin:.75rem!important}.m-xl-3{margin:1.5rem!important}.m-xl-4{margin:2.25rem!important}.m-xl-5{margin:4.5rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.375rem!important;margin-right:.375rem!important}.mx-xl-2{margin-left:.75rem!important;margin-right:.75rem!important}.mx-xl-3{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-4{margin-left:2.25rem!important;margin-right:2.25rem!important}.mx-xl-5{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.375rem!important;margin-bottom:.375rem!important}.my-xl-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-xl-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-4{margin-top:2.25rem!important;margin-bottom:2.25rem!important}.my-xl-5{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.375rem!important}.mt-xl-2{margin-top:.75rem!important}.mt-xl-3{margin-top:1.5rem!important}.mt-xl-4{margin-top:2.25rem!important}.mt-xl-5{margin-top:4.5rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-left:0!important}.me-xl-1{margin-left:.375rem!important}.me-xl-2{margin-left:.75rem!important}.me-xl-3{margin-left:1.5rem!important}.me-xl-4{margin-left:2.25rem!important}.me-xl-5{margin-left:4.5rem!important}.me-xl-auto{margin-left:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.375rem!important}.mb-xl-2{margin-bottom:.75rem!important}.mb-xl-3{margin-bottom:1.5rem!important}.mb-xl-4{margin-bottom:2.25rem!important}.mb-xl-5{margin-bottom:4.5rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-right:0!important}.ms-xl-1{margin-right:.375rem!important}.ms-xl-2{margin-right:.75rem!important}.ms-xl-3{margin-right:1.5rem!important}.ms-xl-4{margin-right:2.25rem!important}.ms-xl-5{margin-right:4.5rem!important}.ms-xl-auto{margin-right:auto!important}.m-xl-n1{margin:-.375rem!important}.m-xl-n2{margin:-.75rem!important}.m-xl-n3{margin:-1.5rem!important}.m-xl-n4{margin:-2.25rem!important}.m-xl-n5{margin:-4.5rem!important}.mx-xl-n1{margin-left:-.375rem!important;margin-right:-.375rem!important}.mx-xl-n2{margin-left:-.75rem!important;margin-right:-.75rem!important}.mx-xl-n3{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xl-n4{margin-left:-2.25rem!important;margin-right:-2.25rem!important}.mx-xl-n5{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.my-xl-n1{margin-top:-.375rem!important;margin-bottom:-.375rem!important}.my-xl-n2{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-xl-n3{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xl-n4{margin-top:-2.25rem!important;margin-bottom:-2.25rem!important}.my-xl-n5{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.mt-xl-n1{margin-top:-.375rem!important}.mt-xl-n2{margin-top:-.75rem!important}.mt-xl-n3{margin-top:-1.5rem!important}.mt-xl-n4{margin-top:-2.25rem!important}.mt-xl-n5{margin-top:-4.5rem!important}.me-xl-n1{margin-left:-.375rem!important}.me-xl-n2{margin-left:-.75rem!important}.me-xl-n3{margin-left:-1.5rem!important}.me-xl-n4{margin-left:-2.25rem!important}.me-xl-n5{margin-left:-4.5rem!important}.mb-xl-n1{margin-bottom:-.375rem!important}.mb-xl-n2{margin-bottom:-.75rem!important}.mb-xl-n3{margin-bottom:-1.5rem!important}.mb-xl-n4{margin-bottom:-2.25rem!important}.mb-xl-n5{margin-bottom:-4.5rem!important}.ms-xl-n1{margin-right:-.375rem!important}.ms-xl-n2{margin-right:-.75rem!important}.ms-xl-n3{margin-right:-1.5rem!important}.ms-xl-n4{margin-right:-2.25rem!important}.ms-xl-n5{margin-right:-4.5rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.375rem!important}.p-xl-2{padding:.75rem!important}.p-xl-3{padding:1.5rem!important}.p-xl-4{padding:2.25rem!important}.p-xl-5{padding:4.5rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.375rem!important;padding-right:.375rem!important}.px-xl-2{padding-left:.75rem!important;padding-right:.75rem!important}.px-xl-3{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-4{padding-left:2.25rem!important;padding-right:2.25rem!important}.px-xl-5{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-xl-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-xl-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-4{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.py-xl-5{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.375rem!important}.pt-xl-2{padding-top:.75rem!important}.pt-xl-3{padding-top:1.5rem!important}.pt-xl-4{padding-top:2.25rem!important}.pt-xl-5{padding-top:4.5rem!important}.pe-xl-0{padding-left:0!important}.pe-xl-1{padding-left:.375rem!important}.pe-xl-2{padding-left:.75rem!important}.pe-xl-3{padding-left:1.5rem!important}.pe-xl-4{padding-left:2.25rem!important}.pe-xl-5{padding-left:4.5rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.375rem!important}.pb-xl-2{padding-bottom:.75rem!important}.pb-xl-3{padding-bottom:1.5rem!important}.pb-xl-4{padding-bottom:2.25rem!important}.pb-xl-5{padding-bottom:4.5rem!important}.ps-xl-0{padding-right:0!important}.ps-xl-1{padding-right:.375rem!important}.ps-xl-2{padding-right:.75rem!important}.ps-xl-3{padding-right:1.5rem!important}.ps-xl-4{padding-right:2.25rem!important}.ps-xl-5{padding-right:4.5rem!important}.text-xl-start{text-align:right!important}.text-xl-end{text-align:left!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:right!important}.float-xxl-end{float:left!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.375rem!important}.gap-xxl-2{gap:.75rem!important}.gap-xxl-3{gap:1.5rem!important}.gap-xxl-4{gap:2.25rem!important}.gap-xxl-5{gap:4.5rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.375rem!important}.m-xxl-2{margin:.75rem!important}.m-xxl-3{margin:1.5rem!important}.m-xxl-4{margin:2.25rem!important}.m-xxl-5{margin:4.5rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.375rem!important;margin-right:.375rem!important}.mx-xxl-2{margin-left:.75rem!important;margin-right:.75rem!important}.mx-xxl-3{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-4{margin-left:2.25rem!important;margin-right:2.25rem!important}.mx-xxl-5{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.375rem!important;margin-bottom:.375rem!important}.my-xxl-2{margin-top:.75rem!important;margin-bottom:.75rem!important}.my-xxl-3{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-4{margin-top:2.25rem!important;margin-bottom:2.25rem!important}.my-xxl-5{margin-top:4.5rem!important;margin-bottom:4.5rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.375rem!important}.mt-xxl-2{margin-top:.75rem!important}.mt-xxl-3{margin-top:1.5rem!important}.mt-xxl-4{margin-top:2.25rem!important}.mt-xxl-5{margin-top:4.5rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-left:0!important}.me-xxl-1{margin-left:.375rem!important}.me-xxl-2{margin-left:.75rem!important}.me-xxl-3{margin-left:1.5rem!important}.me-xxl-4{margin-left:2.25rem!important}.me-xxl-5{margin-left:4.5rem!important}.me-xxl-auto{margin-left:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.375rem!important}.mb-xxl-2{margin-bottom:.75rem!important}.mb-xxl-3{margin-bottom:1.5rem!important}.mb-xxl-4{margin-bottom:2.25rem!important}.mb-xxl-5{margin-bottom:4.5rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-right:0!important}.ms-xxl-1{margin-right:.375rem!important}.ms-xxl-2{margin-right:.75rem!important}.ms-xxl-3{margin-right:1.5rem!important}.ms-xxl-4{margin-right:2.25rem!important}.ms-xxl-5{margin-right:4.5rem!important}.ms-xxl-auto{margin-right:auto!important}.m-xxl-n1{margin:-.375rem!important}.m-xxl-n2{margin:-.75rem!important}.m-xxl-n3{margin:-1.5rem!important}.m-xxl-n4{margin:-2.25rem!important}.m-xxl-n5{margin:-4.5rem!important}.mx-xxl-n1{margin-left:-.375rem!important;margin-right:-.375rem!important}.mx-xxl-n2{margin-left:-.75rem!important;margin-right:-.75rem!important}.mx-xxl-n3{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xxl-n4{margin-left:-2.25rem!important;margin-right:-2.25rem!important}.mx-xxl-n5{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.my-xxl-n1{margin-top:-.375rem!important;margin-bottom:-.375rem!important}.my-xxl-n2{margin-top:-.75rem!important;margin-bottom:-.75rem!important}.my-xxl-n3{margin-top:-1.5rem!important;margin-bottom:-1.5rem!important}.my-xxl-n4{margin-top:-2.25rem!important;margin-bottom:-2.25rem!important}.my-xxl-n5{margin-top:-4.5rem!important;margin-bottom:-4.5rem!important}.mt-xxl-n1{margin-top:-.375rem!important}.mt-xxl-n2{margin-top:-.75rem!important}.mt-xxl-n3{margin-top:-1.5rem!important}.mt-xxl-n4{margin-top:-2.25rem!important}.mt-xxl-n5{margin-top:-4.5rem!important}.me-xxl-n1{margin-left:-.375rem!important}.me-xxl-n2{margin-left:-.75rem!important}.me-xxl-n3{margin-left:-1.5rem!important}.me-xxl-n4{margin-left:-2.25rem!important}.me-xxl-n5{margin-left:-4.5rem!important}.mb-xxl-n1{margin-bottom:-.375rem!important}.mb-xxl-n2{margin-bottom:-.75rem!important}.mb-xxl-n3{margin-bottom:-1.5rem!important}.mb-xxl-n4{margin-bottom:-2.25rem!important}.mb-xxl-n5{margin-bottom:-4.5rem!important}.ms-xxl-n1{margin-right:-.375rem!important}.ms-xxl-n2{margin-right:-.75rem!important}.ms-xxl-n3{margin-right:-1.5rem!important}.ms-xxl-n4{margin-right:-2.25rem!important}.ms-xxl-n5{margin-right:-4.5rem!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.375rem!important}.p-xxl-2{padding:.75rem!important}.p-xxl-3{padding:1.5rem!important}.p-xxl-4{padding:2.25rem!important}.p-xxl-5{padding:4.5rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.375rem!important;padding-right:.375rem!important}.px-xxl-2{padding-left:.75rem!important;padding-right:.75rem!important}.px-xxl-3{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-4{padding-left:2.25rem!important;padding-right:2.25rem!important}.px-xxl-5{padding-left:4.5rem!important;padding-right:4.5rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.375rem!important;padding-bottom:.375rem!important}.py-xxl-2{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-xxl-3{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-4{padding-top:2.25rem!important;padding-bottom:2.25rem!important}.py-xxl-5{padding-top:4.5rem!important;padding-bottom:4.5rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.375rem!important}.pt-xxl-2{padding-top:.75rem!important}.pt-xxl-3{padding-top:1.5rem!important}.pt-xxl-4{padding-top:2.25rem!important}.pt-xxl-5{padding-top:4.5rem!important}.pe-xxl-0{padding-left:0!important}.pe-xxl-1{padding-left:.375rem!important}.pe-xxl-2{padding-left:.75rem!important}.pe-xxl-3{padding-left:1.5rem!important}.pe-xxl-4{padding-left:2.25rem!important}.pe-xxl-5{padding-left:4.5rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.375rem!important}.pb-xxl-2{padding-bottom:.75rem!important}.pb-xxl-3{padding-bottom:1.5rem!important}.pb-xxl-4{padding-bottom:2.25rem!important}.pb-xxl-5{padding-bottom:4.5rem!important}.ps-xxl-0{padding-right:0!important}.ps-xxl-1{padding-right:.375rem!important}.ps-xxl-2{padding-right:.75rem!important}.ps-xxl-3{padding-right:1.5rem!important}.ps-xxl-4{padding-right:2.25rem!important}.ps-xxl-5{padding-right:4.5rem!important}.text-xxl-start{text-align:right!important}.text-xxl-end{text-align:left!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.25rem!important}.fs-2{font-size:1.875rem!important}.fs-3{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}html{position:relative;min-height:100%}body{overflow-x:hidden}#wrapper{height:100%;overflow:hidden;width:100%}.content-page{margin-right:240px;overflow:hidden;padding:0 12px 65px 12px;min-height:80vh;margin-top:70px}.left-side-menu{width:240px;background:var(--ct-bg-leftbar);bottom:0;padding:20px 0;position:fixed;transition:all .1s ease-out;top:70px;box-shadow:var(--ct-box-shadow)}.left-side-menu .user-box{display:none}.left-side-menu .user-box .img-thumbnail{background-color:inherit;border-color:var(--ct-left-menu-user-box-border)}.user-box .user-name{color:#6c757d}#sidebar-menu>ul{list-style:none;padding:0}#sidebar-menu>ul>li>a{color:var(--ct-menu-item);display:block;padding:12px 20px;position:relative;transition:all .4s;font-family:Karla,sans-serif;font-size:.95rem}#sidebar-menu>ul>li>a:active,#sidebar-menu>ul>li>a:focus,#sidebar-menu>ul>li>a:hover{color:var(--ct-menu-item-hover);text-decoration:none}#sidebar-menu>ul>li>a>span{vertical-align:middle}#sidebar-menu>ul>li>a i{display:inline-block;line-height:1.0625rem;margin:0 3px 0 7px;text-align:center;vertical-align:middle;width:16px;font-size:1rem}#sidebar-menu>ul>li>a svg{width:16px;height:16px;margin-right:3px;margin-left:10px}#sidebar-menu>ul>li>a .drop-arrow{float:left}#sidebar-menu>ul>li>a .drop-arrow i{margin-left:0}#sidebar-menu>ul>li>a.mm-active{color:var(--ct-menu-item-active)}#sidebar-menu>ul>li ul{padding-right:34px;list-style:none}#sidebar-menu>ul>li ul ul{padding-right:20px}#sidebar-menu .badge{margin-top:4px}#sidebar-menu .menu-title{padding:10px 20px;letter-spacing:.05em;pointer-events:none;cursor:default;font-size:.6875rem;text-transform:uppercase;color:var(--ct-menu-item);font-weight:500}#sidebar-menu .menuitem-active>a{color:var(--ct-menu-item-active)}#sidebar-menu .menuitem-active .active{color:var(--ct-menu-item-active)}.nav-second-level li a{padding:8px 20px;color:var(--ct-menu-item);display:block;position:relative;transition:all .4s;font-size:.875rem}.nav-second-level li a:focus,.nav-second-level li a:hover{color:var(--ct-menu-item-hover)}.nav-second-level li.active>a{color:var(--ct-menu-item-active)}.menu-arrow{transition:transform .15s;position:absolute;left:20px;display:inline-block;font-family:"Material Design Icons";text-rendering:auto;line-height:1.5rem;font-size:1.1rem;transform:translate(0,0)}.menu-arrow:before{content:"\f0142"}[dir=rtl] .menu-arrow:before{content:"\f0141"}li>a[aria-expanded=true]>span.menu-arrow{transform:rotate(-90deg)}li.menuitem-active>a:not(.collapsed)>span.menu-arrow{transform:rotate(-90deg)}body[data-leftbar-size=condensed] .logo-box{width:70px!important}body[data-leftbar-size=condensed] .logo span.logo-lg{display:none}body[data-leftbar-size=condensed] .logo span.logo-sm{display:block}body[data-leftbar-size=condensed] .left-side-menu{position:absolute;padding-top:0;width:70px!important;z-index:5}body[data-leftbar-size=condensed] .left-side-menu .simplebar-content-wrapper,body[data-leftbar-size=condensed] .left-side-menu .simplebar-mask{overflow:visible!important}body[data-leftbar-size=condensed] .left-side-menu .simplebar-scrollbar{display:none!important}body[data-leftbar-size=condensed] .left-side-menu .simplebar-offset{bottom:0!important}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu .badge,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu .label,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu .menu-arrow,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu .menu-title{display:none!important}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu .nav.collapse{height:inherit!important}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li{position:relative;white-space:nowrap}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a{padding:15px 20px;min-height:54px;transition:none}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a:active,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a:focus,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a:hover{color:var(--ct-menu-item-hover)}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a i{font-size:1rem;margin-left:20px;margin-right:5px}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a svg{width:18px;height:18px;margin-right:6px}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li>a span{display:none;padding-right:25px}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>a{position:relative;width:calc(190px + 70px);color:var(--ct-menu-item-active);background-color:#f8f9fa}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>a span{display:inline}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover a.active :after,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover a.open :after{display:none}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapse,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapsing{display:block!important;height:auto!important;transition:none!important}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapse>ul,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapsing>ul{display:block!important;right:70px;position:absolute;width:190px;box-shadow:var(--ct-box-shadow-condensed)}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapse>ul ul,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapsing>ul ul{box-shadow:var(--ct-box-shadow-condensed)}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapse>ul a,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapsing>ul a{box-shadow:none;padding:8px 20px;position:relative;width:190px;z-index:6}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapse>ul a:hover,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>.collapsing>ul a:hover{color:var(--ct-menu-item-hover)}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul{padding:5px 0;z-index:9999;display:none;background-color:var(--ct-bg-leftbar)}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul li:hover>.collapse,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul li:hover>.collapsing{display:block!important;height:auto!important;transition:none!important}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul li:hover>.collapse>ul,body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul li:hover>.collapsing>ul{display:block;right:190px;margin-top:-36px;position:absolute;width:190px}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul li>a span.pull-right{position:absolute;left:20px;top:12px;transform:rotate(-270deg)}body[data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul ul li.active a{color:var(--ct-menu-item-active)}body[data-leftbar-size=condensed] .content-page{margin-right:70px!important}@media (min-width:992px){body[data-leftbar-size=condensed] .footer{right:70px!important}}body[data-leftbar-size=condensed] .user-box{display:none!important}@media (min-width:768px){body[data-leftbar-size=condensed]:not([data-layout=compact]){min-height:1750px}}@media (max-width:767.98px){.pro-user-name{display:none}}@media (max-width:991.98px){body{overflow-x:hidden;padding-bottom:80px}.left-side-menu{display:none;z-index:10!important}.sidebar-enable .left-side-menu{display:block}.content-page,body[data-leftbar-size=condensed] .content-page{margin-right:0!important;padding:0 10px}.footer{right:0!important}}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .logo-box{width:160px!important}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu{width:160px!important;text-align:center}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu #sidebar-menu>ul>li>a>i{display:block;font-size:18px;line-height:24px;width:100%;margin:0}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu #sidebar-menu>ul>li>a svg{display:block;margin:0 auto 5px auto}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu #sidebar-menu>ul ul{padding-right:0}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu #sidebar-menu>ul ul a{padding:10px 20px}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu .badge,body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu .menu-arrow{display:none!important}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu+.content-page{margin-right:160px}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu+.content-page .footer{right:160px}body[data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu .menu-title{background-color:#f8f9fa}body[data-leftbar-color=dark] .logo-box{background-color:var(--ct-bg-leftbar-dark)}body[data-leftbar-color=dark] .logo-box .logo-dark{display:none}body[data-leftbar-color=dark] .logo-box .logo-light{display:block}body[data-leftbar-color=dark] .left-side-menu{background-color:var(--ct-bg-leftbar-dark);box-shadow:none}body[data-leftbar-color=dark] .left-side-menu .user-box .img-thumbnail{border-color:var(--ct-left-menu-dark-user-box-border)}body[data-leftbar-color=dark] .left-side-menu #sidebar-menu>ul>li>a{color:var(--ct-menu-item-color-dark)}body[data-leftbar-color=dark] .left-side-menu #sidebar-menu>ul>li>a:active,body[data-leftbar-color=dark] .left-side-menu #sidebar-menu>ul>li>a:focus,body[data-leftbar-color=dark] .left-side-menu #sidebar-menu>ul>li>a:hover{color:var(--ct-menu-item-hover-color-dark)}body[data-leftbar-color=dark] .left-side-menu #sidebar-menu>ul>li>a.mm-active{color:var(--ct-menu-item-active-color-dark)}body[data-leftbar-color=dark] .left-side-menu #sidebar-menu .menu-title{color:#adb5bd}body[data-leftbar-color=dark] .left-side-menu #sidebar-menu .menuitem-active>a{color:var(--ct-menu-item-active)}body[data-leftbar-color=dark] .left-side-menu #sidebar-menu .menuitem-active .active{color:var(--ct-menu-item-active)}body[data-leftbar-color=dark] .left-side-menu .nav-second-level li a,body[data-leftbar-color=dark] .left-side-menu .nav-thrid-level li a{color:var(--ct-menu-item-color-dark)}body[data-leftbar-color=dark] .left-side-menu .nav-second-level li a:focus,body[data-leftbar-color=dark] .left-side-menu .nav-second-level li a:hover,body[data-leftbar-color=dark] .left-side-menu .nav-thrid-level li a:focus,body[data-leftbar-color=dark] .left-side-menu .nav-thrid-level li a:hover{background-color:transparent;color:var(--ct-menu-item-hover-color-dark)}body[data-leftbar-color=dark] .left-side-menu .nav-second-level li.active>a,body[data-leftbar-color=dark] .left-side-menu .nav-thrid-level li.active>a{color:var(--ct-menu-item-active-color-dark)}body[data-leftbar-color=dark] .left-side-menu .user-box .dropdown>a{color:#fff!important}body[data-leftbar-color=dark][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu>ul>li:hover>a{background-color:var(--ct-bg-leftbar-dark);box-shadow:none}body[data-leftbar-color=dark][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu .mm-active .active{color:var(--ct-menu-item-active)}body[data-leftbar-color=dark][data-leftbar-size=compact] #wrapper .left-side-menu .menu-title{background-color:rgba(255,255,255,.03)}body[data-leftbar-color=brand] .logo-box,body[data-leftbar-color=gradient] .logo-box{background-color:var(--ct-bg-leftbar-brand)}body[data-leftbar-color=brand] .logo-box .logo-dark,body[data-leftbar-color=gradient] .logo-box .logo-dark{display:none}body[data-leftbar-color=brand] .logo-box .logo-light,body[data-leftbar-color=gradient] .logo-box .logo-light{display:block}body[data-leftbar-color=brand] .menuitem-active>a,body[data-leftbar-color=gradient] .menuitem-active>a{color:#fff!important}body[data-leftbar-color=brand] .left-side-menu,body[data-leftbar-color=gradient] .left-side-menu{background-color:var(--ct-bg-leftbar-brand);box-shadow:none}body[data-leftbar-color=brand] .left-side-menu .user-box .img-thumbnail,body[data-leftbar-color=gradient] .left-side-menu .user-box .img-thumbnail{border-color:var(--ct-left-menu-dark-user-box-border)}body[data-leftbar-color=brand] .left-side-menu #sidebar-menu>ul>li>a,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu>ul>li>a{color:rgba(255,255,255,.7)}body[data-leftbar-color=brand] .left-side-menu #sidebar-menu>ul>li>a:active,body[data-leftbar-color=brand] .left-side-menu #sidebar-menu>ul>li>a:focus,body[data-leftbar-color=brand] .left-side-menu #sidebar-menu>ul>li>a:hover,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu>ul>li>a:active,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu>ul>li>a:focus,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu>ul>li>a:hover{color:rgba(255,255,255,.9)}body[data-leftbar-color=brand] .left-side-menu #sidebar-menu>ul>li>a.mm-active,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu>ul>li>a.mm-active{color:#fff;background-color:rgba(255,255,255,.07)}body[data-leftbar-color=brand] .left-side-menu #sidebar-menu .menu-title,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu .menu-title{color:rgba(255,255,255,.6)}body[data-leftbar-color=brand] .left-side-menu #sidebar-menu .mm-active .active,body[data-leftbar-color=gradient] .left-side-menu #sidebar-menu .mm-active .active{color:#fff}body[data-leftbar-color=brand] .left-side-menu .nav-second-level li a,body[data-leftbar-color=brand] .left-side-menu .nav-thrid-level li a,body[data-leftbar-color=gradient] .left-side-menu .nav-second-level li a,body[data-leftbar-color=gradient] .left-side-menu .nav-thrid-level li a{color:rgba(255,255,255,.7)}body[data-leftbar-color=brand] .left-side-menu .nav-second-level li a:focus,body[data-leftbar-color=brand] .left-side-menu .nav-second-level li a:hover,body[data-leftbar-color=brand] .left-side-menu .nav-thrid-level li a:focus,body[data-leftbar-color=brand] .left-side-menu .nav-thrid-level li a:hover,body[data-leftbar-color=gradient] .left-side-menu .nav-second-level li a:focus,body[data-leftbar-color=gradient] .left-side-menu .nav-second-level li a:hover,body[data-leftbar-color=gradient] .left-side-menu .nav-thrid-level li a:focus,body[data-leftbar-color=gradient] .left-side-menu .nav-thrid-level li a:hover{background-color:transparent;color:#fff}body[data-leftbar-color=brand] .left-side-menu .nav-second-level li.active>a,body[data-leftbar-color=brand] .left-side-menu .nav-thrid-level li.active>a,body[data-leftbar-color=gradient] .left-side-menu .nav-second-level li.active>a,body[data-leftbar-color=gradient] .left-side-menu .nav-thrid-level li.active>a{color:var(--ct-menu-item-active-color-dark)}body[data-leftbar-color=brand] .left-side-menu .user-box .dropdown>a,body[data-leftbar-color=gradient] .left-side-menu .user-box .dropdown>a{color:#fff!important}body[data-leftbar-color=brand] .left-side-menu .user-box .left-user-info,body[data-leftbar-color=gradient] .left-side-menu .user-box .left-user-info{color:rgba(255,255,255,.6)!important}body[data-leftbar-color=brand][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu>ul>li:hover>a,body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu>ul>li:hover>a{background-color:var(--ct-bg-leftbar-brand);box-shadow:none;color:#fff}body[data-leftbar-color=brand][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu .mm-active .active,body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu .mm-active .active{color:var(--ct-menu-item-active)}body[data-leftbar-color=brand][data-leftbar-size=condensed] #wrapper .left-side-menu .nav-second-level li a,body[data-leftbar-color=brand][data-leftbar-size=condensed] #wrapper .left-side-menu .nav-thrid-level li a,body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu .nav-second-level li a,body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu .nav-thrid-level li a{color:var(--ct-menu-item)}body[data-leftbar-color=brand][data-leftbar-size=compact] #wrapper .left-side-menu .menu-title,body[data-leftbar-color=gradient][data-leftbar-size=compact] #wrapper .left-side-menu .menu-title{background-color:rgba(255,255,255,.05)}body[data-leftbar-color=gradient] .left-side-menu,body[data-leftbar-color=gradient] .logo-box{background:var(--ct-bg-leftbar-gradient);background-image:linear-gradient(-270deg,#4095d8,transparent)}body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu>ul>li:hover>a{background:var(--ct-bg-leftbar-gradient)}body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu #sidebar-menu .mm-active .active{color:var(--ct-menu-item-active)}body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu .nav-second-level li a,body[data-leftbar-color=gradient][data-leftbar-size=condensed] #wrapper .left-side-menu .nav-thrid-level li a{color:var(--ct-menu-item)}.user-pro-dropdown{background-color:#f8f9fa;box-shadow:none;padding:15px 5px;width:90%;margin-right:5%!important;margin-top:10px!important}.user-pro-dropdown .dropdown-item{border-radius:3px}.user-pro-dropdown .dropdown-item:hover{background-color:#71b6f9;color:#fff}@media (min-width:992px){body[data-layout-mode=detached] .navbar-custom .container-fluid,body[data-layout-mode=detached] .navbar-custom .container-lg,body[data-layout-mode=detached] .navbar-custom .container-md,body[data-layout-mode=detached] .navbar-custom .container-sm,body[data-layout-mode=detached] .navbar-custom .container-xl,body[data-layout-mode=detached] .navbar-custom .container-xxl{max-width:95%}body[data-layout-mode=detached] #wrapper{max-width:95%;margin:0 auto}body[data-layout-mode=detached] .left-side-menu{margin-bottom:30px;border-radius:5px}body[data-layout-mode=detached] .content-page{padding-bottom:30px}body[data-layout-mode=detached] .logo-box{background-color:transparent;background-image:none}}body[data-sidebar-user=true] .user-box{display:block}body[data-sidebar-icon=twotones] #sidebar-menu>ul>li>a i{color:#71b6f9}body[data-sidebar-icon=twotones] #sidebar-menu>ul>li>a svg{width:18px;height:18px;margin-right:3px;margin-left:10px;color:#71b6f9;fill:rgba(113,182,249,.2)}body[data-layout-color=dark][data-leftbar-size=condensed] .left-side-menu #sidebar-menu>ul>li:hover>a{background-color:#282e38}body[data-layout-color=dark][data-leftbar-size=compact]:not([data-leftbar-size=condensed]) .left-side-menu .menu-title{background-color:#282e38}body[data-layout-color=dark][data-leftbar-color=dark] .left-side-menu #sidebar-menu .menu-title{color:#98a6ad}body[data-layout-color=dark][data-leftbar-color=light] .user-box .user-name{color:#3a4250}body[data-layout-color=dark] .user-pro-dropdown{background-color:#282e38}.logo{display:block}.logo span.logo-lg{display:block}.logo span.logo-sm{display:none}.logo .logo-lg-text-dark{color:#323a46;font-weight:700;font-size:22px;text-transform:uppercase}.logo .logo-lg-text-light{color:#fff;font-weight:700;font-size:22px;text-transform:uppercase}.logo-box{height:70px;width:240px;background-color:var(--ct-logo-box-background);float:right;transition:all .1s ease-out}.logo-box .logo{line-height:70px}.navbar-custom .logo-light{display:none}.navbar-custom .logo-dark{display:block}.navbar-custom{background-color:var(--ct-body-bg);padding:0 0 0 calc(1.5rem / 2);position:fixed;right:0;left:0;height:70px;z-index:1001}.navbar-custom .topnav-menu.topnav-menu-left{display:inline-block}.navbar-custom .topnav-menu>li{float:right}.navbar-custom .topnav-menu .nav-link{padding:0 15px;color:#6c757d;min-width:32px;display:block;line-height:70px;text-align:center;max-height:70px}.navbar-custom .dropdown.show .nav-link{background-color:rgba(108,117,125,.05)}.navbar-custom .app-search{overflow:hidden;height:70px;display:table;max-width:180px;margin-left:20px}.navbar-custom .app-search .app-search-box{display:table-cell;vertical-align:middle}.navbar-custom .app-search .app-search-box input::placeholder{font-size:.8125rem;color:#adb5bd!important}.navbar-custom .app-search .form-control{border:none;height:38px;padding-right:20px;padding-left:0;color:#323a46;background-color:var(--ct-topbar-search-bg);box-shadow:none;border-radius:0 30px 30px 0}.navbar-custom .app-search .input-group-text{margin-right:0;z-index:4}.navbar-custom .app-search .btn{background-color:var(--ct-topbar-search-bg);border-color:transparent;color:#6c757d;border-radius:30px 0 0 30px;box-shadow:none!important}.navbar-custom .button-menu-mobile{border:none;color:#323a46;display:inline-block;height:70px;line-height:70px;width:60px;background-color:transparent;font-size:24px;cursor:pointer}.navbar-custom .button-menu-mobile.disable-btn{display:none}.noti-scroll{max-height:230px}.notification-list{margin-right:0}.notification-list .noti-title{background-color:transparent;padding:15px 20px}.notification-list .noti-icon-badge{display:inline-block;position:absolute;top:16px;left:10px}.notification-list .notify-item{padding:12px 20px}.notification-list .notify-item .notify-icon{float:right;height:36px;width:36px;font-size:18px;line-height:36px;text-align:center;margin-left:10px;border-radius:50%;color:#fff}.notification-list .notify-item .notify-details{margin-bottom:5px;overflow:hidden;margin-right:45px;text-overflow:ellipsis;white-space:nowrap;color:#343a40}.notification-list .notify-item .notify-details b{font-weight:500}.notification-list .notify-item .notify-details .small,.notification-list .notify-item .notify-details small{display:block}.notification-list .notify-item .notify-details span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.notification-list .notify-item .user-msg{margin-right:45px;white-space:normal;line-height:16px}.notification-list .profile-dropdown .notify-item{padding:7px 20px}.noti-icon{font-size:21px;vertical-align:middle}.profile-dropdown{min-width:170px}.profile-dropdown i{vertical-align:middle;margin-left:5px}.nav-user{padding:0 12px!important}.nav-user img{height:32px;width:32px}.page-title-main{margin:0;line-height:70px;padding:0 24px}.fullscreen-enable [data-toggle=fullscreen] .fe-maximize::before{content:"\e88d"}@media (max-width:991.98px){.logo-box{width:70px!important;padding-left:0!important}.logo-box .logo-lg{display:none!important}.logo-box .logo-sm{display:block!important}}@media (max-width:600px){.navbar-custom .dropdown{position:static}.navbar-custom .dropdown .dropdown-menu{right:10px!important;left:10px!important}}body[data-topbar-color=dark][data-sidebar-color=brand] .logo-box,body[data-topbar-color=dark][data-sidebar-color=dark] .logo-box,body[data-topbar-color=dark][data-sidebar-color=light] .logo-box{background-color:transparent}body[data-topbar-color=dark] .content-page{margin-top:94px}body[data-topbar-color=dark] .navbar-custom{background-color:var(--ct-bg-topbar-dark)!important;box-shadow:var(--ct-box-shadow-sm)}body[data-topbar-color=dark] .navbar-custom .topnav-menu .nav-link{color:#ced4da}body[data-topbar-color=dark] .navbar-custom .dropdown .nav-link.show{background-color:rgba(255,255,255,.03)}body[data-topbar-color=dark] .navbar-custom .button-menu-mobile{color:#fff}body[data-topbar-color=dark] .navbar-custom .page-title-main{margin:0;line-height:70px;padding:0 30px;color:#f8f9fa}body[data-topbar-color=dark] .navbar-custom .app-search input::placeholder{color:rgba(255,255,255,.7)!important}body[data-topbar-color=dark] .navbar-custom .app-search .form-control{color:#fff;background-color:var(--ct-topbar-search-bg-dark);border-color:var(--ct-topbar-search-bg-dark)}body[data-topbar-color=dark] .navbar-custom .app-search .btn{background-color:var(--ct-topbar-search-bg-dark);color:rgba(255,255,255,.7)}body[data-topbar-color=dark] .navbar-custom .page-title-main{color:var(--ct-page-title-color)}@media (max-width:991.98px){body[data-layout-mode=horizontal] .navbar-toggle{border:0;position:relative;padding:0;margin:0;cursor:pointer}body[data-layout-mode=horizontal] .navbar-toggle .lines{width:25px;display:block;position:relative;height:16px;transition:all .5s ease;margin-top:calc(54px / 2)}body[data-layout-mode=horizontal] .navbar-toggle span{height:2px;width:100%;background-color:#ced4da;display:block;margin-bottom:5px;transition:transform .5s ease}body[data-layout-mode=horizontal] .navbar-toggle.open span{position:absolute}body[data-layout-mode=horizontal] .navbar-toggle.open span:first-child{top:7px;transform:rotate(-45deg)}body[data-layout-mode=horizontal] .navbar-toggle.open span:nth-child(2){visibility:hidden}body[data-layout-mode=horizontal] .navbar-toggle.open span:last-child{width:100%;top:7px;transform:rotate(45deg)}}body[data-layout-mode=horizontal][data-topbar-color=light] .logo-box .logo-dark{display:block}body[data-layout-mode=horizontal][data-topbar-color=light] .logo-box .logo-light{display:none}body[data-layout-mode=horizontal] .button-menu-mobile{display:none}body[data-layout-mode=horizontal] .logo-box{width:auto;padding-left:50px;background-color:transparent}@media (min-width:992px) and (max-width:1366px){body[data-layout-mode=horizontal] .logo-box{padding-right:20px}}@media (max-width:360px){.navbar-custom .topnav-menu .nav-link{padding:0 12px}.navbar-custom .button-menu-mobile{width:45px}}@media (max-width:992px){.button-menu-mobile.disable-btn{display:block!important}.page-title-main{display:none}}@media (max-width:992px){.logo-box{background:0 0!important}.user-box{display:none}}body[data-layout-color=dark] .logo .logo-lg-text-dark{color:#f1f5f7}body[data-layout-color=dark] .navbar-custom{background-color:var(--ct-body-bg)}body[data-layout-color=dark] .navbar-custom .topnav-menu .nav-link{color:#dee2e6}body[data-layout-color=dark] .navbar-custom .dropdown.show .nav-link{background-color:rgba(222,226,230,.05)}body[data-layout-color=dark] .navbar-custom .app-search .app-search-box input::placeholder{color:#98a6ad!important}body[data-layout-color=dark] .navbar-custom .app-search .form-control{color:#f1f5f7}body[data-layout-color=dark] .navbar-custom .app-search .btn{color:#dee2e6}body[data-layout-color=dark] .navbar-custom .button-menu-mobile{color:#f1f5f7}body[data-layout-color=dark] .notification-list .notify-item .notify-details{color:#f7f7f7}body[data-layout-color=dark][data-layout-mode=horizontal] .logo-box .logo-dark{display:none}body[data-layout-color=dark][data-layout-mode=horizontal] .logo-box .logo-light{display:block}@media (max-width:991.98px){body[data-layout-color=dark][data-layout-mode=horizontal] .navbar-toggle span{background-color:#6c757d}}.page-title-box .page-title-box-alt{background-color:transparent;padding:24px 27px;box-shadow:none;margin-bottom:0}.page-title-box .page-title{margin:0;line-height:75px;color:#323a46}.page-title-box .page-title-right{float:left;margin-top:22px}.page-title-box .breadcrumb{padding-top:5px}@media (max-width:767.98px){.page-title-box .page-title{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:70px}.page-title-box .breadcrumb{display:none}}@media (max-width:640px){.page-title-box .page-title-right{display:none}}@media (max-width:419px){.page-title-box .breadcrumb{display:none}}body[data-layout-color=dark] .page-title-box .page-title{color:#f7f7f7}.footer{bottom:0;padding:19px 15px 20px;position:absolute;left:0;color:var(--ct-footer-color);right:240px;background-color:var(--ct-footer-bg)}.footer .footer-links a{color:var(--ct-footer-color);margin-right:1.5rem;transition:all .4s}.footer .footer-links a:hover{color:var(--ct-footer-link-hover-color)}.footer .footer-links a:first-of-type{margin-right:0}.footer-alt{right:0!important;text-align:center;background-color:transparent}@media (max-width:767.98px){.footer{right:0!important;text-align:center}}body[data-layout-mode=horizontal] .footer{right:0!important}body[data-layout-mode=horizontal][data-layout-size=boxed] .footer{max-width:1300px!important}@media (min-width:992px){body[data-layout-mode=detached] .footer{position:inherit;margin:0 10px}}.right-bar{background-color:var(--ct-rightbar-bg);box-shadow:0 0 24px 0 rgba(0,0,0,.06),0 1px 0 0 rgba(0,0,0,.02);display:block;position:fixed;transition:all .2s ease-out;width:260px;z-index:9999;float:left!important;left:-270px;top:0;bottom:0}.right-bar .rightbar-title{background-color:#71b6f9;padding:25.5px 25px;color:#fff}.right-bar .right-bar-toggle{background-color:#343a40;height:24px;width:24px;line-height:24px;color:#f7f7f7;text-align:center;border-radius:50%;margin-top:-4px}.right-bar .right-bar-toggle:hover{background-color:#475364}.right-bar .user-box{padding:25px;text-align:center}.right-bar .user-box .user-img{position:relative;height:64px;width:64px;margin:0 auto 15px auto}.right-bar .user-box .user-img .user-edit{position:absolute;left:-5px;bottom:0;height:24px;width:24px;background-color:#fff;line-height:24px;border-radius:50%;box-shadow:none}.right-bar .user-box .h5,.right-bar .user-box h5{margin-bottom:2px}.right-bar .user-box .h5 a,.right-bar .user-box h5 a{color:#323a46}.rightbar-overlay{background-color:rgba(50,58,70,.55);position:absolute;right:0;left:0;top:0;bottom:0;display:none;z-index:9998;transition:all .2s ease-out}.right-bar-enabled .right-bar{left:0}.right-bar-enabled .rightbar-overlay{display:block}@media (max-width:575.98px){.right-bar{overflow:auto}.right-bar .slimscroll-menu{height:auto!important}}body[data-layout-color=dark] .right-bar .right-bar-toggle{color:#fff}body[data-layout-color=dark] .right-bar .right-bar-toggle:hover{color:#313844!important;background-color:#fff}body[data-layout-color=dark] .right-bar .user-box .h5 a,body[data-layout-color=dark] .right-bar .user-box h5 a{color:#f7f7f7}body[data-layout-color=dark] .rightbar-overlay{background-color:rgba(247,247,247,.55)}body[data-layout-size=boxed] #wrapper{max-width:1300px;margin:0 auto;box-shadow:var(--ct-box-shadow-lg)}body[data-layout-size=boxed] .navbar-custom{max-width:1300px;margin:0 auto}body[data-layout-size=boxed] .footer{margin:0 auto;max-width:calc(1300px - 240px)}body[data-layout-size=boxed][data-leftbar-size=condensed] .footer{max-width:calc(1300px - 70px)}body[data-layout-size=boxed][data-leftbar-size=compact] .footer{max-width:calc(1300px - 160px)}@media (min-width:768px){body[data-layout-size=boxed][data-leftbar-size=condensed] .content-page{min-height:calc(1750px - 70px)}}@media (min-width:1200px){body[data-leftbar-position=scrollable]:not([data-leftbar-size=condensed]):not([data-leftbar-size=compact]):not([data-layout-mode=two-column]){padding-bottom:0}body[data-leftbar-position=scrollable]:not([data-leftbar-size=condensed]):not([data-leftbar-size=compact]):not([data-layout-mode=two-column]) #wrapper{display:flex}body[data-leftbar-position=scrollable]:not([data-leftbar-size=condensed]):not([data-leftbar-size=compact]):not([data-layout-mode=two-column]) .navbar-custom,body[data-leftbar-position=scrollable]:not([data-leftbar-size=condensed]):not([data-leftbar-size=compact]):not([data-layout-mode=two-column]) .topnav{position:absolute}body[data-leftbar-position=scrollable]:not([data-leftbar-size=condensed]):not([data-leftbar-size=compact]):not([data-layout-mode=two-column]) .left-side-menu{position:relative;min-width:240px;max-width:240px;padding:20px 0 calc(70px + 20px)}body[data-leftbar-position=scrollable]:not([data-leftbar-size=condensed]):not([data-leftbar-size=compact]):not([data-layout-mode=two-column]) .content-page{margin-right:0;width:100%;padding-bottom:60px}}@media (min-width:1200px){body[data-layout-mode=horizontal] .container-fluid,body[data-layout-mode=horizontal] .container-lg,body[data-layout-mode=horizontal] .container-md,body[data-layout-mode=horizontal] .container-sm,body[data-layout-mode=horizontal] .container-xl,body[data-layout-mode=horizontal] .container-xxl{max-width:90%}body[data-layout-mode=horizontal] .navbar-custom{padding:0 calc(1.5rem / 2)}}body[data-layout-mode=horizontal] .content-page{margin-right:0!important}body[data-layout-mode=horizontal][data-topbar-color=dark] .content-page{margin-top:70px}body[data-layout-mode=horizontal][data-layout-color=light][data-topbar-color=dark] .logo-box .logo-dark{display:none}body[data-layout-mode=horizontal][data-layout-color=light][data-topbar-color=dark] .logo-box .logo-light{display:block}.topnav{background:var(--ct-bg-topbar-light);box-shadow:var(--ct-box-shadow);margin-top:70px;padding:0 calc(1.5rem / 2);position:fixed;right:0;left:0;z-index:100}.topnav .topnav-menu{margin:0;padding:0}.topnav .navbar-nav .nav-link{font-size:.95rem;position:relative;line-height:22px;padding:calc(33px / 2) 1.1rem;color:var(--ct-hori-menu-item-color);font-family:Karla,sans-serif}.topnav .navbar-nav .nav-link i{font-size:15px;display:inline-block}.topnav .navbar-nav .nav-link.active,.topnav .navbar-nav .nav-link:focus,.topnav .navbar-nav .nav-link:hover{color:var(--ct-menu-item-hover);background-color:transparent}.topnav .navbar-nav .nav-item.dropdown.active>a.dropdown-toggle{color:var(--ct-menu-item-active)}@media (min-width:992px){.topnav{height:55px}.topnav .navbar-nav .nav-item:first-of-type .nav-link{padding-right:0}.topnav .dropdown-item{padding:.5rem 1.25rem;min-width:180px;margin:0 .3rem;width:auto}.topnav .dropdown-item.active{background-color:transparent;color:var(--ct-menu-item-active)}.topnav .dropdown.mega-dropdown .mega-dropdown-menu{right:0;left:auto}.topnav .dropdown .dropdown-menu{padding:.3rem 0;margin-top:0;border-radius:0 0 .25rem .25rem}.topnav .dropdown .dropdown-menu .arrow-down::after{left:20px;transform:rotate(135deg) translateY(-50%);position:absolute}.topnav .dropdown .dropdown-menu .dropdown .dropdown-menu{position:absolute;top:0!important;right:100%;display:none}.topnav .dropdown:hover>.nav-link{color:var(--ct-menu-item-hover)}.topnav .dropdown:hover>.dropdown-menu{display:block}.topnav .dropdown:hover>.dropdown-menu .dropdown-item:hover{color:var(--ct-menu-item-active)}.topnav .dropdown:hover>.dropdown-menu>.dropdown:hover>.dropdown-item{color:var(--ct-menu-item-active)}.topnav .dropdown:hover>.dropdown-menu>.dropdown:hover>.dropdown-menu{display:block}.navbar-toggle{display:none}body[data-layout-mode=horizontal] .content-page{padding:55px 15px 65px 15px}}.arrow-down{display:inline-block}.arrow-down:after{border-color:initial;border-style:solid;border-width:0 1px 1px 0;content:"";height:.4em;display:inline-block;left:5px;top:50%;margin-right:10px;transform:rotate(45deg) translateY(-50%);transform-origin:top;transition:all .3s ease-out;width:.4em}@media (max-width:1199.98px){.topnav-menu .navbar-nav li:last-of-type .dropdown .dropdown-menu{left:100%;right:auto}}@media (max-width:991.98px){.topnav{max-height:360px;overflow-y:auto;padding:0}.topnav .navbar-nav .nav-link{padding:.75rem 1.1rem}.topnav .dropdown .dropdown-menu{background-color:transparent;border:none;box-shadow:none;padding-right:15px}.topnav .dropdown .dropdown-item{position:relative;background-color:transparent}.topnav .dropdown .dropdown-item.active,.topnav .dropdown .dropdown-item:active{color:var(--ct-menu-item-active)}.topnav .arrow-down::after{left:15px;position:absolute}}@media (min-width:992px){body[data-layout-mode=horizontal][data-topbar-color=light] .topnav{background-color:var(--ct-bg-topbar-dark)}body[data-layout-mode=horizontal][data-topbar-color=light] .topnav .navbar-nav .nav-link{color:rgba(255,255,255,.7)}body[data-layout-mode=horizontal][data-topbar-color=light] .topnav .navbar-nav .nav-link:focus,body[data-layout-mode=horizontal][data-topbar-color=light] .topnav .navbar-nav .nav-link:hover{color:rgba(255,255,255,.9)}body[data-layout-mode=horizontal][data-topbar-color=light] .topnav .navbar-nav .nav-link.active{color:#fff}body[data-layout-mode=horizontal][data-topbar-color=light] .topnav .navbar-nav .nav-item:hover .nav-link{color:#fff}body[data-layout-mode=horizontal][data-topbar-color=light] .topnav .navbar-nav>.dropdown.active>a{color:rgba(255,255,255,.9)!important}}body[data-layout-mode=horizontal][data-layout-size=boxed] .topnav{max-width:1300px;margin:70px auto 0}.avatar-xs{height:1.5rem;width:1.5rem}.avatar-sm{height:2.25rem;width:2.25rem}.avatar-md{height:3.5rem;width:3.5rem}.avatar-lg{height:4.5rem;width:4.5rem}.avatar-xl{height:6rem;width:6rem}.avatar-xxl{height:7.5rem;width:7.5rem}.avatar-title{align-items:center;color:#fff;display:flex;height:100%;justify-content:center;width:100%}.avatar-group{padding-right:12px}.avatar-group .avatar-group-item{margin:0 -12px 10px 0;display:inline-block;border:2px solid var(--ct-card-bg);border-radius:50%}.width-xs{min-width:80px}.width-sm{min-width:100px}.width-md{min-width:120px}.width-lg{min-width:140px}.width-xl{min-width:160px}.font-family-primary{font-family:Roboto,sans-serif}.font-family-secondary{font-family:Karla,sans-serif}.sp-line-1,.sp-line-2,.sp-line-3,.sp-line-4{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.sp-line-1{-webkit-line-clamp:1}.sp-line-2{-webkit-line-clamp:2}.sp-line-3{-webkit-line-clamp:3}.sp-line-4{-webkit-line-clamp:4}.icon-dual{color:var(--ct-text-muted);fill:rgba(var(--ct-text-muted),.12)}.icon-dual-primary{color:#71b6f9;fill:rgba(113,182,249,.16)}.icon-dual-secondary{color:#6c757d;fill:rgba(108,117,125,.16)}.icon-dual-success{color:#10c469;fill:rgba(16,196,105,.16)}.icon-dual-info{color:#35b8e0;fill:rgba(53,184,224,.16)}.icon-dual-warning{color:#f9c851;fill:rgba(249,200,81,.16)}.icon-dual-danger{color:#ff5b5b;fill:rgba(255,91,91,.16)}.icon-dual-light{color:#f8f9fa;fill:rgba(248,249,250,.16)}.icon-dual-dark{color:#323a46;fill:rgba(50,58,70,.16)}.icon-dual-pink{color:#ff8acc;fill:rgba(255,138,204,.16)}.icon-dual-purple{color:#5b69bc;fill:rgba(91,105,188,.16)}.icon-dual-blue{color:#71b6f9;fill:rgba(113,182,249,.16)}.icons-xs{height:16px;width:16px}.icons-sm{height:24px;width:24px}.icons-md{height:32px;width:32px}.icons-lg{height:40px;width:40px}.icons-xl{height:48px;width:48px}.icons-xxl{height:60px;width:60px}.item-hovered:hover{background-color:var(--ct-dropdown-link-hover-bg)}body[data-layout-color=dark] .icon-dual-primary{color:#71b6f9;fill:rgba(113,182,249,.16)}body[data-layout-color=dark] .icon-dual-secondary{color:#6c757d;fill:rgba(108,117,125,.16)}body[data-layout-color=dark] .icon-dual-success{color:#10c469;fill:rgba(16,196,105,.16)}body[data-layout-color=dark] .icon-dual-info{color:#35b8e0;fill:rgba(53,184,224,.16)}body[data-layout-color=dark] .icon-dual-warning{color:#f9c851;fill:rgba(249,200,81,.16)}body[data-layout-color=dark] .icon-dual-danger{color:#ff5b5b;fill:rgba(255,91,91,.16)}body[data-layout-color=dark] .icon-dual-light{color:#3a4250;fill:rgba(58,66,80,.16)}body[data-layout-color=dark] .icon-dual-dark{color:#f7f7f7;fill:rgba(247,247,247,.16)}body[data-layout-color=dark] .icon-dual-pink{color:#ff8acc;fill:rgba(255,138,204,.16)}body[data-layout-color=dark] .icon-dual-purple{color:#5b69bc;fill:rgba(91,105,188,.16)}body[data-layout-color=dark] .icon-dual-blue{color:#71b6f9;fill:rgba(113,182,249,.16)}.social-list-item{height:2rem;width:2rem;line-height:calc(2rem - 2px);display:block;border:2px solid #adb5bd;border-radius:50%;color:#adb5bd;text-align:center}body[data-layout-color=dark] .social-list-item{border:2px solid #98a6ad;color:#98a6ad}.widget-box-2 .widget-detail-2 .badge{padding:5px 10px}.inbox-widget .inbox-item{border-bottom:1px solid rgba(222,226,230,.5);overflow:hidden;padding:.75rem 0;position:relative}.inbox-widget .inbox-item:last-of-type{border-bottom:none}.inbox-widget .inbox-item .inbox-item-img{display:block;float:right;margin-left:15px;width:40px}.inbox-widget .inbox-item .inbox-item-img img{width:40px}.inbox-widget .inbox-item .inbox-item-author{display:block;margin-bottom:3px}.inbox-widget .inbox-item .inbox-item-text{color:var(--ct-text-muted);display:block;font-size:.8125rem;margin:0;overflow:hidden}.inbox-widget .inbox-item .inbox-item-date{color:#98a6ad;font-size:.6875rem;position:absolute;left:5px;top:10px}.conversation-list{list-style:none;padding:0 15px}.conversation-list li{margin-bottom:20px}.conversation-list li .conversation-actions{float:left;display:none}.conversation-list li:hover .conversation-actions{display:block}.conversation-list .chat-avatar{float:right;text-align:center;width:42px}.conversation-list .chat-avatar img{border-radius:100%;width:100%}.conversation-list .chat-avatar i{font-size:12px;font-style:normal}.conversation-list .ctext-wrap{background:var(--ct-chat-secondary-user-bg);border-radius:3px;display:inline-block;padding:12px;position:relative}.conversation-list .ctext-wrap i{display:block;font-size:12px;font-style:normal;font-weight:500;position:relative}.conversation-list .ctext-wrap p{margin:0;padding-top:3px}.conversation-list .ctext-wrap:after{right:-10px;top:0;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-top-color:var(--ct-chat-secondary-user-bg);border-width:6px;margin-left:-1px;border-left-color:var(--ct-chat-secondary-user-bg)}.conversation-list .conversation-text{float:right;font-size:12px;margin-right:12px;width:70%}.conversation-list .odd .chat-avatar{float:left!important}.conversation-list .odd .conversation-text{float:left!important;margin-left:12px;text-align:left;width:70%!important}.conversation-list .odd .ctext-wrap{background-color:var(--ct-chat-primary-user-bg)}.conversation-list .odd .ctext-wrap:after{border-color:transparent;border-right-color:var(--ct-chat-primary-user-bg);border-top-color:var(--ct-chat-primary-user-bg);left:-10px!important;right:auto}.conversation-list .odd .conversation-actions{float:right}body[data-layout-color=dark] .inbox-widget .inbox-item{border-bottom:1px solid rgba(58,66,80,.5)}body[data-layout-color=dark] .inbox-widget .inbox-item .inbox-item-date{color:#adb5bd}@media print{.footer,.left-side-menu,.navbar-custom,.page-title-box,.right-bar{display:none}.card-body,.content,.content-page,.right-bar,body{padding:0;margin:0}}#preloader{position:fixed;top:0;right:0;left:0;bottom:0;background-color:var(--ct-card-bg);z-index:9999}#status{width:40px;height:40px;position:absolute;right:50%;top:50%;margin:-20px -20px 0 0}.spinner{margin:0 auto;font-size:10px;position:relative;text-indent:-9999em;border-top:5px solid #dee2e6;border-left:5px solid #dee2e6;border-bottom:5px solid #dee2e6;border-right:5px solid #71b6f9;transform:translateZ(0);animation:SpinnerAnimation 1.1s infinite linear}.spinner,.spinner:after{border-radius:50%;width:40px;height:40px}@keyframes SpinnerAnimation{0%{transform:rotate(0)}100%{transform:rotate(-360deg)}}body[data-layout-color=dark] .spinner{border-top:5px solid #3a4250;border-left:5px solid #3a4250;border-bottom:5px solid #3a4250}.alert-primary{color:#6baded;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.25)}.alert-primary .alert-link{color:#4f7fae}.alert-secondary{color:#676f77;background-color:rgba(108,117,125,.18);border-color:rgba(108,117,125,.25)}.alert-secondary .alert-link{color:#4c5258}.alert-success{color:#0fba64;background-color:rgba(16,196,105,.18);border-color:rgba(16,196,105,.25)}.alert-success .alert-link{color:#0b894a}.alert-info{color:#32afd5;background-color:rgba(53,184,224,.18);border-color:rgba(53,184,224,.25)}.alert-info .alert-link{color:#25819d}.alert-warning{color:#edbe4d;background-color:rgba(249,200,81,.18);border-color:rgba(249,200,81,.25)}.alert-warning .alert-link{color:#ae8c39}.alert-danger{color:#f25656;background-color:rgba(255,91,91,.18);border-color:rgba(255,91,91,.25)}.alert-danger .alert-link{color:#b34040}.alert-light{color:#ecedee;background-color:rgba(248,249,250,.18);border-color:rgba(248,249,250,.25)}.alert-light .alert-link{color:#aeaeaf}.alert-dark{color:#303743;background-color:rgba(50,58,70,.18);border-color:rgba(50,58,70,.25)}.alert-dark .alert-link{color:#232931}.alert-pink{color:#f283c2;background-color:rgba(255,138,204,.18);border-color:rgba(255,138,204,.25)}.alert-pink .alert-link{color:#b3618f}.alert-purple{color:#5664b3;background-color:rgba(91,105,188,.18);border-color:rgba(91,105,188,.25)}.alert-purple .alert-link{color:#404a84}.alert-blue{color:#6baded;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.25)}.alert-blue .alert-link{color:#4f7fae}body[data-layout-color=dark] .alert-primary{color:#6baded;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.25)}body[data-layout-color=dark] .alert-primary .alert-link{color:#4f7fae}body[data-layout-color=dark] .alert-secondary{color:#676f77;background-color:rgba(108,117,125,.18);border-color:rgba(108,117,125,.25)}body[data-layout-color=dark] .alert-secondary .alert-link{color:#4c5258}body[data-layout-color=dark] .alert-success{color:#0fba64;background-color:rgba(16,196,105,.18);border-color:rgba(16,196,105,.25)}body[data-layout-color=dark] .alert-success .alert-link{color:#0b894a}body[data-layout-color=dark] .alert-info{color:#32afd5;background-color:rgba(53,184,224,.18);border-color:rgba(53,184,224,.25)}body[data-layout-color=dark] .alert-info .alert-link{color:#25819d}body[data-layout-color=dark] .alert-warning{color:#edbe4d;background-color:rgba(249,200,81,.18);border-color:rgba(249,200,81,.25)}body[data-layout-color=dark] .alert-warning .alert-link{color:#ae8c39}body[data-layout-color=dark] .alert-danger{color:#f25656;background-color:rgba(255,91,91,.18);border-color:rgba(255,91,91,.25)}body[data-layout-color=dark] .alert-danger .alert-link{color:#b34040}body[data-layout-color=dark] .alert-light{color:#373f4c;background-color:rgba(58,66,80,.18);border-color:rgba(58,66,80,.25)}body[data-layout-color=dark] .alert-light .alert-link{color:#292e38}body[data-layout-color=dark] .alert-dark{color:#ebebeb;background-color:rgba(247,247,247,.18);border-color:rgba(247,247,247,.25)}body[data-layout-color=dark] .alert-dark .alert-link{color:#adadad}body[data-layout-color=dark] .alert-pink{color:#f283c2;background-color:rgba(255,138,204,.18);border-color:rgba(255,138,204,.25)}body[data-layout-color=dark] .alert-pink .alert-link{color:#b3618f}body[data-layout-color=dark] .alert-purple{color:#5664b3;background-color:rgba(91,105,188,.18);border-color:rgba(91,105,188,.25)}body[data-layout-color=dark] .alert-purple .alert-link{color:#404a84}body[data-layout-color=dark] .alert-blue{color:#6baded;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.25)}body[data-layout-color=dark] .alert-blue .alert-link{color:#4f7fae}.custom-accordion .accordion-arrow{font-size:1.2rem;position:absolute;left:0}.custom-accordion a.collapsed i.accordion-arrow:before{content:"\f0142"}.custom-accordion .card{box-shadow:none;border:1px solid var(--ct-border-color)!important}.badge{box-shadow:none}.badge-soft-primary{color:#71b6f9;background-color:rgba(113,182,249,.18);box-shadow:none}.badge-outline-primary{color:#71b6f9;border:1px solid #71b6f9;background-color:transparent;box-shadow:none}.badge-soft-secondary{color:#6c757d;background-color:rgba(108,117,125,.18);box-shadow:none}.badge-outline-secondary{color:#6c757d;border:1px solid #6c757d;background-color:transparent;box-shadow:none}.badge-soft-success{color:#10c469;background-color:rgba(16,196,105,.18);box-shadow:none}.badge-outline-success{color:#10c469;border:1px solid #10c469;background-color:transparent;box-shadow:none}.badge-soft-info{color:#35b8e0;background-color:rgba(53,184,224,.18);box-shadow:none}.badge-outline-info{color:#35b8e0;border:1px solid #35b8e0;background-color:transparent;box-shadow:none}.badge-soft-warning{color:#f9c851;background-color:rgba(249,200,81,.18);box-shadow:none}.badge-outline-warning{color:#f9c851;border:1px solid #f9c851;background-color:transparent;box-shadow:none}.badge-soft-danger{color:#ff5b5b;background-color:rgba(255,91,91,.18);box-shadow:none}.badge-outline-danger{color:#ff5b5b;border:1px solid #ff5b5b;background-color:transparent;box-shadow:none}.badge-soft-light{color:#f8f9fa;background-color:rgba(248,249,250,.18);box-shadow:none}.badge-outline-light{color:#f8f9fa;border:1px solid #f8f9fa;background-color:transparent;box-shadow:none}.badge-soft-dark{color:#323a46;background-color:rgba(50,58,70,.18);box-shadow:none}.badge-outline-dark{color:#323a46;border:1px solid #323a46;background-color:transparent;box-shadow:none}.badge-soft-pink{color:#ff8acc;background-color:rgba(255,138,204,.18);box-shadow:none}.badge-outline-pink{color:#ff8acc;border:1px solid #ff8acc;background-color:transparent;box-shadow:none}.badge-soft-purple{color:#5b69bc;background-color:rgba(91,105,188,.18);box-shadow:none}.badge-outline-purple{color:#5b69bc;border:1px solid #5b69bc;background-color:transparent;box-shadow:none}.badge-soft-blue{color:#71b6f9;background-color:rgba(113,182,249,.18);box-shadow:none}.badge-outline-blue{color:#71b6f9;border:1px solid #71b6f9;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-primary{color:#71b6f9;background-color:rgba(113,182,249,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-primary{color:#71b6f9;border:1px solid #71b6f9;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-secondary{color:#6c757d;background-color:rgba(108,117,125,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-secondary{color:#6c757d;border:1px solid #6c757d;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-success{color:#10c469;background-color:rgba(16,196,105,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-success{color:#10c469;border:1px solid #10c469;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-info{color:#35b8e0;background-color:rgba(53,184,224,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-info{color:#35b8e0;border:1px solid #35b8e0;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-warning{color:#f9c851;background-color:rgba(249,200,81,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-warning{color:#f9c851;border:1px solid #f9c851;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-danger{color:#ff5b5b;background-color:rgba(255,91,91,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-danger{color:#ff5b5b;border:1px solid #ff5b5b;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-light{color:#3a4250;background-color:rgba(58,66,80,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-light{color:#3a4250;border:1px solid #3a4250;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-dark{color:#f7f7f7;background-color:rgba(247,247,247,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-dark{color:#f7f7f7;border:1px solid #f7f7f7;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-pink{color:#ff8acc;background-color:rgba(255,138,204,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-pink{color:#ff8acc;border:1px solid #ff8acc;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-purple{color:#5b69bc;background-color:rgba(91,105,188,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-purple{color:#5b69bc;border:1px solid #5b69bc;background-color:transparent;box-shadow:none}body[data-layout-color=dark] .badge-soft-blue{color:#71b6f9;background-color:rgba(113,182,249,.18);box-shadow:none}body[data-layout-color=dark] .badge-outline-blue{color:#71b6f9;border:1px solid #71b6f9;background-color:transparent;box-shadow:none}.breadcrumb-item>a{color:#6c757d}.breadcrumb-item+.breadcrumb-item::before{font-family:"Material Design Icons"}body[data-layout-color=dark] .breadcrumb-item>a{color:#dee2e6}.btn-primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(113,182,249,.5)}.btn-secondary{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(108,117,125,.5)}.btn-success{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(16,196,105,.5)}.btn-info{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(53,184,224,.5)}.btn-warning{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(249,200,81,.5)}.btn-danger{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(255,91,91,.5)}.btn-light{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(248,249,250,.5)}.btn-dark{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(50,58,70,.5)}.btn-pink{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(255,138,204,.5)}.btn-purple{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(91,105,188,.5)}.btn-blue{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(113,182,249,.5)}.btn .mdi:before{margin-top:-1px}.btn i{display:inline-block}.btn-light,.btn-white{color:#323a46}.btn-white{border-color:#dee2e6}.btn-white:focus,.btn-white:hover{background-color:#f8f9fa;border-color:#f8f9fa}.btn-white.focus,.btn-white:focus{box-shadow:0 0 0 .15rem rgba(222,226,230,.3)}.btn-link{font-weight:400;color:var(--ct-link-color);background-color:transparent}.btn-link:hover{color:var(--ct-link-hover-color);background-color:transparent;border-color:transparent}.btn-link.focus,.btn-link:focus{border-color:transparent;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:var(--ct-btn-link-disabled-color);pointer-events:none}.btn-outline-primary{color:#71b6f9;border-color:#71b6f9}.btn-outline-primary:hover{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#71b6f9;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#10c469;border-color:#10c469}.btn-outline-success:hover{color:#fff;background-color:#10c469;border-color:#10c469}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#10c469;border-color:#10c469}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#10c469;background-color:transparent}.btn-outline-info{color:#35b8e0;border-color:#35b8e0}.btn-outline-info:hover{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#35b8e0;background-color:transparent}.btn-outline-warning{color:#f9c851;border-color:#f9c851}.btn-outline-warning:hover{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#f9c851;background-color:transparent}.btn-outline-danger{color:#ff5b5b;border-color:#ff5b5b}.btn-outline-danger:hover{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#ff5b5b;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .15rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#343a40;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .15rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#323a46;border-color:#323a46}.btn-outline-dark:hover{color:#fff;background-color:#323a46;border-color:#323a46}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .15rem rgba(50,58,70,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#323a46;border-color:#323a46}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .15rem rgba(50,58,70,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#323a46;background-color:transparent}.btn-outline-pink{color:#ff8acc;border-color:#ff8acc}.btn-outline-pink:hover{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-check:focus+.btn-outline-pink,.btn-outline-pink:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.5)}.btn-check:active+.btn-outline-pink,.btn-check:checked+.btn-outline-pink,.btn-outline-pink.active,.btn-outline-pink.dropdown-toggle.show,.btn-outline-pink:active{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-check:active+.btn-outline-pink:focus,.btn-check:checked+.btn-outline-pink:focus,.btn-outline-pink.active:focus,.btn-outline-pink.dropdown-toggle.show:focus,.btn-outline-pink:active:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.5)}.btn-outline-pink.disabled,.btn-outline-pink:disabled{color:#ff8acc;background-color:transparent}.btn-outline-purple{color:#5b69bc;border-color:#5b69bc}.btn-outline-purple:hover{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-check:focus+.btn-outline-purple,.btn-outline-purple:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.5)}.btn-check:active+.btn-outline-purple,.btn-check:checked+.btn-outline-purple,.btn-outline-purple.active,.btn-outline-purple.dropdown-toggle.show,.btn-outline-purple:active{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-check:active+.btn-outline-purple:focus,.btn-check:checked+.btn-outline-purple:focus,.btn-outline-purple.active:focus,.btn-outline-purple.dropdown-toggle.show:focus,.btn-outline-purple:active:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.5)}.btn-outline-purple.disabled,.btn-outline-purple:disabled{color:#5b69bc;background-color:transparent}.btn-outline-blue{color:#71b6f9;border-color:#71b6f9}.btn-outline-blue:hover{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:focus+.btn-outline-blue,.btn-outline-blue:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-check:active+.btn-outline-blue,.btn-check:checked+.btn-outline-blue,.btn-outline-blue.active,.btn-outline-blue.dropdown-toggle.show,.btn-outline-blue:active{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:active+.btn-outline-blue:focus,.btn-check:checked+.btn-outline-blue:focus,.btn-outline-blue.active:focus,.btn-outline-blue.dropdown-toggle.show:focus,.btn-outline-blue:active:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-outline-blue.disabled,.btn-outline-blue:disabled{color:#71b6f9;background-color:transparent}.btn-label{margin:-.55rem -.9rem -.55rem .9rem;padding:.6rem .9rem;background-color:rgba(50,58,70,.1)}.btn-label-right{margin:-.45rem .9rem -.45rem -.9rem;padding:.45rem .9rem;background-color:rgba(50,58,70,.1);display:inline-block}.btn-xs{padding:.2rem .6rem;font-size:.75rem;border-radius:.15rem}.btn-soft-primary{color:#71b6f9;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.12)}.btn-soft-primary:hover{color:#fff;background-color:#71b6f9}.btn-soft-primary.focus,.btn-soft-primary:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.3)}.btn-soft-secondary{color:#6c757d;background-color:rgba(108,117,125,.18);border-color:rgba(108,117,125,.12)}.btn-soft-secondary:hover{color:#fff;background-color:#6c757d}.btn-soft-secondary.focus,.btn-soft-secondary:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.3)}.btn-soft-success{color:#10c469;background-color:rgba(16,196,105,.18);border-color:rgba(16,196,105,.12)}.btn-soft-success:hover{color:#fff;background-color:#10c469}.btn-soft-success.focus,.btn-soft-success:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.3)}.btn-soft-info{color:#35b8e0;background-color:rgba(53,184,224,.18);border-color:rgba(53,184,224,.12)}.btn-soft-info:hover{color:#fff;background-color:#35b8e0}.btn-soft-info.focus,.btn-soft-info:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.3)}.btn-soft-warning{color:#f9c851;background-color:rgba(249,200,81,.18);border-color:rgba(249,200,81,.12)}.btn-soft-warning:hover{color:#fff;background-color:#f9c851}.btn-soft-warning.focus,.btn-soft-warning:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.3)}.btn-soft-danger{color:#ff5b5b;background-color:rgba(255,91,91,.18);border-color:rgba(255,91,91,.12)}.btn-soft-danger:hover{color:#fff;background-color:#ff5b5b}.btn-soft-danger.focus,.btn-soft-danger:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.3)}.btn-soft-light{color:#f8f9fa;background-color:rgba(248,249,250,.18);border-color:rgba(248,249,250,.12)}.btn-soft-light:hover{color:#fff;background-color:#f8f9fa}.btn-soft-light.focus,.btn-soft-light:focus{box-shadow:0 0 0 .15rem rgba(248,249,250,.3)}.btn-soft-dark{color:#323a46;background-color:rgba(50,58,70,.18);border-color:rgba(50,58,70,.12)}.btn-soft-dark:hover{color:#fff;background-color:#323a46}.btn-soft-dark.focus,.btn-soft-dark:focus{box-shadow:0 0 0 .15rem rgba(50,58,70,.3)}.btn-soft-pink{color:#ff8acc;background-color:rgba(255,138,204,.18);border-color:rgba(255,138,204,.12)}.btn-soft-pink:hover{color:#fff;background-color:#ff8acc}.btn-soft-pink.focus,.btn-soft-pink:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.3)}.btn-soft-purple{color:#5b69bc;background-color:rgba(91,105,188,.18);border-color:rgba(91,105,188,.12)}.btn-soft-purple:hover{color:#fff;background-color:#5b69bc}.btn-soft-purple.focus,.btn-soft-purple:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.3)}.btn-soft-blue{color:#71b6f9;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.12)}.btn-soft-blue:hover{color:#fff;background-color:#71b6f9}.btn-soft-blue.focus,.btn-soft-blue:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.3)}.btn-bordered-primary{background-color:#71b6f9;color:#fff!important;border-bottom:2px solid #4fa4f8}.btn-bordered-secondary{background-color:#6c757d;color:#fff!important;border-bottom:2px solid #5b636a}.btn-bordered-success{background-color:#10c469;color:#fff!important;border-bottom:2px solid #0da357}.btn-bordered-info{background-color:#35b8e0;color:#fff!important;border-bottom:2px solid #20a8d1}.btn-bordered-warning{background-color:#f9c851;color:#fff!important;border-bottom:2px solid #f8bd2e}.btn-bordered-danger{background-color:#ff5b5b;color:#fff!important;border-bottom:2px solid #ff3737}.btn-bordered-light{background-color:#f8f9fa;color:#fff!important;border-bottom:2px solid #e3e7eb}.btn-bordered-dark{background-color:#323a46;color:#fff!important;border-bottom:2px solid #232931}.btn-bordered-pink{background-color:#ff8acc;color:#fff!important;border-bottom:2px solid #ff66bc}.btn-bordered-purple{background-color:#5b69bc;color:#fff!important;border-bottom:2px solid #4755ad}.btn-bordered-blue{background-color:#71b6f9;color:#fff!important;border-bottom:2px solid #4fa4f8}.btn-bordered-dark{color:#f7f7f7!important}body[data-layout-color=dark] .btn-label{background-color:rgba(247,247,247,.1)}body[data-layout-color=dark] .btn-label-right{background-color:rgba(247,247,247,.1)}body[data-layout-color=dark] .btn-bordered-dark{color:#313844!important}body[data-layout-color=dark] .btn-primary{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(113,182,249,.5)}body[data-layout-color=dark] .btn-outline-primary{color:#71b6f9;border-color:#71b6f9}body[data-layout-color=dark] .btn-outline-primary:hover{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:focus+body[data-layout-color=dark] .btn-outline-primary,body[data-layout-color=dark] .btn-outline-primary:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-primary,.btn-check:checked+body[data-layout-color=dark] .btn-outline-primary,body[data-layout-color=dark] .btn-outline-primary.active,body[data-layout-color=dark] .btn-outline-primary.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-primary:active{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:active+body[data-layout-color=dark] .btn-outline-primary:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-primary:focus,body[data-layout-color=dark] .btn-outline-primary.active:focus,body[data-layout-color=dark] .btn-outline-primary.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-primary:active:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}body[data-layout-color=dark] .btn-outline-primary.disabled,body[data-layout-color=dark] .btn-outline-primary:disabled{color:#71b6f9;background-color:transparent}body[data-layout-color=dark] .btn-soft-primary{color:#71b6f9;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.12)}body[data-layout-color=dark] .btn-soft-primary:hover{color:#fff;background-color:#71b6f9}body[data-layout-color=dark] .btn-soft-primary.focus,body[data-layout-color=dark] .btn-soft-primary:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.3)}body[data-layout-color=dark] .btn-bordered-primary{background-color:#71b6f9;color:#fff!important;border-bottom:2px solid #4fa4f8}body[data-layout-color=dark] .btn-secondary{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(108,117,125,.5)}body[data-layout-color=dark] .btn-outline-secondary{color:#6c757d;border-color:#6c757d}body[data-layout-color=dark] .btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+body[data-layout-color=dark] .btn-outline-secondary,body[data-layout-color=dark] .btn-outline-secondary:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-secondary,.btn-check:checked+body[data-layout-color=dark] .btn-outline-secondary,body[data-layout-color=dark] .btn-outline-secondary.active,body[data-layout-color=dark] .btn-outline-secondary.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+body[data-layout-color=dark] .btn-outline-secondary:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-secondary:focus,body[data-layout-color=dark] .btn-outline-secondary.active:focus,body[data-layout-color=dark] .btn-outline-secondary.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-secondary:active:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.5)}body[data-layout-color=dark] .btn-outline-secondary.disabled,body[data-layout-color=dark] .btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}body[data-layout-color=dark] .btn-soft-secondary{color:#6c757d;background-color:rgba(108,117,125,.18);border-color:rgba(108,117,125,.12)}body[data-layout-color=dark] .btn-soft-secondary:hover{color:#fff;background-color:#6c757d}body[data-layout-color=dark] .btn-soft-secondary.focus,body[data-layout-color=dark] .btn-soft-secondary:focus{box-shadow:0 0 0 .15rem rgba(108,117,125,.3)}body[data-layout-color=dark] .btn-bordered-secondary{background-color:#6c757d;color:#fff!important;border-bottom:2px solid #5b636a}body[data-layout-color=dark] .btn-success{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(16,196,105,.5)}body[data-layout-color=dark] .btn-outline-success{color:#10c469;border-color:#10c469}body[data-layout-color=dark] .btn-outline-success:hover{color:#fff;background-color:#10c469;border-color:#10c469}.btn-check:focus+body[data-layout-color=dark] .btn-outline-success,body[data-layout-color=dark] .btn-outline-success:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-success,.btn-check:checked+body[data-layout-color=dark] .btn-outline-success,body[data-layout-color=dark] .btn-outline-success.active,body[data-layout-color=dark] .btn-outline-success.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-success:active{color:#fff;background-color:#10c469;border-color:#10c469}.btn-check:active+body[data-layout-color=dark] .btn-outline-success:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-success:focus,body[data-layout-color=dark] .btn-outline-success.active:focus,body[data-layout-color=dark] .btn-outline-success.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-success:active:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.5)}body[data-layout-color=dark] .btn-outline-success.disabled,body[data-layout-color=dark] .btn-outline-success:disabled{color:#10c469;background-color:transparent}body[data-layout-color=dark] .btn-soft-success{color:#10c469;background-color:rgba(16,196,105,.18);border-color:rgba(16,196,105,.12)}body[data-layout-color=dark] .btn-soft-success:hover{color:#fff;background-color:#10c469}body[data-layout-color=dark] .btn-soft-success.focus,body[data-layout-color=dark] .btn-soft-success:focus{box-shadow:0 0 0 .15rem rgba(16,196,105,.3)}body[data-layout-color=dark] .btn-bordered-success{background-color:#10c469;color:#fff!important;border-bottom:2px solid #0da357}body[data-layout-color=dark] .btn-info{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(53,184,224,.5)}body[data-layout-color=dark] .btn-outline-info{color:#35b8e0;border-color:#35b8e0}body[data-layout-color=dark] .btn-outline-info:hover{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-check:focus+body[data-layout-color=dark] .btn-outline-info,body[data-layout-color=dark] .btn-outline-info:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-info,.btn-check:checked+body[data-layout-color=dark] .btn-outline-info,body[data-layout-color=dark] .btn-outline-info.active,body[data-layout-color=dark] .btn-outline-info.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-info:active{color:#fff;background-color:#35b8e0;border-color:#35b8e0}.btn-check:active+body[data-layout-color=dark] .btn-outline-info:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-info:focus,body[data-layout-color=dark] .btn-outline-info.active:focus,body[data-layout-color=dark] .btn-outline-info.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-info:active:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.5)}body[data-layout-color=dark] .btn-outline-info.disabled,body[data-layout-color=dark] .btn-outline-info:disabled{color:#35b8e0;background-color:transparent}body[data-layout-color=dark] .btn-soft-info{color:#35b8e0;background-color:rgba(53,184,224,.18);border-color:rgba(53,184,224,.12)}body[data-layout-color=dark] .btn-soft-info:hover{color:#fff;background-color:#35b8e0}body[data-layout-color=dark] .btn-soft-info.focus,body[data-layout-color=dark] .btn-soft-info:focus{box-shadow:0 0 0 .15rem rgba(53,184,224,.3)}body[data-layout-color=dark] .btn-bordered-info{background-color:#35b8e0;color:#fff!important;border-bottom:2px solid #20a8d1}body[data-layout-color=dark] .btn-warning{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(249,200,81,.5)}body[data-layout-color=dark] .btn-outline-warning{color:#f9c851;border-color:#f9c851}body[data-layout-color=dark] .btn-outline-warning:hover{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-check:focus+body[data-layout-color=dark] .btn-outline-warning,body[data-layout-color=dark] .btn-outline-warning:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-warning,.btn-check:checked+body[data-layout-color=dark] .btn-outline-warning,body[data-layout-color=dark] .btn-outline-warning.active,body[data-layout-color=dark] .btn-outline-warning.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-warning:active{color:#343a40;background-color:#f9c851;border-color:#f9c851}.btn-check:active+body[data-layout-color=dark] .btn-outline-warning:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-warning:focus,body[data-layout-color=dark] .btn-outline-warning.active:focus,body[data-layout-color=dark] .btn-outline-warning.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-warning:active:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.5)}body[data-layout-color=dark] .btn-outline-warning.disabled,body[data-layout-color=dark] .btn-outline-warning:disabled{color:#f9c851;background-color:transparent}body[data-layout-color=dark] .btn-soft-warning{color:#f9c851;background-color:rgba(249,200,81,.18);border-color:rgba(249,200,81,.12)}body[data-layout-color=dark] .btn-soft-warning:hover{color:#fff;background-color:#f9c851}body[data-layout-color=dark] .btn-soft-warning.focus,body[data-layout-color=dark] .btn-soft-warning:focus{box-shadow:0 0 0 .15rem rgba(249,200,81,.3)}body[data-layout-color=dark] .btn-bordered-warning{background-color:#f9c851;color:#fff!important;border-bottom:2px solid #f8bd2e}body[data-layout-color=dark] .btn-danger{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(255,91,91,.5)}body[data-layout-color=dark] .btn-outline-danger{color:#ff5b5b;border-color:#ff5b5b}body[data-layout-color=dark] .btn-outline-danger:hover{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-check:focus+body[data-layout-color=dark] .btn-outline-danger,body[data-layout-color=dark] .btn-outline-danger:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-danger,.btn-check:checked+body[data-layout-color=dark] .btn-outline-danger,body[data-layout-color=dark] .btn-outline-danger.active,body[data-layout-color=dark] .btn-outline-danger.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-danger:active{color:#fff;background-color:#ff5b5b;border-color:#ff5b5b}.btn-check:active+body[data-layout-color=dark] .btn-outline-danger:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-danger:focus,body[data-layout-color=dark] .btn-outline-danger.active:focus,body[data-layout-color=dark] .btn-outline-danger.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-danger:active:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.5)}body[data-layout-color=dark] .btn-outline-danger.disabled,body[data-layout-color=dark] .btn-outline-danger:disabled{color:#ff5b5b;background-color:transparent}body[data-layout-color=dark] .btn-soft-danger{color:#ff5b5b;background-color:rgba(255,91,91,.18);border-color:rgba(255,91,91,.12)}body[data-layout-color=dark] .btn-soft-danger:hover{color:#fff;background-color:#ff5b5b}body[data-layout-color=dark] .btn-soft-danger.focus,body[data-layout-color=dark] .btn-soft-danger:focus{box-shadow:0 0 0 .15rem rgba(255,91,91,.3)}body[data-layout-color=dark] .btn-bordered-danger{background-color:#ff5b5b;color:#fff!important;border-bottom:2px solid #ff3737}body[data-layout-color=dark] .btn-light{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(58,66,80,.5)}body[data-layout-color=dark] .btn-outline-light{color:#3a4250;border-color:#3a4250}body[data-layout-color=dark] .btn-outline-light:hover{color:#fff;background-color:#3a4250;border-color:#3a4250}.btn-check:focus+body[data-layout-color=dark] .btn-outline-light,body[data-layout-color=dark] .btn-outline-light:focus{box-shadow:0 0 0 .15rem rgba(58,66,80,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-light,.btn-check:checked+body[data-layout-color=dark] .btn-outline-light,body[data-layout-color=dark] .btn-outline-light.active,body[data-layout-color=dark] .btn-outline-light.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-light:active{color:#fff;background-color:#3a4250;border-color:#3a4250}.btn-check:active+body[data-layout-color=dark] .btn-outline-light:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-light:focus,body[data-layout-color=dark] .btn-outline-light.active:focus,body[data-layout-color=dark] .btn-outline-light.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-light:active:focus{box-shadow:0 0 0 .15rem rgba(58,66,80,.5)}body[data-layout-color=dark] .btn-outline-light.disabled,body[data-layout-color=dark] .btn-outline-light:disabled{color:#3a4250;background-color:transparent}body[data-layout-color=dark] .btn-soft-light{color:#3a4250;background-color:rgba(58,66,80,.18);border-color:rgba(58,66,80,.12)}body[data-layout-color=dark] .btn-soft-light:hover{color:#fff;background-color:#3a4250}body[data-layout-color=dark] .btn-soft-light.focus,body[data-layout-color=dark] .btn-soft-light:focus{box-shadow:0 0 0 .15rem rgba(58,66,80,.3)}body[data-layout-color=dark] .btn-bordered-light{background-color:#3a4250;color:#fff!important;border-bottom:2px solid #2b313b}body[data-layout-color=dark] .btn-dark{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(247,247,247,.5)}body[data-layout-color=dark] .btn-outline-dark{color:#f7f7f7;border-color:#f7f7f7}body[data-layout-color=dark] .btn-outline-dark:hover{color:#343a40;background-color:#f7f7f7;border-color:#f7f7f7}.btn-check:focus+body[data-layout-color=dark] .btn-outline-dark,body[data-layout-color=dark] .btn-outline-dark:focus{box-shadow:0 0 0 .15rem rgba(247,247,247,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-dark,.btn-check:checked+body[data-layout-color=dark] .btn-outline-dark,body[data-layout-color=dark] .btn-outline-dark.active,body[data-layout-color=dark] .btn-outline-dark.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-dark:active{color:#343a40;background-color:#f7f7f7;border-color:#f7f7f7}.btn-check:active+body[data-layout-color=dark] .btn-outline-dark:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-dark:focus,body[data-layout-color=dark] .btn-outline-dark.active:focus,body[data-layout-color=dark] .btn-outline-dark.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-dark:active:focus{box-shadow:0 0 0 .15rem rgba(247,247,247,.5)}body[data-layout-color=dark] .btn-outline-dark.disabled,body[data-layout-color=dark] .btn-outline-dark:disabled{color:#f7f7f7;background-color:transparent}body[data-layout-color=dark] .btn-soft-dark{color:#f7f7f7;background-color:rgba(247,247,247,.18);border-color:rgba(247,247,247,.12)}body[data-layout-color=dark] .btn-soft-dark:hover{color:#fff;background-color:#f7f7f7}body[data-layout-color=dark] .btn-soft-dark.focus,body[data-layout-color=dark] .btn-soft-dark:focus{box-shadow:0 0 0 .15rem rgba(247,247,247,.3)}body[data-layout-color=dark] .btn-bordered-dark{background-color:#f7f7f7;color:#fff!important;border-bottom:2px solid #e5e5e5}body[data-layout-color=dark] .btn-pink{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(255,138,204,.5)}body[data-layout-color=dark] .btn-outline-pink{color:#ff8acc;border-color:#ff8acc}body[data-layout-color=dark] .btn-outline-pink:hover{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-check:focus+body[data-layout-color=dark] .btn-outline-pink,body[data-layout-color=dark] .btn-outline-pink:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-pink,.btn-check:checked+body[data-layout-color=dark] .btn-outline-pink,body[data-layout-color=dark] .btn-outline-pink.active,body[data-layout-color=dark] .btn-outline-pink.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-pink:active{color:#fff;background-color:#ff8acc;border-color:#ff8acc}.btn-check:active+body[data-layout-color=dark] .btn-outline-pink:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-pink:focus,body[data-layout-color=dark] .btn-outline-pink.active:focus,body[data-layout-color=dark] .btn-outline-pink.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-pink:active:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.5)}body[data-layout-color=dark] .btn-outline-pink.disabled,body[data-layout-color=dark] .btn-outline-pink:disabled{color:#ff8acc;background-color:transparent}body[data-layout-color=dark] .btn-soft-pink{color:#ff8acc;background-color:rgba(255,138,204,.18);border-color:rgba(255,138,204,.12)}body[data-layout-color=dark] .btn-soft-pink:hover{color:#fff;background-color:#ff8acc}body[data-layout-color=dark] .btn-soft-pink.focus,body[data-layout-color=dark] .btn-soft-pink:focus{box-shadow:0 0 0 .15rem rgba(255,138,204,.3)}body[data-layout-color=dark] .btn-bordered-pink{background-color:#ff8acc;color:#fff!important;border-bottom:2px solid #ff66bc}body[data-layout-color=dark] .btn-purple{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(91,105,188,.5)}body[data-layout-color=dark] .btn-outline-purple{color:#5b69bc;border-color:#5b69bc}body[data-layout-color=dark] .btn-outline-purple:hover{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-check:focus+body[data-layout-color=dark] .btn-outline-purple,body[data-layout-color=dark] .btn-outline-purple:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-purple,.btn-check:checked+body[data-layout-color=dark] .btn-outline-purple,body[data-layout-color=dark] .btn-outline-purple.active,body[data-layout-color=dark] .btn-outline-purple.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-purple:active{color:#fff;background-color:#5b69bc;border-color:#5b69bc}.btn-check:active+body[data-layout-color=dark] .btn-outline-purple:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-purple:focus,body[data-layout-color=dark] .btn-outline-purple.active:focus,body[data-layout-color=dark] .btn-outline-purple.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-purple:active:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.5)}body[data-layout-color=dark] .btn-outline-purple.disabled,body[data-layout-color=dark] .btn-outline-purple:disabled{color:#5b69bc;background-color:transparent}body[data-layout-color=dark] .btn-soft-purple{color:#5b69bc;background-color:rgba(91,105,188,.18);border-color:rgba(91,105,188,.12)}body[data-layout-color=dark] .btn-soft-purple:hover{color:#fff;background-color:#5b69bc}body[data-layout-color=dark] .btn-soft-purple.focus,body[data-layout-color=dark] .btn-soft-purple:focus{box-shadow:0 0 0 .15rem rgba(91,105,188,.3)}body[data-layout-color=dark] .btn-bordered-purple{background-color:#5b69bc;color:#fff!important;border-bottom:2px solid #4755ad}body[data-layout-color=dark] .btn-blue{box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075) rgba(113,182,249,.5)}body[data-layout-color=dark] .btn-outline-blue{color:#71b6f9;border-color:#71b6f9}body[data-layout-color=dark] .btn-outline-blue:hover{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:focus+body[data-layout-color=dark] .btn-outline-blue,body[data-layout-color=dark] .btn-outline-blue:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}.btn-check:active+body[data-layout-color=dark] .btn-outline-blue,.btn-check:checked+body[data-layout-color=dark] .btn-outline-blue,body[data-layout-color=dark] .btn-outline-blue.active,body[data-layout-color=dark] .btn-outline-blue.dropdown-toggle.show,body[data-layout-color=dark] .btn-outline-blue:active{color:#fff;background-color:#71b6f9;border-color:#71b6f9}.btn-check:active+body[data-layout-color=dark] .btn-outline-blue:focus,.btn-check:checked+body[data-layout-color=dark] .btn-outline-blue:focus,body[data-layout-color=dark] .btn-outline-blue.active:focus,body[data-layout-color=dark] .btn-outline-blue.dropdown-toggle.show:focus,body[data-layout-color=dark] .btn-outline-blue:active:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.5)}body[data-layout-color=dark] .btn-outline-blue.disabled,body[data-layout-color=dark] .btn-outline-blue:disabled{color:#71b6f9;background-color:transparent}body[data-layout-color=dark] .btn-soft-blue{color:#71b6f9;background-color:rgba(113,182,249,.18);border-color:rgba(113,182,249,.12)}body[data-layout-color=dark] .btn-soft-blue:hover{color:#fff;background-color:#71b6f9}body[data-layout-color=dark] .btn-soft-blue.focus,body[data-layout-color=dark] .btn-soft-blue:focus{box-shadow:0 0 0 .15rem rgba(113,182,249,.3)}body[data-layout-color=dark] .btn-bordered-blue{background-color:#71b6f9;color:#fff!important;border-bottom:2px solid #4fa4f8}body[data-layout-color=dark] .btn-light,body[data-layout-color=dark] .btn-white{background-color:#3a4250;border-color:#3a4250;color:#f1f5f7}body[data-layout-color=dark] .btn-dark{background-color:#f1f5f7;border-color:#f1f5f7;color:#282e38}body[data-layout-color=dark] .btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#f1f5f7}body[data-layout-color=dark] .btn-outline-light{border-color:#3a4250;color:#3a4250}body[data-layout-color=dark] .btn-outline-light.active,body[data-layout-color=dark] .btn-outline-light:active,body[data-layout-color=dark] .btn-outline-light:focus,body[data-layout-color=dark] .btn-outline-light:hover{color:#f1f5f7!important;background-color:#3a4250}body[data-layout-color=dark] .btn-outline-dark{border-color:#f1f5f7;color:#f1f5f7}body[data-layout-color=dark] .btn-outline-dark.active,body[data-layout-color=dark] .btn-outline-dark:active,body[data-layout-color=dark] .btn-outline-dark:focus,body[data-layout-color=dark] .btn-outline-dark:hover{color:#282e38!important;background-color:#f1f5f7}body[data-layout-color=dark] .btn-outline-secondary{border-color:#6c757d;color:#6c757d}body[data-layout-color=dark] .btn-outline-secondary.active,body[data-layout-color=dark] .btn-outline-secondary:active,body[data-layout-color=dark] .btn-outline-secondary:focus,body[data-layout-color=dark] .btn-outline-secondary:hover{color:#3a4250!important;background-color:#6c757d}.form-check.form-check-primary .form-check-input:checked{background-color:#71b6f9!important;border-color:#71b6f9!important}.form-check.form-check-secondary .form-check-input:checked{background-color:#6c757d!important;border-color:#6c757d!important}.form-check.form-check-success .form-check-input:checked{background-color:#10c469!important;border-color:#10c469!important}.form-check.form-check-info .form-check-input:checked{background-color:#35b8e0!important;border-color:#35b8e0!important}.form-check.form-check-warning .form-check-input:checked{background-color:#f9c851!important;border-color:#f9c851!important}.form-check.form-check-danger .form-check-input:checked{background-color:#ff5b5b!important;border-color:#ff5b5b!important}.form-check.form-check-light .form-check-input:checked{background-color:#f8f9fa!important;border-color:#f8f9fa!important}.form-check.form-check-dark .form-check-input:checked{background-color:#323a46!important;border-color:#323a46!important}.form-check.form-check-pink .form-check-input:checked{background-color:#ff8acc!important;border-color:#ff8acc!important}.form-check.form-check-purple .form-check-input:checked{background-color:#5b69bc!important;border-color:#5b69bc!important}.form-check.form-check-blue .form-check-input:checked{background-color:#71b6f9!important;border-color:#71b6f9!important}body[data-layout-color=dark] .form-check.form-check-primary .form-check-input:checked{background-color:#71b6f9!important;border-color:#71b6f9!important}body[data-layout-color=dark] .form-check.form-check-secondary .form-check-input:checked{background-color:#6c757d!important;border-color:#6c757d!important}body[data-layout-color=dark] .form-check.form-check-success .form-check-input:checked{background-color:#10c469!important;border-color:#10c469!important}body[data-layout-color=dark] .form-check.form-check-info .form-check-input:checked{background-color:#35b8e0!important;border-color:#35b8e0!important}body[data-layout-color=dark] .form-check.form-check-warning .form-check-input:checked{background-color:#f9c851!important;border-color:#f9c851!important}body[data-layout-color=dark] .form-check.form-check-danger .form-check-input:checked{background-color:#ff5b5b!important;border-color:#ff5b5b!important}body[data-layout-color=dark] .form-check.form-check-light .form-check-input:checked{background-color:#3a4250!important;border-color:#3a4250!important}body[data-layout-color=dark] .form-check.form-check-dark .form-check-input:checked{background-color:#f7f7f7!important;border-color:#f7f7f7!important}body[data-layout-color=dark] .form-check.form-check-pink .form-check-input:checked{background-color:#ff8acc!important;border-color:#ff8acc!important}body[data-layout-color=dark] .form-check.form-check-purple .form-check-input:checked{background-color:#5b69bc!important;border-color:#5b69bc!important}body[data-layout-color=dark] .form-check.form-check-blue .form-check-input:checked{background-color:#71b6f9!important;border-color:#71b6f9!important}.card{box-shadow:var(--ct-box-shadow-sm);margin-bottom:1.5rem}.card .card-drop{color:#98a6ad;font-size:20px;display:inline-block;line-height:1px}.card-widgets{float:left;height:16px}.card-widgets>a{color:inherit;font-size:18px;display:inline-block;line-height:1}.card-widgets>a.collapsed i:before{content:"\f0415"}.card-header,.card-title{margin-top:0}.card-disabled{position:absolute;right:0;left:0;top:0;bottom:0;border-radius:.25rem;background:var(--ct-card-overlay-bg);cursor:progress}.header-title{font-size:1rem;margin:0 0 7px 0}.sub-header{font-size:.875rem;margin-bottom:1.5rem;color:var(--ct-text-muted)}body[data-layout-color=dark] .card .card-drop{color:#adb5bd}.dropdown-menu{box-shadow:var(--ct-box-shadow);animation-name:DropDownSlide;animation-duration:.3s;animation-fill-mode:both;top:100%}.dropdown-menu.show{top:100%!important}.dropdown-menu i{display:inline-block}.dropdown-menu-end{left:0!important;right:auto!important}.dropdown-menu[data-popper-placement^=left],.dropdown-menu[data-popper-placement^=right],.dropdown-menu[data-popper-placement^=top]{top:auto!important;animation:none!important}@keyframes DropDownSlide{100%{transform:translateY(0)}0%{transform:translateY(15px)}}@media (min-width:600px){.dropdown-lg{width:320px}}.dropdown-mega{position:static!important}.dropdown-megamenu{padding:20px;right:20px!important;left:20px!important;background-image:url(../images/megamenu-bg.png);background-position:left bottom;background-repeat:no-repeat}.megamenu-list li{padding:5px 25px 5px 20px;position:relative}.megamenu-list li a{color:var(--ct-dropdown-link-color)}.megamenu-list li a:hover{color:#71b6f9}.megamenu-list li:before{content:"\f0142";position:absolute;right:0;font-family:"Material Design Icons"}html[dir=ltr] .megamenu-list li:before{content:"\f0141"}.dropdown-icon-item{display:block;border-radius:3px;line-height:34px;text-align:center;padding:15px 0 9px;display:block;border:1px solid transparent;color:var(--ct-dropdown-link-color)}.dropdown-icon-item img{height:24px}.dropdown-icon-item span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-icon-item:hover{background-color:var(--ct-dropdown-link-hover-bg)}@media (min-width:992px){.dropdown-mega-menu-xl{width:40rem}.dropdown-mega-menu-lg{width:26rem}}.form-control,.form-select{box-shadow:none}.form-control-light{background-color:var(--ct-input-light-bg)!important;border-color:var(--ct-input-light-bg)!important}input.form-control[type=color],input.form-control[type=range]{min-height:39px}.custom-select.is-invalid:focus,.custom-select.is-valid:focus,.custom-select:invalid:focus,.custom-select:valid:focus,.form-control.is-invalid:focus,.form-control.is-valid:focus,.form-control:invalid:focus,.form-control:valid:focus{box-shadow:none!important}.comment-area-box .form-control{border-color:#dee2e6;border-radius:.2rem .2rem 0 0}.comment-area-box .comment-area-btn{background-color:#f8f9fa;padding:10px;border:1px solid #dee2e6;border-top:none;border-radius:0 0 .2rem .2rem}.search-bar .form-control{padding-right:40px;padding-left:20px;border-radius:30px}.search-bar span{position:absolute;z-index:10;font-size:16px;line-height:calc(1.5em + .9rem + 2px);right:13px;top:-2px;color:var(--ct-text-muted)}.search-box{position:relative}.search-box .form-control{padding-left:36px}.search-box .search-icon{position:absolute;top:7px;left:12px;font-size:16px}.password-eye:before{font-family:feather!important;content:"\e86a";font-style:normal;font-weight:400;font-variant:normal;vertical-align:middle;line-height:1.2;font-size:16px}.show-password .password-eye:before{content:"\e86e"}body[data-layout-color=dark] .comment-area-box .form-control{border-color:#3a4250}body[data-layout-color=dark] .comment-area-box .comment-area-btn{background-color:#282e38;border:1px solid #3a4250}.modal-title{margin-top:0}.modal-full-width{width:95%;max-width:none}.modal-top{margin:0 auto}.modal-right{position:absolute;left:0;display:flex;flex-flow:column nowrap;justify-content:center;height:100%;margin:0;background-color:var(--ct-modal-content-bg);align-content:center;transform:translate(-25%,0)!important}.modal-right button.btn-close{position:fixed;top:20px;left:20px;z-index:1}.modal.show .modal-left,.modal.show .modal-right{transform:translate(0,0)!important}.modal-bottom{display:flex;flex-flow:column nowrap;justify-content:flex-end;height:100%;margin:0 auto;align-content:center}.modal-colored-header{color:#fff;border-radius:0}.modal-colored-header .btn-close{color:#fff!important}.nav-pills>li>a,.nav-tabs>li>a{color:#6c757d;font-weight:500}.nav-pills>a{color:#6c757d;font-weight:500}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:auto}.navtab-bg .nav-link{background-color:var(--ct-card-cap-bg);margin:0 5px}.nav-bordered{border-bottom:2px solid rgba(152,166,173,.2)!important}.nav-bordered .nav-item{margin-bottom:-1px}.nav-bordered li a{border:0!important;padding:10px 20px}.nav-bordered a.active{border-bottom:2px solid #71b6f9!important}.tab-content{padding:20px 0 0 0}body[data-layout-color=dark] .nav-pills>li>a,body[data-layout-color=dark] .nav-tabs>li>a{color:#dee2e6}body[data-layout-color=dark] .nav-pills>a{color:#dee2e6}body[data-layout-color=dark] .nav-bordered{border-bottom:2px solid rgba(173,181,189,.2)!important}.pagination-rounded .page-link{border-radius:30px!important;margin:0 6px;border:none}.pagination-rounded .page-item:last-child .page-link{margin-left:0}.pagination a{line-height:1.25!important}.popover-header{margin-top:0}.progress-sm{height:5px!important}.progress-md{height:8px!important}.progress-lg{height:12px!important}.progress-xl{height:15px}.progress{margin-top:18px}.progress-animated{animation-duration:5s;animation-name:animationProgress;transition:5s all}.progress-bar-alt-primary{background-color:rgba(113,182,249,.2)}.progress-bar-alt-secondary{background-color:rgba(108,117,125,.2)}.progress-bar-alt-success{background-color:rgba(16,196,105,.2)}.progress-bar-alt-info{background-color:rgba(53,184,224,.2)}.progress-bar-alt-warning{background-color:rgba(249,200,81,.2)}.progress-bar-alt-danger{background-color:rgba(255,91,91,.2)}.progress-bar-alt-light{background-color:rgba(248,249,250,.2)}.progress-bar-alt-dark{background-color:rgba(50,58,70,.2)}.progress-bar-alt-pink{background-color:rgba(255,138,204,.2)}.progress-bar-alt-purple{background-color:rgba(91,105,188,.2)}.progress-bar-alt-blue{background-color:rgba(113,182,249,.2)}@keyframes animationProgress{from{width:0}}body[data-layout-color=dark] .progress-bar-alt-primary{background-color:rgba(113,182,249,.2)}body[data-layout-color=dark] .progress-bar-alt-secondary{background-color:rgba(108,117,125,.2)}body[data-layout-color=dark] .progress-bar-alt-success{background-color:rgba(16,196,105,.2)}body[data-layout-color=dark] .progress-bar-alt-info{background-color:rgba(53,184,224,.2)}body[data-layout-color=dark] .progress-bar-alt-warning{background-color:rgba(249,200,81,.2)}body[data-layout-color=dark] .progress-bar-alt-danger{background-color:rgba(255,91,91,.2)}body[data-layout-color=dark] .progress-bar-alt-light{background-color:rgba(58,66,80,.2)}body[data-layout-color=dark] .progress-bar-alt-dark{background-color:rgba(247,247,247,.2)}body[data-layout-color=dark] .progress-bar-alt-pink{background-color:rgba(255,138,204,.2)}body[data-layout-color=dark] .progress-bar-alt-purple{background-color:rgba(91,105,188,.2)}body[data-layout-color=dark] .progress-bar-alt-blue{background-color:rgba(113,182,249,.2)}body{padding-left:0!important;padding-right:0!important}body.loading{visibility:hidden;opacity:0}label{font-weight:500}pre{background-color:#fcfcfc;border:1px solid #dee2e6;padding:7px}button:focus{outline:0}.blockquote{padding:10px 20px;margin-bottom:0;border-right:4px solid #dee2e6;font-size:.75rem}.blockquote.blockquote-reverse{border-right:0;border-left:4px solid #dee2e6;text-align:left}.blockquote-footer{margin-top:0;margin-bottom:0;font-size:.75rem;color:var(--ct-blockquote-footer-color)}.blockquote-footer::before{content:"— "}body[data-layout-color=dark] pre{background-color:#353d4a;border:1px solid #3a4250}body[data-layout-color=dark] .blockquote{border-right:4px solid #3a4250}body[data-layout-color=dark] .blockquote.blockquote-reverse{border-left:4px solid #3a4250}th{font-weight:700}.table-centered td,.table-centered th{vertical-align:middle!important}.table-nowrap td,.table-nowrap th{white-space:nowrap}.table .table-user img{height:30px;width:30px}.action-icon{color:#98a6ad;font-size:1.2rem;display:inline-block;padding:0 3px}.action-icon:hover{color:#6c757d}table.table-hover tbody tr:hover>*,table.table-hover thead tr:hover>*{--ct-table-accent-bg:#f1f3fa}table tr.table-active{--ct-table-accent-bg:rgba(222, 226, 230, 0.3)}table.table-striped tbody tr:nth-of-type(odd)>*{--ct-table-accent-bg:rgba(222, 226, 230, 0.3)}body[data-layout-color=dark] table .action-icon{color:#adb5bd}body[data-layout-color=dark] table .action-icon:hover{color:#dee2e6}body[data-layout-color=dark] table .table-light{--ct-table-bg:#3a4250;color:#fff;border-color:var(--ct-table-group-separator-color)}body[data-layout-color=dark] table .table-dark{--ct-table-bg:#3a4250}body[data-layout-color=dark] table.table-hover tbody tr:hover>*,body[data-layout-color=dark] table.table-hover thead tr:hover>*{--ct-table-accent-bg:rgba(64, 73, 84, 0.8)}body[data-layout-color=dark] table tr.table-active{--ct-table-accent-bg:rgba(64, 73, 84, 0.8)}body[data-layout-color=dark] table.table-striped tbody tr:nth-of-type(odd)>*{--ct-table-accent-bg:rgba(64, 73, 84, 0.8)}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:Karla,sans-serif;color:#343a40;font-weight:600}.font-11{font-size:11px!important}.font-12{font-size:12px!important}.font-13{font-size:13px!important}.font-14{font-size:14px!important}.font-15{font-size:15px!important}.font-16{font-size:16px!important}.font-17{font-size:17px!important}.font-18{font-size:18px!important}.font-19{font-size:19px!important}.font-20{font-size:20px!important}.font-22{font-size:22px!important}.font-24{font-size:24px!important}.font-26{font-size:26px!important}.font-28{font-size:28px!important}.fw-medium{font-weight:500}.fw-semibold{font-weight:600}body[data-layout-color=dark] .h1,body[data-layout-color=dark] .h2,body[data-layout-color=dark] .h3,body[data-layout-color=dark] .h4,body[data-layout-color=dark] .h5,body[data-layout-color=dark] .h6,body[data-layout-color=dark] h1,body[data-layout-color=dark] h2,body[data-layout-color=dark] h3,body[data-layout-color=dark] h4,body[data-layout-color=dark] h5,body[data-layout-color=dark] h6{color:#f7f7f7}.bg-primary{background-color:#71b6f9!important}.bg-soft-primary{background-color:rgba(113,182,249,.25)!important}.text-primary{color:#71b6f9!important}.bg-secondary{background-color:#6c757d!important}.bg-soft-secondary{background-color:rgba(108,117,125,.25)!important}.text-secondary{color:#6c757d!important}.bg-success{background-color:#10c469!important}.bg-soft-success{background-color:rgba(16,196,105,.25)!important}.text-success{color:#10c469!important}.bg-info{background-color:#35b8e0!important}.bg-soft-info{background-color:rgba(53,184,224,.25)!important}.text-info{color:#35b8e0!important}.bg-warning{background-color:#f9c851!important}.bg-soft-warning{background-color:rgba(249,200,81,.25)!important}.text-warning{color:#f9c851!important}.bg-danger{background-color:#ff5b5b!important}.bg-soft-danger{background-color:rgba(255,91,91,.25)!important}.text-danger{color:#ff5b5b!important}.bg-light{background-color:#f8f9fa!important}.bg-soft-light{background-color:rgba(248,249,250,.25)!important}.text-light{color:#f8f9fa!important}.bg-dark{background-color:#323a46!important}.bg-soft-dark{background-color:rgba(50,58,70,.25)!important}.text-dark{color:#323a46!important}.bg-pink{background-color:#ff8acc!important}.bg-soft-pink{background-color:rgba(255,138,204,.25)!important}.text-pink{color:#ff8acc!important}.bg-purple{background-color:#5b69bc!important}.bg-soft-purple{background-color:rgba(91,105,188,.25)!important}.text-purple{color:#5b69bc!important}.bg-blue{background-color:#71b6f9!important}.bg-soft-blue{background-color:rgba(113,182,249,.25)!important}.text-blue{color:#71b6f9!important}.bg-ghost{opacity:.4}body[data-layout-color=dark] .bg-primary{background-color:#71b6f9!important}body[data-layout-color=dark] .bg-soft-primary{background-color:rgba(113,182,249,.25)!important}body[data-layout-color=dark] .text-primary{color:#71b6f9!important}body[data-layout-color=dark] .bg-secondary{background-color:#6c757d!important}body[data-layout-color=dark] .bg-soft-secondary{background-color:rgba(108,117,125,.25)!important}body[data-layout-color=dark] .text-secondary{color:#6c757d!important}body[data-layout-color=dark] .bg-success{background-color:#10c469!important}body[data-layout-color=dark] .bg-soft-success{background-color:rgba(16,196,105,.25)!important}body[data-layout-color=dark] .text-success{color:#10c469!important}body[data-layout-color=dark] .bg-info{background-color:#35b8e0!important}body[data-layout-color=dark] .bg-soft-info{background-color:rgba(53,184,224,.25)!important}body[data-layout-color=dark] .text-info{color:#35b8e0!important}body[data-layout-color=dark] .bg-warning{background-color:#f9c851!important}body[data-layout-color=dark] .bg-soft-warning{background-color:rgba(249,200,81,.25)!important}body[data-layout-color=dark] .text-warning{color:#f9c851!important}body[data-layout-color=dark] .bg-danger{background-color:#ff5b5b!important}body[data-layout-color=dark] .bg-soft-danger{background-color:rgba(255,91,91,.25)!important}body[data-layout-color=dark] .text-danger{color:#ff5b5b!important}body[data-layout-color=dark] .bg-light{background-color:#3a4250!important}body[data-layout-color=dark] .bg-soft-light{background-color:rgba(58,66,80,.25)!important}body[data-layout-color=dark] .text-light{color:#3a4250!important}body[data-layout-color=dark] .bg-dark{background-color:#f7f7f7!important}body[data-layout-color=dark] .bg-soft-dark{background-color:rgba(247,247,247,.25)!important}body[data-layout-color=dark] .text-dark{color:#f7f7f7!important}body[data-layout-color=dark] .bg-pink{background-color:#ff8acc!important}body[data-layout-color=dark] .bg-soft-pink{background-color:rgba(255,138,204,.25)!important}body[data-layout-color=dark] .text-pink{color:#ff8acc!important}body[data-layout-color=dark] .bg-purple{background-color:#5b69bc!important}body[data-layout-color=dark] .bg-soft-purple{background-color:rgba(91,105,188,.25)!important}body[data-layout-color=dark] .text-purple{color:#5b69bc!important}body[data-layout-color=dark] .bg-blue{background-color:#71b6f9!important}body[data-layout-color=dark] .bg-soft-blue{background-color:rgba(113,182,249,.25)!important}body[data-layout-color=dark] .text-blue{color:#71b6f9!important}.authentication-bg.enlarged{min-height:100px}body.authentication-bg{background-image:url(../images/bg-auth3.png);background-size:cover;background-position:center}.logout-icon{width:140px}.auth-logo .logo-light{display:none!important}.auth-logo .logo-dark{display:block!important}body[data-layout-color=dark] .auth-logo .logo-light{display:block!important}body[data-layout-color=dark] .auth-logo .logo-dark{display:none!important}.chat-list li a{display:block;color:#98a6ad;position:relative;padding:12px 14px;font-size:13px}.chat-list li a .chat-user-img .avatar-title,.chat-list li a .chat-user-img img{padding:2px;border:2px solid #f8f9fa}.chat-list li a .chat-user-img.active .avatar-title,.chat-list li a .chat-user-img.active img{border-color:#10c469!important}.chat-list li.active a{background-color:#f8f9fa}.chat-list li.unread a::after{content:"";position:absolute;display:inline-block;width:8px;height:8px;border-radius:50%;background-color:#71b6f9;left:24px;top:50%;transform:translateY(-50%)}.conversation-list{list-style:none;padding:0;margin-bottom:0}.conversation-list li{margin-bottom:24px}.conversation-list li .chat-day-title{position:relative;text-align:center;margin-bottom:24px}.conversation-list li .chat-day-title .title{background-color:var(--ct-card-bg);position:relative;z-index:1;padding:6px 24px}.conversation-list li .chat-day-title:before{content:"";position:absolute;width:100%;height:1px;right:0;left:0;background-color:#f8f9fa;top:10px}.conversation-list li .message-list::after{display:block;clear:both;content:""}.conversation-list .chat-avatar{float:right;text-align:center;width:36px}.conversation-list .chat-avatar img{border-radius:50%;width:100%}.conversation-list .ctext-wrap{background:#71b6f9;border-radius:6px 0 6px 6px;display:inline-block;padding:12px;position:relative;color:#fff}.conversation-list .ctext-wrap:after{content:" ";position:absolute;left:100%;top:0;border:solid transparent;border-left-color:#71b6f9;border-top-color:#71b6f9;border-width:5px}.conversation-list .ctext-wrap .user-name{display:block;font-size:12px;font-weight:600;position:relative}.conversation-list .ctext-wrap p{margin:0;padding-top:4px}.conversation-list .conversation-text{float:right;font-size:12px;margin-right:12px;width:70%}.conversation-list .conversation-text .time{display:block;font-size:12px;margin-top:6px}.conversation-list .odd .chat-avatar{float:left}.conversation-list .odd .conversation-text{float:left;margin-right:0;margin-left:12px;text-align:left}.conversation-list .odd .ctext-wrap{background-color:#f8f9fa;color:#6c757d;border-radius:0 6px 6px 6px}.conversation-list .odd .ctext-wrap:after{right:100%;left:auto;border-left-color:transparent;border-right-color:#f8f9fa;border-top-color:#f8f9fa}@media (max-width:575.98px){.chat-send{min-width:auto}}body[data-layout-color=dark] .chat-list li a{display:block;color:#adb5bd}body[data-layout-color=dark] .chat-list li a .chat-user-img .avatar-title,body[data-layout-color=dark] .chat-list li a .chat-user-img img{border:2px solid #3a4250}body[data-layout-color=dark] .chat-list li.active a{background-color:#3a4250}body[data-layout-color=dark] .conversation-list li .chat-day-title:before{background-color:#3a4250}body[data-layout-color=dark] .conversation-list .odd .ctext-wrap{color:var(--ct-body-color);background-color:#3a4250}body[data-layout-color=dark] .conversation-list .odd .ctext-wrap:after{border-right-color:#3a4250;border-top-color:#3a4250}.button-list{margin-right:-8px;margin-bottom:-12px}.button-list .btn{margin-bottom:12px;margin-right:8px}.grid-structure .grid-container{background-color:var(--ct-table-striped-bg);margin-bottom:10px;font-size:.8rem;font-weight:600;padding:10px 20px}.icons-list-demo div.col-sm-6{cursor:pointer;line-height:45px;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.icons-list-demo div.col-sm-6 p{margin-bottom:0;line-height:inherit}.icons-list-demo i{text-align:center;vertical-align:middle;font-size:22px;width:50px;height:50px;line-height:50px;margin-left:12px;color:var(--ct-text-muted);border-radius:3px;display:inline-block;transition:all .2s}.icons-list-demo .col-md-4{border-radius:3px;background-clip:padding-box;margin-bottom:10px}.icons-list-demo .col-md-4:hover,.icons-list-demo .col-md-4:hover i{color:#71b6f9}.icons-list-demo .icon-item svg{margin-left:10px}.icons-list-demo .icon-item span{line-height:30px;display:inline-block;vertical-align:middle}.scrollspy-example{position:relative;height:200px;margin-top:.5rem;overflow:auto}.list-group-item{border:1px solid #fcfcfc;border-right:none;border-left:none}.list-group-item:hover{background:#fcfcfc}.list-group-item:first-child{border-top:none!important}.list-group-item:last-child{border-bottom:none!important}body[data-layout-color=dark] .list-group-item{border:1px solid #353d4a}body[data-layout-color=dark] .list-group-item:hover{background:#353d4a}.text-error{color:#71b6f9;text-shadow:rgba(113,182,249,.3) -5px 1px,rgba(113,182,249,.2) -10px 3px;font-size:84px;line-height:90px;font-family:Karla,sans-serif}.error-text-box{font-size:10rem;font-family:Karla,sans-serif;min-height:200px}.error-text-box .text{fill:none;stroke-width:6;stroke-linejoin:round;stroke-dasharray:30 100;stroke-dashoffset:0;animation:stroke 9s infinite linear}.error-text-box .text:nth-child(5n+1){stroke:#ff5b5b;animation-delay:-1.2s}.error-text-box .text:nth-child(5n+2){stroke:#f9c851;animation-delay:-2.4s}.error-text-box .text:nth-child(5n+3){stroke:#71b6f9;animation-delay:-3.6s}.error-text-box .text:nth-child(5n+4){stroke:#35b8e0;animation-delay:-4.8s}.error-text-box .text:nth-child(5n+5){stroke:#10c469;animation-delay:-6s}@keyframes stroke{100%{stroke-dashoffset:-400}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.error-text-box .text{fill:#ff5b5b;stroke:#ff5b5b;stroke-width:6;stroke-dasharray:0 0;stroke-dashoffset:0;animation:none}}.logout-checkmark{width:100px;margin:0 auto;padding:20px 0}.logout-checkmark .path{stroke-dasharray:1000;stroke-dashoffset:0;animation:dash 2s ease-in-out}.logout-checkmark .spin{animation:spin 2s;transform-origin:50% 50%}@keyframes dash{0%{stroke-dashoffset:1000}100%{stroke-dashoffset:0}}@keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(-360deg)}}@keyframes text{0%{opacity:0}100%{opacity:1}}.faq-question-q-box{height:30px;width:30px;color:#71b6f9;text-align:center;border-radius:50%;float:right;font-weight:700;line-height:30px;background-color:rgba(113,182,249,.15)}.faq-question{margin-top:0;margin-right:50px;font-weight:400;font-size:16px}.faq-answer{margin-right:50px;color:var(--ct-text-muted)}.svg-computer{stroke-dasharray:1134;stroke-dashoffset:-1134;animation:draw-me 5s infinite;animation-direction:normal;height:160px}@keyframes draw-me{from{stroke-dashoffset:-1134}to{stroke-dashoffset:0}}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.svg-computer{stroke-dasharray:0;stroke-dashoffset:0;animation:none;animation-direction:normal}}.timeline{border-collapse:collapse;border-spacing:0;display:table;margin-bottom:50px;position:relative;table-layout:fixed;width:100%}.timeline .time-show{margin-bottom:30px;margin-left:-75px;margin-top:30px;position:relative;text-align:left}.timeline .time-show a{color:#fff}.timeline:before{background-color:rgba(173,181,189,.3);bottom:0;content:"";right:50%;position:absolute;top:30px;width:2px;z-index:0}.timeline .timeline-icon{-webkit-border-radius:50%;background:#98a6ad;border-radius:50%;color:#fff;display:block;height:21px;right:-54px;margin-top:-11px;position:absolute;text-align:center;top:50%;width:21px}.timeline .timeline-icon i{color:#f7f7f7;font-size:12px;margin-right:1px}.timeline .time-icon:before{font-size:16px;margin-top:5px}.timeline-title.h3,h3.timeline-title{color:#98a6ad;font-size:20px;font-weight:400;margin:0 0 5px;text-transform:uppercase}.timeline-item{display:table-row}.timeline-item:before{content:"";display:block;width:50%}.timeline-item .timeline-desk .arrow{border-bottom:8px solid transparent;border-left:8px solid var(--ct-card-bg)!important;border-top:8px solid transparent;display:block;height:0;right:-7px;margin-top:-10px;position:absolute;top:50%;width:0}.timeline-item.alt:after{content:"";display:block;width:50%}.timeline-item.alt .timeline-desk .arrow-alt{border-bottom:8px solid transparent;border-right:8px solid var(--ct-card-bg)!important;border-top:8px solid transparent;display:block;height:0;right:auto;margin-top:-10px;position:absolute;left:-7px;top:50%;width:0}.timeline-item.alt .timeline-desk .album{float:left;margin-top:20px}.timeline-item.alt .timeline-desk .album a{float:left;margin-right:5px}.timeline-item.alt .timeline-icon{right:auto;left:-57px}.timeline-item.alt:before{display:none}.timeline-item.alt .panel{margin-right:0;margin-left:45px}.timeline-item.alt .panel .panel-body p+p{margin-top:10px!important}.timeline-item.alt .h4,.timeline-item.alt h4{text-align:left}.timeline-item.alt p{text-align:left}.timeline-item.alt .timeline-date{text-align:left}.timeline-desk{display:table-cell;vertical-align:top;width:50%}.timeline-desk .h4,.timeline-desk h4{font-size:16px;font-weight:300;margin:0}.timeline-desk .panel{background:var(--ct-card-bg);display:block;margin-bottom:5px;margin-right:45px;position:relative;text-align:right;padding:20px;border-radius:7px}.timeline-desk .h5 span,.timeline-desk h5 span{color:#f7f7f7;display:block;font-size:12px;margin-bottom:4px}.timeline-desk p{color:#98a6ad;font-size:14px;margin-bottom:0}.timeline-desk .album{margin-top:12px}.timeline-desk .album a{float:right;margin-left:5px}.timeline-desk .album img{height:36px;width:36px;border-radius:3px}.timeline-desk .notification{background:none repeat scroll 100% 0 #fff;margin-top:20px;padding:8px}body[data-layout-color=dark] .timeline:before{background-color:rgba(152,166,173,.3)}body[data-layout-color=dark] .timeline .timeline-icon{background:#adb5bd}body[data-layout-color=dark] .timeline .timeline-icon i{color:#313844}body[data-layout-color=dark] .timeline-title.h3,body[data-layout-color=dark] h3.timeline-title{color:#adb5bd}body[data-layout-color=dark] .timeline-desk .h5 span,body[data-layout-color=dark] .timeline-desk h5 span{color:#313844}body[data-layout-color=dark] .timeline-desk p{color:#adb5bd}.inbox-rightbar{border-right:5px solid #ebeff2;padding:1.5rem 25px 1.5rem 25px}.mail-list a{color:var(--ct-dropdown-link-color);padding:9px 10px;display:block;font-size:15px}.inbox-app-main{margin-right:-20px}.circle-icon{width:30px;height:30px;text-align:center;line-height:26px;border:2px solid #98a6ad;border-radius:100px;font-size:14px;color:#98a6ad;cursor:pointer;display:block;float:right}.circle-icon:hover{color:#6e818a;border-color:#6e818a}.circle-icon.small{height:25px;width:25px;line-height:21px;font-size:11px}.circle-icon.red{color:#ff5b5b!important;border-color:#ff5b5b!important}.circle-icon.red:hover{color:#c10000;border-color:#c10000}.checkbox-wrapper-mail{cursor:pointer;height:20px;width:20px;position:relative;display:inline-block;box-shadow:inset 0 0 0 1px #98a6ad;border-radius:1px}.checkbox-wrapper-mail input{opacity:0;cursor:pointer;display:none}.checkbox-wrapper-mail input:checked~label{opacity:1}.checkbox-wrapper-mail label{position:absolute;top:3px;right:3px;left:3px;bottom:3px;cursor:pointer;background:#98a6ad;opacity:0;margin-bottom:0!important;transition-duration:50ms}.checkbox-wrapper-mail label:active{background:#6c757d}#sidebar{position:fixed;height:100%;width:240px;transition-duration:.3s;z-index:5;color:#323a46}#sidebar li a{color:#323a46}#sidebar .menu-segment{padding:0 50px}#sidebar .menu-segment li,#sidebar .menu-segment ul{margin:0;padding:0}#sidebar .menu-segment .ball.pink{border-color:#ff8acc}#sidebar .menu-segment .ball.green{border-color:#10c469}#sidebar .menu-segment .ball.blue{border-color:#71b6f9}#sidebar .menu-segment li.title{text-transform:uppercase;font-weight:600;padding:10px 0;color:#6c757d}#sidebar .menu-segment li.title .icon{float:left}#sidebar .menu-segment li.active a,#sidebar .menu-segment li.active a:hover{color:#ff5b5b;font-weight:600}#sidebar .menu-segment li a{display:block;margin:0 -50px;padding:10px 50px}#sidebar .menu-segment li a:hover{background:rgba(206,212,218,.3)}#sidebar .menu-segment li .italic-link{font-style:italic;font-weight:600}#sidebar .menu-segment .chat li a span,#sidebar .menu-segment .labels li a span{display:block;border:5px solid #ff5b5b;border-radius:100px;margin-top:6px}#sidebar .menu-segment .chat.labels li a span,#sidebar .menu-segment .labels.labels li a span{float:left}#sidebar .menu-segment .chat.chat li a span,#sidebar .menu-segment .labels.chat li a span{float:right;margin-left:10px}#sidebar .menu-segment .chat li a{padding-right:50px}#sidebar .separator{margin:30px 35px;height:1px;background:rgba(152,166,173,.5)}#sidebar .bottom-padding{height:100px}#sidebar>.nano-pane{background:0 0;width:5px}#sidebar>.nano-pane .nano-slider{background:rgba(152,166,173,.3)}#main{position:fixed;top:72px;right:490px;bottom:0;left:0;z-index:4;transition-duration:.3s;background-color:var(--ct-card-bg)}#main .overlay{position:absolute;top:0;right:-5px;left:0;bottom:100%;background:rgba(50,58,70,.6);z-index:5;opacity:0;transition-duration:0s;transition-property:opacity}#main .header{padding:12px 25px;border-bottom:1px solid rgba(152,166,173,.3);overflow:hidden}#main .header .page-title{display:block}#main .header .page-title .sidebar-toggle-btn{width:0;margin-top:1px;padding:11px 0 0 0;float:right;position:relative;display:block;cursor:pointer;transition-duration:.3s;transition-delay:.5s;opacity:0;margin-left:0}#main .header .page-title .sidebar-toggle-btn .line{height:3px;display:block;background:#ced4da;margin-bottom:4px;transition-duration:.5s;transition-delay:.5s}#main .header .page-title .sidebar-toggle-btn .line-angle1{width:8px;margin:0;position:absolute;top:15px;right:-11px;transform:rotate(60deg)}#main .header .page-title .sidebar-toggle-btn .line-angle2{width:8px;margin:0;position:absolute;top:21px;right:-11px;transform:rotate(-60deg)}#main .header .page-title .icon{font-size:15px;margin-right:20px;position:relative;top:-5px;cursor:pointer}#main .header .search-box{width:180px;height:40px;margin-right:30px;position:relative}#main .header .search-box input{position:absolute;top:0;transition-duration:.3s;left:0;bottom:0;width:100%;padding:0 0 0 36px;margin:0;text-indent:15px;height:38px;z-index:2;outline:0;color:#adb5bd;background:0 0;border:2px solid #dee2e6;border-radius:5px;transition-timing-function:cubic-bezier(.3,1.5,.6,1)}#main .header .search-box input:focus{color:#323a46;border-color:#dee2e6}#main .header .search-box input:focus~.icon{opacity:1;z-index:3;color:#10c469}#main .header .search-box input::placeholder{color:var(--ct-input-placeholder-color)}#main .header .search-box .icon{transition-duration:.3s;position:absolute;top:0;left:0;bottom:0;width:40px;text-align:center;line-height:38px;z-index:1;cursor:pointer;opacity:.5}#main .action-bar{padding:5px;overflow:hidden}#main .message-list{display:block;padding-right:0}#main .message-list li{position:relative;display:block;height:50px;line-height:50px;cursor:default;transition-duration:.3s;color:#6c757d}#main .message-list li:hover{background:#f8f9fa;transition-duration:50ms}#main .message-list li .mail-col{float:right;position:relative}#main .message-list li .mail-col-1{width:400px}#main .message-list li .mail-col-1 .checkbox-wrapper-mail,#main .message-list li .mail-col-1 .dot,#main .message-list li .mail-col-1 .star-toggle{display:block;float:right}#main .message-list li .mail-col-1 .dot{border:4px solid transparent;border-radius:100px;margin:22px 26px 0;height:0;width:0;line-height:0;font-size:0}#main .message-list li .mail-col-1 .checkbox-wrapper-mail{margin-top:15px;margin-left:10px}#main .message-list li .mail-col-1 .star-toggle{margin-top:18px;font-size:14px;margin-right:5px}#main .message-list li .mail-col-1 .title{position:absolute;top:0;right:140px;left:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#main .message-list li .mail-col-2{position:absolute;top:0;right:400px;left:0;bottom:0}#main .message-list li .mail-col-2 .date,#main .message-list li .mail-col-2 .subject{position:absolute;top:0}#main .message-list li .mail-col-2 .subject{right:0;left:200px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}#main .message-list li .mail-col-2 .date{left:0;width:200px;padding-right:80px}#main .message-list li.active,#main .message-list li.selected{background:#f8f9fa;transition-duration:50ms}#main .message-list li.active,#main .message-list li.active:hover{box-shadow:inset -3px 0 0 #71b6f9}#main .message-list li.unread{font-weight:500;color:#343a40}#main .message-list li.blue-dot .mail-col-1 .dot{border-color:#71b6f9}#main .message-list li.orange-dot .mail-col-1 .dot{border-color:#f9c851}#main .message-list li.green-dot .mail-col-1 .dot{border-color:#10c469}#main .load-more-link{display:block;text-align:center;margin:30px 0 50px 0}body[data-layout=horizontal] #main{top:132px;right:350px}@media (max-width:1024px){body[data-layout=horizontal] #main{right:270px}}@media (max-width:768px){body[data-layout=horizontal] #main{right:0;top:70px}}body[data-layout=horizontal] #message{top:132px}@media (max-width:768px){body[data-layout=horizontal] #message{top:70px}}.show-main-overlay #main .overlay{opacity:1;bottom:0;transition-duration:.5s}.show-sidebar #main .header .page-title .sidebar-toggle-btn{transition-delay:0s}.show-sidebar #main .header .page-title .sidebar-toggle-btn .line-angle1{transform:rotate(120deg)}.show-sidebar #main .header .page-title .sidebar-toggle-btn .line-angle2{transform:rotate(-120deg)}#main #main-nano-wrapper{position:absolute;top:100px;bottom:0;height:auto}#message{position:fixed;top:72px;right:60%;bottom:0;width:40%;z-index:5;transform:translateX(-200%);transition-duration:.5s;padding:20px 30px;background:var(--ct-email-msg-container-bg);box-shadow:0 0 77px 0 rgba(0,0,0,.08),0 1px 0 0 rgba(0,0,0,.02)}#message .header{padding-bottom:20px;border-bottom:2px solid rgba(152,166,173,.2)}#message .header .page-title{display:block;float:none;margin-bottom:15px;line-height:40px}#message .header .page-title .icon{margin-top:4px;margin-left:10px}#message .header .grey{margin-right:10px;color:#adb5bd}#message .message-container{padding:0 30px}#message .message-container li{padding:25px;border:1px solid var(--ct-border-color);background:var(--ct-email-msg-container-bg);margin:0 0 30px 0;position:relative}#message .message-container li .details{padding-bottom:20px;border-bottom:1px solid var(--ct-border-color);margin-bottom:30px;overflow:hidden}#message .message-container li .details .left{float:right;font-weight:600;color:#adb5bd;transition-duration:.3s}#message .message-container li .details .left .arrow{display:inline-block;position:relative;height:2px;width:20px;background:rgba(50,58,70,.15);vertical-align:top;margin:10px 15px 0 20px;border:0 solid rgba(50,58,70,.15);transition-duration:.3s}#message .message-container li .details .left .arrow:after{position:absolute;top:-4px;right:100%;height:0;width:0;border:inherit;border-width:7px;border-style:solid;content:"";border-left:0;border-top-color:transparent;border-bottom-color:transparent;border-top-width:5px;border-bottom-width:5px}#message .message-container li .details .right{float:left;color:#adb5bd}#message .message-container li .message{margin-bottom:40px}#message .message-container li .message p:last-child{margin-bottom:0}#message .message-container li:hover .tool-box .red-hover{color:#ff5b5b;border-color:#ff5b5b}#message .message-container li:hover .tool-box .red-hover:hover{color:#f40000;border-color:#f40000}#message .message-container li .tool-box{position:absolute;bottom:0;left:0;border:0 solid var(--ct-border-color);border-top-width:1px;border-right-width:1px;padding:8px 10px;transition-duration:.3s}#message .message-container li .tool-box a{margin-left:10px}#message .message-container li .tool-box a:last-child{margin-left:0}#message .message-container li:hover .details .left .arrow{background:#10c469!important;border:0 solid #10c469!important}#message .message-container li:hover .details .left .arrow.orange{background:#f9c851!important;border:0 solid #f9c851!important}#message #message-nano-wrapper{position:absolute;top:130px;bottom:0;height:auto;right:0;left:0;width:auto}.show-message #message{transform:none;transition-duration:.3s}.show-message #main{margin-left:40%}@media only screen and (min-width:1499px){#main .overlay{display:none}}@media only screen and (max-width:1500px){.show-message #main{margin-left:0}.show-message #message{right:50%;width:50%}}@media only screen and (max-width:1024px){#main{right:340px}.show-sidebar #sidebar{transform:none}.show-sidebar #main{transform:translateX(-250px)}.show-message #main{margin-left:0}}@media only screen and (max-width:768px){#sidebar{transform:translateX(100%)}#main{right:0;box-shadow:none}#main .header .page-title .sidebar-toggle-btn{margin-left:20px;opacity:1;width:20px;margin-right:10px}#main .header .page-title .sidebar-toggle-btn .line{height:2px}.show-sidebar #sidebar{transform:none}.show-sidebar #main{transform:translateX(-250px)}.show-message #main{margin-left:0}.show-message #message{right:20%;width:80%}}@media only screen and (max-width:600px){#main .header .search-box{float:none;width:100%;margin-bottom:10px;margin-top:10px;margin-right:0}#main .header .search-box input,#main .header .search-box input:focus{width:100%}#main .action-bar{float:none!important}#main .action-bar ul{margin-bottom:0;text-align:center}#main #main-nano-wrapper{position:absolute;top:150px;bottom:0;height:auto}#main .message-list li .mail-col-1{position:absolute;top:0;bottom:0;right:0;left:120px;width:auto}#main .message-list li .mail-col-2{left:0;right:auto;width:120px}#main .message-list li .mail-col-2 .date{padding-right:0;position:static}#main .message-list li .mail-col-2 .subject{display:none}}.nano{position:relative;width:100%;height:100%;overflow:hidden}.nano>.nano-content{position:absolute;overflow-x:hidden;top:0;left:0;bottom:0;right:0}.nano>.nano-content:focus{outline:0}.nano>.nano-content:-webkit-scrollbar{visibility:hidden}.nano>.nano-pane{background:rgba(152,166,173,.1);position:absolute;width:7px;left:8px;top:8px;bottom:8px;opacity:.01;border-radius:5px;transition:.3s}.nano>.nano-pane>.nano-slider{background:rgba(152,166,173,.35);position:relative;border-radius:3px;transition:.3s;transition-property:background}.nano>.nano-pane.active .nano-slider,.nano>.nano-pane:hover .nano-slider{background:#dee2e6}.has-scrollbar>.nano-content:-webkit-scrollbar{visibility:visible}.nano-pane.active,.nano-pane.flashed,.nano:hover>.nano-pane{opacity:.99}body[data-layout-mode=horizontal] #main{top:126px;right:350px}body[data-layout-color=dark] .inbox-rightbar{border-right:5px solid #ebeff2}body[data-layout-color=dark] .circle-icon{border:2px solid #adb5bd;color:#adb5bd}body[data-layout-color=dark] .circle-icon:hover{color:#838f9b;border-color:#838f9b}body[data-layout-color=dark] .checkbox-wrapper-mail{box-shadow:inset 0 0 0 1px #adb5bd}body[data-layout-color=dark] .checkbox-wrapper-mail label{background:#adb5bd}body[data-layout-color=dark] .checkbox-wrapper-mail label:active{background:#dee2e6}body[data-layout-color=dark] #sidebar{color:#f7f7f7}body[data-layout-color=dark] #sidebar li a{color:#f7f7f7}body[data-layout-color=dark] #sidebar .menu-segment li.title{color:#dee2e6}body[data-layout-color=dark] #sidebar .menu-segment li a:hover{background:rgba(108,117,125,.3)}body[data-layout-color=dark] #sidebar .separator{background:rgba(173,181,189,.5)}body[data-layout-color=dark] #sidebar>.nano-pane .nano-slider{background:rgba(173,181,189,.3)}body[data-layout-color=dark] #main .overlay{background:rgba(247,247,247,.6)}body[data-layout-color=dark] #main .header{border-bottom:1px solid rgba(173,181,189,.3)}body[data-layout-color=dark] #main .header .page-title .sidebar-toggle-btn .line{background:#6c757d}body[data-layout-color=dark] #main .header .search-box input{color:#98a6ad;border:2px solid #3a4250}body[data-layout-color=dark] #main .header .search-box input:focus{color:#f7f7f7;border-color:#3a4250}body[data-layout-color=dark] #main .message-list li{color:#adb5bd}body[data-layout-color=dark] #main .message-list li.unread{color:#f7f7f7}body[data-layout-color=dark] #main .message-list li:hover{background:#3a4250}body[data-layout-color=dark] #main .message-list li.active,body[data-layout-color=dark] #main .message-list li.selected{background:#3a4250}body[data-layout-color=dark] #message .header{border-bottom:2px solid rgba(173,181,189,.2)}body[data-layout-color=dark] #message .header .grey{color:#98a6ad}body[data-layout-color=dark] #message .message-container li .details .left{color:#98a6ad}body[data-layout-color=dark] #message .message-container li .details .left .arrow{background:rgba(247,247,247,.15);border:0 solid rgba(247,247,247,.15)}body[data-layout-color=dark] #message .message-container li .details .right{color:#98a6ad}body[data-layout-color=dark] .nano>.nano-pane{background:rgba(173,181,189,.1)}body[data-layout-color=dark] .nano>.nano-pane>.nano-slider{background:rgba(173,181,189,.35)}body[data-layout-color=dark] .nano>.nano-pane.active .nano-slider,body[data-layout-color=dark] .nano>.nano-pane:hover .nano-slider{background:#3a4250}.sitemap{list-style:none;padding-right:0}.sitemap>li>ul{margin-top:1rem;padding-right:0}.sitemap li{line-height:1.5rem;vertical-align:top;list-style:none;position:relative}.sitemap li a{text-decoration:none;color:var(--ct-dropdown-link-color);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sitemap li a i{display:inline-block}.sitemap li a:hover{color:#71b6f9}.sitemap ul{margin-right:1.5rem;margin-bottom:1rem;padding-top:10px}.sitemap ul li{position:relative}.sitemap ul li a{margin-right:2rem}.sitemap ul li:before{content:"";display:inline-block;width:1.5rem;height:1.5rem;border-bottom:1px solid var(--ct-border-color);border-right:1px solid var(--ct-border-color);position:absolute;top:-1rem}.search-result-box .tab-content{padding:30px 30px 10px 30px;box-shadow:none}.search-result-box .search-item{padding-bottom:20px;border-bottom:1px solid #f8f9fa;margin-bottom:20px}.search-result-box .nav-bordered .nav-link{padding:10px 5px!important;margin-left:10px}body[data-layout-color=dark] .search-result-box .search-item{padding-bottom:20px;border-bottom:1px solid #3a4250}.pricing-column{position:relative;margin-bottom:40px}.pricing-column .inner-box{position:relative;padding:0 0 40px}.pricing-column .plan-title{font-size:16px;color:#71b6f9;text-transform:uppercase;letter-spacing:1px;font-weight:400}.pricing-column .plan-price{font-size:40px;margin-bottom:10px;color:#323a46}.pricing-column .plan-duration{font-size:13px;color:#98a6ad}.pricing-column .plan-stats li{margin-bottom:15px;line-height:24px}.ribbon{position:absolute;right:5px;top:-5px;z-index:1;overflow:hidden;width:75px;height:75px;text-align:left}.ribbon span{font-size:10px;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;transform:rotate(45deg);width:100px;display:block;box-shadow:0 0 8px 0 rgba(50,58,70,.06),0 1px 0 0 rgba(50,58,70,.02);background:#71b6f9;position:absolute;top:19px;right:-21px}.ribbon span:before{content:"";position:absolute;right:0;top:100%;z-index:-1;border-right:3px solid #71b6f9;border-left:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #71b6f9}.ribbon span:after{content:"";position:absolute;left:0;top:100%;z-index:-1;border-right:3px solid transparent;border-left:3px solid #71b6f9;border-bottom:3px solid transparent;border-top:3px solid #71b6f9}body[data-layout-color=dark] .pricing-column .plan-price{color:#f7f7f7}body[data-layout-color=dark] .pricing-column .plan-duration{color:#adb5bd}body[data-layout-color=dark] .ribbon span{box-shadow:0 0 8px 0 rgba(247,247,247,.06),0 1px 0 0 rgba(247,247,247,.02)}.portfolioFilter a{transition:all .3s ease-out;color:#323a46;border-radius:3px;padding:5px 10px;display:inline-block;font-weight:500}.portfolioFilter a:hover{color:#71b6f9!important}.portfolioFilter a.current{color:#71b6f9!important}.thumb{background-color:var(--ct-card-bg);border-radius:3px;box-shadow:var(--ct-box-shadow-sm);margin-top:24px;padding:10px}.thumb-img{border-radius:2px;overflow:hidden}.gal-detail .h4,.gal-detail h4{margin-top:16px;font-size:16px}body[data-layout-color=dark] .portfolioFilter a{color:#f7f7f7}.counter-number{font-size:32px;font-weight:700;color:#343a40}.counter-number span{font-size:15px;font-weight:400;display:block;color:#98a6ad}.coming-box{float:right;width:25%}body[data-layout-color=dark] .counter-number{color:#f7f7f7}body[data-layout-color=dark] .counter-number span{color:#adb5bd}.profile-pills li a{color:#adb5bd!important;padding:0 10px;display:block;line-height:30px!important}.profile-pills li a i{font-size:14px}.comment-footer{display:block;font-size:12px}.comment-footer i{font-size:13px;margin-left:7px}.comment-footer,.comment-footer a{color:rgba(50,58,70,.5)}.comment-footer a:hover,.comment-footer:hover{color:#71b6f9}body[data-layout-color=dark] .profile-pills li a{color:#98a6ad!important}body[data-layout-color=dark] .comment-footer,body[data-layout-color=dark] .comment-footer a{color:rgba(247,247,247,.5)}.task-tags .bootstrap-tagsinput{padding:0;border:none;background-color:transparent}.attached-files .files-list .file-box{vertical-align:middle}.assign-team a{margin-left:7px}.fileupload{overflow:hidden;position:relative}.fileupload input.upload{cursor:pointer;font-size:20px;margin:0;opacity:0;padding:0;position:absolute;left:0;top:0}.add-new-plus{height:32px;text-align:center;width:32px;display:inline-block;line-height:32px;color:#98a6ad;font-weight:700;background-color:#dee2e6;border-radius:50%}.bootstrap-tagsinput input{color:#6c757d}.bootstrap-tagsinput input{border:none;box-shadow:none;outline:0;background-color:transparent;padding:0 6px;margin:0;width:auto;max-width:inherit}.bootstrap-tagsinput .label-info{background-color:#35b8e0;display:inline-block;font-size:13px;margin:3px 1px;padding:0 5px;border-radius:3px;font-weight:500}.bootstrap-tagsinput .tag{margin-left:2px;color:#fff}body[data-layout-color=dark] .add-new-plus{color:#adb5bd;background-color:#3a4250}body[data-layout-color=dark] .bootstrap-tagsinput input{color:#dee2e6}.taskList{min-height:40px;margin-bottom:0}.taskList>li{background-color:var(--ct-card-bg);border:1px solid #dee2e6;padding:20px;margin-bottom:15px;border-radius:3px}.taskList .kanban-detail{margin-right:35px}.taskList .kanban-detail ul li a{display:inline-block}.taskList .kanban-detail ul li a i{font-size:16px;color:#98a6ad;padding:0 5px;line-height:32px}.task-placeholder{border:1px dashed #dee2e6!important;background-color:#f7f7f7!important;padding:20px}.gu-mirror{list-style:none}body[data-layout-color=dark] .taskList>li{border:1px solid #3a4250}body[data-layout-color=dark] .taskList .kanban-detail ul li a i{color:#adb5bd}body[data-layout-color=dark] .task-placeholder{border:1px dashed #3a4250!important;background-color:#313844!important}.product-box{position:relative;overflow:hidden}.product-box .product-action{position:absolute;left:0;top:0;padding:1.5rem 1.5rem 0 1.5rem;z-index:3;opacity:0;visibility:hidden;transform:translateX(-100%);transition:all .3s ease 0s}.product-box:hover .product-action{opacity:1;visibility:visible;transform:translateX(0)}.product-box .product-info{padding-top:1.5rem}.product-box .product-price-tag{height:48px;line-height:48px;font-weight:700;font-size:20px;background-color:#f8f9fa;text-align:center;padding:0 10px;border-radius:3px}.product-thumb{padding:3px;margin-top:3px}.product-thumb.active{background-color:#6c757d!important}body[data-layout-color=dark] .product-box .product-price-tag{background-color:#3a4250}body[data-layout-color=dark] .product-thumb.active{background-color:#dee2e6!important}/*! + * Waves v0.7.6 + * http://fian.my.id/Waves + * + * Copyright 2014-2018 Alfiana E. Sibuea and other contributors + * Released under the MIT license + * https://github.com/fians/Waves/blob/master/LICENSE */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-right:-50px;opacity:0;background:rgba(0,0,0,.2);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);transition:all .5s ease-out;transition-property:transform,opacity;transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{transition:none!important}.waves-button,.waves-circle{transform:translateZ(0);-webkit-mask-image:radial-gradient(circle,#fff 100%,#000 100%);mask-image:radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button-input,.waves-button:hover,.waves-button:visited{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:rgba(0,0,0,0);font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;right:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;mask-image:none;box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);transition:all .3s}.waves-float:active{box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block}.irs{position:relative;display:block;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-size:12px}.irs-line{position:relative;display:block;overflow:hidden;outline:0!important}.irs-bar{position:absolute;display:block;width:0}.irs-shadow{position:absolute;display:none;width:0}.irs-handle{position:absolute;display:block;box-sizing:border-box;cursor:default;z-index:1}.irs-handle.type_last{z-index:2}.irs-max,.irs-min{position:absolute;display:block;cursor:default}.irs-min{right:0}.irs-max{left:0}.irs-from,.irs-single,.irs-to{position:absolute;display:block;top:0;cursor:default;white-space:nowrap}.irs-grid{position:absolute;display:none;bottom:0;width:100%;height:20px}.irs-with-grid .irs-grid{display:block}.irs-grid-pol{position:absolute;top:0;right:0;width:1px;height:8px;background:#6c757d}.irs-grid-pol.small{height:4px}.irs-grid-text{position:absolute;bottom:0;left:0;white-space:nowrap;text-align:center;font-size:9px;line-height:9px;padding:0 3px;color:#6c757d}.irs-disable-mask{position:absolute;display:block;top:0;right:-1%;width:102%;height:100%;cursor:default;background:#000;z-index:2}.lt-ie9 .irs-disable-mask{background:#6c757d;cursor:not-allowed}.irs-disabled{opacity:.4}.irs-hidden-input{position:absolute!important;display:block!important;top:0!important;right:0!important;width:0!important;height:0!important;font-size:0!important;line-height:0!important;padding:0!important;margin:0!important;overflow:hidden;outline:0!important;z-index:-9999!important;background:0 0!important;border-style:solid!important;border-color:transparent!important}.irs--flat{height:40px}.irs--flat.irs-with-grid{height:60px}.irs--flat .irs-line{top:25px;height:12px;background-color:var(--ct-progress-bg);border-radius:4px}.irs--flat .irs-bar{top:25px;height:12px;background-color:#71b6f9}.irs--flat .irs-bar--single{border-radius:4px 0 0 4px}.irs--flat .irs-shadow{height:1px;bottom:16px;background-color:var(--ct-progress-bg)}.irs--flat .irs-handle{top:22px;width:16px;height:18px;background-color:transparent}.irs--flat .irs-handle>i:first-child{position:absolute;display:block;top:0;right:50%;width:2px;height:100%;margin-right:-1px;background-color:#4fa4f8!important}.irs--flat .irs-max,.irs--flat .irs-min{top:0;padding:1px 3px;color:#6c757d;font-size:10px;line-height:1.333;text-shadow:none;background-color:var(--ct-progress-bg);border-radius:4px}.irs--flat .irs-from,.irs--flat .irs-single,.irs--flat .irs-to{color:#fff;font-size:10px;line-height:1.333;text-shadow:none;padding:1px 5px;background-color:#71b6f9;border-radius:4px}.irs--flat .irs-from:before,.irs--flat .irs-single:before,.irs--flat .irs-to:before{position:absolute;display:block;content:"";bottom:-6px;right:50%;width:0;height:0;margin-right:-3px;overflow:hidden;border:3px solid transparent;border-top-color:#71b6f9}.irs--flat .irs-grid-pol{background-color:var(--ct-progress-bg)}.irs--flat .irs-grid-text{color:#6c757d}.irs--modern .irs-line{border:none;background:var(--ct-progress-bg)}.irs--modern .irs-bar{background:#71b6f9;background:linear-gradient(to bottom,#71b6f9 0,#409df7 100%)}.irs--modern .irs-max,.irs--modern .irs-min{top:0;padding:1px 3px;color:#6c757d;font-size:10px;line-height:1.333;text-shadow:none;background-color:var(--ct-progress-bg);border-radius:4px}.irs--sharp .irs-bar,.irs--sharp .irs-from,.irs--sharp .irs-handle,.irs--sharp .irs-max,.irs--sharp .irs-min,.irs--sharp .irs-single,.irs--sharp .irs-to{background-color:#71b6f9}.irs--sharp .irs-line{background:var(--ct-progress-bg)}.irs--sharp .irs-from:before,.irs--sharp .irs-handle>i:first-child,.irs--sharp .irs-single:before,.irs--sharp .irs-to:before{border-top-color:#71b6f9}.irs--sharp .irs-handle.state_hover,.irs--sharp .irs-handle:hover{background-color:#2890f6}.irs--sharp .irs-handle.state_hover>i:first-child,.irs--sharp .irs-handle:hover>i:first-child{border-top-color:#2890f6}.irs--round .irs-bar,.irs--round .irs-from,.irs--round .irs-single,.irs--round .irs-to{background-color:#71b6f9}.irs--round .irs-bar:before,.irs--round .irs-from:before,.irs--round .irs-single:before,.irs--round .irs-to:before{border-top-color:#71b6f9}.irs--round .irs-handle{background-color:var(--ct-progress-bg);border:4px solid #71b6f9;box-shadow:0 1px 3px rgba(113,182,249,.3)}.irs--round .irs-max,.irs--round .irs-min{color:#6c757d;background-color:#dee2e6}.irs--round .irs-line{background:var(--ct-progress-bg)}.irs--square .irs-bar,.irs--square .irs-from,.irs--square .irs-single,.irs--square .irs-to{background-color:var(--ct-progress-bg)}.irs--square .irs-handle{border:3px solid #71b6f9;background-color:var(--ct-progress-bg)}.irs--square .irs-line{background:var(--ct-progress-bg)}.irs--square .irs-max,.irs--square .irs-min{top:0;padding:1px 3px;color:#6c757d;font-size:10px;line-height:1.333;text-shadow:none;background-color:var(--ct-progress-bg);border-radius:4px}body[data-layout-color=dark] .irs--flat .irs-max,body[data-layout-color=dark] .irs--flat .irs-min{color:#dee2e6}body[data-layout-color=dark] .irs--flat .irs-grid-text{color:#dee2e6}body[data-layout-color=dark] .irs--modern .irs-max,body[data-layout-color=dark] .irs--modern .irs-min{color:#dee2e6}body[data-layout-color=dark] .irs--round .irs-max,body[data-layout-color=dark] .irs--round .irs-min{color:#dee2e6;background-color:#3a4250}body[data-layout-color=dark] .irs--square .irs-max,body[data-layout-color=dark] .irs--square .irs-min{color:#dee2e6}.calendar{float:right;margin-bottom:0}#calendar .table-bordered td,#calendar .table-bordered th{border:1px solid var(--ct-table-border-color)}.none-border .modal-footer{border-top:none}.fc-toolbar{margin:10px 0 5px 0}.fc-toolbar .fc-toolbar-title{font-size:1.25rem;line-height:1.875rem;text-transform:uppercase}.fc-day-grid-event .fc-time{font-weight:500}.fc-event-time,.fc-event-title{color:#fff}th.fc-col-header-cell{padding:.3rem 0}.fc-day{background:0 0}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active,.fc-toolbar .ui-state-hover,.fc-toolbar button:focus,.fc-toolbar button:hover{z-index:0}.fc th.fc-widget-header{background:#dee2e6;font-size:13px;line-height:20px;padding:10px 0;text-transform:uppercase;font-weight:500}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#dee2e6}.fc-unthemed .fc-divider,.fc-unthemed td.fc-today{background:#dee2e6}.fc-button{background:#dee2e6;border:none;color:#6c757d;text-transform:capitalize;box-shadow:none;border-radius:3px;margin:0 3px;padding:6px 12px;height:auto}.fc-text-arrow{font-family:inherit;font-size:1rem}.fc-cell-overlay,.fc-state-highlight,.fc-state-hover{background:#dee2e6}.fc-state-active,.fc-state-disabled,.fc-state-down{background-color:#71b6f9;color:#fff;text-shadow:none}.fc-unthemed .fc-today{background:#fff}.fc-event{border-radius:2px;border:none;cursor:move;font-size:.8125rem;margin:5px 7px;padding:5px 5px;text-align:center}.external-event{cursor:move;margin:10px 0;padding:8px 10px;color:#fff;border-radius:4px}.fc-basic-view td.fc-week-number span{padding-left:8px}.fc-basic-view td.fc-day-number{padding-left:8px}.fc-basic-view .fc-content{color:#fff}.fc-time-grid-event .fc-content{color:#fff}.fc-content-skeleton .fc-day-top .fc-day-number{float:left;height:20px;width:20px;text-align:center;line-height:20px;background-color:#f8f9fa;border-radius:50%;margin:5px;font-size:11px}@media (max-width:767.98px){.fc-toolbar{display:block!important}.fc-toolbar .fc-center,.fc-toolbar .fc-left,.fc-toolbar .fc-right{float:none;display:block;clear:both;margin:10px 0}.fc .fc-toolbar>*>*{float:none}.fc-today-button{display:none}}.fc-toolbar .btn{padding:.28rem .8rem;font-size:.875rem;border-radius:.15rem}.fc-list-item-time,.fc-list-item-title{color:#fff}[dir=rtl] .fc-toolbar .btn-group .btn:first-child{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-radius:.15rem}[dir=rtl] .fc-toolbar .btn-group .btn:last-child{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-radius:.15rem}.fc .fc-daygrid-day-number{position:relative;z-index:4;margin:5px;font-size:12px}body[data-layout-color=dark] .fc th.fc-widget-header{background:#3a4250}body[data-layout-color=dark] .fc-unthemed .fc-divider,body[data-layout-color=dark] .fc-unthemed .fc-popover,body[data-layout-color=dark] .fc-unthemed .fc-row,body[data-layout-color=dark] .fc-unthemed tbody,body[data-layout-color=dark] .fc-unthemed td,body[data-layout-color=dark] .fc-unthemed th,body[data-layout-color=dark] .fc-unthemed thead{border-color:#3a4250}body[data-layout-color=dark] .fc-unthemed .fc-divider,body[data-layout-color=dark] .fc-unthemed td.fc-today{background:#3a4250}body[data-layout-color=dark] .fc-button{background:#3a4250;color:#dee2e6}body[data-layout-color=dark] .fc-cell-overlay,body[data-layout-color=dark] .fc-state-highlight,body[data-layout-color=dark] .fc-state-hover{background:#3a4250}body[data-layout-color=dark] .fc-content-skeleton .fc-day-top .fc-day-number{background-color:#3a4250}.colorpicker{background:var(--ct-dropdown-bg);box-shadow:var(--ct-box-shadow);border:1px solid var(--ct-dropdown-border-color)}.sp-picker-container .sp-alpha-handle{left:0;right:auto}.jqstooltip{box-sizing:content-box;width:auto!important;height:auto!important;background-color:#fff!important;box-shadow:var(--ct-box-shadow-lg);padding:5px 10px!important;border-radius:3px;border-color:#fff!important}.jqsfield{color:#000!important;font-size:12px!important;line-height:18px!important;font-family:Roboto,sans-serif!important;font-weight:500!important}.dataTables_wrapper.container-fluid,.dataTables_wrapper.container-lg,.dataTables_wrapper.container-md,.dataTables_wrapper.container-sm,.dataTables_wrapper.container-xl,.dataTables_wrapper.container-xxl{padding:0}.dataTables_wrapper .dataTables_filter{text-align:left!important}.dataTables_wrapper .dataTables_filter input{margin-right:.5em!important;margin-left:0!important}table.dataTable{border-collapse:collapse!important;margin-bottom:15px!important;padding-left:5px!important}table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#71b6f9}table.dataTable tbody>tr.selected td,table.dataTable tbody>tr>.selected td{border-color:#71b6f9}table.dataTable tbody td:focus{outline:0!important}table.dataTable tbody td.focus,table.dataTable tbody th.focus{outline:2px solid #71b6f9!important;outline-offset:-1px;color:#71b6f9;background-color:rgba(113,182,249,.15)}.dataTables_info{font-weight:600}table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child:before{box-shadow:var(--ct-box-shadow-lg);background-color:#10c469!important}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{background-color:#ff5b5b;top:.85rem}div.dt-button-info{background-color:#71b6f9;border:none;color:#fff;box-shadow:none;border-radius:3px;text-align:center;z-index:21}div.dt-button-info .h2,div.dt-button-info h2{border-bottom:none;background-color:rgba(255,255,255,.2);color:#fff}@media (max-width:767.98px){li.paginate_button.next,li.paginate_button.previous{display:inline-block;font-size:1.5rem}li.paginate_button{display:none}.dataTables_paginate ul{text-align:center;display:block;margin:1.5rem 0 0!important}div.dt-buttons{display:inline-table;margin-bottom:1.5rem}}table.dataTable>thead .sorting:after,table.dataTable>thead .sorting:before,table.dataTable>thead .sorting_asc:after,table.dataTable>thead .sorting_asc:before,table.dataTable>thead .sorting_asc_disabled:after,table.dataTable>thead .sorting_asc_disabled:before,table.dataTable>thead .sorting_desc:after,table.dataTable>thead .sorting_desc:before,table.dataTable>thead .sorting_desc_disabled:after,table.dataTable>thead .sorting_desc_disabled:before{bottom:1em}.daterangepicker{font-family:Roboto,sans-serif}.daterangepicker .ranges li.active,.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#71b6f9}.form-wizard-header{margin-right:-1.5rem;margin-left:-1.5rem}.select2-container .select2-selection--single{border:1px solid var(--ct-input-border-color);height:calc(1.5em + .9rem + 2px);background-color:var(--ct-input-bg);box-shadow:none;outline:0}.select2-container .select2-selection--single .select2-selection__rendered{line-height:36px;padding-right:12px;color:var(--ct-input-color);text-align:right}.select2-container .select2-selection--single .select2-selection__arrow{height:34px;width:34px;left:3px}.select2-container .select2-selection--single .select2-selection__arrow b{border-color:#adb5bd transparent transparent transparent;border-width:6px 6px 0 6px}.select2-container input::placeholder{color:var(--ct-input-placeholder-color)}.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #adb5bd transparent!important;border-width:0 6px 6px 6px!important}.select2-results__option{padding:6px 12px;text-align:right}.select2-dropdown{border:1px solid var(--ct-dropdown-border-color);box-shadow:var(--ct-box-shadow);background-color:var(--ct-dropdown-bg)}.select2-container--default .select2-search--dropdown{padding:10px;background-color:var(--ct-dropdown-bg)}.select2-container--default .select2-search--dropdown .select2-search__field{outline:0;border:1px solid var(--ct-input-border-color);background-color:var(--ct-input-bg);color:var(--ct-input-color);text-align:right}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#71b6f9}.select2-container--default .select2-results__option[aria-selected=true]{background-color:var(--ct-dropdown-bg);color:var(--ct-dropdown-link-active-color)}.select2-container--default .select2-results__option[aria-selected=true]:hover{background-color:#71b6f9;color:#fff}.select2-container .select2-selection--multiple{min-height:calc(1.5em + .9rem + 2px);border:1px solid var(--ct-input-border-color)!important;background-color:var(--ct-input-bg);box-shadow:none}.select2-container .select2-selection--multiple .select2-selection__rendered{padding:1px 10px}.select2-container .select2-selection--multiple .select2-search__field{border:0;color:var(--ct-input-color)}.select2-container .select2-selection--multiple .select2-selection__choice{background-color:#71b6f9;border:none;color:#fff;border-radius:3px;padding:0 7px;margin-top:6px}.select2-container .select2-selection--multiple .select2-selection__choice__remove{color:#fff;margin-left:5px}.select2-container .select2-selection--multiple .select2-selection__choice__remove:hover{color:#fff}.select2-container .select2-search--inline .select2-search__field{margin-top:7px}.select2-selection{overflow:hidden}.select2-selection__rendered{white-space:normal;word-break:break-all}body[data-layout-color=dark] .select2-container .select2-selection--single .select2-selection__arrow b{border-color:#98a6ad transparent transparent transparent}body[data-layout-color=dark] .select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #98a6ad transparent!important}[data-simplebar]{position:relative;flex-direction:column;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:flex-start}.simplebar-wrapper{overflow:hidden;width:inherit;height:inherit;max-width:inherit;max-height:inherit}.simplebar-mask{direction:inherit;position:absolute;overflow:hidden;padding:0;margin:0;right:0;top:0;bottom:0;left:0;width:auto!important;height:auto!important;z-index:0}.simplebar-offset{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;top:0;right:0;bottom:0;left:0;padding:0;margin:0;-webkit-overflow-scrolling:touch}.simplebar-content-wrapper{direction:inherit;box-sizing:border-box!important;position:relative;display:block;height:100%;width:auto;visibility:visible;overflow:auto;max-width:100%;max-height:100%;scrollbar-width:none}.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar{display:none}.simplebar-content:after,.simplebar-content:before{content:" ";display:table}.simplebar-placeholder{max-height:100%;max-width:100%;width:100%;pointer-events:none}.simplebar-height-auto-observer-wrapper{box-sizing:inherit!important;height:100%;width:100%;max-width:1px;position:relative;float:right;max-height:1px;overflow:hidden;z-index:-1;padding:0;margin:0;pointer-events:none;flex-grow:inherit;flex-shrink:0;flex-basis:0}.simplebar-height-auto-observer{box-sizing:inherit;display:block;opacity:0;position:absolute;top:0;right:0;height:1000%;width:1000%;min-height:1px;min-width:1px;overflow:hidden;pointer-events:none;z-index:-1}.simplebar-track{z-index:1;position:absolute;left:0;bottom:0;pointer-events:none;overflow:hidden}[data-simplebar].simplebar-dragging .simplebar-content{pointer-events:none;user-select:none;-webkit-user-select:none}[data-simplebar].simplebar-dragging .simplebar-track{pointer-events:all}.simplebar-scrollbar{position:absolute;left:2px;width:5px;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:"";background:var(--ct-menu-item-color-dark);border-radius:7px;right:0;left:0;opacity:0;transition:opacity .2s linear}.simplebar-scrollbar.simplebar-visible:before{opacity:.5;transition:opacity 0s linear}.simplebar-track.simplebar-vertical{top:0;width:11px}.simplebar-track.simplebar-vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.simplebar-horizontal{right:0;height:11px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before{height:100%;right:2px;left:2px}.simplebar-track.simplebar-horizontal .simplebar-scrollbar{left:auto;right:0;top:2px;height:7px;min-height:0;min-width:10px;width:auto}[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical{left:auto;right:0}.hs-dummy-scrollbar-size{direction:ltr;position:fixed;opacity:0;visibility:hidden;height:500px;width:500px;overflow-y:hidden;overflow-x:scroll}.simplebar-hide-scrollbar{position:fixed;right:0;visibility:hidden;overflow-y:scroll;scrollbar-width:none}.custom-scroll{height:100%}#toast-container>div{box-shadow:var(--ct-box-shadow);opacity:1}#toast-container>:hover{box-shadow:var(--ct-box-shadow);opacity:.9}.toast-primary{border:2px solid #71b6f9!important;background-color:rgba(113,182,249,.8)!important}.toast-secondary{border:2px solid #6c757d!important;background-color:rgba(108,117,125,.8)!important}.toast-success{border:2px solid #10c469!important;background-color:rgba(16,196,105,.8)!important}.toast-info{border:2px solid #35b8e0!important;background-color:rgba(53,184,224,.8)!important}.toast-warning{border:2px solid #f9c851!important;background-color:rgba(249,200,81,.8)!important}.toast-danger{border:2px solid #ff5b5b!important;background-color:rgba(255,91,91,.8)!important}.toast-light{border:2px solid #f8f9fa!important;background-color:rgba(248,249,250,.8)!important}.toast-dark{border:2px solid #323a46!important;background-color:rgba(50,58,70,.8)!important}.toast-pink{border:2px solid #ff8acc!important;background-color:rgba(255,138,204,.8)!important}.toast-purple{border:2px solid #5b69bc!important;background-color:rgba(91,105,188,.8)!important}.toast-blue{border:2px solid #71b6f9!important;background-color:rgba(113,182,249,.8)!important}.toast-error{background-color:rgba(255,91,91,.8);border:2px solid #ff5b5b}.swal2-modal{font-family:Roboto,sans-serif;box-shadow:0 10px 33px rgba(0,0,0,.1)}.swal2-modal .swal2-title{font-size:24px}.swal2-modal .swal2-content{font-size:16px}.swal2-modal .swal2-spacer{margin:10px 0}.swal2-modal .swal2-file,.swal2-modal .swal2-input,.swal2-modal .swal2-textarea{border:2px solid #dee2e6;font-size:16px;box-shadow:none}.swal2-modal .swal2-confirm{background-color:#71b6f9!important;font-size:.9rem!important}.swal2-modal .swal2-cancel.btn-cancel{background-color:#ff5b5b!important;font-size:.9rem}.swal2-modal .swal2-cancel,.swal2-modal .swal2-confirm{margin:.3125em;padding:.625em 2em;font-weight:500;box-shadow:none;font-size:.9rem!important}.swal2-modal .swal2-cancel:focus,.swal2-modal .swal2-confirm:focus{box-shadow:none!important}.swal2-modal .swal2-file:focus,.swal2-modal .swal2-input:focus,.swal2-modal .swal2-textarea:focus{outline:0;border:2px solid #71b6f9}.swal2-icon.swal2-question{color:#71b6f9!important;border-color:#71b6f9!important}.swal2-icon.swal2-success{border-color:#10c469}.swal2-icon.swal2-success .line,.swal2-icon.swal2-success [class^=swal2-success-line],.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{background-color:#10c469!important}.swal2-icon.swal2-success .placeholder,.swal2-icon.swal2-success .swal2-success-ring{border-color:#10c469!important}.swal2-icon.swal2-warning{color:#f9c851!important;border-color:#f9c851!important}.swal2-icon.swal2-error{border-color:#ff5b5b!important}.swal2-icon.swal2-error .line{background-color:#ff5b5b!important}.swal2-icon.swal2-info{border-color:#35b8e0;color:#35b8e0}.swal2-actions{margin:1.6em auto 0!important}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background-color:rgba(var(--ct-modal-backdrop-bg),.5)!important}body.swal2-shown{padding-left:0!important;padding-right:0!important}body[data-layout-color=dark] .swal2-modal .swal2-file,body[data-layout-color=dark] .swal2-modal .swal2-input,body[data-layout-color=dark] .swal2-modal .swal2-textarea{border:2px solid #3a4250}.selectize-input{min-height:calc(1.5em + .9rem + 2px);padding:.45rem .9rem;font-size:.9rem;font-weight:400;line-height:1.5;color:var(--ct-input-color);background-color:var(--ct-input-bg)!important;border:1px solid var(--ct-input-border-color);box-shadow:none}.selectize-input>input{color:var(--ct-input-color)}.selectize-input>input::placeholder{color:var(--ct-input-placeholder-color)}.selectize-input.focus{color:var(--ct-input-focus-color);background-color:var(--ct-input-focus-bg);border-color:var(--ct-input-focus-border-color);outline:0;box-shadow:none!important}.selectize-control.multi .selectize-input>div{padding:1px 8px;background:#80befa;color:#fff}.selectize-control.multi .selectize-input>div>a{color:#fff}.selectize-control.multi .selectize-input>div.active{background:#71b6f9}.selectize-control.multi .selectize-input>div.active>a{color:color-yiq(#71b6f9)}.selectize-control.single .selectize-input:after{border-style:solid;border-width:0 0 2px 2px;border-color:transparent transparent #adb5bd #adb5bd;content:"";display:block;height:7px;margin-top:-5px;pointer-events:none;position:absolute;left:15px;right:auto;top:50%;transform-origin:34% 66%;transform:rotate(-45deg);transition:all .15s ease-in-out;width:7px}.selectize-control.single .selectize-input.dropdown-active:after{border-width:0 0 2px 2px;margin-top:-5px;border-color:transparent transparent #adb5bd #adb5bd;transform:rotate(135deg)}.selectize-dropdown{padding:.3rem;color:var(--ct-dropdown-color);box-shadow:var(--ct-box-shadow);background-color:var(--ct-dropdown-bg);background-clip:padding-box;border:1px solid var(--ct-dropdown-border-color);border-radius:.25rem;animation-name:DropDownSlide;animation-duration:.3s;animation-fill-mode:both;margin:0;font-size:.875rem;position:absolute;z-index:1000}.selectize-dropdown.show{top:100%!important}.selectize-dropdown.active{color:var(--ct-dropdown-link-hover-color);background-color:var(--ct-dropdown-link-hover-bg)}.selectize-dropdown .scientific{color:#98a6ad}.selectize-dropdown .optgroup-header,.selectize-dropdown .option{display:block;width:100%;padding:.375rem 1.5rem;clear:both;cursor:pointer;font-weight:400;color:var(--ct-dropdown-link-color);text-align:inherit;white-space:nowrap;background-color:transparent}.selectize-dropdown .optgroup-header:focus,.selectize-dropdown .optgroup-header:hover,.selectize-dropdown .option:focus,.selectize-dropdown .option:hover{color:var(--ct-dropdown-link-hover-color);text-decoration:none;background-color:var(--ct-dropdown-link-hover-bg)!important}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-left-color:var(--ct-border-color)}.selectize-dropdown .optgroup:before{background-color:var(--ct-border-color)}.selectize-dropdown-header{border-bottom:1px solid transparent;color:var(--ct-dropdown-link-active-color);background-color:var(--ct-dropdown-link-active-bg);text-decoration:none}.selectize-dropdown-header .selectize-dropdown-header-close{left:12px;right:auto}.selectize-dropdown-content>div{background-color:transparent!important;color:var(--ct-input-color)!important}body[data-layout-color=dark] .selectize-control.single .selectize-input:after{border-color:transparent transparent #98a6ad #98a6ad}body[data-layout-color=dark] .selectize-control.single .selectize-input.dropdown-active:after{border-color:transparent transparent #98a6ad #98a6ad}body[data-layout-color=dark] .selectize-dropdown .scientific{color:#adb5bd}.tippy-tooltip .light-theme[data-animatefill]{background-color:transparent}.light-theme{color:color-yiq(#fff);box-shadow:var(--ct-box-shadow-lg);background-color:#fff}.light-theme .tippy-backdrop{background-color:#fff}.light-theme .tippy-roundarrow{fill:#fff}.gradient-theme .tippy-backdrop{background:#71b6f9;background:linear-gradient(to right,#ff5b5b,#71b6f9)}.tippy-popper[x-placement^=top] .tippy-tooltip.light-theme .tippy-arrow{border-top:7px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent}.tippy-popper[x-placement^=bottom] .tippy-tooltip.light-theme .tippy-arrow{border-bottom:7px solid #fff;border-left:7px solid transparent;border-right:7px solid transparent}.tippy-popper[x-placement^=left] .tippy-tooltip.light-theme .tippy-arrow{border-right:7px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}.tippy-popper[x-placement^=right] .tippy-tooltip.light-theme .tippy-arrow{border-left:7px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}div.hopscotch-bubble{background-color:#fff;border:3px solid #71b6f9;border-radius:5px;color:#6c757d;z-index:9}div.hopscotch-bubble .hopscotch-title{color:#343a40}div.hopscotch-bubble .hopscotch-next,div.hopscotch-bubble .hopscotch-prev{background-color:#71b6f9!important;background-image:none!important;border-color:#71b6f9!important;text-shadow:none!important;margin:0 5px 0 0!important;font-family:Roboto,sans-serif;color:#fff!important}div.hopscotch-bubble .hopscotch-bubble-number{background:#ff5b5b;padding:0;border-radius:50%}div.hopscotch-bubble .hopscotch-bubble-arrow-container.left .hopscotch-bubble-arrow-border{border-left:19px solid #71b6f9}div.hopscotch-bubble .hopscotch-bubble-arrow-container.left .hopscotch-bubble-arrow{border:none}div.hopscotch-bubble .hopscotch-bubble-arrow-container.right .hopscotch-bubble-arrow{border-right:19px solid #71b6f9;right:-2px}div.hopscotch-bubble .hopscotch-bubble-arrow-container.right .hopscotch-bubble-arrow-border{border-right:0 solid #71b6f9}div.hopscotch-bubble .hopscotch-bubble-arrow-container.up .hopscotch-bubble-arrow{border-bottom:19px solid #71b6f9;top:0}div.hopscotch-bubble .hopscotch-bubble-arrow-container.up .hopscotch-bubble-arrow-border{border-bottom:0 solid rgba(0,0,0,.5)}div.hopscotch-bubble .hopscotch-bubble-arrow-container.down .hopscotch-bubble-arrow{border-top:19px solid #71b6f9;top:-2px}div.hopscotch-bubble .hopscotch-bubble-arrow-container.down .hopscotch-bubble-arrow-border{border-top:0 solid rgba(0,0,0,.5)}div.hopscotch-bubble .h3,div.hopscotch-bubble h3{font-family:Karla,sans-serif;margin-bottom:10px}div.hopscotch-bubble .hopscotch-content{font-family:Roboto,sans-serif}body[data-layout-color=dark] div.hopscotch-bubble{color:var(--ct-body-color)}body[data-layout-color=dark] div.hopscotch-bubble .hopscotch-title{color:#f7f7f7}.flotTip{padding:8px 12px;background-color:rgba(50,58,70,.9);z-index:100;color:#f8f9fa;opacity:1;border-radius:3px}.legend tr{height:30px;font-family:Karla,sans-serif}.legendLabel{padding-right:5px!important;line-height:10px;padding-left:20px;font-size:13px;font-weight:500;color:#98a6ad}.legendColorBox>div{border:none!important}.legendColorBox>div div{border-radius:50%}.legend>div{background-color:var(--ct-card-bg)!important}@media (max-width:575.98px){.legendLabel{display:none}}body[data-layout-color=dark] .flotTip{background-color:rgba(247,247,247,.9);color:#3a4250}body[data-layout-color=dark] .legendLabel{color:#adb5bd}.morris-chart text{font-family:Karla,sans-serif!important;fill:#adb5bd}.morris-hover{position:absolute;z-index:10}.morris-hover.morris-default-style{font-size:12px;text-align:center;border-radius:5px;padding:10px 12px;background:#323a46;color:#f8f9fa;font-family:Roboto,sans-serif;border:none}.morris-hover.morris-default-style .morris-hover-row-label{font-weight:700;margin:.25em 0;font-family:Karla,sans-serif}.morris-hover.morris-default-style .morris-hover-point{white-space:nowrap;margin:.1em 0;color:#ced4da!important}body[data-layout-color=dark] .morris-chart text{fill:#98a6ad}body[data-layout-color=dark] .morris-hover.morris-default-style{background:#f7f7f7;color:#3a4250}body[data-layout-color=dark] .morris-hover.morris-default-style .morris-hover-point{color:#6c757d!important}.chartjs-chart{margin:auto;position:relative;width:100%}.ct-golden-section:before{float:none}.ct-chart{max-height:300px}.ct-chart .ct-label{fill:#adb5bd;color:#adb5bd;font-size:12px;line-height:1}.ct-chart.simple-pie-chart-chartist .ct-label{color:#fff;fill:#fff;font-size:16px}.ct-grid{stroke:rgba(50,58,70,.15)}.ct-chart .ct-series.ct-series-a .ct-bar,.ct-chart .ct-series.ct-series-a .ct-line,.ct-chart .ct-series.ct-series-a .ct-point,.ct-chart .ct-series.ct-series-a .ct-slice-donut{stroke:#5b69bc}.ct-chart .ct-series.ct-series-b .ct-bar,.ct-chart .ct-series.ct-series-b .ct-line,.ct-chart .ct-series.ct-series-b .ct-point,.ct-chart .ct-series.ct-series-b .ct-slice-donut{stroke:#ff8acc}.ct-chart .ct-series.ct-series-c .ct-bar,.ct-chart .ct-series.ct-series-c .ct-line,.ct-chart .ct-series.ct-series-c .ct-point,.ct-chart .ct-series.ct-series-c .ct-slice-donut{stroke:#f9c851}.ct-chart .ct-series.ct-series-d .ct-bar,.ct-chart .ct-series.ct-series-d .ct-line,.ct-chart .ct-series.ct-series-d .ct-point,.ct-chart .ct-series.ct-series-d .ct-slice-donut{stroke:#35b8e0}.ct-chart .ct-series.ct-series-e .ct-bar,.ct-chart .ct-series.ct-series-e .ct-line,.ct-chart .ct-series.ct-series-e .ct-point,.ct-chart .ct-series.ct-series-e .ct-slice-donut{stroke:#323a46}.ct-chart .ct-series.ct-series-f .ct-bar,.ct-chart .ct-series.ct-series-f .ct-line,.ct-chart .ct-series.ct-series-f .ct-point,.ct-chart .ct-series.ct-series-f .ct-slice-donut{stroke:#71b6f9}.ct-chart .ct-series.ct-series-g .ct-bar,.ct-chart .ct-series.ct-series-g .ct-line,.ct-chart .ct-series.ct-series-g .ct-point,.ct-chart .ct-series.ct-series-g .ct-slice-donut{stroke:#10c469}.ct-series-a .ct-area,.ct-series-a .ct-slice-pie{fill:#71b6f9}.ct-series-b .ct-area,.ct-series-b .ct-slice-pie{fill:#ff8acc}.ct-series-c .ct-area,.ct-series-c .ct-slice-pie{fill:#35b8e0}.ct-series-d .ct-area,.ct-series-d .ct-slice-pie{fill:#5b69bc}.ct-area{fill-opacity:.33}.chartist-tooltip{position:absolute;display:inline-block;opacity:0;min-width:10px;padding:2px 10px;border-radius:3px;background:#323a46;color:#f8f9fa;text-align:center;pointer-events:none;z-index:1;transition:opacity .2s linear}.chartist-tooltip.tooltip-show{opacity:1}body[data-layout-color=dark] .ct-chart .ct-label{fill:#98a6ad;color:#98a6ad}body[data-layout-color=dark] .ct-grid{stroke:rgba(247,247,247,.15)}body[data-layout-color=dark] .ct-chart .ct-series.ct-series-e .ct-bar,body[data-layout-color=dark] .ct-chart .ct-series.ct-series-e .ct-line,body[data-layout-color=dark] .ct-chart .ct-series.ct-series-e .ct-point,body[data-layout-color=dark] .ct-chart .ct-series.ct-series-e .ct-slice-donut{stroke:#f7f7f7}body[data-layout-color=dark] .chartist-tooltip{background:#f7f7f7;color:#3a4250}#legend{background:#fff;position:absolute;top:0;left:15px}#legend .line{color:#323a46}.rickshaw_graph svg{max-width:100%}.rickshaw_legend .label{font-family:inherit;letter-spacing:.01em;font-weight:600}.rickshaw_graph .detail .item,.rickshaw_graph .detail .x_label,.rickshaw_graph .x_tick .title{font-family:Roboto,sans-serif}.gauge-chart text{font-family:Roboto,sans-serif!important}body[data-layout-color=dark] #legend .line{color:#343a40}.responsive-table-plugin .dropdown-menu li.checkbox-row{padding:7px 15px;color:var(--ct-dropdown-link-color)}.responsive-table-plugin .table-responsive{border:none;margin-bottom:0}.responsive-table-plugin .btn-toolbar{display:block}.responsive-table-plugin tbody th{font-size:14px;font-weight:400}.responsive-table-plugin .checkbox-row{padding-right:40px}.responsive-table-plugin .checkbox-row label{display:inline-block;padding-right:5px;position:relative;margin-bottom:0}.responsive-table-plugin .checkbox-row label::before{background-color:transparent;border-radius:3px;border:1px solid #ced4da;content:"";display:inline-block;height:17px;right:0;margin-right:-20px;position:absolute;transition:.3s ease-in-out;width:17px;outline:0}.responsive-table-plugin .checkbox-row label::after{color:#ced4da;display:inline-block;font-size:9px;height:16px;right:0;margin-right:-19px;padding-right:3px;padding-top:1px;position:absolute;top:-2px;width:16px}.responsive-table-plugin .checkbox-row input[type=checkbox]{cursor:pointer;opacity:0;z-index:1;outline:0}.responsive-table-plugin .checkbox-row input[type=checkbox]:disabled+label{opacity:.65}.responsive-table-plugin .checkbox-row input[type=checkbox]:focus+label::before{outline-offset:-2px;outline:0}.responsive-table-plugin .checkbox-row input[type=checkbox]:checked+label::after{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900}.responsive-table-plugin .checkbox-row input[type=checkbox]:disabled+label::before{background-color:#dee2e6;cursor:not-allowed}.responsive-table-plugin .checkbox-row input[type=checkbox]:checked+label::before{background-color:transparent;border-color:#71b6f9}.responsive-table-plugin .checkbox-row input[type=checkbox]:checked+label::after{color:#71b6f9}.responsive-table-plugin .sticky-table-header,.responsive-table-plugin table.focus-on tbody tr.focused td,.responsive-table-plugin table.focus-on tbody tr.focused th{background:#71b6f9;--ct-table-accent-bg:$primary!important;border-color:#71b6f9;color:#fff}.responsive-table-plugin .sticky-table-header table,.responsive-table-plugin table.focus-on tbody tr.focused td table,.responsive-table-plugin table.focus-on tbody tr.focused th table{color:#fff}.responsive-table-plugin .fixed-solution .sticky-table-header{top:70px!important}.responsive-table-plugin .btn-default{background-color:#f8f9fa;color:#f8f9fa;border:1px solid rgba(50,58,70,.3)}.responsive-table-plugin .btn-default.btn-primary{background-color:#71b6f9;border-color:#71b6f9;color:#fff;box-shadow:0 0 0 2px rgba(113,182,249,.5)}.responsive-table-plugin .btn-group.pull-right{float:left}.responsive-table-plugin .btn-group.pull-right .dropdown-menu{right:auto;left:0}.no-touch .dropdown-menu>.checkbox-row:active,.no-touch .dropdown-menu>.checkbox-row:hover{color:var(--ct-dropdown-link-active-color);background-color:var(--ct-dropdown-link-active-bg)}body[data-layout-mode=horizontal] .fixed-solution .sticky-table-header{top:125px!important}body[data-layout-mode=horizontal][data-layout-menu-position=scrollable] .fixed-solution .sticky-table-header{top:0!important}body[data-layout-color=dark] .responsive-table-plugin .checkbox-row label::before{border:1px solid #6c757d}body[data-layout-color=dark] .responsive-table-plugin .checkbox-row label::after{color:#6c757d}body[data-layout-color=dark] .responsive-table-plugin .checkbox-row input[type=checkbox]:disabled+label::before{background-color:#3a4250}body[data-layout-color=dark] .responsive-table-plugin .sticky-table-header,body[data-layout-color=dark] .responsive-table-plugin table.focus-on tbody tr.focused td,body[data-layout-color=dark] .responsive-table-plugin table.focus-on tbody tr.focused th{--ct-table-accent-bg:$primary!important}body[data-layout-color=dark] .responsive-table-plugin .btn-default{background-color:#3a4250;color:#f1f5f7;border:1px solid rgba(247,247,247,.3)}.tablesaw thead{background:0 0;background-image:none;border:none}.tablesaw thead th{text-shadow:none}.tablesaw thead tr:first-child th{border:none;font-weight:500;font-family:Karla,sans-serif}.tablesaw td{border-top:1px solid #f8f9fa!important;border-bottom-width:0}.tablesaw tbody th,.tablesaw td{font-size:inherit;line-height:inherit;padding:10px!important}.tablesaw tbody tr,.tablesaw-stack tbody tr{border-bottom:none}.tablesaw-bar .btn-select.btn-micro:after,.tablesaw-bar .btn-select.btn-small:after{font-size:8px;padding-left:10px}.tablesaw-swipe .tablesaw-cell-persist{box-shadow:none;border-color:#f8f9fa}.tablesaw-enhanced .tablesaw-bar .btn{text-shadow:none;background-image:none;text-transform:none;border:1px solid #dee2e6;padding:3px 10px;color:#323a46}.tablesaw-enhanced .tablesaw-bar .btn:after{display:none}.tablesaw-enhanced .tablesaw-bar .btn.btn-select:hover{background:#fff}.tablesaw-enhanced .tablesaw-bar .btn:active,.tablesaw-enhanced .tablesaw-bar .btn:focus,.tablesaw-enhanced .tablesaw-bar .btn:hover{color:#71b6f9!important;background-color:var(--ct-table-hover-bg);outline:0!important;box-shadow:none!important;background-image:none}.tablesaw-columntoggle-popup .btn-group{display:block}.tablesaw-swipe .tablesaw-swipe-cellpersist{border-left:2px solid #f8f9fa}.tablesaw-sortable-btn{cursor:pointer}.tablesaw-swipe-cellpersist{width:auto!important}.tablesaw-bar-section label{color:inherit;margin-bottom:.5rem}body[data-layout-color=dark] .tablesaw td{border-top:1px solid #282e38!important}body[data-layout-color=dark] .tablesaw-swipe .tablesaw-cell-persist{border-color:#282e38}body[data-layout-color=dark] .tablesaw-swipe .tablesaw-swipe-cellpersist{border-left:2px solid #282e38}body[data-layout-color=dark] .tablesaw-enhanced .tablesaw-bar .btn{border:1px solid #f7f7f7;color:#3a4250}.ms-container{background:transparent url(../images/multiple-arrow.png) no-repeat 50% 50%;width:auto;max-width:370px}.ms-container .ms-list{box-shadow:none;border:1px solid var(--ct-input-border-color);box-shadow:none}.ms-container .ms-list.ms-focus{box-shadow:none;border:1px solid var(--ct-input-focus-border-color)}.ms-container .ms-selectable li.ms-elem-selectable{border:none;padding:5px 10px;color:var(--ct-dropdown-link-color)}.ms-container .ms-selectable li.ms-hover{background-color:#71b6f9;color:#fff}.ms-container .ms-selection li.ms-elem-selection{border:none;padding:5px 10px;color:var(--ct-dropdown-link-color)}.ms-container .ms-selection li.ms-hover{background-color:#71b6f9;color:#fff}.ms-selectable{box-shadow:none;outline:0!important}.ms-optgroup-label{font-weight:500;font-family:Karla,sans-serif;color:#323a46!important;font-size:13px}.ms-container .ms-selectable,.ms-container .ms-selection{background-color:var(--ct-input-bg)}body[data-layout-color=dark] .ms-optgroup-label{color:#f1f5f7!important}.autocomplete-suggestions{border:1px solid var(--ct-dropdown-border-color);background-color:var(--ct-dropdown-bg);cursor:default;overflow:auto;max-height:200px!important;box-shadow:var(--ct-box-shadow)}.autocomplete-suggestion{padding:5px 10px;white-space:nowrap;overflow:hidden}.autocomplete-no-suggestion{padding:5px}.autocomplete-selected{background:#f7f7f7;cursor:pointer}.autocomplete-suggestions strong{font-weight:700;color:#323a46}.autocomplete-group{padding:5px;font-weight:500;font-family:Karla,sans-serif}.autocomplete-group strong{font-weight:700;font-size:16px;color:#323a46;display:block}body[data-layout-color=dark] .autocomplete-selected{background:#313844}body[data-layout-color=dark] .autocomplete-suggestions strong{color:#f7f7f7}body[data-layout-color=dark] .autocomplete-group strong{font-weight:700;font-size:16px;color:#f7f7f7;display:block}.bootstrap-touchspin .btn .input-group-text{padding:0;border:none;background-color:transparent;color:inherit}.parsley-errors-list{margin:0;padding:0}.parsley-errors-list>li{list-style:none;color:#ff5b5b;margin-top:5px;padding-right:20px;position:relative}.parsley-errors-list>li:before{content:"\f0159";font-family:"Material Design Icons";position:absolute;right:2px;top:-1px}.parsley-error{border-color:#ff5b5b}.parsley-success{border-color:#10c469}.flatpickr-calendar{background:var(--ct-dropdown-bg);box-shadow:var(--ct-box-shadow);border:1px solid var(--ct-dropdown-border-color)}.flatpickr-calendar.arrowTop:before{border-bottom-color:#fff}.flatpickr-calendar.arrowTop:after{border-bottom-color:var(--ct-dropdown-bg)}.flatpickr-calendar.arrowBottom:after,.flatpickr-calendar.arrowBottom:before{border-top-color:var(--ct-dropdown-bg)}.flatpickr-current-month{font-size:110%}.flatpickr-day.endRange,.flatpickr-day.endRange.inRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.inRange,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.inRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{background:#71b6f9;border-color:#71b6f9}.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:10px 0 0 #71b6f9}.flatpickr-time .flatpickr-am-pm:focus,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time input:hover{background:var(--ct-input-bg);color:var(--ct-dropdown-link-active-color)}.flatpickr-months .flatpickr-month{height:36px}.flatpickr-months .flatpickr-month,.flatpickr-months .flatpickr-next-month,.flatpickr-months .flatpickr-prev-month{color:#adb5bd;fill:#adb5bd}.flatpickr-weekdays{background-color:var(--ct-dropdown-link-active-bg)}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover,.flatpickr-day,.flatpickr-time .flatpickr-am-pm,.flatpickr-time .flatpickr-time-separator,.flatpickr-time input,span.flatpickr-weekday{color:var(--ct-dropdown-link-color);fill:var(--ct-dropdown-link-color)}.flatpickr-day.disabled,.flatpickr-day.disabled:hover,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.nextMonthDay,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.prevMonthDay{color:var(--ct-dropdown-link-disabled-color)}.flatpickr-day.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.today.inRange,.flatpickr-day:focus,.flatpickr-day:hover{background:var(--ct-dropdown-link-hover-bg);border-color:var(--ct-dropdown-link-hover-bg)}.flatpickr-calendar.showTimeInput.hasTime .flatpickr-time{border-top:1px solid #fff}.flatpickr-current-month .flatpickr-monthDropdown-months:hover,.numInputWrapper:hover{background-color:transparent;color:var(--ct-dropdown-link-active-color)}.flatpickr-day.inRange{box-shadow:5px 0 0 var(--ct-dropdown-link-hover-bg),-5px 0 0 var(--ct-dropdown-link-hover-bg)}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:var(--ct-dropdown-link-disabled-color)}body[data-layout-color=dark] .flatpickr-months .flatpickr-month,body[data-layout-color=dark] .flatpickr-months .flatpickr-next-month,body[data-layout-color=dark] .flatpickr-months .flatpickr-prev-month{color:#98a6ad;fill:#98a6ad}.sp-container{background-color:var(--ct-dropdown-bg);z-index:9}.sp-container button{padding:.25rem .5rem;font-size:.71094rem;border-radius:.2rem;font-weight:400;color:#323a46}.sp-container button.sp-palette-toggle{background-color:#f8f9fa}.sp-container button.sp-choose{background-color:#10c469;margin-right:5px;margin-left:0}.sp-palette-container{border-left:1px solid var(--ct-border-color)}.sp-input{background-color:var(--ct-input-bg);border-color:var(--ct-input-border-color)!important;color:var(--ct-input-color)}.sp-input:focus{outline:0}.clockpicker-popover .btn-default{background-color:#71b6f9;color:#fff}.clockpicker-popover{background:var(--ct-dropdown-bg);box-shadow:var(--ct-box-shadow);border:1px solid var(--ct-dropdown-border-color)}.clockpicker-popover .popover-title{background-color:transparent;font-weight:500}.clockpicker-popover .clockpicker-plate{background:var(--ct-dropdown-link-hover-bg);border:1px solid var(--ct-dropdown-border-color)}.clockpicker-popover .popover-content{background-color:transparent}.clockpicker-tick{color:var(--ct-dropdown-link-color)}.clockpicker-tick:hover{background-color:rgba(113,182,249,.35)}.clockpicker-canvas line{stroke:#71b6f9}.clockpicker-canvas-bg{fill:rgba(113,182,249,.35)}.clockpicker-canvas-bearing,.clockpicker-canvas-fg{fill:#71b6f9}.clockpicker-button{display:block;width:100%}[dir=rtl] .sp-alpha{direction:rtl}[dir=rtl] .sp-original-input-container .sp-add-on{border:none;border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-top-right-radius:4px!important;border-bottom-right-radius:4px!important}[dir=rtl] input.spectrum.with-add-on{border:1px solid var(--ct-input-border-color);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.sp-original-input-container .sp-add-on{border:none!important}body[data-layout-color=dark] .sp-container button{color:#f7f7f7}body[data-layout-color=dark] .sp-container button.sp-palette-toggle{background-color:#3a4250}.ql-container{font-family:Roboto,sans-serif;border-bottom-right-radius:.2rem;border-bottom-left-radius:.2rem}.ql-container.ql-snow{border-color:var(--ct-input-border-color)}.ql-bubble{border:1px solid var(--ct-input-border-color);border-radius:.2rem}.ql-toolbar{font-family:Roboto,sans-serif!important;border-top-right-radius:.2rem;border-top-left-radius:.2rem}.ql-toolbar span{outline:0!important;color:#6c757d}.ql-toolbar span:hover{color:#71b6f9!important}.ql-toolbar.ql-snow{border-color:var(--ct-input-border-color)}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:transparent}.ql-toolbar.ql-snow .ql-formats{margin-left:11px;margin-right:0}.ql-snow .ql-script,.ql-snow .ql-strike svg,.ql-snow .ql-stroke{stroke:#6c757d}.ql-snow .ql-fill{fill:#6c757d}.ql-snow .ql-picker-options{background-color:var(--ct-dropdown-bg);border-color:var(--ct-dropdown-border-color)!important}.ql-editor{text-align:right;color:#98a6ad;font-weight:400}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;left:0;right:auto;top:50%;width:18px}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-right:1.5em;padding-left:0}.ql-editor li:not(.ql-direction-rtl):before{margin-right:-1.5em;margin-left:.3em;text-align:left}.ql-editor ol,.ql-editor ul{padding-right:1.5em;padding-left:0}body[data-layout-color=dark] .ql-toolbar span{color:#dee2e6}body[data-layout-color=dark] .ql-snow .ql-script,body[data-layout-color=dark] .ql-snow .ql-strike svg,body[data-layout-color=dark] .ql-snow .ql-stroke{stroke:#dee2e6}body[data-layout-color=dark] .ql-snow .ql-fill{fill:#dee2e6}body[data-layout-color=dark] .ql-editor{color:#adb5bd}.dropzone{border:2px dashed var(--ct-input-border-color);background:var(--ct-input-bg);border-radius:6px;cursor:pointer;min-height:150px;padding:20px;box-shadow:none}.dropzone .dz-message{text-align:center;margin:2rem 0}.dropzone.dz-started .dz-message{display:none}@font-face{font-family:dropify;src:url(../fonts/dropify.eot);src:url(../fonts/dropify.eot#iefix) format("embedded-opentype"),url(../fonts/dropify.woff) format("woff"),url(../fonts/dropify.ttf) format("truetype"),url(../fonts/dropify.svg#dropify) format("svg");font-weight:400;font-style:normal}.dropify-wrapper{border:2px dashed var(--ct-input-border-color);background:var(--ct-input-bg);border-radius:6px;color:var(--ct-input-color)}.dropify-wrapper:hover{background-image:linear-gradient(45deg,var(--ct-card-cap-bg) 25%,transparent 25%,transparent 50%,var(--ct-card-cap-bg) 50%,var(--ct-card-cap-bg) 75%,transparent 75%,transparent)}.dropify-wrapper .dropify-preview{background-color:#fff}body[data-layout-color=dark] .dropify-wrapper .dropify-preview{background-color:#3c4453}.editable-clear-x{background:url(../images/clear.png) center center no-repeat}.editableform-loading{background:url(../images/loading.gif) center center no-repeat}.editable-checklist label{display:block}.editable-input .form-control,.editable-input .form-select{display:inline-block}.editable-buttons{margin-right:7px}.editable-buttons .editable-cancel{margin-right:7px}.editable-checklist>div{margin-bottom:7px}.gmaps,.gmaps-panaroma{height:300px;background:#f8f9fa;border-radius:3px}.gmaps-overlay{display:block;text-align:center;color:#fff;font-size:16px;line-height:40px;background:#71b6f9;border-radius:4px;padding:10px 20px}.gmaps-overlay_arrow{right:50%;margin-right:-16px;width:0;height:0;position:absolute}.gmaps-overlay_arrow.above{bottom:-15px;border-right:16px solid transparent;border-left:16px solid transparent;border-top:16px solid #71b6f9}.gmaps-overlay_arrow.below{top:-15px;border-right:16px solid transparent;border-left:16px solid transparent;border-bottom:16px solid #71b6f9}body[data-layout-color=dark] .gmaps,body[data-layout-color=dark] .gmaps-panaroma{background:#282e38}.jvectormap-label{border:none;background:#323a46;color:#f8f9fa;font-family:Karla,sans-serif;font-size:.9rem;padding:5px 8px}body[data-layout-color=dark] .jvectormap-label{background:#343a40;color:#dee2e6}.mapael .map{position:relative}.mapael .map .zoomIn{top:25px}.mapael .map .zoomOut{top:50px}.mapael .mapTooltip{position:absolute;background-color:#71b6f9;opacity:.95;border-radius:3px;padding:2px 10px;z-index:1000;max-width:200px;display:none;color:#f8f9fa;font-family:Karla,sans-serif}.mapael .zoomIn,.mapael .zoomOut,.mapael .zoomReset{display:inline-block;text-align:center;vertical-align:middle;border-radius:2px;font-weight:500;cursor:pointer;background-color:#71b6f9;text-decoration:none;color:#fff;font-size:14px;position:absolute;top:0;right:10px;width:24px;height:24px;line-height:24px}.mapael .plotLegend text{font-family:Roboto,sans-serif!important;fill:var(--ct-text-muted)}body[data-layout-color=dark] .mapael .mapTooltip{color:#3a4250}.datepicker{padding:10px!important;animation:none}.datepicker td,.datepicker th{width:30px;height:30px;border-radius:50%}.datepicker table tr td .active.disabled:hover[disabled],.datepicker table tr td .active.disabled[disabled],.datepicker table tr td .active:active,.datepicker table tr td .active:hover,.datepicker table tr td .active:hover.active,.datepicker table tr td .active:hover.disabled,.datepicker table tr td .active:hover:active,.datepicker table tr td .active:hover:hover,.datepicker table tr td .active:hover[disabled],.datepicker table tr td .active[disabled],.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled],.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#71b6f9!important;background-image:none!important;color:#fff}.datepicker table tr td span.focused,.datepicker table tr td span:hover,.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#f7f7f7}.datepicker table tr td span.new,.datepicker table tr td span.old,.datepicker table tr td.new,.datepicker table tr td.old{color:#6c757d;opacity:.4}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#f7f7f7}.datepicker .datepicker-switch:hover{background:0 0}.datepicker-dropdown:after{border-bottom:6px solid var(--ct-dropdown-bg)}.datepicker-dropdown:before{border-bottom-color:var(--ct-dropdown-border-color)}.datepicker-dropdown.datepicker-orient-top:before{border-top:7px solid var(--ct-dropdown-border-color)}.datepicker-dropdown.datepicker-orient-top:after{border-top:6px solid var(--ct-dropdown-bg)}body[data-layout-color=dark] .datepicker table tr td span.focused,body[data-layout-color=dark] .datepicker table tr td span:hover,body[data-layout-color=dark] .datepicker table tr td.day.focused,body[data-layout-color=dark] .datepicker table tr td.day:hover{background:#313844}body[data-layout-color=dark] .datepicker table tr td span.new,body[data-layout-color=dark] .datepicker table tr td span.old,body[data-layout-color=dark] .datepicker table tr td.new,body[data-layout-color=dark] .datepicker table tr td.old{color:#dee2e6}body[data-layout-color=dark] .datepicker .datepicker-switch:hover,body[data-layout-color=dark] .datepicker .next:hover,body[data-layout-color=dark] .datepicker .prev:hover,body[data-layout-color=dark] .datepicker tfoot tr th:hover{background:#313844}.gu-mirror{position:fixed!important;margin:0!important;z-index:9999!important;opacity:.8}.gu-hide{display:none!important}.gu-unselectable{-webkit-user-select:none!important;user-select:none!important}.gu-transit{opacity:.2}.dragula-handle{position:relative;width:36px;height:36px;font-size:24px;text-align:center;cursor:move}.dragula-handle:before{content:"\f01db";font-family:"Material Design Icons";position:absolute}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(../images/jstree.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:100% 0}.jstree-default .jstree-anchor{line-height:28px;height:28px}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(../images/loading.gif) center center no-repeat}.jstree-default .jstree-icon:empty{width:24px;height:28px;line-height:28px;font-size:15px}.jstree-default .jstree-clicked,.jstree-default .jstree-wholerow-clicked{background:rgba(113,182,249,.1);box-shadow:none}.jstree-default .jstree-hovered,.jstree-default .jstree-wholerow-hovered{background:rgba(113,182,249,.15);box-shadow:none}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-wholerow{height:28px}.bootstrap-tagsinput{box-shadow:none;padding:4px 7px 4px;width:100%;background-color:var(--ct-input-bg);border-color:var(--ct-input-border-color)}.bootstrap-tagsinput input{color:var(--ct-input-color)}.bootstrap-tagsinput input::placeholder{color:var(--ct-input-color)}.bootstrap-tagsinput .label-info{background-color:#71b6f9;display:inline-block;font-size:13px;margin:3px 1px;padding:0 5px;border-radius:3px;font-weight:500} +/*# sourceMappingURL=app-rtl.min.css.map */ diff --git a/static/css/app-rtl.min.css.map b/static/css/app-rtl.min.css.map new file mode 100755 index 0000000..0a6294d --- /dev/null +++ b/static/css/app-rtl.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["custom/fonts/_fonts.scss","_light-mode.scss","_dark-mode.scss","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","app.css","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/_images.scss","_variables.scss","../../node_modules/bootstrap/scss/_containers.scss","../../node_modules/bootstrap/scss/mixins/_container.scss","../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../node_modules/bootstrap/scss/_grid.scss","../../node_modules/bootstrap/scss/mixins/_grid.scss","../../node_modules/bootstrap/scss/_tables.scss","../../node_modules/bootstrap/scss/mixins/_table-variants.scss","../../node_modules/bootstrap/scss/forms/_labels.scss","../../node_modules/bootstrap/scss/forms/_form-text.scss","../../node_modules/bootstrap/scss/forms/_form-control.scss","../../node_modules/bootstrap/scss/mixins/_transition.scss","../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../node_modules/bootstrap/scss/forms/_form-select.scss","../../node_modules/bootstrap/scss/forms/_form-check.scss","../../node_modules/bootstrap/scss/forms/_form-range.scss","../../node_modules/bootstrap/scss/forms/_floating-labels.scss","../../node_modules/bootstrap/scss/forms/_input-group.scss","../../node_modules/bootstrap/scss/mixins/_forms.scss","../../node_modules/bootstrap/scss/_buttons.scss","../../node_modules/bootstrap/scss/mixins/_buttons.scss","../../node_modules/bootstrap/scss/_transitions.scss","../../node_modules/bootstrap/scss/_dropdown.scss","../../node_modules/bootstrap/scss/_button-group.scss","../../node_modules/bootstrap/scss/_nav.scss","../../node_modules/bootstrap/scss/_navbar.scss","../../node_modules/bootstrap/scss/_card.scss","../../node_modules/bootstrap/scss/_accordion.scss","../../node_modules/bootstrap/scss/_breadcrumb.scss","../../node_modules/bootstrap/scss/_pagination.scss","../../node_modules/bootstrap/scss/mixins/_pagination.scss","../../node_modules/bootstrap/scss/_badge.scss","../../node_modules/bootstrap/scss/_alert.scss","../../node_modules/bootstrap/scss/mixins/_alert.scss","../../node_modules/bootstrap/scss/_progress.scss","../../node_modules/bootstrap/scss/_list-group.scss","../../node_modules/bootstrap/scss/mixins/_list-group.scss","../../node_modules/bootstrap/scss/_close.scss","../../node_modules/bootstrap/scss/_toasts.scss","../../node_modules/bootstrap/scss/_modal.scss","../../node_modules/bootstrap/scss/mixins/_backdrop.scss","../../node_modules/bootstrap/scss/_tooltip.scss","../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../node_modules/bootstrap/scss/_popover.scss","../../node_modules/bootstrap/scss/_carousel.scss","../../node_modules/bootstrap/scss/mixins/_clearfix.scss","../../node_modules/bootstrap/scss/_spinners.scss","../../node_modules/bootstrap/scss/_offcanvas.scss","../../node_modules/bootstrap/scss/_placeholders.scss","../../node_modules/bootstrap/scss/helpers/_colored-links.scss","../../node_modules/bootstrap/scss/helpers/_ratio.scss","../../node_modules/bootstrap/scss/helpers/_position.scss","../../node_modules/bootstrap/scss/helpers/_stacks.scss","../../node_modules/bootstrap/scss/helpers/_visually-hidden.scss","../../node_modules/bootstrap/scss/mixins/_visually-hidden.scss","../../node_modules/bootstrap/scss/helpers/_stretched-link.scss","../../node_modules/bootstrap/scss/helpers/_text-truncation.scss","../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../node_modules/bootstrap/scss/helpers/_vr.scss","../../node_modules/bootstrap/scss/mixins/_utilities.scss","../../node_modules/bootstrap/scss/utilities/_api.scss","custom/structure/_general.scss","custom/structure/_left-menu.scss","_custom-variables.scss","custom/structure/_topbar.scss","custom/structure/_page-head.scss","custom/structure/_footer.scss","custom/structure/_right-sidebar.scss","custom/structure/_layouts.scss","custom/structure/_horizontal-nav.scss","custom/components/_avatar.scss","custom/components/_helper.scss","custom/components/_social.scss","custom/components/_widgets.scss","custom/components/_print.scss","custom/components/_preloader.scss","custom/components/_alert.scss","custom/components/_accordions.scss","custom/components/_badge.scss","custom/components/_buttons.scss","custom/components/_custom-checkbox.scss","custom/components/_card.scss","custom/components/_dropdown.scss","custom/components/_forms.scss","custom/components/_modal.scss","custom/components/_nav.scss","custom/components/_pagination.scss","custom/components/_popover.scss","custom/components/_progress.scss","custom/components/_reboot.scss","custom/components/_tables.scss","custom/components/_type.scss","custom/components/_utilities.scss","custom/pages/_authentication.scss","custom/pages/_chat.scss","custom/pages/_components-demo.scss","custom/pages/_error.scss","custom/pages/_logout.scss","custom/pages/_faq.scss","custom/pages/_maintenance.scss","custom/pages/_timeline.scss","custom/pages/_email.scss","custom/pages/_sitemap.scss","custom/pages/_search-results.scss","custom/pages/_pricing.scss","custom/pages/_gallery.scss","custom/pages/_coming-soon.scss","custom/pages/_profile.scss","custom/pages/_task.scss","custom/pages/_kanbanboard.scss","custom/pages/_ecommerce.scss","custom/plugins/_waves.scss","custom/plugins/_ion-rangeslider.scss","custom/plugins/_calendar.scss","custom/plugins/_colorpicker.scss","custom/plugins/_sparkline-chart.scss","custom/plugins/_datatable.scss","custom/plugins/_daterange.scss","custom/plugins/_form-wizard.scss","custom/plugins/_select2.scss","custom/plugins/_slimscroll.scss","custom/plugins/_toaster.scss","custom/plugins/_sweetalert.scss","custom/plugins/_selectize.scss","custom/plugins/_tippy.scss","custom/plugins/_hopscotch.scss","custom/plugins/_flot.scss","custom/plugins/_morris.scss","custom/plugins/_chartjs.scss","custom/plugins/_chartist.scss","custom/plugins/_ricksaw.scss","custom/plugins/_responsive-table.scss","custom/plugins/_tablesaw.scss","custom/plugins/_multiple-select.scss","custom/plugins/_autocomplete.scss","custom/plugins/_bootstrap-touchspin.scss","custom/plugins/_parsley.scss","custom/plugins/_flatpickr.scss","custom/plugins/_clockpicker.scss","custom/plugins/_quilljs-editor.scss","custom/plugins/_dropzone.scss","custom/plugins/_dropify.scss","custom/plugins/_x-editable.scss","custom/plugins/_google-maps.scss","custom/plugins/_vector-maps.scss","custom/plugins/_mapeal-maps.scss","custom/plugins/_datepicker.scss","custom/plugins/_dragula.scss","custom/plugins/_jstree.scss"],"names":[],"mappings":"iBAIQ,wEACA,mECAR,MAOI,gBAAA,QACA,sBAAA,QAGA,kBAAA,QAGA,gBAAA,IAAA,IAAA,KAAA,IAAA,0BACA,mBAAA,EAAA,OAAA,KAAA,uBACA,mBAAA,EAAA,EAAA,KAAA,EAAA,oBACA,sBAAA,MAAA,EAAA,IAAA,IAAA,qBAGA,4BAAA,KACA,yBAAA,QAGA,gBAAA,QACA,6BAAA,QACA,cAAA,QAEA,aAAA,QAGA,iBAAA,QACA,cAAA,YACA,qBAAA,YACA,yBAAA,sBACA,sBAAA,yBACA,wBAAA,sBACA,qBAAA,QACA,uBAAA,sBACA,oBAAA,QACA,wBAAA,uBACA,iCAAA,uBACA,yBAAA,qBAGA,2BAAA,0BAGA,2BAAA,MAAA,EAAA,IAAA,IAAA,qBACA,oBAAA,qBACA,0BAAA,2BACA,6BAAA,QAGA,qBAAA,qBAGA,cAAA,KACA,uBAAA,KACA,iBAAA,QACA,wBAAA,QACA,sBAAA,2BACA,oBAAA,mBACA,8BAAA,QACA,uBAAA,sBACA,6BAAA,QACA,2BAAA,QAGA,yBAAA,mBACA,6BAAA,IAAA,MAAA,oBACA,oCAAA,iCACA,uCAAA,8BACA,2CAAA,4CACA,0CAAA,iCACA,6CAAA,8BACA,iDAAA,8BAGA,uBAAA,oBAGA,6BAAA,sBACA,0BAAA,QACA,oCAAA,6BAGA,uBAAA,sBACA,oBAAA,mBACA,gCAAA,QACA,6BAAA,QAEA,iCAAA,QAGA,yBAAA,QACA,iCAAA,MAAA,EAAA,OAAA,OAAA,mBACA,iCAAA,EAAA,MAAA,OAAA,mBACA,gCAAA,QACA,kCAAA,QAGA,4BAAA,sBACA,yBAAA,QACA,+BAAA,QAGA,6BAAA,QACA,2BAAA,QACA,sCAAA,QAAA,QAAA,gCACA,gCAAA,QACA,6BAAA,KACA,uCAAA,QAAA,QAAA,kCAGA,uBAAA,0BACA,6BAAA,0BACA,8BAAA,KACA,gCAAA,0BACA,sCAAA,yBACA,wBAAA,oBACA,8BAAA,yBACA,+BAAA,mBACA,iCAAA,mBAGA,oBAAA,QACA,iBAAA,KACA,2BAAA,QACA,yBAAA,QACA,yBAAA,EAAA,MAAA,KAAA,qBACA,yBAAA,QACA,+BAAA,QACA,4BAAA,QACA,gCAAA,QACA,6BAAA,QACA,kCAAA,QACA,2BAAA,QAGA,yBAAA,QACA,sBAAA,QACA,gCAAA,gCACA,8BAAA,8BACA,8BAAA,8BACA,oCAAA,KACA,iCAAA,0BACA,qCAAA,qCACA,kCAAA,kCACA,uCAAA,QACA,gCAAA,QAGA,sBAAA,QACA,mBAAA,KACA,6BAAA,QACA,4BAAA,2BACA,yBAAA,QACA,iCAAA,KACA,4BAAA,QACA,yBAAA,QACA,mCAAA,QACA,+BAAA,QACA,4BAAA,KACA,sCAAA,QAGA,uBAAA,QAEA,iBAAA,QACA,aAAA,KAGA,qBAAA,QACA,4BAAA,qBACA,gCAAA,QACA,mCAAA,QACA,yCAAA,mCACA,uCAAA,KAGA,mBAAA,KACA,gBAAA,KAGA,gBAAA,KACA,0BAAA,QACA,uBAAA,QAEA,wBAAA,QACA,yBAAA,KACA,+BAAA,QAGA,4BAAA,0BACA,wBAAA,mBACA,wBAAA,QACA,mCAAA,0BACA,+BAAA,oBAGA,iBAAA,KAGA,sBAAA,KACA,iCAAA,EAAA,OAAA,MAAA,mBACA,oCAAA,EAAA,MAAA,KAAA,mBACA,uBAAA,QACA,+BAAA,uBACA,+BAAA,uBAGA,iBAAA,QACA,yBAAA,2BACA,wBAAA,KACA,qBAAA,QAIA,mBAAA,KACA,6BAAA,qBACA,yBAAA,QACA,+BAAA,QACA,4BAAA,KACA,6BAAA,QACA,oCAAA,QACA,iCAAA,QAGA,kBAAA,QACA,4BAAA,QACA,0BAAA,EAAA,IAAA,IAAA,qBAGA,0BAAA,QAGA,8BAAA,QACA,6BAAA,QAGA,4BAAA,KACA,kCAAA,KACA,4BAAA,KACA,uCAAA,KACA,iCAAA,KAGA,qBAAA,KAGA,gBAAA,QAEA,eAAA,KACA,YAAA,QAUA,gBAAA,KACA,qBAAA,QACA,sBAAA,QACA,yBAAA,QAGA,+BAAA,QACA,oCAAA,yBAGA,0BAAA,QACA,gCAAA,QACA,iCAAA,KAGA,eAAA,QACA,qBAAA,QACA,sBAAA,QACA,0BAAA,QAGA,0BAAA,QAGA,iBAAA,KAGA,qBAAA,KACA,oBAAA,QAGA,0BAAA,IAAA,IAAA,KAAA,EAAA,qBAGA,sBAAA,QAGA,sBAAA,QACA,2BAAA,QAGA,eAAA,QACA,kBAAA,QACA,6BAAA,QAGA,yBAAA,KAGA,aAAA,KACA,iBAAA,QAGA,0BAAA,QACA,4BAAA,QAGA,qBAAA,yBAGA,oBAAA,QAGA,4BAAA,MCxSJ,6BAOI,aAAA,QACA,gBAAA,QAGA,gBAAA,QACA,sBAAA,QAGA,kBAAA,QAGA,gBAAA,IAAA,IAAA,KAAA,IAAA,uBACA,mBAAA,EAAA,OAAA,KAAA,uBACA,mBAAA,EAAA,EAAA,KAAA,EAAA,oBACA,sBAAA,MAAA,EAAA,IAAA,IAAA,qBAGA,4BAAA,KACA,yBAAA,QAGA,gBAAA,QACA,6BAAA,QACA,cAAA,QAEA,aAAA,QAGA,iBAAA,QACA,cAAA,YACA,qBAAA,YACA,yBAAA,sBACA,sBAAA,QACA,wBAAA,sBACA,qBAAA,QACA,uBAAA,sBACA,oBAAA,sBACA,wBAAA,uBACA,iCAAA,QACA,yBAAA,qBAGA,2BAAA,0BAGA,2BAAA,MAAA,EAAA,IAAA,IAAA,qBACA,oBAAA,qBACA,0BAAA,2BACA,6BAAA,QAGA,qBAAA,qBAGA,cAAA,QACA,uBAAA,QACA,iBAAA,QACA,wBAAA,QACA,sBAAA,2BACA,oBAAA,mBACA,8BAAA,QACA,uBAAA,sBACA,6BAAA,QACA,2BAAA,QAGA,yBAAA,mBACA,6BAAA,IAAA,MAAA,QACA,oCAAA,iCACA,uCAAA,8BACA,2CAAA,4CACA,0CAAA,iCACA,6CAAA,8BACA,iDAAA,8BAGA,uBAAA,QAGA,6BAAA,sBACA,0BAAA,QACA,oCAAA,6BAGA,uBAAA,sBACA,oBAAA,mBACA,gCAAA,QACA,6BAAA,QAEA,iCAAA,QAGA,yBAAA,QACA,iCAAA,MAAA,EAAA,OAAA,OAAA,mBACA,iCAAA,EAAA,MAAA,OAAA,mBACA,gCAAA,QACA,kCAAA,QAGA,4BAAA,sBACA,yBAAA,QACA,+BAAA,QAGA,6BAAA,QACA,2BAAA,QACA,sCAAA,QAAA,QAAA,gCACA,gCAAA,QACA,6BAAA,QACA,uCAAA,QAAA,QAAA,kCAGA,uBAAA,0BACA,6BAAA,0BACA,8BAAA,KACA,gCAAA,0BACA,sCAAA,yBACA,wBAAA,oBACA,8BAAA,yBACA,+BAAA,mBACA,iCAAA,mBAGA,oBAAA,QACA,iBAAA,QACA,2BAAA,QACA,yBAAA,QACA,yBAAA,EAAA,MAAA,KAAA,qBACA,yBAAA,QACA,+BAAA,QACA,4BAAA,QACA,gCAAA,QACA,6BAAA,QACA,kCAAA,QACA,2BAAA,QAGA,yBAAA,QACA,sBAAA,QACA,gCAAA,gCACA,8BAAA,8BACA,8BAAA,8BACA,oCAAA,KACA,iCAAA,0BACA,qCAAA,qCACA,kCAAA,kCACA,uCAAA,QACA,gCAAA,QAGA,sBAAA,QACA,mBAAA,QACA,6BAAA,QACA,4BAAA,2BACA,yBAAA,QACA,iCAAA,KACA,4BAAA,QACA,yBAAA,QACA,mCAAA,QACA,+BAAA,QACA,4BAAA,QACA,sCAAA,QAGA,uBAAA,QAEA,iBAAA,QACA,aAAA,QAGA,qBAAA,QACA,4BAAA,qBACA,gCAAA,QACA,mCAAA,QACA,yCAAA,mCACA,uCAAA,KAGA,mBAAA,KACA,gBAAA,KAGA,gBAAA,KACA,0BAAA,QACA,uBAAA,QAEA,wBAAA,QACA,yBAAA,KACA,+BAAA,QAGA,4BAAA,0BACA,wBAAA,mBACA,wBAAA,QACA,mCAAA,0BACA,+BAAA,oBAGA,iBAAA,KAGA,sBAAA,QACA,iCAAA,EAAA,OAAA,MAAA,mBACA,oCAAA,EAAA,MAAA,KAAA,mBACA,uBAAA,QACA,+BAAA,uBACA,+BAAA,uBAGA,iBAAA,QACA,yBAAA,2BACA,wBAAA,KACA,qBAAA,QAIA,mBAAA,QACA,6BAAA,qBACA,yBAAA,QACA,+BAAA,QACA,4BAAA,QACA,6BAAA,QACA,oCAAA,QACA,iCAAA,QAGA,kBAAA,QACA,4BAAA,QACA,0BAAA,EAAA,IAAA,IAAA,qBAGA,0BAAA,QAGA,8BAAA,QACA,6BAAA,QAGA,4BAAA,KACA,kCAAA,KACA,4BAAA,KACA,uCAAA,KACA,iCAAA,KAGA,qBAAA,QAGA,gBAAA,QAEA,eAAA,KACA,YAAA,QAUA,gBAAA,KACA,qBAAA,QACA,sBAAA,QACA,yBAAA,QAGA,+BAAA,QACA,oCAAA,yBAGA,0BAAA,QACA,gCAAA,QACA,iCAAA,KAGA,eAAA,QACA,qBAAA,QACA,sBAAA,QACA,0BAAA,QAGA,0BAAA,QAGA,iBAAA,QAGA,qBAAA,QACA,oBAAA,QAGA,0BAAA,IAAA,IAAA,KAAA,EAAA,eAGA,sBAAA,QAGA,sBAAA,QACA,2BAAA,QAGA,eAAA,QACA,kBAAA,QACA,6BAAA,QAGA,yBAAA,KAGA,aAAA,QACA,iBAAA,QAGA,0BAAA,QACA,4BAAA,QAGA,qBAAA,yBAGA,oBAAA,QAGA,4BAAA,QC/WJ;;;;;ACAA,MAQI,UAAA,QAAA,YAAA,QAAA,YAAA,QAAA,UAAA,QAAA,SAAA,QAAA,YAAA,QAAA,YAAA,QAAA,WAAA,QAAA,UAAA,QAAA,UAAA,QAAA,WAAA,KAAA,UAAA,QAAA,eAAA,QAIA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAIA,aAAA,QAAA,eAAA,QAAA,aAAA,QAAA,UAAA,QAAA,aAAA,QAAA,YAAA,QAAA,WAAA,QAAA,UAAA,QAAA,UAAA,QAAA,YAAA,QAAA,UAAA,QAIA,iBAAA,EAAA,CAAA,GAAA,CAAA,IAAA,mBAAA,GAAA,CAAA,GAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,GAAA,CAAA,GAAA,cAAA,EAAA,CAAA,GAAA,CAAA,IAAA,iBAAA,GAAA,CAAA,GAAA,CAAA,EAAA,gBAAA,GAAA,CAAA,EAAA,CAAA,GAAA,eAAA,GAAA,CAAA,GAAA,CAAA,IAAA,cAAA,EAAA,CAAA,EAAA,CAAA,GAGF,eAAA,GAAA,CAAA,GAAA,CAAA,IACA,eAAA,CAAA,CAAA,CAAA,CAAA,EACA,oBAAA,GAAA,CAAA,GAAA,CAAA,IACA,iBAAA,GAAA,CAAA,GAAA,CAAA,IAMA,qBAAA,QAAA,CAAA,WACA,oBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UACA,cAAA,2EAQA,sBAAA,MAAA,CAAA,WACA,oBAAA,OACA,sBAAA,IACA,sBAAA,IACA,gBAAA,QAIA,aAAA,QCnCF,ECueA,QADA,SDneE,WAAA,WAeE,8CANJ,MAOM,gBAAA,QAcN,KACE,OAAA,EACA,YAAA,2BEmPI,UAAA,yBFjPJ,YAAA,2BACA,YAAA,2BACA,MAAA,qBACA,WAAA,0BACA,iBAAA,kBACA,yBAAA,KACA,4BAAA,YAUF,GACE,OAAA,OAAA,EACA,MAAA,mBACA,iBAAA,aACA,OAAA,EACA,QAAA,EAGF,eACE,OAAA,IAUF,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,GAAA,GAAA,GACE,WAAA,EACA,cAAA,OAGA,YAAA,IACA,YAAA,IAIF,IAAA,GEwMQ,UAAA,sBAlKJ,0BFtCJ,IAAA,GE+MQ,UAAA,SF1MR,IAAA,GEmMQ,UAAA,wBAlKJ,0BFjCJ,IAAA,GE0MQ,UAAA,UFrMR,IAAA,GE8LQ,UAAA,sBAlKJ,0BF5BJ,IAAA,GEqMQ,UAAA,QFhMR,IAAA,GEqLM,UAAA,SFhLN,IAAA,GEgLM,UAAA,SF3KN,IAAA,GE2KM,UAAA,OFhKN,EACE,WAAA,EACA,cAAA,KCscF,6BD3bA,YAEE,wBAAA,UAAA,OAAA,gBAAA,UAAA,OACA,OAAA,KACA,iCAAA,KAAA,yBAAA,KAMF,QACE,cAAA,KACA,WAAA,OACA,YAAA,QAMF,GCubA,GDrbE,cAAA,KC2bF,GDxbA,GCubA,GDpbE,WAAA,EACA,cAAA,KAGF,MCwbA,MACA,MAFA,MDnbE,cAAA,EAGF,GACE,YAAA,IAKF,GACE,cAAA,MACA,aAAA,EAMF,WACE,OAAA,EAAA,EAAA,KAQF,EC6aA,OD3aE,YAAA,OAQF,OAAA,ME4EM,UAAA,OFrEN,MAAA,KACE,QAAA,KACA,iBAAA,kBASF,IC+ZA,ID7ZE,SAAA,SEwDI,UAAA,OFtDJ,YAAA,EACA,eAAA,SAGF,IAAM,OAAA,OACN,IAAM,IAAA,MAKN,EACE,MAAA,qBACA,gBAAA,KAEA,QACE,MAAA,2BAWF,2BAAA,iCAEE,MAAA,QACA,gBAAA,KC2ZJ,KACA,IDrZA,ICsZA,KDlZE,YAAA,yBEcI,UAAA,IFZJ,UAAA,IACA,aAAA,cAOF,IACE,QAAA,MACA,WAAA,EACA,cAAA,KACA,SAAA,KEAI,UAAA,MFKJ,SELI,UAAA,QFOF,MAAA,QACA,WAAA,OAIJ,KEZM,UAAA,MFcJ,MAAA,qBACA,UAAA,WAGA,OACE,MAAA,QAIJ,IACE,QAAA,MAAA,MExBI,UAAA,MF0BJ,MAAA,oBACA,iBAAA,iBG7SE,cAAA,MHgTF,QACE,QAAA,EE/BE,UAAA,IFiCF,YAAA,IASJ,OACE,OAAA,EAAA,EAAA,KAMF,ICkYA,IDhYE,eAAA,OAQF,MACE,aAAA,OACA,gBAAA,SAGF,QACE,YAAA,OACA,eAAA,OACA,MAAA,8BACA,WAAA,MAOF,GAEE,WAAA,QACA,WAAA,qBC2XF,MAGA,GAFA,MAGA,GD5XA,MC0XA,GDpXE,aAAA,QACA,aAAA,MACA,aAAA,EAQF,MACE,QAAA,aAMF,OAEE,cAAA,EAQF,iCACE,QAAA,EC6WF,ODxWA,MC0WA,SADA,OAEA,SDtWE,OAAA,EACA,YAAA,QE9HI,UAAA,QFgIJ,YAAA,QAIF,OCuWA,ODrWE,eAAA,KAKF,cACE,OAAA,QAGF,OAGE,UAAA,OAGA,gBACE,QAAA,EAOJ,0CACE,QAAA,KCiWF,cACA,aACA,cD3VA,OAIE,mBAAA,OC2VF,6BACA,4BACA,6BD1VI,sBACE,OAAA,QAON,mBACE,QAAA,EACA,aAAA,KAKF,SACE,OAAA,SAUF,SACE,UAAA,EACA,QAAA,EACA,OAAA,EACA,OAAA,EAQF,OACE,MAAA,MACA,MAAA,KACA,QAAA,EACA,cAAA,MEnNM,UAAA,sBFsNN,YAAA,QExXE,0BFiXJ,OExMQ,UAAA,QFiNN,SACE,MAAA,MCmVJ,kCD5UA,uCC2UA,mCADA,+BAGA,oCAJA,6BAKA,mCDvUE,QAAA,EAGF,4BACE,OAAA,KASF,cACE,eAAA,KACA,mBAAA,UCuUF,aACA,cDhUA,WC8TA,WAGE,UAAW,IAEb,4BDnUA,mBAAA,KCqUA,+BAGE,QAAS,EACX,uBAGE,KAAM,QACR,6BAGE,KAAM,QDjTR,mBAAA,OCmTA,OAGE,QAAS,aACX,OAGE,OAAQ,EACV,QAGE,QAAS,UDzSX,OAAA,QC2SA,SAGE,eAAgB,SAClB,SAGE,QAAS,eACX,MAGE,UAAW,SGr3Bb,YAAA,IHu3BA,WAGE,UAAW,uBGn3BX,YAAA,IFsQM,YAAA,IDinBR,0BADA,WClxBI,UAAA,MDuxBJ,WAGE,UAAW,uBG93BX,YAAA,IFsQM,YAAA,ID4nBR,0BADA,WC7xBI,UAAA,QDkyBJ,WAGE,UAAW,uBGz4BX,YAAA,IFsQM,YAAA,IDuoBR,0BADA,WCxyBI,UAAA,MD6yBJ,WAGE,UAAW,uBGp5BX,YAAA,IFsQM,YAAA,IDkpBR,0BADA,WCnzBI,UAAA,QDwzBJ,WAGE,UAAW,uBG/5BX,YAAA,IFsQM,YAAA,ID6pBR,0BADA,WC9zBI,UAAA,MDm0BJ,WAGE,UAAW,uBG16BX,YAAA,IFsQM,YAAA,IDwqBR,0BADA,WCz0BI,UAAA,QD80BJ,eAGE,cAAe,EG/5BjB,WAAA,KHi6BA,aAGE,cAAe,EG/5BjB,WAAA,KHi6BA,kBAGE,QAAS,aAEX,mCADA,YAAA,MAGA,YAGE,UAAW,OG15Bb,eAAA,UH45BA,YAGE,cAAe,EGz5BjB,UAAA,SH45BA,wBADA,cAAA,EAGA,mBAGE,WAAY,EGx5Bd,cAAA,EACE,UAAA,OACA,MAAA,kCH25BF,2BADA,QAAA,KAGA,WAGE,UAAW,KIz/Bb,OAAA,KJ2/BA,eAGE,QAAS,OIx/BX,iBAAA,uBACE,OAAA,IAAA,MCq7CkC,iCDp7ClC,cAAA,OACA,UAAA,KFGE,OAAA,KFw/BJ,QAGE,QAAS,aACX,YAGE,cAAe,OIj/BjB,YAAA,EJm/BA,gBAGE,UAAW,IIj/Bb,MAAA,+BJm/BA,WAGA,iBAGA,cACA,cACA,cAHA,cMxhCE,eN4hCA,MAAO,KACP,aAAc,0BOhiCd,cAAA,0BACA,YAAA,KACA,aAAA,KPkiCF,yBAGiB,WAAf,cQ3+BE,UAAA,OR++BJ,yBADA,WAAA,cAAA,cQ9+BI,UAAA,ORo/BJ,yBADA,WAAA,cAAA,cAAA,cQn/BI,UAAA,ORy/BJ,0BADA,WAAA,cAAA,cAAA,cAAA,cQx/BI,UAAA,QR8/BJ,0BADA,WAAA,cAAA,cAAA,cAAA,cAAA,eQ7/BI,UAAA,QRmgCJ,KADA,cAAA,OS5jCE,cAAA,ECAA,QAAA,KACA,UAAA,KACA,WAAA,8BACA,YAAA,+BAEA,aAAA,+BVikCF,OADA,YAAA,ESlkCI,MAAA,KCaF,UAAA,KACA,aAAA,8BACA,cAAA,8BACA,WAAA,mBV0jCF,KAGE,KAAM,EAAE,EAAE,GACZ,iBAGE,KAAM,EAAE,EAAE,KU5gCN,MAAA,KV8gCN,cAGE,KAAM,EAAE,EAAE,KUtiCV,MAAA,KVwiCF,cAGE,KAAM,EAAE,EAAE,KU3iCV,MAAA,IV6iCF,cAGE,KAAM,EAAE,EAAE,KUhjCV,MAAA,eVkjCF,cAGE,KAAM,EAAE,EAAE,KUrjCV,MAAA,IVujCF,cAGE,KAAM,EAAE,EAAE,KU1jCV,MAAA,IV4jCF,cAGE,KAAM,EAAE,EAAE,KU/jCV,MAAA,eVikCF,UAGE,KAAM,EAAE,EAAE,KUniCN,MAAA,KVqiCN,OAGE,KAAM,EAAE,EAAE,KUliCF,MAAA,YVoiCV,OAGE,KAAM,EAAE,EAAE,KUviCF,MAAA,aVyiCV,OAGE,KAAM,EAAE,EAAE,KU5iCF,MAAA,IV8iCV,OAGE,KAAM,EAAE,EAAE,KUjjCF,MAAA,aVmjCV,OAGE,KAAM,EAAE,EAAE,KUtjCF,MAAA,aVwjCV,OAGE,KAAM,EAAE,EAAE,KU3jCF,MAAA,IV6jCV,OAGE,KAAM,EAAE,EAAE,KUhkCF,MAAA,aVkkCV,OAGE,KAAM,EAAE,EAAE,KUrkCF,MAAA,aVukCV,OAGE,KAAM,EAAE,EAAE,KU1kCF,MAAA,IV4kCV,QAGE,KAAM,EAAE,EAAE,KU/kCF,MAAA,aVilCV,QAGE,KAAM,EAAE,EAAE,KUplCF,MAAA,aVslCV,QAGE,KAAM,EAAE,EAAE,KUzlCF,MAAA,KV2lCV,UAGE,aAAc,YAChB,UAGE,aAAc,aAChB,UAGE,aAAc,IAChB,UAGE,aAAc,aAChB,UAGE,aAAc,aAChB,UAGE,aAAc,IAChB,UAGE,aAAc,aAChB,UAGE,aAAc,aAChB,UAGE,aAAc,IAChB,WAGE,aAAc,aAChB,WAGE,aAAc,aAChB,KAGA,MUvnCQ,cAAA,EVynCR,KAGA,MUvnCQ,cAAA,EVynCR,KAGA,MUjoCQ,cAAA,QVmoCR,KAGA,MUjoCQ,cAAA,QVmoCR,KAGA,MU3oCQ,cAAA,OV6oCR,KAGA,MU3oCQ,cAAA,OV6oCR,KAGA,MUrpCQ,cAAA,KVupCR,KAGA,MUrpCQ,cAAA,KVupCR,KAGA,MU/pCQ,cAAA,OViqCR,KAGA,MU/pCQ,cAAA,OViqCR,KAGA,MUzqCQ,cAAA,KV2qCR,KAGA,MUzqCQ,cAAA,KV2qCR,yBAGE,QQtuCE,KAAA,EAAA,EAAA,GRwuCF,oBAGE,KAAM,EAAE,EAAE,KU7tCR,MAAA,KV+tCJ,iBAGE,KAAM,EAAE,EAAE,KUvvCZ,MAAA,KVyvCA,iBAGE,KAAM,EAAE,EAAE,KU5vCZ,MAAA,IV8vCA,iBAGE,KAAM,EAAE,EAAE,KUjwCZ,MAAA,eVmwCA,iBAGE,KAAM,EAAE,EAAE,KUtwCZ,MAAA,IVwwCA,iBAGE,KAAM,EAAE,EAAE,KU3wCZ,MAAA,IV6wCA,iBAGE,KAAM,EAAE,EAAE,KUhxCZ,MAAA,eVkxCA,aAGE,KAAM,EAAE,EAAE,KUpvCR,MAAA,KVsvCJ,UAGE,KAAM,EAAE,EAAE,KUnvCJ,MAAA,YVqvCR,UAGE,KAAM,EAAE,EAAE,KUxvCJ,MAAA,aV0vCR,UAGE,KAAM,EAAE,EAAE,KU7vCJ,MAAA,IV+vCR,UAGE,KAAM,EAAE,EAAE,KUlwCJ,MAAA,aVowCR,UAGE,KAAM,EAAE,EAAE,KUvwCJ,MAAA,aVywCR,UAGE,KAAM,EAAE,EAAE,KU5wCJ,MAAA,IV8wCR,UAGE,KAAM,EAAE,EAAE,KUjxCJ,MAAA,aVmxCR,UAGE,KAAM,EAAE,EAAE,KUtxCJ,MAAA,aVwxCR,UAGE,KAAM,EAAE,EAAE,KU3xCJ,MAAA,IV6xCR,WAGE,KAAM,EAAE,EAAE,KUhyCJ,MAAA,aVkyCR,WAGE,KAAM,EAAE,EAAE,KUryCJ,MAAA,aVuyCR,WAGE,KAAM,EAAE,EAAE,KU1yCJ,MAAA,KV4yCR,aAGE,aAAc,EAChB,aAGE,aAAc,YAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,cAGE,aAAc,aAChB,cAGE,aAAc,aAChB,QAGF,SU50CQ,cAAA,EV80CN,QAGF,SU50CQ,cAAA,EV80CN,QAGF,SUt1CQ,cAAA,QVw1CN,QAGF,SUt1CQ,cAAA,QVw1CN,QAGF,SUh2CQ,cAAA,OVk2CN,QAGF,SUh2CQ,cAAA,OVk2CN,QAGF,SU12CQ,cAAA,KV42CN,QAGF,SU12CQ,cAAA,KV42CN,QAGF,SUp3CQ,cAAA,OVs3CN,QAGF,SUp3CQ,cAAA,OVs3CN,QAGF,SU93CQ,cAAA,KVg4CN,QAGF,SU93CQ,cAAA,MVk4CR,yBADA,QQz7CI,KAAA,EAAA,EAAA,GR67CF,oBAGE,KAAM,EAAE,EAAE,KUl7CR,MAAA,KVo7CJ,iBAGE,KAAM,EAAE,EAAE,KU58CZ,MAAA,KV88CA,iBAGE,KAAM,EAAE,EAAE,KUj9CZ,MAAA,IVm9CA,iBAGE,KAAM,EAAE,EAAE,KUt9CZ,MAAA,eVw9CA,iBAGE,KAAM,EAAE,EAAE,KU39CZ,MAAA,IV69CA,iBAGE,KAAM,EAAE,EAAE,KUh+CZ,MAAA,IVk+CA,iBAGE,KAAM,EAAE,EAAE,KUr+CZ,MAAA,eVu+CA,aAGE,KAAM,EAAE,EAAE,KUz8CR,MAAA,KV28CJ,UAGE,KAAM,EAAE,EAAE,KUx8CJ,MAAA,YV08CR,UAGE,KAAM,EAAE,EAAE,KU78CJ,MAAA,aV+8CR,UAGE,KAAM,EAAE,EAAE,KUl9CJ,MAAA,IVo9CR,UAGE,KAAM,EAAE,EAAE,KUv9CJ,MAAA,aVy9CR,UAGE,KAAM,EAAE,EAAE,KU59CJ,MAAA,aV89CR,UAGE,KAAM,EAAE,EAAE,KUj+CJ,MAAA,IVm+CR,UAGE,KAAM,EAAE,EAAE,KUt+CJ,MAAA,aVw+CR,UAGE,KAAM,EAAE,EAAE,KU3+CJ,MAAA,aV6+CR,UAGE,KAAM,EAAE,EAAE,KUh/CJ,MAAA,IVk/CR,WAGE,KAAM,EAAE,EAAE,KUr/CJ,MAAA,aVu/CR,WAGE,KAAM,EAAE,EAAE,KU1/CJ,MAAA,aV4/CR,WAGE,KAAM,EAAE,EAAE,KU//CJ,MAAA,KVigDR,aAGE,aAAc,EAChB,aAGE,aAAc,YAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,cAGE,aAAc,aAChB,cAGE,aAAc,aAChB,QAGF,SUjiDQ,cAAA,EVmiDN,QAGF,SUjiDQ,cAAA,EVmiDN,QAGF,SU3iDQ,cAAA,QV6iDN,QAGF,SU3iDQ,cAAA,QV6iDN,QAGF,SUrjDQ,cAAA,OVujDN,QAGF,SUrjDQ,cAAA,OVujDN,QAGF,SU/jDQ,cAAA,KVikDN,QAGF,SU/jDQ,cAAA,KVikDN,QAGF,SUzkDQ,cAAA,OV2kDN,QAGF,SUzkDQ,cAAA,OV2kDN,QAGF,SUnlDQ,cAAA,KVqlDN,QAGF,SUnlDQ,cAAA,MVulDR,yBADA,QQ9oDI,KAAA,EAAA,EAAA,GRkpDF,oBAGE,KAAM,EAAE,EAAE,KUvoDR,MAAA,KVyoDJ,iBAGE,KAAM,EAAE,EAAE,KUjqDZ,MAAA,KVmqDA,iBAGE,KAAM,EAAE,EAAE,KUtqDZ,MAAA,IVwqDA,iBAGE,KAAM,EAAE,EAAE,KU3qDZ,MAAA,eV6qDA,iBAGE,KAAM,EAAE,EAAE,KUhrDZ,MAAA,IVkrDA,iBAGE,KAAM,EAAE,EAAE,KUrrDZ,MAAA,IVurDA,iBAGE,KAAM,EAAE,EAAE,KU1rDZ,MAAA,eV4rDA,aAGE,KAAM,EAAE,EAAE,KU9pDR,MAAA,KVgqDJ,UAGE,KAAM,EAAE,EAAE,KU7pDJ,MAAA,YV+pDR,UAGE,KAAM,EAAE,EAAE,KUlqDJ,MAAA,aVoqDR,UAGE,KAAM,EAAE,EAAE,KUvqDJ,MAAA,IVyqDR,UAGE,KAAM,EAAE,EAAE,KU5qDJ,MAAA,aV8qDR,UAGE,KAAM,EAAE,EAAE,KUjrDJ,MAAA,aVmrDR,UAGE,KAAM,EAAE,EAAE,KUtrDJ,MAAA,IVwrDR,UAGE,KAAM,EAAE,EAAE,KU3rDJ,MAAA,aV6rDR,UAGE,KAAM,EAAE,EAAE,KUhsDJ,MAAA,aVksDR,UAGE,KAAM,EAAE,EAAE,KUrsDJ,MAAA,IVusDR,WAGE,KAAM,EAAE,EAAE,KU1sDJ,MAAA,aV4sDR,WAGE,KAAM,EAAE,EAAE,KU/sDJ,MAAA,aVitDR,WAGE,KAAM,EAAE,EAAE,KUptDJ,MAAA,KVstDR,aAGE,aAAc,EAChB,aAGE,aAAc,YAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,cAGE,aAAc,aAChB,cAGE,aAAc,aAChB,QAGF,SUtvDQ,cAAA,EVwvDN,QAGF,SUtvDQ,cAAA,EVwvDN,QAGF,SUhwDQ,cAAA,QVkwDN,QAGF,SUhwDQ,cAAA,QVkwDN,QAGF,SU1wDQ,cAAA,OV4wDN,QAGF,SU1wDQ,cAAA,OV4wDN,QAGF,SUpxDQ,cAAA,KVsxDN,QAGF,SUpxDQ,cAAA,KVsxDN,QAGF,SU9xDQ,cAAA,OVgyDN,QAGF,SU9xDQ,cAAA,OVgyDN,QAGF,SUxyDQ,cAAA,KV0yDN,QAGF,SUxyDQ,cAAA,MV4yDR,0BADA,QQn2DI,KAAA,EAAA,EAAA,GRu2DF,oBAGE,KAAM,EAAE,EAAE,KU51DR,MAAA,KV81DJ,iBAGE,KAAM,EAAE,EAAE,KUt3DZ,MAAA,KVw3DA,iBAGE,KAAM,EAAE,EAAE,KU33DZ,MAAA,IV63DA,iBAGE,KAAM,EAAE,EAAE,KUh4DZ,MAAA,eVk4DA,iBAGE,KAAM,EAAE,EAAE,KUr4DZ,MAAA,IVu4DA,iBAGE,KAAM,EAAE,EAAE,KU14DZ,MAAA,IV44DA,iBAGE,KAAM,EAAE,EAAE,KU/4DZ,MAAA,eVi5DA,aAGE,KAAM,EAAE,EAAE,KUn3DR,MAAA,KVq3DJ,UAGE,KAAM,EAAE,EAAE,KUl3DJ,MAAA,YVo3DR,UAGE,KAAM,EAAE,EAAE,KUv3DJ,MAAA,aVy3DR,UAGE,KAAM,EAAE,EAAE,KU53DJ,MAAA,IV83DR,UAGE,KAAM,EAAE,EAAE,KUj4DJ,MAAA,aVm4DR,UAGE,KAAM,EAAE,EAAE,KUt4DJ,MAAA,aVw4DR,UAGE,KAAM,EAAE,EAAE,KU34DJ,MAAA,IV64DR,UAGE,KAAM,EAAE,EAAE,KUh5DJ,MAAA,aVk5DR,UAGE,KAAM,EAAE,EAAE,KUr5DJ,MAAA,aVu5DR,UAGE,KAAM,EAAE,EAAE,KU15DJ,MAAA,IV45DR,WAGE,KAAM,EAAE,EAAE,KU/5DJ,MAAA,aVi6DR,WAGE,KAAM,EAAE,EAAE,KUp6DJ,MAAA,aVs6DR,WAGE,KAAM,EAAE,EAAE,KUz6DJ,MAAA,KV26DR,aAGE,aAAc,EAChB,aAGE,aAAc,YAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,aAGE,aAAc,aAChB,aAGE,aAAc,aAChB,aAGE,aAAc,IAChB,cAGE,aAAc,aAChB,cAGE,aAAc,aAChB,QAGF,SU38DQ,cAAA,EV68DN,QAGF,SU38DQ,cAAA,EV68DN,QAGF,SUr9DQ,cAAA,QVu9DN,QAGF,SUr9DQ,cAAA,QVu9DN,QAGF,SU/9DQ,cAAA,OVi+DN,QAGF,SU/9DQ,cAAA,OVi+DN,QAGF,SUz+DQ,cAAA,KV2+DN,QAGF,SUz+DQ,cAAA,KV2+DN,QAGF,SUn/DQ,cAAA,OVq/DN,QAGF,SUn/DQ,cAAA,OVq/DN,QAGF,SU7/DQ,cAAA,KV+/DN,QAGF,SU7/DQ,cAAA,MVigER,0BADA,SQxjEI,KAAA,EAAA,EAAA,GR4jEF,qBAGE,KAAM,EAAE,EAAE,KUjjER,MAAA,KVmjEJ,kBAGE,KAAM,EAAE,EAAE,KU3kEZ,MAAA,KV6kEA,kBAGE,KAAM,EAAE,EAAE,KUhlEZ,MAAA,IVklEA,kBAGE,KAAM,EAAE,EAAE,KUrlEZ,MAAA,eVulEA,kBAGE,KAAM,EAAE,EAAE,KU1lEZ,MAAA,IV4lEA,kBAGE,KAAM,EAAE,EAAE,KU/lEZ,MAAA,IVimEA,kBAGE,KAAM,EAAE,EAAE,KUpmEZ,MAAA,eVsmEA,cAGE,KAAM,EAAE,EAAE,KUxkER,MAAA,KV0kEJ,WAGE,KAAM,EAAE,EAAE,KUvkEJ,MAAA,YVykER,WAGE,KAAM,EAAE,EAAE,KU5kEJ,MAAA,aV8kER,WAGE,KAAM,EAAE,EAAE,KUjlEJ,MAAA,IVmlER,WAGE,KAAM,EAAE,EAAE,KUtlEJ,MAAA,aVwlER,WAGE,KAAM,EAAE,EAAE,KU3lEJ,MAAA,aV6lER,WAGE,KAAM,EAAE,EAAE,KUhmEJ,MAAA,IVkmER,WAGE,KAAM,EAAE,EAAE,KUrmEJ,MAAA,aVumER,WAGE,KAAM,EAAE,EAAE,KU1mEJ,MAAA,aV4mER,WAGE,KAAM,EAAE,EAAE,KU/mEJ,MAAA,IVinER,YAGE,KAAM,EAAE,EAAE,KUpnEJ,MAAA,aVsnER,YAGE,KAAM,EAAE,EAAE,KUznEJ,MAAA,aV2nER,YAGE,KAAM,EAAE,EAAE,KU9nEJ,MAAA,KVgoER,cAGE,aAAc,EAChB,cAGE,aAAc,YAChB,cAGE,aAAc,aAChB,cAGE,aAAc,IAChB,cAGE,aAAc,aAChB,cAGE,aAAc,aAChB,cAGE,aAAc,IAChB,cAGE,aAAc,aAChB,cAGE,aAAc,aAChB,cAGE,aAAc,IAChB,eAGE,aAAc,aAChB,eAGE,aAAc,aAChB,SAGF,UUhqEQ,cAAA,EVkqEN,SAGF,UUhqEQ,cAAA,EVkqEN,SAGF,UU1qEQ,cAAA,QV4qEN,SAGF,UU1qEQ,cAAA,QV4qEN,SAGF,UUprEQ,cAAA,OVsrEN,SAGF,UUprEQ,cAAA,OVsrEN,SAGF,UU9rEQ,cAAA,KVgsEN,SAGF,UU9rEQ,cAAA,KVgsEN,SAGF,UUxsEQ,cAAA,OV0sEN,SAGF,UUxsEQ,cAAA,OV0sEN,SAGF,UUltEQ,cAAA,KVotEN,SAGF,UUltEQ,cAAA,MVstER,OADA,cAAA,mBWx0EA,qBAAA,0BACE,yBAAA,sBACA,sBAAA,2BACA,wBAAA,sBACA,qBAAA,0BACA,uBAAA,sBACA,oBAAA,yBACA,MAAA,KACA,cAAA,OAEA,MAAA,sBACA,eAAA,IACA,aAAA,6BX40EF,yBADA,QAAA,OAAA,OWl0EE,iBAAA,mBACE,oBAAA,IACA,WAAA,MAAA,EAAA,EAAA,EAAA,OAAA,0BXu0EJ,aADA,eAAA,QAIA,aADA,eAAA,OAIA,0BADA,WAAA,IAAA,MAAA,sCAGA,aAGE,aAAc,IAChB,4BAGE,QAAS,MAAO,MAClB,gCAGE,aAAc,IAAI,EAEpB,kCADA,aAAA,EAAA,IAGA,oCAGE,oBAAqB,EAEvB,qCADA,iBAAA,EAGA,2CAGE,qBAAsB,2BW3xEtB,MAAA,8BX6xEF,cAGE,qBAAsB,0BWtxExB,MAAA,6BXwxEA,8BAGE,qBAAsB,yBWjxEtB,MAAA,4BXmxEF,eAGE,cAAe,QYh5Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZ64EJ,iBAGE,cAAe,QY55Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZy5EJ,eAGE,cAAe,QYx6Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZq6EJ,YAGE,cAAe,QYp7Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZi7EJ,eAGE,cAAe,QYh8Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZ67EJ,cAGE,cAAe,QY58Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZy8EJ,aAGE,cAAe,QYx9Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,QACA,wBAAA,KACA,oBAAA,QACA,uBAAA,KACA,MAAA,QACA,aAAA,QZq9EJ,YAGE,cAAe,QYp+Ef,sBAAA,QAME,yBAAA,KACA,qBAAA,MACA,wBAAA,QACA,oBAAA,QACA,uBAAA,KACA,MAAA,KACA,aAAA,QZi+EJ,kBAGE,WAAY,KW71EV,2BAAA,MX+1EJ,4BAGE,qBQ36EE,WAAA,KGyEA,2BAAA,OXu2EJ,4BADA,qBQ/6EI,WAAA,KGyEA,2BAAA,OX62EJ,4BADA,qBQr7EI,WAAA,KGyEA,2BAAA,OXm3EJ,6BADA,qBQ37EI,WAAA,KGyEA,2BAAA,OXy3EJ,6BADA,sBQj8EI,WAAA,KGyEA,2BAAA,OX+3EJ,YADA,cAAA,Ma/gFA,YAAA,IbmhFA,gBAGE,YAAa,mBa5gFf,eAAA,mBACE,cAAA,EACA,UAAA,QACA,YAAA,IZoRI,YAAA,ID2vEN,mBAGE,YAAa,kBa1gFf,eAAA,kBACE,UAAA,Qb4gFF,mBAGE,YAAa,mBa1gFf,eAAA,mBACE,UAAA,Qb4gFF,WAGE,WAAY,Oc3iFd,UAAA,OACE,MAAA,0Bd6iFF,cAGE,QAAS,MejjFX,MAAA,KACE,QAAA,OAAA,MACA,UAAA,MACA,YAAA,Id8RI,YAAA,Ic3RJ,MAAA,sBACA,iBVuiB4B,mBUtiB5B,gBAAA,YACA,OAAA,IAAA,MAAA,6BACA,mBAAA,KACA,WAAA,KACA,cAAA,MfkjFA,WeljFA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YfojFF,uCAFA,cgB9iFM,WAAA,MhBqjFN,yBAFA,SAAA,OAKA,wDAFA,OAAA,QAKA,oBAFA,MAAA,4Be5iFE,iBAAA,yBACE,aAAA,mCACA,QAAA,EACA,WAAA,KfkjFJ,2CAFA,OAAA,MAKA,2BAFA,MAAA,kCehiFE,QAAA,EfsiFF,uBeniFI,wBfiiFJ,iBAAA,4BezhFE,QAAA,Ef+hFF,oCAFA,QAAA,OAAA,MephFE,OAAA,QAAA,OACE,mBAAA,MACA,kBAAA,MACA,MAAA,iCfyhFF,iBezhFE,8BACA,eAAA,KE3EF,aAAA,QF6EE,aAAA,MACA,aAAA,EACA,wBAAA,IACA,cAAA,EACA,WAAA,MAAA,KAAA,WVquBoC,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YLszDxC,uCAHA,oCgBzlFM,WAAA,MhBimFN,yEAHA,iBAAA,oCAMA,0CAHA,QAAA,OAAA,MevhFE,OAAA,QAAA,OACE,mBAAA,MACA,kBAAA,MACA,MAAA,iCf6hFF,iBe7hFE,8BACA,eAAA,KE9FF,aAAA,QFgGE,aAAA,MACA,aAAA,EACA,wBAAA,IACA,cAAA,EACA,mBAAA,MAAA,KVktBoC,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YUjtBpC,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,Yf+hFJ,uCALA,0CgB/mFM,mBAAA,KD0EJ,WAAA,MfgjFF,+EANA,iBAAA,oCAGA,wBAQE,QAAS,Me5hFX,MAAA,KACE,QAAA,OAAA,EACA,cAAA,EACA,YAAA,IACA,MAAA,gCACA,iBVsb4B,YUrb5B,OAAA,MAAA,YACA,aAAA,IAAA,EAEA,wCf6hFF,wCANA,aAAA,EerhFE,cAAA,EfyhFF,iBAQE,WAAY,2BenhFd,QAAA,OAAA,MACE,UAAA,QACA,cAAA,MfshFF,uCANA,QAAA,OAAA,Me5gFE,OAAA,QAAA,OACE,mBAAA,MACA,kBAAA,MfshFJ,6CAPA,QAAA,OAAA,Me3gFE,OAAA,QAAA,OACE,mBAAA,MACA,kBAAA,Mf8gFJ,iBAUE,WAAY,yBenhFd,QAAA,MAAA,KACE,UAAA,QACA,cAAA,MfshFF,uCARA,QAAA,MAAA,Ke1gFE,OAAA,OAAA,MACE,mBAAA,KACA,kBAAA,KfshFJ,6CATA,QAAA,MAAA,KezgFE,OAAA,OAAA,MACE,mBAAA,KACA,kBAAA,Kf4gFJ,sBAYE,WAAY,0BAEd,yBAVA,WAAA,2BAaA,yBAVA,WAAA,yBAGA,oBAYE,MAAO,Ke3gFT,OAAA,KACE,QAAA,Of8gFF,mDAVA,OAAA,QAaA,uCAVA,OAAA,Me//EE,cAAA,Mf6gFF,0CAVA,OAAA,Me9/EE,cAAA,MfkgFF,aAYE,QAAS,MkB/tFX,MAAA,KACE,QAAA,OAAA,MAAA,OAAA,OACA,mBAAA,kBACA,UAAA,MAEA,YAAA,IjB2RI,YAAA,IiBxRJ,MAAA,4BACA,iBboiB4B,yBaniB5B,iBAAA,gOACA,kBAAA,UACA,oBAAA,KAAA,MAAA,OACA,gBAAA,KAAA,KACA,OAAA,IAAA,MAAA,6BACA,cAAA,OACA,WAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YhBFE,mBAAA,KcHE,WAAA,KhBuuFN,uCAXA,agBxtFM,WAAA,MhBwuFN,mBAXA,aAAA,mCkBttFE,QAAA,EACE,WAAA,KlBquFJ,uBK90DkC,mCLm0DlC,aAAA,MkBhtFE,iBAAA,KlB+tFF,sBAXA,MAAA,qCkB9sFE,iBAAA,kCACE,aAAA,4ClB6tFJ,4BAXA,MAAA,YkB5sFE,YAAA,EAAA,EAAA,EAAA,4BlBgtFF,gBAaE,YAAa,OkBvtFf,eAAA,OACE,cAAA,MACA,UAAA,QACA,cAAA,MlB+sFF,gBAaE,YAAa,MkBvtFf,eAAA,MACE,cAAA,KACA,UAAA,QACA,cAAA,MlB+sFF,YAaE,QAAS,MmB5xFX,WAAA,QACE,cAAA,QACA,cAAA,QnB+xFF,8BAXA,MAAA,MmBhxFE,aAAA,SnBoxFF,kBAaE,MAAO,QmB3xFT,OAAA,QACE,WAAA,QACA,edw0BwC,Icv0BxC,iBAAA,8BACA,kBAAA,UACA,oBAAA,OACA,gBAAA,QACA,OAAA,kCACA,mBAAA,KACA,WAAA,KACA,2BAAA,MAAA,aAAA,MnB+xFF,iCAbA,cAAA,MAgBA,8BAbA,cAAA,IAgBA,yBAbA,OAAA,gBAgBA,wBAbA,aAAA,mCmB1wFE,QAAA,EACE,WAAA,KnB2xFJ,0BAbA,iBAAA,4CmBzwFE,aAAA,gDnB0xFF,yCAbA,iBAAA,8NAgBA,sCAbA,iBAAA,sIAgBA,+CAbA,iBAAA,8BmB9vFE,aAAA,8BACE,iBAAA,wNnB+wFJ,2BAbA,eAAA,KmBxvFE,OAAA,KACE,QAAA,GdoyBuC,6CLq+D3C,8CAbA,QAAA,GAGA,aAeE,cAAe,MAEjB,+BAbA,MAAA,ImBxuFE,aAAA,OACE,iBdixB8B,uJchxB9B,oBAAA,MAAA,OACA,cAAA,IACA,WAAA,oBAAA,KAAA,YnByvFJ,uCAbA,+BgBz0FM,WAAA,MhB21FN,qCAbA,iBAAA,uJAgBA,uCAbA,oBAAA,KAAA,OmB5uFI,iBAAA,sInBgvFJ,mBAeE,QAAS,amBnvFX,YAAA,OnByuFA,WAeE,SAAU,SmBnvFZ,KAAA,cACE,eAAA,KAEA,yBnBovFF,0BAbA,eAAA,KmBnuFI,OAAA,KACE,QAAA,InBuuFN,YAeE,MAAO,KoBl4FT,OAAA,OACE,QAAA,EACA,iBAAA,YACA,mBAAA,KACA,WAAA,KpBq4FF,kBAdA,QAAA,EAiBA,wCAdA,WAAA,EAAA,EAAA,EAAA,IAAA,OAAA,CAAA,KAiBA,oCAdA,WAAA,EAAA,EAAA,EAAA,IAAA,OAAA,CAAA,KAiBA,8BAdA,OAAA,EAiBA,kCAdA,MAAA,KoBn3FE,OAAA,KACE,Wf+6BuC,Qe96BvC,iBf86BuC,8Be76BvC,OAAA,EHzBF,cAAA,KG2BE,mBf86BuC,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YH17BvC,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YcHE,mBAAA,KAAA,WAAA,KhBu5FN,uCAhBA,kCgBn4FM,mBAAA,KIMJ,WAAA,MpBm5FF,yCAjBA,iBAAA,qCAoBA,2CAjBA,MAAA,KoBr3FE,OAAA,MACE,MAAA,YACA,OAAA,QACA,iBAAA,8BACA,aAAA,YACA,cAAA,KpB04FJ,8BAjBA,MAAA,KoBn3FE,OAAA,KACE,iBfo5BuC,8Ben5BvC,OAAA,EHnDF,cAAA,KGqDE,gBfo5BuC,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YH17BvC,WAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YcHE,WAAA,KhBm7FN,uCAlBA,8BgB75FM,gBAAA,KIiCJ,WAAA,MpBo5FF,qCAnBA,iBAAA,qCAsBA,8BAnBA,MAAA,KoBr3FE,OAAA,MACE,MAAA,YACA,OAAA,QACA,iBAAA,8BACA,aAAA,YACA,cAAA,KpB44FJ,qBAnBA,eAAA,KAsBA,2CAnBA,iBAAA,uCAsBA,uCAnBA,iBAAA,uCAGA,eAqBE,SAAU,SAEZ,6BAnBA,4BqB58FE,OAAA,mBrBk+FA,YAAa,KAEf,qBAnBA,SAAA,SqB38FE,IAAA,EACE,MAAA,EACA,OAAA,KACA,QAAA,KAAA,MACA,eAAA,KACA,OAAA,IAAA,MAAA,YACA,iBAAA,KAAA,EACA,WAAA,QAAA,IAAA,WAAA,CAAA,UAAA,IAAA,YrBk+FJ,uCAnBA,qBgB38FM,WAAA,MhBm+FN,6BAnBA,QAAA,KAAA,MAsBA,0CAnBA,MAAA,YAsBA,mCqBn+FM,qDrBg9FN,YAAA,SqB78FI,eAAA,QrBo+FJ,8CAnBA,YAAA,SqB38FI,eAAA,QrBk+FJ,4BAnBA,YAAA,SqBz8FE,eAAA,QrBg+FF,yCAnBA,2DqBr8FI,kCrB29FF,QAAS,IACT,UAAW,WAAY,mBAAoB,oBAE7C,oDAnBA,QAAA,IqBp8FI,UAAA,WAAA,mBAAA,oBrBw8FJ,aAqBE,SAAU,SsBjhGZ,QAAA,KACE,UAAA,KACA,YAAA,QACA,MAAA,KtBohGF,2BAnBA,0BsB7/FE,SAAA,StBmhGA,KAAM,EAAE,EAAE,KsBjhGR,MAAA,GACA,UAAA,EtBohGJ,iCAnBA,gCsB3/FE,QAAA,EtBkhGF,kBAnBA,SAAA,SsBv/FE,QAAA,EtB8gGF,wBAnBA,QAAA,EAGA,kBAqBE,QAAS,KsBngGX,YAAA,OACE,QAAA,OAAA,MACA,UAAA,MACA,YAAA,IrBsPI,YAAA,IqBpPJ,MAAA,kCACA,WAAA,OACA,YAAA,OACA,iBAAA,+BACA,OAAA,IAAA,MAAA,yCACA,cAAA,MtB0gGF,qBAvBA,8BAqBA,6BsB7/FA,kCtBggGE,QAAS,MAAO,KAChB,UAAW,QsB7/FX,cAAA,MtBogGF,qBAvBA,8BAqBA,6BsB7/FA,kCtBggGE,QAAS,OAAQ,MACjB,UAAW,QsB7/FX,cAAA,MtB6+FF,6BAqBA,6BsB7/FA,aAAA,OtBkgGA,uEArBA,8FsB99FI,uBAAA,EtBq/FF,0BAA2B,EAjB7B,iEAmBA,2FsBh/FI,uBAAA,EtBm/FF,0BAA2B,EAE7B,0IAnBA,aAAA,KsBv9FE,wBAAA,EACE,2BAAA,EtB29FJ,gBAqBE,QAAS,KuB5kGT,MAAA,KACE,WAAA,OACA,UAAA,OACA,MAAA,QvB4jGJ,eAqBE,SAAU,SuB3kGV,IAAA,KACE,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,MAAA,MACA,WAAA,MACA,UAAA,MACA,YAAA,ItB4PE,MAAA,KsB1PF,iBlBugB0B,oBkBtgB1B,cAvBc,MA6Bd,0BvB4kGJ,yBAvBA,sCAqBA,qCAGE,QAAS,MAjBX,uBAAA,mCAqBE,aAAc,QuB7nGZ,aAAA,oBAoDE,iBAAA,2OAGE,kBAAA,UACA,oBAAA,KAAA,uBAAA,OACA,gBAAA,qBAAA,qBAEA,6BvBykGR,yCAnBA,aAAA,QuBnjGM,WAAA,EAAA,EAAA,EAAA,OAAA,qBvBujGN,2CAAA,+BAqBE,aAAc,oBuB1oGZ,oBAAA,IAAA,uBAAA,KAAA,uBvB0nGJ,sBAAA,kCAqBE,aAAc,QK5pES,kDAAA,gDL8pEzB,8DK9pEyB,4DL2oEzB,aAAA,QuB1iGQ,iBAAA,+NAAA,CAAA,2OAEE,oBAAA,KlB40B8B,MAAA,MAAA,CAAA,OAAA,KAAA,OkB30B9B,gBAAA,KAAA,IAAA,CAAA,qBAAA,qBAEA,4BvB8jGV,wCAnBA,aAAA,QuBviGM,WAAA,EAAA,EAAA,EAAA,OAAA,qBvB2iGN,2BAAA,uCAqBE,aAAc,QK1qES,mCL4qEzB,+CAnBA,iBAAA,QKzpEyB,iCL+qEzB,6CAnBA,WAAA,EAAA,EAAA,EAAA,OAAA,qBuB9nGqB,6CvBopGrB,yDAnBA,MAAA,QAGA,qDAqBE,aAAc,KAjBhB,oCuBzpGI,mCvBypGJ,gDAqBA,+CAEE,QAAS,EuBjjGH,0CAIF,yCvB+iGN,sDAnBA,qDAsBE,QAAS,EAjBX,kBAqBE,QAAS,KuBtqGT,MAAA,KACE,WAAA,OACA,UAAA,OACA,MAAA,QvBspGJ,iBAqBE,SAAU,SuBrqGV,IAAA,KACE,QAAA,EACA,QAAA,KACA,UAAA,KACA,QAAA,MAAA,MACA,WAAA,MACA,UAAA,MACA,YAAA,ItB4PE,MAAA,KsB1PF,iBlBugB0B,mBkBtgB1B,cAvBc,MA6Bd,8BvBsqGJ,6BAvBA,0CAqBA,yCAGE,QAAS,MAjBX,yBAAA,qCAqBE,aAAc,QuBvtGZ,aAAA,oBAoDE,iBAAA,2TAGE,kBAAA,UACA,oBAAA,KAAA,uBAAA,OACA,gBAAA,qBAAA,qBAEA,+BvBmqGR,2CAnBA,aAAA,QuB7oGM,WAAA,EAAA,EAAA,EAAA,OAAA,oBvBipGN,6CAAA,iCAqBE,aAAc,oBuBpuGZ,oBAAA,IAAA,uBAAA,KAAA,uBvBotGJ,wBAAA,oCAqBE,aAAc,QKtvES,oDAAA,kDLwvEzB,gEKxvEyB,8DLquEzB,aAAA,QuBpoGQ,iBAAA,+NAAA,CAAA,2TAEE,oBAAA,KlB40B8B,MAAA,MAAA,CAAA,OAAA,KAAA,OkB30B9B,gBAAA,KAAA,IAAA,CAAA,qBAAA,qBAEA,8BvBwpGV,0CAnBA,aAAA,QuBjoGM,WAAA,EAAA,EAAA,EAAA,OAAA,oBvBqoGN,6BAAA,yCAqBE,aAAc,QKpwES,qCLswEzB,iDAnBA,iBAAA,QKnvEyB,mCLywEzB,+CAnBA,WAAA,EAAA,EAAA,EAAA,OAAA,oBuBxtGqB,+CvB8uGrB,2DAnBA,MAAA,QAGA,uDAqBE,aAAc,KAjBhB,sCuBnvGI,qCvBmvGJ,kDAqBA,iDAEE,QAAS,EuBzoGH,4CAEF,2CvByoGN,wDAnBA,uDAsBE,QAAS,EAjBX,KAqBE,QAAS,awBrxGX,YAAA,IACE,YAAA,IAEA,MAAA,QACA,WAAA,OACA,enBSS,OmBRT,OAAA,QAGA,oBAAA,KACA,YAAA,KACA,iBAAA,YxBoxGA,OwBpxGA,IAAA,MAAA,YACA,QAAA,OAAA,MACA,UAAA,MC8GA,cAAA,OxBsKI,WAAA,MALI,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YDygGV,uCApBA,KgBjwGM,WAAA,MhB0xGN,WApBA,MAAA,QAuBA,sBK/xGW,WL2wGX,QAAA,EwBnwGE,WAAA,KAGE,cxBwxGJ,cKpmFgC,uBLglFhC,eAAA,KwBtvGE,QAAA,IxB0vGF,aAsBE,MAAO,KwBhwGP,iBAAA,QCvCA,aAXQ,QzBszGV,mBApBA,MAAA,KyBlxGE,iBAAA,QACE,aAdY,QzBwzGhB,8ByBzzGiB,mBzBqyGjB,MAAA,KyBjxGE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,+BzBkyGN,gCyBlyGM,oBAAA,oBAAA,mCzB8wGN,MAAA,KyB1wGE,iBAAA,QAKE,aAlCa,QADC,qCzBi0GlB,sCyBj0GkB,0BAAA,0BAAA,yCzB6yGlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByB/vGQ,sBzBsxGR,sBApBA,MAAA,KyB7vGE,iBAAA,QAEE,aAjDe,QzBizGnB,eAsBE,MAAO,KwB9xGP,iBAAA,QCvCA,aAXQ,QzBo1GV,qBApBA,MAAA,KyBhzGE,iBAAA,QACE,aAdY,QzBs1GhB,gCyBv1GiB,qBzBm0GjB,MAAA,KyB/yGE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,iCzBg0GN,kCyBh0GM,sBAAA,sBAAA,qCzB4yGN,MAAA,KyBxyGE,iBAAA,QAKE,aAlCa,QADC,uCzB+1GlB,wCyB/1GkB,4BAAA,4BAAA,2CzB20GlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByB7xGQ,wBzBozGR,wBApBA,MAAA,KyB3xGE,iBAAA,QAEE,aAjDe,QzB+0GnB,aAsBE,MAAO,KwB5zGP,iBAAA,QCvCA,aAXQ,QzBk3GV,mBApBA,MAAA,KyB90GE,iBAAA,QACE,aAdY,QzBo3GhB,8ByBr3GiB,mBzBi2GjB,MAAA,KyB70GE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,oBA8Bf,+BzB81GN,gCyB91GM,oBAAA,oBAAA,mCzB00GN,MAAA,KyBt0GE,iBAAA,QAKE,aAlCa,QADC,qCzB63GlB,sCyB73GkB,0BAAA,0BAAA,yCzBy2GlB,WAAA,EAAA,EAAA,EAAA,OAAA,oByB3zGQ,sBzBk1GR,sBApBA,MAAA,KyBzzGE,iBAAA,QAEE,aAjDe,QzB62GnB,UAsBE,MAAO,KwB11GP,iBAAA,QCvCA,aAXQ,QzBg5GV,gBApBA,MAAA,KyB52GE,iBAAA,QACE,aAdY,QzBk5GhB,2ByBn5GiB,gBzB+3GjB,MAAA,KyB32GE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,oBA8Bf,4BzB43GN,6ByB53GM,iBAAA,iBAAA,gCzBw2GN,MAAA,KyBp2GE,iBAAA,QAKE,aAlCa,QADC,kCzB25GlB,mCyB35GkB,uBAAA,uBAAA,sCzBu4GlB,WAAA,EAAA,EAAA,EAAA,OAAA,oByBz1GQ,mBzBg3GR,mBApBA,MAAA,KyBv1GE,iBAAA,QAEE,aAjDe,QzB24GnB,aAsBE,MAAO,QwBx3GP,iBAAA,QCvCA,aAXQ,QzB86GV,mBApBA,MAAA,QyB14GE,iBAAA,QACE,aAdY,QzBg7GhB,8ByBj7GiB,mBzB65GjB,MAAA,QyBz4GE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,oBA8Bf,+BzB05GN,gCyB15GM,oBAAA,oBAAA,mCzBs4GN,MAAA,QyBl4GE,iBAAA,QAKE,aAlCa,QADC,qCzBy7GlB,sCyBz7GkB,0BAAA,0BAAA,yCzBq6GlB,WAAA,EAAA,EAAA,EAAA,OAAA,oByBv3GQ,sBzB84GR,sBApBA,MAAA,QyBr3GE,iBAAA,QAEE,aAjDe,QzBy6GnB,YAsBE,MAAO,KwBt5GP,iBAAA,QCvCA,aAXQ,QzB48GV,kBApBA,MAAA,KyBx6GE,iBAAA,QACE,aAdY,QzB88GhB,6ByB/8GiB,kBzB27GjB,MAAA,KyBv6GE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,8BzBw7GN,+ByBx7GM,mBAAA,mBAAA,kCzBo6GN,MAAA,KyBh6GE,iBAAA,QAKE,aAlCa,QADC,oCzBu9GlB,qCyBv9GkB,yBAAA,yBAAA,wCzBm8GlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByBr5GQ,qBzB46GR,qBApBA,MAAA,KyBn5GE,iBAAA,QAEE,aAjDe,QzBu8GnB,WAsBE,MAAO,QwBp7GP,iBAAA,QCvCA,aAXQ,QzB0+GV,iBApBA,MAAA,QyBt8GE,iBAAA,QACE,aAdY,QzB4+GhB,4ByB7+GiB,iBzBy9GjB,MAAA,QyBr8GE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,6BzBs9GN,8ByBt9GM,kBAAA,kBAAA,iCzBk8GN,MAAA,QyB97GE,iBAAA,QAKE,aAlCa,QADC,mCzBq/GlB,oCyBr/GkB,wBAAA,wBAAA,uCzBi+GlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByBn7GQ,oBzB08GR,oBApBA,MAAA,QyBj7GE,iBAAA,QAEE,aAjDe,QzBq+GnB,UAsBE,MAAO,KwBl9GP,iBAAA,QCvCA,aAXQ,QzBwgHV,gBApBA,MAAA,KyBp+GE,iBAAA,QACE,aAdY,QzB0gHhB,2ByB3gHiB,gBzBu/GjB,MAAA,KyBn+GE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,kBA8Bf,4BzBo/GN,6ByBp/GM,iBAAA,iBAAA,gCzBg+GN,MAAA,KyB59GE,iBAAA,QAKE,aAlCa,QADC,kCzBmhHlB,mCyBnhHkB,uBAAA,uBAAA,sCzB+/GlB,WAAA,EAAA,EAAA,EAAA,OAAA,kByBj9GQ,mBzBw+GR,mBApBA,MAAA,KyB/8GE,iBAAA,QAEE,aAjDe,QzBmgHnB,UAsBE,MAAO,KwBh/GP,iBAAA,QCvCA,aAXQ,QzBsiHV,gBApBA,MAAA,KyBlgHE,iBAAA,QACE,aAdY,QzBwiHhB,2ByBziHiB,gBzBqhHjB,MAAA,KyBjgHE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,4BzBkhHN,6ByBlhHM,iBAAA,iBAAA,gCzB8/GN,MAAA,KyB1/GE,iBAAA,QAKE,aAlCa,QADC,kCzBijHlB,mCyBjjHkB,uBAAA,uBAAA,sCzB6hHlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByB/+GQ,mBzBsgHR,mBApBA,MAAA,KyB7+GE,iBAAA,QAEE,aAjDe,QzBiiHnB,YAsBE,MAAO,KwB9gHP,iBAAA,QCvCA,aAXQ,QzBokHV,kBApBA,MAAA,KyBhiHE,iBAAA,QACE,aAdY,QzBskHhB,6ByBvkHiB,kBzBmjHjB,MAAA,KyB/hHE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,8BzBgjHN,+ByBhjHM,mBAAA,mBAAA,kCzB4hHN,MAAA,KyBxhHE,iBAAA,QAKE,aAlCa,QADC,oCzB+kHlB,qCyB/kHkB,yBAAA,yBAAA,wCzB2jHlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByB7gHQ,qBzBoiHR,qBApBA,MAAA,KyB3gHE,iBAAA,QAEE,aAjDe,QzB+jHnB,UAsBE,MAAO,KwB5iHP,iBAAA,QCvCA,aAXQ,QzBkmHV,gBApBA,MAAA,KyB9jHE,iBAAA,QACE,aAdY,QADC,gBzBqmHjB,2BApBA,MAAA,KyB7jHE,iBAAA,QAEE,aArBY,QRRd,WAAA,EAAA,EAAA,EAAA,OQMmB,qBA8Bf,iBAAA,iBAAA,4BzB8kHN,6ByB9kHM,gCzB0jHN,MAAA,KyBtjHE,iBAAA,QAKE,aAlCa,QADC,uBAAA,uBAAA,kCzB6mHlB,mCyB7mHkB,sCzBylHlB,WAAA,EAAA,EAAA,EAAA,OAAA,qByB3iHQ,mBzBkkHR,mBApBA,MAAA,KyBziHE,iBAAA,QAEE,aAjDe,QzB6lHnB,qBAsBE,MAAO,QwBpkHP,aAAA,QxBukHF,2BApBA,MAAA,KyB7hHE,iBAAA,QACE,aATY,QzB8jHhB,sCKxjHe,2BLoiHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByB1hHI,uCzBijHJ,wCyBjjHI,4BAAA,0CAAA,4BzB6hHJ,MAAA,KyB1hHE,iBAAA,QAKE,aArBa,QpBGF,6CLgkHf,8CKhkHe,kCAAA,gDAAA,kCL4iHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBjhHQ,8BzBwiHR,8BApBA,MAAA,QyB/gHE,iBAAA,YzBmhHF,uBAsBE,MAAO,QwB7lHP,aAAA,QxBgmHF,6BApBA,MAAA,KyBtjHE,iBAAA,QACE,aATY,QzBulHhB,wCKjlHe,6BL6jHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBnjHI,yCzB0kHJ,0CyB1kHI,8BAAA,4CAAA,8BzBsjHJ,MAAA,KyBnjHE,iBAAA,QAKE,aArBa,QpBGF,+CLylHf,gDKzlHe,oCAAA,kDAAA,oCLqkHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByB1iHQ,gCzBikHR,gCApBA,MAAA,QyBxiHE,iBAAA,YzB4iHF,qBAsBE,MAAO,QwBtnHP,aAAA,QxBynHF,2BApBA,MAAA,KyB/kHE,iBAAA,QACE,aATY,QzBgnHhB,sCK1mHe,2BLslHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByB5kHI,uCzBmmHJ,wCyBnmHI,4BAAA,0CAAA,4BzB+kHJ,MAAA,KyB5kHE,iBAAA,QAKE,aArBa,QpBGF,6CLknHf,8CKlnHe,kCAAA,gDAAA,kCL8lHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByBnkHQ,8BzB0lHR,8BApBA,MAAA,QyBjkHE,iBAAA,YzBqkHF,kBAsBE,MAAO,QwB/oHP,aAAA,QxBkpHF,wBApBA,MAAA,KyBxmHE,iBAAA,QACE,aATY,QzByoHhB,mCKnoHe,wBL+mHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByBrmHI,oCzB4nHJ,qCyB5nHI,yBAAA,uCAAA,yBzBwmHJ,MAAA,KyBrmHE,iBAAA,QAKE,aArBa,QpBGF,0CL2oHf,2CK3oHe,+BAAA,6CAAA,+BLunHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByB5lHQ,2BzBmnHR,2BApBA,MAAA,QyB1lHE,iBAAA,YzB8lHF,qBAsBE,MAAO,QwBxqHP,aAAA,QxB2qHF,2BApBA,MAAA,QyBjoHE,iBAAA,QACE,aATY,QzBkqHhB,sCK5pHe,2BLwoHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByB9nHI,uCzBqpHJ,wCyBrpHI,4BAAA,0CAAA,4BzBioHJ,MAAA,QyB9nHE,iBAAA,QAKE,aArBa,QpBGF,6CLoqHf,8CKpqHe,kCAAA,gDAAA,kCLgpHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByBrnHQ,8BzB4oHR,8BApBA,MAAA,QyBnnHE,iBAAA,YzBunHF,oBAsBE,MAAO,QwBjsHP,aAAA,QxBosHF,0BApBA,MAAA,KyB1pHE,iBAAA,QACE,aATY,QzB2rHhB,qCKrrHe,0BLiqHf,WAAA,EAAA,EAAA,EAAA,OAAA,mByBvpHI,sCzB8qHJ,uCyB9qHI,2BAAA,yCAAA,2BzB0pHJ,MAAA,KyBvpHE,iBAAA,QAKE,aArBa,QpBGF,4CL6rHf,6CK7rHe,iCAAA,+CAAA,iCLyqHf,WAAA,EAAA,EAAA,EAAA,OAAA,mByB9oHQ,6BzBqqHR,6BApBA,MAAA,QyB5oHE,iBAAA,YzBgpHF,mBAsBE,MAAO,QwB1tHP,aAAA,QxB6tHF,yBApBA,MAAA,QyBnrHE,iBAAA,QACE,aATY,QzBotHhB,oCK9sHe,yBL0rHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBhrHI,qCzBusHJ,sCyBvsHI,0BAAA,wCAAA,0BzBmrHJ,MAAA,QyBhrHE,iBAAA,QAKE,aArBa,QpBGF,2CLstHf,4CKttHe,gCAAA,8CAAA,gCLksHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBvqHQ,4BzB8rHR,4BApBA,MAAA,QyBrqHE,iBAAA,YzByqHF,kBAsBE,MAAO,QwBnvHP,aAAA,QxBsvHF,wBApBA,MAAA,KyB5sHE,iBAAA,QACE,aATY,QzB6uHhB,mCKvuHe,wBLmtHf,WAAA,EAAA,EAAA,EAAA,OAAA,kByBzsHI,oCzBguHJ,qCyBhuHI,yBAAA,uCAAA,yBzB4sHJ,MAAA,KyBzsHE,iBAAA,QAKE,aArBa,QpBGF,0CL+uHf,2CK/uHe,+BAAA,6CAAA,+BL2tHf,WAAA,EAAA,EAAA,EAAA,OAAA,kByBhsHQ,2BzButHR,2BApBA,MAAA,QyB9rHE,iBAAA,YzBksHF,kBAsBE,MAAO,QwB5wHP,aAAA,QxB+wHF,wBApBA,MAAA,KyBruHE,iBAAA,QACE,aATY,QzBswHhB,mCKhwHe,wBL4uHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBluHI,oCzByvHJ,qCyBzvHI,yBAAA,uCAAA,yBzBquHJ,MAAA,KyBluHE,iBAAA,QAKE,aArBa,QpBGF,0CLwwHf,2CKxwHe,+BAAA,6CAAA,+BLovHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBztHQ,2BzBgvHR,2BApBA,MAAA,QyBvtHE,iBAAA,YzB2tHF,oBAsBE,MAAO,QwBryHP,aAAA,QxBwyHF,0BApBA,MAAA,KyB9vHE,iBAAA,QACE,aATY,QzB+xHhB,qCKzxHe,0BLqwHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByB3vHI,sCzBkxHJ,uCyBlxHI,2BAAA,yCAAA,2BzB8vHJ,MAAA,KyB3vHE,iBAAA,QAKE,aArBa,QpBGF,4CLiyHf,6CKjyHe,iCAAA,+CAAA,iCL6wHf,WAAA,EAAA,EAAA,EAAA,OAAA,oByBlvHQ,6BzBywHR,6BApBA,MAAA,QyBhvHE,iBAAA,YzBovHF,kBAsBE,MAAO,QwB9zHP,aAAA,QxBi0HF,wBApBA,MAAA,KyBvxHE,iBAAA,QACE,aATY,QzBwzHhB,mCKlzHe,wBL8xHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByBpxHI,oCzB2yHJ,qCyB3yHI,yBAAA,uCAAA,yBzBuxHJ,MAAA,KyBpxHE,iBAAA,QAKE,aArBa,QpBGF,0CL0zHf,2CK1zHe,+BAAA,6CAAA,+BLsyHf,WAAA,EAAA,EAAA,EAAA,OAAA,qByB3wHQ,2BzBkyHR,2BApBA,MAAA,QyBzwHE,iBAAA,YzB6wHF,UAsBE,YAAa,IwB30Hf,MAAA,yBACE,gBnB8d4B,KLg3G9B,gBApBA,MAAA,+BwBrzHI,mBxB40HJ,mBApBA,MAAA,kCAGA,mBAAA,QAsBE,QAAS,MAAO,KwB5zHlB,UAAA,QCuBE,cAAA,OzBqxHF,mBAAA,QAsBE,QAAS,OAAQ,MwB9zHnB,UAAA,QCmBE,cAAA,OzB2xHF,MAsBE,WAAY,QAAQ,KAAM,OAE5B,uCApBA,MgB14HM,WAAA,MhBm6HN,iBApBA,QAAA,EAGA,qBAsBE,QAAS,KAlBX,YAsBE,OAAQ,E0Bj7HV,SAAA,OACE,WAAA,OAAA,KAAA,K1Bo7HF,uCApBA,YgB55HM,WAAA,MhBq7HN,gCApBA,MAAA,E0Bj6HE,OAAA,KACE,WAAA,MAAA,KAAA,K1By7HJ,uCApBA,gCgBt6HM,WAAA,MWnBN,U3Bo9HA,SAEA,WAxBA,QAyBE,SAAU,SAlBZ,iBAsBE,YAAa,OAlBf,eAsBE,SAAU,S2Bh9HZ,QAAA,KACE,QAAA,KACA,UAAA,MACA,QAAA,MAAA,EACA,OAAA,EACA,UAAA,MACA,MAAA,yB1B+QI,WAAA,M0B7QJ,WAAA,KACA,iBAAA,sBACA,gBAAA,YACA,OAAA,IAAA,MAAA,gCACA,cAAA,O3Bm9HF,+BApBA,IAAA,K2B17HE,MAAA,EACE,WAAA,Q3B87HJ,qBAsBE,cAAe,MAEjB,qCApBA,KAAA,K2Bj7HM,MAAA,E3Bq7HN,mBAsBE,cAAe,IAEjB,mCApBA,KAAA,E2Bh7HM,MAAA,K3Bo7HN,yBAsBE,wBQv8HE,cAAA,MR08HF,wCApBA,KAAA,K2Bl8HI,MAAA,E3Bs8HJ,sBAsBE,cAAe,IAEjB,sCApBA,KAAA,E2Bj8HI,MAAA,M3B09HN,yBApBA,wBQn8HI,cAAA,MR29HF,wCApBA,KAAA,K2Bn9HI,MAAA,E3Bu9HJ,sBAsBE,cAAe,IAEjB,sCApBA,KAAA,E2Bl9HI,MAAA,M3B2+HN,yBApBA,wBQp9HI,cAAA,MR4+HF,wCApBA,KAAA,K2Bp+HI,MAAA,E3Bw+HJ,sBAsBE,cAAe,IAEjB,sCApBA,KAAA,E2Bn+HI,MAAA,M3B4/HN,0BApBA,wBQr+HI,cAAA,MR6/HF,wCApBA,KAAA,K2Br/HI,MAAA,E3By/HJ,sBAsBE,cAAe,IAEjB,sCApBA,KAAA,E2Bp/HI,MAAA,M3B6gIN,0BApBA,yBQt/HI,cAAA,MR8gIF,yCApBA,KAAA,K2BtgII,MAAA,E3B0gIJ,uBAsBE,cAAe,IAEjB,uCApBA,KAAA,E2BrgII,MAAA,M3B8hIN,uCApBA,IAAA,K2B9/HE,OAAA,KACE,WAAA,EACA,cAAA,Q3BshIJ,wCApBA,IAAA,E2Bv/HE,KAAA,KACE,MAAA,KACA,WAAA,EACA,aAAA,Q3B+gIJ,iCApBA,eAAA,EAGA,0CAsBE,IAAK,E2BtgIL,KAAA,KACE,MAAA,KACA,WAAA,EACA,YAAA,Q3BygIJ,oCApBA,eAAA,EAGA,kBAsBE,OAAQ,E2B//HV,OAAA,OAAA,EACE,SAAA,OACA,WAAA,IAAA,MAAA,8B3B8+HF,eAsBE,QAAS,M2B5/HX,MAAA,KACE,QAAA,QAAA,OACA,MAAA,KACA,YAAA,IACA,MAAA,8BACA,WAAA,QACA,YAAA,OACA,iBAAA,YAEA,OAAA,EAEA,qB3B4/HF,qBApBA,MAAA,oC2B19HE,iBAAA,iC3Bk/HF,sBiBzoIE,sBjBqnIF,MAAA,qC2Bv9HE,gBAAA,KAEE,iBAAA,kC3B8+HJ,wBiB9oIE,wBjB0nIF,MAAA,uC2Br9HE,eAAA,KAEE,iBAAA,Y3Bw9HJ,oBAsBE,QAAS,MAlBX,iBAsBE,QAAS,M2Br+HX,QAAA,MAAA,OACE,cAAA,EACA,UAAA,QACA,MAAA,gC1B0GI,YAAA,OD22HN,oBAsBE,QAAS,M2Bp+HX,QAAA,QAAA,OACE,MAAA,8B3Bm9HF,oBAsBE,MAAO,8B2Bn+HT,iBAAA,2BACE,aAAA,qC3Bs+HF,mCApBA,MAAA,mC2B58HI,yC3Bm+HJ,yCApBA,MAAA,yC2B78HI,iBAAA,sC3Bq+HJ,0CiBnrIE,0CjB+pIF,MAAA,0C2B38HI,iBAAA,uC3Bm+HJ,4CiBvrIE,4CjBmqIF,MAAA,4CAuBA,sCApBA,aAAA,mCAuBA,wCApBA,MAAA,mCAuBA,qCApBA,MAAA,qCAGA,WAsBA,oB4BxsIA,SAAA,S5B0sIE,QAAS,Y4BxsIT,eAAA,O5BurIF,yBAoBA,gB4BvsIE,SAAA,S5B0sIA,KAAM,EAAE,EAAE,KAQZ,4CACA,0CAIA,gCADA,gCADA,+BADA,+BARA,mCApBA,iCAyBA,uBADA,uBADA,sB4BxsIE,sB5BitIA,QAAS,EAlBX,aAsBE,QAAS,K4B1sIX,UAAA,KACE,gBAAA,W5B6sIF,0BApBA,MAAA,KAyBA,wCAtBA,kC4BjrIE,aAAA,K5BsrIF,4CAoBA,uD4BpsIE,uBAAA,E5BusIA,0BAA2B,E4B9rI3B,6C5BgsIF,+BApBA,iCAuBE,wBAAyB,EACzB,2BAA4B,EAlB9B,uBAsBE,aAAc,Q4BrrIhB,cAAA,Q5BwrIA,8B4BtrIE,uCAAA,sC5BkqIF,aAAA,EAuBA,0CApBA,YAAA,EAGA,0CAAA,+BAsBE,aAAc,M4BjrIhB,cAAA,M5BgqIA,0CAAA,+BAsBE,aAAc,O4BjrIhB,cAAA,O5BgqIA,oBAsBE,eAAgB,O4BhqIlB,YAAA,WACE,gBAAA,O5BmqIF,yBApBA,+B4B3oIE,MAAA,K5B+oIF,iDAoBA,2C4B9pIE,WAAA,K5B8oIF,qDAoBA,gE4B5pIE,0BAAA,E5B+pIA,2BAA4B,EAlB9B,sDAoBA,8B4B5pIE,wBAAA,E5B+pIA,uBAAwB,EAlB1B,KAsBE,QAAS,K6BpyIX,UAAA,KACE,cAAA,EACA,cAAA,EACA,WAAA,K7BmxIF,UAsBE,QAAS,M6BpyIX,QAAA,MAAA,KACE,MAAA,qBACA,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,Y7BuyIF,uCApBA,UgB9wIM,WAAA,MhBkxIJ,gBAqBF,gBApBA,MAAA,2BAuBA,mBApBA,MAAA,kC6B7wIE,eAAA,KACE,OAAA,Q7BixIJ,UAsBE,cAAe,IAAI,MAAM,gCAE3B,oBApBA,cAAA,K6BxwIE,WAAA,IACE,OAAA,IAAA,MAAA,YACA,wBAAA,OACA,uBAAA,O3BjBA,0BFizIJ,0BApBA,aAAA,2C6BzwII,UAAA,Q7BiyIJ,6BApBA,MAAA,kC6BtwII,iBAAA,YACE,aAAA,Y7B0wIN,mCAoBA,2B6BxxIE,MAAA,qC7B2xIA,iBAAkB,kC6BzxIhB,aAAA,4C7B4xIJ,yBApBA,WAAA,K6BnwIE,wBAAA,EAEE,uBAAA,E7BswIJ,qBAsBE,WAAY,I6BhxIZ,OAAA,EACE,cAAA,O7BmxIJ,4BApBA,2B6B1vIE,MAAA,iC7BixIA,iBAAkB,8BAIpB,oBAtBA,oB6BlvIE,KAAA,EAAA,EAAA,K7B0wIA,WAAY,OAId,yBAtBA,yB6BhvIE,WAAA,E7BwwIA,UAAW,E6BtwIT,WAAA,O7BqvIJ,8BAsBA,mC6BnwIE,MAAA,K7BkvIF,uBAsBE,QAAS,KAEX,qBApBA,QAAA,MAGA,QAsBE,SAAU,S8Bx3IZ,QAAA,KACE,UAAA,KACA,YAAA,OACA,gBAAA,cACA,YAAA,OACA,eAAA,O9B23IF,mBApBA,yBAwBA,sBADA,sB8Bp3IE,sB9Bs3IF,sBACA,uBACE,QAAS,KACT,UAAW,Q8Bx3IT,YAAA,OACA,gBAAA,c9B23IJ,cApBA,YAAA,S8Bj1IA,eAAA,SACE,YAAA,KACA,UAAA,QACA,YAAA,O9By2IF,YApBA,QAAA,K8Br0IA,eAAA,OACE,cAAA,EACA,cAAA,EACA,WAAA,K9B61IF,sBApBA,aAAA,E8Br0IE,cAAA,E9B61IF,2BApBA,SAAA,OAGA,aAsBE,YAAa,M8Bn1If,eAAA,M9Bk0IA,iBAsBE,WAAY,K8B10Id,UAAA,EACE,YAAA,O9ByzIF,gBAsBE,QAAS,OAAQ,O8Bv0InB,UAAA,QACE,YAAA,E7B6KI,iBALI,Y6BtKR,OAAA,IAAA,MAAA,YACA,cAAA,OACA,WAAA,WAAA,KAAA,Y9B00IF,uCApBA,gBgB95IM,WAAA,MhBu7IN,sBApBA,gBAAA,KAuBA,sBApBA,gBAAA,K8BtzIE,QAAA,EACE,WAAA,EAAA,EAAA,EAAA,O9B0zIJ,qBAsBE,QAAS,a8Bx0IX,MAAA,MACE,OAAA,MACA,eAAA,OACA,kBAAA,UACA,oBAAA,OACA,gBAAA,K9BuzIF,mBAsBE,WAAY,6B8Bx0Id,WAAA,K9BuzIA,yBAsBE,kBQr6IE,UAAA,OsBsGA,gBAAA,W9Bm0IF,8BApBA,eAAA,IAuBA,6CApBA,SAAA,SAuBA,wCApBA,aAAA,M8BzyIQ,cAAA,M9Bi0IR,qCApBA,SAAA,QAuBA,mCApBA,QAAA,e8BtyIM,WAAA,K9B8zIN,kCApBA,QAAA,KAuBA,oCApBA,QAAA,KAuBA,6BApBA,SAAA,Q8BnyIM,OAAA,EACE,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,YAAA,EACA,aAAA,EACA,WAAA,KACA,UAAA,K9B4zIV,oCADE,iC8BvzIM,OAAA,K9B0zIJ,WAAY,E8BxzIN,cAAA,E9B2zIR,kCApBA,QAAA,K8BlyIM,UAAA,EACE,QAAA,EACA,WAAA,S9B2zIV,yBApBA,kBQr8II,UAAA,OsBsGA,gBAAA,W9Bw3IF,8BApBA,eAAA,IAuBA,6CApBA,SAAA,SAuBA,wCApBA,aAAA,M8B91IQ,cAAA,M9Bs3IR,qCApBA,SAAA,QAuBA,mCApBA,QAAA,e8B31IM,WAAA,K9Bm3IN,kCApBA,QAAA,KAuBA,oCApBA,QAAA,KAuBA,6BApBA,SAAA,Q8Bx1IM,OAAA,EACE,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,YAAA,EACA,aAAA,EACA,WAAA,KACA,UAAA,K9Bi3IV,oCADE,iC8B52IM,OAAA,K9B+2IJ,WAAY,E8B72IN,cAAA,E9Bg3IR,kCApBA,QAAA,K8Bv1IM,UAAA,EACE,QAAA,EACA,WAAA,S9Bg3IV,yBApBA,kBQ1/II,UAAA,OsBsGA,gBAAA,W9B66IF,8BApBA,eAAA,IAuBA,6CApBA,SAAA,SAuBA,wCApBA,aAAA,M8Bn5IQ,cAAA,M9B26IR,qCApBA,SAAA,QAuBA,mCApBA,QAAA,e8Bh5IM,WAAA,K9Bw6IN,kCApBA,QAAA,KAuBA,oCApBA,QAAA,KAuBA,6BApBA,SAAA,Q8B74IM,OAAA,EACE,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,YAAA,EACA,aAAA,EACA,WAAA,KACA,UAAA,K9Bs6IV,oCADE,iC8Bj6IM,OAAA,K9Bo6IJ,WAAY,E8Bl6IN,cAAA,E9Bq6IR,kCApBA,QAAA,K8B54IM,UAAA,EACE,QAAA,EACA,WAAA,S9Bq6IV,0BApBA,kBQ/iJI,UAAA,OsBsGA,gBAAA,W9Bk+IF,8BApBA,eAAA,IAuBA,6CApBA,SAAA,SAuBA,wCApBA,aAAA,M8Bx8IQ,cAAA,M9Bg+IR,qCApBA,SAAA,QAuBA,mCApBA,QAAA,e8Br8IM,WAAA,K9B69IN,kCApBA,QAAA,KAuBA,oCApBA,QAAA,KAuBA,6BApBA,SAAA,Q8Bl8IM,OAAA,EACE,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,YAAA,EACA,aAAA,EACA,WAAA,KACA,UAAA,K9B29IV,oCADE,iC8Bt9IM,OAAA,K9By9IJ,WAAY,E8Bv9IN,cAAA,E9B09IR,kCApBA,QAAA,K8Bj8IM,UAAA,EACE,QAAA,EACA,WAAA,S9B09IV,0BApBA,mBQpmJI,UAAA,OsBsGA,gBAAA,W9BuhJF,+BApBA,eAAA,IAuBA,8CApBA,SAAA,SAuBA,yCApBA,aAAA,M8B7/IQ,cAAA,M9BqhJR,sCApBA,SAAA,QAuBA,oCApBA,QAAA,e8B1/IM,WAAA,K9BkhJN,mCApBA,QAAA,KAuBA,qCApBA,QAAA,KAuBA,8BApBA,SAAA,Q8Bv/IM,OAAA,EACE,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,YAAA,EACA,aAAA,EACA,WAAA,KACA,UAAA,K9BghJV,qCADE,kC8B3gJM,OAAA,K9B8gJJ,WAAY,E8B5gJN,cAAA,E9B+gJR,mCApBA,QAAA,K8Bt/IM,UAAA,EACE,QAAA,EACA,WAAA,S9B+gJV,eApBA,UAAA,O8BnjJI,gBAAA,W9B2kJJ,2BApBA,eAAA,IAuBA,0CApBA,SAAA,SAuBA,qCApBA,aAAA,M8BjjJU,cAAA,M9BykJV,kCApBA,SAAA,QAuBA,gCApBA,QAAA,e8B9iJQ,WAAA,K9BskJR,+BApBA,QAAA,KAuBA,iCApBA,QAAA,KAuBA,0BApBA,SAAA,Q8B3iJQ,OAAA,EACE,QAAA,KACA,UAAA,EACA,WAAA,kBACA,iBAAA,YACA,YAAA,EACA,aAAA,EACA,WAAA,KACA,UAAA,K9B+iJV,iCAoBA,8B8B/jJQ,OAAA,K9BkkJN,WAAY,E8BhkJJ,cAAA,E9BmkJV,+BApBA,QAAA,K8B1iJQ,UAAA,EACE,QAAA,EACA,WAAA,Q9B8iJV,4BAsBE,MAAO,oC8BnjJL,kC9BqjJJ,kCApBA,MAAA,oCAuBA,oCApBA,MAAA,6BKlsHoC,0CLytHpC,0CApBA,MAAA,mCAuBA,6CApBA,MAAA,sCAGA,2CAoBA,0C8B3iJI,MAAA,oC9B+iJJ,8BApBA,MAAA,6B8BrhJE,aAAA,e9B6iJF,mCApBA,iBAAA,qPAuBA,2BApBA,MAAA,6BAuBA,6B8BviJI,mC9BmhJJ,mCAuBE,MAAO,oCAlBT,2BAsBE,MAAO,mC8BniJL,iC9BqiJJ,iCApBA,MAAA,mCAuBA,mCApBA,MAAA,4BK5uHoC,yCLmwHpC,yCApBA,MAAA,kCAuBA,4CApBA,MAAA,qCAGA,0CAoBA,yC8B3hJI,MAAA,mC9B+hJJ,6BApBA,MAAA,4B8BrgJE,aAAA,2C9B6hJF,kCApBA,iBAAA,oPAuBA,0BApBA,MAAA,4BAuBA,4B8BxhJI,kC9BogJJ,kCAuBE,MAAO,mCAlBT,MAsBE,SAAU,S+Bn2JZ,QAAA,KACE,eAAA,OACA,UAAA,EACA,UAAA,WACA,iBAAA,kBAEA,gBAAA,WACA,OAAA,EAAA,MAAA,4BACA,cAAA,O/Bq2JF,SApBA,YAAA,E+B50JE,aAAA,E/Bo2JF,kBApBA,WAAA,Q+B30JE,cAAA,Q/Bm2JF,8BApBA,iBAAA,E+B30JI,wBAAA,OACE,uBAAA,O/Bm2JN,6BApBA,oBAAA,E+B30JI,0BAAA,OACE,2BAAA,O/Bm2JN,+BApBA,+B+Bx0JE,WAAA,E/B40JF,WAsBE,KAAM,EAAE,EAAE,K+B51JZ,QAAA,OAAA,O/B20JA,YAsBE,cAAe,SAlBjB,eAsBE,WAAY,U+Bz1Jd,cAAA,E/Bw0JA,sBAsBE,cAAe,EAlBjB,sBAsBE,aAAc,OAlBhB,aAsBE,QAAS,SAAS,O+B/0JpB,cAAA,EACE,iBAAA,sBACA,cAAA,EAAA,MAAA,4B/Bk1JF,yBApBA,cAAA,OAAA,OAAA,EAAA,EAGA,aAsBE,QAAS,SAAS,O+B70JpB,iBAAA,sBACE,WAAA,EAAA,MAAA,4B/Bg1JF,wBApBA,cAAA,EAAA,EAAA,OAAA,OAGA,kBAsBE,YAAa,Q+Bt0Jf,cAAA,UACE,aAAA,QACA,cAAA,E/By0JF,mCApBA,iBAAA,kB+BhzJI,oBAAA,kB/BozJJ,mBAsBE,YAAa,Q+Bn0Jf,aAAA,Q/BkzJA,kBAsBE,SAAU,S+Bl0JZ,IAAA,EACE,KAAA,EACA,OAAA,EACA,MAAA,EACA,QAAA,QACA,cAAA,O/BizJF,U+B5yJA,iB/Bk0JA,cAEE,MAAO,KAlBT,UAsBA,c+Bl0JA,wBAAA,O/Bo0JE,uBAAwB,OAlB1B,UAsBA,iB+Bn0JA,0BAAA,O/Bq0JE,2BAA4B,OAlB9B,kBAsBE,cAAe,OAEjB,yBApBA,YQ74JI,QAAA,KuBgGJ,UAAA,IAAA,K/Bs0JE,kBApBA,KAAA,EAAA,EAAA,G+BtyJE,cAAA,E/B8zJF,wBApBA,aAAA,E+BryJI,aAAA,E/B6zJJ,mCApBA,uBAAA,E+BlyJM,0BAAA,E/B2zJR,gDADE,iD+BvzJQ,uBAAA,E/B4zJV,gDADE,oD+BtzJQ,0BAAA,E/B0zJR,oCApBA,wBAAA,E+B/xJM,2BAAA,E/BwzJR,iDADE,kD+BpzJQ,wBAAA,E/ByzJV,iDADE,qD+BnzJQ,2BAAA,G/BoyJV,kBAsBE,SAAU,SgCpgKZ,QAAA,KACE,YAAA,OACA,MAAA,KACA,QAAA,KAAA,QACA,UAAA,MACA,MAAA,0B/B4RI,WAAA,M+B1RJ,iBAAA,QACA,OAAA,EACA,cAAA,EACA,gBAAA,K9BKE,WAAA,MAAA,KAAA,WAAA,CAAA,iBAAA,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,WAAA,CAAA,cAAA,KAAA,KFmgKJ,uCApBA,kBgB9+JM,WAAA,MhBugKN,kCApBA,MAAA,wCgCp/JE,iBAAA,qCACE,WAAA,MAAA,EAAA,KAAA,EAAA,iChC4gKJ,yCApBA,iBAAA,kTgCp/JI,UAAA,ehC4gKJ,yBApBA,YAAA,EgCj/JE,MAAA,QACE,OAAA,QACA,a3BgtCsC,K2B/sCtC,QAAA,GACA,iBAAA,oSACA,kBAAA,UACA,gBAAA,QACA,WAAA,UAAA,IAAA,YhCygKJ,uCApBA,yBgBvgKM,WAAA,MhBgiKN,wBApBA,QAAA,EAuBA,wBApBA,QAAA,EgCp/JE,aAAA,8CACE,QAAA,EACA,WAAA,4ChCw/JJ,kBAsBE,cAAe,EAlBjB,gBAsBE,iBAAkB,QgCxgKpB,OAAA,IAAA,MAAA,iChC2gKA,8BApBA,wBAAA,OgCn/JE,uBAAA,OhC2gKF,gDApBA,wBAAA,mBgCp/JI,uBAAA,mBhC4gKJ,oCApBA,WAAA,EAuBA,6BApBA,0BAAA,OgCj/JE,2BAAA,OhCygKF,yDApBA,0BAAA,mBgCj/JM,2BAAA,mBhCygKN,iDApBA,0BAAA,OgCh/JI,2BAAA,OhCo/JJ,gBAsBE,QAAS,KAAK,QAlBhB,qCAsBE,aAAc,EAEhB,iCApBA,YAAA,EgCx+JE,aAAA,EACE,cAAA,EhCggKJ,6CApBA,WAAA,EAuBA,4CApBA,cAAA,EAuBA,mDApBA,cAAA,EAGA,YAsBE,QAAS,KiCrnKX,UAAA,KACE,QAAA,EAAA,EACA,cAAA,KACA,WAAA,KACA,iBAAA,YAEA,cAAA,OjCmmKF,kCAsBE,cAAe,MAEjB,0CApBA,MAAA,MiC7lKI,aAAA,MACE,MAAA,mCACA,QAAA,uCjCqnKN,wBApBA,MAAA,kCAGA,YAsBE,QAAS,KkC5oKX,cAAA,EACE,WAAA,KlC2nKF,WAsBE,SAAU,SkC7oKZ,QAAA,MACE,MAAA,2BACA,iBAAA,wBACA,OAAA,IAAA,MAAA,kCAEA,WAAA,MAAA,KAAA,WAAA,CAAA,iB7BmpCkC,KAAA,WAAA,CAAA,aAAA,KAAA,WAAA,CAAA,WAAA,KAAA,YL4/HpC,uCApBA,WgBjnKM,WAAA,MhB0oKN,iBApBA,QAAA,EkC5nKE,MAAA,iCACE,iBAAA,8BACA,aAAA,wClCopKJ,iBApBA,QAAA,EkC1nKE,MAAA,iCACE,iBAAA,8BACA,QAAA,EACA,WAAA,sClC8nKJ,wCAsBE,aAAc,KAEhB,6BApBA,QAAA,EkCvnKE,MAAA,iCACE,iBAAA,8BACA,aAAA,8BlC+oKJ,+BApBA,MAAA,oCkCtnKE,eAAA,KACE,iBAAA,iCACA,aAAA,2ClC0nKJ,WAsBE,QAAS,MAAO,OAlBlB,kCAsBE,wBAAyB,OmCrrKnB,2BAAA,OnCwrKR,iCApBA,uBAAA,OmC9pKQ,0BAAA,OnCkqKR,0BAsBE,QAAS,OAAQ,OmCtsKjB,UAAA,QnCysKF,iDApBA,wBAAA,MmC7qKQ,2BAAA,MnCqsKR,gDApBA,uBAAA,MmC3qKQ,0BAAA,MnC+qKR,0BAsBE,QAAS,OAAQ,MmCntKjB,UAAA,QnCstKF,iDApBA,wBAAA,MmC1rKQ,2BAAA,MnCktKR,gDApBA,uBAAA,MmCxrKQ,0BAAA,MnC4rKR,OAsBE,QAAS,aoC/tKX,QAAA,MAAA,KACE,UAAA,MACA,YAAA,InC8RI,YAAA,EmC5RJ,MAAA,sBACA,WAAA,OACA,YAAA,OACA,eAAA,SACA,cAAA,OpCkuKF,aApBA,QAAA,KAGA,YAsBE,SAAU,SoC3tKZ,IAAA,KpC0sKA,OAsBE,SAAU,SqCrvKZ,QAAA,OAAA,QACE,cAAA,KACA,OAAA,IAAA,MAAA,YACA,cAAA,OrCouKF,eAsBE,MAAO,QAlBT,YAsBE,YAAa,IAlBf,mBAsBE,aAAc,QAEhB,8BApBA,SAAA,SqCvtKE,IAAA,EACE,KAAA,EACA,QAAA,EACA,QAAA,SAAA,QrC2tKJ,eAsBE,MAAO,QqChuKP,iBAAA,QClDA,aD8Cc,QrCwuKhB,2BApBA,MAAA,QAGA,iBAsBE,MAAO,QqCzuKP,iBAAA,QClDA,aD8Cc,QrCivKhB,6BApBA,MAAA,QAGA,eAsBE,MAAO,QqClvKP,iBAAA,QClDA,aD8Cc,QrC0vKhB,2BApBA,MAAA,QAGA,YAsBE,MAAO,QqC3vKP,iBAAA,QClDA,aD8Cc,QrCmwKhB,wBApBA,MAAA,QAGA,eAsBE,MAAO,QqCpwKP,iBAAA,QClDA,aD8Cc,QrC4wKhB,2BApBA,MAAA,QAGA,cAsBE,MAAO,QqC7wKP,iBAAA,QClDA,aD8Cc,QrCqxKhB,0BApBA,MAAA,QAGA,aAsBE,MAAO,QqCtxKP,iBAAA,QClDA,aD8Cc,QrC8xKhB,yBApBA,MAAA,QAGA,YAsBE,MAAO,QqC/xKP,iBAAA,QClDA,aD8Cc,QrCuyKhB,wBApBA,MAAA,QAGA,YAsBE,MAAO,QqCxyKP,iBAAA,QClDA,aD8Cc,QrCgzKhB,wBApBA,MAAA,QAGA,cAsBE,MAAO,QqCjzKP,iBAAA,QClDA,aD8Cc,QrCyzKhB,0BApBA,MAAA,QAGA,YAsBE,MAAO,QqC1zKP,iBAAA,QClDA,aD8Cc,QrCk0KhB,wBApBA,MAAA,QAGA,gCAsBE,GuCn3KA,sBAAA,QvCu3KF,UApBA,QAAA,KuC71KA,OAAA,OACE,SAAA,OACA,UAAA,QACA,iBAAA,sBtCwRI,cAAA,OD0kKN,cAsBE,QAAS,KuCj3KX,eAAA,OACE,gBAAA,OACA,SAAA,OACA,MAAA,6BACA,WAAA,OACA,YAAA,OACA,iBAAA,0BACA,WAAA,MAAA,IAAA,KvCo3KF,uCApBA,cgBv2KM,WAAA,MhB42KN,sBAsBE,iBAAkB,kKuCt3KpB,gBAAA,OAAA,OvCq2KA,uBAsBE,UAAW,GAAG,OAAO,SAAS,qBAEhC,uCApBA,uBuC/1KM,UAAA,MvCo2KN,YAsBE,QAAS,KwCh6KX,eAAA,OACE,cAAA,EACA,cAAA,EAGA,cAAA,OxC64KF,qBAsBE,gBAAiB,KwC95KnB,cAAA,QxCi6KA,gCApBA,QAAA,uBAAA,KwCz4KE,kBAAA,QxC64KF,wBAsBE,MAAO,KwCt5KT,MAAA,kCACE,WAAA,QAEA,8BxCu5KF,8BApBA,QAAA,EwCh4KE,MAAA,kCAEE,gBAAA,KACA,iBAAA,8BxCu5KJ,+BApBA,MAAA,yCwC93KE,iBAAA,sCxCk4KF,iBAsBE,SAAU,SwC74KZ,QAAA,MACE,QAAA,OAAA,QACA,MAAA,2BACA,iBAAA,wBACA,OAAA,IAAA,MAAA,kCxCg5KF,6BApBA,wBAAA,QwCv3KE,uBAAA,QxC+4KF,4BApBA,0BAAA,QwCv3KE,2BAAA,QxC+4KF,0BEz6KI,0BFq5KJ,MAAA,oCwCv3KE,eAAA,KAEE,iBAAA,iCxC84KJ,wBApBA,QAAA,EwCp3KE,MAAA,iCACE,iBAAA,8BACA,aAAA,8BxC44KJ,kCApBA,iBAAA,EAuBA,yCApBA,WAAA,KwCn3KI,iBAAA,IxCu3KJ,uBAsBE,eAAgB,IAElB,oDApBA,2BAAA,OwCv2KQ,uBAAA,ExC+3KR,mDApBA,uBAAA,OwCt2KQ,2BAAA,ExC83KR,+CApBA,WAAA,EAuBA,yDApBA,iBAAA,IwCp2KQ,mBAAA,ExC43KR,gEApBA,aAAA,KwCp2KU,mBAAA,IxCw2KV,yBAsBE,0BQh8KE,eAAA,IRm8KF,uDApBA,2BAAA,OwC/3KM,uBAAA,ExCu5KN,sDApBA,uBAAA,OwC93KM,2BAAA,ExCs5KN,kDApBA,WAAA,EAuBA,4DApBA,iBAAA,IwC53KM,mBAAA,ExCo5KN,mEApBA,aAAA,KwC53KQ,mBAAA,KxCq5KV,yBApBA,0BQn8KI,eAAA,IR29KF,uDApBA,2BAAA,OwCv5KM,uBAAA,ExC+6KN,sDApBA,uBAAA,OwCt5KM,2BAAA,ExC86KN,kDApBA,WAAA,EAuBA,4DApBA,iBAAA,IwCp5KM,mBAAA,ExC46KN,mEApBA,aAAA,KwCp5KQ,mBAAA,KxC66KV,yBApBA,0BQ39KI,eAAA,IRm/KF,uDApBA,2BAAA,OwC/6KM,uBAAA,ExCu8KN,sDApBA,uBAAA,OwC96KM,2BAAA,ExCs8KN,kDApBA,WAAA,EAuBA,4DApBA,iBAAA,IwC56KM,mBAAA,ExCo8KN,mEApBA,aAAA,KwC56KQ,mBAAA,KxCq8KV,0BApBA,0BQn/KI,eAAA,IR2gLF,uDApBA,2BAAA,OwCv8KM,uBAAA,ExC+9KN,sDApBA,uBAAA,OwCt8KM,2BAAA,ExC89KN,kDApBA,WAAA,EAuBA,4DApBA,iBAAA,IwCp8KM,mBAAA,ExC49KN,mEApBA,aAAA,KwCp8KQ,mBAAA,KxC69KV,0BApBA,2BQ3gLI,eAAA,IRmiLF,wDApBA,2BAAA,OwC/9KM,uBAAA,ExCu/KN,uDApBA,uBAAA,OwC99KM,2BAAA,ExCs/KN,mDApBA,WAAA,EAuBA,6DApBA,iBAAA,IwC59KM,mBAAA,ExCo/KN,oEApBA,aAAA,KwC59KQ,mBAAA,KxCq/KV,kBApBA,cAAA,EAuBA,mCApBA,aAAA,EAAA,EAAA,IAuBA,8CApBA,oBAAA,EAGA,yBAsBE,MAAO,QyC7nLP,iBAAA,QDiKwB,sDxC+9K1B,sDApBA,MAAA,QyCvmLM,iBAAA,QzC+nLN,uDApBA,MAAA,KyCrmLM,iBAAA,QACE,apCLG,QL8mLX,2BAsBE,MAAO,QyC3oLP,iBAAA,QDiKwB,wDxC6+K1B,wDApBA,MAAA,QyCrnLM,iBAAA,QzC6oLN,yDApBA,MAAA,KyCnnLM,iBAAA,QACE,apCLG,QL4nLX,yBAsBE,MAAO,QyCzpLP,iBAAA,QDiKwB,sDxC2/K1B,sDApBA,MAAA,QyCnoLM,iBAAA,QzC2pLN,uDApBA,MAAA,KyCjoLM,iBAAA,QACE,apCLG,QL0oLX,sBAsBE,MAAO,QyCvqLP,iBAAA,QDiKwB,mDxCygL1B,mDApBA,MAAA,QyCjpLM,iBAAA,QzCyqLN,oDApBA,MAAA,KyC/oLM,iBAAA,QACE,apCLG,QLwpLX,yBAsBE,MAAO,QyCrrLP,iBAAA,QDiKwB,sDxCuhL1B,sDApBA,MAAA,QyC/pLM,iBAAA,QzCurLN,uDApBA,MAAA,KyC7pLM,iBAAA,QACE,apCLG,QLsqLX,wBAsBE,MAAO,QyCnsLP,iBAAA,QDiKwB,qDxCqiL1B,qDApBA,MAAA,QyC7qLM,iBAAA,QzCqsLN,sDApBA,MAAA,KyC3qLM,iBAAA,QACE,apCLG,QLorLX,uBAsBE,MAAO,QyCjtLP,iBAAA,QDiKwB,oDxCmjL1B,oDApBA,MAAA,QyC3rLM,iBAAA,QzCmtLN,qDApBA,MAAA,KyCzrLM,iBAAA,QACE,apCLG,QLksLX,sBAsBE,MAAO,QyC/tLP,iBAAA,QDiKwB,mDxCikL1B,mDApBA,MAAA,QyCzsLM,iBAAA,QzCiuLN,oDApBA,MAAA,KyCvsLM,iBAAA,QACE,apCLG,QLgtLX,sBAsBE,MAAO,QyC7uLP,iBAAA,QDiKwB,mDxC+kL1B,mDApBA,MAAA,QyCvtLM,iBAAA,QzC+uLN,oDApBA,MAAA,KyCrtLM,iBAAA,QACE,apCLG,QL8tLX,wBAsBE,MAAO,QyC3vLP,iBAAA,QDiKwB,qDxC6lL1B,qDApBA,MAAA,QyCruLM,iBAAA,QzC6vLN,sDApBA,MAAA,KyCnuLM,iBAAA,QACE,apCLG,QL4uLX,sBAsBE,MAAO,QyCzwLP,iBAAA,QDiKwB,mDxC2mL1B,mDApBA,MAAA,QyCnvLM,iBAAA,QzC2wLN,oDApBA,MAAA,KyCjvLM,iBAAA,QACE,apCLG,QL0vLX,WAsBE,WAAY,Y0CtxLd,MAAA,MACE,OAAA,MACA,QAAA,MrCohD2B,MqCnhD3B,MAAA,0BACA,WAAA,YAAA,6TAAA,MAAA,CAAA,MAAA,KAAA,UACA,OAAA,EACA,cAAA,OACA,QAAA,G1CyxLF,iBApBA,MAAA,0B0ChwLE,gBAAA,KACE,QAAA,I1CwxLJ,iBApBA,QAAA,E0C/vLE,WAAA,KACE,QAAA,ErC4gDyB,oBL2wI7B,oBApBA,eAAA,K0C9vLE,oBAAA,KAEE,YAAA,KACA,QAAA,I1CgwLJ,iBAuBE,OAAQ,UAAU,gBAAgB,iBAnBpC,OAuBE,MAAO,M2C3zLT,UAAA,KACE,UAAA,QACA,eAAA,K1CmSI,iBAAA,iC0ChSJ,gBAAA,YACA,OAAA,IAAA,MAAA,6BACA,WAAA,EAAA,OAAA,OAAA,eACA,cAAA,O3C6zLF,eArBA,QAAA,EAwBA,kBArBA,QAAA,KAGA,iBAuBE,MAAO,Y2CxzLT,UAAA,KACE,eAAA,K3C2zLF,mCArBA,cAAA,OAGA,cAuBE,QAAS,K2CvzLX,YAAA,OACE,QAAA,OAAA,OACA,MAAA,6BACA,iBAAA,wCACA,gBAAA,YACA,cAAA,IAAA,MAAA,oCACA,wBAAA,mBACA,uBAAA,mB3C0zLF,yBArBA,YAAA,S2ClyLE,aAAA,O3CsyLF,YAuBE,QAAS,O2CvzLX,UAAA,W3CqyLA,OAuBE,SAAU,M4Cp2LZ,IAAA,EACE,MAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,OAAA,KACA,WAAA,OACA,WAAA,KACA,QAAA,E5Ck1LF,cAuBE,SAAU,S4C91LZ,MAAA,KACE,OAAA,MACA,eAAA,K5Ci2LF,0BArBA,WAAA,UAAA,IAAA,S4Ct0LE,UAAA,mB5C+1LF,uCArBA,0BgBx1LM,WAAA,MhBk3LN,0BArBA,UAAA,KAwBA,kCArBA,UAAA,YAGA,yBAuBE,OAAQ,kBAEV,wCArBA,WAAA,K4Cx0LE,SAAA,O5Ci2LF,qCArBA,WAAA,KAGA,uBAuBE,QAAS,K4C51LX,YAAA,OACE,WAAA,kB5C00LF,eAuBE,SAAU,S4C31LZ,QAAA,KACE,eAAA,OACA,MAAA,KACA,eAAA,KACA,iBAAA,2BAGA,gBAAA,YACA,OAAA,IAAA,MAAA,YACA,cAAA,MACA,QAAA,E5Cu0LF,gBAuBE,SAAU,M4Ct1LZ,IAAA,ECpFE,MAAA,EACA,QAAA,KACA,MAAA,MACA,OAAA,MACA,iBAAA,4B7C86LF,qBArBA,QAAA,EAwBA,qBArBA,QAAA,GAGA,cAuBE,QAAS,K4Ch2LX,YAAA,EACE,YAAA,OACA,gBAAA,cACA,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,oCACA,wBvCkxCkC,kBuCjxClC,uBAAA,kB5Cm2LF,yBArBA,QAAA,MAAA,M4C30LE,OAAA,OAAA,KAAA,OAAA,O5C+0LF,aAuBE,cAAe,E4C/1LjB,YAAA,I5C60LA,YAuBE,SAAU,S4C71LZ,KAAA,EAAA,EAAA,KACE,QAAA,K5C20LF,cAuBE,QAAS,K4C11LX,UAAA,KACE,YAAA,EACA,YAAA,OACA,gBAAA,SACA,QAAA,OACA,WAAA,IAAA,MAAA,oCACA,0BAAA,kBACA,2BAAA,kB5C61LF,gBArBA,OAAA,OAGA,yBAuBE,cQt6LE,UAAA,MoCkFF,OAAA,QAAA,K5Cm0LA,yBAuBE,OAAQ,oBAnBV,uBAuBE,WAAY,oBAnBd,UAuBE,UAAW,OAGf,yBArBA,UQl6LI,UoCuGF,UAAA,O5Cs1LF,0BArBA,UQx6LI,UAAA,QRk8LJ,kBArBA,MAAA,M4CtzLI,UAAA,KACE,OAAA,KACA,OAAA,E5C+0LN,iCArBA,OAAA,K4CtzLM,OAAA,EACE,cAAA,E5C+0LR,gCArBA,cAAA,EAwBA,8BArBA,WAAA,KAwBA,gCArBA,cAAA,EAGA,4BAuBE,0BQ38LE,MAAA,MoC0GA,UAAA,KACE,OAAA,KACA,OAAA,E5Cq2LJ,yCArBA,OAAA,K4C50LI,OAAA,EACE,cAAA,E5Cq2LN,wCArBA,cAAA,EAwBA,sCArBA,WAAA,KAwBA,wCArBA,cAAA,GAyBF,4BArBA,0BQ38LI,MAAA,MoC0GA,UAAA,KACE,OAAA,KACA,OAAA,E5C23LJ,yCArBA,OAAA,K4Cl2LI,OAAA,EACE,cAAA,E5C23LN,wCArBA,cAAA,EAwBA,sCArBA,WAAA,KAwBA,wCArBA,cAAA,GAyBF,4BArBA,0BQj+LI,MAAA,MoC0GA,UAAA,KACE,OAAA,KACA,OAAA,E5Ci5LJ,yCArBA,OAAA,K4Cx3LI,OAAA,EACE,cAAA,E5Ci5LN,wCArBA,cAAA,EAwBA,sCArBA,WAAA,KAwBA,wCArBA,cAAA,GAyBF,6BArBA,0BQv/LI,MAAA,MoC0GA,UAAA,KACE,OAAA,KACA,OAAA,E5Cu6LJ,yCArBA,OAAA,K4C94LI,OAAA,EACE,cAAA,E5Cu6LN,wCArBA,cAAA,EAwBA,sCArBA,WAAA,KAwBA,wCArBA,cAAA,GAyBF,6BArBA,2BQ7gMI,MAAA,MoC0GA,UAAA,KACE,OAAA,KACA,OAAA,E5C67LJ,0CArBA,OAAA,K4Cp6LI,OAAA,EACE,cAAA,E5C67LN,yCArBA,cAAA,EAwBA,uCArBA,WAAA,KAwBA,yCArBA,cAAA,GAyBF,SArBA,SAAA,S8C9mMA,QAAA,KACE,QAAA,MACA,OAAA,EACA,YAAA,MAAA,CAAA,WACA,WzCiwCkC,O0CrwClC,YAAA,IAEA,YAAA,IACA,WAAA,MACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KACA,UAAA,MACA,UAAA,W9CsRI,QAAA,EDs3LN,cArBA,QAAA,GAwBA,wBArBA,SAAA,S8CznME,QAAA,MACE,MAAA,MACA,OAAA,M9CkpMJ,gCArBA,SAAA,S8CznMI,QAAA,GACE,aAAA,YACA,aAAA,M9C6nMN,6CAAA,gBAuBE,QAAS,MAAO,E8C5oMhB,4D9C8oMF,+BArBA,OAAA,E8CtnMI,oE9C8oMJ,uCArBA,IAAA,K8CvnMI,aAAA,MAAA,MAAA,EACE,iBAAA,qB9C2nMN,+CAAA,gBAuBE,QAAS,EAAE,M8C1oMX,8D9C4oMF,+BArBA,MAAA,E8CrnME,MAAA,MACE,OAAA,MzCutCgC,sELu7JpC,uCArBA,KAAA,K8CrnMI,aAAA,MAAA,EAAA,MAAA,MACE,kBAAA,qB9CynMN,gDAAA,mBAuBE,QAAS,MAAO,E8CxoMhB,+D9C0oMF,kCArBA,IAAA,E8ClnMI,uE9C0oMJ,0CArBA,OAAA,K8CnnMI,aAAA,EAAA,MAAA,MACE,oBAAA,qB9CunMN,8CAAA,kBAuBE,QAAS,EAAE,M8CtoMX,6D9CwoMF,iCArBA,KAAA,E8CjnME,MAAA,MACE,OAAA,MzCyrCgC,qELi9JpC,yCArBA,MAAA,K8CjnMI,aAAA,MAAA,MAAA,MAAA,EACE,mBAAA,qB9CqnMN,eAuBE,UAAW,M8CrnMb,QAAA,MAAA,MACE,MAAA,wBACA,WAAA,OACA,iBAAA,qBACA,cAAA,M9CmmMF,SAuBE,SAAU,SgDzuMZ,IAAA,EACE,KAAA,EACA,QAAA,KACA,QAAA,MACA,UAAA,MACA,YAAA,MAAA,CAAA,WACA,WAAA,ODLA,YAAA,IAEA,YAAA,IACA,WAAA,MACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,YAAA,OACA,WAAA,KACA,UAAA,QACA,UAAA,W9CsRI,iBAAA,qB+CzRJ,gBAAA,YACA,OAAA,IAAA,MAAA,+BACA,cAAA,MhDsvMF,wBArBA,SAAA,SgD5tME,QAAA,MACE,MAAA,KACA,OAAA,M3CyxCgC,+BL49JpC,gCArBA,SAAA,SgD5tMI,QAAA,MAEE,QAAA,GACA,aAAA,YACA,aAAA,MhD+tMN,4DAAA,+BAuBE,OAAQ,mBgD7uMN,oEhD+uMJ,uCArBA,OAAA,EgDxtMI,aAAA,MAAA,MAAA,EACE,iBAAA,oCAEA,mEhD+uMN,sCArBA,OAAA,IgDvtMI,aAAA,MAAA,MAAA,EACE,iB3CkbwB,8BLyyL9B,8DAAA,+BAuBE,MAAO,mBgD1uMP,MAAA,MACE,OAAA,K3CqvCgC,sELw/JpC,uCArBA,MAAA,EgDptMI,aAAA,MAAA,EAAA,MAAA,MACE,kBAAA,oCAEA,qEhD2uMN,sCArBA,MAAA,IgDntMI,aAAA,MAAA,EAAA,MAAA,MACE,kB3C8ZwB,8BLyzL9B,+DAAA,kCAuBE,IAAK,mBgDruMH,uEhDuuMJ,0CArBA,IAAA,EgDhtMI,aAAA,EAAA,MAAA,MAAA,MACE,oBAAA,oCAEA,sEhDuuMN,yCArBA,IAAA,IgD/sMI,aAAA,EAAA,MAAA,MAAA,MACE,oB3C4YwB,8B2C1YxB,wEhDsuMN,2CArBA,SAAA,SgD5sME,IAAA,EACE,MAAA,IACA,QAAA,MACA,MAAA,KACA,aAAA,OACA,QAAA,GACA,cAAA,IAAA,MAAA,4BhDgtMJ,6DAAA,iCAuBE,KAAM,mBgDhuMN,MAAA,MACE,OAAA,K3CmsCgC,qELgiKpC,yCArBA,KAAA,EgD1sMI,aAAA,MAAA,MAAA,MAAA,EACE,mBAAA,oCAEA,oEhDiuMN,wCArBA,KAAA,IgDzsMI,aAAA,MAAA,MAAA,MAAA,EACE,mB3C4WwB,8BLi2L9B,gBAuBE,QAAS,MAAO,MgD7sMlB,cAAA,EACE,UAAA,MACA,MAAA,+B/CuJI,iBALI,4B+ChJR,cAAA,IAAA,MAAA,+BACA,wBAAA,kBACA,uBAAA,kBhDgtMF,sBArBA,QAAA,KAGA,cAuBE,QAAS,MAAO,MgD7sMlB,MAAA,6BhD2rMA,UAuBE,SAAU,SAnBZ,wBAuBE,aAAc,MAnBhB,gBAuBE,SAAU,SiD/1MZ,MAAA,KACE,SAAA,OjDk2MF,uBArBA,QAAA,MkDj2ME,MAAA,KACE,QAAA,GlDq2MJ,eAuBE,SAAU,SiDn2MZ,QAAA,KACE,MAAA,MACA,MAAA,KACA,YAAA,MACA,4BAAA,OACA,oBAAA,OACA,WAAA,UAAA,IAAA,YjDs2MF,uCAtBA,egB91MM,WAAA,MhB23MN,oBiDz2MA,oBjDi1MA,sBA0BE,QAAS,MApBX,0BAsBA,8CAEE,UAAW,iBAIb,4BADA,4CArBA,UAAA,kBiDj1MA,8BjD22ME,QAAS,EiDz2MT,oBAAA,QjDo1MF,UAAA,KiDz0ME,uDjDo2MF,qDiD52MA,qCAUI,QAAA,EACA,QAAA,EjDs2MJ,yCiDn2ME,2CjDo2MA,QAAS,EiDj2MP,QAAA,EACA,WAAA,QAAA,GAAA,IAGF,uCjDm2MF,yCADE,2CiD/1ME,WAAA,MjDs2MJ,uBADA,uBAEE,SgBj6MM,ShB24MN,IAAA,EACF,OAAA,EAwBE,QAAS,EiDh2MX,QAAA,KjDk2ME,YAAa,OiDh2Mb,gBAAA,OACA,MAAA,IACA,QAAA,EACA,MAAA,iCAEA,WAAA,OACA,WAAA,IACA,OAAA,EACA,QAAA,GACA,WAAA,QAAA,KAAA,KjDk2MF,uCAEA,uBiDj2ME,uBAEA,W5Cg4CmC,MLq+JrC,6BADA,6BgBz7MM,6BAAA,6BhB27MJ,MgB17MM,iChBo6MN,gBAAA,KACF,QAAA,EiD70ME,QAAA,GjDw2MF,uBiDr2MI,MAAA,EjDk1MJ,uBAwBE,KAAM,EAIR,4BAxBA,4BiD70MA,QAAA,aACE,MAAA,KjDg1MF,OAAA,KAwBE,kBAAmB,UiDn2MrB,oBAAA,IjDq2ME,gBAAiB,KAAK,KAExB,4BiDn2ME,iB5Cw3CmC,wPL++JrC,4BAtBA,iBAAA,yPA0BA,qBACE,SAAU,SACV,KAAM,EACN,OAAQ,EACR,MAAO,EACP,QAAS,EACT,QiD32MF,KAQA,gBAAA,OACE,QAAA,EjD80MF,YAAA,IAwBE,cAAe,KiDp2MjB,aAAA,IACE,WAAA,KjDu2MF,sCiD/1MA,WAAA,YACE,KAAA,EAAA,EAAA,KACA,MAAA,KACA,OAAA,IACA,QAAA,EACA,YAAA,IACA,aAAA,IACA,YAAA,OACA,OAAA,QAEA,iB5Ci0CmC,uC4Ch0CnC,gBAAA,YACA,OAAA,EACA,WAAA,KAAA,MAAA,YjDy0MF,cAAA,KAAA,MAAA,YiDv0ME,QAAA,GACE,WAAA,QAAA,IAAA,KjDi2MJ,uCiD91MI,sCACA,WAAA,MjDk2MJ,6BiD91MI,QAAA,EjDk2MJ,kBiD71MI,SAAA,SACA,KAAA,IACA,OAAA,QjC5KE,MAAA,IhBq/MN,YAAA,QgBj/MM,eAAA,QiCwJJ,MAAA,iCjDm3MA,WgB1gNM,OiC2KN,2CjDm2MF,2CAtBA,OAAA,UAAA,eiDn0MA,qDACE,iBAAA,4CjD81MF,iCiD31ME,MAAA,sCjD+1MF,0BiD31ME,GjDs0MF,UAAA,gBA0BA,gBiDx1MI,QAAA,ajDm0MJ,MAAA,KiDh0ME,OAAA,KACE,eAAA,QjDk0MJ,OAAA,MAAA,MAAA,aiD/zME,kBAAA,YACE,cAAA,IjDi0MJ,UAAA,KAAA,OAAA,SAAA,eA0BA,mBACE,MmDxjNK,KnDkiNL,OAAA,KACF,aAAA,KA0BA,wBmDtjNE,GACA,UAAA,SAEA,IAEA,QAAA,EACA,UAAA,MAGF,cACE,QAAA,aACA,MAAA,KACA,OAAA,KnDgiNF,eAAA,QAwBE,iBAAkB,amDhjNpB,cAAA,IACE,QAAA,EnDkjNA,UmDjjNE,KAAA,OAAA,SAAA,anDojNJ,iBACE,MmDjjNE,KnD2hNF,OAAA,KA0BF,uCmD9iNE,gBnDgjNF,cmD9iNE,mBAAA,MnDkjNF,WmD7iNE,SAAA,MnDwhNF,OAAA,EAwBE,QAAS,KmD7iNX,QAAA,KACE,e9Cy9CwB,O8Cx9CxB,UAAA,KnDwhNF,WAAA,OAwBE,iBAAkB,2BmD5iNlB,gBAAA,YACE,QAAA,EnD8iNF,WAAY,UAAU,IAAK,YAE7B,uCAtBA,WoDzlNA,WAAA,MpDqnNA,oBoDhnNE,SAAA,MACA,IAAA,EAEA,MAAA,EACA,QAAA,KACA,MAAA,MACA,OAAA,MpCKI,iBAAA,4BAIA,yBoCpBN,QAAA,EpDioNA,yBAtBA,QAAA,GA0BA,kB6CloNE,QAAA,KACA,YAAA,OACA,gBxCygCkC,cwCxgClC,QAAA,KAAA,K7CqoNF,6BAtBA,QAAA,MAAA,M6C1mNE,WAAA,OAAS,YAAA,O7C6mNX,cAAA,OAGA,iBAwBE,cAAe,EoD/nNjB,YAAA,IpDmoNA,gBoD/nNE,UAAA,EpD0mNF,QAAA,KAAA,KoDxmNE,WAAA,KpDmoNF,iBoD/nNI,IAAA,EpD0mNJ,MAAA,EAwBE,MAAO,MoD9nNT,YAAA,IAAA,MAAA,YACE,UAAA,iBpDkoNF,eoD9nNA,IAAA,EACE,KAAA,EACA,MAAA,MACA,aAAA,IAAA,MAAA,YpDymNF,UAAA,kBA0BA,eoD9nNE,IAAA,EACA,KAAA,EACA,MAAA,EACA,OAAA,KpDymNF,WAAA,KAwBE,cAAe,IAAI,MAAM,YoD9nN3B,UAAA,kBpDkoNA,kBoD9nNE,KAAA,EACA,MAAA,EpDymNF,OAAA,KAwBE,WAAY,KoD9nNd,WAAA,IAAA,MAAA,YACE,UAAA,iBpDkoNF,gBoD9nNE,UAAA,KpD2mNF,aAwBE,QAAS,aoD9nNX,WAAA,IACE,eAAA,OACA,OAAA,KACA,iB/Cs+CkC,a+Cr+ClC,QAAA,GpDioNF,yBAtBA,QAAA,aAwBE,QAAS,GApBX,gBAwBE,WAAY,KAGd,gBqDltNE,WAAA,KrDstNF,gBAtBA,WAAA,MA0BA,+BAtBA,UAAA,iBAAA,GAAA,YAAA,SA0BA,4BAtBA,IAwBI,QAAS,IApBb,kBAwBE,mBAAoB,6DqDhtNtB,WAAA,6DACE,kBAAA,KAAA,KrD2rNF,UAAA,KAAA,KAwBE,UAAW,iBAAiB,GAAG,OAAO,SApBxC,4BAwBE,KqD7sNF,sBAAA,MAAA,EACE,cAAA,MAAA,GrD0rNF,iBqDrrNA,QAAA,MACE,MAAA,KrD8sNA,QqD9sNA,GrDitNF,cAxBA,MAAA,QqDprNA,oBAAA,oBACE,MAAA,QrDktNF,gBAzBA,MAAA,QkDruNI,sBlDiwNJ,sBkDhwNI,MAAA,QlDowNJ,csDvwNE,MAAA,QtDgvNF,oBAAA,oBsD5uNM,MAAA,QtD0wNN,WsD9wNE,MAAA,QtDuvNF,iBAAA,iBsDnvNM,MAAA,QtDixNN,csDrxNE,MAAA,QtD8vNF,oBAAA,oBsD1vNM,MAAA,QtDwxNN,asD5xNE,MAAA,QtDqwNF,mBAAA,mBsDjwNM,MAAA,QtD+xNN,YsDnyNE,MAAA,QtD4wNF,kBAAA,kBsDxwNM,MAAA,QtDsyNN,WsD1yNE,MAAA,QtDmxNF,iBAAA,iBsD/wNM,MAAA,QtD6yNN,WsDjzNE,MAAA,QtD0xNF,iBAAA,iBsDtxNM,MAAA,QtDozNN,asDxzNE,MAAA,QtDiyNF,mBAAA,mBsD7xNM,MAAA,QtD2zNN,WsD/zNE,MAAA,QtDwyNF,iBAAA,iBsDpyNM,MAAA,QtDk0NN,OsDt0NE,SAAA,SACE,MAAA,KAGE,eAEE,QAAA,MtD4yNR,YAAA,uBA2BE,QAAS,GAEX,SAzBA,SAAA,SsDlzNM,IAAA,EAEE,MAAA,EtDmzNR,MAAA,KA2BE,OAAQ,KAGV,WAzBA,kBAAA,KA6BA,WuDn1NI,kBAAA,IvDu1NJ,YuDl1NI,kBAAA,OvDs1NJ,YAzBA,kBAAA,eA6BA,WAzBA,SAAA,MA2BE,IAAK,EuDp1NL,KAAA,EACE,MAAA,EvD4zNJ,QAAA,KA6BA,cAzBA,SAAA,MA2BE,KAAM,EuD51NN,OAAA,EACE,MAAA,EvDo0NJ,QAAA,KA6BA,YwDp3NE,SAAA,OACA,IAAA,EACA,QAAA,KxDw3NF,yBwDp3NA,eACE,SAAA,OACA,IAAA,EACA,QAAA,MxD81NF,yBA2BE,ewD/2NE,SAAA,OACE,IAAA,EACA,QAAA,MxDm3NN,yBQ70NI,egDxCA,SAAA,OACE,IAAA,EACA,QAAA,MxDg2NN,0BQ1zNI,egDxCA,SAAA,OACE,IAAA,EACA,QAAA,MxDu2NN,0BQj0NI,gBgDxCA,SAAA,OACE,IAAA,EACA,QAAA,MxD82NN,QQx0NI,QAAA,KgDxCA,eAAA,IxD64NF,YwD54NI,OxD64NJ,WwD54NI,QxDq3NN,QQ/0NI,QAAA,KgDxCA,KAAA,EAAA,EAAA,KxDo5NF,ewDn5NI,OxDo5NJ,WwDn5NI,QxD43NN,iByDp5NA,0DACE,SAAA,mBACA,MAAA,cACA,OAAA,cACA,QAAA,YzDs5NF,OAAA,eA2BE,SAAU,iByD96NZ,KAAA,wBACE,YAAA,iBACA,OAAA,YzDw5NF,uBA2BE,SAAU,S0Dz7NZ,IAAA,E1D27NE,KAAM,E2Dv7NN,OAAA,EACA,MAAA,EACA,QAAA,EACA,QAAA,G3D27NF,e2Dv7NE,SAAA,OACA,cAAA,S3D+5NF,YAAA,OA6BA,I4Dr8NI,QAAA,aACA,WAAA,QACA,MAAA,IACA,WAAA,IACA,iBvDsZsC,auDrZtC,QAAA,ECRJ,gBCAE,eAAA,mB9D27NF,WA2BE,eAAgB,cAGlB,c+D19NE,eAAA,iB/D89NF,cAzBA,eAAA,iBA6BA,mBAzBA,eAAA,sBA6BA,gBAzBA,eAAA,mBA6BA,aAzBA,MAAA,gBA6BA,WAzBA,MAAA,eA6BA,YAzBA,MAAA,eA6BA,WAzBA,QAAA,YA6BA,YAzBA,QAAA,cA6BA,YAzBA,QAAA,aA6BA,YAzBA,QAAA,cA6BA,aAzBA,QAAA,YA6BA,eAzBA,SAAA,eA6BA,iBAzBA,SAAA,iBA6BA,kBAzBA,SAAA,kBA6BA,iBAzBA,SAAA,iBA6BA,UAzBA,QAAA,iBA6BA,gBAzBA,QAAA,uBA6BA,SAzBA,QAAA,gBA6BA,QAzBA,QAAA,eA6BA,SAzBA,QAAA,gBA6BA,aAzBA,QAAA,oBA6BA,cAzBA,QAAA,qBA6BA,QAzBA,QAAA,eA6BA,eAzBA,QAAA,sBA6BA,QAzBA,QAAA,eA6BA,QAzBA,WAAA,+BA6BA,WAzBA,WAAA,kCA6BA,WAzBA,WAAA,kCA6BA,aAzBA,WAAA,eA6BA,iBAzBA,SAAA,iBA6BA,mBAzBA,SAAA,mBA6BA,mBAzBA,SAAA,mBA6BA,gBAzBA,SAAA,gBA6BA,iBAzBA,SAAA,iBA6BA,OAzBA,IAAA,YA6BA,QAzBA,IAAA,cA6BA,SAzBA,IAAA,eA6BA,UAzBA,OAAA,YA6BA,WAzBA,OAAA,cA6BA,YAzBA,OAAA,eA6BA,SAzBA,MAAA,YA6BA,UAzBA,MAAA,cA6BA,WAzBA,MAAA,eA6BA,OAzBA,KAAA,YA6BA,QAzBA,KAAA,cA6BA,SAzBA,KAAA,eA6BA,kBAzBA,UAAA,8BA6BA,oBAzBA,UAAA,0BA6BA,oBAzBA,UAAA,2BA6BA,QAzBA,OAAA,IAAA,MAAA,iCA6BA,UAzBA,OAAA,YA6BA,YAzBA,WAAA,IAAA,MAAA,iCA6BA,cAzBA,WAAA,YA6BA,YAzBA,YAAA,IAAA,MAAA,iCA6BA,cAzBA,YAAA,YA6BA,eAzBA,cAAA,IAAA,MAAA,iCA6BA,iBAzBA,cAAA,YA6BA,cAzBA,aAAA,IAAA,MAAA,iCA6BA,gBAzBA,aAAA,YA6BA,gBAzBA,aAAA,kBA6BA,kBAzBA,aAAA,kBA6BA,gBAzBA,aAAA,kBA6BA,aAzBA,aAAA,kBA6BA,gBAzBA,aAAA,kBA6BA,eAzBA,aAAA,kBA6BA,cAzBA,aAAA,kBA6BA,aAzBA,aAAA,kBA6BA,aAzBA,aAAA,kBA6BA,eAzBA,aAAA,kBA6BA,aAzBA,aAAA,kBA6BA,cAzBA,aAAA,eA6BA,UAzBA,aAAA,YA6BA,UAzBA,aAAA,cA6BA,UAzBA,aAAA,cA6BA,UAzBA,aAAA,cA6BA,UAzBA,aAAA,cA6BA,UAzBA,aAAA,cA6BA,MAzBA,MAAA,cA6BA,MAzBA,MAAA,cA6BA,MAzBA,MAAA,cA6BA,OAzBA,MAAA,eA6BA,QAzBA,MAAA,eA6BA,QAzBA,UAAA,eA6BA,QAzBA,MAAA,gBA6BA,YAzBA,UAAA,gBA6BA,MAzBA,OAAA,cA6BA,MAzBA,OAAA,cA6BA,MAzBA,OAAA,cA6BA,OAzBA,OAAA,eA6BA,QAzBA,OAAA,eA6BA,QAzBA,WAAA,eA6BA,QAzBA,OAAA,gBA6BA,YAzBA,WAAA,gBA6BA,WAzBA,KAAA,EAAA,EAAA,eA6BA,UAzBA,eAAA,cA6BA,aAzBA,eAAA,iBA6BA,kBAzBA,eAAA,sBA6BA,qBAzBA,eAAA,yBA6BA,aAzBA,UAAA,YA6BA,aAzBA,UAAA,YA6BA,eAzBA,YAAA,YA6BA,eAzBA,YAAA,YA6BA,WAzBA,UAAA,eA6BA,aAzBA,UAAA,iBA6BA,mBAzBA,UAAA,uBA6BA,OAzBA,IAAA,YA6BA,OAzBA,IAAA,kBA6BA,OAzBA,IAAA,iBA6BA,OAzBA,IAAA,iBA6BA,OAzBA,IAAA,kBA6BA,OAzBA,IAAA,iBA6BA,uBAzBA,gBAAA,qBA6BA,qBAzBA,gBAAA,mBA6BA,wBAzBA,gBAAA,iBA6BA,yBAzBA,gBAAA,wBA6BA,wBAzBA,gBAAA,uBA6BA,wBAzBA,gBAAA,uBA6BA,mBAzBA,YAAA,qBA6BA,iBAzBA,YAAA,mBA6BA,oBAzBA,YAAA,iBA6BA,sBAzBA,YAAA,mBA6BA,qBAzBA,YAAA,kBA6BA,qBAzBA,cAAA,qBA6BA,mBAzBA,cAAA,mBA6BA,sBAzBA,cAAA,iBA6BA,uBAzBA,cAAA,wBA6BA,sBAzBA,cAAA,uBA6BA,uBAzBA,cAAA,kBA6BA,iBAzBA,WAAA,eA6BA,kBAzBA,WAAA,qBA6BA,gBAzBA,WAAA,mBA6BA,mBAzBA,WAAA,iBA6BA,qBAzBA,WAAA,mBA6BA,oBAzBA,WAAA,kBA6BA,aAzBA,MAAA,aA6BA,SAzBA,MAAA,YA6BA,SAzBA,MAAA,YA6BA,SAzBA,MAAA,YA6BA,SAzBA,MAAA,YA6BA,SAzBA,MAAA,YA6BA,SAzBA,MAAA,YA6BA,YAzBA,MAAA,YA6BA,KAzBA,OAAA,YA6BA,KAzBA,OAAA,kBA6BA,KAzBA,OAAA,iBA6BA,KAzBA,OAAA,iBA6BA,KAzBA,OAAA,kBA6BA,KAzBA,OAAA,iBA6BA,QAzBA,OAAA,eA6BA,MAzBA,YAAA,YA2BE,aAAc,YAvBhB,MA2BE,YAAa,kBgE5/OP,aAAA,kBhEggPR,MgEhgPQ,YAAA,iBAOI,aAAA,iBAPJ,MAOI,YAAA,iBAAA,aAAA,iBAPJ,MAOI,YAAA,kBAAA,aAAA,kBAPJ,MAOI,YAAA,iBAAA,aAAA,iBAPJ,SAOI,YAAA,eAAA,aAAA,eAPJ,MAOI,WAAA,YAAA,cAAA,YAPJ,MAOI,WAAA,kBAAA,cAAA,kBAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,MAOI,WAAA,kBAAA,cAAA,kBAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,MAOI,WAAA,YhEyjPZ,MgEhkPQ,WAAA,kBhE0iPR,MA2BE,WAAY,iBAGd,MAzBA,WAAA,iBA6BA,MAzBA,WAAA,kBA6BA,MAzBA,WAAA,iBA6BA,SAzBA,WAAA,eA6BA,MAzBA,YAAA,YA6BA,MAzBA,YAAA,kBA6BA,MAzBA,YAAA,iBA6BA,MAzBA,YAAA,iBA6BA,MAzBA,YAAA,kBA6BA,MAzBA,YAAA,iBA6BA,SAzBA,YAAA,eA6BA,MAzBA,cAAA,YA6BA,MAzBA,cAAA,kBA6BA,MAzBA,cAAA,iBA6BA,MAzBA,cAAA,iBA6BA,MAzBA,cAAA,kBA6BA,MAzBA,cAAA,iBA6BA,SAzBA,cAAA,eA6BA,MAzBA,aAAA,YA6BA,MAzBA,aAAA,kBA6BA,MAzBA,aAAA,iBA6BA,MAzBA,aAAA,iBA6BA,MAzBA,aAAA,kBA6BA,MAzBA,aAAA,iBA6BA,SAzBA,aAAA,eA6BA,MAzBA,OAAA,mBA6BA,MAzBA,OAAA,kBA6BA,MAzBA,OAAA,kBA6BA,MAzBA,OAAA,mBA6BA,MAzBA,OAAA,kBA6BA,OAzBA,YAAA,mBA2BE,aAAc,mBAvBhB,OA2BE,YAAa,kBgEtsPP,aAAA,kBhE0sPR,OgE1sPQ,YAAA,kBAOI,aAAA,kBAPJ,OAOI,YAAA,mBAAA,aAAA,mBAPJ,OAOI,YAAA,kBAAA,aAAA,kBAPJ,OAOI,WAAA,mBAAA,cAAA,mBAPJ,OAOI,WAAA,kBAAA,cAAA,kBAPJ,OAOI,WAAA,kBAAA,cAAA,kBAPJ,OAOI,WAAA,mBAAA,cAAA,mBAPJ,OAOI,WAAA,kBAAA,cAAA,kBAPJ,OAOI,WAAA,mBhE+uPZ,OgEtvPQ,WAAA,kBhEguPR,OA2BE,WAAY,kBAGd,OAzBA,WAAA,mBA6BA,OAzBA,WAAA,kBA6BA,OAzBA,YAAA,mBA6BA,OAzBA,YAAA,kBA6BA,OAzBA,YAAA,kBA6BA,OAzBA,YAAA,mBA6BA,OAzBA,YAAA,kBA6BA,OAzBA,cAAA,mBA6BA,OAzBA,cAAA,kBA6BA,OAzBA,cAAA,kBA6BA,OAzBA,cAAA,mBA6BA,OAzBA,cAAA,kBA6BA,OAzBA,aAAA,mBA6BA,OAzBA,aAAA,kBA6BA,OAzBA,aAAA,kBA6BA,OAzBA,aAAA,mBA6BA,OAzBA,aAAA,kBA6BA,KAzBA,QAAA,YA6BA,KAzBA,QAAA,kBA6BA,KAzBA,QAAA,iBA6BA,KAzBA,QAAA,iBA6BA,KAzBA,QAAA,kBA6BA,KAzBA,QAAA,iBA6BA,MAzBA,aAAA,YA2BE,cAAe,YAvBjB,MA2BE,aAAc,kBgEh2PR,cAAA,kBhEo2PR,MgEp2PQ,aAAA,iBAOI,cAAA,iBAPJ,MAOI,aAAA,iBAAA,cAAA,iBAPJ,MAOI,aAAA,kBAAA,cAAA,kBAPJ,MAOI,aAAA,iBAAA,cAAA,iBAPJ,MAOI,YAAA,YAAA,eAAA,YAPJ,MAOI,YAAA,kBAAA,eAAA,kBAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,kBAAA,eAAA,kBAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,YhEm5PZ,MgE15PQ,YAAA,kBhEo4PR,MA2BE,YAAa,iBAGf,MAzBA,YAAA,iBA6BA,MAzBA,YAAA,kBA6BA,MAzBA,YAAA,iBA6BA,MAzBA,aAAA,YA6BA,MAzBA,aAAA,kBA6BA,MAzBA,aAAA,iBA6BA,MAzBA,aAAA,iBA6BA,MAzBA,aAAA,kBA6BA,MAzBA,aAAA,iBA6BA,MAzBA,eAAA,YA6BA,MAzBA,eAAA,kBA6BA,MAzBA,eAAA,iBA6BA,MAzBA,eAAA,iBA6BA,MAzBA,eAAA,kBA6BA,MAzBA,eAAA,iBA6BA,MAzBA,cAAA,YA6BA,MAzBA,cAAA,kBA6BA,MAzBA,cAAA,iBA6BA,MAzBA,cAAA,iBA6BA,MAzBA,cAAA,kBA6BA,MAzBA,cAAA,iBA6BA,gBAzBA,YAAA,mCA6BA,MAzBA,UAAA,gCA6BA,MAzBA,UAAA,kCA6BA,MAzBA,UAAA,gCA6BA,MAzBA,UAAA,mBA6BA,MAzBA,UAAA,mBA6BA,MAzBA,UAAA,iBA6BA,YAzBA,WAAA,iBA6BA,YAzBA,WAAA,iBA6BA,UAzBA,YAAA,cA6BA,YAzBA,YAAA,kBA6BA,WAzBA,YAAA,cA6BA,SAzBA,YAAA,cA6BA,WAzBA,YAAA,iBA6BA,MAzBA,YAAA,YA6BA,OAzBA,YAAA,eA6BA,SAzBA,YAAA,cA6BA,OAzBA,YAAA,YA6BA,YAzBA,WAAA,gBA6BA,UAzBA,WAAA,eA6BA,aAzBA,WAAA,iBA6BA,sBAzBA,gBAAA,eA6BA,2BAzBA,gBAAA,oBA6BA,8BAzBA,gBAAA,uBA6BA,gBAzBA,eAAA,oBA6BA,gBAzBA,eAAA,oBA6BA,iBAzBA,eAAA,qBA6BA,WAzBA,YAAA,iBA6BA,aAzBA,YAAA,iBgE7kQQ,cAOI,kBAAA,EhE0kQZ,MAAA,6DA6BA,gBAzBA,kBAAA,EA2BE,MAAO,+DAvBT,cA2BE,kBAAmB,EgEpnQb,MAAA,6DhEwnQR,WgEtoQQ,kBAAA,EAcA,MAAA,0DhEmmQR,cA2BE,kBAAmB,EgEzmQb,MAAA,6DhE6mQR,aAzBA,kBAAA,EA2BE,MAAO,4DAGT,YAzBA,kBAAA,EA2BE,MAAO,2DAGT,WAzBA,kBAAA,EA2BE,MAAO,0DAGT,YAzBA,kBAAA,EA2BE,MAAO,2DAGT,YAzBA,kBAAA,EA2BE,MAAO,2DAGT,WAzBA,kBAAA,EA2BE,MAAO,gEAGT,YAzBA,kBAAA,EA2BE,MAAO,+BAGT,eAzBA,kBAAA,EA2BE,MAAO,yBAGT,eAzBA,kBAAA,EA2BE,MAAO,+BAGT,YAzBA,kBAAA,EA2BE,MAAO,kBAGT,iBAzBA,kBAAA,KA6BA,iBgEjrQY,kBAAA,IAPJ,iBAIQ,kBAAA,KhE4rQhB,kBgEhsQQ,kBAAA,EhE0qQR,YA2BE,gBAAiB,EgErsQX,iBAAA,2DhE+qQR,cA2BE,gBAAiB,EgEptQX,iBAAA,6DhEwtQR,YgExtQQ,gBAAA,EACE,iBAAA,2DADF,SACE,gBAAA,EhEosQV,iBAAA,wDA6BA,YAzBA,gBAAA,EA2BE,iBAAkB,2DAGpB,WAzBA,gBAAA,EA2BE,iBAAkB,0DAGpB,UAzBA,gBAAA,EA2BE,iBAAkB,yDAGpB,SAzBA,gBAAA,EA2BE,iBAAkB,wDAGpB,UAzBA,gBAAA,EA2BE,iBAAkB,yDAGpB,UAzBA,gBAAA,EA2BE,iBAAkB,yDAGpB,SAzBA,gBAAA,EA2BE,iBAAkB,2DAGpB,gBAzBA,gBAAA,EA2BE,iBAAkB,sBAGpB,eAzBA,gBAAA,IA6BA,egE7vQY,gBAAA,KAPJ,eAIQ,gBAAA,IhEwwQhB,egE5wQQ,gBAAA,KhEsvQR,gBA2BE,gBAAiB,EAGnB,aAzBA,iBAAA,6BA6BA,iBAzBA,oBAAA,cA2BU,YAAa,cAvBvB,kBA2BE,oBAAqB,egExyQf,YAAA,ehE4yQR,kBgE5yQQ,oBAAA,eACE,YAAA,eADF,SACE,eAAA,eASF,SAOI,eAAA,eAPJ,SAOI,cAAA,iBhE4yQZ,WgEnzQQ,cAAA,YhE2xQR,WA6BE,cAAe,gBAGjB,WA5BA,cAAA,iBAgCA,WA5BA,cAAA,gBAgCA,gBA5BA,cAAA,cAgCA,cA5BA,cAAA,gBAgCA,aA5BA,wBAAA,iBA8BE,uBAAwB,iBA1B1B,aA8BE,uBAAwB,iBgEj1QlB,0BAAA,iBhEq1QR,gBgEr1QQ,0BAAA,iBAOI,2BAAA,iBAPJ,eAOI,2BAAA,iBhEwzQZ,wBAAA,iBAgCA,SA5BA,WAAA,kBAgCA,WgE51QY,WAAA,iBAPJ,yBAOI,gBAAA,MAAA,gBAPJ,cAOI,MAAA,ehEy2QV,egEh3QM,MAAA,ehEu1QR,aA8BI,QAAS,iBA1Bb,mBA8BI,QAAS,uBA1Bb,YA8BI,QAAS,gBAGX,WA5BA,QAAA,eAgCA,YA5BA,QAAA,gBAgCA,gBA5BA,QAAA,oBAgCA,iBA5BA,QAAA,qBAgCA,WA5BA,QAAA,eAgCA,kBA5BA,QAAA,sBAgCA,WA5BA,QAAA,eAgCA,cA5BA,KAAA,EAAA,EAAA,eAgCA,aA5BA,eAAA,cAgCA,gBA5BA,eAAA,iBAgCA,qBA5BA,eAAA,sBAgCA,wBA5BA,eAAA,yBAgCA,gBA5BA,UAAA,YAgCA,gBA5BA,UAAA,YAgCA,kBA5BA,YAAA,YAgCA,kBA5BA,YAAA,YAgCA,cA5BA,UAAA,eAgCA,gBA5BA,UAAA,iBAgCA,sBA5BA,UAAA,uBAgCA,UA5BA,IAAA,YAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,0BA5BA,gBAAA,qBAgCA,wBA5BA,gBAAA,mBAgCA,2BA5BA,gBAAA,iBAgCA,4BA5BA,gBAAA,wBAgCA,2BA5BA,gBAAA,uBAgCA,2BA5BA,gBAAA,uBAgCA,sBA5BA,YAAA,qBAgCA,oBA5BA,YAAA,mBAgCA,uBA5BA,YAAA,iBAgCA,yBA5BA,YAAA,mBAgCA,wBA5BA,YAAA,kBAgCA,wBA5BA,cAAA,qBAgCA,sBA5BA,cAAA,mBAgCA,yBA5BA,cAAA,iBAgCA,0BA5BA,cAAA,wBAgCA,yBA5BA,cAAA,uBAgCA,0BA5BA,cAAA,kBAgCA,oBA5BA,WAAA,eAgCA,qBA5BA,WAAA,qBAgCA,mBA5BA,WAAA,mBAgCA,sBA5BA,WAAA,iBAgCA,wBA5BA,WAAA,mBAgCA,uBA5BA,WAAA,kBAgCA,gBA5BA,MAAA,aAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,eA5BA,MAAA,YAgCA,QA5BA,OAAA,YAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,WA5BA,OAAA,eAgCA,SA5BA,YAAA,YA8BE,aAAc,YA1BhB,SA8BE,YAAa,kBgEloRT,aAAA,kBhEsoRN,SgEtoRM,YAAA,iBAOI,aAAA,iBAPJ,SAOI,YAAA,iBhEymRV,aAAA,iBAgCA,SA5BA,YAAA,kBA8BE,aAAc,kBAGhB,SA5BA,YAAA,iBA8BE,aAAc,iBAGhB,YA5BA,YAAA,eA8BE,aAAc,eAGhB,SA5BA,WAAA,YA8BE,cAAe,YAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,YA5BA,WAAA,eA8BE,cAAe,eAGjB,SA5BA,WAAA,YAgCA,SgE/rRU,WAAA,kBAPJ,SAOI,WAAA,iBhEusRV,SgE9sRM,WAAA,iBhEqrRN,SA8BE,WAAY,kBAGd,SA5BA,WAAA,iBAgCA,YA5BA,WAAA,eAgCA,SA5BA,YAAA,YAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,YA5BA,YAAA,eAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,YA5BA,cAAA,eAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,YA5BA,aAAA,eAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,UA5BA,YAAA,mBA8BE,aAAc,mBA1BhB,UA8BE,YAAa,kBgE50RT,aAAA,kBhEg1RN,UgEh1RM,YAAA,kBAOI,aAAA,kBAPJ,UAOI,YAAA,mBhEmzRV,aAAA,mBAgCA,UA5BA,YAAA,kBA8BE,aAAc,kBAGhB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBAgCA,UgEr3RU,WAAA,kBAPJ,UAOI,WAAA,kBhE63RV,UgEp4RM,WAAA,mBhE22RN,UA8BE,WAAY,kBAGd,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,QA5BA,QAAA,YAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,SA5BA,aAAA,YA8BE,cAAe,YA1BjB,SA8BE,aAAc,kBgEt+RV,cAAA,kBhE0+RN,SgE1+RM,aAAA,iBAOI,cAAA,iBAPJ,SAOI,aAAA,iBhE68RV,cAAA,iBAgCA,SA5BA,aAAA,kBA8BE,cAAe,kBAGjB,SA5BA,aAAA,iBA8BE,cAAe,iBAGjB,SA5BA,YAAA,YA8BE,eAAgB,YAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,YAgCA,SgEzhSU,YAAA,kBAPJ,SAOI,YAAA,iBhEiiSV,SgExiSM,YAAA,iBhE+gSN,SA8BE,YAAa,kBAGf,SA5BA,YAAA,iBAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,eAAA,YAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,eA5BA,WAAA,gBAgCA,aA5BA,WAAA,eAgCA,gBA5BA,WAAA,kBAgCF,yBA5BE,gBA8BE,MAAO,gBA1BT,cA8BE,MAAO,eA1BT,eA8BE,MAAO,eA1BT,aA8BE,QAAS,iBA1BX,mBA8BE,QAAS,uBA1BX,YACF,QAAA,gBAgCE,WA5BA,QAAA,eAgCA,YA5BA,QAAA,gBAgCA,gBA5BA,QAAA,oBAgCA,iBA5BA,QAAA,qBAgCA,WA5BA,QAAA,eAgCA,kBA5BA,QAAA,sBAgCA,WA5BA,QAAA,eAgCA,cA5BA,KAAA,EAAA,EAAA,eAgCA,aA5BA,eAAA,cAgCA,gBA5BA,eAAA,iBAgCA,qBA5BA,eAAA,sBAgCA,wBA5BA,eAAA,yBAgCA,gBA5BA,UAAA,YAgCA,gBA5BA,UAAA,YAgCA,kBA5BA,YAAA,YAgCA,kBA5BA,YAAA,YAgCA,cA5BA,UAAA,eAgCA,gBA5BA,UAAA,iBAgCA,sBA5BA,UAAA,uBAgCA,UA5BA,IAAA,YAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,0BA5BA,gBAAA,qBAgCA,wBA5BA,gBAAA,mBAgCA,2BA5BA,gBAAA,iBAgCA,4BA5BA,gBAAA,wBAgCA,2BA5BA,gBAAA,uBAgCA,2BA5BA,gBAAA,uBAgCA,sBA5BA,YAAA,qBAgCA,oBA5BA,YAAA,mBAgCA,uBA5BA,YAAA,iBAgCA,yBA5BA,YAAA,mBAgCA,wBA5BA,YAAA,kBAgCA,wBA5BA,cAAA,qBAgCA,sBA5BA,cAAA,mBAgCA,yBA5BA,cAAA,iBAgCA,0BA5BA,cAAA,wBAgCA,yBA5BA,cAAA,uBAgCA,0BA5BA,cAAA,kBAgCA,oBA5BA,WAAA,eAgCA,qBA5BA,WAAA,qBAgCA,mBA5BA,WAAA,mBAgCA,sBA5BA,WAAA,iBAgCA,wBA5BA,WAAA,mBAgCA,uBA5BA,WAAA,kBAgCA,gBA5BA,MAAA,aAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,eA5BA,MAAA,YAgCA,QA5BA,OAAA,YAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,WA5BA,OAAA,eAgCA,SA5BA,YAAA,YA8BE,aAAc,YA1BhB,SA8BE,YAAa,kBgEn6ST,aAAA,kBhEu6SN,SgEv6SM,YAAA,iBAOI,aAAA,iBAPJ,SAOI,YAAA,iBhE04SV,aAAA,iBAgCA,SA5BA,YAAA,kBA8BE,aAAc,kBAGhB,SA5BA,YAAA,iBA8BE,aAAc,iBAGhB,YA5BA,YAAA,eA8BE,aAAc,eAGhB,SA5BA,WAAA,YA8BE,cAAe,YAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,YA5BA,WAAA,eA8BE,cAAe,eAGjB,SA5BA,WAAA,YAgCA,SgEh+SU,WAAA,kBAPJ,SAOI,WAAA,iBhEw+SV,SgE/+SM,WAAA,iBhEs9SN,SA8BE,WAAY,kBAGd,SA5BA,WAAA,iBAgCA,YA5BA,WAAA,eAgCA,SA5BA,YAAA,YAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,YA5BA,YAAA,eAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,YA5BA,cAAA,eAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,YA5BA,aAAA,eAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,UA5BA,YAAA,mBA8BE,aAAc,mBA1BhB,UA8BE,YAAa,kBgE7mTT,aAAA,kBhEinTN,UgEjnTM,YAAA,kBAOI,aAAA,kBAPJ,UAOI,YAAA,mBhEolTV,aAAA,mBAgCA,UA5BA,YAAA,kBA8BE,aAAc,kBAGhB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBAgCA,UgEtpTU,WAAA,kBAPJ,UAOI,WAAA,kBhE8pTV,UgErqTM,WAAA,mBhE4oTN,UA8BE,WAAY,kBAGd,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,QA5BA,QAAA,YAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,SA5BA,aAAA,YA8BE,cAAe,YA1BjB,SA8BE,aAAc,kBgEvwTV,cAAA,kBhE2wTN,SgE3wTM,aAAA,iBAOI,cAAA,iBAPJ,SAOI,aAAA,iBhE8uTV,cAAA,iBAgCA,SA5BA,aAAA,kBA8BE,cAAe,kBAGjB,SA5BA,aAAA,iBA8BE,cAAe,iBAGjB,SA5BA,YAAA,YA8BE,eAAgB,YAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,YAgCA,SgE1zTU,YAAA,kBAPJ,SAOI,YAAA,iBhEk0TV,SgEz0TM,YAAA,iBhEgzTN,SA8BE,YAAa,kBAGf,SA5BA,YAAA,iBAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,eAAA,YAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,eA5BA,WAAA,gBAgCA,aA5BA,WAAA,eAgCA,gBA5BA,WAAA,kBAgCF,yBA5BE,gBA8BE,MAAO,gBA1BT,cA8BE,MAAO,eA1BT,eA8BE,MAAO,eA1BT,aA8BE,QAAS,iBA1BX,mBA8BE,QAAS,uBA1BX,YACF,QAAA,gBAgCE,WA5BA,QAAA,eAgCA,YA5BA,QAAA,gBAgCA,gBA5BA,QAAA,oBAgCA,iBA5BA,QAAA,qBAgCA,WA5BA,QAAA,eAgCA,kBA5BA,QAAA,sBAgCA,WA5BA,QAAA,eAgCA,cA5BA,KAAA,EAAA,EAAA,eAgCA,aA5BA,eAAA,cAgCA,gBA5BA,eAAA,iBAgCA,qBA5BA,eAAA,sBAgCA,wBA5BA,eAAA,yBAgCA,gBA5BA,UAAA,YAgCA,gBA5BA,UAAA,YAgCA,kBA5BA,YAAA,YAgCA,kBA5BA,YAAA,YAgCA,cA5BA,UAAA,eAgCA,gBA5BA,UAAA,iBAgCA,sBA5BA,UAAA,uBAgCA,UA5BA,IAAA,YAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,0BA5BA,gBAAA,qBAgCA,wBA5BA,gBAAA,mBAgCA,2BA5BA,gBAAA,iBAgCA,4BA5BA,gBAAA,wBAgCA,2BA5BA,gBAAA,uBAgCA,2BA5BA,gBAAA,uBAgCA,sBA5BA,YAAA,qBAgCA,oBA5BA,YAAA,mBAgCA,uBA5BA,YAAA,iBAgCA,yBA5BA,YAAA,mBAgCA,wBA5BA,YAAA,kBAgCA,wBA5BA,cAAA,qBAgCA,sBA5BA,cAAA,mBAgCA,yBA5BA,cAAA,iBAgCA,0BA5BA,cAAA,wBAgCA,yBA5BA,cAAA,uBAgCA,0BA5BA,cAAA,kBAgCA,oBA5BA,WAAA,eAgCA,qBA5BA,WAAA,qBAgCA,mBA5BA,WAAA,mBAgCA,sBA5BA,WAAA,iBAgCA,wBA5BA,WAAA,mBAgCA,uBA5BA,WAAA,kBAgCA,gBA5BA,MAAA,aAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,eA5BA,MAAA,YAgCA,QA5BA,OAAA,YAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,WA5BA,OAAA,eAgCA,SA5BA,YAAA,YA8BE,aAAc,YA1BhB,SA8BE,YAAa,kBgEpsUT,aAAA,kBhEwsUN,SgExsUM,YAAA,iBAOI,aAAA,iBAPJ,SAOI,YAAA,iBhE2qUV,aAAA,iBAgCA,SA5BA,YAAA,kBA8BE,aAAc,kBAGhB,SA5BA,YAAA,iBA8BE,aAAc,iBAGhB,YA5BA,YAAA,eA8BE,aAAc,eAGhB,SA5BA,WAAA,YA8BE,cAAe,YAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,YA5BA,WAAA,eA8BE,cAAe,eAGjB,SA5BA,WAAA,YAgCA,SgEjwUU,WAAA,kBAPJ,SAOI,WAAA,iBhEywUV,SgEhxUM,WAAA,iBhEuvUN,SA8BE,WAAY,kBAGd,SA5BA,WAAA,iBAgCA,YA5BA,WAAA,eAgCA,SA5BA,YAAA,YAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,YA5BA,YAAA,eAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,YA5BA,cAAA,eAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,YA5BA,aAAA,eAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,UA5BA,YAAA,mBA8BE,aAAc,mBA1BhB,UA8BE,YAAa,kBgE94UT,aAAA,kBhEk5UN,UgEl5UM,YAAA,kBAOI,aAAA,kBAPJ,UAOI,YAAA,mBhEq3UV,aAAA,mBAgCA,UA5BA,YAAA,kBA8BE,aAAc,kBAGhB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBAgCA,UgEv7UU,WAAA,kBAPJ,UAOI,WAAA,kBhE+7UV,UgEt8UM,WAAA,mBhE66UN,UA8BE,WAAY,kBAGd,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,QA5BA,QAAA,YAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,SA5BA,aAAA,YA8BE,cAAe,YA1BjB,SA8BE,aAAc,kBgExiVV,cAAA,kBhE4iVN,SgE5iVM,aAAA,iBAOI,cAAA,iBAPJ,SAOI,aAAA,iBhE+gVV,cAAA,iBAgCA,SA5BA,aAAA,kBA8BE,cAAe,kBAGjB,SA5BA,aAAA,iBA8BE,cAAe,iBAGjB,SA5BA,YAAA,YA8BE,eAAgB,YAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,YAgCA,SgE3lVU,YAAA,kBAPJ,SAOI,YAAA,iBhEmmVV,SgE1mVM,YAAA,iBhEilVN,SA8BE,YAAa,kBAGf,SA5BA,YAAA,iBAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,eAAA,YAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,eA5BA,WAAA,gBAgCA,aA5BA,WAAA,eAgCA,gBA5BA,WAAA,kBAgCF,0BA5BE,gBA8BE,MAAO,gBA1BT,cA8BE,MAAO,eA1BT,eA8BE,MAAO,eA1BT,aA8BE,QAAS,iBA1BX,mBA8BE,QAAS,uBA1BX,YACF,QAAA,gBAgCE,WA5BA,QAAA,eAgCA,YA5BA,QAAA,gBAgCA,gBA5BA,QAAA,oBAgCA,iBA5BA,QAAA,qBAgCA,WA5BA,QAAA,eAgCA,kBA5BA,QAAA,sBAgCA,WA5BA,QAAA,eAgCA,cA5BA,KAAA,EAAA,EAAA,eAgCA,aA5BA,eAAA,cAgCA,gBA5BA,eAAA,iBAgCA,qBA5BA,eAAA,sBAgCA,wBA5BA,eAAA,yBAgCA,gBA5BA,UAAA,YAgCA,gBA5BA,UAAA,YAgCA,kBA5BA,YAAA,YAgCA,kBA5BA,YAAA,YAgCA,cA5BA,UAAA,eAgCA,gBA5BA,UAAA,iBAgCA,sBA5BA,UAAA,uBAgCA,UA5BA,IAAA,YAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,iBAgCA,UA5BA,IAAA,kBAgCA,UA5BA,IAAA,iBAgCA,0BA5BA,gBAAA,qBAgCA,wBA5BA,gBAAA,mBAgCA,2BA5BA,gBAAA,iBAgCA,4BA5BA,gBAAA,wBAgCA,2BA5BA,gBAAA,uBAgCA,2BA5BA,gBAAA,uBAgCA,sBA5BA,YAAA,qBAgCA,oBA5BA,YAAA,mBAgCA,uBA5BA,YAAA,iBAgCA,yBA5BA,YAAA,mBAgCA,wBA5BA,YAAA,kBAgCA,wBA5BA,cAAA,qBAgCA,sBA5BA,cAAA,mBAgCA,yBA5BA,cAAA,iBAgCA,0BA5BA,cAAA,wBAgCA,yBA5BA,cAAA,uBAgCA,0BA5BA,cAAA,kBAgCA,oBA5BA,WAAA,eAgCA,qBA5BA,WAAA,qBAgCA,mBA5BA,WAAA,mBAgCA,sBA5BA,WAAA,iBAgCA,wBA5BA,WAAA,mBAgCA,uBA5BA,WAAA,kBAgCA,gBA5BA,MAAA,aAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,YA5BA,MAAA,YAgCA,eA5BA,MAAA,YAgCA,QA5BA,OAAA,YAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,iBAgCA,QA5BA,OAAA,kBAgCA,QA5BA,OAAA,iBAgCA,WA5BA,OAAA,eAgCA,SA5BA,YAAA,YA8BE,aAAc,YA1BhB,SA8BE,YAAa,kBgEr+VT,aAAA,kBhEy+VN,SgEz+VM,YAAA,iBAOI,aAAA,iBAPJ,SAOI,YAAA,iBhE48VV,aAAA,iBAgCA,SA5BA,YAAA,kBA8BE,aAAc,kBAGhB,SA5BA,YAAA,iBA8BE,aAAc,iBAGhB,YA5BA,YAAA,eA8BE,aAAc,eAGhB,SA5BA,WAAA,YA8BE,cAAe,YAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,SA5BA,WAAA,kBA8BE,cAAe,kBAGjB,SA5BA,WAAA,iBA8BE,cAAe,iBAGjB,YA5BA,WAAA,eA8BE,cAAe,eAGjB,SA5BA,WAAA,YAgCA,SgEliWU,WAAA,kBAPJ,SAOI,WAAA,iBhE0iWV,SgEjjWM,WAAA,iBhEwhWN,SA8BE,WAAY,kBAGd,SA5BA,WAAA,iBAgCA,YA5BA,WAAA,eAgCA,SA5BA,YAAA,YAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,iBAgCA,SA5BA,YAAA,kBAgCA,SA5BA,YAAA,iBAgCA,YA5BA,YAAA,eAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,YA5BA,cAAA,eAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,YA5BA,aAAA,eAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,mBAgCA,SA5BA,OAAA,kBAgCA,UA5BA,YAAA,mBA8BE,aAAc,mBA1BhB,UA8BE,YAAa,kBgE/qWT,aAAA,kBhEmrWN,UgEnrWM,YAAA,kBAOI,aAAA,kBAPJ,UAOI,YAAA,mBhEspWV,aAAA,mBAgCA,UA5BA,YAAA,kBA8BE,aAAc,kBAGhB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBA8BE,cAAe,mBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,mBAgCA,UgExtWU,WAAA,kBAPJ,UAOI,WAAA,kBhEguWV,UgEvuWM,WAAA,mBhE8sWN,UA8BE,WAAY,kBAGd,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,mBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,mBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,mBAgCA,UA5BA,aAAA,kBAgCA,QA5BA,QAAA,YAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,iBAgCA,QA5BA,QAAA,kBAgCA,QA5BA,QAAA,iBAgCA,SA5BA,aAAA,YA8BE,cAAe,YA1BjB,SA8BE,aAAc,kBgEz0WV,cAAA,kBhE60WN,SgE70WM,aAAA,iBAOI,cAAA,iBAPJ,SAOI,aAAA,iBhEgzWV,cAAA,iBAgCA,SA5BA,aAAA,kBA8BE,cAAe,kBAGjB,SA5BA,aAAA,iBA8BE,cAAe,iBAGjB,SA5BA,YAAA,YA8BE,eAAgB,YAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,SA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,SA5BA,YAAA,YAgCA,SgE53WU,YAAA,kBAPJ,SAOI,YAAA,iBhEo4WV,SgE34WM,YAAA,iBhEk3WN,SA8BE,YAAa,kBAGf,SA5BA,YAAA,iBAgCA,SA5BA,aAAA,YAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,aAAA,kBAgCA,SA5BA,aAAA,iBAgCA,SA5BA,eAAA,YAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,eAAA,kBAgCA,SA5BA,eAAA,iBAgCA,SA5BA,cAAA,YAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,iBAgCA,SA5BA,cAAA,kBAgCA,SA5BA,cAAA,iBAgCA,eA5BA,WAAA,gBAgCA,aA5BA,WAAA,eAgCA,gBA5BA,WAAA,kBAgCF,0BA5BE,iBA8BE,MAAO,gBA1BT,eA8BE,MAAO,eA1BT,gBA8BE,MAAO,eA1BT,cA8BE,QAAS,iBA1BX,oBA8BE,QAAS,uBA1BX,aACF,QAAA,gBAgCE,YA5BA,QAAA,eAgCA,aA5BA,QAAA,gBAgCA,iBA5BA,QAAA,oBAgCA,kBA5BA,QAAA,qBAgCA,YA5BA,QAAA,eAgCA,mBA5BA,QAAA,sBAgCA,YA5BA,QAAA,eAgCA,eA5BA,KAAA,EAAA,EAAA,eAgCA,cA5BA,eAAA,cAgCA,iBA5BA,eAAA,iBAgCA,sBA5BA,eAAA,sBAgCA,yBA5BA,eAAA,yBAgCA,iBA5BA,UAAA,YAgCA,iBA5BA,UAAA,YAgCA,mBA5BA,YAAA,YAgCA,mBA5BA,YAAA,YAgCA,eA5BA,UAAA,eAgCA,iBA5BA,UAAA,iBAgCA,uBA5BA,UAAA,uBAgCA,WA5BA,IAAA,YAgCA,WA5BA,IAAA,kBAgCA,WA5BA,IAAA,iBAgCA,WA5BA,IAAA,iBAgCA,WA5BA,IAAA,kBAgCA,WA5BA,IAAA,iBAgCA,2BA5BA,gBAAA,qBAgCA,yBA5BA,gBAAA,mBAgCA,4BA5BA,gBAAA,iBAgCA,6BA5BA,gBAAA,wBAgCA,4BA5BA,gBAAA,uBAgCA,4BA5BA,gBAAA,uBAgCA,uBA5BA,YAAA,qBAgCA,qBA5BA,YAAA,mBAgCA,wBA5BA,YAAA,iBAgCA,0BA5BA,YAAA,mBAgCA,yBA5BA,YAAA,kBAgCA,yBA5BA,cAAA,qBAgCA,uBA5BA,cAAA,mBAgCA,0BA5BA,cAAA,iBAgCA,2BA5BA,cAAA,wBAgCA,0BA5BA,cAAA,uBAgCA,2BA5BA,cAAA,kBAgCA,qBA5BA,WAAA,eAgCA,sBA5BA,WAAA,qBAgCA,oBA5BA,WAAA,mBAgCA,uBA5BA,WAAA,iBAgCA,yBA5BA,WAAA,mBAgCA,wBA5BA,WAAA,kBAgCA,iBA5BA,MAAA,aAgCA,aA5BA,MAAA,YAgCA,aA5BA,MAAA,YAgCA,aA5BA,MAAA,YAgCA,aA5BA,MAAA,YAgCA,aA5BA,MAAA,YAgCA,aA5BA,MAAA,YAgCA,gBA5BA,MAAA,YAgCA,SA5BA,OAAA,YAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,iBAgCA,SA5BA,OAAA,iBAgCA,SA5BA,OAAA,kBAgCA,SA5BA,OAAA,iBAgCA,YA5BA,OAAA,eAgCA,UA5BA,YAAA,YA8BE,aAAc,YA1BhB,UA8BE,YAAa,kBgEtwXT,aAAA,kBhE0wXN,UgE1wXM,YAAA,iBAOI,aAAA,iBAPJ,UAOI,YAAA,iBhE6uXV,aAAA,iBAgCA,UA5BA,YAAA,kBA8BE,aAAc,kBAGhB,UA5BA,YAAA,iBA8BE,aAAc,iBAGhB,aA5BA,YAAA,eA8BE,aAAc,eAGhB,UA5BA,WAAA,YA8BE,cAAe,YAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,iBA8BE,cAAe,iBAGjB,UA5BA,WAAA,iBA8BE,cAAe,iBAGjB,UA5BA,WAAA,kBA8BE,cAAe,kBAGjB,UA5BA,WAAA,iBA8BE,cAAe,iBAGjB,aA5BA,WAAA,eA8BE,cAAe,eAGjB,UA5BA,WAAA,YAgCA,UgEn0XU,WAAA,kBAPJ,UAOI,WAAA,iBhE20XV,UgEl1XM,WAAA,iBhEyzXN,UA8BE,WAAY,kBAGd,UA5BA,WAAA,iBAgCA,aA5BA,WAAA,eAgCA,UA5BA,YAAA,YAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,iBAgCA,UA5BA,YAAA,iBAgCA,UA5BA,YAAA,kBAgCA,UA5BA,YAAA,iBAgCA,aA5BA,YAAA,eAgCA,UA5BA,cAAA,YAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,iBAgCA,UA5BA,cAAA,iBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,iBAgCA,aA5BA,cAAA,eAgCA,UA5BA,aAAA,YAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,iBAgCA,UA5BA,aAAA,iBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,iBAgCA,aA5BA,aAAA,eAgCA,UA5BA,OAAA,mBAgCA,UA5BA,OAAA,kBAgCA,UA5BA,OAAA,kBAgCA,UA5BA,OAAA,mBAgCA,UA5BA,OAAA,kBAgCA,WA5BA,YAAA,mBA8BE,aAAc,mBA1BhB,WA8BE,YAAa,kBgEh9XT,aAAA,kBhEo9XN,WgEp9XM,YAAA,kBAOI,aAAA,kBAPJ,WAOI,YAAA,mBhEu7XV,aAAA,mBAgCA,WA5BA,YAAA,kBA8BE,aAAc,kBAGhB,WA5BA,WAAA,mBA8BE,cAAe,mBAGjB,WA5BA,WAAA,kBA8BE,cAAe,kBAGjB,WA5BA,WAAA,kBA8BE,cAAe,kBAGjB,WA5BA,WAAA,mBA8BE,cAAe,mBAGjB,WA5BA,WAAA,kBA8BE,cAAe,kBAGjB,WA5BA,WAAA,mBAgCA,WgEz/XU,WAAA,kBAPJ,WAOI,WAAA,kBhEigYV,WgExgYM,WAAA,mBhE++XN,WA8BE,WAAY,kBAGd,WA5BA,YAAA,mBAgCA,WA5BA,YAAA,kBAgCA,WA5BA,YAAA,kBAgCA,WA5BA,YAAA,mBAgCA,WA5BA,YAAA,kBAgCA,WA5BA,cAAA,mBAgCA,WA5BA,cAAA,kBAgCA,WA5BA,cAAA,kBAgCA,WA5BA,cAAA,mBAgCA,WA5BA,cAAA,kBAgCA,WA5BA,aAAA,mBAgCA,WA5BA,aAAA,kBAgCA,WA5BA,aAAA,kBAgCA,WA5BA,aAAA,mBAgCA,WA5BA,aAAA,kBAgCA,SA5BA,QAAA,YAgCA,SA5BA,QAAA,kBAgCA,SA5BA,QAAA,iBAgCA,SA5BA,QAAA,iBAgCA,SA5BA,QAAA,kBAgCA,SA5BA,QAAA,iBAgCA,UA5BA,aAAA,YA8BE,cAAe,YA1BjB,UA8BE,aAAc,kBgE1mYV,cAAA,kBhE8mYN,UgE9mYM,aAAA,iBAOI,cAAA,iBAPJ,UAOI,aAAA,iBhEilYV,cAAA,iBAgCA,UA5BA,aAAA,kBA8BE,cAAe,kBAGjB,UA5BA,aAAA,iBA8BE,cAAe,iBAGjB,UA5BA,YAAA,YA8BE,eAAgB,YAGlB,UA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,UA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,UA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,UA5BA,YAAA,kBA8BE,eAAgB,kBAGlB,UA5BA,YAAA,iBA8BE,eAAgB,iBAGlB,UA5BA,YAAA,YAgCA,UgE7pYU,YAAA,kBAPJ,UAOI,YAAA,iBhEqqYV,UgE5qYM,YAAA,iBhEmpYN,UA8BE,YAAa,kBAGf,UA5BA,YAAA,iBAgCA,UA5BA,aAAA,YAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,iBAgCA,UA5BA,aAAA,iBAgCA,UA5BA,aAAA,kBAgCA,UA5BA,aAAA,iBAgCA,UA5BA,eAAA,YAgCA,UA5BA,eAAA,kBAgCA,UA5BA,eAAA,iBAgCA,UA5BA,eAAA,iBAgCA,UA5BA,eAAA,kBAgCA,UA5BA,eAAA,iBAgCA,UA5BA,cAAA,YAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,iBAgCA,UA5BA,cAAA,iBAgCA,UA5BA,cAAA,kBAgCA,UA5BA,cAAA,iBAgCA,gBA5BA,WAAA,gBAgCA,cA5BA,WAAA,eAgCA,iBA5BA,WAAA,kBAgCF,0BA5BE,MA8BE,UAAW,kBA1Bb,MA8BE,UAAW,mBA1Bb,MA8BE,UAAW,kBAGf,aACE,gBgE1xYM,QAAA,iBhE8xYN,sBgE9xYM,QAAA,uBhEqwYR,eiEjzYA,QAAA,gBjEqzYE,cA8BE,QAAS,eA1BX,eA8BE,QAAS,gBA1BX,mBACF,QAAA,oBAgCE,oBA5BA,QAAA,qBAgCA,cA5BA,QAAA,eAgCA,qBA5BA,QAAA,sBAgCA,cA5BA,QAAA,gBAgCF,KA5BE,SAAA,SA8BA,WAAY,KAGd,KACE,WAAY,OAEd,SA5BE,OAAA,KA8BA,SAAU,OgE50YJ,MAAA,KhEg1YR,cgEh1YQ,aAAA,MhEk1YN,SgE30YU,OhE+yYV,QAAA,EAAA,KAAA,KAAA,KA8BA,WAAY,KgEp1YN,WAAA,KhE2zYR,gBkEt3YA,MAAA,MACE,WAAA,qBACA,OAAA,ElEw3YF,QAAA,KAAA,EA8BE,SAAU,MkEn5YZ,WAAA,IAAA,IAAA,SACE,IAAA,KlEw3YF,WAAA,qBmE93YA,0BnE85YE,QAAS,KAEX,yCACE,iBAAkB,QmEj6YpB,aAAA,oCnEq6YA,qBmE15YI,MAAA,QAIJ,iBACI,WAAA,KACA,QAAA,EnE45YJ,sBmEz5YI,MAAA,oBnE83YJ,QAAA,MA8BE,QAAS,KAAK,KmEx5YhB,SAAA,SACI,WCbgD,IAAA,IDchD,YAAA,KAAA,CAAA,WACA,UAAA,OAEA,6BAAA,4BnEy5YJ,4BmEx5YI,MAAA,0BACA,gBC6BgD,KpEi2YpD,2BmE53YI,eAAA,OnE+3YJ,wBmE73YQ,QAAA,aACI,YAAA,UACA,OAAA,EAAA,IAAA,EAAA,InE+3YZ,WAAA,OA8BE,eAAgB,OmEr5Yd,MAAA,KACI,UAAA,KnEw5YR,0BmEl5YI,MAAA,KACI,OAAA,KACA,aAAA,InEu3YR,YAAA,KA+BA,kCmEj5YgB,MAAA,KnEo5YhB,oCmEj5YgB,YAAA,EnEo5YhB,gCA5BA,MAAA,2BA+BA,uBmE/4YoB,cAAA,KnEo3YpB,WAAA,KA+BA,0BA5BA,cAAA,KA+BA,qBmE74YoB,WAAA,InEg5YpB,0BmE74YoB,QAAA,KAAA,KACA,eAAA,MACA,eAAA,KnEk3YpB,OAAA,QmE/2YgB,UAAA,SACI,eAAA,UACA,MAAA,oBACA,YAAA,InEk3YpB,iCmE92YgB,MAAA,2BnEi3YhB,uCmE92YoB,MAAA,2BAMR,uBACI,QAAA,IAAA,KnE62YhB,MAAA,oBmE12YY,QAAA,MACI,SAAA,SACA,WAAA,IAAA,InE42YhB,UAAA,QA+BA,6BmEx4YoB,6BnE42YpB,MAAA,0BA+BA,8BA5BA,MAAA,2BAgCA,YmEl4YQ,WAAA,UAAA,KACA,SAAA,SACA,KAAA,KACA,QAAA,aACA,YAAA,wBACA,eCZ4C,KpEm3YpD,YAAA,OmEn2YQ,UAAA,OACI,UAAA,eAGJ,mBACI,QAAA,SAOJ,6BACI,QAAA,SnE+3YZ,yCmE33YY,UAAA,enEi2YZ,qDmE91YY,UAAA,eAOA,4CACI,MAAA,enE03YhB,qDmEp3YA,QAAA,KnEu3YA,qDmEp3YI,QAAA,MnEu3YJ,kDmEp3YI,SAAA,SACA,YAAA,EACA,MAAA,eACA,QAAA,EnEw3YJ,6EmEt3YI,kEnE01YJ,SAAA,kBmEp1YI,uEACI,QAAA,enEq3YR,oEmE/2YQ,OAAA,YnEw1YR,uEA4BA,uEmE92YY,4EnE+0YZ,4EAiCE,QAAS,eAEX,8EA5BA,OAAA,kBA+BA,sEA5BA,SAAA,SmEt0YQ,YAAA,OnEy0YR,wEmEn0YI,QAAA,KAAA,KACI,WAAA,KACA,WAAA,KAEA,+EAAA,8EnEi2YR,8EA5BA,MAAA,0BA+BA,0EmEh2YY,UAAA,KnEq0YZ,YAAA,KmEl0YQ,aAAA,InEq0YR,4EmEj0YQ,MAAA,KACI,OAAA,KnEm0YZ,aAAA,IA+BA,6EACE,QAAS,KACT,cAAe,KA3BjB,8EmE5zYY,SAAA,SACI,MAAA,mBnE8zYhB,MAAA,2BmE1zYgB,iBAAA,QnE01YhB,mFA5BA,QAAA,OAgCA,4FADA,0FmEt1YwB,QAAA,KAEA,sFnEy1YxB,wFA5BA,QAAA,gBmEvzYwB,OAAA,eACI,WAAA,enEu1Y5B,yFA5BA,2FmEtzYwB,QAAA,gBACI,MAAA,KACA,SAAA,SACA,MAAA,MnEwzY5B,WAAA,+BA+BA,4FACA,8FA5BA,WAAA,+BA+BA,2FACA,6FmE/0Y4B,WAAA,KACA,QAAA,IAAA,KnEozY5B,SAAA,SmElzY4B,MAAA,MACI,QAAA,EAMJ,iGnE60Y5B,mGmE50YgC,MAAA,0BAIR,sEnE40YtB,QAAS,IAAI,EmE10Ya,QAAA,KACA,QAAA,KACA,iBAAA,qBAEA,yFnE40Y5B,2FmE30YgC,QAAA,gBACA,OAAA,eACA,WAAA,enE80YhC,4FA5BA,8FmE9yYgC,QAAA,MnE60Y9B,MAAO,MmE50Y2B,WAAA,MnEizYpC,SAAA,SmE9yYgC,MAAA,MnE80YhC,2FmE50YoC,SAAA,SACA,KAAA,KACA,IAAA,KACA,UAAA,gBAEA,kFnE80YlC,MAAO,2BA3BT,gDmE1yYgB,aAAA,enE00YhB,yBmEv0YoB,0CACA,MAAA,gBnE20YpB,4CmEp0YgC,QAAA,enE2yYhC,yBmEvyYgC,6DnEs0Y5B,WAAY,QAGhB,4BmEr0YoC,eACA,QAAA,MnEy0YpC,4BmEj0YgC,KACA,WAAA,OACA,eAAA,KAOJ,gBnEkyY5B,QAAA,KmEzxYI,QAAA,a3DzUA,gC2DgVI,QAAA,MnE0xYR,cmEpxYI,gDACI,aAAA,YnEsxYR,QAAA,EAAA,KmEhxYI,QACI,MAAA,anEszYR,6EA5BA,MAAA,gBA+BA,mFACE,MmE9yYM,gBnE+yYN,WmE9yYM,OnEgzYR,2GmE7yYI,QAAA,MnE+yYF,UmE9yYM,KnE+yYN,YmE9yYM,KnEkxYN,MAAA,KA8BA,OAAQ,EAEV,6GA5BE,QAAA,MA8BA,OAAQ,EAAE,KAAK,IAAI,KAErB,uGACE,cmE5yYM,EnE8yYR,yGACE,QAAS,KAAK,KAGhB,0FADA,+FA3BA,QAAA,eA+BA,iGACE,amE5yYF,MnE8yYA,yGA5BA,MAAA,MA+BA,+FmEtyYQ,iBAAA,QnE0yYR,wCmEjyY4B,iBAAA,0BnEoyY5B,mDmEjyY4B,QAAA,KAGJ,oDACI,QAAA,MnEswY5B,8CmEhwYgB,iBAAA,0BACI,WAAA,KAEA,uEACI,aAAA,yCAMhB,oEnE2xYN,MAAO,+BA3BT,2EAAA,0EAAA,0EmE3vYQ,MAAA,qCnE8vYR,8EmE1vYQ,MAAA,sCnE6vYR,wEmEzvYQ,MAAA,QnE4vYR,+EA8BE,MAAO,2BAET,qFA5BA,MAAA,2BA+BA,qEA5BA,oEmEnvYQ,MAAA,+BnEsvYR,2EAAA,2EmEjvYI,0EnEgxYJ,0EmE9wYQ,iBAAA,YnEmvYR,MAAA,qCA+BA,4EA5BA,2EmE5uYoB,MAAA,sCnE+uYpB,oEmE5uYwB,MAAA,enE+uYxB,gHmExuYoB,iBAAA,0BACI,WAAA,KAMZ,qHACI,MAAA,2BAIA,8FACI,iBAAA,sBnEmwYpB,yCA5BA,4CmE3tYgB,iBAAA,2BnE2vYhB,oDA5BA,uDmE5tYoB,QAAA,KnE4vYpB,qDACA,wDmE1vYwB,QAAA,MAKJ,kDnEyvYpB,qDmExvYwB,MAAA,eAOZ,+CnEqvYZ,kDA5BA,iBAAA,2BmE7sY4B,WAAA,KnE6uY5B,wEA5BA,2EmEzsYwB,aAAA,yCnE4sYxB,qEmEhsYgB,wEACI,MAAA,qBnEguYgJ,4EAAlF,2EAAlF,2EAGA,+EADA,8EmEvtYI,8EnE4rYJ,MAAA,qBA+BA,+EACA,kFA5BA,MAAA,KmEzrYQ,iBAAA,sBnEytYR,yEA5BA,4EmExrYI,MAAA,qBnEwtYJ,gFA5BA,mFmExrYI,MAAA,KnEwtYJ,sEACA,qEA5BA,yEmEzrYY,wEnEwtYV,MAAO,qBA3BT,4EAAA,4EmErrYoB,2EnEotYpB,2EACA,+EA5BA,+EmEtrYwB,8EnEqtYxB,8EACE,iBAAkB,YAClB,MAAO,KA3BT,6EmErrYoB,4EnEotYpB,gFACA,+EmEntYwB,MAAA,sCAKZ,qEnEktYZ,wEmEjtYgB,MAAA,eAIA,yEnEitYhB,4EmEhtYoB,MAAA,+BAQJ,iHnE4sYhB,oHACE,iBAAkB,2BAClB,WAAY,KmE7sYM,MAAA,KAEA,sHnE+sYpB,yHACE,MAAO,2BAET,4GACA,2GACA,+GACA,8GmEltYwB,MAAA,oBAKJ,+FnEitYpB,kGACE,iBAAkB,sBmE1sYR,kDnEgrYZ,4CA+BE,WAAY,8BmE9sYE,iBAAA,6CAGJ,oHnE+sYV,WAAY,8BA3Bd,yHmExqY4B,MAAA,2BnEwsY5B,+GACA,8GmEtsYgC,MAAA,oBnE0sYhC,mBmEnsY4B,iBAAA,QnEwqY5B,WAAA,KmEhqYwB,QAAA,KAAA,InE+rYtB,MAAO,IACP,aAAc,aACd,WAAY,eA3Bd,kCmE3pYgB,cAAA,InE2rYhB,wCA5BA,iBAAA,QA8BE,MAAO,KAGT,yBmElrYQ,gEAAA,6DAAA,6DAAA,6DAAA,6DAAA,8DnEupYR,UAAA,ImE7oYgC,yCnEgpYhC,UAAA,ImE1oYwB,OAAA,EAAA,KnE6oYxB,gDmEpoYwB,cAAA,KnEmqYpB,cAAe,IA3BnB,8CA8BI,eAAgB,KmE3pYhB,0CACA,iBAAA,YACA,iBAAA,MnEooYJ,uCmE/nYI,QAAA,MAGI,yDACI,MAAA,QnEkoYZ,2DA8BE,MAAO,KQx5ZL,OAAA,K2DowBQ,aAAA,InEupYV,YmEtpYc,KnE0nYd,MAAA,QmEtnYM,KAAA,qBnEupYR,sGmElpYQ,iBAAA,QnEqpYR,uHA5BE,iBAAA,QA+BF,gGA5BE,MAAA,QA+BF,4EACE,MmEjpYU,QnEsnYZ,gDA8BE,iBAAkB,QA1BpB,MA8BE,QAAS,MAEX,mBA5BA,QAAA,MA+BA,mBmEtoYwB,QAAA,KnEyoYxB,yBmEtoYwB,MAAA,QACA,YAAA,InE2mYxB,UAAA,KA8BE,eAAgB,UAElB,0BA5BA,MAAA,KmE1kYY,YAAA,IACI,UAAA,KnE4kYhB,eAAA,UAGA,UmE/jYY,OAAA,KACI,MAAA,MnEikYhB,iBAAA,8BmE7jYI,MAAA,MACI,WAAA,IAAA,IAAA,SnE6lYR,gBqExgaA,YAAA,KAGI,2BACI,QAAA,KAGJ,0BACI,QAAA,MrE2gaR,eqEtgaQ,iBhE4hBsB,kBgE3hBtB,QAAA,EAAA,EAAA,EAAA,iBACA,SAAA,MrE2+ZR,MAAA,EqEx+ZI,KAAA,EACI,OAAA,KACA,QAAA,KrE4+ZR,6CA8BE,QAAS,aAEX,+BqEpgaI,MAAA,MrEugaJ,sCqEpgaI,QAAA,EAAA,KrEy+ZJ,MAAA,QqEv+ZI,UAAA,KACI,QAAA,MrEy+ZR,YAAA,KA8BE,WAAY,OqElgaV,WAAA,KrEw+ZJ,wCqEp+ZI,iBAAA,sBrEu+ZJ,2BA8BE,SAAU,OqEhgaZ,OAAA,KACI,QAAA,MACA,UAAA,MACA,YAAA,KrEmgaJ,2CqEhgaI,QAAA,WACA,eAAA,OrEs+ZJ,8DqEn+ZQ,UAAA,SACI,MAAA,kBAEJ,yCACI,OAAA,KrEq+ZZ,OAAA,KqEn+ZQ,cAAA,KACI,aAAA,EACA,MAAA,QACA,iBAAA,2BACA,WAAA,KACA,cAAA,EDTwC,KAAA,KAAA,EpE4gapD,6CA5BA,aAAA,EqEj+ZQ,QAAA,ErEo+ZR,gCqE99ZI,iBAAA,2BACI,aAAA,YACA,MAAA,QACA,cAAA,KAAA,EAAA,EAAA,KACA,WAAA,erEi+ZR,mCqE99ZQ,OAAA,KACI,MAAA,QACA,QAAA,arEg+ZZ,OAAA,KqE99ZY,YAAA,KACI,MAAA,KACA,iBAAA,YrEg+ZhB,UAAA,KqE79ZQ,OAAA,QrE6/ZR,+CqE1/ZY,QAAA,KrE+/ZZ,aqE1/ZY,WAAA,MrE8/ZZ,mBqE1/ZY,aAAA,EAEJ,+BACI,iBAAA,YACA,QAAA,KAAA,KrE6/ZZ,oCqE1/ZY,QAAA,arE+9ZZ,SAAA,SqE39ZI,IAAA,KACI,KAAA,KrE2/ZR,gCqEx/ZQ,QAAA,KDhE4C,KpE2japD,6CqEx/ZQ,MAAA,MACA,OAAA,KACA,MAAA,KrE69ZR,UAAA,KqE19ZI,YAAA,KACI,WAAA,OrE49ZR,YAAA,KA8BE,cAAe,IqEt/ZjB,MAAA,KrEy/ZA,gDA5BA,cAAA,IA8BE,SAAU,OqEt/ZZ,aAAA,KACI,cAAA,SrE29ZJ,YAAA,OqEz9ZI,MAAA,QrEy/ZJ,kDA5BA,YAAA,IqEv9ZQ,uDrEs/ZR,sDqEr/ZQ,QAAA,MrEw/ZR,qDA5BA,QAAA,MqEv9ZI,SAAA,OACI,cAAA,SrEy9ZR,YAAA,OqEv9ZQ,UAAA,KrEu/ZR,0CqEp/ZY,aAAA,KACA,YAAA,OACA,YAAA,KrEu/ZZ,kDqEp/ZY,QAAA,IAAA,KAIJ,WACI,UAAA,KACA,eAAA,OrEu/ZZ,kBqEn/ZY,UAAA,MAEA,oBACI,eAAA,OrEw9ZhB,YAAA,IAGA,UqEp9ZY,QAAA,EAAA,erEo/ZZ,cqEj/ZgB,OAAA,KACA,MAAA,KAKR,iBACI,OAAA,EACA,YAAA,KACA,QAAA,EAAA,KrEm/ZZ,iEA5BA,QAAA,QAgCA,4BqE1+ZI,UrE+8ZJ,MAAA,eA8BI,aAAc,YqEz+Zd,mBrE+8ZJ,QAAA,eqE58ZQ,mBACA,QAAA,iBAIR,yBACI,yBrE88ZJ,SAAA,OqE38ZQ,wCACA,MAAA,erE88ZR,KAAA,gBqEz8ZgB,iEAAA,gErEy+ZhB,iEqEx+ZgB,iBAAA,YrE88ZhB,2CA8BE,WAAY,KAEd,4CA5BA,iBAAA,mCA8BE,WAAY,wBAGd,mEACE,MqEp+ZM,QrEs+ZR,qEACE,iBqEp+ZU,sBrEs+ZZ,gEACE,MqEn+ZU,KrEw8ZZ,6DqEn8ZA,OAAA,EAEQ,YAAA,KrEi+ZN,QqEh+ZU,EAAA,KrEo8ZV,MAAA,QA+BF,2EACE,MqEh+Zc,+BrEq8ZhB,sEqE37ZQ,MAAA,KACI,iBAAA,gCrE67ZZ,aAAA,gCA+BA,6DA5BA,iBAAA,gCqE17ZI,MAAA,qBrE29ZJ,6DA5BA,MAAA,2BAGA,4BqEv7ZY,iDACI,OAAA,ErEy7ZhB,SAAA,SqEr7ZQ,QAAA,EACI,OAAA,ErEu7ZZ,OAAA,QqEn7ZY,wDACA,MAAA,KACA,QAAA,MACA,SAAA,SrEs7ZZ,OAAA,KqEj7ZY,WAAA,IAAA,IAAA,KACI,WAAA,eAGJ,sDACI,OAAA,IACA,MAAA,KACA,iBAAA,QrEk7ZhB,QAAA,MqE/6ZY,cAAA,IACI,WAAA,UAAA,IAAA,KrEk7ZhB,2DA8BI,SAAU,SqEn8ZF,uErEy6ZZ,IAAA,IA8BI,UAAW,eqE37ZP,wEACI,WAAA,OrE+7ZV,sEqE57ZU,MAAA,KACA,IAAA,IrEi6ZV,UAAA,eAgCF,gFACE,QqE77Zc,MrE+7ZhB,iFACE,QqE77Zc,KrE+7ZhB,sDACE,QqE57Zc,KrE87ZhB,4CACE,MqE57Zc,KrE67Zd,aqE57Zc,KrE67Zd,iBqE57Zc,YrE87ZhB,gDACE,4CA5BA,cAAA,MAiCF,yBqEx7ZoB,sCACI,QAAA,EAAA,KAGJ,mCACI,MAAA,MrE27ZxB,yBA5BA,gCqEl5ZY,QAAA,gBAIA,iBACI,QAAA,MrEk7ZhB,yBA5BA,UqE94ZI,WAAA,cAGI,UrEg5ZR,QAAA,MAgCA,sDA5BE,MAAA,QA+BF,4CqEz6ZA,iBAAA,kBrE46ZA,mEA5BE,MAAA,QA+BF,qEA5BE,iBAAA,sBqEr4ZF,2FACI,MAAA,kBrEs6ZJ,sEACE,MAAO,QAET,6DA5BE,MAAA,QqEr4ZF,gEACI,MAAA,QrEs6ZJ,6EACE,MAAO,QAET,+EA5BE,QAAA,KqEn3ZM,gFACI,QAAA,MAGR,4BACI,8ErEq3ZR,iBAAA,SqE92ZY,oCACI,iBAAA,YrEm3ZhB,QAAA,KAAA,KqE92ZgB,WAAA,KACI,cAAA,EAGR,4BACI,OAAA,ErE+2ZhB,YAAA,KqE72ZY,MAAA,QrEg3ZZ,kCqE52ZQ,MAAA,KACI,WAAA,KAKA,4BACI,YAAA,IrE04ZhB,4BA5BA,4BqEv1ZY,QAAA,MACI,YAAA,OrEy1ZhB,cAAA,SQ9yaI,SAAA,O6D0dY,YAAA,KrEw1Zd,4BACF,QAAA,MAgCA,yBsEx5aQ,kCACA,QAAA,MAGJ,yBACI,4BACA,QAAA,MAIJ,yDACI,MAAA,QAIJ,QACI,OAAA,EtE23aR,QAAA,KAAA,KAAA,KA8BE,SAAU,SQp2aR,KAAA,E8D9CI,MAAA,uBtEq5aN,MsEp5aU,MtEq5aV,iBsEp5aU,oBtEs5aZ,wBACE,MsEp5aU,uBtEw3aV,aAAA,OsEr3aM,WAAA,IAAA,ItEq5aR,8BA5BA,MAAA,kCA+BA,sCACE,asEh5aU,EAKZ,YACI,MAAA,YtE+4aF,WsE94aM,OtEk3aN,iBAAA,YAgCF,4BA5BA,QA8BI,MAAO,YuEt8aX,WAAA,QvE08aA,0CuEt8aI,MAAA,YvEy8aJ,kEuEt8aI,UAAA,iBvE08aJ,yBuEr8aY,wCACA,SAAA,QvE06aZ,OAAA,EAAA,MuEt6aY,WACI,iBAAA,sBvE26ahB,WAAA,EAAA,EAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,EAAA,EAAA,gBA8BE,QAAS,MuEn8aX,SAAA,MACI,WAAA,IAAA,IAAA,SACA,MAAA,MACA,QAAA,KvEw6aJ,MAAA,eA8BE,KAAM,OQz5aJ,IAAA,E+DzCA,OAAA,EvEs8aJ,2BA5BE,iBAAA,QACF,QAAA,OAAA,KuEp6aI,MAAA,KvEu6aJ,6BuEl6aQ,iBAAA,QACI,OAAA,KvEo6aZ,MAAA,KA8BE,YAAa,KQn7aX,MAAA,Q+DRI,WAAA,OvE87aN,cuE77aU,IvE87aV,WuE77aU,KvEk6aZ,mCA8BE,iBAAkB,QAEpB,qBwEr/aI,QAAA,KACA,WAAA,OxEw/aJ,+BwEr/aI,SAAA,SACA,OAAA,KACA,MAAA,KACA,OAAA,EAAA,KAAA,KAAA,KxEw/aJ,0CA5BA,SAAA,SwEx9aI,KAAA,KACI,OAAA,EACA,OAAA,KACA,MAAA,KxE09aR,iBAAA,KwEx9aI,YAAA,KACI,cAAA,IACA,WAAA,KAEA,yBxEs/aR,wBwEr/aQ,cAAA,IAEA,2BxEs/aR,0BwEr/aQ,MAAA,QxEy/aR,kBA5BA,iBAAA,mBwEv9aI,SAAA,SACI,MAAA,EACA,KAAA,ExEy9aR,IAAA,EwEx9aQ,OAAA,EACI,QAAA,KACA,QAAA,KACA,WAAA,IAAA,IAAA,SAEA,8BACI,KAAA,ExEy/ahB,qCwEt/agB,QAAA,MxE0/ahB,4BwEt/agB,WACA,SAAA,KAGR,4BACI,OAAA,gBxEy/aZ,0DA5BA,MAAA,KwEp9aA,gEACI,MAAA,kBACA,iBAAA,KAEA,wDxEm/aJ,uDwEl/aI,MAAA,QxEq/aJ,+CwEl/aI,iBAAA,sBxEs/aJ,sCwEj/aI,UAAA,OACI,OAAA,EAAA,KxEs9aR,WAAA,wBA+BA,4CA5BA,UAAA,OA8BE,OAAQ,EAAE,KAEZ,qCACE,OwEj/aM,EAAA,KxEq9aN,UAAA,qBA+BF,kEA5BE,UAAA,oBwE58aM,gEACI,UnE3FD,qBLykbX,yBwE3+agB,wExEg9ahB,WAAA,qBAGA,0BwEx8aI,8IACI,eAAA,ExEw+aN,uJyExlbE,QAAA,KAEI,6JzE0lbR,sJA5BA,SAAA,SyEzjbQ,8JACA,SAAA,SzE4jbR,UAAA,MyEzjbI,UAAA,MACI,QAAA,KAAA,EAAA,kBzE4jbR,4JyEvjbQ,aAAA,EACI,MAAA,KzEyjbZ,eAAA,MAGA,0BA8BE,mDAAsJ,gDAAjD,gDAAjD,gDAAmJ,gDAAiD,iDQljbtP,UAAA,IRqjbF,iDA5BA,QAAA,EAAA,kBAgCF,gDACE,ayE3kbM,YzE6kbR,wEACE,WyE3kbU,KzE6kbZ,wGACE,QAAS,KAEX,yGyExkbQ,QAAA,MzE4kbR,QACE,WyEzkbU,0BzE6ibV,WAAA,qByE1ibM,WAAA,KzEykbN,QyExkbU,EAAA,iBzEykbV,SyExkbU,MzEykbV,MyExkbU,EzE4ibV,KAAA,EACF,QAAA,IA+BA,qBACE,O0ExobU,E1E4mbV,QAAA,EA+BF,8BA5BE,UAAA,OACF,SAAA,S0EzmbI,YAAA,KACI,QAAA,eAAA,O1E2mbR,MAAA,+B0ExmbQ,YAAA,KAAA,CAAA,W1E2mbR,gC0ErmbY,UAAA,KACI,QAAA,aAGJ,qCAAA,oCAAA,oCACI,MAAA,0B1EsmbhB,iBAAA,Y0EhmbA,gEACI,MAAA,2B1EkobJ,yB0E9nbI,QACA,OAAA,KAEA,sD1EmmbJ,cAAA,E0EhmbQ,uBACA,QAAA,MAAA,Q1EmmbR,UAAA,M0E9lbQ,OAAA,EAAA,MACI,MAAA,KAEA,8BACA,iBAAA,YACA,MAAA,2B1EimbZ,oD0E9lbY,MAAA,EACI,KAAA,K1EimbhB,iC0E7lbY,QAAA,MAAA,EAGI,WAAA,EACA,cAAA,EAAA,EAAA,OAAA,OAMA,oDACI,KAAA,K1EylbpB,UAAA,eAAA,iBA8BI,SAAU,S0E/mbV,0DACI,SAAA,S1EqlbN,IAAA,Y0EhlbkB,MAAA,KACI,QAAA,KAMhB,kCACI,MAAA,0B1E4mbV,uC0EzmbU,QAAA,MAEA,4DACI,MAAA,2B1E+kbd,sE0Etkbc,MAAA,2B1Esmbd,sEA5BA,QAAA,MAgCA,e0Ejmbc,QAAA,K1Eqmbd,gD0EhmbsB,QAAA,KAAA,KAAA,KAAA,M1EombxB,YACE,Q0E9lbsB,a1EgmbxB,kBACE,a0E9lbsB,Q1EkkbtB,aAAA,M0E5jbc,aAAA,EAAA,IAAA,IAAA,E1E2lbd,Q0E1lbkB,G1E8jblB,OAAA,K0E3jbc,QAAA,a1E0lbd,K0EzlbkB,I1E6jblB,IAAA,I0E5jbkB,aAAA,K1E2lblB,U0E1lbsB,cAAA,iB1E8jbtB,iBAAA,I0E1jbsB,WAAA,IAAA,IAAA,S1EylbtB,M0Exlb0B,K1E2lb5B,6BA5BE,kEA8BE,KAAM,K0EjlbN,MAAA,M1EqlbJ,4B0EhlbQ,QACI,WAAA,M1EqjbV,WAAA,KACF,QAAA,E0EhjbI,8B1EmjbJ,QAAA,OAAA,O0EhjbQ,iCACA,iBAAA,YACA,OAAA,KACA,WAAA,KACA,cAAA,KAEA,iCACA,SAAA,SACA,iBAAA,YAEA,wCAAA,wCACA,MAAA,2B1EojbR,2BA8BI,KAAM,KQxsbN,SAAA,UR4sbJ,yBA5BE,mEACF,iBAAA,yB0EjibI,yFACI,MAAA,qB1EkkbN,+F0EhkbM,+F1EoibN,MAAA,qBA+BA,gGA5BA,MAAA,KA+BA,yG0E3jbc,MAAA,K1E8jbd,kGA5BA,MAAA,gCAgCF,kEA5BE,UAAA,O0E7hbc,OAAA,KAAA,KAAA,E1E8jbhB,WACE,O0Etjbc,O1Eujbd,M0Etjbc,OlE9LZ,WkEwMI,OAAA,Q1EijbN,M0EhjbU,Q1EmjbZ,WA5BE,OAAA,O0EhhbkB,MAAA,O1EijbpB,WACE,O0E5ibsB,O1EghbtB,MAAA,OAgCF,W0ElibwB,OAAA,K1EoibtB,M0Enib0B,KAUxB,YACI,OAAA,OACA,MAAA,OC5SR,cACI,YAAA,OACA,MAAA,K3E+ybJ,QAAA,KA8BE,OAAQ,K2E10bV,gBAAA,OACI,MAAA,K3E80bJ,c2E10bA,cAAA,K3E60bA,iCA5BA,OAAA,EAAA,MAAA,KAAA,EA8BE,QAAS,a2E10bX,OAAA,IAAA,MAAA,kBACI,cAAA,I3E80bJ,U2E10bA,UAAA,K3EizbA,UA8BE,UAAW,MAGb,UA5BA,UAAA,MAgCA,U2E10bI,UtEzBO,MLu2bX,U2E10bI,UAAA,MAGJ,qBACI,YAAA,MAAA,CAAA,W3E80bJ,uB2E10bQ,YAAA,KAAA,CAAA,W3EizbR,WA8BA,W4Ez3bA,W5E23bA,WA5BA,SAAA,OA8BE,cAAe,S4Ez3bjB,QAAA,YACI,mBAAA,SAGJ,WACI,mBAAA,EAGJ,WACI,mBAAA,EAGJ,WACI,mBAAA,EAKJ,WACI,mBAAA,EAGJ,WACI,MAAA,qB5E41bJ,KAAA,+BAgCA,mBACE,MAAO,QACP,KAAM,sBAGR,qB4Er3bI,MAAA,Q5E01bJ,KAAA,sBAgCA,mBA5BA,MAAA,QA8BE,KAAM,qBA1BR,gBA8BE,MAAO,Q4Ep3bT,KAAA,qB5Ew3bA,mB4Ep3bA,MAAA,QACI,KAAA,qBAIJ,kBACI,MAAA,QACA,KAAA,oBAKA,iBACI,MAAA,QACA,KAAA,sBAFJ,gBACI,MAAA,QACA,KAAA,mBAFJ,gBACI,MAAA,QACA,KAAA,sBAFJ,kBACI,MAAA,QACA,KAAA,qBAFJ,gBACI,MAAA,QACA,KAAA,sBAFJ,UACI,OAAA,KACA,MAAA,KAFJ,UACI,OAAA,KACA,MAAA,KAFJ,UACI,OAAA,KACA,MAAA,KAFJ,UACI,OAAA,KACA,MAAA,KAFJ,UACI,OAAA,KACA,MAAA,KAFJ,WACI,OAAA,KACA,MAAA,KAIR,oBACI,iBAAA,iC5Es6bJ,gD4El6bA,MAAA,QACI,KAAA,sB5Ew4bJ,kDA8BE,MAAO,Q4El6bT,KAAA,sB5Eq6bA,gDA5BA,MAAA,QA8BE,KAAM,qBAER,6C4El6bI,MAAA,Q5Eu4bJ,KAAA,qB4Ep4bA,gDACI,MAAA,QACA,KAAA,qB5Eq6bJ,+C4El6bA,MAAA,QACI,KAAA,oB5Ew4bJ,8CA8BE,MAAO,Q4Eh6bL,KAAA,mB5Es4bJ,6CA8BE,MAAO,Q4E35bD,KAAA,sB5E85bR,6CA5BA,MAAA,Q4El4bQ,KAAA,sB5Ek6bR,+CA5BA,MAAA,Q4Et4bQ,KAAA,qB5Es6bR,6CA5BA,MAAA,Q4E14bQ,KAAA,sB5E84bR,kB4E94bQ,OAAA,KACI,MAAA,KACA,YAAA,iB5Eg5bZ,QAAA,M4El5bQ,OAAA,IAAA,MAAA,QACI,chFpGQ,IgFqGR,MAAA,Q5Eo5bZ,WAAA,OAgCA,+CA5BA,OAAA,IAAA,MAAA,Q4E15bQ,MAAA,Q5E85bR,sC4E95bQ,QAAA,IAAA,K5Ek6bR,0B4El6bQ,cAAA,IAAA,MAAA,qBACI,SAAA,OACA,QAAA,OAAA,E5Eo6bZ,SAAA,SA+BA,uC4En8bY,cAAA,K5Es8bZ,0C6E3jcA,QAAA,MACI,MAAA,MACA,YAAA,KACA,MAAA,K7E8jcJ,8C6E3jcI,MAAA,K7E8jcJ,6CA5BA,QAAA,MA8BE,cAAe,IAEjB,2C6EvjcQ,MAAA,qB7E4hcR,QAAA,MA8BE,UAAW,S8ExkcP,OAAA,EACE,SAAA,O9E2kcR,2C8EnkcI,MAAA,QACI,UAAA,SACA,SAAA,SACA,KAAA,IACA,IAAA,K9E2icR,mB8EvicQ,WAAA,KACI,QAAA,EAAA,K9EukcZ,sB8EpkcY,cAAA,KACA,4CACI,MAAA,K9E0ichB,QAAA,KA+BA,kD8EpkcY,QAAA,MAEJ,gCACI,MAAA,MACA,WAAA,OACA,MAAA,K9EukcZ,oCA5BA,cAAA,K8EvicQ,MAAA,K9EukcR,kC8EpkcY,UAAA,KACA,WAAA,O9E0icZ,+BA8BE,WAAY,iC8Elkcd,cAAA,IAEA,QAAA,aACI,QAAA,KACA,SAAA,SACA,iCACI,QAAA,M9EuicR,UAAA,K8EricQ,WAAA,OACI,YAAA,IACA,SAAA,SAIA,iCACI,OAAA,E9EqichB,YAAA,IA+BA,qC8E9jcQ,MAAA,MACA,IAAA,E9EmicR,OAAA,MAAA,Y8ElicQ,QAAA,IACI,OAAA,EACA,MAAA,E9EoicZ,SAAA,S8ElicQ,eAAA,KACI,iBAAA,iCACA,aAAA,I9EoicZ,YAAA,K8EjicI,kBAAA,iC9EikcJ,sC8E9jcQ,MAAA,MACA,UAAA,KACA,aAAA,K9EmicR,MAAA,IA+BA,qC8E/jcY,MAAA,e9EkkcZ,2C8E/jcY,MAAA,e9EoicZ,YAAA,K8ElicQ,WAAA,KACI,MAAA,c9EqicZ,oC8ElicQ,iBAAA,+B9EkkcR,0C8E/jcY,aAAA,YACA,mBAAA,+BACA,iBAAA,+BACA,KAAA,gBACA,MAAA,K9EkkcZ,8C8E/jcY,MAAA,M9EsicZ,uD8EjicI,cAAA,IAAA,MAAA,kB9EikcJ,wE8E9jcQ,MAAA,QAIA,a9EmkcR,Q8ElkcY,gB9EikcZ,e8E/jcQ,gB9EgicR,W8E7hcY,QAAA,KAGJ,WAEI,S9E6jcZ,cA5BA,WA+BA,K8E9jcgB,QAAA,EACA,OAAA,G9EqichB,W8E/hcQ,SAAA,MACI,IAAA,E9EiicZ,MAAA,EA8BE,KAAM,E8EvjcA,OAAA,EACI,iBAAA,kB9E4hcZ,QAAA,KAGA,QA8BE,MAAO,K+EptcT,OAAA,KACI,SAAA,S/EstcF,MAAO,IACP,IAAK,IACL,OAAQ,MAAM,MAAM,EAAE,EAGxB,SACE,OAAQ,EAAE,K+ErtcR,UAAA,K/EutcF,SAAU,SACV,YAAa,QACb,WAAY,IAAI,MAAM,QACtB,YAAa,IAAI,MAAM,QACvB,c+EttcM,IAAA,MAAA,Q/EutcN,a+EttcM,IAAA,MAAA,Q/E0rcN,UAAA,cACF,UAAA,iBAAA,KAAA,SAAA,OAgCA,SACA,egFvucI,cAAA,IACA,MAAA,KACA,OAAA,KhF2ucJ,4BgFvucA,GACI,UAAA,UAEA,KACA,UAAA,iBhF8scJ,sCA8BE,WAAY,IAAI,MAAM,QgFvucxB,YAAA,IAAA,MAAA,QACI,cAAA,IAAA,MAAA,QhF2ucJ,egFvucI,MAAA,QACA,iBAAA,sBACA,aAAA,sBhF0ucJ,2BgFvucI,MAAA,QAGJ,iBhFyucE,MAAO,QgFvucL,iBAAA,sBACA,aAAA,sBhF6scJ,6BA8BE,MAAO,QAGT,eA5BE,MAAA,QgF1scE,iBAAA,qBhFyucF,agFxucM,qBhF6scR,2BgFtscI,MAAA,QhFuucJ,YA5BA,MAAA,QA8BE,iBAAkB,qBiF3xchB,aAAA,qBjF8xcJ,wBiF3xcM,MAAA,QjF+xcN,eA5BA,MAAA,QA8BE,iBAAkB,qBiFpychB,aAAA,qBjFuycJ,2BiFpycM,MAAA,QjFwycN,cA5BA,MAAA,QA8BE,iBAAkB,oBiF7ychB,aAAA,oBjFgzcJ,0BiF7ycM,MAAA,QjFizcN,aA5BA,MAAA,QA8BE,iBAAkB,sBiFtzchB,aAAA,sBjFyzcJ,yBiFtzcM,MAAA,QjF0zcN,YA5BA,MAAA,QA8BE,iBAAkB,mBiF/zchB,aAAA,mBjFk0cJ,wBiF/zcM,MAAA,QjFm0cN,YA5BA,MAAA,QA8BE,iBAAkB,sBiFx0chB,aAAA,sBjF20cJ,wBiFx0cM,MAAA,QjF40cN,cA5BA,MAAA,QA8BE,iBAAkB,qBiFj1chB,aAAA,qBjFo1cJ,0BiFj1cM,MAAA,QjFq1cN,YA5BA,MAAA,QA8BE,iBAAkB,sBiF11chB,aAAA,sBjF61cJ,wBiF11cM,MAAA,QjF81cN,4CA5BA,MAAA,QA8BE,iBAAkB,sBiFn2chB,aAAA,sBjFs2cJ,wDiFn2cM,MAAA,QACA,8CACE,MAAA,QjFy0cR,iBAAA,sBA8BE,aAAc,sBAEhB,0DiF52cM,MAAA,QjFk1cN,4CiFh1cM,MAAA,QACE,iBAAA,qBjFk1cR,aAAA,qBiFv1cI,wDACE,MAAA,QjFw3cN,yCA5BA,MAAA,QiFz1cM,iBAAA,qBACE,aAAA,qBjFy3cR,qDiF92cQ,MAAA,QjFi3cR,4CiF92cU,MAAA,QjFm1cV,iBAAA,qBiFl1cU,aAAA,qBjFq1cV,wDiFz1cQ,MAAA,QjFy3cR,2CiFt3cU,MAAA,QjF21cV,iBAAA,oBiF11cU,aAAA,oBjF61cV,uDiFj2cQ,MAAA,QjFi4cR,0CiF93cU,MAAA,QjFm2cV,iBAAA,mBiFl2cU,aAAA,mBjFq2cV,sDiFz2cQ,MAAA,QjFy4cR,yCiFt4cU,MAAA,QjF22cV,iBAAA,sBiF12cU,aAAA,sBjF62cV,qDiFj3cQ,MAAA,QjFi5cR,yCiF94cU,MAAA,QjFm3cV,iBAAA,sBiFl3cU,aAAA,sBjFq3cV,qDiFz3cQ,MAAA,QjFy5cR,2CiFt5cU,MAAA,QjF23cV,iBAAA,qBiF13cU,aAAA,qBjF63cV,uDiFj4cQ,MAAA,QjFi6cR,yCiF95cU,MAAA,QjFm4cV,iBAAA,sBiFl4cU,aAAA,sBjFq4cV,qDiFz4cQ,MAAA,QjF06cR,mCA5BA,UAAA,OiF14cU,SAAA,SACE,KAAA,EALJ,uDACE,QAAA,SjFq5cV,wBiFl5cU,WAAA,KACE,OAAA,IAAA,MAAA,iCjFm7cZ,OiFt7cU,WAAA,KAEA,oBACE,MAAA,QjF45cZ,iBAAA,sBiFj6cQ,WAAA,KjFk8cR,uBA5BA,MAAA,QiFl6cU,OAAA,IAAA,MAAA,QACE,iBAAA,YjFo6cZ,WAAA,KAgCA,sBkFv9cQ,MAAA,QACA,iBAAA,sBlF47cR,WAAA,KAGA,yBA8BE,MAAO,QkF/8cL,OAAA,IAAA,MAAA,QACI,iBAAA,YACA,WAAA,KCpBR,oBACI,MAAA,QnF28cJ,iBAAA,qBA8BE,WAAY,KAGd,uBmFr+cI,MAAA,QnF08cJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmFn9chB,WAAA,KnFu9cJ,iBmFn+cI,MAAA,QnFw8cJ,iBAAA,qBA8BE,WAAY,KAGd,oBmFl/cI,MAAA,QnFu9cJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmFh+chB,WAAA,KnFo+cJ,oBmFh/cI,MAAA,QnFq9cJ,iBAAA,qBA8BE,WAAY,KAGd,uBmF//cI,MAAA,QnFo+cJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmF7+chB,WAAA,KnFi/cJ,mBmF7/cI,MAAA,QnFk+cJ,iBAAA,oBA8BE,WAAY,KAGd,sBmF5gdI,MAAA,QnFi/cJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmF1/chB,WAAA,KnF8/cJ,kBmF1gdI,MAAA,QnF++cJ,iBAAA,sBA8BE,WAAY,KAGd,qBmFzhdI,MAAA,QnF8/cJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmFvgdhB,WAAA,KnF2gdJ,iBmFvhdI,MAAA,QnF4/cJ,iBAAA,mBA8BE,WAAY,KAGd,oBmFtidI,MAAA,QnF2gdJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmFphdhB,WAAA,KnFwhdJ,iBmFpidI,MAAA,QnFygdJ,iBAAA,sBA8BE,WAAY,KAGd,oBmFnjdI,MAAA,QnFwhdJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmFjidhB,WAAA,KnFqidJ,mBmFjjdI,MAAA,QnFshdJ,iBAAA,qBA8BE,WAAY,KAGd,sBmFhkdI,MAAA,QnFqidJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmF9idhB,WAAA,KnFkjdJ,iBmF9jdI,MAAA,QnFmidJ,iBAAA,sBA8BE,WAAY,KAGd,oBmF7kdI,MAAA,QnFkjdJ,OAAA,IAAA,MAAA,QA8BE,iBAAkB,YmF3jdhB,WAAA,KnF+jdJ,iDmF3kdI,MAAA,QnFgjdJ,iBAAA,sBA8BE,WAAY,KAEd,oDmF1ldI,MAAA,QACA,OAAA,IAAA,MAAA,QnF+jdJ,iBAAA,YA8BE,WAAY,KAEd,mDmFxldI,MAAA,QACA,iBAAA,sBACA,WAAA,KnF2ldJ,sDmFnldI,MAAA,QAnBA,OAAA,IAAA,M9E2EW,Q8E1EX,iBAAA,YACA,WAAA,KnF0mdJ,iDmFrldI,MAAA,QAfA,iB9EmEW,qB8ElEX,WAAA,KnFwmdJ,oDA5BA,MAAA,QA8BE,OAAQ,IAAI,MAAM,QmFlldZ,iBAAA,YAjCJ,WAAA,KnFundJ,8CA5BA,MAAA,QmFtjdQ,iBAAA,qBA7BJ,WAAA,KnFondJ,iDmFjndI,MAAA,QnFsldJ,OAAA,IAAA,MAAA,QmFhkdQ,iBAAA,YAjCJ,WAAA,KnFkodJ,iDA5BA,MAAA,QmFjkdQ,iBAAA,qBA7BJ,WAAA,KnF+ndJ,oDmF5ndI,MAAA,QnFimdJ,OAAA,IAAA,MAAA,QmF3kdQ,iBAAA,YAjCJ,WAAA,KnF6odJ,gDA5BA,MAAA,QmF5kdQ,iBAAA,oBA7BJ,WAAA,KnF0odJ,mDmFvodI,MAAA,QnF4mdJ,OAAA,IAAA,MAAA,QmFtldQ,iBAAA,YAjCJ,WAAA,KnFwpdJ,+CA5BA,MAAA,QmFvldQ,iBAAA,mBA7BJ,WAAA,KnFqpdJ,kDmFlpdI,MAAA,QnFundJ,OAAA,IAAA,MAAA,QmFjmdQ,iBAAA,YAjCJ,WAAA,KnFmqdJ,8CA5BA,MAAA,QmFlmdQ,iBAAA,sBA7BJ,WAAA,KnFgqdJ,iDmF7pdI,MAAA,QnFkodJ,OAAA,IAAA,MAAA,QmF5mdQ,iBAAA,YAjCJ,WAAA,KnF8qdJ,8CA5BA,MAAA,QmF7mdQ,iBAAA,sBA7BJ,WAAA,KnF2qdJ,iDmFxqdI,MAAA,QnF6odJ,OAAA,IAAA,MAAA,QmFvndQ,iBAAA,YAjCJ,WAAA,KnFyrdJ,gDA5BA,MAAA,QmFxndQ,iBAAA,qBA7BJ,WAAA,KnFsrdJ,mDmFnrdI,MAAA,QnFwpdJ,OAAA,IAAA,MAAA,QmFlodQ,iBAAA,YAjCJ,WAAA,KnFosdJ,8CA5BA,MAAA,QmFnodQ,iBAAA,sBA7BJ,WAAA,KnFisdJ,iDmF9rdI,MAAA,QnFmqdJ,OAAA,IAAA,MAAA,QmF7odQ,iBAAA,YAjCJ,WAAA,KnFmrdJ,mBmF9odQ,MAAA,QnF8qdR,0CmFzsdI,YAAA,wBAuBI,gDAjCJ,MAAA,QnF8rdJ,amFzpdQ,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBnF0rdR,emFptdI,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBnFwtdJ,amFludI,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBAoCI,UA7BJ,WAAA,MvFGgB,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBIgudpB,aA5BA,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBAgCA,YA5BA,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,mBAGA,WA8BE,WAAY,MAAM,EAAE,IAAI,EAAE,qBAAyB,CAAE,EAAE,IAAI,IAAI,iBAAqB,qBA1BtF,UA8BE,WAAY,MAAM,EAAE,IAAI,EAAE,qBAAyB,CAAE,EAAE,IAAI,IAAI,iBAAqB,kBA1BtF,UA8BE,WAAY,MAAM,EAAE,IAAI,EAAE,qBAAyB,CAAE,EAAE,IAAI,IAAI,iBAAqB,qBA1BtF,YA8BE,WAAY,MAAM,EAAE,IAAI,EAAE,qBAAyB,CAAE,EAAE,IAAI,IAAI,iBAAqB,oBA1BtF,UA8BE,WAAY,MAAM,EAAE,IAAI,EAAE,qBAAyB,CAAE,EAAE,IAAI,IAAI,iBAAqB,qBA1BtF,iBA8BE,WAAY,KAEd,OA5BA,QAAA,aAgCA,WA5BA,WA8BE,MAAO,QA1BT,WA8BE,aAAc,QoFvxdZ,iBpFyxdJ,iBA5BA,iBAAA,QA8BE,aAAc,QoF3xdZ,iBpF6xdJ,iBA5BA,WAAA,EAAA,EAAA,EAAA,OAAA,qBAgCA,UA5BA,YAAA,IA8BE,MAAO,qBoF9xdL,iBAAA,YpFowdJ,gBA8BE,MAAO,2BoF3xdD,iBAAA,YACI,aAAA,YAIR,gBAAA,gBACI,aAAA,YpF8vdR,WAAA,KoFvvdA,mBAAA,mBpFuxdE,MAAO,kCoFrxdL,eAAA,KAGJ,qBACI,MAAA,QpF0vdJ,aAAA,QA+BA,2BoFrxdQ,MAAA,KpF0vdR,iBAAA,QoFvvdI,aAAA,QpF0vdJ,sCAAA,2BA8BE,WAAY,EAAE,EAAE,EAAE,OAAQ,qBKzxcE,uCL2xc9B,wCK3xc8B,4BAAA,0CAAA,4B+Enf1B,MAAA,KACA,iBAAA,QpFmvdJ,aAAA,QKh5c0C,6CL+6c1C,8CK/6c0C,kCAAA,gDAAA,kC+E/VlC,WAAA,EAAA,EAAA,EAAA,OAAA,qBpFovdR,8BAAA,8BoFjvdI,MAAA,QAGI,iBAAA,YAGJ,uBAEI,MAAA,QACA,aAAA,QpF8wdR,6BoFtwdI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,wCAAA,6BACE,WATY,EAAA,EAAA,EAAA,OAAA,qBpBMD,yCL2wdf,0CK3wde,8BAAA,4CAAA,8BL+udf,MAAA,KyBvudE,iBAAA,QAEE,aAAA,QAGF,+CAAA,gDAAA,oCAAA,kDAAA,oCAKE,WArBa,EAAA,EAAA,EAAA,OAAA,qBpBGF,gCLmxdf,gCA5BA,MAAA,QyBjudI,iBAAA,YAUF,qBAEE,MAAA,QACA,aAAA,QzByvdJ,2BoF/xdI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,sCAAA,2BACE,WATY,EAAA,EAAA,EAAA,OAAA,oBpBMD,uCLoydf,wCKpyde,4BAAA,0CAAA,4BLwwdf,MAAA,KyBhwdE,iBAAA,QAEE,aAAA,QAGF,6CAAA,8CAAA,kCAAA,gDAAA,kCAKE,WArBa,EAAA,EAAA,EAAA,OAAA,oBpBGF,8BL4ydf,8BA5BA,MAAA,QyB1vdI,iBAAA,YAUF,kBAEE,MAAA,QACA,aAAA,QzBkxdJ,wBoFxzdI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,mCAAA,wBACE,WATY,EAAA,EAAA,EAAA,OAAA,oBpBMD,oCL6zdf,qCK7zde,yBAAA,uCAAA,yBLiydf,MAAA,KyBzxdE,iBAAA,QAEE,aAAA,QAGF,0CAAA,2CAAA,+BAAA,6CAAA,+BAKE,WArBa,EAAA,EAAA,EAAA,OAAA,oBpBGF,2BLq0df,2BA5BA,MAAA,QyBnxdI,iBAAA,YAUF,qBAEE,MAAA,QACA,aAAA,QzB2ydJ,2BoFj1dI,MAAA,Q3DEF,iBpBCa,QoBAb,aAAA,QAEA,sCAAA,2BACE,WATY,EAAA,EAAA,EAAA,OAAA,oBpBMD,uCLs1df,wCKt1de,4BAAA,0CAAA,4BL0zdf,MAAA,QyBlzdE,iBAAA,QAEE,aAAA,QAGF,6CAAA,8CAAA,kCAAA,gDAAA,kCAKE,WArBa,EAAA,EAAA,EAAA,OAAA,oBpBGF,8BL81df,8BA5BA,MAAA,QyB5ydI,iBAAA,YAUF,oBAEE,MAAA,QACA,aAAA,QzBo0dJ,0BoF12dI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,qCAAA,0BACE,WAAA,EATY,EAAA,EAAA,OAAA,mBpBMD,sCL+2df,uCK/2de,2BAAA,yCAAA,2BLm1df,MAAA,KyB30dE,iBAAA,QAEE,aAAA,QAGF,4CAAA,6CAAA,iCAAA,+CAAA,iCAKE,WAAA,EArBa,EAAA,EAAA,OAAA,mBpBGF,6BLu3df,6BA5BA,MAAA,QyBr0dI,iBAAA,YAUF,mBAEE,MAAA,QACA,aAAA,QzB61dJ,yBoFn4dI,MAAA,Q3DEF,iBpBCa,QoBAb,aAAA,QAEA,oCAAA,yBACE,WATY,EAAA,EAAA,EAAA,OAAA,qBpBMD,qCLw4df,sCKx4de,0BAAA,wCAAA,0BL42df,MAAA,QyBp2dE,iBAAA,QAEE,aAAA,QAGF,2CAAA,4CAAA,gCAAA,8CAAA,gCAKE,WArBa,EAAA,EAAA,EAAA,OAAA,qBpBGF,4BLg5df,4BA5BA,MAAA,QyB91dI,iBAAA,YAUF,kBAEE,MAAA,QACA,aAAA,QzBs3dJ,wBoF55dI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,mCAAA,wBACE,WAAA,EATY,EAAA,EAAA,OAAA,kBpBMD,oCLi6df,qCKj6de,yBAAA,uCAAA,yBLq4df,MAAA,KyB73dE,iBAAA,QAEE,aAAA,QAGF,0CAAA,2CAAA,+BAAA,6CAAA,+BAKE,WAAA,EArBa,EAAA,EAAA,OAAA,kBpBGF,2BLy6df,2BA5BA,MAAA,QyBv3dI,iBAAA,YAUF,kBAEE,MAAA,QACA,aAAA,QzB+4dJ,wBoFr7dI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,mCAAA,wBACE,WATY,EAAA,EAAA,EAAA,OAAA,qBpBMD,oCL07df,qCK17de,yBAAA,uCAAA,yBL85df,MAAA,KyBt5dE,iBAAA,QAEE,aAAA,QAGF,0CAAA,2CAAA,+BAAA,6CAAA,+BAKE,WArBa,EAAA,EAAA,EAAA,OAAA,qBpBGF,2BLk8df,2BA5BA,MAAA,QyBh5dI,iBAAA,YAUF,oBAEE,MAAA,QACA,aAAA,QzBw6dJ,0BoF98dI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,qCAAA,0BACE,WATY,EAAA,EAAA,EAAA,OAAA,oBpBMD,sCLm9df,uCKn9de,2BAAA,yCAAA,2BLu7df,MAAA,KyB/6dE,iBAAA,QAEE,aAAA,QAGF,4CAAA,6CAAA,iCAAA,+CAAA,iCAKE,WArBa,EAAA,EAAA,EAAA,OAAA,oBpBGF,6BL29df,6BA5BA,MAAA,QyBz6dI,iBAAA,YAUF,kBAEE,MAAA,QACA,aAAA,QzBi8dJ,wBoFv+dI,MAAA,K3DEF,iBpBCa,QoBAb,aAAA,QAEA,mCAAA,wBACE,WATY,EAAA,EAAA,EAAA,OAAA,qBpBMD,oCL4+df,qCK5+de,yBAAA,uCAAA,yBLg9df,MAAA,KyBx8dE,iBAAA,QAEE,aAAA,QAGF,0CAAA,2CAAA,+BAAA,6CAAA,+BAKE,WArBa,EAAA,EAAA,EAAA,OAAA,qBpBGF,2BLo/df,2BA5BA,MAAA,QyBl8dI,iBAAA,YAUF,WAEE,OAAA,QpBlCW,OAAA,QAAA,MoBmCX,QAAA,MAAA,MzB47dJ,iBAAA,kBAgCA,iByB//dE,OAAA,QAAA,MAAA,QAAA,OzBo+dF,QAAA,OAAA,MyBl+dE,iBAAA,kBACE,QAAA,azBs+dJ,QyBj+dE,QAAA,MAAA,MAEE,UAAA,OzBk+dJ,cAAA,OAgCA,kByBx/dI,MAAA,QzB69dJ,iBAAA,sByB39dI,aAAA,sBzB89dJ,wByBp9dE,MAAA,KAEE,iBpBlCW,QLw/df,wBAAA,wBA8BE,WAAY,EAAE,EAAE,EAAE,OAAQ,qBAG5B,oBoFhheI,MAAA,QpFq/dJ,iBAAA,sBA8BE,aAAc,sBAEhB,0BoFhheI,MAAA,KACA,iBAAA,QpFs/dJ,0BAAA,0BA8BE,WAAY,EAAE,EAAE,EAAE,OAAQ,qBAG5B,kBoF5geI,MAAA,QpFi/dJ,iBAAA,qBA8BE,aAAc,qBAEhB,wBoFxgeI,MAAA,KACA,iBAAA,QAEA,wBAAA,wBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,oB+EqHP,eAEI,MAAA,QpF2+dR,iBAAA,qBA8BE,aAAc,qBAEhB,qBoFrheI,MAAA,KACA,iBAAA,QAEA,qBAAA,qBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,oB+EqHP,kBAEI,MAAA,QpFw/dR,iBAAA,qBA8BE,aAAc,qBAEhB,wBoFlieI,MAAA,KACA,iBAAA,QAEA,wBAAA,wBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,oB+EqHP,iBAEI,MAAA,QpFqgeR,iBAAA,oBA8BE,aAAc,oBAEhB,uBoF/ieI,MAAA,KACA,iBAAA,QAEA,uBAAA,uBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,mB+EqHP,gBAEI,MAAA,QpFkheR,iBAAA,sBA8BE,aAAc,sBAEhB,sBoF5jeI,MAAA,KACA,iBAAA,QAEA,sBAAA,sBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,qB+EqHP,eAEI,MAAA,QpF+heR,iBAAA,mBA8BE,aAAc,mBAEhB,qBoFzkeI,MAAA,KACA,iBAAA,QAEA,qBAAA,qBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,kB+EqHP,eAEI,MAAA,QpF4ieR,iBAAA,sBA8BE,aAAc,sBAEhB,qBoFtleI,MAAA,KACA,iBAAA,QAEA,qBAAA,qBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,qB+EqHP,iBAEI,MAAA,QpFyjeR,iBAAA,qBA8BE,aAAc,qBAEhB,uBoFnmeI,MAAA,KACA,iBAAA,QAEA,uBAAA,uBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,oB+EqHP,eAEI,MAAA,QpFskeR,iBAAA,sBA8BE,aAAc,sBAEhB,qBoFhneI,MAAA,KACA,iBAAA,QAEA,qBAAA,qBACI,W/EjHG,EAAA,EAAA,EAAA,OAAA,qB+EqHP,sBAEI,iBAAA,QpFmleR,MAAA,eA8BE,cAAe,IAAI,MAAM,QAG3B,wBoF7neI,iBAAA,QpFkmeJ,MAAA,eoFhmeI,cAAA,IAAA,MAAA,QpFomeJ,sBoF/leI,iBAAA,QAEI,MAAA,epFgmeR,cAAA,IAAA,MAAA,QAgCA,mBoF1oeI,iBAAA,QACA,MAAA,epF+meJ,cAAA,IAAA,MAAA,QAgCA,sBA5BA,iBAAA,QoF5meI,MAAA,eAEI,cAAA,IAAA,MAAA,QAoBJ,qBANA,iBAAA,QACA,MAAA,eACA,cAAA,IAAA,MAAA,QAIA,oBANA,iBAAA,QACA,MAAA,eACA,cAAA,IAAA,MAAA,QAIA,mBANA,iBAAA,QACA,MAAA,eACA,cAAA,IAAA,MAAA,QAIA,mBANA,iBAAA,QACA,MAAA,eACA,cAAA,IAAA,MAAA,QAIA,qBANA,iBAAA,QACA,MAAA,eACA,cAAA,IAAA,MAAA,QAIA,mBANA,iBAAA,QACA,MAAA,eACA,cAAA,IAAA,MAAA,QAIA,mBANA,MAAA,kBpFyoeJ,wCA8BE,iBAAkB,qBAEpB,8CoFxqeI,iBAAA,qBpF8oeJ,gDA8BE,MAAO,kBAET,0CoF9qeI,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBpFopeJ,kDA8BE,MAAO,QoF7qeL,aAAA,QpFgreJ,wDoFpreI,MAAA,KpFypeJ,iBAAA,QA8BE,aAAc,QAEhB,mEKtvee,wD+E4DX,WAAA,EAAA,EAAA,EAAA,OAAA,qBpFgqeJ,oEAAA,qEAAA,yDAAA,uEAAA,yDA8BE,MAAO,KoFpreT,iBAAA,QACI,aAAA,QpFure0E,0EAA9E,2EAA2N,+DAAgE,6EAAhI,+DoF7pevJ,WAAA,EAAA,EAAA,EAAA,OAAA,qBpFmoeJ,2DAAA,2DoF/neI,MAAA,QACI,iBAAA,YAEJ,+CACI,MAAA,QpFioeR,iBAAA,sBoF9neQ,aAAA,sBpFioeR,qDoF9neQ,MAAA,K3DhHN,iB7B/DkB,QIizepB,qDAAA,qDyB/ueE,WAAA,EAAA,EAAA,EAAA,OAAA,qBzB+weF,mDyB5weI,iBAAA,QzBiveJ,MAAA,eyB9ueE,cAAA,IAAA,MAAA,QzBiveF,4CyB5ueE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBzB4weF,oDyBrweI,MAAA,QzB0ueJ,aAAA,QA+BA,0DA5BA,MAAA,KyBjueE,iBAAA,QAEE,a7BlGgB,QIq0epB,qEAAA,0DoFnpeQ,WAAA,EAAA,EAAA,EAAA,OAAA,qBA/EJ,sEpFkweJ,uEoFlweI,2DAAA,yEAAA,2DACA,MAAA,KpFsueJ,iBAAA,QoFpueI,aAAA,QxFtGgB,4EI02epB,6EJ12eoB,iEAAA,+EAAA,iEI80epB,WAAA,EAAA,EAAA,EAAA,OAAA,qBoFjueQ,6DpFgweR,6DA5BA,MAAA,QoF5peQ,iBAAA,YpF4reR,iDoFpveI,MAAA,QpFyteJ,iBAAA,sBoF1qeQ,aAAA,sBpF6qeR,uDoF1qeQ,MAAA,K3DhHN,iB7B/DkB,QI61epB,uDAAA,uDyB3xeE,WAAA,EAAA,EAAA,EAAA,OAAA,qBzB2zeF,qDyBxzeI,iBAAA,QzB6xeJ,MAAA,eyB1xeE,cAAA,IAAA,MAAA,QzB6xeF,0CyBxxeE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBzBwzeF,kDyBjzeI,MAAA,QzBsxeJ,aAAA,QA+BA,wDA5BA,MAAA,KyB7weE,iBAAA,QAEE,a7BlGgB,QIi3epB,mEAAA,wDoF/reQ,WAAA,EAAA,EAAA,EAAA,OAAA,oBA/EJ,oEpF8yeJ,qEoF9yeI,yDAAA,uEAAA,yDACA,MAAA,KpFkxeJ,iBAAA,QoFhxeI,aAAA,QxFtGgB,0EIs5epB,2EJt5eoB,+DAAA,6EAAA,+DI03epB,WAAA,EAAA,EAAA,EAAA,OAAA,oBoF7weQ,2DpF4yeR,2DA5BA,MAAA,QoFxseQ,iBAAA,YpFwueR,+CoFhyeI,MAAA,QpFqweJ,iBAAA,qBoFtteQ,aAAA,qBpFyteR,qDoFtteQ,MAAA,K3DhHN,iB7B/DkB,QIy4epB,qDAAA,qDyBv0eE,WAAA,EAAA,EAAA,EAAA,OAAA,oBzBu2eF,mDyBp2eI,iBAAA,QzBy0eJ,MAAA,eyBt0eE,cAAA,IAAA,MAAA,QzBy0eF,uCyBp0eE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBzBo2eF,+CyB71eI,MAAA,QzBk0eJ,aAAA,QA+BA,qDA5BA,MAAA,KyBzzeE,iBAAA,QAEE,a7BlGgB,QI65epB,gEAAA,qDoF3ueQ,WAAA,EAAA,EAAA,EAAA,OAAA,oBA/EJ,iEpF01eJ,kEoF11eI,sDAAA,oEAAA,sDACA,MAAA,KpF8zeJ,iBAAA,QoF5zeI,aAAA,QxFtGgB,uEIk8epB,wEJl8eoB,4DAAA,0EAAA,4DIs6epB,WAAA,EAAA,EAAA,EAAA,OAAA,oBoFzzeQ,wDpFw1eR,wDA5BA,MAAA,QoFpveQ,iBAAA,YpFoxeR,4CoF50eI,MAAA,QpFizeJ,iBAAA,qBoFlweQ,aAAA,qBpFqweR,kDoFlweQ,MAAA,K3DhHN,iB7B/DkB,QIq7epB,kDAAA,kDyBn3eE,WAAA,EAAA,EAAA,EAAA,OAAA,oBzBm5eF,gDyBh5eI,iBAAA,QzBq3eJ,MAAA,eyBl3eE,cAAA,IAAA,MAAA,QzBq3eF,0CyBh3eE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBzBg5eF,kDyBz4eI,MAAA,QzB82eJ,aAAA,QA+BA,wDA5BA,MAAA,QyBr2eE,iBAAA,QAEE,a7BlGgB,QIy8epB,mEAAA,wDoFvxeQ,WAAA,EAAA,EAAA,EAAA,OAAA,oBA/EJ,oEpFs4eJ,qEoFt4eI,yDAAA,uEAAA,yDACA,MAAA,QpF02eJ,iBAAA,QoFx2eI,aAAA,QxFtGgB,0EI8+epB,2EJ9+eoB,+DAAA,6EAAA,+DIk9epB,WAAA,EAAA,EAAA,EAAA,OAAA,oBoFr2eQ,2DpFo4eR,2DA5BA,MAAA,QoFhyeQ,iBAAA,YpFg0eR,+CoFx3eI,MAAA,QpF61eJ,iBAAA,qBoF9yeQ,aAAA,qBpFizeR,qDoF9yeQ,MAAA,K3DhHN,iB7B/DkB,QIi+epB,qDAAA,qDyB/5eE,WAAA,EAAA,EAAA,EAAA,OAAA,oBzB+7eF,mDyB57eI,iBAAA,QzBi6eJ,MAAA,eyB95eE,cAAA,IAAA,MAAA,QzBi6eF,yCyB55eE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,mBzB47eF,iDyBr7eI,MAAA,QzB05eJ,aAAA,QA+BA,uDA5BA,MAAA,KyBj5eE,iBAAA,QAEE,a7BlGgB,QIq/epB,kEAAA,uDoFn0eQ,WAAA,EAAA,EAAA,EAAA,OAAA,mBA/EJ,mEpFk7eJ,oEoFl7eI,wDAAA,sEAAA,wDACA,MAAA,KpFs5eJ,iBAAA,QoFp5eI,aAAA,QxFtGgB,yEI0hfpB,0EJ1hfoB,8DAAA,4EAAA,8DI8/epB,WAAA,EAAA,EAAA,EAAA,OAAA,mBoFj5eQ,0DpFg7eR,0DA5BA,MAAA,QoF50eQ,iBAAA,YpF42eR,8CoFp6eI,MAAA,QpFy4eJ,iBAAA,oBoF11eQ,aAAA,oBpF61eR,oDoF11eQ,MAAA,K3DhHN,iB7B/DkB,QI6gfpB,oDAAA,oDyB38eE,WAAA,EAAA,EAAA,EAAA,OAAA,mBzB2+eF,kDyBx+eI,iBAAA,QzB68eJ,MAAA,eyB18eE,cAAA,IAAA,MAAA,QzB68eF,wCyBx8eE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,kBzBw+eF,gDyBj+eI,MAAA,QzBs8eJ,aAAA,QA+BA,sDA5BA,MAAA,KyB77eE,iBAAA,QAEE,a7BlGgB,QIiifpB,iEAAA,sDoF/2eQ,WAAA,EAAA,EAAA,EAAA,OAAA,kBA/EJ,kEpF89eJ,mEoF99eI,uDAAA,qEAAA,uDACA,MAAA,KpFk8eJ,iBAAA,QoFh8eI,aAAA,QxFtGgB,wEIskfpB,yEJtkfoB,6DAAA,2EAAA,6DI0ifpB,WAAA,EAAA,EAAA,EAAA,OAAA,kBoF77eQ,yDpF49eR,yDA5BA,MAAA,QoFx3eQ,iBAAA,YpFw5eR,6CoFh9eI,MAAA,QpFq7eJ,iBAAA,mBoFt4eQ,aAAA,mBpFy4eR,mDoFt4eQ,MAAA,K3DhHN,iB7B/DkB,QIyjfpB,mDAAA,mDyBv/eE,WAAA,EAAA,EAAA,EAAA,OAAA,kBzBuhfF,iDyBphfI,iBAAA,QzBy/eJ,MAAA,eyBt/eE,cAAA,IAAA,MAAA,QzBy/eF,uCyBp/eE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBzBohfF,+CyB7gfI,MAAA,QzBk/eJ,aAAA,QA+BA,qDA5BA,MAAA,QyBz+eE,iBAAA,QAEE,a7BlGgB,QI6kfpB,gEAAA,qDoF35eQ,WAAA,EAAA,EAAA,EAAA,OAAA,qBA/EJ,iEpF0gfJ,kEoF1gfI,sDAAA,oEAAA,sDACA,MAAA,QpF8+eJ,iBAAA,QoF5+eI,aAAA,QxFtGgB,uEIknfpB,wEJlnfoB,4DAAA,0EAAA,4DIslfpB,WAAA,EAAA,EAAA,EAAA,OAAA,qBoFz+eQ,wDpFwgfR,wDA5BA,MAAA,QoFp6eQ,iBAAA,YpFo8eR,4CoF5/eI,MAAA,QpFi+eJ,iBAAA,sBoFl7eQ,aAAA,sBpFq7eR,kDoFl7eQ,MAAA,K3DhHN,iB7B/DkB,QIqmfpB,kDAAA,kDyBnifE,WAAA,EAAA,EAAA,EAAA,OAAA,qBzBmkfF,gDyBhkfI,iBAAA,QzBqifJ,MAAA,eyBlifE,cAAA,IAAA,MAAA,QzBqifF,uCyBhifE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBzBgkfF,+CyBzjfI,MAAA,QzB8hfJ,aAAA,QA+BA,qDA5BA,MAAA,KyBrhfE,iBAAA,QAEE,a7BlGgB,QIynfpB,gEAAA,qDoFv8eQ,WAAA,EAAA,EAAA,EAAA,OAAA,qBA/EJ,iEpFsjfJ,kEoFtjfI,sDAAA,oEAAA,sDACA,MAAA,KpF0hfJ,iBAAA,QoFxhfI,aAAA,QxFtGgB,uEI8pfpB,wEJ9pfoB,4DAAA,0EAAA,4DIkofpB,WAAA,EAAA,EAAA,EAAA,OAAA,qBoFrhfQ,wDpFojfR,wDA5BA,MAAA,QoFh9eQ,iBAAA,YpFg/eR,4CoFxifI,MAAA,QpF6gfJ,iBAAA,sBoF99eQ,aAAA,sBpFi+eR,kDoF99eQ,MAAA,K3DhHN,iB7B/DkB,QIipfpB,kDAAA,kDyB/kfE,WAAA,EAAA,EAAA,EAAA,OAAA,qBzB+mfF,gDyB5mfI,iBAAA,QzBilfJ,MAAA,eyB9kfE,cAAA,IAAA,MAAA,QzBilfF,yCyB5kfE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,oBzB4mfF,iDyBrmfI,MAAA,QzB0kfJ,aAAA,QA+BA,uDA5BA,MAAA,KyBjkfE,iBAAA,QAEE,a7BlGgB,QIqqfpB,kEAAA,uDoFn/eQ,WAAA,EAAA,EAAA,EAAA,OAAA,oBA/EJ,mEpFkmfJ,oEoFlmfI,wDAAA,sEAAA,wDACA,MAAA,KpFskfJ,iBAAA,QoFpkfI,aAAA,QxFtGgB,yEI0sfpB,0EJ1sfoB,8DAAA,4EAAA,8DI8qfpB,WAAA,EAAA,EAAA,EAAA,OAAA,oBoFjkfQ,0DpFgmfR,0DA5BA,MAAA,QoF5/eQ,iBAAA,YpF4hfR,8CoFplfI,MAAA,QpFyjfJ,iBAAA,qBoF1gfQ,aAAA,qBpF6gfR,oDoF1gfQ,MAAA,K3DhHN,iB7B/DkB,QI6rfpB,oDAAA,oDyB3nfE,WAAA,EAAA,EAAA,EAAA,OAAA,oBzB2pfF,kDyBxpfI,iBAAA,QzB6nfJ,MAAA,eyB1nfE,cAAA,IAAA,MAAA,QzB6nfF,uCyBxnfE,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,IAAA,iBAAA,qBzBwpfF,+CyBjpfI,MAAA,QzBsnfJ,aAAA,QA+BA,qDA5BA,MAAA,KyB7mfE,iBAAA,QAEE,a7BlGgB,QIitfpB,gEAAA,qDoF/hfQ,WAAA,EAAA,EAAA,EAAA,OAAA,qBA/EJ,iEpF8ofJ,kEoF9ofI,sDAAA,oEAAA,sDACA,MAAA,KpFknfJ,iBAAA,QoFhnfI,aAAA,QxFtGgB,uEIsvfpB,wEJtvfoB,4DAAA,0EAAA,4DI0tfpB,WAAA,EAAA,EAAA,EAAA,OAAA,qBoF7mfQ,wDpF4ofR,wDA5BA,MAAA,QoFxifQ,iBAAA,YpFwkfR,4CoFhofI,MAAA,QpFqmfJ,iBAAA,sBoFtjfQ,aAAA,sBpFyjfR,kDoFtjfQ,MAAA,K3DhHN,iB7B/DkB,QIyufpB,kDAAA,kDyBvqfE,WAAA,EAAA,EAAA,EAAA,OAAA,qBzBusfF,gDyBpsfI,iBAAA,QzByqfJ,MAAA,eyBtqfE,cAAA,IAAA,MAAA,QzByqfF,wCyBpqfE,wCAKE,iBArBa,QAsBb,aAAA,QACA,MAAA,QAEA,uCAKI,iBAAA,QzB8pfR,aAAA,QyBzpfE,MAAA,QzByrfF,4CA5BA,iBAAA,QoF3kfQ,aAAA,QAhFJ,MAAA,QpF4rfJ,gDA5BA,aAAA,QoF5pfI,MAAA,QxFtGgB,uDAAA,uDAAA,sDIkyfpB,sDA5BA,MAAA,kBoF3pfI,iBAAA,QpF8pfJ,+CoFplfQ,aAAA,QA1DJ,MAAA,QAEA,sDAAA,sDAAA,qDpF6qfJ,qDA5BA,MAAA,kBoFplfI,iBAAA,QpFonfJ,oDoFjnfQ,aAAA,QACA,MAAA,QAEJ,2DAAA,2DAAA,0DAAA,0DACI,MAAA,kBACA,iBAAA,QAGJ,yDACI,iBAAA,kBACA,aAAA,kBAIJ,2DACI,iBAAA,kBACA,aAAA,kBpFonfR,yDoF9mfgB,iBAAA,kBpFmlfhB,aAAA,kBAgCA,sDA5BA,iBAAA,kBoFjlfQ,aAAA,kBpFqlfR,yDoF7kfI,iBAAA,kBACI,aAAA,kBAEA,wDAIQ,iBAAA,kBACA,aAAA,kBCrPJ,uDACI,iBAAA,kBACA,aAAA,kBAFJ,sDACI,iBAAA,kBACA,aAAA,kBAFJ,sDACI,iBAAA,kBACA,aAAA,kBAFJ,wDACI,iBAAA,kBACA,aAAA,kBAFJ,sDACI,iBAAA,kBACA,aAAA,kBAFJ,sFACI,iBAAA,kBACA,aAAA,kBrF43fhB,wFqF93fY,iBAAA,kBACI,aAAA,kBrFo2fhB,sFA8BE,iBAAkB,kBqFn4fR,aAAA,kBrFs4fZ,mFA5BA,iBAAA,kBA8BE,aAAc,kBAEhB,sFqFx4fgB,iBAAA,kBrF62fhB,aAAA,kBqF/2fY,qFACI,iBAAA,kBACA,aAAA,kBrFg5fhB,oFqFl5fY,iBAAA,kBACI,aAAA,kBrFw3fhB,mFA8BE,iBAAkB,kBqFz4fJ,aAAA,kBrF44fhB,mFA5BA,iBAAA,kBqFh3fgB,aAAA,kBrFg5fhB,qFA5BA,iBAAA,kBqFp3fgB,aAAA,kBrFo5fhB,mFA5BA,iBAAA,kBqFx3fgB,aAAA,kBrF43fhB,MqF53fgB,WAAA,wBACI,cAAA,OrF+3fpB,iBqFh4fgB,MAAA,QACI,UAAA,KACA,QAAA,arFk4fpB,YAAA,IAgCA,cA5BA,MAAA,KqFx4fgB,OAAA,KrFw6fhB,gBA5BA,MAAA,QqF54fgB,UAAA,KACI,QAAA,aACA,YAAA,EAFJ,mCACI,QAAA,SrFk7fpB,aqFn7fgB,YAEI,WAAA,ECrBpB,eACI,SAAA,SACA,MAAA,EtF86fJ,KAAA,EsF76fI,IAAA,EACI,OAAA,EACA,cAAA,OACA,WAAA,0BACA,OAAA,SAKR,cACI,UAAA,KACA,OAAA,EAAA,EAAA,IAAA,EtF48fJ,YsFz8fQ,UAAA,QACA,cAAA,OACA,MAAA,qBtF68fR,8CA5BA,MAAA,QAgCA,esFj8fI,WAAA,qBtFs6fJ,eAAA,cA8BE,mBAAoB,IsF/7ftB,oBAAA,KACI,IAAA,KtFk8fJ,oBsF/7fI,IAAA,etFk8fJ,iBsF/7fI,QAAA,atFm8fJ,mBsF77fA,KAAA,YACI,MAAA,etFm8fJ,4CAFA,6CsF77fA,2CAEI,IAAA,eACA,UAAA,eAUI,yBACI,KtF25fZ,UAAA,cuFn+fA,GACI,UAAA,kBvFqggBJ,yBuF9/fI,avFm+fJ,MAAA,OAGA,euF/9fI,SAAA,iBvFgggBJ,mBuFz/fA,QAAA,KACI,MAAA,eACA,KAAA,evF89fJ,iBAAA,+BA8BE,oBAAqB,KAAK,OuFz/f5B,kBAAA,UvF6/fA,kBuFz/fI,QAAA,IAAA,KAAA,IAAA,KvF89fJ,SAAA,SuF39fA,oBACI,MAAA,8BvF4/fJ,0BuFz/fI,MAAA,QvF4/fJ,yBA5BA,QAAA,SuFx9fA,SAAA,SACI,MAAA,EvFu/fF,YuFt/fM,wBAMR,uCACI,QAAA,SAGJ,oBACI,QAAA,MACA,cAAA,IACA,YAAA,KACA,WAAA,OACA,QAAA,KAAA,EAAA,IACA,QAAA,MvFu9fJ,OAAA,IAAA,MAAA,YA8BE,MAAO,8BAET,wBuFj/fQ,OAAA,KAEA,yBACI,QAAA,MvFs9fZ,SAAA,OuFp9fY,cAAA,SACI,YAAA,OAIR,0BACI,iBAAA,iCvFm/fZ,yBA5BA,uBA8BI,MAAO,MA1BX,uBA8BI,MAAO,OAGX,cACA,auFx+fI,WAAA,KvF4+fJ,oBuFx+fI,iBAAA,mCvF68fJ,aAAA,mCAGA,+BuF18fI,+BACI,WAAA,KvF2+fR,gCA5BA,8BuF58fQ,6BvF48fR,2BuF58fQ,+BvF48fR,6BuF58fQ,4BvF48fR,0BuFz8fI,WAAA,evF0+fJ,gCQtigBI,aAAA,Q+EmEA,cAAA,MAAA,MAAA,EAAA,EvFu+fJ,oCACE,iBAAkB,QuFp+fhB,QAAA,KvFs+fF,OuFr+fM,IAAA,MAAA,QvFy8fN,WAAA,KACF,cAAA,EAAA,EAAA,MAAA,MAgCA,0BA5BA,cAAA,KA8BE,aAAc,KwFxmgBhB,cAAA,KxF2mgBA,iBA5BA,SAAA,SA8BE,QAAS,GwFtmgBX,UAAA,KxFwmgBE,YAAa,0BwFtmgBX,MAAA,KxF2kgBJ,IAAA,KA8BE,MAAO,qBAGT,YA5BA,SAAA,SwFlkgBI,0BACI,aAAA,KxFskgBR,yBwFnkgBI,SAAA,SACI,IAAA,IACA,KAAA,KACA,UAAA,KxFukgBR,qBA8BE,YAAa,kBwF5lgBX,QAAA,QACI,WAAA,OACA,YAAA,IACA,aAAA,OxFikgBR,eAAA,OwF9jgBI,YAAA,IACI,UAAA,KxF+lgBR,oCwF3lgBQ,QAAA,QxFkkgBR,6DA8BE,aAAc,QAEhB,iEA5BA,iBAAA,QwF9jgBI,OAAA,IAAA,MAAA,QAGA,aACI,WAAA,ExF+lgBR,kBA5BA,MAAA,IA8BE,UAAW,KAGb,WwFvlgBQ,OAAA,EAAA,KxF2lgBR,awFvlgBQ,SAAA,SACA,KAAA,ExF4jgBR,QAAA,KA8BE,UAAW,OAAO,OwFplgBZ,gBAAA,OACI,OAAA,KxFyjgBZ,OAAA,EA8BE,iBAAkB,2BwF1kgBZ,cAAA,OACI,UAAA,4BAEJ,8BACI,SAAA,MACA,IAAA,KxF+igBZ,KAAA,KA8BE,QAAS,EA1BX,wBAAA,yBA8BE,UAAW,yBAGb,cA5BA,QAAA,KA8BE,UAAW,OAAO,OyF1rgBpB,gBAAA,SACI,OAAA,KzF+pgBJ,OAAA,EAAA,KA8BE,cAAe,OAGjB,sByFzrgBI,MAAA,KACA,cAAA,EzF4rgBJ,iCyFzrgBI,MAAA,eAGA,gBzF0rgBJ,eA5BA,MAAA,QyF5pgBI,YAAA,IzF6rgBJ,ayFzrgBQ,MAAA,QzF8pgBR,YAAA,IAgCA,8ByFvrgBY,mCzF2pgBZ,MAAA,KAgCA,qByFnrgBI,iBAAA,sBAEA,OAAA,EAAA,IzFsrgBJ,cA3BA,cAAA,IAAA,MAAA,+ByFppgBA,wBACI,cpFnDO,KL2sgBX,mByFrpgBI,OAAA,YACI,QAAA,KAAA,KzForgBR,uB0FhvgBQ,cAAA,IAAA,MAAA,kB1FwtgBR,aA6BE,QAAS,KAAK,EAAE,EAAE,EoEjogBgC,6CpEoogBpD,4CA3BA,MAAA,Q0F7sgBQ,0CACI,MAAA,Q1F6ugBZ,2C0FrugBI,cAAA,IAAA,MAAA,+B1F6sgBJ,+BA6BE,cAAe,e0FjugBjB,OAAA,EAAA,IACI,OAAA,KACA,qDACI,YAAA,E1FsugBR,c0FhugBY,YAAA,e1FougBZ,gBA3BA,WAAA,EA+BA,aA3BA,OAAA,cA+BA,aA3BA,OAAA,cAGA,a0FvrgBI,OAAA,e1FutgBJ,a2F9xgBI,OAAA,K3FkygBJ,UA3BA,WAAA,KAGA,mBA6BE,mBAAoB,G2FxxgBlB,eAAA,kBACI,WAAA,GAAA,ICnBR,0BACI,iBAAA,qBCEJ,4BACI,iBAAA,qBAKF,0BACE,iBAAA,oBAKF,uBACE,iBAAA,oBAIF,0BACE,iBAAA,oBAKF,yBACE,iBAAA,mBAGF,wBACE,iBAAA,qB7FgxgBJ,uBA6BE,iBAAkB,kBAzBpB,uBA6BE,iBAAkB,qBAzBpB,yBA6BE,iBAAkB,oBAzBpB,uBA6BE,iBAAkB,qBAIpB,6B6FpzgBM,KACI,MAAA,GADJ,uDACI,iBAAA,qB7F2zgBV,yD6F5zgBM,iBAAA,qB7FmygBN,uDA6BE,iBAAkB,oBAEpB,oDA3BA,iBAAA,oB6FvygBM,uDACI,iBAAA,oB7Fu0gBV,sD6Fx0gBM,iBAAA,mB7F+ygBN,qDA6BE,iBAAkB,kBAEpB,oDA3BA,iBAAA,qB6F7ygBE,oDAMA,iBAAA,qB7Fw0gBF,sDAtBE,iBAAA,oB6FvygBI,oDACI,iBAAA,qB7Fm0gBV,KAtBA,aAAA,Y6F9ygBM,cAAA,Y7FizgBN,a6FjzgBM,WAAA,OACI,QAAA,E7F40gBV,MAtBA,YAAA,IAGA,I6F1zgBM,iBAAA,QACI,OAAA,IAAA,MAAA,Q7F4zgBV,QAAA,IAGA,a6Fh0gBM,QAAA,EAAA,YACI,QAAA,KAAA,K7Fq0gBV,cAAA,E6Ft0gBM,aAAA,IAAA,MAAA,QACI,UAAA,O7Fg2gBV,+B8Fh6gBA,aAAA,EACI,YAAA,IAAA,MAAA,QACA,WAAA,K9Fo6gBJ,mB8Fj6gBQ,WAAA,E9F44gBR,cAAA,EAwBE,UAAW,O8Fh6gBb,MAAA,kC9F44gBA,2BAwBE,QAAS,KAGX,iC8F/5gBE,iBAAA,Q9F04gBF,OAAA,IAAA,MAAA,Q8Fv4gBA,yCACI,aAAA,IAAA,MAAA,Q9Fk6gBJ,4D8F75gBA,YAAA,IAAA,MAAA,Q9Fi6gBA,GC1pgBM,YAAA,ID8pgBN,mB8F95gBM,mBACA,eAAA,iB9Fi6gBY,iBAAlB,iB8F55gBA,YAAA,O9Fg6gBA,uB8F55gBI,OAAA,K9Fu4gBJ,MAAA,KAGA,aAwBE,MAAO,Q8Fx5gBP,UAAA,OACE,QAAA,aACA,QAAA,EAAA,IAEF,mBACE,MAAA,Q9Fs4gBJ,mCAsBA,mCAEE,qBAAsB,QAExB,sBAtBA,qBAAA,yB+F97gBI,gDACI,qBAAA,yBAQJ,gDACI,MAAA,Q/Fo9gBR,sD+F78gBQ,MAAA,Q/Fg9gBR,gDAtBA,cAAA,QAwBE,MAAO,K+F38gBT,aAAA,sC/F88gBA,+C+F38gBI,cAAA,QAGA,gE/Fo7gBJ,gE+Fn7gBQ,qBAAA,sB/F88gBR,mD+Fj8gBoB,qBAAA,sB/Fo8gBpB,6EAtBA,qBAAA,sBAGA,I+F/5gBoB,I/Fw7gBpB,IAtBA,IAwBA,I+F76gBQ,I/F+6gBR,GAtBA,G+Ft5gBY,G/F+6gBZ,GAtBA,G+Fp5gBQ,GACI,OAAA,KAAA,EACA,Y1FpFD,KAAA,CAAA,W0FqFC,MAAA,Q/Fs5gBZ,YAAA,IAGA,S+F94gBwB,UAAA,e/Fk5gBxB,S+Fz4gBY,UAAA,eASY,SACI,UAAA,eC1H5B,ShGyhhBE,UAAW,eAGb,SACE,UAAW,eAGb,SACE,UAAW,eAGb,SgGvhhBI,UAAA,ehGoghBJ,SAwBE,UAAW,eApBb,SAwBE,UAAW,eApBb,SAwBE,UAAW,eApBb,SAwBE,UAAW,eApBb,SAwBE,UAAW,eApBb,SAwBE,UAAW,eApBb,SAwBE,UAAW,eApBb,WAwBE,YAAa,IApBf,aAwBE,YAAa,IApBf,iCAwBA,iCgGrhhBA,iChGuhhBA,iCAtBA,iCAwBA,iCgGrhhBA,gChGuhhBA,gCAtBA,gCAwBA,gCgGrhhBA,gChGuhhBA,gCAtBA,MAAA,QA0BA,YAtBA,iBAAA,kBA0BA,iBAtBA,iBAAA,gCA0BA,cAtBA,MAAA,kBA0BA,cAtBA,iBAAA,kBA0BA,mBACE,iBAAkB,gCAGpB,gBACE,MAAO,kBAGT,YACE,iBAAkB,kBApBpB,iBAwBE,iBAAkB,+BApBpB,cAwBE,MAAO,kBApBT,SAwBE,iBAAkB,kBApBpB,cAwBE,iBAAkB,+BApBpB,WAwBE,MAAO,kBApBT,YAwBE,iBAAkB,kBApBpB,iBAwBE,iBAAkB,+BApBpB,cAwBE,MAAO,kBApBT,WAwBE,iBAAkB,kBApBpB,gBAwBE,iBAAkB,8BApBpB,aAwBE,MAAO,kBApBT,UAwBE,iBAAkB,kBApBpB,eAwBE,iBAAkB,gCApBpB,YAwBE,MAAO,kBApBT,SAwBE,iBAAkB,kBApBpB,cAwBE,iBAAkB,6BApBpB,WAwBE,MAAO,kBApBT,SAwBE,iBAAkB,kBApBpB,cAwBE,iBAAkB,gCApBpB,WAwBE,MAAO,kBApBT,WAwBE,iBAAkB,kBApBpB,gBAwBE,iBAAkB,+BApBpB,aAwBE,MAAO,kBApBT,SAwBE,iBAAkB,kBApBpB,cAwBE,iBAAkB,gCApBpB,WAwBE,MAAO,kBApBT,UAwBE,QAAS,GApBX,yCAwBE,iBAAkB,kBAEpB,8CAtBA,iBAAA,gCiG1shBI,2CACI,MAAA,kBjGquhBR,2CiGnuhBI,iBAAA,kBjG+shBJ,gDAwBE,iBAAkB,gCAEpB,6CAtBA,MAAA,kBiGtthBI,yCACI,iBAAA,kBjGivhBR,8CiG/uhBI,iBAAA,+BjG2thBJ,2CAwBE,MAAO,kBAET,sCAtBA,iBAAA,kBiGjthBQ,2CACI,iBAAA,+BAEJ,wCACI,MAAA,kBAEJ,yCACI,iBAAA,kBAPJ,8CACI,iBAAA,+BAEJ,2CACI,MAAA,kBAEJ,wCACI,iBAAA,kBAPJ,6CACI,iBAAA,8BAEJ,0CACI,MAAA,kBAEJ,uCACI,iBAAA,kBAPJ,4CACI,iBAAA,6BAEJ,yCACI,MAAA,kBAEJ,sCACI,iBAAA,kBAPJ,2CACI,iBAAA,gCAEJ,wCACI,MAAA,kBAEJ,sCACI,iBAAA,kBAPJ,2CACI,iBAAA,gCAEJ,wCACI,MAAA,kBAEJ,wCACI,iBAAA,kBAPJ,6CACI,iBAAA,+BAEJ,0CACI,MAAA,kBAEJ,sCACI,iBAAA,kBAPJ,2CACI,iBAAA,gCAEJ,wCACI,MAAA,kBjG4yhBZ,4BAtBA,WAAA,MAGA,uBiG1xhBQ,iBAAA,4BACI,gBAAA,MjG4xhBZ,oBAAA,OAGA,aiGnyhBQ,MAAA,MAGA,uBACI,QAAA,eAEJ,sBACI,QAAA,gBjG8zhBZ,oDAtBA,QAAA,gBAyBA,mDAtBA,QAAA,eAGA,gBAwBE,QAAS,MkGp2hBX,MAAA,QACI,SAAA,SlG+0hBJ,QAAA,KAAA,KAwBE,UAAW,KkGl2hBT,6ClGo2hBJ,mCkGn2hBI,QAAA,IACA,OAAA,IAAA,MAAA,QlGs2hBuC,oDAA3C,0CkGl2hBA,aAAA,kBlG80hBA,uBAwBE,iBAAkB,QAEpB,8BAtBA,QAAA,GkG10hBI,SAAA,SACI,QAAA,alG40hBR,MAAA,IAwBE,OAAQ,IkG31hBF,cAAA,IACI,iBAAA,QlGs0hBZ,KAAA,KkGp0hBQ,IAAA,IACI,UAAA,iBC9BJ,mBACI,WAAA,KACA,QAAA,EACA,cAAA,EnG+3hBZ,sBAtBA,cAAA,KAyBA,sCmG33hBoB,SAAA,SnGs2hBpB,WAAA,OmGl2hBoB,cAAA,KnGq2hBpB,6CmG71hBY,iBAAA,kBACI,SAAA,SnG+1hBhB,QAAA,EmGz1hBgB,QAAA,IAAA,KnGm3hBhB,6CmGh3hBoB,QAAA,GACA,SAAA,SACA,MAAA,KACA,OAAA,IACA,MAAA,EACA,KAAA,EACA,iBAAA,QACA,IAAA,KnGm3hBpB,2CmG32hBA,QAAA,MACI,MAAA,KACA,QAAA,GnGu1hBJ,gCmGp1hBI,MAAA,MACI,WAAA,OnGs1hBR,MAAA,KAyBA,oCmG32hBY,cAAA,IACA,MAAA,KAEA,+BACE,WAAA,QACA,cAAA,IAAA,EAAA,IAAA,IACA,QAAA,aACA,QAAA,KnGs1hBd,SAAA,SmGn1hBY,MAAA,KnG62hBZ,qCmG12hBc,QAAA,IACA,SAAA,SACA,KAAA,KACA,IAAA,EACA,OAAA,MAAA,YACA,kBAAA,QnGq1hBd,iBAAA,QmGh1hBY,aAAA,InG02hBZ,0CmGv2hBgB,QAAA,MnGk1hBhB,UAAA,KmG70hBI,YAAA,IACI,SAAA,SnGu2hBR,iCAtBA,OAAA,EmG90hBQ,YAAA,InGw2hBR,sCAtBA,MAAA,MmG50hBI,UAAA,KACI,aAAA,KACA,MAAA,InGs2hBR,4CmGn2hBQ,QAAA,MACA,U9FrGG,KLm7hBX,WAAA,IAyBA,qCmGn2hBY,MAAA,KnGs2hBZ,2CmGn2hBY,MAAA,KACA,aAAA,EACA,YAAA,KACA,WAAA,KAEJ,oCACI,iBAAA,QACA,MAAA,QACA,cAAA,E/BGwC,IAAA,IAAA,IpE40hBpD,0CmG50hBQ,MAAA,KACI,KAAA,KACA,kBAAA,YnG80hBZ,mBAAA,QmG30hBI,iBAAA,QnGs2hBJ,4BmGl2hBQ,WnG60hBR,UAAA,MA2BA,6CAtBA,QAAA,MmGz0hBQ,MAAA,QnG40hBR,0EAAA,gEmGz0hBQ,OAAA,IAAA,MAAA,QnGm2hBR,oDmGh2hBY,iBAAA,QnG40hBZ,0EmGz0hBQ,iBAAA,QnGm2hBR,iEmGh2hBY,MAAA,qBnG20hBZ,iBAAA,QAyBA,uEmGh2hBgB,mBAAA,QACA,iBAAA,QnG60hBhB,aAwBE,aAAc,KmG51hBZ,cAAA,MnG+1hBJ,kBAtBE,cAAA,KACF,aAAA,IA0BA,gCmGx1hBgB,iBAAA,2BnGm0hBhB,cAAA,KmGj0hBoB,UAAA,MACI,YAAA,InGm0hBxB,QAAA,KAAA,KAGA,8BmGxzhBgB,OAAA,QACI,YAAA,KnG0zhBpB,YAAA,OmGrzhBY,cAAA,SACI,QAAA,MACA,SAAA,OACA,gCACI,cAAA,EACA,YAAA,QnGg1hBpB,mBoGjiiBA,WAAA,OACI,eAAA,OACA,UAAA,KpG4giBJ,MAAA,KoG1giBI,OAAA,KACI,YAAA,KACA,YAAA,KpG4giBR,MAAA,qBAwBE,cAAe,IoG9hiBb,QAAA,aACI,WAAA,IAAA,IpGiiiBR,2BoG9hiBQ,cAAA,IACA,gBAAA,YpGygiBR,cAAA,KoGngiBI,iCAAA,mCACI,MAAA,QpG8hiBR,gCoG3hiBQ,YAAA,KpG8hiBR,iCAtBA,YAAA,KoGrgiBQ,QAAA,aACI,eAAA,OAIR,mBACI,SAAA,SACA,OAAA,MACA,WAAA,MACA,SAAA,KpG+hiBR,iBoG3hiBQ,OAAA,IAAA,MAAA,QACA,aAAA,KACA,YAAA,KpGugiBR,uBoGpgiBI,WAAA,QpG8hiBJ,6BoG3hiBQ,WAAA,eACA,4BAEI,c/FlBC,eLijiBb,8CAtBA,OAAA,IAAA,MAAA,QAyBA,oDoGvhiBY,WAAA,QpG2hiBZ,YoGlhiBA,MAAA,QACI,YAAA,qBAAA,KAAA,GAAA,CAAA,qBAAA,MAAA,IACA,UAAA,KACA,YAAA,KACA,YAAA,KAAA,CAAA,WAKJ,gBACI,UAAA,MACA,YAAA,KAAA,CAAA,WACA,WAAA,MACA,sBACI,KAAA,KpG4/hBR,aAAA,EoG1/hBI,gBAAA,MACI,iBAAA,GAAA,IpG4/hBR,kBAAA,EoG1/hBI,UAAA,OAAA,GAAA,SAAA,OpG6/hBJ,sCAwBE,OAAQ,QoG7giBN,gBAAA,MpGy/hBJ,sCoGv/hBQ,OAAA,QACI,gBAAA,MpGihiBZ,sCqGzniBA,OAAA,QACI,gBhGmCS,MLyliBb,sCqGzniBI,OAAA,QACA,gBAAA,MrG4niBJ,sCqGxniBA,OAAA,QACI,gBAAA,IrGqmiBJ,kBqGjmiBI,KACI,kBAAA,MrG4niBR,6CqGzniBQ,yBACA,sBACA,KAAA,QrGmmiBR,OAAA,QqGhmiBI,aAAA,EACI,iBhGgBK,EAAA,EgGfL,kBAAA,ErGkmiBR,UAAA,MA0BA,kBAtBA,MAAA,MqG9liBI,OAAA,EAAA,KACI,QAAA,KAAA,ErGimiBR,wBqG7liBI,iBAAA,KACI,kBhGMK,EgGLL,UAAA,KAAA,GAAA,YAGJ,wBACI,UAAA,KhGDK,GgGEL,iBAAA,IAAA,IAIR,gBACI,GACI,kBAAA,KrG8liBR,KqG1liBA,kBAAA,GrGqniBA,gBACE,GqGhniBU,kBAAA,UrGmniBV,KAtBA,kBAAA,iBA0BF,gBsGnriBI,GACA,QAAA,EAEA,KACI,QAAA,GtGgqiBR,oBsG3piBI,OAAA,KACI,MAAA,KACA,MAAA,QtG6piBR,WAAA,OAwBE,cAAe,IsGjriBjB,MAAA,MACI,YAAA,ItGmriBF,YsGlriBM,KtG4piBN,iBAAA,sBA0BF,cAtBA,WAAA,EsGzpiBA,aAAA,KACI,YAAA,ItGkriBF,UsGjriBM,KtGoriBR,YAtBE,aAAA,KACF,MAAA,qBA0BA,cAtBE,iBAAA,KsGxpiBE,kBAAA,MtGiriBF,UsGhriBM,QAAA,GAAA,StG0piBN,oBAAA,OACF,OAAA,MA0BA,mBuG1tiBI,KACA,kBAAA,MAEA,GACA,kBlGkiB0B,GLqqhB9B,6CAAA,yBAwBE,cuG1tiBF,iBAAA,EACI,kBAAA,EACA,UAAA,KACA,oBAAA,QvG8tiBJ,UuG1tiBA,gBAAA,SACI,eAAA,EACA,QAAA,MvGqsiBJ,cAAA,KAwBE,SAAU,SwGlviBZ,aAAA,MACI,MAAA,KxGqviBJ,qBwGlviBI,cAAA,KACA,YAAA,MxG6tiBJ,WAAA,KAwBE,SAAU,SwGlviBZ,WAAA,KxGqviBA,uBAtBE,MAAA,KAyBF,iBAtBE,iBAAA,qBACF,OAAA,EwG1tiBA,QAAA,GACI,MAAA,IxGmviBF,SwGlviBM,SxGmviBN,IwGlviBM,KxGmviBN,MwGlviBM,IxGmviBN,QwGlviBM,ExG6tiBR,yByGpviBA,sBAAA,IACE,WAAA,QACA,cAAA,IACA,MAAA,KACA,QAAA,MACA,OAAA,KACA,MAAA,MACA,WAAA,MzGsviBF,SAAA,SyGrviBE,WAAA,OACI,IAAA,IACA,MAAA,KzG+wiBN,2ByG5wiBM,MAAA,QzGuviBN,UAAA,KyGtviBM,aAAA,IzGyviBN,4ByGrviBE,UAAA,KACI,WAAA,IAGA,mBzG6wiBN,kByG5wiBM,MAAA,QACA,UAAA,KACA,YAAA,IACA,OAAA,EAAA,EAAA,IzGuviBN,eAAA,UA0BA,eyG5wiBM,QAAA,UzG+wiBN,sByG5wiBM,QAAA,GACA,QAAA,MACA,MAAA,IzG+wiBN,qCyG5wiBM,cAAA,IAAA,MAAA,YACA,YAAA,IAAA,MAAA,4BzGuviBN,WAAA,IAAA,MAAA,YyGtviBM,QAAA,MACI,OAAA,EACA,MAAA,KACA,WAAA,MzGwviBV,SAAA,SyGpviBM,IAAA,IACI,MAAA,EzG+wiBV,yByGxwiBE,QAAA,GACI,QAAA,MACA,MAAA,IzG2wiBN,6CyGxwiBM,cAAA,IAAA,MAAA,YzGmviBN,aAAA,IAAA,MAAA,4BAwBE,WAAY,IAAI,MAAM,YyGvwiBxB,QAAA,MACE,OAAA,EzGkviBF,MAAA,KyGjviBE,WAAA,MACI,SAAA,SACA,KAAA,KACA,IAAA,IzGmviBN,MAAA,EAyBA,yCyGvwiBU,MAAA,KACA,WAAA,KzG0wiBV,2CyGvwiBU,MAAA,KACA,aAAA,IzG0wiBV,kCyGvwiBU,MAAA,KzGkviBV,KAAA,MyG5uiBE,0BACI,QAAA,KzGuwiBN,0BAtBA,aAAA,EyG5uiBM,YAAA,KzGswiBN,0CyGnwiBU,WAAA,eAEA,uBzGowiBV,sByGnwiBU,WAAA,KzGswiBV,qByGnwiBU,WAAA,KzGswiBV,kCAtBA,WAAA,KA0BA,eAtBA,QAAA,WyG7uiBU,eAAA,IACI,MAAA,IzGgviBd,mBAAA,kByG3uiBE,UAAA,KACI,YAAA,IACA,OAAA,EAEJ,sBACI,WAAA,kBzG6uiBN,QAAA,MyG3uiBE,cAAA,IACI,aAAA,KACA,SAAA,SzG6uiBN,WAAA,MyG5uiBM,QAAA,KACI,cAAA,IAGR,wBAAA,uBACI,MAAA,QzG6uiBN,QAAA,MyG3uiBE,UAAA,KACI,cAAA,IAEJ,iBACI,MAAA,QzG6uiBN,UAAA,KAwBE,cAAe,EAEjB,sByGjwiBE,WAAA,KzG6uiBF,wByG3uiBE,MAAA,MACI,YAAA,IzGqwiBN,0BAtBA,OAAA,KyG3uiBE,MAAA,KACI,cAAA,IzGqwiBN,6ByGlwiBM,WAAA,KAAA,OAAA,OAAA,KAAA,EAAA,KACA,WAAA,KACA,QAAA,IzG+uiBN,8CyG1uiBM,iBAAA,qBzGowiBN,sDyGjwiBU,WAAA,QzG6uiBV,wDyGzuiBE,MAAA,QAGI,gDzGgwiBN,+CyG/viBM,MAAA,QAEJ,qDAAA,oDACI,MAAA,QACA,8CACI,MAAA,QAGJ,gBACI,aAAA,IAAA,MAAA,QACA,QAAA,OAAA,KAAA,OAAA,KAIR,aACI,MAAA,8BACA,QAAA,IAAA,KACA,QAAA,MzG0uiBN,UAAA,KA0BA,gBAtBA,aAAA,MAGA,ayGruiBU,MAAA,KACI,OAAA,KzGuuiBd,WAAA,OyGluiBM,YAAA,KACI,OAAA,IAAA,MAAA,QzGouiBV,cAAA,MyG/tiBM,UAAA,KACI,MAAA,QzGiuiBV,OAAA,QyG9tiBE,QAAA,MACI,MAAA,MzGwviBN,mB0Gj9iBA,MAAA,QACI,aAAA,Q1Gq9iBJ,mB0Gh9iBI,OAAA,KACI,MAAA,KACA,YAAA,KACA,UAAA,K1G47iBR,iBAwBE,MAAO,kB0G/8iBT,aAAA,kB1G27iBA,uBAwBE,MAAO,Q0G/8iBT,aAAA,Q1Gm9iBA,uB0G/8iBI,OAAA,QACA,OAAA,KACA,MAAA,KACA,SAAA,SACA,QAAA,aACA,WAAA,MAAA,EAAA,EAAA,EAAA,IAAA,QACA,cAAA,I1G27iBJ,6B0Gz7iBI,QAAA,EACI,OAAA,QACA,QAAA,K1Gm9iBR,2C0G98iBI,QAAA,E1Gi9iBJ,6B0G98iBQ,SAAA,SACA,IAAA,I1Gy7iBR,MAAA,I0Gv7iBI,KAAA,IACI,OAAA,IACA,OAAA,Q1Gy7iBR,WAAA,Q0Gx7iBQ,QAAA,EACI,cAAA,YACA,oBAAA,K1Gk9iBZ,oC0G78iBA,WAAA,Q1Gi9iBA,S0G78iBI,SAAA,MACA,OAAA,KACA,MAAA,MACA,oBAAA,I1Gw7iBJ,QAAA,E0Gv7iBI,MAAA,Q1Gi9iBJ,c0G98iBQ,MAAA,QACA,uBACI,QAAA,EAAA,K1Gm9iBZ,0B0Gh9iBI,0BAEI,OAAA,EACA,QAAA,E1Gi9iBR,kC0G98iBQ,aAAA,Q1Gi9iBR,mC0G98iBQ,aAAA,Q1G07iBR,kC0Gx7iBQ,aAAA,Q1G27iBR,gCAwBE,eAAgB,U0G78iBlB,YAAA,IACI,QAAA,KAAA,EACA,MAAA,Q1Gg9iBJ,sC0G78iBI,MAAA,K1Gy7iBJ,mC0Gt7iBQ,yCACI,MAAA,Q1Gw7iBZ,YAAA,IAyBA,4BAtBA,QAAA,M0Gt7iBQ,OAAA,EAAA,M1G+8iBN,QAAS,KAAK,KAEhB,kCAtBA,WAAA,qBAyBA,uCAtBA,WAAA,O0Gr7iBY,YAAA,IAGA,uC1Gq7iBZ,yC0Gp7iBgB,QAAA,M1Gu7iBhB,OAAA,IAAA,MAAA,Q0Gn7iBY,cAAA,MACI,WAAA,I1G88iBhB,8CADA,gDArBA,MAAA,KAGA,4CAsBA,8C0Gv8iBI,MAAA,M1G08iBF,YAAa,KAEf,kCAtBA,cAAA,KAyBA,oB0Gt8iBgB,OAAA,KAAA,KACA,OAAA,I1Gi7iBhB,WAAA,qBAyBA,yBAtBA,OAAA,MAyBA,oB0Gt8iBgB,WAAA,I1Gi7iBhB,MAAA,IAyBA,iC0Gl8iBwB,WAAA,qB1Gs8iBxB,MAtBA,SAAA,M0Gn6iBwB,IAAA,K1G47iBtB,MAAO,M0G37iBmB,OAAA,E1Gs6iB5B,KAAA,E0G35iBwB,QAAA,E1Go7iBtB,oBAAqB,I0Gn7iBK,iBAAA,kB1G+5iB5B,e0Gt5iBgB,SAAA,SACI,IAAA,E1Gw5iBpB,MAAA,K0Gn5iBI,KAAA,EACI,OAAA,KACA,WAAA,kBACA,QAAA,E1Gq5iBR,QAAA,E0Gn5iBI,oBAAA,GACI,oBAAA,QAEJ,cACI,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,qB1Gq5iBR,SAAA,OAyBA,0BAtBA,QAAA,M0Gj5iBA,8CACI,MAAA,EACA,WAAA,IACA,QAAA,KAAA,EAAA,EAAA,EACA,MAAA,MACA,SAAA,SACA,QAAA,MACA,OAAA,QACA,oBAAA,I1Go5iBJ,iBAAA,I0Gn5iBI,QAAA,EACI,YAAA,E1G66iBR,oD0G16iBQ,OAAA,IACA,QAAA,MACA,WAAA,QACA,cAAA,IACA,oBAAA,IACA,iBAAA,I1Gs5iBR,2D0Gn5iBI,MAAA,IACI,OAAA,EACA,SAAA,SACA,IAAA,K1Gq5iBR,MAAA,M0Gp5iBQ,UAAA,c1Gu5iBR,2D0Gr5iBY,MAAA,IACI,OAAA,EACA,SAAA,SACA,IAAA,KACA,MAAA,MACA,UAAA,e1G+6iBhB,gC0G56iBgB,UAAA,KACA,aAAA,KACA,SAAA,SACA,IAAA,K1Gu5iBhB,OAAA,QAyBA,0B0G76iBoB,MAAA,MACA,OAAA,KACA,aAAA,KACA,SAAA,S1Gy5iBpB,gC0Gt5iBgB,SAAA,SACI,IAAA,EACA,oBAAA,IACA,KAAA,EACA,OAAA,EACA,MAAA,KACA,QAAA,EAAA,EAAA,EAAA,K1Gw5iBpB,OAAA,E0Gt5iBgB,YAAA,KACI,OAAA,KACA,QAAA,EACA,QAAA,EACA,MAAA,QACA,WAAA,IACA,OAAA,IAAA,MAAA,Q1Gw5iBpB,cAAA,I0Gr5iBY,2BAAA,0B1G+6iBZ,sC0G56iBgB,MAAA,QACA,aAAA,Q1Gw5iBhB,4C0Gp5iBQ,QAAA,EACI,QAAA,EACA,MAAA,Q1G86iBZ,6CAtBA,MAAA,kCAyBA,gC0G56iBgB,oBAAA,IACA,SAAA,SACA,IAAA,EACA,KAAA,EACA,OAAA,EACA,MAAA,KACA,WAAA,OACA,YAAA,KACA,QAAA,EACA,OAAA,QACA,QAAA,G1G+6iBhB,kB0G56iBgB,QAAA,IACA,SAAA,O1Gw5iBhB,oB0Gt5iBgB,QAAA,MACI,cAAA,E1Gy5iBpB,uB0Gt5iBgB,SAAA,SACI,QAAA,MACA,OAAA,KACA,YAAA,K1Gw5iBpB,OAAA,Q0Gt5iBgB,oBAAA,IACI,MAAA,QAGR,6BACI,WAAA,QACA,oBAAA,K1G+6iBhB,iC0G56iBgB,MAAA,MACA,SAAA,S1G+6iBhB,mC0G56iBgB,MAAA,M1Gy5iBhB,0D0Gn5iBI,wC1Gy6iBJ,gD0Gx6iBQ,QAAA,MACA,MAAA,MAEJ,wCACI,OAAA,IAAA,MAAA,YACA,cAAA,M1Gq5iBR,OAAA,KAAA,KAAA,E0Gp5iBQ,OAAA,EACI,MAAA,EACA,YAAA,EACA,UAAA,E1G86iBZ,0D0G36iBY,WAAA,KACA,YAAA,KACA,gDACI,WAAA,KACA,UAAA,K1Gu5iBhB,aAAA,IAyBA,0C0G56iBgB,SAAA,S1Gu5iBhB,IAAA,E0Gr5iBY,MAAA,MACI,KAAA,E1Gu5iBhB,cAAA,S0Gt5iBgB,SAAA,O1G+6iBd,YAAa,OAEf,mC0G76iBoB,SAAA,S1Gw5iBpB,IAAA,E0Gt5iBgB,MAAA,MACI,KAAA,EACA,OAAA,E1Gi7iBpB,yCADA,4C0G56iBoB,SAAA,SACA,IAAA,EAEJ,4CACI,MAAA,EACA,KAAA,M1Gw5iBpB,cAAA,S0Gt5iBgB,SAAA,OACI,YAAA,O1Gg7iBpB,yCAtBA,KAAA,E0Gt5iBgB,MAAA,MACI,cAAA,K1Gg7iBpB,8B0G96iBoB,gCACA,WAAA,QACA,oBAAA,K1Gg7iBpB,8BAtBA,oC0Gr5iBY,WAAA,MAAA,KAAA,EAAA,EAAA,Q1G+6iBZ,8B0G56iBgB,YAAA,IACA,MAAA,Q1Gw5iBhB,iD0Gt5iBgB,aAAA,Q1Gg7iBhB,mD0G76iBoB,aAAA,QAEJ,kDACI,aAAA,Q1Gg7iBpB,sB0G76iBoB,QAAA,MACA,WAAA,O1Gw5iBpB,OAAA,KAAA,EAAA,KAAA,EA0BA,mC0G76iBoB,IAAA,M1Gw5iBpB,MAAA,MAyBA,0B0Gz6iBgB,mC1Go5iBhB,MAAA,OA0BA,yBAtBA,mC0Gh5iBY,MAAA,EACI,IAAA,MAKI,sCACI,IAAA,MAMJ,yBACI,sC1G44iBxB,IAAA,M0G/3iBI,kCACI,QAAA,EACA,OAAA,EACA,oBAAA,IAKJ,4DACI,iBAAA,G1Gm4iBR,yE0Gh4iBQ,UAAA,e1G05iBR,yEAtBE,UAAA,gBA0BF,yBACE,S0G15iBU,S1G25iBV,I0G15iBU,M1Go4iBV,OAAA,EACF,OAAA,KAGA,S0Gj4iBQ,SAAA,MAHJ,IAAA,K1G85iBF,M0G15iBU,I1Go4iBV,OAAA,EACF,MAAA,IAwBE,QAAS,E0Gt5iBH,UAAA,kBACI,oBAAA,IACA,QAAA,KAAA,KACA,WAAA,iC1Gi4iBZ,WAAA,EAAA,EAAA,KAAA,EAAA,eAAA,CAAA,EAAA,IAAA,EAAA,EAAA,gB0Gx3iBgB,iBACI,eAAA,K1G23iBpB,cAAA,IAAA,MAAA,qBAyBA,6BAtBA,QAAA,M0G13iBoB,MAAA,KACI,cAAA,K1G43iBxB,YAAA,K0Gn3iBI,mCACI,WAAA,IACA,YAAA,K1G84iBR,uBAtBA,aAAA,KAwBE,MAAO,QAET,4B0G14iBI,QAAA,EAAA,K1G64iBJ,+B0G14iBI,QAAA,KACA,OAAA,IAAA,MAAA,uBACA,WAAA,iCACA,OAAA,EAAA,EAAA,KAAA,EACA,SAAA,S1G64iBJ,wCAtBA,eAAA,K0Gp3iBI,cAAA,IAAA,MAAA,uBACI,cAAA,KACA,SAAA,OACA,8CACI,MAAA,MACA,YAAA,IACA,MAAA,QACA,oBAAA,IACA,qDACI,QAAA,aACA,SAAA,S1Gw3iBhB,OAAA,I0Gr3iBQ,MAAA,KACI,WAAA,mBACA,eAAA,I1Gu3iBZ,OAAA,KAAA,KAAA,EAAA,K0Gp3iBI,OAAA,EAAA,MAAA,mBACI,oBAAA,IACA,2DACI,SAAA,SACA,IAAA,KACA,MAAA,KACA,OAAA,EACA,MAAA,E1Gu3iBZ,OAAA,Q0Gt3iBY,aAAA,IACI,aAAA,MACA,QAAA,GACA,YAAA,EACA,iBAAA,Y1Gw3iBhB,oBAAA,Y0Gv3iBgB,iBAAA,IACI,oBAAA,I1Gi5iBpB,+C0G94iBoB,MAAA,K1Gy3iBpB,MAAA,QAyBA,wC0G/4iBwB,cAAA,K1Gk5iBxB,qD0G/4iBwB,cAAA,E1Gk5iBxB,0D0G/4iBwB,MAAA,QACA,aAAA,QACA,gEACI,MAAA,QACA,aAAA,Q1Gm5iB5B,yC0Gh5iB4B,SAAA,SACA,OAAA,EACA,KAAA,EACA,OAAA,EAAA,MAAA,uBACA,iBAAA,IACA,mBAAA,IACA,QAAA,IAAA,KACA,oBAAA,I1Gm5iB5B,2CAtBA,YAAA,KAyBA,sD0G94iBoB,YAAA,EAGR,2DACI,WAAA,kB1Gw3iBhB,OAAA,EAAA,MAAA,kBAyBA,kEAtBA,WAAA,kB0Gl3iBoB,OAAA,EAAA,MAAA,kB1G44iBpB,+BAtBA,SAAA,S0Gn3iBwB,IAAA,MACI,OAAA,EACA,OAAA,K1Gq3iB5B,MAAA,E0Gh3iBY,KAAA,EACI,MAAA,K1G24iBhB,uB0Gv4iBgB,UAAA,KACA,oBAAA,I1G04iBhB,oBAtBA,YAAA,IAGA,0C0Gl3iBoB,eACI,QAAA,M1G64iBxB,0C0Gp4iB4B,oB1G+2iB5B,YAAA,E0G72iBgC,uBACA,MAAA,I1Gg3iBhC,MAAA,KA0BA,0C0G/3iBQ,MACA,MAAA,MAGA,uB1G02iBR,UAAA,K0Gr2iBI,oBACI,UAAA,mBAGJ,oBACI,YAAA,GAIR,yCAEQ,SACI,UAAA,iBAKZ,MAEQ,MAAA,EACI,WAAA,KAEJ,8CACI,YAAA,KACA,QAAA,E1Gm2iBV,MAAA,KACF,aAAA,K0G91iBI,oDACI,OAAA,IAGA,uBACI,UAAA,KAEJ,oBACI,UAAA,mBAIJ,oBACI,YAAA,E1Gi2iBZ,uB0G51iBA,MAAA,IACI,MAAA,K1Gu3iBJ,yC0Gp3iBI,0BACI,MAAA,KACA,MAAA,K1G+1iBN,cAAA,K0G51iBc,WAAA,KACI,aAAA,E1Gs3iBlB,gCACF,sCAtBE,MAAA,KAyBA,kBAtBA,MAAA,e0Gx1iBM,qBACI,cAAA,E1G21iBV,WAAA,OAyBA,yBAtBA,SAAA,SAwBE,IAAK,M0G/2iBD,OAAA,EACI,OAAA,KAEJ,mCACI,SAAA,SACA,IAAA,E1G01iBV,OAAA,EACF,MAAA,E0Gt1iBA,KAAA,MAGY,MAAA,K1G82iBV,mC0G32iBc,KAAA,EACA,MAAA,KACA,MAAA,MACA,yC1G82iBZ,cAAe,E0G52iBC,SAAA,OAIZ,4CACI,QAAA,M1Gi3iBZ,MACE,S0Gz2iBU,S1G02iBV,M0Gz2iBU,K1G02iBV,O0Gz2iBU,K1G02iBV,S0Gz2iBU,O1G22iBZ,oBACE,S0Gv2iBkB,S1Gw2iBlB,W0Gv2iBkB,O1Gw2iBlB,I0Gv2iBkB,E1Gw2iBlB,K0Gv2iBkB,E1Gw2iBlB,O0Gv2iBkB,E1Gw2iBlB,M0Gv2iBkB,E1Gy2iBpB,0BACE,Q0Gv2iBkB,E1Gy2iBpB,sCAtBE,WAAA,OAyBF,iBACE,W0Gx2iBsB,qB1Gk1iBtB,SAAA,S0Gh1iBkB,MAAA,I1Gy2iBlB,K0Gx2iBsB,I1Gk1iBtB,IAAA,IACF,OAAA,I0G10iBA,QAAA,IAIA,cAAA,IACI,WAAA,I1Gm2iBJ,8B0Gh2iBI,WAAA,sB1G20iBJ,SAAA,S0G10iBI,cAAA,IACI,WAAA,IACA,oBAAA,WAEA,qC1Gk2iBR,oC0Gj2iBQ,WAAA,QAEA,+CACI,WAAA,Q1Gg1iBZ,kB0G10iBI,mB1Gg2iBJ,uB0G71iBQ,QAAA,I1Gq2iBR,wC0Gj2iBQ,IAAA,MACA,MAAA,M1Gq2iBR,6CAtBA,aAAA,IAAA,MAAA,QAyBA,0C0Gl2iBY,OAAA,IAAA,MAAA,QACA,MAAA,Q1Gq2iBZ,gDAtBA,MAAA,Q0Gz0iBY,aAAA,Q1G40iBZ,oDAwBE,WAAY,MAAM,EAAE,EAAE,EAAE,IAAI,QAE9B,0DAtBA,WAAA,Q0Gj0iBA,iE1G21iBE,WAAY,QAEd,sC0Gz1iBI,MAAA,Q1Gq0iBJ,2CAwBE,MAAO,QAET,6D0Gz1iBI,MAAA,Q1G41iBJ,+D0Gn1iBI,WAAA,qB1G+ziBJ,iD0G5ziBI,WAAA,qB1Gs1iBJ,8DAtBA,WAAA,qBAyBA,4C0Gp1iBY,WAAA,qBAGR,2CACI,cAAA,IAAA,MAAA,qBACA,iFACI,WAAA,QACA,6DACI,MAAA,Q1Gg0iBhB,OAAA,IAAA,MAAA,QAyBA,mEAtBA,MAAA,Q0G5ziBY,aAAA,Q1G+ziBZ,oD0GzziBgB,MAAA,Q1G4ziBhB,2D0GxziBoB,MAAA,Q1G2ziBpB,0D0GrziBQ,WAAA,Q1GwziBR,2DAAA,6D0GpziBY,WAAA,Q1GuziBZ,8C0GjziBQ,cAAA,IAAA,MAAA,qB1GoziBR,oD0GjziBQ,MAAA,Q1GoziBR,2E0GhziBoB,MAAA,Q1GmziBpB,kF0G7yiBgB,WAAA,sBACI,OAAA,EAAA,MAAA,sB1GgziBpB,4E0G9yiBoB,MAAA,Q1Gw0iBpB,8CAtBA,WAAA,qBAyBA,2DAtBA,WAAA,sB0G1yiBoB,kE1Gm0iBpB,iEAtBA,WAAA,QAGA,S0G3yiBgB,WAAA,KAEI,cAAA,EAMZ,eACI,WAAA,K1GwyiBZ,cAAA,EAyBA,YAtBA,YAAA,O0GnyiBoB,eAAA,IACI,WAAA,K1GqyiBxB,SAAA,SAyBA,c0G3ziB4B,gBAAA,K1GsyiB5B,MAAA,8B0GnyiBoB,QAAA,MACI,YAAA,O1GqyiBxB,SAAA,O0G9xiBQ,cAAA,S1GiyiBR,gB0G/xiBY,QAAA,a1GkyiBZ,oB0G7xiBgB,MAAA,Q1GgyiBhB,YAwBE,aAAc,O2G/ykBhB,cAAA,KACI,YAAA,K3G2xkBJ,e2GvxkBQ,SAAA,S3GizkBR,iBAtBA,aAAA,KAyBA,sB2G5ykBQ,QAAA,GACA,QAAA,aACA,MAAA,O3GuxkBR,OAAA,O2GrxkBQ,cAAA,IAAA,MAAA,uBACI,aAAA,IAAA,MAAA,uBACA,SAAA,SACA,IAAA,M3GgzkBZ,gCAtBA,QAAA,KAAA,KAAA,KAAA,K2GrxkBY,WAAA,K3GwxkBZ,gC2GpxkBY,eAAA,KACI,ctGOH,IAAA,MAAA,QL+wkBb,cAAA,KAyBA,2C2GzykBQ,QAAA,KAAA,cACA,YAAA,K3G6ykBR,6DAtBA,eAAA,K2GlxkBY,cAAA,IAAA,MAAA,QAIA,gBACI,SAAA,SACA,cAAA,K3G2ykBhB,2B2GxykBgB,SAAA,SACA,QAAA,EAAA,EAAA,K3G2ykBhB,4BAtBA,UAAA,KAwBE,MAAO,Q4Gh2kBL,eAAA,UACI,eAAA,IACA,YAAA,IAEJ,4BACI,UAAA,KACA,cAAA,KACA,MAAA,QAIA,+BACI,UAAA,KACA,MAAA,Q5Gi2kBZ,+B4Gz1kBQ,cAAA,KACI,YAAA,K5G61kBZ,Q6Gr3kBA,SAAA,SACE,MAAA,IACA,IAAA,K7Gg2kBF,QAAA,E6G/1kBE,SAAA,OACI,MAAA,KACA,OAAA,K7Gi2kBN,WAAA,KAyBA,a6Gt3kBM,UAAA,KACA,MAAA,KACA,eAAA,UACA,WAAA,O7Gi2kBN,YAAA,K6G/1kBE,UAAA,cACI,MAAA,MACA,QAAA,MACA,WAAA,EAAA,EAAA,IAAA,EAAA,kBAAA,CAAA,EAAA,IAAA,EAAA,EAAA,mB7Gi2kBN,WAAA,Q6G/1kBE,SAAA,SACI,IAAA,KACA,MAAA,MAGA,oBACI,QAAA,GACA,SAAA,S7Gg2kBV,MAAA,EAwBE,IAAK,K6Gn3kBP,QAAA,GACE,aAAA,IAAA,MAAA,QACA,YAAA,IAAA,MAAA,YACA,cAAA,IAAA,MAAA,YACA,WAAA,IAAA,MAAA,Q7Gs3kBF,mB6Gn3kBE,QAAA,GACA,SAAA,S7G81kBF,KAAA,E6G71kBE,IAAA,KACI,QAAA,GACA,axGlCK,IAAA,MAAA,YwGmCL,YAAA,IAAA,MAAA,QACA,cAAA,IAAA,MAAA,YACA,WAAA,IAAA,MAAA,Q7Gw3kBN,yD6Gp3kBM,MAAA,Q7Gu3kBN,4D6Gp3kBM,MAAA,Q7Gg2kBN,0C6G91kBM,WAAA,EAAA,EAAA,IAAA,EAAA,qBAAA,CAAA,EAAA,IAAA,EAAA,EAAA,sB7Gy3kBN,mB6Gr3kBU,WAAA,IAAA,IAAA,SACA,MAAA,QACA,cAAA,IACA,QAAA,IAAA,KACA,QAAA,aACA,YAAA,IAEJ,yBACI,MAAA,kB7Gw3kBV,2B6Gr3kBU,MAAA,kB7Gy3kBV,O6Gr3kBU,iBAAA,kBACA,cAAA,I7Gg2kBV,WAAA,wBAwBE,WAAY,K6Gh3kBV,QAAA,KAGA,WACE,cAAA,I7G21kBN,SAAA,OAGA,gBAAA,eAwBE,WAAY,K8G18kBV,UAAA,K9G88kBJ,gD8G18kBQ,MAAA,Q9Gu7kBR,gB8Gp7kBQ,UAAA,KACI,YAAA,I9Gs7kBZ,MAAA,QAyBA,qBAtBA,UAAA,KAwBE,YAAa,I8Gx8kBf,QAAA,MACI,MAAA,Q9G48kBJ,Y8Gx8kBI,MAAA,M9Gm7kBJ,MAAA,IA0BA,6C8Gx8kBI,MAAA,Q9G28kBJ,kD8Gv8kBI,MAAA,Q9Go7kBJ,oBAwBE,MAAO,kB8Gj8kBD,QAAA,EAAA,KACI,QAAA,M9G46kBZ,YAAA,e+Gx9kBA,sBACE,UAAA,K/G69kBF,gB+G19kBE,QAAA,MACI,UAAA,K/Go/kBN,kB+Gj/kBM,UAAA,K/G49kBN,YAAA,IA0BA,gB+Gj/kBE,kBACA,MAAA,kB/Gm/kBqB,wBAAvB,sB+G7+kBE,MAAA,QAEE,iDACI,MAAA,kB/Gi/kBR,6CAA8C,+CgHtglBxC,MAAA,qBhH0glBN,gCgHtglBQ,QAAA,EhHi/kBR,OAAA,KgH/+kBQ,iBAAA,YhH0glBR,sCgHnglBA,eAAA,OhHg/kBA,egH5+kBI,YAAA,IhHwglBJ,YgHnglBE,SAAA,OACE,SAAA,SAEA,yBACE,OAAA,QhHsglBJ,UAAW,KgH1/kBP,OAAA,EACE,QAAA,EhHq+kBR,QAAA,EgHj+kBE,SAAA,SACE,KAAA,EhHm+kBJ,IAAA,EA0BA,ciHtilBQ,OAAA,KACA,WAAA,OjHihlBR,MAAA,KAwBE,QAAS,aiHnilBH,YAAA,KACI,MAAA,QjH8glBZ,YAAA,IAwBE,iBAAkB,QiHhilBhB,cAAA,IjHoilBJ,2BiH/hlBA,MAAA,QjHmilBA,2BAtBA,OAAA,KiHxglBQ,WAAA,KACI,QAAA,EACA,iBAAA,YACA,QAAA,EAAA,IACA,OAAA,EACA,MAAA,KACA,UAAA,QjHmilBZ,iCAtBA,iBAAA,QAwBE,QAAS,aiH7hlBX,UAAA,KACI,OAAA,IAAA,IACA,QAAA,EAAA,IACA,cAAA,IACA,YAAA,IjHiilBJ,0BiH7hlBI,YAAA,IACA,MAAA,KAGJ,2CACI,MAAA,QjHwglBJ,iBAAA,QiHtglBA,wDACI,MAAA,QjHkilBJ,UiH9hlBI,WAAA,KACA,cAAA,EjHiilBJ,aAtBA,iBAAA,kBAwBE,OAAQ,IAAI,MAAM,QiH9hlBpB,QAAA,KACI,cAAA,KACA,cAAA,IjHiilBJ,yBiH9hlBI,aAAA,KjHiilBJ,iCAtBA,QAAA,aiHtglBA,mCACI,UAAA,KACA,MAAA,QjHyglBJ,QAAA,EAAA,IAwBE,YAAa,KAGf,kBAtBA,OAAA,IAAA,OAAA,kBiHnglBI,iBAAA,kBACI,QAAA,KC7FR,WACE,WAAA,KAEA,0CACI,OAAA,IAAA,MAAA,QlH8nlBN,gEkH3nlBM,MAAA,QlHumlBN,+CkHpmlBE,OAAA,IAAA,OAAA,kBACI,iBAAA,kBlH+nlBN,aAtBA,SAAA,SkHpmlBkB,SAAA,OlH8nlBlB,6BkH3nlBsB,SAAA,SACA,KAAA,ElHsmlBtB,IAAA,EAwBE,QAAS,OAAO,OAAO,EAAE,OkHtnlB3B,QAAA,EACE,QAAA,EACA,WAAA,OACA,UAAA,kBlHimlBF,WAAA,IAAA,IAAA,KAAA,GkH9llBA,mCACE,QAAA,ElHimlBF,WAAA,QAwBE,UAAW,cAEb,2BAtBA,YAAA,OAyBA,gCAtBA,OAAA,KkHjllBE,YAAA,KACE,YAAA,IACA,UAAA,KlHmllBJ,iBAAA,QAwBE,WAAY,OmHvqlBd,QAAA,EAAA,KACI,cAAA,IAGA,eACI,QAAA,IACA,WAAA,InH0qlBR,sBmHvqlBQ,iBAAA,kBnH2qlBR,6DmHvqlBQ,iBAAA,QAIA,mDACI,iBAAA,kBnHkplBZ;;;;;;AA8BA,cmHlqlBQ,SAAA,SACA,OAAA,QACA,QAAA,aACA,SAAA,OACA,oBAAA,KnH6olBR,YAAA,KAwBE,4BAA6B,YAG/B,4BAtBA,SAAA,SmHzolBI,cAAA,IACI,MAAA,MnH2olBR,OAAA,MAwBE,WAAY,MmH1plBN,aAAA,MACI,QAAA,EnHqolBZ,WAAA,emHjolBQ,WAAA,mHACI,WAAA,IAAA,IAAA,SnHmolBZ,oBAAA,SAAA,CAAA,QAwBE,UAAW,SAAS,eoH5tlBtB,eAAA,KpHgulBA,wCACE,WAAY,qBACZ,WAAY,2IAGd,0CoH5tlBI,WAAA,epHgulBJ,sDACE,WoH9tlBE,qBpHiulBJ,oBoH7tlBA,WAAA,epHiulBA,cACA,coH7tlBI,UAAA,cACA,mBAAA,4CACA,WAAA,4CpHiulBJ,cAGA,oBAFA,oBACA,sBAtBA,YAAA,OAyBE,eAAgB,OoH7tlBlB,OAAA,QACI,OAAA,KACA,QAAA,EpHuslBJ,MAAA,QAyBE,iBAAkB,coH7tlBpB,UAAA,IACI,YAAA,IpHuslBJ,WAAA,OAyBE,gBAAiB,KoH7tlBnB,QAAA,EpHiulBA,coH7tlBA,QAAA,MAAA,MACI,cAAA,KAGJ,oBpH+tlBE,OAAQ,EoH7tlBN,QAAA,MAAA,MpHwslBJ,qBA0BE,cAAe,KoH9tlBjB,eAAA,OpHkulBA,kCoH9tlBI,QAAA,EpHkulBJ,yCoH9tlBI,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,EpHkulBJ,coH9tlBI,WAAA,OpHuslBJ,MAAA,MA0BE,OAAQ,MoH9tlBV,YAAA,MACI,cAAA,IpHkulBJ,aoH9tlBA,mBAAA,KACI,WAAA,KACA,WAAA,EAAA,IAAA,MAAA,IAAA,gBpHuslBJ,WAAA,IAAA,IA4BA,oBoH9tlBI,WAAA,EAAA,IAAA,KAAA,IAAA,eAGJ,aACI,QAAA,MAGJ,KACI,SAAA,SACA,QAAA,MACA,sBAAA,KACA,oBAAA,KpHuslBJ,YAAA,KA0BE,UAAW,KAGb,UoH9tlBI,SAAA,SACA,QAAA,MACA,SAAA,OpHuslBJ,QAAA,YA4BA,SACE,SoHhulBE,SACA,QAAA,MACA,MAAA,EAGJ,YACI,SAAA,SpHuslBJ,QAAA,KA2BE,MAAO,EAvBT,YA2BE,SAAU,SqHp1lBZ,QAAA,MACI,WAAA,WACA,OAAA,QACA,QAAA,ErHu1lBJ,sBqHp1lBI,QAAA,ErHy1lBJ,SqHt1lBA,SAEI,SAAA,SACA,QAAA,MACA,OAAA,QAGJ,SACI,MAAA,ErH8zlBJ,SA2BE,KAAM,EAGR,UAxBA,YAyBA,QAEE,SAAU,SqHp1lBZ,QAAA,MACI,IAAA,EACA,OAAA,QACA,YAAA,OrH8zlBJ,UqH1zlBI,SAAA,SACI,QAAA,KrH4zlBR,OAAA,EA2BE,MAAO,KqHn1lBT,OAAA,KrHu1lBA,yBqHn1lBI,QAAA,MAGJ,cACI,SAAA,SrH2zlBJ,IAAA,EA2BE,MAAO,EqHn1lBT,MAAA,IACI,OAAA,IrH2zlBJ,WAAA,QqHxzlBA,oBrHq1lBE,OAAQ,IAGV,eqHn1lBI,SAAA,SACA,OAAA,EACA,KAAA,ErH2zlBJ,YAAA,OA2BE,WAAY,OqHn1lBd,UAAA,IACI,YAAA,IACA,QAAA,EAAA,IACA,MAAA,QrH6zlBJ,kBA2BE,SAAU,SqHl1lBR,QAAA,MACI,IAAA,ErH0zlBR,MAAA,IA2BE,MAAO,KqHj1lBT,OAAA,KACI,OAAA,QACA,WAAA,KACA,QAAA,ErHq1lBJ,0BAzBA,WAAA,QqHtzlBQ,OAAA,YAIR,cACI,QAAA,GrHo1lBJ,kBqHh1lBI,SAAA,mBACA,QAAA,gBACA,IAAA,YACA,MAAA,YACA,MAAA,YACA,OAAA,YrHwzlBJ,UAAA,YA2BE,YAAa,YqHh1lBf,QAAA,YACI,OAAA,YACA,SAAA,OACA,QAAA,YACA,QAAA,gBACA,WAAA,cACA,aAAA,gBACA,aAAA,sBrH0zlBJ,WA2BE,OAAQ,KAEV,yBqHh1lBI,OAAA,KrHyzlBJ,qBA2BE,IAAK,KqHh1lBP,OAAA,KACI,iBAAA,sBrHwzlBJ,cAAA,IqHrzlBA,oBACI,IAAA,KACA,OAAA,KACA,iBAAA,QrHm1lBJ,4BqHh1lBI,cAAA,IAAA,EAAA,EAAA,IrHm1lBJ,uBqHh1lBI,OAAA,IACA,OAAA,KACA,iBAAA,sBrHm1lBJ,uBqHh1lBI,IAAA,KACA,MAAA,KACA,OAAA,KrHwzlBJ,iBAAA,YqHrzlBA,qCACI,SAAA,SrHwzlBJ,QAAA,MqHtzlBI,IAAA,EACI,MAAA,IrHwzlBR,MAAA,IqHrzlBI,OAAA,KACI,aAAA,KACA,iBAAA,kBrHyzlBR,oBAyBA,oBqH70lBI,IAAA,EACI,QAAA,IAAA,IACA,MAAA,QACA,UAAA,KrHszlBR,YAAA,MqHnzlBI,YAAA,KACI,iBAAA,sBACA,cAAA,IAGJ,qBrH+0lBJ,uBADA,mBqH30lBQ,MAAA,KrHozlBR,UAAA,KqHjzlBI,YAAA,MACI,YAAA,KACA,QAAA,IAAA,IACA,iBAAA,QACA,cAAA,IAGJ,4BrH60lBJ,8BADA,0BqHz0lBQ,SAAA,SACA,QAAA,MACA,QAAA,GACA,OAAA,KACA,MAAA,IACA,MAAA,ErHkzlBR,OAAA,EqH/ylBI,aAAA,KrH20lBF,SAAU,OqHz0lBJ,OAAA,IAAA,MAAA,YACA,iBAAA,QrH40lBR,yBqHz0lBQ,iBAAA,sBrH40lBR,0BqHz0lBQ,MAAA,QrH60lBR,uBACE,OAAQ,KqHx0lBF,WhH3MG,sBLshmBX,sBqHx0lBQ,WAAA,QACA,WAAA,kDrHkzlBR,sBAyBA,sBqHt0lBI,IAAA,ErHy0lBF,QAAS,IAAI,IACb,MAAO,QqHv0lBD,UAAA,KACA,YAAA,MACA,YAAA,KACA,iBAAA,sBACA,cAAA,IrHi1lBR,qBANA,sBqHl0lBI,wBrH4ylBJ,qBAyBA,qBADA,wBADA,oBApBA,iBAAA,QA4BA,sBAzBA,WAAA,sBqHxylBI,6BrH6ylBJ,sCAyBA,+BADA,2BqHh0lBI,iBAAA,QrHq0lBJ,oCAzBA,8BqHvylBI,iBAAA,QrHo0lBJ,kDACA,4CqHj0lBQ,iBAAA,QrH8ylBR,qBAuBA,sBAEA,wBADA,oBAGE,iBAAkB,QAKpB,4BAHA,6BAEA,+BADA,2BAGE,iBAAkB,QAEpB,wBAzBA,iBAAA,sBqHnylBI,OAAA,IAAA,MAAA,QACI,WAAA,EAAA,IAAA,IAAA,qBrHi0lBR,qBqH9zlBI,qBrH+zlBF,MAAO,QACP,iBAAkB,QAxBpB,sBqHjylBI,WAAA,sBrHk0lBJ,sBA7BA,uBA4BA,yBqH5zlBI,qBrHoylBJ,iBAAA,sBqH5xlBI,yBrHyzlBF,OAAQ,IAAI,MAAM,QAClB,iBAAkB,sBAEpB,uBAzBA,WAAA,sBA6BA,sBADA,sBAEE,IAAK,EqH1zlBK,QAAA,IAAA,IrHkylBZ,MAAA,QqH9xlBI,UAAA,KACI,YAAA,MACA,YAAA,KACA,iBAAA,sBrHgylBR,cAAA,IA8BA,iDADA,iDAxBA,MAAA,QA4BA,uDAzBA,MAAA,QA6BA,mDqHrzlBI,mDrHszlBF,MAAO,QAvBT,kDAyBA,kDqHjzlBI,MAAA,QACI,iBAAA,QAIJ,mDrHuxlBJ,mDqHtxlBQ,MAAA,QrHqzlBR,UqHhzlBQ,MAAA,MACA,cAAA,ErHozlBR,6BqHjzlBQ,6BACA,OAAA,IAAA,MAAA,6BrH0xlBR,2BA2BE,WAAY,KAGd,YAzBA,OAAA,KAAA,EAAA,IAAA,EA4BA,8BAzBA,UAAA,QqH9wlBQ,YAAA,SrH0ylBN,eAAgB,UqHpylBV,4BrHwylBN,YAAa,IAvBf,eqH1wlBQ,gBrHsylBN,MAAO,KAGT,sBsH/qmBA,QAAA,MAAA,EtHypmBA,QA2BE,WAAY,IAvBd,6BA2BA,6BAvBA,4BsHnpmBI,yBtH4qmBJ,yBAEE,QAAS,EAvBX,wBsH/omBI,WAAA,QACI,UAAA,KACA,YAAA,KACA,QAAA,KAAA,EtHipmBR,eAAA,UA2BE,YAAa,IAOf,yBAEA,yBA3BA,qBAwBA,mBAFA,gBA3BA,gBsH3omBA,mBAKA,aAAA,QtH0qmBA,yBA3BA,yBsH3omBA,WAAA,QtH0qmBA,WsHpqmBI,WAAA,QtHsqmBF,OAAQ,KACR,MAAO,QACP,eAAgB,WAChB,WAAY,KsHpqmBN,cAAA,ItH4omBR,OAAA,EAAA,IA2BE,QAAS,IAAI,KsHlqmBX,OAAA,KtHsqmBJ,esHlqmBQ,YAAA,QACA,UAAA,KtHwqmBR,iBsH/pmBI,oBtH6pmBJ,gBAGE,WAAY,QAId,iBACA,mBAFA,eAvBA,iBAAA,QsHlomBI,MAAA,KtH8pmBF,YAAa,KAGf,uBsH1pmBA,WAAA,KtH8pmBA,UsH1pmBI,cAAA,IACA,OAAA,KACA,OAAA,KACA,UAAA,SACA,OAAA,IAAA,IACA,QAAA,IAAA,ItHkomBJ,WAAA,OA6BA,gBsH1pmBI,OAAA,KtHkomBJ,OAAA,KAAA,EA2BE,QAAS,IAAI,KsH1pmBf,MAAA,KtH4pmBE,cAAe,IAvBjB,sCA2BE,aAAc,IAEhB,gCACE,aAAc,IAEhB,2BsH1pmBI,MAAA,KAIA,gCACI,MAAA,KAIR,gDACI,MAAA,KACA,OAAA,KACA,MAAA,KACA,WAAA,OACA,YAAA,KACA,iBAAA,QACA,cAAA,ItHgomBJ,OAAA,IA2BE,UAAW,KAGb,4BsHxpmBI,YACA,QjHvIO,gBiH6IH,uBtH2nmBR,qBA2BA,sBsHrpmBY,MAAA,KtH8nmBZ,QAAA,MsH1nmBI,MAAA,KACI,OAAA,KAAA,EAIA,oBtH2nmBR,MAAA,KsHrnmBQ,iBtHynmBR,QAAA,MA6BA,iBsH9omBY,QAAA,OAAA,MACA,UAAA,QACA,cAAA,OtHmpmBZ,mBADA,oBsH7omBY,MAAA,K9G3GR,kD8GiHA,wBAAA,YtH8omBF,2BsH7omBM,YtHonmBN,cAAA,OA4BF,iDACE,uBAAwB,YACxB,0BsH9omBU,YtH+omBV,csH9omBU,OtHipmBZ,2BACE,SAAU,SsHzomBI,QAAA,EtH2omBd,OsH1omBkB,ItHinmBlB,UAAA,KA6BF,qDAzBE,WAAA,QAMF,sDsHzmmBA,sDtHoomBA,kDAFA,gDAFA,6CsHromBI,6CtHsomBJ,gDAKE,aAAc,QAGhB,sDA3BA,sDsHtmmBY,WAAA,QtHoomBZ,wCsHjomBgB,WAAA,QtHymmBhB,MAAA,QA8BA,8CADA,iDADA,6CAvBA,WAAA,QsHnmmBA,6EACI,iBAAA,QtHkomBJ,aAzBA,WAAA,sBA2BE,WAAY,qBsHznmBN,OAAA,IAAA,MAAA,gCAMA,sCtHwnmBN,KAAM,EACN,MAAO,KAGT,YACE,WAAY,YsHtnmBF,MAAA,etH8lmBZ,OAAA,esH3lmBQ,iBAAA,etHunmBN,WAAY,wBsHrnmBF,QAAA,IAAA,etH6lmBZ,cAAA,IsH1lmBI,aAAA,etH8lmBJ,UsH1lmBI,MAAA,etHsnmBF,UAAW,eACX,YAAa,esHpnmBP,YAAA,MAAA,CAAA,qBtH4lmBR,YAAA,cAGA,oCAAA,iCAAA,iCAAA,iCAAA,iCAAA,kCA2BE,QAAS,EAGX,uCuHn5mBI,WAAA,evHs5mBJ,6CuHl5mBI,aAAA,eACI,YAAA,YvHs5mBR,gBwH95mBA,gBAAA,mBACI,cAAA,eACA,aAAA,cxHi6mBJ,kCwH/5mBI,mCACA,iBAAA,QxHi6mBJ,qCwH/5mBI,sCACA,aAAA,QxHi6mBJ,+BwH95mBA,QAAA,YAEI,+BxH+5mBJ,+BwH95mBI,QAAA,IAAA,MAAA,kBACA,eAAA,KACA,MAAA,QxHs4mBJ,iBAAA,sBA6BA,iBAzBA,YAAA,IA6BA,8EyHj7mBQ,8EzHw5mBR,WAAA,wByHv5mBQ,iBAAA,kBzHo7mBR,2EyHl7mBY,2EzHy5mBZ,iBAAA,QA2BE,IAAK,OAGP,mByH/6mBI,iBAAA,QzHu5mBJ,OAAA,KyHl5mBQ,MAAA,KACI,WAAA,KzHo5mBZ,cAAA,IyHl5mBY,WAAA,OACI,QAAA,GAIJ,uBAAA,sBACI,cAAA,KzHk5mBhB,iBAAA,qByH94mBQ,MAAA,KzH46mBR,4ByHx6mBY,wBAAA,4BzHg5mBZ,QAAA,aA2BI,UAAW,OAvBf,mBA2BI,QAAS,KyH75mBW,wBzHu4mBxB,WAAA,OyH93mBoB,QAAA,MACI,OAAA,OAAA,EAAA,YzH45mBtB,eyHl5mBF,QAAA,aACI,cAAA,QzHu5mBJ,qCADA,sCAGA,yCADA,0CAKA,kDADA,mDyHp5mBI,0CzHw3mBJ,2CAKA,mDAyBA,oDAEE,OAAQ,IAGV,iBACE,YyHl5mBM,MAAA,CAAA,WzHs5mBR,mCAFA,2BACA,iCAxBE,iBAAA,QA6BF,oBACE,ayHl5mBU,QzHm5mBV,YyHl5mBU,QzHq5mBZ,8CACE,OyHl5mBM,IAAA,MAAA,6BzHm5mBN,OyHl5mBM,0BzHy3mBN,iBAAA,mBACF,WAAA,KyHn3mBY,QAAA,EzHg5mBZ,2EACE,YAAa,KACb,cAAe,KACf,MAAO,sBACP,WAAY,MAEd,wEACE,OAAQ,KyH74mBM,MAAA,KzHq3mBhB,KAAA,I0Hr/mBA,0EACI,aAAA,QAAA,YrHwhB0B,YAAA,YLg+lB9B,aAAA,IAAA,IAAA,EAAA,IA4BA,sCACE,MAAO,kCAGT,gF2HzhnBA,aAAA,YAAA,YAAA,QAAA,sBACI,aAAA,EAAA,IAAA,IAAA,c3H6hnBJ,yB4H5hnBI,QAAA,IAAA,KACI,WAAA,M5HginBR,kB4H5hnBQ,OAAA,IAAA,MAAA,gC5HognBR,WAAA,qB4HngnBQ,iBAAA,sB5HiinBR,sD4H7hnBY,QAAA,K5HqgnBZ,iBAAA,sBA4BA,6E4H7hnBY,QAAA,EACA,OAAA,IAAA,MAAA,6B5HqgnBZ,iBAAA,mB4HpgnBY,MAAA,sBACI,WAAA,M5HugnBhB,iF4HjgnBI,iBAAA,Q5HognBJ,yEA2BE,iBAAkB,sB4HvhnBR,MAAA,qC5H0hnBZ,+EAzBA,iBAAA,QA2BE,MAAO,KAGT,gDAzBA,WAAA,0BA2BE,OAAQ,IAAI,MAAM,uC4HphnBpB,iBAAA,mBACI,WAAA,K5HuhnBJ,6EAzBA,QAAA,IAAA,K4Hx/mBI,uEACI,OAAA,EACA,MAAA,sBACA,2EACI,iBAAA,QACA,OAAA,KACA,MAAA,KACA,cAAA,IACA,QAAA,EAAA,I5H4/mBZ,WAAA,IA4BA,mFAzBA,MAAA,K4Hz/mBI,YAAA,I5HshnBJ,yFAzBA,MAAA,KA4BA,kE4HphnBY,WvHjED,IuHuEP,mBACI,SAAA,O5HqhnBR,6BAzBA,YAAA,O4Hv/mBQ,WAAA,UAGA,uGACI,aAAA,QAAA,YAAA,YAAA,Y5H0/mBZ,6G4Hv/mBQ,aAAA,YAAA,YAAA,QAAA,sB5HqhnBR,iB4HjhnBY,SAAA,SACA,eAAA,OACA,UAAA,K5Hy/mBZ,gBAAA,W4Hv/mBQ,cAAA,WACI,YvH7FD,WuH+FC,mBACI,SAAA,O5H0/mBhB,MAAA,Q4Hr/mBQ,OAAA,QACI,UAAA,Q5Hu/mBZ,WAAA,QA6BA,gBAzBA,UAAA,QA2BE,SAAU,S4HhhnBZ,SAAA,OAA+B,QAAA,EAAqB,OAAA,E5H0/mBpD,MAAA,EA2BE,IAAK,E4H7gnBS,OAAA,EACI,KAAA,E5Hq/mBpB,MAAA,e4H7+mBgB,OAAA,eACI,QAAA,ECzIpB,kBACI,UAAA,kBACA,WAAA,kBACA,OAAA,eACA,SAAA,SACA,IAAA,EACA,MAAA,E7H2nnBJ,OAAA,EA2BE,KAAM,E6HnpnBR,QAAA,EACI,OAAA,EACA,2BAAA,M7HupnBJ,2BAzBA,UAAA,QA2BE,WAAY,qB6HnpnBd,SAAA,SACI,QAAA,MACA,OAAA,KAEA,MAAA,KACA,WAAA,QACA,SAAA,KAEA,UAAA,KAEA,WAAA,KAEA,gBAAA,KAGJ,8C7HqpnBA,6C6HnpnBI,QAAA,K7HwpnBJ,yBADA,0B6HlpnBI,QAAA,IACA,QAAA,M7HupnBJ,uBAzBA,WAAA,KA2BE,UAAW,K6HnpnBb,MAAA,KACI,eAAA,K7HupnBJ,wC6HnpnBI,WAAA,kBACA,OAAA,KACA,MAAA,KACA,UAAA,IACA,SAAA,SACA,MAAA,MACA,WAAA,IACA,SAAA,OACA,QAAA,GACA,QAAA,EACA,OAAA,E7H2nnBJ,eAAA,KA2BE,UAAW,Q6HnpnBb,YAAA,E7HqpnBE,WAAY,EAGd,gC6HnpnBA,WAAA,Q7HqpnBE,QAAS,M6HnpnBP,QAAA,EACA,SAAA,S7H2nnBJ,IAAA,EA2BE,MAAO,E6HnpnBT,OAAA,MACI,MAAA,MACA,WAAA,IACA,UAAA,IACA,SAAA,O7H2nnBJ,eAAA,KA2BE,QAAS,GAGX,iB6HnpnBI,QAAA,EACA,SAAA,SACA,KAAA,EACA,OAAA,EACA,eAAA,KACA,SAAA,O7HupnBJ,uD6HnpnBI,eAAA,KACA,YAAA,KACA,oBAAA,K7HupnBJ,qD6HnpnBA,eAAA,I7HupnBA,qB6HnpnBI,SAAA,SACA,KAAA,IACA,MAAA,IACA,WAAA,K7HupnBJ,4B6HnpnBI,SAAA,SACA,QAAA,GACA,WAAA,+B7H2nnBJ,cAAA,IA2BE,MAAO,E6HnpnBT,KAAA,EACI,QAAA,EACA,WAAA,QAAA,IAAA,O7HupnBJ,8CAxBA,QAAA,GA2BE,WAAY,QAAQ,GAAG,OAGzB,oC6HnpnBI,IAAA,E7H2nnBJ,MAAA,KA6BA,gEAzBA,IAAA,IA2BE,OAAQ,IAGV,sC6HnpnBI,MAAA,EACA,OAAA,KAGJ,kEACI,OAAA,KACA,MAAA,IACA,KAAA,I7HupnBJ,2D6HnpnBI,KAAA,KACA,MAAA,E7H2nnBJ,IAAA,IA2BE,OAAQ,I6HnpnBV,WAAA,EACI,UAAA,KACA,MAAA,KAIJ,mEACI,KAAA,KACA,MAAA,EAGJ,yBACI,UAAA,IACA,SAAA,M7H2nnBJ,QAAA,EA2BE,WAAY,O6HnpnBd,OAAA,MACI,MAAA,MACA,WAAA,O7H2nnBJ,WAAA,OA6BA,0B6HnpnBI,SAAA,MACA,MAAA,E7H2nnBJ,WAAA,OA2BE,WAAY,O6HnpnBd,gBAAA,K7HupnBA,e6HnpnBI,OAAA,KAMJ,qBACA,WAAA,qBACI,QAAA,E7H4nnBJ,wBA2BE,WAAY,qB6HnpnBd,QAAA,G7HupnBA,e6HnpnBI,OAAA,IAAA,MAAA,kBACA,iBAAA,+B7HupnBJ,iBAzBA,OAAA,IAAA,MAAA,kBA2BE,iBAAkB,+BAGpB,e6HnpnBI,OAAA,IAAA,MAAA,kBACA,iBAAA,8B7HupnBJ,Y6HnpnBA,OAAA,IAAA,MAAA,kBACI,iBAAA,8BCnNJ,e9H22nBE,OAAQ,IAAI,MAAM,kBAClB,iB8H52nBF,8B9H+2nBA,cAzBA,OAAA,IAAA,MAAA,kB8H90nBI,iBAAA,6B9Hk1nBJ,aA2BE,OAAQ,IAAI,MAAM,kB8Hh2nBhB,iBAAA,+B9H00nBJ,YA2BE,OAAQ,IAAI,MAAM,kB8Hr2nBhB,iBAAA,4B9H+0nBJ,YA2BE,OAAQ,IAAI,MAAM,kB8H12nBhB,iBAAA,+B9Ho1nBJ,cA2BE,OAAQ,IAAI,MAAM,kB8H/2nBhB,iBAAA,8B9Hy1nBJ,YA2BE,OAAQ,IAAI,MAAM,kB8Hp3nBhB,iBAAA,+B9H81nBJ,aA2BE,iBAAkB,mB8Hz3nBhB,OAAA,IAAA,MAAA,Q9Hm2nBJ,aA2BE,YAAa,MAAQ,CAAE,W8H93nBrB,WAAA,EAAA,KAAA,KAAA,e9Hi4nBJ,0BAzBA,UAAA,K8Hx2nBI,4BALA,UAAA,K9Hk3nBJ,2BA2BE,OAAQ,KAAK,EAEf,yBACA,0BAzBA,6BA2BE,OAAQ,IAAI,MAAM,Q8H74nBhB,UAAA,KALA,WAAA,K9H43nBJ,4BA2BE,iBAAkB,kB8Hl5nBhB,UAAA,gB9Hq5nBJ,sCAzBA,iBAAA,kBA2BE,UAAW,M8H94nBT,2B9Hg5nBJ,4B8H/4nBI,OAAA,Q9Hu3nBJ,QAAA,OAAA,IA2BE,YAAa,I+Hl7nBf,WAAA,KACI,UAAA,gB/H25nBJ,iCAAA,kC+Hx5nBI,WAAA,e/H25nBJ,+B+Hv5nBI,gC/Hm7nBJ,mCAzBA,QAAA,E+Ht5nBI,OAAA,IAAA,MAAA,QAIA,2B/Hi7nBF,MAAO,kBACP,aAAc,kBAEhB,0B+H/6nBQ,aAAA,QAGJ,gC/Hi7nBJ,sDADA,mEAxBA,iBAAA,kBA4BA,uCACA,8CAzBA,aAAA,kBA4BA,0B+H56nBQ,MAAA,kBACA,aAAA,kB/H+6nBR,wBAzBA,aAAA,kBA4BA,8BAzBA,iBAAA,kBA4BA,uBACE,aAAc,Q+H36nBR,MAAA,Q/H+6nBR,e+Hz6nBI,OAAA,MAAA,KAAA,Y/Hm5nBJ,qCAAA,mC+H94nBI,iBAAA,+CAGI,iB/H06nBN,aAAc,YACd,cAAe,Y+Hr6nBT,sD/Hy6nBR,uDACA,0DAzBA,OAAA,IAAA,MAAA,QA6BA,iBAzBA,WAAA,0B+H14nBI,QAAA,OAAA,MACI,UAAA,M/H44nBR,YAAA,I+H14nBQ,YAAA,IACI,MAAA,sB/H44nBZ,iBAAA,6B+Hx4nBI,OAAA,IAAA,MAAA,6BACI,WAAA,K/H24nBR,uBA2BE,MAAO,sBAET,oCAzBA,MAAA,kC+Hr4nBI,uBACI,MAAA,4B/Hw4nBR,iBAAA,yBA2BE,aAAc,mC+H95nBZ,QAAA,EACI,WAAA,e/Hk6nBR,8C+Hz5nBQ,QAAA,IAAA,I/H25nBN,WAAY,QACZ,MAAO,KAxBT,gDA2BE,MAAO,KAET,qDgIhhoBI,WAAA,QhImhoBJ,uDgIhhoBI,MAAA,mBhImhoBJ,iDgIhhoBI,aAAA,MACA,aAAA,E5DuGgD,EAAA,IAAA,IpEi5nBpD,aAAA,YAAA,YAAA,QAAA,QgIt/nBI,QAAA,GACI,QAAA,MhIw/nBR,OAAA,IgIt/nBQ,WAAA,KACI,eAAA,KhIw/nBZ,SAAA,SgIp/nBI,KAAA,KACI,MAAA,KACA,IAAA,IACA,iBAAA,IAAA,IACA,UAAA,eACA,WAAA,IAAA,KAAA,YhIs/nBR,MAAA,IgIh/nBQ,iEACI,aAAA,EAAA,EAAA,IAAA,IACD,WAAA,KAEC,a3H5BD,YAAA,YAAA,QAAA,QL8goBX,UAAA,eAGA,oBgI/+nBY,QAAA,MACI,MAAA,yBhIi/nBhB,WAAA,qBgIh/nBgB,iBAAA,sBACI,gBAAA,YhIk/nBpB,OAAA,IAAA,MAAA,gCgI1+nBY,cAAA,OACI,eAAA,cACA,mBAAA,IACA,oBAAA,KACA,OAAA,EACA,UAAA,QACA,SAAA,SACA,QAAA,KhIugoBhB,yBgIpgoBgB,IAAA,ehIugoBhB,2BgIpgoBgB,MAAA,oCACA,iBAAA,iChIugoBhB,gCAzBA,MAAA,QA6BA,qCADA,4BgIlgoBgB,QAAA,MACA,MAAA,KhI2+nBhB,QAAA,QAAA,OA2BE,MAAO,KgIhgoBT,OAAA,QACI,YAAA,IACA,MAAA,8BACA,WAAA,QACA,YAAA,OACA,iBAAA,YhIqgoBJ,2CADA,2CE3koBI,kCF0koBJ,kCgI9/nBI,MAAA,oCACA,gBAAA,KACA,iBAAA,2ChImgoBJ,sDAzBA,kBAAA,uBA4BA,qCAzBA,iBAAA,uBA6BA,2BAzBA,cAAA,IAAA,MAAA,YgIp+nBI,MAAA,qCACI,iBAAA,kChIs+nBR,gBAAA,KA4BA,4DgI7/nBQ,KAAA,KACA,MAAA,KhIigoBR,gCgI7/nBQ,iB3HmbsB,sB2HlbtB,MAAA,gChIigoBR,8EAzBA,aAAA,YAAA,YAAA,QAAA,QA4BA,8FACE,aAAc,YAAY,YAAY,QAAQ,QAEhD,6DgI//nBY,MAAA,QhImgoBZ,8CAzBA,iBAAA,YAGA,aA2BE,MAAO,gBgIz/nBT,WAAA,wBACI,iBAAA,KhI4/nBJ,6BgIz/nBI,iBAAA,KACA,+BACI,KAAA,KhI8/nBR,gCgIx/nBI,WAAA,QACI,WAAA,0ChI4/nBR,wEgI/+nBgB,WAAA,IAAA,MAAA,KACI,YAAA,IAAA,MAAA,YhIu9nBpB,aAAA,IAAA,MAAA,YA4BA,2EAzBA,cAAA,IAAA,MAAA,KgIj9nBQ,YAAA,IAAA,MAAA,YACI,aAAA,IAAA,MAAA,YhI8+nBZ,yEiI/poBI,aAAA,IAAA,MAAA,KACI,WAAA,IAAA,MAAA,YjIuooBR,cAAA,IAAA,MAAA,YiInooBA,0EACI,YAAA,IAAA,MAAA,KACA,WAAA,IAAA,MAAA,YACA,cAAA,IAAA,M5HFO,YLoqoBX,qBAzBA,iBAAA,KiInooBI,OAAA,IAAA,MAAA,QACI,c5HTG,IL8ooBX,MAAA,QA2BE,QAAS,EAEX,sCiI3poBQ,MAAA,QjI8poBR,qCiItpoBgB,qCACI,iBAAA,kBACA,iBAAA,eACA,aAAA,kBjI8noBpB,YAAA,eiItnoBgB,OAAA,EAAA,IAAA,EAAA,YACI,YAAA,MAAA,CAAA,WACA,MAAA,ejIynoBpB,8CiIhnoBgB,WAAA,QACI,QAAA,EACA,cAAA,IjImnoBpB,2FiI1moBgB,YAAA,KAAA,MAAA,QjIuooBhB,oFiIpooBoB,OAAA,KjIuooBpB,qFkI1soBA,aAAA,KAAA,MAAA,QACI,MAAA,KlI6soBJ,4FkI1soBI,a7HUO,EAAA,MAAA,QLyqoBX,kFkIhroBI,cAAA,KAAA,MAAA,QACI,IAAA,EAGJ,yFlI2soBF,cAAe,EAAE,MAAM,eAEzB,oFkIzsoBQ,WAAA,KAAA,MAAA,QACA,IAAA,KlI4soBR,2FkIzsoBQ,WAAA,EAAA,MAAA,eAGJ,yBAAA,wBACI,YAAA,K7HkBK,CAAA,W6HjBL,cAAA,KlIiroBR,wCkI3qoBY,YAAA,MAAA,CAAA,WAIA,kDACI,MAAA,qBAKJ,mEACI,MAAA,QAIJ,SACI,QAAA,IAAA,KlIwqoBhB,iBAAA,kBkIpqoBY,QAAA,IACI,MAAA,QACA,QAAA,ElIsqoBhB,cAAA,IAGA,WkIjqoBY,OAAA,KACI,YAAA,KAAA,CAAA,WAGJ,aACI,cAAA,clImqoBhB,YAAA,KkI9poBI,aAAA,KACI,UAAA,KACA,YAAA,IlIgqoBR,MAAA,QAGA,oBA2BE,OAAQ,eAEV,wBAzBA,cAAA,IAGA,YA2BE,iBAAkB,4BAGpB,4BmI7woBI,aACA,QAAA,MnIuvoBJ,sCA2BE,iBAAkB,qBmI5woBhB,MAAA,QnI+woBJ,0CAzBA,MAAA,QA6BA,mBmI3woBI,YAAA,KAAA,CAAA,qBACA,KAAA,QnI+woBJ,cAzBA,SAAA,SA2BE,QAAS,GAEX,mCAzBA,UAAA,KmIjvoBQ,WAAA,OACI,cAAA,InImvoBZ,QAAA,KAAA,KA2BE,WAAY,QmIxwoBT,MAAA,QACG,YAAA,MAAA,CAAA,WnIgvoBR,OAAA,KQ5soBI,2D2H9BA,YAAA,InIwwoBF,OmIvwoBM,MAAA,EnI8uoBN,YAAA,KAAA,CAAA,WmIruoBE,uDACI,YAAA,OACA,OAAA,KAAA,EnIwuoBR,MAAA,kBAGA,gDA2BE,KAAM,QAER,gEoI3zoBQ,WAAA,QpImyoBR,MAAA,QoIhyoBA,oFACI,MAAA,kBAGA,eACI,OAAA,KACA,SAAA,SACA,MAAA,KpI+zoBR,0BoI3zoBQ,MAAA,KAGA,UACI,WAAA,MpI8zoBZ,oBAzBA,KAAA,QoIhyoBQ,MAAA,QACI,UAAA,KACA,YAAA,EpI8zoBZ,8CoIpzoBQ,MAAA,KACI,KAAA,KpI4xoBZ,UAAA,KA6BA,SAzBA,OAAA,mBAGA,yCA2BA,0CqIr2oBA,2CrIu2oBA,iDqIr2oBI,OAAA,QrI80oBJ,yCA2BA,0CsI32oBA,2CtI62oBA,iDAzBA,OAAA,QsIh1oBA,yCtI62oBA,0CAzBA,2CsIl1oBI,iDACI,OAAA,QtI+2oBR,yCACA,0CAzBA,2CA2BA,iDsI12oBI,OAAA,QtI62oBJ,yCACA,0CAzBA,2CA2BA,iDsIz2oBA,OAAA,QtIk1oBA,yCA2BA,0CsIt2oBY,2CtIw2oBZ,iDACE,OAAQ,QAEV,yCAzBA,0CsI10oBY,2CtIs2oBZ,iDACE,OAAQ,QAvBV,sBsIx0oBY,2BtIo2oBV,KAAM,QAGR,sBAzBA,2BsIt0oBY,KAAA,QtIo2oBZ,sBACA,2BAzBA,KAAA,QA6BA,sBACA,2BsI91oBgB,KAAA,QtIk2oBhB,SACE,aAAc,IAvBhB,kBsIh0oBY,SAAA,StI41oBV,QAAS,aACT,QAAS,EACT,UAAW,KsI11oBG,QAAA,IAAA,KtIk0oBhB,cAAA,IA2BE,WAAY,QsIr1oBV,MAAA,QtIu1oBF,WAAY,OsIr1oBN,ejItDK,KLm3oBb,QAAA,EA2BE,WAAY,QAAQ,IAAK,OAE3B,+BsIn1oBQ,QAAA,EAKJ,iDtIm1oBF,KAAM,QsIj1oBA,MAAA,QtIo1oBR,sCsI/0oBI,OAAA,sBtIk1oBJ,sEAzBA,uEA2BA,wEsI90oBA,8EACI,OAAA,QtIi1oBJ,+CsI90oBA,WAAA,QACI,MAAA,QtIk1oBJ,QsI90oBI,WAAA,KACA,SAAA,SACA,IAAA,EACA,KAAA,KtIi1oBJ,csI90oBI,MAAA,QAEA,oBACI,UAAA,KAQA,wBACI,YAAA,QACA,eAAA,MtIkzoBZ,YAAA,IAGA,8BsI5yoBgB,iCtIw0oBhB,+BACE,YAAa,MAAQ,CAAE,WAvBzB,kBsIzyoBI,YAAA,MAAA,CAAA,qBtI6yoBJ,2CA2BE,MAAO,QAGT,wDuI1+oBI,QAAA,IAAA,KACA,MAAA,8BAEA,2CACI,OAAA,KvIk9oBR,cAAA,EuI78oBI,sCACI,QAAA,MvI2+oBR,kCuIt+oBI,UAAA,KACI,YAAA,IvIy+oBR,uCAzBA,cAAA,KuIz8oBI,6CvIs+oBF,QAAS,aACT,cAAe,IuIp+oBT,SAAA,SvI48oBR,cAAA,EuIv8oBI,qDACI,iBAAA,YvI08oBR,cAAA,IA2BE,OAAQ,IAAI,MAAM,QuI99oBZ,QAAA,GACI,QAAA,avIs8oBZ,OAAA,KA2BE,MAAO,EwI1gpBD,aAAA,MACI,SAAA,SACA,WAAA,IAAA,YxIk/oBZ,MAAA,KwI9+oBI,QAAA,ExI2gpBJ,oDAzBA,MAAA,QwI7+oBI,QAAA,aACI,UAAA,IxI++oBR,OAAA,KwI3+oBQ,MAAA,EACI,aAAA,MACA,cAAA,IxI6+oBZ,YAAA,IwIz+oBI,SAAA,SACI,IAAA,KxI2+oBR,MAAA,KA4BA,4DwIngpBY,OAAA,QACA,QAAA,EACA,QAAA,ExI2+oBZ,QAAA,EA4BA,2EwIngpBgB,QAAA,IxIsgpBhB,gFwIngpBgB,eAAA,KACA,QAAA,ExIsgpBhB,iFwIngpBgB,QAAA,QACA,YAAA,sBACA,YAAA,IxI4+oBhB,mFwIx+oBY,iBAAA,QACI,OAAA,YxIqgpBhB,kFwIlgpBgB,iBAAA,YACA,aAAA,QxIqgpBhB,iFwIlgpBgB,MAAA,QxI6+oBhB,8CAyBA,4DADA,4DwI9/oBQ,WAAA,QACI,qBAAA,mBACA,aAAA,QACA,MAAA,KxIqgpBZ,oDwIlgpBY,kExIs+oBZ,kEAGA,MAAA,KA4BA,8DwI7/oBgB,IAAA,eAKJ,sCACI,iBAAA,QACA,MAAA,QACA,OAAA,IAAA,MAAA,kBAKJ,kDACI,iBAAA,QACA,aAAA,QxI+9oBhB,MAAA,KwI19oBY,WAAA,EAAA,EAAA,EAAA,IAAA,qBxIu/oBZ,+CAzBA,MAAA,KA4BA,8DAzBA,MAAA,KwIt9oBI,KAAA,EnIvES,8CL2jpBb,6CwIh/oBQ,MAAA,qCACA,iBAAA,kCAGA,uExIk/oBN,IAAK,gBAvBP,6GwIr9oBQ,IAAA,YAKJ,kFACI,OAAA,IAAA,MAAA,QxIg/oBR,iFAzBA,MAAA,QA4BA,gHwI7+oBY,iBAAA,QAOJ,2ExIg9oBR,yFAyBA,yFwIx+oBY,qBAAA,mBAEA,mEACI,iBAAA,QACA,MAAA,QxIk9oBhB,OAAA,IAAA,MAAA,qBA6BA,gBwIn+oBgB,WAAA,IxI28oBhB,iBAAA,KA2BE,OAAQ,KAEV,mBAzBA,YAAA,KwI/7oBY,kCACI,OAAA,KxIk8oBhB,YAAA,IA2BE,YAAa,KAAO,CAAE,WAExB,aAzBA,WAAA,IAAA,MAAA,kBwIt7oBgB,oBAAA,ExIq9oBhB,mBwIh9oBgB,axIu7oBhB,UAAA,QwIj7oBQ,YAAA,QxI68oBN,QAAS,ewIx8oBH,mBxIi7oBR,yBwIh7oBY,cAAA,KxIg9oBZ,0CA3BA,0CyIpopBI,UAAA,IACI,aAAA,KzIyopBR,uCyItopBQ,WAAA,KACI,aAAA,QzIoqpBZ,sCyIhqpBY,YAAA,KACA,iBAAA,KzIwopBZ,eAAA,KyIropBI,OAAA,IAAA,MAAA,QACI,QAAA,IAAA,KACA,MAAA,QzIkqpBR,4CyI9ppBA,QAAA,KzIkqpBA,uDyI9ppBI,WAAA,KzIoqpBJ,6CADA,4CyIhqpBA,4CzIwopBA,MAAA,kBA2BE,iBAAkB,yByI9ppBpB,QAAA,YzIgqpBE,WAAY,eyI9ppBV,iBAAA,KzIkqpBJ,wCyI9ppBA,QAAA,MzIwopBA,4CA2BE,YAAa,IAAI,MAAM,QAGzB,uByI9ppBI,OAAA,QzIkqpBJ,4BAzBA,MAAA,eAGA,4BA2BE,MAAO,QyI5ppBL,cAAA,MzIgqpBJ,0CyI3ppBA,WAAA,IAAA,MAAA,kBzI8ppBA,oEyI3ppBI,aAAA,QzI8ppBJ,yEyI3ppBI,YAAA,IAAA,MAAA,QzIoopBJ,mEA2BE,OAAQ,IAAI,MAAM,QyI1ppBhB,MAAA,QzI8ppBJ,cyIzppBA,WAAA,YAAA,kCAAA,UAAA,IAAA,IACI,MAAA,KzIiopBJ,UAAA,MyI9npBA,uBACI,WAAA,KzIiopBJ,OAAA,IAAA,MAAA,6BA2BE,WAAY,KAEd,gCAzBA,WAAA,KA2BE,OAAQ,IAAI,MAAM,mCAEpB,mDyIzppBI,OAAA,KzIiopBJ,QAAA,IAAA,KA2BE,MAAO,8BAET,yCAzBA,iBAAA,QyIxnpBQ,MAAA,KzI2npBR,iDyIxnpBQ,OAAA,KACI,QAAA,IAAA,KzI0npBZ,MAAA,8BA4BA,wCyIhppBQ,iBAAA,QzIwnpBR,MAAA,KA6BA,e0ItwpBI,WAAA,KACA,QAAA,Y1I0wpBJ,mB0ItwpBQ,YAAA,IACA,YAAA,KtEyG4C,CAAA,WpEqopBpD,MAAA,kB0I5upBQ,UAAA,K1IgvpBR,6BAAA,4B0IzupBY,iBAAA,mB1IuwpBZ,gDAzBA,MAAA,kBA6BA,0BAzBA,OAAA,IAAA,MAAA,gC0ItupBQ,iBAAA,sBACI,OAAA,QACA,SAAA,KACA,WAAA,gB1IwupBZ,WAAA,qBA6BA,yBAzBA,QAAA,IAAA,KA2BE,YAAa,O0I9vpBf,SAAA,O1IwupBA,4BA2BE,QAAS,IAGX,uB0I9vpBI,WAAA,QACA,OAAA,QAGJ,iCACI,YAAA,I1IsupBJ,MAAA,QA6BA,oBAzBA,QAAA,IA2BE,YAAa,I2I3zpBf,YAAA,KAAA,CAAA,W3I+zpBA,2B2I3zpBI,YAAA,IACA,UAAA,KACA,MAAA,Q3ImypBJ,QAAA,MA6BA,oD2I3zpBI,WAAA,Q3IoypBJ,8DA2BE,MAAO,QAET,wDAzBA,YAAA,IA2BE,UAAW,K2I3zpBb,MAAA,QACI,QAAA,M3I+zpBJ,4C2I3zpBA,QAAA,EACI,OAAA,KACA,iBAAA,Y3ImypBJ,MAAA,QA6BA,qB2I3zpBI,OAAA,EACA,QAAA,E3I8zpBJ,wB2I3zpBA,WAAA,KACI,MAAA,QACA,WAAA,IACA,cAAA,KACA,SAAA,S3I8zpBJ,+B2IvzpBI,QAAA,SACI,YAAA,wB3I+xpBR,SAAA,S2I7xpBI,MAAA,IACI,IAAA,K3I2zpBR,e2IvzpBQ,aAAA,Q3IiypBR,iBA2BE,aAAc,QAGhB,oB4Ih3pBY,WAAA,sBACA,WAAA,qB5Iw1pBZ,OAAA,IAAA,MAAA,gC6I91pBA,oCACI,oBAAA,K7Ik2pBJ,mC6I/1pBI,oBAAA,sBxIqCS,sCLu1pBb,uC6Iz3pBQ,iBAAA,sB7Im2pBR,yB6I/1pBQ,UAAA,KAGI,wBAAA,gCAAA,qCAAA,qCAAA,8BAAA,8B7I03pBZ,wB6I13pBY,gCAAA,qCAAA,qCAAA,8BAAA,8BAAA,0BAAA,kCAAA,uCAAA,uCAAA,gCAAA,gCACA,WAAA,QACA,aAAA,Q7I43pBkI,mEAA9I,mEAAsE,qE6Iv3pBtE,WAAA,KAAA,EAAA,EAAA,Q7Io2pBA,uC6Ih2pBA,uC7Iy3pBA,4BAFA,4BAIE,WAAY,mB8Ip5pBd,MAAA,qC9Iw5pBA,mCAzBA,OAAA,K8It3pBQ,mC9Iy3pBR,wCAyBA,wC8Ij5pBY,MAAA,Q9I23pBZ,KAAA,QAGA,oBA2BE,iBAAkB,kC8Iz4pBhB,kD9I+4pBJ,wDAFA,e8Ix3pBI,iC9Ik2pBJ,0CAyBA,sBA9BA,uB8I11pBQ,MAAA,8B9Ik2pBR,KAAA,8BA6BA,wBAAyB,8BAA4D,4BAA6B,0BAAmE,uCAAxC,uCAArF,4BACtD,MAAO,uCAET,uBKpooBwC,oCAAA,0CAAA,kCAAA,kCyIrvBhC,oCzIqvBgC,0CAAA,kCAAA,kCAAA,6BAAA,qBAAA,qByIpvBhC,WAAA,iC9Ig2pBR,aAAA,iCA6BA,0DAzBA,WAAA,IAAA,MAAA,KA8BA,+DADA,uB8Ir3pBQ,iBAAA,Y9I81pBR,MAAA,qCA6BA,uBAzBA,WAAA,IAAA,EAAA,EAAA,gCAAA,CAAA,KAAA,EAAA,EAAA,iCA6BA,kCAAmC,wCACjC,MAAO,uCAKT,gEADA,qEADA,qE8In3pBI,MAAA,Q9I61pBJ,KAAA,QA6BA,cAzBA,iBAAA,sB8Ip1pBI,QAAA,E9Ii3pBJ,qBAzBA,QAAA,OAAA,MA2BE,UAAW,U8Il2pBb,cAAA,MACI,YAAA,I9I00pBJ,MAAA,Q8Iv0pBA,uC9Io2pBE,iBAAkB,QAEpB,+BAzBA,iBAAA,QA2BE,aAAc,I8Il2pBhB,YAAA,E9Is2pBA,sB8Il2pBA,YAAA,IAAA,MAAA,uB9Is2pBA,U8I71pBQ,iBAAA,mB9I+1pBN,aAAc,uCACd,MAAO,sBAET,gBAzBA,QAAA,EA6BA,kC+Ij/pBI,iBAAA,Q/Iy9pBJ,MAAA,KA6BA,qB+Il/pBQ,WAAA,sBACA,WAAA,qBACA,OAAA,IAAA,MAAA,gCAEA,oCACE,iBAAA,Y/I09pBV,YAAA,IA4BA,wC+Ij/pBU,WAAA,iCACA,OAAA,IAAA,MAAA,gC/Io/pBV,sC+I/+pBE,iBAAA,Y/Im/pBF,kB+I/+pBE,MAAA,8B/Ik/pBF,wB+I/+pBI,iBAAA,sB/Im/pBJ,yBAzBA,OAAA,QA6BA,uB+I7+pBQ,KAAA,sBAIR,4B/I8+pBA,uB+I5+pBI,KAAA,QAEA,oBACI,QAAA,MACA,MAAA,K/Ii/pBR,oB+I7+pBQ,UAAA,IAEJ,kDACI,OAAA,K/Iq9pBR,uBAAA,YA2BE,0BAA2B,Y+I5+pB7B,wBAAA,cACI,2BAAA,cACA,qCACI,OAAA,IAAA,MAAA,6B/Iq9pBR,aAAA,EA2BE,wBAAyB,E+I5+pB3B,2BAAA,EACI,uB1I/BS,MLm/pBb,0BAAA,MA6BA,wCAzBA,OAAA,eA6BA,kD+I5+pBI,MAAA,Q/I++pBJ,oE+I5+pBA,iBAAA,Q/Is9pBA,cA2BE,YAAa,MAAQ,CAAE,W+Ix+pBrB,2BAAA,MACE,0BAAA,MAIA,sBACI,aAAA,6B/I0+pBV,W+It+pBQ,OAAA,IAAA,MAAA,6B/I88pBR,cAAA,MA6BA,Y+Ip+pBM,YAAA,MAAA,CAAA,qBACA,wBAAA,MACA,uBAAA,M/I68pBN,iBA2BE,QAAS,Y+Il+pBT,MAAA,Q/I28pBF,uBA2BE,MAAO,kBAET,oBAzBA,aAAA,6BA4BA,4DAzBA,aAAA,YgJpkqBA,gCACI,YAAA,KACA,aAAA,EhJomqBJ,oBAzBA,wBgJxkqBI,oBhJmmqBF,OAAQ,QAEV,kBgJ9lqBI,KAAA,QAGJ,4BACI,iBAAA,sBACA,aAAA,0CAEA,WACI,WAAA,MACA,MAAA,QhJukqBR,YAAA,IAGA,mEgJnkqBI,SAAA,SACI,WAAA,KhJqkqBR,KAAA,EgJlkqBY,MAAA,KACI,IAAA,IhJokqBhB,MAAA,KA6BA,wCgJ5lqBY,wChJmkqBZ,cAAA,MA2BE,aAAc,EAEhB,4CACE,aAAc,OgJxlqBR,YAAA,KhJgkqBR,WAAA,KAGA,cAAA,cA2BE,cAAe,MgJtlqBb,aAAA,EhJgkqBJ,8CA2BE,MAAO,QAGT,iDACA,qDAFA,iDAvBA,OAAA,QgJzjqBA,+CACI,KAAA,QhJulqBJ,wCgJplqBI,MAAA,QhJ8jqBJ,UA2BE,OAAQ,IAAI,OAAO,6BgJllqBb,WAAA,mBACI,cAAA,IACA,OAAA,QhJ0jqBZ,WAAA,MgJtjqBQ,QAAA,KACI,WAAA,KhJmlqBZ,sBAzBA,WAAA,OA2BE,OAAQ,KAAK,EAEf,iCgJ7kqBQ,QAAA,KAUA,WACI,YAAA,QhJ8iqBZ,IAAA,0BgJ1iqBQ,IAAA,gCAAA,2BAAA,CAAA,2BAAA,cAAA,CAAA,0BAAA,kBAAA,CAAA,kCAAA,chJskqBN,YAAa,IACb,WAAY,OAxBd,iBgJ1iqBQ,OAAA,IAAA,OAAA,6BACI,WAAA,mBhJ4iqBZ,cAAA,IgJziqBI,MAAA,sBhJ4iqBJ,uBA2BE,iBAAkB,iKAEpB,kCiJ/rqBE,iBAAA,KjJmsqBF,+DiJ/rqBE,iBAAA,QAGA,kBACI,WAAA,yBAAA,OAAA,OAAA,UAIA,sBACI,WAAA,2BAAA,OAAA,OAAA,UCfV,0BACI,QAAA,MlJotqBJ,8BkJjtqBI,6BACA,QAAA,alJotqBJ,kBkJ/sqBI,aAAA,IlJktqBJ,mCAzBA,aAAA,IAGA,wBkJprqBI,cAAA,IlJktqBJ,OkJzsqBQ,gBACI,OAAA,MlJirqBZ,WAAA,QA2BE,cAAe,IAvBjB,eA2BE,QAAS,MmJxuqBX,WAAA,OACI,MAAA,KnJgtqBJ,UAAA,KA2BE,YAAa,KmJxuqBf,WAAA,QACI,cAAA,InJgtqBJ,QAAA,KAAA,KA6BA,qBAzBA,MAAA,IA2BE,aAAc,MmJruqBhB,MAAA,EACI,OAAA,EnJ6sqBJ,SAAA,SA4BA,2BAzBA,OAAA,MA2BE,aAAc,KAAK,MAAM,YmJruqB3B,YAAA,KAAA,MAAA,YACI,WAAA,KAAA,MAAA,QnJwuqBJ,2BoJnwqBA,IAAA,MpJqwqBE,aAAc,KAAK,MAAM,YoJnwqBzB,YAAA,KAAA,MAAA,YACA,cAAA,KAAA,MAAA,QpJuwqBF,oCoJnwqBA,6CACE,WAAA,QpJuwqBF,kBoJnwqBE,OAAA,KACA,WAAA,QACA,MAAA,QACA,YAAA,KAAA,CAAA,WpJ2uqBF,UAAA,MA2BE,QAAS,IAAI,IAGf,+CoJnwqBE,WAAA,QACA,MAAA,QAGA,aACE,SAAA,SpJswqBJ,qBoJnwqBI,IAAA,KAGF,sBACE,IAAA,KpJqwqBJ,oBoJlwqBI,SAAA,SpJ0uqBJ,iBAAA,QA2BE,QAAS,IoJ7vqBT,cAAA,IpJ+vqBA,QAAS,IAAI,KoJ7vqBX,QAAA,KpJquqBJ,UAAA,MA2BE,QAAS,KqJ9yqBX,MAAA,QACI,YAAA,KAAA,CAAA,WrJizqBJ,gBACA,iBACA,mBqJ9yqBI,QAAA,arJsxqBJ,WAAA,OA2BE,eAAgB,OqJ3yqBd,cAAA,IACI,YAAA,IACA,OAAA,QrJmxqBR,iBAAA,QA2BE,gBAAiB,KsJ3zqBf,MAAA,KACI,UAAA,KtJmyqBR,SAAA,SsJjyqBQ,IAAA,EACI,MAAA,KtJmyqBZ,MAAA,KsJhyqBQ,OAAA,KACI,YAAA,KAGR,yBACI,YAAA,MAAA,CAAA,qBACA,KAAA,qBtJ6zqBR,iDsJzzqBQ,MAAA,QtJ6zqBR,YsJzzqBQ,QAAA,etJiyqBR,UAAA,KA4BA,eACA,esJzzqBQ,MAAA,KACA,OAAA,KACA,cAAA,ItJ6zqBR,yDACA,mDACA,uCACA,sCACA,6CACA,+CACA,6CACA,4CACA,gDACA,0CACA,2CAzBA,6CsJ7xqBQ,oDtJyzqBR,sDACA,oDAzBA,mDA2BA,0DsJhzqBQ,4DtJkzqBR,0DAzBA,yDA2BA,6DuJ/2qBA,uDvJi3qBA,2CACA,0CAzBA,iDuJt1qBI,mDvJk3qBJ,iDACA,gDACA,oDACA,8CA9BA,sCsJ1zqBQ,wCAAA,+CAAA,iDAAA,+CAAA,8CAAA,qDAAA,uDAAA,qDAAA,oDCzBA,8BAAA,uCAAA,6CAAA,oCvJw1qBR,iBAAA,kBuJl1qBgB,iBAAA,evJ82qBd,MAAO,KAGT,qCACA,mCAFA,oCAAqC,kCAGnC,WAAY,QAGd,iCACA,iCAFA,4BAA6B,4BAG3B,MAAO,QACP,QAAS,GAEX,qCACA,wBACA,wBACA,8BACE,WAAY,QAEd,qCACE,WAAY,IAGd,2BACE,cAAe,IAAI,MAAM,sBAE3B,4BACE,oBAAqB,gCAEvB,kDuJ/1qBoB,WAAA,IAAA,MAAA,gCvJk2qBpB,iDAzBA,WAAA,IAAA,MAAA,sBA8BA,kEAzBA,gEAwBA,iEAAkE,+DuJ11qBlD,WAAA,QvJg2qBhB,8DACA,8DAFA,yDAA0D,yDAvB1D,MAAA,QA4BA,kEACA,qDACA,qDACA,2DAzBA,WAAA,QAGA,WA2BE,SAAU,gBuJl1qBR,OAAA,YACI,QAAA,evJ0zqBR,QAAA,GA+BA,SAzBA,QAAA,eAGA,iBA2BE,oBAAqB,euJx0qBH,YAAA,evJ40qBpB,YAzBA,QAAA,GAKA,gBuJxyqBQ,SAAA,SvJo0qBN,MAAO,KACP,OAAQ,KACR,UAAW,KuJl0qBD,WAAA,OvJ0yqBZ,OAAA,KwJn7qBA,uBACI,QAAA,SACA,YAAA,wBACA,SAAA,SxJy7qBJ,6BAyBA,6BAEE,iBAAkB,0BAEpB,6BAzBA,oBAAA,OAAA,KA2BE,kBAAmB,SAErB,yCACE,iBwJh9qBE,YxJs7qBJ,iBAAA,KA4BE,oBAAqB,KAAK,EAE5B,+BwJ/8qBI,YAAA,KACA,OAAA,KxJk9qBJ,iEwJ/8qBA,WAAA,2BAAA,OAAA,OAAA,UxJk9qBA,mCwJ/8qBI,MAAA,KACA,OAAA,KACA,YAAA,KACA,UAAA,KAEA,gCxJi9qBJ,yCwJ/8qBQ,WAAA,qBACA,WAAA,KxJk9qBR,gCyJn/qBI,yCzJq/qBF,WAAY,sByJn/qBN,WAAA,KAEJ,6BACI,WAAA,IzJ29qBR,iCyJv9qBI,OAAA,KzJ49qBJ,qByJt9qBI,WAAA,KACI,QAAA,IAAA,IAAA,IACA,MAAA,KzJw9qBR,iBAAA,mByJr9qBI,aAAA,6BzJw9qBJ,2ByJp9qBI,MAAA,sBzJk/qBJ,wCyJ/+qBQ,MAAA,sBzJu9qBR,iCyJn9qBI,iBAAA,QzJg/qBF,QAAS,ayJ9+qBH,UAAA,KACA,OAAA,IAAA,IzJq9qBR,QAAA,EAAA,IyJl9qBI,cAAA,IzJ++qBF,YAAa","file":"app-rtl.min.css","sourcesContent":["//\r\n// Google font - Nunito\r\n//\r\n\r\n@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700');\r\n@import url('https://fonts.googleapis.com/css?family=Karla:400,700');\r\n\r\n// @import url('https://fonts.googleapis.com/css?family=Nunito:400,600,700,900');\r\n\r\n\r\n//\r\n// Premium font - Cerebri Sans\r\n//\r\n\r\n// @font-face {\r\n// font-family: \"Cerebri Sans,sans-serif\";\r\n// src: url(\"../../../fonts/cerebrisans-light.eot\");\r\n// src: local('Cerebri-sans Light'), url(\"../../../fonts/cerebrisans-light.woff\") format(\"woff\");\r\n// font-weight: 300;\r\n// }\r\n\r\n// @font-face {\r\n// font-family: \"Cerebri Sans,sans-serif\";\r\n// src: url(\"../../../fonts/cerebrisans-regular.eot\");\r\n// src: local('Cerebri-sans Regular'), url(\"../../../fonts/cerebrisans-regular.woff\") format(\"woff\");\r\n// font-weight: 400;\r\n// }\r\n// @font-face {\r\n// font-family: \"Cerebri Sans,sans-serif\";\r\n// src: url(\"../../../fonts/cerebrisans-medium.eot\");\r\n// src: local('Cerebri-sans Medium'), url(\"../../../fonts/cerebrisans-medium.woff\") format(\"woff\");\r\n// font-weight: 500;\r\n// }\r\n// @font-face {\r\n// font-family: \"Cerebri Sans,sans-serif\";\r\n// src: url(\"../../../fonts/cerebrisans-semibold.eot\");\r\n// src: local('Cerebri-sans Semibold'), url(\"../../../fonts/cerebrisans-semibold.woff\") format(\"woff\");\r\n// font-weight: 600;\r\n// }\r\n// @font-face {\r\n// font-family: \"Cerebri Sans,sans-serif\";\r\n// src: url(\"../../../fonts/cerebrisans-bold.eot\");\r\n// src: local('Cerebri-sans Bold'), url(\"../../../fonts/cerebrisans-bold.woff\") format(\"woff\");\r\n// font-weight: 700;\r\n// }\r\n","// \r\n// light-mode.scss\r\n// \r\n\r\n\r\n:root {\r\n\r\n // <=============================================>\r\n // Bootstrap variable\r\n // <=============================================>\r\n\r\n // Link Variable\r\n --#{$variable-prefix}link-color: #{$primary};\r\n --#{$variable-prefix}link-hover-color: #{shade-color($primary, $link-shade-percentage)};\r\n\r\n // Border Variable\r\n --#{$variable-prefix}border-color: #{map-get($grays, \"300\")};\r\n\r\n // scss-docs-start box-shadow-variables\r\n --#{$variable-prefix}box-shadow: 0px 0px 35px 0px #{rgba(154, 161, 171, 0.15)};\r\n --#{$variable-prefix}box-shadow-sm: 0 .75rem 6rem #{rgba(56, 65, 74,.03)};\r\n --#{$variable-prefix}box-shadow-lg: 0 0 45px 0 #{rgba(0, 0, 0, 0.12)};\r\n --#{$variable-prefix}box-shadow-inset: inset 0 1px 2px #{rgba($black, .075)};\r\n\r\n // scss-docs-end box-shadow-variables\r\n --#{$variable-prefix}component-active-color: #{$white};\r\n --#{$variable-prefix}component-active-bg: #{$primary};\r\n\r\n // scss-docs-start type-variables\r\n --#{$variable-prefix}text-muted: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}blockquote-footer-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}hr-color: #dddddd;\r\n\r\n --#{$variable-prefix}mark-bg: #fcf8e3;\r\n\r\n // scss-docs-start table-variables\r\n --#{$variable-prefix}table-color: #{$body-color};\r\n --#{$variable-prefix}table-bg: transparent;\r\n --#{$variable-prefix}table-accent-bg: transparent;\r\n --#{$variable-prefix}table-striped-color: #{$table-color};\r\n --#{$variable-prefix}table-striped-bg: #{rgba(map-get($grays, '300'), $table-striped-bg-factor)};\r\n --#{$variable-prefix}table-active-color: #{$table-color};\r\n --#{$variable-prefix}table-active-bg: #{rgba(map-get($grays, '300'), $table-active-bg-factor)};\r\n --#{$variable-prefix}table-hover-color: #{$table-color};\r\n --#{$variable-prefix}table-hover-bg: #{map-get($grays, \"100\")};\r\n --#{$variable-prefix}table-border-color: #{$border-color};\r\n --#{$variable-prefix}table-group-separator-color: #{$border-color};\r\n --#{$variable-prefix}table-caption-color: #{$text-muted};\r\n\r\n // scss-docs-start input-btn-variables\r\n --#{$variable-prefix}input-btn-focus-color: #{rgba($primary, $input-btn-focus-color-opacity)};\r\n\r\n // scss-docs-start btn-variables\r\n --#{$variable-prefix}btn-active-box-shadow: inset 0 3px 5px #{rgba($black, .125)};\r\n --#{$variable-prefix}btn-link-color: #{$link-color};\r\n --#{$variable-prefix}btn-link-hover-color: #{$link-hover-color};\r\n --#{$variable-prefix}btn-link-disabled-color: #{map-get($grays, \"500\")};\r\n\r\n // scss-docs-start form-text-variables\r\n --#{$variable-prefix}form-text-color: #{$text-muted};\r\n\r\n // scss-docs-start form-input-variables\r\n --#{$variable-prefix}input-bg: #{$white};\r\n --#{$variable-prefix}input-disabled-bg: #{$white};\r\n --#{$variable-prefix}input-color: #{$body-color};\r\n --#{$variable-prefix}input-border-color: #{map-get($grays, \"400\")};\r\n --#{$variable-prefix}input-box-shadow: #{$box-shadow-inset};\r\n --#{$variable-prefix}input-focus-bg: #{$input-bg};\r\n --#{$variable-prefix}input-focus-border-color: #{shade-color(map-get($grays, \"400\"),10%)};\r\n --#{$variable-prefix}input-focus-color: #{$input-color};\r\n --#{$variable-prefix}input-placeholder-color: #{map-get($grays, \"500\")};\r\n --#{$variable-prefix}input-plaintext-color: #{$body-color};\r\n\r\n // scss-docs-start form-check-variables\r\n --#{$variable-prefix}form-check-input-bg: #{$input-bg};\r\n --#{$variable-prefix}form-check-input-border: #{$border-width solid #{rgba($black, .25)}};\r\n --#{$variable-prefix}form-check-input-checked-color: #{$component-active-color};\r\n --#{$variable-prefix}form-check-input-checked-bg-color: #{$component-active-bg};\r\n --#{$variable-prefix}form-check-input-checked-border-color: #{$form-check-input-checked-bg-color};\r\n --#{$variable-prefix}form-check-input-indeterminate-color: #{$component-active-color};\r\n --#{$variable-prefix}form-check-input-indeterminate-bg-color: #{$component-active-bg};\r\n --#{$variable-prefix}form-check-input-indeterminate-border-color: #{$form-check-input-indeterminate-bg-color};\r\n\r\n // scss-docs-start form-switch-variables\r\n --#{$variable-prefix}form-switch-color: #{rgba($black, .25)};\r\n\r\n // scss-docs-start input-group-variables\r\n --#{$variable-prefix}input-group-addon-color: #{$input-color};\r\n --#{$variable-prefix}input-group-addon-bg: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}input-group-addon-border-color: #{$input-border-color};\r\n\r\n // scss-docs-start form-select-variables\r\n --#{$variable-prefix}form-select-color: #{$input-color};\r\n --#{$variable-prefix}form-select-bg: #{$input-bg};\r\n --#{$variable-prefix}form-select-disabled-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}form-select-disabled-bg: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}form-select-disabled-border-color: #{$input-disabled-border-color};\r\n --#{$variable-prefix}form-select-indicator-color: #{map-get($grays, \"800\")};\r\n\r\n // scss-docs-start form-range-variables\r\n --#{$variable-prefix}form-range-track-bg: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}form-range-track-box-shadow: inset 0 .25rem .25rem #{rgba($black, .1)};\r\n --#{$variable-prefix}form-range-thumb-box-shadow: 0 .1rem .25rem #{rgba($black, .1)};\r\n --#{$variable-prefix}form-range-thumb-active-bg: #{tint-color($primary, 70%)};\r\n --#{$variable-prefix}form-range-thumb-disabled-bg: #{map-get($grays, \"500\")};\r\n\r\n // scss-docs-start form-file-variables\r\n --#{$variable-prefix}form-file-button-color: #{$input-color};\r\n --#{$variable-prefix}form-file-button-bg: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}form-file-button-hover-bg: #{shade-color(map-get($grays, \"200\"), 5%)};\r\n\r\n // scss-docs-start nav-variables\r\n --#{$variable-prefix}nav-link-disabled-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}nav-tabs-border-color: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}nav-tabs-link-hover-border-color: #{map-get($grays, \"200\")} #{map-get($grays, \"200\")} #{$nav-tabs-border-color};\r\n --#{$variable-prefix}nav-tabs-link-active-color: #{map-get($grays, \"700\")};\r\n --#{$variable-prefix}nav-tabs-link-active-bg: #{$white};\r\n --#{$variable-prefix}nav-tabs-link-active-border-color: #{map-get($grays, \"300\") map-get($grays, \"300\") $nav-tabs-link-active-bg};\r\n \r\n // scss-docs-start navbar-theme-variables\r\n --#{$variable-prefix}navbar-dark-color: #{rgba($white, .55)};\r\n --#{$variable-prefix}navbar-dark-hover-color: #{rgba($white, .75)};\r\n --#{$variable-prefix}navbar-dark-active-color: #{$white};\r\n --#{$variable-prefix}navbar-dark-disabled-color: #{rgba($white, .25)};\r\n --#{$variable-prefix}navbar-dark-toggler-border-color: #{rgba($white, .1)};\r\n --#{$variable-prefix}navbar-light-color: #{rgba($black, .55)};\r\n --#{$variable-prefix}navbar-light-hover-color: #{rgba($white, .7)};;\r\n --#{$variable-prefix}navbar-light-active-color: #{rgba($black, .9)};\r\n --#{$variable-prefix}navbar-light-disabled-color: #{rgba($black, .3)};\r\n\r\n // scss-docs-start dropdown-variables\r\n --#{$variable-prefix}dropdown-color: #{$body-color};\r\n --#{$variable-prefix}dropdown-bg: #{$white};\r\n --#{$variable-prefix}dropdown-border-color: #{shade-color($light, 3%)};\r\n --#{$variable-prefix}dropdown-divider-bg: #{shade-color($light, 3%)};\r\n --#{$variable-prefix}dropdown-box-shadow: 0 .5rem 1rem #{rgba($black, .175)};\r\n --#{$variable-prefix}dropdown-link-color: #{map-get($grays, \"900\")};\r\n --#{$variable-prefix}dropdown-link-hover-color: #{shade-color(map-get($grays, \"900\"), 10%)};\r\n --#{$variable-prefix}dropdown-link-hover-bg: #{map-get($grays, \"100\")};\r\n --#{$variable-prefix}dropdown-link-active-color: #{$dark};\r\n --#{$variable-prefix}dropdown-link-active-bg: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}dropdown-link-disabled-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}dropdown-header-color: #{map-get($grays, \"600\")};\r\n\r\n // scss-docs-start dropdown-dark-variables\r\n --#{$variable-prefix}dropdown-dark-color: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}dropdown-dark-bg: #{map-get($grays, \"800\")};\r\n --#{$variable-prefix}dropdown-dark-border-color: #{$dropdown-border-color};\r\n --#{$variable-prefix}dropdown-dark-divider-bg: #{$dropdown-divider-bg};\r\n --#{$variable-prefix}dropdown-dark-link-color: #{$dropdown-dark-color};\r\n --#{$variable-prefix}dropdown-dark-link-hover-color: #{$white};\r\n --#{$variable-prefix}dropdown-dark-link-hover-bg: #{rgba($white, .15)};\r\n --#{$variable-prefix}dropdown-dark-link-active-color: #{$dropdown-link-active-color};\r\n --#{$variable-prefix}dropdown-dark-link-active-bg: #{$dropdown-link-active-bg};\r\n --#{$variable-prefix}dropdown-dark-link-disabled-color: #{map-get($grays, \"500\")};\r\n --#{$variable-prefix}dropdown-dark-header-color: #{map-get($grays, \"500\")};\r\n\r\n // scss-docs-start pagination-variables\r\n --#{$variable-prefix}pagination-color: #{$dark};\r\n --#{$variable-prefix}pagination-bg: #{$white};\r\n --#{$variable-prefix}pagination-border-color: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}pagination-focus-color: #{$link-hover-color};\r\n --#{$variable-prefix}pagination-focus-bg: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}pagination-focus-box-shadow: #{$input-btn-focus-box-shadow};\r\n --#{$variable-prefix}pagination-hover-color: #{$dark};\r\n --#{$variable-prefix}pagination-hover-bg: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}pagination-hover-border-color: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}pagination-disabled-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}pagination-disabled-bg: #{$white};\r\n --#{$variable-prefix}pagination-disabled-border-color: #{map-get($grays, \"300\")};\r\n\r\n // scss-docs-start card-variables\r\n --#{$variable-prefix}card-border-color: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}card-box-shadow: #{null};\r\n --#{$variable-prefix}card-cap-bg: #{map-get($grays, \"200\")};\r\n --#{$variable-prefix}card-bg: #{$white};\r\n\r\n // scss-docs-start accordion-variables\r\n --#{$variable-prefix}accordion-color: #{$body-color};\r\n --#{$variable-prefix}accordion-border-color: #{rgba($black, .125)};\r\n --#{$variable-prefix}accordion-button-active-bg: #{tint-color($primary, 90%)};\r\n --#{$variable-prefix}accordion-button-active-color: #{shade-color($primary, 10%)};\r\n --#{$variable-prefix}accordion-button-focus-border-color: #{$input-focus-border-color};\r\n --#{$variable-prefix}accordion-button-focus-box-shadow: #{$btn-focus-box-shadow};\r\n\r\n // scss-docs-start tooltip-variables\r\n --#{$variable-prefix}tooltip-color: #{$white};\r\n --#{$variable-prefix}tooltip-bg: #{$black};\r\n\r\n // scss-docs-start popover-variables\r\n --#{$variable-prefix}popover-bg: #{$white};\r\n --#{$variable-prefix}popover-border-color: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}popover-header-bg: #{map-get($grays, \"100\")};\r\n --#{$variable-prefix}popover-header-color: #{$headings-color};\r\n --#{$variable-prefix}popover-body-color: #{$body-color};\r\n --#{$variable-prefix}popover-arrow-color: #{$white};\r\n --#{$variable-prefix}popover-arrow-outer-color: #{fade-in(map-get($grays, \"300\"), .05)};\r\n\r\n // scss-docs-start toast-variables\r\n --#{$variable-prefix}toast-background-color: #{rgba($white, .85)};\r\n --#{$variable-prefix}toast-border-color: #{rgba($black, .1)};\r\n --#{$variable-prefix}toast-header-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}toast-header-background-color: #{rgba($white, .85)};\r\n --#{$variable-prefix}toast-header-border-color: #{rgba($black, .05)};\r\n\r\n // scss-docs-start badge-variables\r\n --#{$variable-prefix}badge-color: #{$white};\r\n\r\n // scss-docs-start modal-variables\r\n --#{$variable-prefix}modal-content-bg: #{$white};\r\n --#{$variable-prefix}modal-content-box-shadow-xs: 0 .25rem .5rem #{rgba($black, .5)};\r\n --#{$variable-prefix}modal-content-box-shadow-sm-up: 0 .5rem 1rem #{rgba($black, .5)};\r\n --#{$variable-prefix}modal-backdrop-bg: #{map-get($grays, \"900\")};\r\n --#{$variable-prefix}modal-header-border-color: #{$border-color};\r\n --#{$variable-prefix}modal-footer-border-color: #{$border-color};\r\n\r\n // scss-docs-start progress-variables\r\n --#{$variable-prefix}progress-bg: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}progress-box-shadow: #{$box-shadow-inset};\r\n --#{$variable-prefix}progress-bar-color: #{$white};\r\n --#{$variable-prefix}progress-bar-bg: #{$primary};\r\n\r\n // scss-docs-start list-group-variables\r\n --#{$variable-prefix}list-group-color: #{null};\r\n --#{$variable-prefix}list-group-bg: #{$white};\r\n --#{$variable-prefix}list-group-border-color: #{rgba($black, .125)};\r\n --#{$variable-prefix}list-group-hover-bg: #{map-get($grays, \"100\")};\r\n --#{$variable-prefix}list-group-disabled-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}list-group-disabled-bg: #{$white};\r\n --#{$variable-prefix}list-group-action-color: #{map-get($grays, \"700\")};\r\n --#{$variable-prefix}list-group-action-active-color: #{$body-color};\r\n --#{$variable-prefix}list-group-action-active-bg: #{map-get($grays, \"200\")};\r\n\r\n // scss-docs-start thumbnail-variables\r\n --#{$variable-prefix}thumbnail-bg: #{$body-bg};\r\n --#{$variable-prefix}thumbnail-border-color: #{map-get($grays, \"300\")};\r\n --#{$variable-prefix}thumbnail-box-shadow: 0 1px 2px #{rgba($black, .075)};\r\n\r\n // scss-docs-start figure-variables\r\n --#{$variable-prefix}figure-caption-color: #{map-get($grays, \"600\")};\r\n\r\n // scss-docs-start breadcrumb-variables\r\n --#{$variable-prefix}breadcrumb-divider-color: #{map-get($grays, \"600\")};\r\n --#{$variable-prefix}breadcrumb-active-color: #{map-get($grays, \"500\")};\r\n\r\n // scss-docs-start carousel-variables\r\n --#{$variable-prefix}carousel-control-color: #{$white};\r\n --#{$variable-prefix}carousel-indicator-active-bg: #{$white};\r\n --#{$variable-prefix}carousel-caption-color: #{$white};\r\n --#{$variable-prefix}carousel-dark-indicator-active-bg: #{$black};\r\n --#{$variable-prefix}carousel-dark-caption-color: #{$black};\r\n\r\n // scss-docs-start close-variables\r\n --#{$variable-prefix}btn-close-color: #{$black};\r\n\r\n // Code\r\n --#{$variable-prefix}code-color: #{$pink};\r\n\r\n --#{$variable-prefix}kbd-color: #{$white};\r\n --#{$variable-prefix}kbd-bg: #{map-get($grays, \"900\")};\r\n --#{$variable-prefix}pre-color: #{null};\r\n\r\n\r\n \r\n // <=============================================>\r\n // Custome variable\r\n // <=============================================>\r\n\r\n // Left Sidebar\r\n --#{$variable-prefix}bg-leftbar: #{$white};\r\n --#{$variable-prefix}bg-leftbar-dark: #{map-get($grays, \"800\")};\r\n --#{$variable-prefix}bg-leftbar-brand: #4a81d4;\r\n --#{$variable-prefix}bg-leftbar-gradient: #{$purple};\r\n\r\n // user box\r\n --#{$variable-prefix}left-menu-user-box-border: #f5f5f5;\r\n --#{$variable-prefix}left-menu-dark-user-box-border: #{rgba($white, .2)};\r\n\r\n // Dark leftbar menu color\r\n --#{$variable-prefix}menu-item-color-dark: #9097a7;\r\n --#{$variable-prefix}menu-item-hover-color-dark: #c8cddc;\r\n --#{$variable-prefix}menu-item-active-color-dark: #{$white};\r\n\r\n //Menu item\r\n --#{$variable-prefix}menu-item: #6e768e;\r\n --#{$variable-prefix}menu-item-hover: #{$primary};\r\n --#{$variable-prefix}menu-item-active: #{$primary};\r\n --#{$variable-prefix}menu-sub-item-active: #{$primary};\r\n\r\n // Horizontal Menu Item\r\n --#{$variable-prefix}hori-menu-item-color: #6e7488;\r\n\r\n //Rightbar Width\r\n --#{$variable-prefix}rightbar-bg: #{$white};\r\n\r\n //Topbar Background\r\n --#{$variable-prefix}bg-topbar-light: #{$white};\r\n --#{$variable-prefix}bg-topbar-dark: #38414a;\r\n\r\n // Leftbar item shadow (Condensed item)\r\n --#{$variable-prefix}box-shadow-condensed: 3px 5px 10px 0 rgba(154,161,171,.2); \r\n\r\n // Page title \r\n --#{$variable-prefix}page-title-color: #{map-get($grays, \"100\")};\r\n\r\n // Topbar Search\r\n --#{$variable-prefix}topbar-search-bg: #e2e6ea;\r\n --#{$variable-prefix}topbar-search-bg-dark: #414b56;\r\n\r\n // Footer\r\n --#{$variable-prefix}footer-bg: #e3e9ed;\r\n --#{$variable-prefix}footer-color: #{map-get($grays, \"700\")};\r\n --#{$variable-prefix}footer-link-hover-color: #636b72;\r\n\r\n // Logo box \r\n --#{$variable-prefix}logo-box-background: #{$white};\r\n\r\n // User authentication Background\r\n --#{$variable-prefix}auth-bg: #{$white};\r\n --#{$variable-prefix}auth-bg-alt: #6658dd;\r\n\r\n // Chat widget\r\n --#{$variable-prefix}chat-primary-user-bg: #fef5e4;\r\n --#{$variable-prefix}chat-secondary-user-bg: #f1f3fa;\r\n\r\n // Card overlay \r\n --#{$variable-prefix}card-overlay-bg: #{rgba($white, 0.8)};\r\n\r\n // Input light gray\r\n --#{$variable-prefix}input-light-bg: #f3f7f9;\r\n\r\n // Email\r\n --#{$variable-prefix}email-msg-container-bg: #{lighten($white, 1%)};\r\n}\r\n","// \r\n// light-mode.scss\r\n// \r\n\r\n\r\n// Dark Variable\r\n\r\n// Dark Grays\r\n$dark-grays: (\r\n \"100\": #282e38,\r\n \"200\": #313844,\r\n \"300\": #3a4250,\r\n \"400\": #6c757d,\r\n \"500\": #98a6ad,\r\n \"600\": #adb5bd,\r\n \"700\": #dee2e6,\r\n \"800\": #f7f7f7,\r\n \"900\": #f1f5f7\r\n);\r\n\r\n// Dark Theme Color Map\r\n$dark-theme-colors: (\r\n \"primary\": $primary,\r\n \"secondary\": map-get($dark-grays, \"400\"),\r\n \"success\": $success,\r\n \"info\": $info,\r\n \"warning\": $warning,\r\n \"danger\": $danger,\r\n \"light\": map-get($dark-grays, \"300\"),\r\n \"dark\": map-get($dark-grays, \"800\"),\r\n \"pink\": $pink,\r\n \"purple\": $purple,\r\n \"blue\": $blue\r\n);\r\n\r\n\r\nbody[data-layout-color=\"dark\"] {\r\n\r\n // <=============================================>\r\n // Bootstrap variable\r\n // <=============================================>\r\n\r\n // Body Variable\r\n --#{$variable-prefix}body-bg: #282e38;\r\n --#{$variable-prefix}body-color: #{map-get($dark-grays, '600')};\r\n\r\n // Link Variable\r\n --#{$variable-prefix}link-color: #{$primary};\r\n --#{$variable-prefix}link-hover-color: #{shade-color($primary, $link-shade-percentage)};\r\n\r\n // Border Variable\r\n --#{$variable-prefix}border-color: #{map-get($dark-grays, \"300\")};\r\n\r\n // scss-docs-start box-shadow-variables\r\n --#{$variable-prefix}box-shadow: 0px 0px 35px 0px #{rgba(66, 72, 80, 0.15)};\r\n --#{$variable-prefix}box-shadow-sm: 0 .75rem 6rem #{rgba(56, 65, 74,.03)};\r\n --#{$variable-prefix}box-shadow-lg: 0 0 45px 0 #{rgba($black, 0.12)};\r\n --#{$variable-prefix}box-shadow-inset: inset 0 1px 2px #{rgba($black, .075)};\r\n\r\n // scss-docs-end box-shadow-variables\r\n --#{$variable-prefix}component-active-color: #{$white};\r\n --#{$variable-prefix}component-active-bg: #{$primary};\r\n\r\n // scss-docs-start type-variables\r\n --#{$variable-prefix}text-muted: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}blockquote-footer-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}hr-color: #3a4250;\r\n\r\n --#{$variable-prefix}mark-bg: #fcf8e3;\r\n\r\n // scss-docs-start table-variables\r\n --#{$variable-prefix}table-color: #{map-get($dark-grays, \"500\")};\r\n --#{$variable-prefix}table-bg: transparent;\r\n --#{$variable-prefix}table-accent-bg: transparent;\r\n --#{$variable-prefix}table-striped-color: #{$table-color};\r\n --#{$variable-prefix}table-striped-bg: #{rgba(map-get($dark-grays, '300'), 1)};\r\n --#{$variable-prefix}table-active-color: #{$table-color};\r\n --#{$variable-prefix}table-active-bg: #{rgba(map-get($dark-grays, '300'), $table-active-bg-factor)};\r\n --#{$variable-prefix}table-hover-color: #{$table-color};\r\n --#{$variable-prefix}table-hover-bg: #{rgba(map-get($dark-grays, \"300\"), $table-hover-bg-factor)};\r\n --#{$variable-prefix}table-border-color: #{$border-color};\r\n --#{$variable-prefix}table-group-separator-color: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}table-caption-color: #{$text-muted};\r\n\r\n // scss-docs-start input-btn-variables\r\n --#{$variable-prefix}input-btn-focus-color: #{rgba($primary, $input-btn-focus-color-opacity)};\r\n\r\n // scss-docs-start btn-variables\r\n --#{$variable-prefix}btn-active-box-shadow: inset 0 3px 5px #{rgba($black, .125)};\r\n --#{$variable-prefix}btn-link-color: #{$link-color};\r\n --#{$variable-prefix}btn-link-hover-color: #{$link-hover-color};\r\n --#{$variable-prefix}btn-link-disabled-color: #{map-get($dark-grays, \"500\")};\r\n\r\n // scss-docs-start form-text-variables\r\n --#{$variable-prefix}form-text-color: #{$text-muted};\r\n\r\n // scss-docs-start form-input-variables\r\n --#{$variable-prefix}input-bg: #{lighten(map-get($dark-grays, \"200\"), 2.5%)};\r\n --#{$variable-prefix}input-disabled-bg: #{lighten(map-get($dark-grays, \"200\"), 2%)};\r\n --#{$variable-prefix}input-color: #{map-get($dark-grays, \"500\")};\r\n --#{$variable-prefix}input-border-color: #{lighten(map-get($dark-grays, \"200\"), 8%)};\r\n --#{$variable-prefix}input-box-shadow: #{$box-shadow-inset};\r\n --#{$variable-prefix}input-focus-bg: #{$input-bg};\r\n --#{$variable-prefix}input-focus-border-color: #{lighten(lighten(map-get($dark-grays, \"300\"), 2%), 10%)};\r\n --#{$variable-prefix}input-focus-color: #{$input-color};\r\n --#{$variable-prefix}input-placeholder-color: #{map-get($dark-grays, \"500\")};\r\n --#{$variable-prefix}input-plaintext-color: #{map-get($dark-grays, \"500\")};\r\n\r\n // scss-docs-start form-check-variables\r\n --#{$variable-prefix}form-check-input-bg: #{$input-bg};\r\n --#{$variable-prefix}form-check-input-border: #{$border-width solid #{map-get($dark-grays, \"400\")}};\r\n --#{$variable-prefix}form-check-input-checked-color: #{$component-active-color};\r\n --#{$variable-prefix}form-check-input-checked-bg-color: #{$component-active-bg};\r\n --#{$variable-prefix}form-check-input-checked-border-color: #{$form-check-input-checked-bg-color};\r\n --#{$variable-prefix}form-check-input-indeterminate-color: #{$component-active-color};\r\n --#{$variable-prefix}form-check-input-indeterminate-bg-color: #{$component-active-bg};\r\n --#{$variable-prefix}form-check-input-indeterminate-border-color: #{$form-check-input-indeterminate-bg-color};\r\n\r\n // scss-docs-start form-switch-variables\r\n --#{$variable-prefix}form-switch-color: #{map-get($dark-grays, \"400\")};\r\n\r\n // scss-docs-start input-group-variables\r\n --#{$variable-prefix}input-group-addon-color: #{$input-color};\r\n --#{$variable-prefix}input-group-addon-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}input-group-addon-border-color: #{$input-border-color};\r\n\r\n // scss-docs-start form-select-variables\r\n --#{$variable-prefix}form-select-color: #{$input-color};\r\n --#{$variable-prefix}form-select-bg: #{$input-bg};\r\n --#{$variable-prefix}form-select-disabled-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}form-select-disabled-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}form-select-disabled-border-color: #{$input-disabled-border-color};\r\n --#{$variable-prefix}form-select-indicator-color: #{map-get($dark-grays, \"800\")};\r\n\r\n // scss-docs-start form-range-variables\r\n --#{$variable-prefix}form-range-track-bg: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}form-range-track-box-shadow: inset 0 .25rem .25rem #{rgba($black, .1)};\r\n --#{$variable-prefix}form-range-thumb-box-shadow: 0 .1rem .25rem #{rgba($black, .1)};\r\n --#{$variable-prefix}form-range-thumb-active-bg: #{tint-color($primary, 70%)};\r\n --#{$variable-prefix}form-range-thumb-disabled-bg: #{map-get($dark-grays, \"500\")};\r\n\r\n // scss-docs-start form-file-variables\r\n --#{$variable-prefix}form-file-button-color: #{$input-color};\r\n --#{$variable-prefix}form-file-button-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}form-file-button-hover-bg: #{shade-color(map-get($dark-grays, \"200\"), 5%)};\r\n\r\n // scss-docs-start nav-variables\r\n --#{$variable-prefix}nav-link-disabled-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}nav-tabs-border-color: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}nav-tabs-link-hover-border-color: #{map-get($dark-grays, \"200\")} #{map-get($dark-grays, \"200\")} #{$nav-tabs-border-color};\r\n --#{$variable-prefix}nav-tabs-link-active-color: #{map-get($dark-grays, \"700\")};\r\n --#{$variable-prefix}nav-tabs-link-active-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}nav-tabs-link-active-border-color: #{map-get($dark-grays, \"300\") map-get($dark-grays, \"300\") $nav-tabs-link-active-bg};\r\n \r\n // scss-docs-start navbar-theme-variables\r\n --#{$variable-prefix}navbar-dark-color: #{rgba($white, .55)};\r\n --#{$variable-prefix}navbar-dark-hover-color: #{rgba($white, .75)};\r\n --#{$variable-prefix}navbar-dark-active-color: #{$white};\r\n --#{$variable-prefix}navbar-dark-disabled-color: #{rgba($white, .25)};\r\n --#{$variable-prefix}navbar-dark-toggler-border-color: #{rgba($white, .1)};\r\n --#{$variable-prefix}navbar-light-color: #{rgba($black, .55)};\r\n --#{$variable-prefix}navbar-light-hover-color: #{rgba($white, .7)};;\r\n --#{$variable-prefix}navbar-light-active-color: #{rgba($black, .9)};\r\n --#{$variable-prefix}navbar-light-disabled-color: #{rgba($black, .3)};\r\n\r\n // scss-docs-start dropdown-variables\r\n --#{$variable-prefix}dropdown-color: #{$body-color};\r\n --#{$variable-prefix}dropdown-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}dropdown-border-color: #{lighten(map-get($dark-grays, \"200\"), 4%)};\r\n --#{$variable-prefix}dropdown-divider-bg: #{lighten(map-get($dark-grays, \"200\"), 4%)};\r\n --#{$variable-prefix}dropdown-box-shadow: 0 .5rem 1rem #{rgba($black, .175)};\r\n --#{$variable-prefix}dropdown-link-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}dropdown-link-hover-color: #{shade-color(map-get($dark-grays, \"900\"), 12%)};\r\n --#{$variable-prefix}dropdown-link-hover-bg: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}dropdown-link-active-color: #{darken(map-get($dark-grays, \"900\"), 5%)};\r\n --#{$variable-prefix}dropdown-link-active-bg: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}dropdown-link-disabled-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}dropdown-header-color: #{map-get($dark-grays, \"600\")};\r\n\r\n // scss-docs-start dropdown-dark-variables\r\n --#{$variable-prefix}dropdown-dark-color: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}dropdown-dark-bg: #{map-get($dark-grays, \"800\")};\r\n --#{$variable-prefix}dropdown-dark-border-color: #{$dropdown-border-color};\r\n --#{$variable-prefix}dropdown-dark-divider-bg: #{$dropdown-divider-bg};\r\n --#{$variable-prefix}dropdown-dark-link-color: #{$dropdown-dark-color};\r\n --#{$variable-prefix}dropdown-dark-link-hover-color: #{$white};\r\n --#{$variable-prefix}dropdown-dark-link-hover-bg: #{rgba($white, .15)};\r\n --#{$variable-prefix}dropdown-dark-link-active-color: #{$dropdown-link-active-color};\r\n --#{$variable-prefix}dropdown-dark-link-active-bg: #{$dropdown-link-active-bg};\r\n --#{$variable-prefix}dropdown-dark-link-disabled-color: #{map-get($dark-grays, \"500\")};\r\n --#{$variable-prefix}dropdown-dark-header-color: #{map-get($dark-grays, \"500\")};\r\n\r\n // scss-docs-start pagination-variables\r\n --#{$variable-prefix}pagination-color: #{map-get($dark-grays, \"800\")};\r\n --#{$variable-prefix}pagination-bg: #{lighten(map-get($dark-grays, \"200\"), 5%)};\r\n --#{$variable-prefix}pagination-border-color: #{lighten(map-get($dark-grays, \"300\"), 5%)};\r\n --#{$variable-prefix}pagination-focus-color: #{$link-hover-color};\r\n --#{$variable-prefix}pagination-focus-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}pagination-focus-box-shadow: #{$input-btn-focus-box-shadow};\r\n --#{$variable-prefix}pagination-hover-color: #{map-get($dark-grays, \"800\")};\r\n --#{$variable-prefix}pagination-hover-bg: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}pagination-hover-border-color: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}pagination-disabled-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}pagination-disabled-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}pagination-disabled-border-color: #{map-get($dark-grays, \"300\")};\r\n\r\n // scss-docs-start card-variables\r\n --#{$variable-prefix}card-border-color: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}card-box-shadow: #{null};\r\n --#{$variable-prefix}card-cap-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}card-bg: #{map-get($dark-grays, \"200\")};\r\n\r\n // scss-docs-start accordion-variables\r\n --#{$variable-prefix}accordion-color: #{$body-color};\r\n --#{$variable-prefix}accordion-border-color: #{rgba($black, .125)};\r\n --#{$variable-prefix}accordion-button-active-bg: #{tint-color($primary, 90%)};\r\n --#{$variable-prefix}accordion-button-active-color: #{shade-color($primary, 10%)};\r\n --#{$variable-prefix}accordion-button-focus-border-color: #{$input-focus-border-color};\r\n --#{$variable-prefix}accordion-button-focus-box-shadow: #{$btn-focus-box-shadow};\r\n\r\n // scss-docs-start tooltip-variables\r\n --#{$variable-prefix}tooltip-color: #{$white};\r\n --#{$variable-prefix}tooltip-bg: #{$black};\r\n\r\n // scss-docs-start popover-variables\r\n --#{$variable-prefix}popover-bg: #{$white};\r\n --#{$variable-prefix}popover-border-color: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}popover-header-bg: #{map-get($dark-grays, \"100\")};\r\n --#{$variable-prefix}popover-header-color: #{$headings-color};\r\n --#{$variable-prefix}popover-body-color: #{$body-color};\r\n --#{$variable-prefix}popover-arrow-color: #{$white};\r\n --#{$variable-prefix}popover-arrow-outer-color: #{fade-in(map-get($dark-grays, \"300\"), .05)};\r\n\r\n // scss-docs-start toast-variables\r\n --#{$variable-prefix}toast-background-color: #{rgba($white, .06)};\r\n --#{$variable-prefix}toast-border-color: #{rgba($black, .1)};\r\n --#{$variable-prefix}toast-header-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}toast-header-background-color: #{rgba($white, .06)};\r\n --#{$variable-prefix}toast-header-border-color: #{rgba($black, .05)};\r\n\r\n // scss-docs-start badge-variables\r\n --#{$variable-prefix}badge-color: #{$white};\r\n\r\n // scss-docs-start modal-variables\r\n --#{$variable-prefix}modal-content-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}modal-content-box-shadow-xs: 0 .25rem .5rem #{rgba($black, .5)};\r\n --#{$variable-prefix}modal-content-box-shadow-sm-up: 0 .5rem 1rem #{rgba($black, .5)};\r\n --#{$variable-prefix}modal-backdrop-bg: #{map-get($dark-grays, \"900\")};\r\n --#{$variable-prefix}modal-header-border-color: #{$border-color};\r\n --#{$variable-prefix}modal-footer-border-color: #{$border-color};\r\n\r\n // scss-docs-start progress-variables\r\n --#{$variable-prefix}progress-bg: #{map-get($dark-grays, \"300\")};\r\n --#{$variable-prefix}progress-box-shadow: #{$box-shadow-inset};\r\n --#{$variable-prefix}progress-bar-color: #{$white};\r\n --#{$variable-prefix}progress-bar-bg: #{$primary};\r\n\r\n // scss-docs-start list-group-variables\r\n --#{$variable-prefix}list-group-color: #{null};\r\n --#{$variable-prefix}list-group-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}list-group-border-color: #{rgba($black, .125)};\r\n --#{$variable-prefix}list-group-hover-bg: #{map-get($dark-grays, \"100\")};\r\n --#{$variable-prefix}list-group-disabled-color: #{map-get($dark-grays, \"600\")};\r\n --#{$variable-prefix}list-group-disabled-bg: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}list-group-action-color: #{map-get($dark-grays, \"700\")};\r\n --#{$variable-prefix}list-group-action-active-color: #{$body-color};\r\n --#{$variable-prefix}list-group-action-active-bg: #{map-get($dark-grays, \"200\")};\r\n\r\n // scss-docs-start thumbnail-variables\r\n --#{$variable-prefix}thumbnail-bg: #{lighten(map-get($dark-grays, \"200\"), 2%)};\r\n --#{$variable-prefix}thumbnail-border-color: #{lighten(lighten(map-get($dark-grays, \"200\"), 2%), 4%)};\r\n --#{$variable-prefix}thumbnail-box-shadow: 0 1px 2px #{rgba($black, .075)};\r\n\r\n // scss-docs-start figure-variables\r\n --#{$variable-prefix}figure-caption-color: #{map-get($dark-grays, \"600\")};\r\n\r\n // scss-docs-start breadcrumb-variables\r\n --#{$variable-prefix}breadcrumb-divider-color: #{map-get($dark-grays, \"400\")};\r\n --#{$variable-prefix}breadcrumb-active-color: #{map-get($dark-grays, \"500\")};\r\n\r\n // scss-docs-start carousel-variables\r\n --#{$variable-prefix}carousel-control-color: #{$white};\r\n --#{$variable-prefix}carousel-indicator-active-bg: #{$white};\r\n --#{$variable-prefix}carousel-caption-color: #{$white};\r\n --#{$variable-prefix}carousel-dark-indicator-active-bg: #{$black};\r\n --#{$variable-prefix}carousel-dark-caption-color: #{$black};\r\n\r\n // scss-docs-start close-variables\r\n --#{$variable-prefix}btn-close-color: #cccecf;\r\n\r\n // Code\r\n --#{$variable-prefix}code-color: #{$pink};\r\n\r\n --#{$variable-prefix}kbd-color: #{$white};\r\n --#{$variable-prefix}kbd-bg: #{map-get($dark-grays, \"900\")};\r\n --#{$variable-prefix}pre-color: #{null};\r\n\r\n\r\n \r\n // <=============================================>\r\n // Custome variable\r\n // <=============================================>\r\n\r\n // Left Sidebar\r\n --#{$variable-prefix}bg-leftbar: #{$white};\r\n --#{$variable-prefix}bg-leftbar-dark: #{map-get($dark-grays, \"200\")};\r\n --#{$variable-prefix}bg-leftbar-brand: #4a81d4;\r\n --#{$variable-prefix}bg-leftbar-gradient: #5b69bc;\r\n\r\n // user box\r\n --#{$variable-prefix}left-menu-user-box-border: #f5f5f5;\r\n --#{$variable-prefix}left-menu-dark-user-box-border: #{rgba($white, .2)};\r\n\r\n // Dark leftbar menu color\r\n --#{$variable-prefix}menu-item-color-dark: #9097a7;\r\n --#{$variable-prefix}menu-item-hover-color-dark: #c8cddc;\r\n --#{$variable-prefix}menu-item-active-color-dark: #{$white};\r\n\r\n //Menu item\r\n --#{$variable-prefix}menu-item: #6e768e;\r\n --#{$variable-prefix}menu-item-hover: #71b6f9;\r\n --#{$variable-prefix}menu-item-active: #71b6f9;\r\n --#{$variable-prefix}menu-sub-item-active: #71b6f9;\r\n\r\n // Horizontal Menu Item\r\n --#{$variable-prefix}hori-menu-item-color: #919eab;\r\n\r\n //Rightbar Width\r\n --#{$variable-prefix}rightbar-bg: #323a46;\r\n\r\n //Topbar Background\r\n --#{$variable-prefix}bg-topbar-light: #353d4a;\r\n --#{$variable-prefix}bg-topbar-dark: #2c333e;\r\n\r\n // Leftbar item shadow (Condensed item)\r\n --#{$variable-prefix}box-shadow-condensed: 3px 5px 10px 0 rgba(50,58,66); \r\n\r\n // Page title \r\n --#{$variable-prefix}page-title-color: #f8f9fa;\r\n\r\n // Topbar Search\r\n --#{$variable-prefix}topbar-search-bg: #323a46;\r\n --#{$variable-prefix}topbar-search-bg-dark: #323a46;\r\n\r\n // Footer\r\n --#{$variable-prefix}footer-bg: #2c333e;\r\n --#{$variable-prefix}footer-color: #adb5bd;\r\n --#{$variable-prefix}footer-link-hover-color: #a2abb4;\r\n\r\n // Logo box \r\n --#{$variable-prefix}logo-box-background: #{$white};\r\n\r\n // User authentication Background\r\n --#{$variable-prefix}auth-bg: #3e4852;\r\n --#{$variable-prefix}auth-bg-alt: #3e4852;\r\n\r\n // Chat widget\r\n --#{$variable-prefix}chat-primary-user-bg: #404c58;\r\n --#{$variable-prefix}chat-secondary-user-bg: #404c58;\r\n\r\n // Card overlay \r\n --#{$variable-prefix}card-overlay-bg: #{rgba($white, 0.8)};\r\n\r\n // Input light gray\r\n --#{$variable-prefix}input-light-bg: #3b4550;\r\n\r\n // Email\r\n --#{$variable-prefix}email-msg-container-bg: #333a47;\r\n}\r\n\r\n\r\n","/*!\n * Bootstrap v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n// scss-docs-start import-stack\n// Configuration\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"utilities\";\n\n// Layout & components\n@import \"root\";\n@import \"reboot\";\n@import \"type\";\n@import \"images\";\n@import \"containers\";\n@import \"grid\";\n@import \"tables\";\n@import \"forms\";\n@import \"buttons\";\n@import \"transitions\";\n@import \"dropdown\";\n@import \"button-group\";\n@import \"nav\";\n@import \"navbar\";\n@import \"card\";\n@import \"accordion\";\n@import \"breadcrumb\";\n@import \"pagination\";\n@import \"badge\";\n@import \"alert\";\n@import \"progress\";\n@import \"list-group\";\n@import \"close\";\n@import \"toasts\";\n@import \"modal\";\n@import \"tooltip\";\n@import \"popover\";\n@import \"carousel\";\n@import \"spinners\";\n@import \"offcanvas\";\n@import \"placeholders\";\n\n// Helpers\n@import \"helpers\";\n\n// Utilities\n@import \"utilities/api\";\n// scss-docs-end import-stack\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n font-size: var(--#{$variable-prefix}root-font-size);\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$variable-prefix}body-font-family);\n @include font-size(var(--#{$variable-prefix}body-font-size));\n font-weight: var(--#{$variable-prefix}body-font-weight);\n line-height: var(--#{$variable-prefix}body-line-height);\n color: var(--#{$variable-prefix}body-color);\n text-align: var(--#{$variable-prefix}body-text-align);\n background-color: var(--#{$variable-prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`' + + alertPlaceholder.append(wrapper) + } + + if (alertTrigger) { + alertTrigger.addEventListener('click', function () { + alert('Nice, you triggered this alert message!', 'primary') + }) + } + + + if(document.getElementById('app-style').href.includes('rtl.min.css')){ + document.getElementsByTagName('html')[0].dir="rtl"; + } + }, + + $.App = new App, $.App.Constructor = App + + + }(window.jQuery), +//initializing main application module + function ($) { + "use strict"; + $.App.init(); + }(window.jQuery); + +// Waves Effect +Waves.init(); + +// Feather Icons +feather.replace() \ No newline at end of file diff --git a/static/js/app.min.js b/static/js/app.min.js new file mode 100755 index 0000000..e988b9d --- /dev/null +++ b/static/js/app.min.js @@ -0,0 +1,2 @@ +"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n

');var e=t.find(".card-disabled");setTimeout(function(){e.fadeOut("fast",function(){e.remove()})},500+5*Math.random()*300)})},a.Portlet=new t,a.Portlet.Constructor=t}(window.jQuery),function(n){function t(){this.$body=n("body"),this.$window=n(window)}t.prototype.initControls=function(){function t(){document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement||n("body").removeClass("fullscreen-enable")}setTimeout(function(){document.body.classList.remove("loading")},350),n(window).on("load",function(){n("#status").fadeOut(),n("#preloader").delay(350).fadeOut("slow")}),n('[data-toggle="fullscreen"]').on("click",function(t){t.preventDefault(),n("body").toggleClass("fullscreen-enable"),document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement?document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen&&document.webkitCancelFullScreen():document.documentElement.requestFullscreen?document.documentElement.requestFullscreen():document.documentElement.mozRequestFullScreen?document.documentElement.mozRequestFullScreen():document.documentElement.webkitRequestFullscreen&&document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}),document.addEventListener("fullscreenchange",t),document.addEventListener("webkitfullscreenchange",t),document.addEventListener("mozfullscreenchange",t)},t.prototype.init=function(){n.Portlet.init(),n.Components.init(),this.initControls();[].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]')).map(function(t){return new bootstrap.Popover(t)}),[].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')).map(function(t){return new bootstrap.Tooltip(t)}),[].slice.call(document.querySelectorAll(".toast")).map(function(t){return new bootstrap.Toast(t)});var t=document.getElementById("toastPlacement");t&&document.getElementById("selectToastPlacement").addEventListener("change",function(){t.dataset.originalClass||(t.dataset.originalClass=t.className),t.className=t.dataset.originalClass+" "+this.value});var a=document.getElementById("liveAlertPlaceholder"),e=document.getElementById("liveAlertBtn");e&&e.addEventListener("click",function(){var t,e,n;t="Nice, you triggered this alert message!",e="primary",(n=document.createElement("div")).innerHTML='',a.append(n)}),document.getElementById("app-style").href.includes("rtl.min.css")&&(document.getElementsByTagName("html")[0].dir="rtl")},n.App=new t,n.App.Constructor=t}(window.jQuery),window.jQuery.App.init(),Waves.init(),feather.replace(); +//# sourceMappingURL=app.min.js.map diff --git a/static/js/app.min.js.map b/static/js/app.min.js.map new file mode 100755 index 0000000..fa8ceaa --- /dev/null +++ b/static/js/app.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["layout.js","app.js"],"names":["LeftSidebar","_classCallCheck","this","body","$","window","twoColSideNavItems","sideSubMenus","nav","navCollapse","pageUrl","length","on","show.bs.collapse","event","parent","target","parents","not","collapse","each","location","href","split","addClass","firstLevelParent","attr","secondLevelParent","upperLevelParent","is","nearestNav","closest","find","e","preventDefault","removeClass","LayoutThemeApp","leftSidebar","changeSize","matchingItem","targetEl","trigger","initMenu","Topbar","document","classList","contains","remove","add","self","_document$querySelect","querySelector","addEventListener","toggleRightSideBar","el","hasClass","child","prev","toggleClass","slideToggle","AllNavs","querySelectorAll","isInner","forEach","element","parentElement","ariaExpanded","bootstrap","Dropdown","getInstance","show","stopPropagation","RightSidebar","ThemeCustomizer","defaultConfig","leftbar","color","size","position","layout","mode","topbar","sidebar","user","_this$body$getAttribu8","config","JSON","parse","stringify","_this$body$getAttribu","getAttribute","_this$body$getAttribu2","_this$body$getAttribu3","_this$body$getAttribu4","_this$body$getAttribu5","_this$body$getAttribu6","_this$body$getAttribu7","setSwitchFromConfig","setAttribute","showUser","removeAttribute","changeLeftbarColor","changeLeftbarPosition","changeLeftbarSize","changeLayoutColor","changeLayoutSize","changeLayoutMode","changeTopbarColor","changeSidebarUser","_document$querySelect3","value","checked","_document$querySelect2","resetTheme","toggle","checkbox","leftbarColorSwitch","leftbarSizeSwitch","leftbarPositionSwitch","layoutColorSwitch","layoutSizeSwitch","layoutModeSwitch","topbarColorSwitch","sidebarUserSwitch","type","toString","initConfig","initSwitchListener","Layout","themeCustomizer","init","rightSidebar","Components","prototype","initTooltipPlugin","fn","tooltip","initPopoverPlugin","popover","initToastPlugin","toast","initFormValidation","checkValidity","initCounterUp","delay","time","idx","obj","counterUp","initPeityCharts","colors","width","height","peity","fill","data","initKnob","knob","initTippyTooltips","tippy","initShowPassword","siblings","initMultiDropdown","next","first","Constructor","jQuery","Portlet","$body","$portletIdentifier","$portletCloser","$portletRefresher","$this","ev","$portlet","$portlet_parent","children","append","$pd","setTimeout","fadeOut","Math","random","App","$window","initControls","exitHandler","webkitIsFullScreen","mozFullScreen","msFullscreenElement","fullscreenElement","mozFullScreenElement","webkitFullscreenElement","cancelFullScreen","mozCancelFullScreen","webkitCancelFullScreen","documentElement","requestFullscreen","mozRequestFullScreen","webkitRequestFullscreen","Element","ALLOW_KEYBOARD_INPUT","slice","call","map","popoverTriggerEl","Popover","tooltipTriggerEl","Tooltip","toastEl","Toast","toastPlacement","getElementById","dataset","originalClass","className","alertPlaceholder","alertTrigger","message","wrapper","createElement","innerHTML","includes","getElementsByTagName","dir","Waves","feather","replace"],"mappings":"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","file":"app.min.js","sourcesContent":["/*\r\nTemplate Name: Adminto - Responsive Bootstrap 5 Admin Dashboard\r\nAuthor: CoderThemes\r\nWebsite: https://coderthemes.com/\r\nContact: support@coderthemes.com\r\nFile: Layout\r\n*/\r\n\r\nclass LeftSidebar {\r\n\r\n constructor() {\r\n this.body = $('body');\r\n this.window = $(window)\r\n }\r\n\r\n initMenu() {\r\n var self = this;\r\n\r\n // var defaultSidebarSize = sidebar.size ? sidebar.size : 'default';\r\n\r\n // resets everything\r\n\r\n // Left menu collapse\r\n // $('.button-menu-mobile').on('click', function (event) {\r\n // event.preventDefault();\r\n // var sidebarSize = self.body.attr('data-sidebar-size');\r\n // if (self.window.width() >= 993) {\r\n // if (sidebarSize === 'condensed') {\r\n // self.changeSize(defaultSidebarSize);\r\n // window.dispatchEvent(new Event('adminto.setFluid'));\r\n // } else {\r\n // self.changeSize('condensed');\r\n // window.dispatchEvent(new Event('adminto.setBoxed'));\r\n // }\r\n // } else {\r\n // self.changeSize(defaultSidebarSize);\r\n // self.body.toggleClass('sidebar-enable');\r\n // window.dispatchEvent(new Event('adminto.setFluid'));\r\n // }\r\n // });\r\n\r\n // sidebar - main menu\r\n if ($(\"#side-menu\").length) {\r\n var navCollapse = $('#side-menu li .collapse');\r\n\r\n // open one menu at a time only\r\n navCollapse.on({\r\n 'show.bs.collapse': function (event) {\r\n var parent = $(event.target).parents('.collapse.show');\r\n $('#side-menu .collapse.show').not(parent).collapse('hide');\r\n }\r\n });\r\n\r\n // activate the menu in left side bar (Vertical Menu) based on url\r\n $(\"#side-menu a\").each(function () {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"menuitem-active\");\r\n $(this).parent().parent().parent().addClass(\"show\");\r\n $(this).parent().parent().parent().parent().addClass(\"menuitem-active\"); // add active to li of the current link\r\n\r\n var firstLevelParent = $(this).parent().parent().parent().parent().parent().parent();\r\n if (firstLevelParent.attr('id') !== 'sidebar-menu') firstLevelParent.addClass(\"show\");\r\n\r\n $(this).parent().parent().parent().parent().parent().parent().parent().addClass(\"menuitem-active\");\r\n\r\n var secondLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (secondLevelParent.attr('id') !== 'wrapper') secondLevelParent.addClass(\"show\");\r\n\r\n var upperLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (!upperLevelParent.is('body')) upperLevelParent.addClass(\"menuitem-active\");\r\n }\r\n });\r\n }\r\n\r\n\r\n // handling two columns menu if present\r\n var twoColSideNav = $(\"#two-col-sidenav-main\");\r\n if (twoColSideNav.length) {\r\n var twoColSideNavItems = $(\"#two-col-sidenav-main .nav-link\");\r\n var sideSubMenus = $(\".twocolumn-menu-item\");\r\n\r\n // showing/displaying tooltip based on screen size\r\n // if (this.window.width() >= 585) {\r\n // twoColSideNavItems.tooltip('enable');\r\n // } else {\r\n // twoColSideNavItems.tooltip('disable');\r\n // }\r\n\r\n var nav = $('.twocolumn-menu-item .nav-second-level');\r\n var navCollapse = $('#two-col-menu li .collapse');\r\n\r\n // open one menu at a time only\r\n navCollapse.on({\r\n 'show.bs.collapse': function () {\r\n var nearestNav = $(this).closest(nav).closest(nav).find(navCollapse);\r\n if (nearestNav.length) nearestNav.not($(this)).collapse('hide'); else navCollapse.not($(this)).collapse('hide');\r\n }\r\n });\r\n\r\n twoColSideNavItems.on('click', function (e) {\r\n var target = $($(this).attr('href'));\r\n\r\n if (target.length) {\r\n e.preventDefault();\r\n\r\n twoColSideNavItems.removeClass('active');\r\n $(this).addClass('active');\r\n\r\n sideSubMenus.removeClass(\"d-block\");\r\n target.addClass(\"d-block\");\r\n\r\n // showing full sidebar if menu item is clicked\r\n $.LayoutThemeApp.leftSidebar.changeSize('default');\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // activate menu with no child\r\n var pageUrl = window.location.href; //.split(/[?#]/)[0];\r\n twoColSideNavItems.each(function () {\r\n if (this.href === pageUrl) {\r\n $(this).addClass('active');\r\n }\r\n });\r\n\r\n\r\n // activate the menu in left side bar (Two column) based on url\r\n $(\"#two-col-menu a\").each(function () {\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"menuitem-active\");\r\n $(this).parent().parent().parent().addClass(\"show\");\r\n $(this).parent().parent().parent().parent().addClass(\"menuitem-active\"); // add active to li of the current link\r\n\r\n var firstLevelParent = $(this).parent().parent().parent().parent().parent().parent();\r\n if (firstLevelParent.attr('id') !== 'sidebar-menu') firstLevelParent.addClass(\"show\");\r\n\r\n $(this).parent().parent().parent().parent().parent().parent().parent().addClass(\"menuitem-active\");\r\n\r\n var secondLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (secondLevelParent.attr('id') !== 'wrapper') secondLevelParent.addClass(\"show\");\r\n\r\n var upperLevelParent = $(this).parent().parent().parent().parent().parent().parent().parent().parent().parent().parent();\r\n if (!upperLevelParent.is('body')) upperLevelParent.addClass(\"menuitem-active\");\r\n\r\n // opening menu\r\n var matchingItem = null;\r\n var targetEl = '#' + $(this).parents('.twocolumn-menu-item').attr(\"id\");\r\n $(\"#two-col-sidenav-main .nav-link\").each(function () {\r\n if ($(this).attr('href') === targetEl) {\r\n matchingItem = $(this);\r\n }\r\n });\r\n if (matchingItem) matchingItem.trigger('click');\r\n }\r\n });\r\n }\r\n }\r\n\r\n init() {\r\n this.initMenu();\r\n }\r\n\r\n\r\n}\r\n\r\nclass Topbar {\r\n\r\n constructor() {\r\n this.body = $('body');\r\n this.window = $(window);\r\n }\r\n\r\n toggleRightSideBar() {\r\n\r\n var self = this;\r\n if(document.body.classList.contains('right-bar-enabled'))\r\n document.body.classList.remove('right-bar-enabled')\r\n else\r\n document.body.classList.add('right-bar-enabled')\r\n }\r\n\r\n initMenu() {\r\n const self = this;\r\n document.querySelector('.right-bar-toggle')?.addEventListener('click', function () {\r\n self.toggleRightSideBar();\r\n });\r\n\r\n // Serach Toggle\r\n $('#top-search').on('click', function (e) {\r\n $('#search-dropdown').addClass('d-block');\r\n });\r\n\r\n // hide search on opening other dropdown\r\n $('.topbar-dropdown').on('show.bs.dropdown', function () {\r\n $('#search-dropdown').removeClass('d-block');\r\n });\r\n\r\n //activate the menu in topbar(horizontal menu) based on url\r\n $(\".navbar-nav a\").each(function () {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (this.href == pageUrl) {\r\n $(this).addClass(\"active\");\r\n $(this).parent().addClass(\"active\");\r\n $(this).parent().parent().addClass(\"active\");\r\n\r\n $(this).parent().parent().parent().addClass(\"active\");\r\n $(this).parent().parent().parent().parent().addClass(\"active\");\r\n if ($(this).parent().parent().parent().parent().hasClass('mega-dropdown-menu')) {\r\n $(this).parent().parent().parent().parent().parent().addClass(\"active\");\r\n $(this).parent().parent().parent().parent().parent().parent().addClass(\"active\");\r\n\r\n } else {\r\n var child = $(this).parent().parent()[0].querySelector('.dropdown-item');\r\n if (child) {\r\n var pageUrl = window.location.href.split(/[?#]/)[0];\r\n if (child.href == pageUrl || child.classList.contains('dropdown-toggle')) child.classList.add(\"active\");\r\n }\r\n }\r\n var el = $(this).parent().parent().parent().parent().addClass(\"active\").prev();\r\n if (el.hasClass(\"nav-link\")) el.addClass('active');\r\n }\r\n });\r\n\r\n // Topbar - main menu\r\n $('.navbar-toggle').on('click', function (event) {\r\n $(this).toggleClass('open');\r\n $('#navigation').slideToggle(400);\r\n });\r\n\r\n\r\n //Horizontal Menu (For SM Screen)\r\n var AllNavs = document.querySelectorAll('ul.navbar-nav .dropdown .dropdown-toggle');\r\n\r\n var isInner = false;\r\n\r\n AllNavs.forEach(function (element) {\r\n element.addEventListener('click', function (event) {\r\n if (!element.parentElement.classList.contains('nav-item')) {\r\n isInner = true;\r\n element.parentElement.parentElement.classList.add('show');\r\n var parent = element.parentElement.parentElement.parentElement.querySelector('.nav-link');\r\n parent.ariaExpanded = true;\r\n parent.classList.add(\"show\");\r\n bootstrap.Dropdown.getInstance(element).show();\r\n }\r\n });\r\n\r\n element.addEventListener('hide.bs.dropdown', function (event) {\r\n if (isInner) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n isInner = false;\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n init() {\r\n this.initMenu();\r\n }\r\n\r\n}\r\n\r\nclass RightSidebar {\r\n\r\n constructor() {\r\n this.body = $('body');\r\n this.window = $(window);\r\n }\r\n\r\n init() {\r\n var self = this;\r\n\r\n $(document).on('click', 'body', function (e) {\r\n // hiding search bar\r\n if ($(e.target).closest('#top-search').length !== 1) {\r\n $('#search-dropdown').removeClass('d-block');\r\n }\r\n if ($(e.target).closest('.right-bar-toggle, .right-bar').length > 0) {\r\n return;\r\n }\r\n\r\n if ($(e.target).closest('.left-side-menu, .side-nav').length > 0 || $(e.target).hasClass('button-menu-mobile') || $(e.target).closest('.button-menu-mobile').length > 0) {\r\n return;\r\n }\r\n\r\n $('body').removeClass('right-bar-enabled');\r\n $('body').removeClass('sidebar-enable');\r\n\r\n });\r\n }\r\n\r\n}\r\n\r\nclass ThemeCustomizer {\r\n\r\n\r\n constructor() {\r\n this.body = document.body;\r\n this.defaultConfig = {\r\n leftbar: {\r\n color: 'light', size: 'default', position: 'fixed',\r\n }, layout: {\r\n color: 'light', size: 'fluid', mode: 'default',\r\n }, topbar: {\r\n color: 'light'\r\n }, sidebar: {\r\n user: true\r\n }\r\n }\r\n\r\n }\r\n\r\n initConfig() {\r\n let config = JSON.parse(JSON.stringify(this.defaultConfig));\r\n config['leftbar']['color'] = this.body.getAttribute('data-leftbar-color') ?? this.defaultConfig.leftbar.color;\r\n config['leftbar']['size'] = this.body.getAttribute('data-leftbar-size') ?? this.defaultConfig.leftbar.size;\r\n config['leftbar']['position'] = this.body.getAttribute('data-leftbar-position') ?? this.defaultConfig.leftbar.position;\r\n config['layout']['color'] = this.body.getAttribute('data-layout-color') ?? this.defaultConfig.layout.color;\r\n config['layout']['size'] = this.body.getAttribute('data-layout-size') ?? this.defaultConfig.layout.size;\r\n config['layout']['mode'] = this.body.getAttribute('data-layout-mode') ?? this.defaultConfig.layout.mode;\r\n config['topbar']['color'] = this.body.getAttribute('data-topbar-color') ?? this.defaultConfig.topbar.color;\r\n config['sidebar']['user'] = this.body.getAttribute('data-sidebar-user') ?? this.defaultConfig.sidebar.user;\r\n this.defaultConfig = JSON.parse(JSON.stringify(config));\r\n this.config = config;\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeLeftbarColor(color) {\r\n this.config.leftbar.color = color;\r\n this.body.setAttribute('data-leftbar-color', color);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeLeftbarPosition(position) {\r\n this.config.leftbar.position = position;\r\n this.body.setAttribute('data-leftbar-position', position);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeLeftbarSize(size) {\r\n this.config.leftbar.size = size;\r\n this.body.setAttribute('data-leftbar-size', size);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeLayoutMode(mode) {\r\n this.config.layout.mode = mode;\r\n this.body.setAttribute('data-layout-mode', mode);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeLayoutColor(color) {\r\n this.config.layout.color = color;\r\n this.body.setAttribute('data-layout-color', color);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeLayoutSize(size) {\r\n this.config.layout.size = size;\r\n this.body.setAttribute('data-layout-size', size);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeTopbarColor(color) {\r\n this.config.topbar.color = color;\r\n this.body.setAttribute('data-topbar-color', color);\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n changeSidebarUser(showUser) {\r\n this.config.sidebar.user = showUser;\r\n if (showUser) {\r\n this.body.setAttribute('data-sidebar-user', showUser);\r\n } else {\r\n this.body.removeAttribute('data-sidebar-user');\r\n }\r\n this.setSwitchFromConfig();\r\n }\r\n\r\n resetTheme() {\r\n this.config = JSON.parse(JSON.stringify(this.defaultConfig));\r\n this.changeLeftbarColor(this.config.leftbar.color);\r\n this.changeLeftbarPosition(this.config.leftbar.position);\r\n this.changeLeftbarSize(this.config.leftbar.size);\r\n this.changeLayoutColor(this.config.layout.color);\r\n this.changeLayoutSize(this.config.layout.size);\r\n this.changeLayoutMode(this.config.layout.mode);\r\n this.changeTopbarColor(this.config.topbar.color);\r\n this.changeSidebarUser(this.config.sidebar.user);\r\n }\r\n\r\n initSwitchListener() {\r\n const self = this;\r\n document.querySelectorAll('input[name=leftbar-color]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeLeftbarColor(element.value);\r\n })\r\n });\r\n document.querySelectorAll('input[name=leftbar-size]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeLeftbarSize(element.value);\r\n })\r\n });\r\n document.querySelectorAll('input[name=leftbar-position]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeLeftbarPosition(element.value);\r\n\r\n })\r\n });\r\n document.querySelectorAll('input[name=layout-color]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeLayoutColor(element.value);\r\n })\r\n });\r\n document.querySelectorAll('input[name=layout-size]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeLayoutSize(element.value);\r\n })\r\n });\r\n\r\n document.querySelectorAll('input[name=layout-mode]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeLayoutMode(element.value);\r\n })\r\n });\r\n document.querySelectorAll('input[name=topbar-color]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeTopbarColor(element.value);\r\n })\r\n });\r\n document.querySelectorAll('input[name=sidebar-user]').forEach(function (element) {\r\n element.addEventListener('change', function (e) {\r\n self.changeSidebarUser(element.checked);\r\n })\r\n });\r\n document.querySelector('#resetBtn')?.addEventListener('click', function (e) {\r\n self.resetTheme();\r\n });\r\n\r\n document.querySelector('.button-menu-mobile')?.addEventListener('click', function () {\r\n // self.changeLeftbarSize('default');\r\n self.body.classList.toggle('sidebar-enable');\r\n\r\n })\r\n }\r\n\r\n\r\n setSwitchFromConfig() {\r\n document.querySelectorAll('.right-bar input[type=checkbox]').forEach(function (checkbox) {\r\n checkbox.checked = false;\r\n })\r\n let config = this.config;\r\n if (config) {\r\n let leftbarColorSwitch = document.querySelector('input[type=checkbox][name=leftbar-color][value=' + config.leftbar.color + ']');\r\n let leftbarSizeSwitch = document.querySelector('input[type=checkbox][name=leftbar-size][value=' + config.leftbar.size + ']');\r\n let leftbarPositionSwitch = document.querySelector('input[type=checkbox][name=leftbar-position][value=' + config.leftbar.position + ']');\r\n\r\n let layoutColorSwitch = document.querySelector('input[type=checkbox][name=layout-color][value=' + config.layout.color + ']');\r\n let layoutSizeSwitch = document.querySelector('input[type=checkbox][name=layout-size][value=' + config.layout.size + ']');\r\n let layoutModeSwitch = document.querySelector('input[type=checkbox][name=layout-mode][value=' + config.layout.type + ']');\r\n\r\n let topbarColorSwitch = document.querySelector('input[type=checkbox][name=topbar-color][value=' + config.topbar.color + ']');\r\n let sidebarUserSwitch = document.querySelector('input[type=checkbox][name=sidebar-user]');\r\n\r\n\r\n if (leftbarColorSwitch) leftbarColorSwitch.checked = true;\r\n if (leftbarSizeSwitch) leftbarSizeSwitch.checked = true;\r\n if (leftbarPositionSwitch) leftbarPositionSwitch.checked = true;\r\n\r\n if (layoutColorSwitch) layoutColorSwitch.checked = true;\r\n if (layoutSizeSwitch) layoutSizeSwitch.checked = true;\r\n if (layoutModeSwitch) layoutModeSwitch.checked = true;\r\n\r\n if (topbarColorSwitch) topbarColorSwitch.checked = true;\r\n if (sidebarUserSwitch && config.sidebar.user.toString() === \"true\") sidebarUserSwitch.checked = true;\r\n }\r\n }\r\n\r\n\r\n\r\n init() {\r\n this.initConfig();\r\n this.initSwitchListener();\r\n // this.setSwitchFromConfig();\r\n\r\n }\r\n}\r\n\r\n\r\nclass Layout {\r\n\r\n init() {\r\n this.themeCustomizer = new ThemeCustomizer();\r\n this.themeCustomizer.init();\r\n this.leftSidebar = new LeftSidebar();\r\n this.topbar = new Topbar();\r\n this.rightSidebar = new RightSidebar(this);\r\n this.rightSidebar.init();\r\n this.topbar.init();\r\n this.leftSidebar.init();\r\n\r\n\r\n }\r\n}\r\n\r\nwindow.addEventListener('DOMContentLoaded', function (e) {\r\n new Layout().init();\r\n})\r\n\r\n","/*\r\nTemplate Name: Adminto - Responsive Bootstrap 5 Admin Dashboard\r\nAuthor: CoderThemes\r\nWebsite: https://coderthemes.com/\r\nContact: support@coderthemes.com\r\nFile: Main Js File\r\n*/\r\n\r\n\r\n!function ($) {\r\n \"use strict\";\r\n\r\n var Components = function () {\r\n };\r\n\r\n //initializing tooltip\r\n Components.prototype.initTooltipPlugin = function () {\r\n $.fn.tooltip && $('[data-bs-toggle=\"tooltip\"]').tooltip()\r\n },\r\n\r\n //initializing popover\r\n Components.prototype.initPopoverPlugin = function () {\r\n $.fn.popover && $('[data-bs-toggle=\"popover\"]').popover()\r\n },\r\n\r\n //initializing toast\r\n Components.prototype.initToastPlugin = function () {\r\n $.fn.toast && $('[data-bs-toggle=\"toast\"]').toast()\r\n },\r\n\r\n //initializing form validation\r\n Components.prototype.initFormValidation = function () {\r\n $(\".needs-validation\").on('submit', function (event) {\r\n $(this).addClass('was-validated');\r\n if ($(this)[0].checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n return false;\r\n }\r\n return true;\r\n });\r\n },\r\n\r\n // Counterup\r\n Components.prototype.initCounterUp = function () {\r\n var delay = $(this).attr('data-delay') ? $(this).attr('data-delay') : 100; //default is 100\r\n var time = $(this).attr('data-time') ? $(this).attr('data-time') : 1200; //default is 1200\r\n $('[data-plugin=\"counterup\"]').each(function (idx, obj) {\r\n $(this).counterUp({\r\n delay: delay,\r\n time: time\r\n });\r\n });\r\n },\r\n\r\n //peity charts\r\n Components.prototype.initPeityCharts = function () {\r\n $('[data-plugin=\"peity-pie\"]').each(function (idx, obj) {\r\n var colors = $(this).attr('data-colors') ? $(this).attr('data-colors').split(\",\") : [];\r\n var width = $(this).attr('data-width') ? $(this).attr('data-width') : 20; //default is 20\r\n var height = $(this).attr('data-height') ? $(this).attr('data-height') : 20; //default is 20\r\n $(this).peity(\"pie\", {\r\n fill: colors,\r\n width: width,\r\n height: height\r\n });\r\n });\r\n //donut\r\n $('[data-plugin=\"peity-donut\"]').each(function (idx, obj) {\r\n var colors = $(this).attr('data-colors') ? $(this).attr('data-colors').split(\",\") : [];\r\n var width = $(this).attr('data-width') ? $(this).attr('data-width') : 20; //default is 20\r\n var height = $(this).attr('data-height') ? $(this).attr('data-height') : 20; //default is 20\r\n $(this).peity(\"donut\", {\r\n fill: colors,\r\n width: width,\r\n height: height\r\n });\r\n });\r\n\r\n $('[data-plugin=\"peity-donut-alt\"]').each(function (idx, obj) {\r\n $(this).peity(\"donut\");\r\n });\r\n\r\n // line\r\n $('[data-plugin=\"peity-line\"]').each(function (idx, obj) {\r\n $(this).peity(\"line\", $(this).data());\r\n });\r\n\r\n // bar\r\n $('[data-plugin=\"peity-bar\"]').each(function (idx, obj) {\r\n var colors = $(this).attr('data-colors') ? $(this).attr('data-colors').split(\",\") : [];\r\n var width = $(this).attr('data-width') ? $(this).attr('data-width') : 20; //default is 20\r\n var height = $(this).attr('data-height') ? $(this).attr('data-height') : 20; //default is 20\r\n $(this).peity(\"bar\", {\r\n fill: colors,\r\n width: width,\r\n height: height\r\n });\r\n });\r\n },\r\n\r\n Components.prototype.initKnob = function () {\r\n $('[data-plugin=\"knob\"]').each(function (idx, obj) {\r\n $(this).knob();\r\n });\r\n },\r\n\r\n Components.prototype.initTippyTooltips = function () {\r\n if ($('[data-plugin=\"tippy\"]').length > 0) {\r\n tippy('[data-plugin=\"tippy\"]');\r\n }\r\n },\r\n\r\n Components.prototype.initShowPassword = function () {\r\n $(\"[data-password]\").on('click', function () {\r\n if ($(this).attr('data-password') == \"false\") {\r\n $(this).siblings(\"input\").attr(\"type\", \"text\");\r\n $(this).attr('data-password', 'true');\r\n $(this).addClass(\"show-password\");\r\n } else {\r\n $(this).siblings(\"input\").attr(\"type\", \"password\");\r\n $(this).attr('data-password', 'false');\r\n $(this).removeClass(\"show-password\");\r\n }\r\n });\r\n },\r\n\r\n Components.prototype.initMultiDropdown = function () {\r\n $('.dropdown-menu a.dropdown-toggle').on('click', function (e) {\r\n if (!$(this).next().hasClass('show')) {\r\n $(this).parents('.dropdown-menu').first().find('.show').removeClass(\"show\");\r\n }\r\n var $subMenu = $(this).next(\".dropdown-menu\");\r\n $subMenu.toggleClass('show');\r\n\r\n return false;\r\n });\r\n },\r\n\r\n //initilizing\r\n Components.prototype.init = function () {\r\n this.initTooltipPlugin(),\r\n this.initPopoverPlugin(),\r\n this.initToastPlugin(),\r\n this.initFormValidation(),\r\n this.initCounterUp(),\r\n this.initPeityCharts(),\r\n this.initKnob();\r\n this.initTippyTooltips();\r\n this.initShowPassword();\r\n this.initMultiDropdown();\r\n },\r\n\r\n $.Components = new Components, $.Components.Constructor = Components\r\n\r\n}(window.jQuery),\r\n\r\n function ($) {\r\n \"use strict\";\r\n\r\n /**\r\n Portlet Widget\r\n */\r\n var Portlet = function () {\r\n this.$body = $(\"body\"),\r\n this.$portletIdentifier = \".card\",\r\n this.$portletCloser = '.card a[data-toggle=\"remove\"]',\r\n this.$portletRefresher = '.card a[data-toggle=\"reload\"]'\r\n };\r\n\r\n //on init\r\n Portlet.prototype.init = function () {\r\n // Panel closest\r\n var $this = this;\r\n $(document).on(\"click\", this.$portletCloser, function (ev) {\r\n ev.preventDefault();\r\n var $portlet = $(this).closest($this.$portletIdentifier);\r\n var $portlet_parent = $portlet.parent();\r\n $portlet.remove();\r\n if ($portlet_parent.children().length == 0) {\r\n $portlet_parent.remove();\r\n }\r\n });\r\n\r\n // Panel Reload\r\n $(document).on(\"click\", this.$portletRefresher, function (ev) {\r\n ev.preventDefault();\r\n var $portlet = $(this).closest($this.$portletIdentifier);\r\n // This is just a simulation, nothing is going to be reloaded\r\n $portlet.append('
');\r\n var $pd = $portlet.find('.card-disabled');\r\n setTimeout(function () {\r\n $pd.fadeOut('fast', function () {\r\n $pd.remove();\r\n });\r\n }, 500 + 300 * (Math.random() * 5));\r\n });\r\n },\r\n //\r\n $.Portlet = new Portlet, $.Portlet.Constructor = Portlet\r\n\r\n }(window.jQuery),\r\n\r\n function ($) {\r\n 'use strict';\r\n\r\n var App = function () {\r\n this.$body = $('body'),\r\n this.$window = $(window)\r\n };\r\n\r\n /**\r\n * Initlizes the controls\r\n */\r\n App.prototype.initControls = function () {\r\n // remove loading\r\n setTimeout(function () {\r\n document.body.classList.remove('loading');\r\n }, 350);\r\n\r\n // Preloader\r\n $(window).on('load', function () {\r\n $('#status').fadeOut();\r\n $('#preloader').delay(350).fadeOut('slow');\r\n });\r\n\r\n $('[data-toggle=\"fullscreen\"]').on(\"click\", function (e) {\r\n e.preventDefault();\r\n $('body').toggleClass('fullscreen-enable');\r\n if (!document.fullscreenElement && /* alternative standard method */ !document.mozFullScreenElement && !document.webkitFullscreenElement) { // current working methods\r\n if (document.documentElement.requestFullscreen) {\r\n document.documentElement.requestFullscreen();\r\n } else if (document.documentElement.mozRequestFullScreen) {\r\n document.documentElement.mozRequestFullScreen();\r\n } else if (document.documentElement.webkitRequestFullscreen) {\r\n document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);\r\n }\r\n } else {\r\n if (document.cancelFullScreen) {\r\n document.cancelFullScreen();\r\n } else if (document.mozCancelFullScreen) {\r\n document.mozCancelFullScreen();\r\n } else if (document.webkitCancelFullScreen) {\r\n document.webkitCancelFullScreen();\r\n }\r\n }\r\n });\r\n document.addEventListener('fullscreenchange', exitHandler);\r\n document.addEventListener(\"webkitfullscreenchange\", exitHandler);\r\n document.addEventListener(\"mozfullscreenchange\", exitHandler);\r\n\r\n function exitHandler() {\r\n if (!document.webkitIsFullScreen && !document.mozFullScreen && !document.msFullscreenElement) {\r\n $('body').removeClass('fullscreen-enable');\r\n }\r\n }\r\n },\r\n\r\n //initilizing\r\n App.prototype.init = function () {\r\n $.Portlet.init();\r\n $.Components.init();\r\n\r\n this.initControls();\r\n\r\n\r\n // showing the sidebar on load if user is visiting the page first time only\r\n // var bodyConfig = this.$body.data('layout');\r\n // if (window.sessionStorage && bodyConfig && bodyConfig.hasOwnProperty('showRightSidebarOnPageLoad') && bodyConfig['showRightSidebarOnPageLoad']) {\r\n // var alreadyVisited = sessionStorage.getItem(\"_ADMINTO_VISITED_\");\r\n // if (!alreadyVisited) {\r\n // $.RightBar.toggleRightSideBar();\r\n // sessionStorage.setItem(\"_ADMINTO_VISITED_\", true);\r\n // }\r\n // }\r\n\r\n //Popovers\r\n var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'))\r\n var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {\r\n return new bootstrap.Popover(popoverTriggerEl)\r\n })\r\n\r\n //Tooltips\r\n var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tooltip\"]'))\r\n var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {\r\n return new bootstrap.Tooltip(tooltipTriggerEl)\r\n })\r\n\r\n //Toasts\r\n var toastElList = [].slice.call(document.querySelectorAll('.toast'))\r\n var toastList = toastElList.map(function (toastEl) {\r\n return new bootstrap.Toast(toastEl)\r\n })\r\n\r\n // Toasts Placement\r\n var toastPlacement = document.getElementById(\"toastPlacement\");\r\n if (toastPlacement) {\r\n document.getElementById(\"selectToastPlacement\").addEventListener(\"change\", function () {\r\n if (!toastPlacement.dataset.originalClass) {\r\n toastPlacement.dataset.originalClass = toastPlacement.className;\r\n }\r\n toastPlacement.className = toastPlacement.dataset.originalClass + \" \" + this.value;\r\n });\r\n }\r\n\r\n // liveAlert\r\n var alertPlaceholder = document.getElementById('liveAlertPlaceholder')\r\n var alertTrigger = document.getElementById('liveAlertBtn')\r\n\r\n function alert(message, type) {\r\n var wrapper = document.createElement('div')\r\n wrapper.innerHTML = '
' + message + '
'\r\n\r\n alertPlaceholder.append(wrapper)\r\n }\r\n\r\n if (alertTrigger) {\r\n alertTrigger.addEventListener('click', function () {\r\n alert('Nice, you triggered this alert message!', 'primary')\r\n })\r\n }\r\n\r\n\r\n if(document.getElementById('app-style').href.includes('rtl.min.css')){\r\n document.getElementsByTagName('html')[0].dir=\"rtl\";\r\n }\r\n },\r\n\r\n $.App = new App, $.App.Constructor = App\r\n\r\n\r\n }(window.jQuery),\r\n//initializing main application module\r\n function ($) {\r\n \"use strict\";\r\n $.App.init();\r\n }(window.jQuery);\r\n\r\n// Waves Effect\r\nWaves.init();\r\n\r\n// Feather Icons\r\nfeather.replace()"]} \ No newline at end of file diff --git a/static/js/layout.js b/static/js/layout.js new file mode 100755 index 0000000..52f8452 --- /dev/null +++ b/static/js/layout.js @@ -0,0 +1 @@ +"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var a=0;a').text('Confirm') + .addClass('confirm-delete-attribute-button btn btn-warning') + .data('attribute-id', attributeId) + .insertAfter($this); + + $this.hide(); // Скрываем кнопку "Delete" + }); + + // Обработка нажатия на кнопку подтверждения удаления + $('#btn-editable').on('click', '.confirm-delete-attribute-button', function () { + var attributeId = $(this).data('attribute-id'); + $.ajax({ + url: `/attributes/${attributeId}/delete/`, + method: 'POST', + data: { + 'id': attributeId, + 'csrfmiddlewaretoken': getCookie('csrftoken'), + }, + success: function (response) { + location.reload(); + }, + error: function (xhr, status, error) { + } + }); + }); + + // Функция для получения значения CSRF токена из куки + function getCookie(name) { + let cookieValue = null; + if (document.cookie && document.cookie !== '') { + const cookies = document.cookie.split(';'); + for (let i = 0; i < cookies.length; i++) { + const cookie = $.trim(cookies[i]); + if (cookie.substring(0, name.length + 1) === (name + '=')) { + cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); + break; + } + } + } + return cookieValue; + } + }); +})(jQuery); diff --git a/static/js/pages/custom_select2.js b/static/js/pages/custom_select2.js new file mode 100644 index 0000000..4d603f9 --- /dev/null +++ b/static/js/pages/custom_select2.js @@ -0,0 +1,4 @@ +$(document).ready(function () { + $('.select2').select2(); + $('.select2-container').css('width', '100%'); +}); \ No newline at end of file diff --git a/static/js/pages/inbox.js b/static/js/pages/inbox.js new file mode 100755 index 0000000..aa39a49 --- /dev/null +++ b/static/js/pages/inbox.js @@ -0,0 +1,487 @@ +"use strict"; +function _typeof(t) { + return (_typeof = + "function" == typeof Symbol && "symbol" == typeof Symbol.iterator + ? function (t) { + return typeof t; + } + : function (t) { + return t && + "function" == typeof Symbol && + t.constructor === Symbol && + t !== Symbol.prototype + ? "symbol" + : typeof t; + })(t); +} +jQuery(document).ready(function (i) { + var s = {}, + o = !1; + (s.showOverlay = function () { + i("body").addClass("show-main-overlay"); + }), + (s.hideOverlay = function () { + i("body").removeClass("show-main-overlay"); + }), + (s.showMessage = function () { + i("body").addClass("show-message"), (o = !0); + }), + (s.hideMessage = function () { + i("body").removeClass("show-message"), + i("#main .message-list li").removeClass("active"), + (o = !1); + }), + (s.showSidebar = function () { + i("body").addClass("show-sidebar"); + }), + (s.hideSidebar = function () { + i("body").removeClass("show-sidebar"); + }), + i(".trigger-toggle-sidebar").on("click", function () { + s.showSidebar(), s.showOverlay(); + }), + i(".trigger-message-close").on("click", function () { + s.hideMessage(), s.hideOverlay(); + }), + i("#main .message-list li").on("click", function (t) { + var e = i(this); + i(t.target).is("label") + ? e.toggleClass("selected") + : o && e.is(".active") + ? (s.hideMessage(), s.hideOverlay()) + : (o + ? (s.hideMessage(), + e.addClass("active"), + setTimeout(function () { + s.showMessage(); + }, 300)) + : (e.addClass("active"), s.showMessage()), + s.showOverlay()); + }), + i("#main > .overlay").on("click", function () { + s.hideOverlay(), s.hideMessage(), s.hideSidebar(); + }); +}); +var quill = new Quill("#snow-editor", { + theme: "snow", + modules: { + toolbar: [ + [{ font: [] }, { size: [] }], + ["bold", "italic", "underline"], + [{ color: [] }, { background: [] }], + [{ list: "ordered" }, { list: "bullet" }], + ], + }, +}); +!(function (s, o, i) { + var r, h, n, a, c, e, p, d, l, g, u, v, f, S, t, m, y, b, w, T, $, x, C; + function H(t, e) { + (this.el = t), + (this.options = e), + (h = h || y()), + (this.$el = s(this.el)), + (this.doc = s(this.options.documentContext || i)), + (this.win = s(this.options.windowContext || o)), + (this.$content = this.$el.children("." + e.contentClass)), + this.$content.attr("tabindex", this.options.tabIndex || 0), + (this.content = this.$content[0]), + this.options.iOSNativeScrolling && + null != this.el.style.WebkitOverflowScrolling + ? this.nativeScrolling() + : this.generate(), + this.createEvents(), + this.addEvents(), + this.reset(); + } + (m = { + paneClass: "nano-pane", + sliderClass: "nano-slider", + contentClass: "nano-content", + iOSNativeScrolling: !1, + preventPageScrolling: !1, + disableResize: !1, + alwaysVisible: !1, + flashDelay: 1500, + sliderMinHeight: 20, + sliderMaxHeight: null, + documentContext: null, + windowContext: null, + }), + (v = "scroll"), + (e = "mousedown"), + (p = "mousemove"), + (l = "mousewheel"), + (d = "mouseup"), + (u = "resize"), + (c = "drag"), + (S = "up"), + (n = "DOMMouseScroll"), + (a = "down"), + (f = "touchmove"), + (r = + "Microsoft Internet Explorer" === o.navigator.appName && + /msie 7./i.test(o.navigator.appVersion) && + o.ActiveXObject), + (h = null), + (T = o.requestAnimationFrame), + (t = o.cancelAnimationFrame), + (x = i.createElement("div").style), + (C = (function () { + for ( + var t, + e = ["t", "webkitT", "MozT", "msT", "OT"], + i = (t = 0), + s = e.length; + t < s; + i = ++t + ) + if ((e[i], e[i] + "ransform" in x)) + return e[i].substr(0, e[i].length - 1); + return !1; + })()), + ($ = (function (t) { + return ( + !1 !== C && ("" === C ? t : C + t.charAt(0).toUpperCase() + t.substr(1)) + ); + })("transform")), + (b = !1 !== $), + (y = function () { + var t = i.createElement("div"), + e = t.style; + return ( + (e.position = "absolute"), + (e.width = "100px"), + (e.height = "100px"), + (e.overflow = v), + (e.top = "-9999px"), + i.body.appendChild(t), + (e = t.offsetWidth - t.clientWidth), + i.body.removeChild(t), + e + ); + }), + (w = function () { + var t = o.navigator.userAgent, + e = /(?=.+Mac OS X)(?=.+Firefox)/.test(t); + return ( + !!e && + ((t = (t = /Firefox\/\d{2}\./.exec(t)) && t[0].replace(/\D+/g, "")), + e && 23 < +t) + ); + }), + (H.prototype.preventScrolling = function (t, e) { + this.isActive && + (t.type === n + ? ((e === a && 0 < t.originalEvent.detail) || + (e === S && t.originalEvent.detail < 0)) && + t.preventDefault() + : t.type === l && + t.originalEvent && + t.originalEvent.wheelDelta && + ((e === a && t.originalEvent.wheelDelta < 0) || + (e === S && 0 < t.originalEvent.wheelDelta)) && + t.preventDefault()); + }), + (H.prototype.nativeScrolling = function () { + this.$content.css({ WebkitOverflowScrolling: "touch" }), + (this.iOSNativeScrolling = !0), + (this.isActive = !0); + }), + (H.prototype.updateScrollValues = function () { + var t = this.content; + (this.maxScrollTop = t.scrollHeight - t.clientHeight), + (this.prevScrollTop = this.contentScrollTop || 0), + (this.contentScrollTop = t.scrollTop), + this.iOSNativeScrolling || + ((this.maxSliderTop = this.paneHeight - this.sliderHeight), + (this.sliderTop = + 0 === this.maxScrollTop + ? 0 + : (this.contentScrollTop * this.maxSliderTop) / + this.maxScrollTop)); + }), + (H.prototype.setOnScrollStyles = function () { + var t, e; + b + ? ((t = {})[$] = "translate(0, " + this.sliderTop + "px)") + : (t = { top: this.sliderTop }), + T + ? this.scrollRAF || + (this.scrollRAF = T( + ((e = this), + function () { + (e.scrollRAF = null), e.slider.css(t); + }) + )) + : this.slider.css(t); + }), + (H.prototype.createEvents = function () { + var e, i, s, o, n, l, r; + this.events = { + down: function (t) { + return ( + (r.isBeingDragged = !0), + (r.offsetY = t.pageY - r.slider.offset().top), + r.pane.addClass("active"), + r.doc.bind(p, r.events[c]).bind(d, r.events.up), + !1 + ); + }, + drag: function (t) { + return ( + (l.sliderY = t.pageY - l.$el.offset().top - l.offsetY), + l.scroll(), + l.contentScrollTop >= l.maxScrollTop && + l.prevScrollTop !== l.maxScrollTop + ? l.$el.trigger("scrollend") + : 0 === l.contentScrollTop && + 0 !== l.prevScrollTop && + l.$el.trigger("scrolltop"), + !1 + ); + }, + up: function (t) { + return ( + (n.isBeingDragged = !1), + n.pane.removeClass("active"), + n.doc.unbind(p, n.events[c]).unbind(d, n.events.up), + !1 + ); + }, + resize: function (t) { + o.reset(); + }, + panedown: function (t) { + return ( + (s.sliderY = + (t.offsetY || t.originalEvent.layerY) - 0.5 * s.sliderHeight), + s.scroll(), + s.events.down(t), + !1 + ); + }, + scroll: function (t) { + i.updateScrollValues(), + i.isBeingDragged || + (i.iOSNativeScrolling || + ((i.sliderY = i.sliderTop), i.setOnScrollStyles()), + null != t && + (i.contentScrollTop >= i.maxScrollTop + ? (i.options.preventPageScrolling && i.preventScrolling(t, a), + i.prevScrollTop !== i.maxScrollTop && + i.$el.trigger("scrollend")) + : 0 === i.contentScrollTop && + (i.options.preventPageScrolling && i.preventScrolling(t, S), + 0 !== i.prevScrollTop && i.$el.trigger("scrolltop")))); + }, + wheel: + ((e = i = s = o = n = l = r = this), + function (t) { + if (null != t) + return ( + (t = + t.delta || + t.wheelDelta || + (t.originalEvent && t.originalEvent.wheelDelta) || + -t.detail || + (t.originalEvent && -t.originalEvent.detail)) && + (e.sliderY += -t / 3), + e.scroll(), + !1 + ); + }), + }; + }), + (H.prototype.addEvents = function () { + var t; + this.removeEvents(), + (t = this.events), + this.options.disableResize || this.win.bind(u, t[u]), + this.iOSNativeScrolling || + (this.slider.bind(e, t[a]), + this.pane.bind(e, t.panedown).bind(l + " " + n, t.wheel)), + this.$content.bind(v + " " + l + " " + n + " " + f, t[v]); + }), + (H.prototype.removeEvents = function () { + var t = this.events; + this.win.unbind(u, t[u]), + this.iOSNativeScrolling || (this.slider.unbind(), this.pane.unbind()), + this.$content.unbind(v + " " + l + " " + n + " " + f, t[v]); + }), + (H.prototype.generate = function () { + var t, + e = this.options, + i = e.paneClass, + s = e.sliderClass; + e.contentClass; + return ( + this.$el.find("." + i).length || + this.$el.find("." + s).length || + this.$el.append( + '
' + ), + (this.pane = this.$el.children("." + i)), + (this.slider = this.pane.find("." + s)), + 0 === h && w() + ? (t = { + right: -14, + paddingRight: + +o + .getComputedStyle(this.content, null) + .getPropertyValue("padding-right") + .replace(/\D+/g, "") + 14, + }) + : h && ((t = { right: -h }), this.$el.addClass("has-scrollbar")), + null != t && this.$content.css(t), + this + ); + }), + (H.prototype.restore = function () { + (this.stopped = !1), + this.iOSNativeScrolling || this.pane.show(), + this.addEvents(); + }), + (H.prototype.reset = function () { + var t, e, i, s, o, n, l; + if (!this.iOSNativeScrolling) + return ( + this.$el.find("." + this.options.paneClass).length || + this.generate().stop(), + this.stopped && this.restore(), + (n = (i = (t = this.content).style).overflowY), + r && this.$content.css({ height: this.$content.height() }), + (e = t.scrollHeight + h), + 0 < (l = parseInt(this.$el.css("max-height"), 10)) && + (this.$el.height(""), + this.$el.height(t.scrollHeight > l ? l : t.scrollHeight)), + (o = + (s = this.pane.outerHeight(!1)) + + parseInt(this.pane.css("top"), 10) + + parseInt(this.pane.css("bottom"), 10)), + (l = Math.round((o / e) * o)) < this.options.sliderMinHeight + ? (l = this.options.sliderMinHeight) + : null != this.options.sliderMaxHeight && + l > this.options.sliderMaxHeight && + (l = this.options.sliderMaxHeight), + n === v && i.overflowX !== v && (l += h), + (this.maxSliderTop = o - l), + (this.contentHeight = e), + (this.paneHeight = s), + (this.paneOuterHeight = o), + (this.sliderHeight = l), + this.slider.height(l), + this.events.scroll(), + this.pane.show(), + (this.isActive = !0), + t.scrollHeight === t.clientHeight || + (this.pane.outerHeight(!0) >= t.scrollHeight && n !== v) + ? (this.pane.hide(), (this.isActive = !1)) + : this.el.clientHeight === t.scrollHeight && n === v + ? this.slider.hide() + : this.slider.show(), + this.pane.css({ + opacity: this.options.alwaysVisible ? 1 : "", + visibility: this.options.alwaysVisible ? "visible" : "", + }), + ("static" !== (n = this.$content.css("position")) && + "relative" !== n) || + ((n = parseInt(this.$content.css("right"), 10)) && + this.$content.css({ right: "", marginRight: n })), + this + ); + this.contentHeight = this.content.scrollHeight; + }), + (H.prototype.scroll = function () { + if (this.isActive) + return ( + (this.sliderY = Math.max(0, this.sliderY)), + (this.sliderY = Math.min(this.maxSliderTop, this.sliderY)), + this.$content.scrollTop( + (((this.paneHeight - this.contentHeight + h) * this.sliderY) / + this.maxSliderTop) * + -1 + ), + this.iOSNativeScrolling || + (this.updateScrollValues(), this.setOnScrollStyles()), + this + ); + }), + (H.prototype.scrollBottom = function (t) { + if (this.isActive) + return ( + this.$content + .scrollTop(this.contentHeight - this.$content.height() - t) + .trigger(l), + this.stop().restore(), + this + ); + }), + (H.prototype.scrollTop = function (t) { + if (this.isActive) + return ( + this.$content.scrollTop(+t).trigger(l), this.stop().restore(), this + ); + }), + (H.prototype.scrollTo = function (t) { + if (this.isActive) + return this.scrollTop(this.$el.find(t).get(0).offsetTop), this; + }), + (H.prototype.stop = function () { + return ( + t && this.scrollRAF && (t(this.scrollRAF), (this.scrollRAF = null)), + (this.stopped = !0), + this.removeEvents(), + this.iOSNativeScrolling || this.pane.hide(), + this + ); + }), + (H.prototype.destroy = function () { + return ( + this.stopped || this.stop(), + !this.iOSNativeScrolling && this.pane.length && this.pane.remove(), + r && this.$content.height(""), + this.$content.removeAttr("tabindex"), + this.$el.hasClass("has-scrollbar") && + (this.$el.removeClass("has-scrollbar"), + this.$content.css({ right: "" })), + this + ); + }), + (H.prototype.flash = function () { + var t; + if (!this.iOSNativeScrolling && this.isActive) + return ( + this.reset(), + this.pane.addClass("flashed"), + setTimeout(function () { + t.pane.removeClass("flashed"); + }, (t = this).options.flashDelay), + this + ); + }), + (g = H), + (s.fn.nanoScroller = function (i) { + return this.each(function () { + var t, e; + if ( + ((e = this.nanoscroller) || + ((t = s.extend({}, m, i)), + (this.nanoscroller = e = new g(this, t))), + i && "object" === _typeof(i)) + ) { + if ((s.extend(e.options, i), null != i.scrollBottom)) + return e.scrollBottom(i.scrollBottom); + if (null != i.scrollTop) return e.scrollTop(i.scrollTop); + if (i.scrollTo) return e.scrollTo(i.scrollTo); + if ("bottom" === i.scroll) return e.scrollBottom(0); + if ("top" === i.scroll) return e.scrollTop(0); + if (i.scroll && i.scroll instanceof s) return e.scrollTo(i.scroll); + if (i.stop) return e.stop(); + if (i.destroy) return e.destroy(); + if (i.flash) return e.flash(); + } + return e.reset(); + }); + }), + (s.fn.nanoScroller.Constructor = g); +})(jQuery, window, document); diff --git a/static/js/pages/location_create.js b/static/js/pages/location_create.js new file mode 100644 index 0000000..4ef73b1 --- /dev/null +++ b/static/js/pages/location_create.js @@ -0,0 +1,125 @@ +$(document).ready(function () { + $('#id_type_of_place').change(function () { + var typeOfPlaceId = $(this).val(); + var attributesContainer = $('#attributes-container'); + attributesContainer.empty(); // Clear previous attributes + + if (typeOfPlaceId) { + $.ajax({ + url: `/type_of_place/${typeOfPlaceId}/attributes/`, + method: 'GET', + success: function (data) { + var enable_website = false; + var enable_comments = false; + + // Проходим по массиву и извлекаем значения enable_website и enable_comments + data = data.filter(item => { + if (item.hasOwnProperty('enable_website')) { + enable_website = item.enable_website; + return false; + } + if (item.hasOwnProperty('enable_comments')) { + enable_comments = item.enable_comments; + return false; + } + return true; + }); + + if (enable_website) { + var websiteHtml = `
+ + +
`; + attributesContainer.append(websiteHtml); + } + + if (enable_comments) { + var commentsHtml = `
+ + +
`; + attributesContainer.append(commentsHtml); + } + + + data.forEach(function (attr) { + var attributeId = `attribute-${attr.attribute_id}`; + var checkboxHtml = `
+ + +
+

`; + attributesContainer.append(checkboxHtml); + + $(`#${attributeId}`).change(function () { + const valuesContainer = $(`#values-${attr.attribute_id}`); + if ($(this).is(':checked')) { + $.ajax({ + url: `/attributes/values_for_place/${typeOfPlaceId}/${attr.attribute_id}/`, + method: 'GET', + success: function (values) { + let selectHtml = '
'; + valuesContainer.html(selectHtml); + valuesContainer.find('.select2').select2({placeholder: "Select values"}); + valuesContainer.find('.select2-container').css('width', '100%'); // Установка ширины после инициализации Select2 + }, + error: function () { + console.error('Error loading attribute values'); + } + }); + } else { + valuesContainer.empty(); + } + }); + }); + }, + error: function () { + console.error('Error loading attributes'); + } + }); + } + }); + + let southWest = L.latLng(-89.98155760646617, -180), + northEast = L.latLng(89.99346179538875, 180); + let bounds = L.latLngBounds(southWest, northEast); + + let map = L.map('map', { + center: [52.232, 21.01], + zoom: 13, + minZoom: 2, + maxBounds: bounds, + maxBoundsViscosity: 1.0 + }); + + L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '©
OpenStreetMap contributors' + }).addTo(map); + + let marker; + + function updateMarker(lat, lng) { + if (marker) { + marker.setLatLng([lat, lng]); + } else { + marker = L.marker([lat, lng]).addTo(map); + } + $('input[name="latitude"]').val(lat.toFixed(6)); + $('input[name="longitude"]').val(lng.toFixed(6)); + } + + map.on('click', function (e) { + let coord = e.latlng.wrap(); + updateMarker(coord.lat, coord.lng); + }); + + let initialLat = $('input[name="latitude"]').val() ? parseFloat($('input[name="latitude"]').val()) : 52.232; + let initialLng = $('input[name="longitude"]').val() ? parseFloat($('input[name="longitude"]').val()) : 21.01; + updateMarker(initialLat, initialLng); + map.panTo(new L.LatLng(initialLat, initialLng)); +}); \ No newline at end of file diff --git a/static/js/pages/location_edit.js b/static/js/pages/location_edit.js new file mode 100644 index 0000000..3b8b0c3 --- /dev/null +++ b/static/js/pages/location_edit.js @@ -0,0 +1,196 @@ +$(document).ready(function () { + $('.select2').select2({placeholder: "Select an option"}); + + function toggleRelatedField(checkbox, relatedContainer) { + if (checkbox.is(':checked')) { + relatedContainer.show(); + relatedContainer.next('br').show(); + } else { + relatedContainer.hide(); + relatedContainer.next('br').hide(); + } + } + + const locationId = $('#location_id').val() || window.location.pathname.match(/\/locations\/(\d+)\/edit/)[1]; + const attributesContainer = $('#attributes-container'); + + function loadTypeOfPlaceAttributes(typeOfPlaceId) { + $.ajax({ + url: `/type_of_place/${typeOfPlaceId}/attributes/`, + method: 'GET', + success: function (data) { + attributesContainer.empty(); + + var enable_website = false; + var enable_comments = false; + + // Проходим по массиву и извлекаем значения enable_website и enable_comments + data = data.filter(item => { + if (item.hasOwnProperty('enable_website')) { + enable_website = item.enable_website; + return false; + } + if (item.hasOwnProperty('enable_comments')) { + enable_comments = item.enable_comments; + return false; + } + return true; + }); + + // Обрабатываем поле Website + var websiteContainer = $('#website-container'); + if (enable_website) { + websiteContainer.show(); + } else { + websiteContainer.hide(); + } + + // Обрабатываем поле Comments + var commentsContainer = $('#comments-container'); + if (enable_comments) { + commentsContainer.show(); + } else { + commentsContainer.hide(); + } + + data.forEach(function (attr) { + var attributeId = `attribute-${attr.attribute_id}`; + var checkboxDiv = $('
', {class: 'form-check'}).appendTo(attributesContainer); + var checkbox = $('', { + type: 'checkbox', + class: 'form-check-input attribute-checkbox', + id: attributeId, + name: `attribute_values_${attr.attribute_id}`, + value: attr.attribute_id + }).appendTo(checkboxDiv); + + $('
' + + '
'; + + this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl); + this.container = $(options.template).appendTo(this.parentEl); + + // + // handle all the possible options overriding defaults + // + + if (typeof options.locale === 'object') { + + if (typeof options.locale.direction === 'string') + this.locale.direction = options.locale.direction; + + if (typeof options.locale.format === 'string') + this.locale.format = options.locale.format; + + if (typeof options.locale.separator === 'string') + this.locale.separator = options.locale.separator; + + if (typeof options.locale.daysOfWeek === 'object') + this.locale.daysOfWeek = options.locale.daysOfWeek.slice(); + + if (typeof options.locale.monthNames === 'object') + this.locale.monthNames = options.locale.monthNames.slice(); + + if (typeof options.locale.firstDay === 'number') + this.locale.firstDay = options.locale.firstDay; + + if (typeof options.locale.applyLabel === 'string') + this.locale.applyLabel = options.locale.applyLabel; + + if (typeof options.locale.cancelLabel === 'string') + this.locale.cancelLabel = options.locale.cancelLabel; + + if (typeof options.locale.weekLabel === 'string') + this.locale.weekLabel = options.locale.weekLabel; + + if (typeof options.locale.customRangeLabel === 'string'){ + //Support unicode chars in the custom range name. + var elem = document.createElement('textarea'); + elem.innerHTML = options.locale.customRangeLabel; + var rangeHtml = elem.value; + this.locale.customRangeLabel = rangeHtml; + } + } + this.container.addClass(this.locale.direction); + + if (typeof options.startDate === 'string') + this.startDate = moment(options.startDate, this.locale.format); + + if (typeof options.endDate === 'string') + this.endDate = moment(options.endDate, this.locale.format); + + if (typeof options.minDate === 'string') + this.minDate = moment(options.minDate, this.locale.format); + + if (typeof options.maxDate === 'string') + this.maxDate = moment(options.maxDate, this.locale.format); + + if (typeof options.startDate === 'object') + this.startDate = moment(options.startDate); + + if (typeof options.endDate === 'object') + this.endDate = moment(options.endDate); + + if (typeof options.minDate === 'object') + this.minDate = moment(options.minDate); + + if (typeof options.maxDate === 'object') + this.maxDate = moment(options.maxDate); + + // sanity check for bad options + if (this.minDate && this.startDate.isBefore(this.minDate)) + this.startDate = this.minDate.clone(); + + // sanity check for bad options + if (this.maxDate && this.endDate.isAfter(this.maxDate)) + this.endDate = this.maxDate.clone(); + + if (typeof options.applyClass === 'string') + this.applyClass = options.applyClass; + + if (typeof options.cancelClass === 'string') + this.cancelClass = options.cancelClass; + + if (typeof options.dateLimit === 'object') + this.dateLimit = options.dateLimit; + + if (typeof options.opens === 'string') + this.opens = options.opens; + + if (typeof options.drops === 'string') + this.drops = options.drops; + + if (typeof options.showWeekNumbers === 'boolean') + this.showWeekNumbers = options.showWeekNumbers; + + if (typeof options.showISOWeekNumbers === 'boolean') + this.showISOWeekNumbers = options.showISOWeekNumbers; + + if (typeof options.buttonClasses === 'string') + this.buttonClasses = options.buttonClasses; + + if (typeof options.buttonClasses === 'object') + this.buttonClasses = options.buttonClasses.join(' '); + + if (typeof options.showDropdowns === 'boolean') + this.showDropdowns = options.showDropdowns; + + if (typeof options.showCustomRangeLabel === 'boolean') + this.showCustomRangeLabel = options.showCustomRangeLabel; + + if (typeof options.singleDatePicker === 'boolean') { + this.singleDatePicker = options.singleDatePicker; + if (this.singleDatePicker) + this.endDate = this.startDate.clone(); + } + + if (typeof options.timePicker === 'boolean') + this.timePicker = options.timePicker; + + if (typeof options.timePickerSeconds === 'boolean') + this.timePickerSeconds = options.timePickerSeconds; + + if (typeof options.timePickerIncrement === 'number') + this.timePickerIncrement = options.timePickerIncrement; + + if (typeof options.timePicker24Hour === 'boolean') + this.timePicker24Hour = options.timePicker24Hour; + + if (typeof options.autoApply === 'boolean') + this.autoApply = options.autoApply; + + if (typeof options.autoUpdateInput === 'boolean') + this.autoUpdateInput = options.autoUpdateInput; + + if (typeof options.linkedCalendars === 'boolean') + this.linkedCalendars = options.linkedCalendars; + + if (typeof options.isInvalidDate === 'function') + this.isInvalidDate = options.isInvalidDate; + + if (typeof options.isCustomDate === 'function') + this.isCustomDate = options.isCustomDate; + + if (typeof options.alwaysShowCalendars === 'boolean') + this.alwaysShowCalendars = options.alwaysShowCalendars; + + // update day names order to firstDay + if (this.locale.firstDay != 0) { + var iterator = this.locale.firstDay; + while (iterator > 0) { + this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); + iterator--; + } + } + + var start, end, range; + + //if no start/end dates set, check if an input element contains initial values + if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') { + if ($(this.element).is('input[type=text]')) { + var val = $(this.element).val(), + split = val.split(this.locale.separator); + + start = end = null; + + if (split.length == 2) { + start = moment(split[0], this.locale.format); + end = moment(split[1], this.locale.format); + } else if (this.singleDatePicker && val !== "") { + start = moment(val, this.locale.format); + end = moment(val, this.locale.format); + } + if (start !== null && end !== null) { + this.setStartDate(start); + this.setEndDate(end); + } + } + } + + if (typeof options.ranges === 'object') { + for (range in options.ranges) { + + if (typeof options.ranges[range][0] === 'string') + start = moment(options.ranges[range][0], this.locale.format); + else + start = moment(options.ranges[range][0]); + + if (typeof options.ranges[range][1] === 'string') + end = moment(options.ranges[range][1], this.locale.format); + else + end = moment(options.ranges[range][1]); + + // If the start or end date exceed those allowed by the minDate or dateLimit + // options, shorten the range to the allowable period. + if (this.minDate && start.isBefore(this.minDate)) + start = this.minDate.clone(); + + var maxDate = this.maxDate; + if (this.dateLimit && maxDate && start.clone().add(this.dateLimit).isAfter(maxDate)) + maxDate = start.clone().add(this.dateLimit); + if (maxDate && end.isAfter(maxDate)) + end = maxDate.clone(); + + // If the end of the range is before the minimum or the start of the range is + // after the maximum, don't display this range option at all. + if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day')) + || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day'))) + continue; + + //Support unicode chars in the range names. + var elem = document.createElement('textarea'); + elem.innerHTML = range; + var rangeHtml = elem.value; + + this.ranges[rangeHtml] = [start, end]; + } + + var list = '
    '; + for (range in this.ranges) { + list += '
  • ' + range + '
  • '; + } + if (this.showCustomRangeLabel) { + list += '
  • ' + this.locale.customRangeLabel + '
  • '; + } + list += '
'; + this.container.find('.ranges').prepend(list); + } + + if (typeof cb === 'function') { + this.callback = cb; + } + + if (!this.timePicker) { + this.startDate = this.startDate.startOf('day'); + this.endDate = this.endDate.endOf('day'); + this.container.find('.calendar-time').hide(); + } + + //can't be used together for now + if (this.timePicker && this.autoApply) + this.autoApply = false; + + if (this.autoApply && typeof options.ranges !== 'object') { + this.container.find('.ranges').hide(); + } else if (this.autoApply) { + this.container.find('.applyBtn, .cancelBtn').addClass('hide'); + } + + if (this.singleDatePicker) { + this.container.addClass('single'); + this.container.find('.calendar.left').addClass('single'); + this.container.find('.calendar.left').show(); + this.container.find('.calendar.right').hide(); + this.container.find('.daterangepicker_input input, .daterangepicker_input > i').hide(); + if (this.timePicker) { + this.container.find('.ranges ul').hide(); + } else { + this.container.find('.ranges').hide(); + } + } + + if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) { + this.container.addClass('show-calendar'); + } + + this.container.addClass('opens' + this.opens); + + //swap the position of the predefined ranges if opens right + if (typeof options.ranges !== 'undefined' && this.opens == 'right') { + this.container.find('.ranges').prependTo( this.container.find('.calendar.left').parent() ); + } + + //apply CSS classes and labels to buttons + this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses); + if (this.applyClass.length) + this.container.find('.applyBtn').addClass(this.applyClass); + if (this.cancelClass.length) + this.container.find('.cancelBtn').addClass(this.cancelClass); + this.container.find('.applyBtn').html(this.locale.applyLabel); + this.container.find('.cancelBtn').html(this.locale.cancelLabel); + + // + // event listeners + // + + this.container.find('.calendar') + .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)) + .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)) + .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)) + .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)) + .on('mouseleave.daterangepicker', 'td.available', $.proxy(this.updateFormInputs, this)) + .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)) + .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)) + .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this)) + .on('click.daterangepicker', '.daterangepicker_input input', $.proxy(this.showCalendars, this)) + .on('focus.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsFocused, this)) + .on('blur.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsBlurred, this)) + .on('change.daterangepicker', '.daterangepicker_input input', $.proxy(this.formInputsChanged, this)); + + this.container.find('.ranges') + .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)) + .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this)) + .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this)) + .on('mouseenter.daterangepicker', 'li', $.proxy(this.hoverRange, this)) + .on('mouseleave.daterangepicker', 'li', $.proxy(this.updateFormInputs, this)); + + if (this.element.is('input') || this.element.is('button')) { + this.element.on({ + 'click.daterangepicker': $.proxy(this.show, this), + 'focus.daterangepicker': $.proxy(this.show, this), + 'keyup.daterangepicker': $.proxy(this.elementChanged, this), + 'keydown.daterangepicker': $.proxy(this.keydown, this) + }); + } else { + this.element.on('click.daterangepicker', $.proxy(this.toggle, this)); + } + + // + // if attached to a text input, set the initial value + // + + if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); + this.element.trigger('change'); + } else if (this.element.is('input') && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format)); + this.element.trigger('change'); + } + + }; + + DateRangePicker.prototype = { + + constructor: DateRangePicker, + + setStartDate: function(startDate) { + if (typeof startDate === 'string') + this.startDate = moment(startDate, this.locale.format); + + if (typeof startDate === 'object') + this.startDate = moment(startDate); + + if (!this.timePicker) + this.startDate = this.startDate.startOf('day'); + + if (this.timePicker && this.timePickerIncrement) + this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + + if (this.minDate && this.startDate.isBefore(this.minDate)) { + this.startDate = this.minDate.clone(); + if (this.timePicker && this.timePickerIncrement) + this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + } + + if (this.maxDate && this.startDate.isAfter(this.maxDate)) { + this.startDate = this.maxDate.clone(); + if (this.timePicker && this.timePickerIncrement) + this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + } + + if (!this.isShowing) + this.updateElement(); + + this.updateMonthsInView(); + }, + + setEndDate: function(endDate) { + if (typeof endDate === 'string') + this.endDate = moment(endDate, this.locale.format); + + if (typeof endDate === 'object') + this.endDate = moment(endDate); + + if (!this.timePicker) + this.endDate = this.endDate.endOf('day'); + + if (this.timePicker && this.timePickerIncrement) + this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); + + if (this.endDate.isBefore(this.startDate)) + this.endDate = this.startDate.clone(); + + if (this.maxDate && this.endDate.isAfter(this.maxDate)) + this.endDate = this.maxDate.clone(); + + if (this.dateLimit && this.startDate.clone().add(this.dateLimit).isBefore(this.endDate)) + this.endDate = this.startDate.clone().add(this.dateLimit); + + this.previousRightTime = this.endDate.clone(); + + if (!this.isShowing) + this.updateElement(); + + this.updateMonthsInView(); + }, + + isInvalidDate: function() { + return false; + }, + + isCustomDate: function() { + return false; + }, + + updateView: function() { + if (this.timePicker) { + this.renderTimePicker('left'); + this.renderTimePicker('right'); + if (!this.endDate) { + this.container.find('.right .calendar-time select').attr('disabled', 'disabled').addClass('disabled'); + } else { + this.container.find('.right .calendar-time select').removeAttr('disabled').removeClass('disabled'); + } + } + if (this.endDate) { + this.container.find('input[name="daterangepicker_end"]').removeClass('active'); + this.container.find('input[name="daterangepicker_start"]').addClass('active'); + } else { + this.container.find('input[name="daterangepicker_end"]').addClass('active'); + this.container.find('input[name="daterangepicker_start"]').removeClass('active'); + } + this.updateMonthsInView(); + this.updateCalendars(); + this.updateFormInputs(); + }, + + updateMonthsInView: function() { + if (this.endDate) { + + //if both dates are visible already, do nothing + if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && + (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) + && + (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) + ) { + return; + } + + this.leftCalendar.month = this.startDate.clone().date(2); + if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) { + this.rightCalendar.month = this.endDate.clone().date(2); + } else { + this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); + } + + } else { + if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) { + this.leftCalendar.month = this.startDate.clone().date(2); + this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); + } + } + if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) { + this.rightCalendar.month = this.maxDate.clone().date(2); + this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month'); + } + }, + + updateCalendars: function() { + + if (this.timePicker) { + var hour, minute, second; + if (this.endDate) { + hour = parseInt(this.container.find('.left .hourselect').val(), 10); + minute = parseInt(this.container.find('.left .minuteselect').val(), 10); + second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; + if (!this.timePicker24Hour) { + var ampm = this.container.find('.left .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + } else { + hour = parseInt(this.container.find('.right .hourselect').val(), 10); + minute = parseInt(this.container.find('.right .minuteselect').val(), 10); + second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; + if (!this.timePicker24Hour) { + var ampm = this.container.find('.right .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + } + this.leftCalendar.month.hour(hour).minute(minute).second(second); + this.rightCalendar.month.hour(hour).minute(minute).second(second); + } + + this.renderCalendar('left'); + this.renderCalendar('right'); + + //highlight any predefined range matching the current start and end dates + this.container.find('.ranges li').removeClass('active'); + if (this.endDate == null) return; + + this.calculateChosenLabel(); + }, + + renderCalendar: function(side) { + + // + // Build the matrix of dates that will populate the calendar + // + + var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar; + var month = calendar.month.month(); + var year = calendar.month.year(); + var hour = calendar.month.hour(); + var minute = calendar.month.minute(); + var second = calendar.month.second(); + var daysInMonth = moment([year, month]).daysInMonth(); + var firstDay = moment([year, month, 1]); + var lastDay = moment([year, month, daysInMonth]); + var lastMonth = moment(firstDay).subtract(1, 'month').month(); + var lastYear = moment(firstDay).subtract(1, 'month').year(); + var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth(); + var dayOfWeek = firstDay.day(); + + //initialize a 6 rows x 7 columns array for the calendar + var calendar = []; + calendar.firstDay = firstDay; + calendar.lastDay = lastDay; + + for (var i = 0; i < 6; i++) { + calendar[i] = []; + } + + //populate the calendar with date objects + var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; + if (startDay > daysInLastMonth) + startDay -= 7; + + if (dayOfWeek == this.locale.firstDay) + startDay = daysInLastMonth - 6; + + var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]); + + var col, row; + for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) { + if (i > 0 && col % 7 === 0) { + col = 0; + row++; + } + calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second); + curDate.hour(12); + + if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') { + calendar[row][col] = this.minDate.clone(); + } + + if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') { + calendar[row][col] = this.maxDate.clone(); + } + + } + + //make the calendar object available to hoverDate/clickDate + if (side == 'left') { + this.leftCalendar.calendar = calendar; + } else { + this.rightCalendar.calendar = calendar; + } + + // + // Display the calendar + // + + var minDate = side == 'left' ? this.minDate : this.startDate; + var maxDate = this.maxDate; + var selected = side == 'left' ? this.startDate : this.endDate; + var arrow = this.locale.direction == 'ltr' ? {left: 'left', right: 'right'} : {left: 'right', right: 'left'}; + + var html = ''; + html += ''; + html += ''; + + // add empty cell for week number + if (this.showWeekNumbers || this.showISOWeekNumbers) + html += ''; + + if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) { + html += ''; + } else { + html += ''; + } + + var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY"); + + if (this.showDropdowns) { + var currentMonth = calendar[1][1].month(); + var currentYear = calendar[1][1].year(); + var maxYear = (maxDate && maxDate.year()) || (currentYear + 5); + var minYear = (minDate && minDate.year()) || (currentYear - 50); + var inMinYear = currentYear == minYear; + var inMaxYear = currentYear == maxYear; + + var monthHtml = '"; + + var yearHtml = ''; + + dateHtml = monthHtml + yearHtml; + } + + html += ''; + if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) { + html += ''; + } else { + html += ''; + } + + html += ''; + html += ''; + + // add week number label + if (this.showWeekNumbers || this.showISOWeekNumbers) + html += ''; + + $.each(this.locale.daysOfWeek, function(index, dayOfWeek) { + html += ''; + }); + + html += ''; + html += ''; + html += ''; + + //adjust maxDate to reflect the dateLimit setting in order to + //grey out end dates beyond the dateLimit + if (this.endDate == null && this.dateLimit) { + var maxLimit = this.startDate.clone().add(this.dateLimit).endOf('day'); + if (!maxDate || maxLimit.isBefore(maxDate)) { + maxDate = maxLimit; + } + } + + for (var row = 0; row < 6; row++) { + html += ''; + + // add week number + if (this.showWeekNumbers) + html += ''; + else if (this.showISOWeekNumbers) + html += ''; + + for (var col = 0; col < 7; col++) { + + var classes = []; + + //highlight today's date + if (calendar[row][col].isSame(new Date(), "day")) + classes.push('today'); + + //highlight weekends + if (calendar[row][col].isoWeekday() > 5) + classes.push('weekend'); + + //grey out the dates in other months displayed at beginning and end of this calendar + if (calendar[row][col].month() != calendar[1][1].month()) + classes.push('off'); + + //don't allow selection of dates before the minimum date + if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) + classes.push('off', 'disabled'); + + //don't allow selection of dates after the maximum date + if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) + classes.push('off', 'disabled'); + + //don't allow selection of date if a custom function decides it's invalid + if (this.isInvalidDate(calendar[row][col])) + classes.push('off', 'disabled'); + + //highlight the currently selected start date + if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) + classes.push('active', 'start-date'); + + //highlight the currently selected end date + if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) + classes.push('active', 'end-date'); + + //highlight dates in-between the selected dates + if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) + classes.push('in-range'); + + //apply custom classes for this date + var isCustom = this.isCustomDate(calendar[row][col]); + if (isCustom !== false) { + if (typeof isCustom === 'string') + classes.push(isCustom); + else + Array.prototype.push.apply(classes, isCustom); + } + + var cname = '', disabled = false; + for (var i = 0; i < classes.length; i++) { + cname += classes[i] + ' '; + if (classes[i] == 'disabled') + disabled = true; + } + if (!disabled) + cname += 'available'; + + html += ''; + + } + html += ''; + } + + html += ''; + html += '
' + dateHtml + '
' + this.locale.weekLabel + '' + dayOfWeek + '
' + calendar[row][0].week() + '' + calendar[row][0].isoWeek() + '' + calendar[row][col].date() + '
'; + + this.container.find('.calendar.' + side + ' .calendar-table').html(html); + + }, + + renderTimePicker: function(side) { + + // Don't bother updating the time picker if it's currently disabled + // because an end date hasn't been clicked yet + if (side == 'right' && !this.endDate) return; + + var html, selected, minDate, maxDate = this.maxDate; + + if (this.dateLimit && (!this.maxDate || this.startDate.clone().add(this.dateLimit).isAfter(this.maxDate))) + maxDate = this.startDate.clone().add(this.dateLimit); + + if (side == 'left') { + selected = this.startDate.clone(); + minDate = this.minDate; + } else if (side == 'right') { + selected = this.endDate.clone(); + minDate = this.startDate; + + //Preserve the time already selected + var timeSelector = this.container.find('.calendar.right .calendar-time div'); + if (timeSelector.html() != '') { + + selected.hour(timeSelector.find('.hourselect option:selected').val() || selected.hour()); + selected.minute(timeSelector.find('.minuteselect option:selected').val() || selected.minute()); + selected.second(timeSelector.find('.secondselect option:selected').val() || selected.second()); + + if (!this.timePicker24Hour) { + var ampm = timeSelector.find('.ampmselect option:selected').val(); + if (ampm === 'PM' && selected.hour() < 12) + selected.hour(selected.hour() + 12); + if (ampm === 'AM' && selected.hour() === 12) + selected.hour(0); + } + + } + + if (selected.isBefore(this.startDate)) + selected = this.startDate.clone(); + + if (maxDate && selected.isAfter(maxDate)) + selected = maxDate.clone(); + + } + + // + // hours + // + + html = ' '; + + // + // minutes + // + + html += ': '; + + // + // seconds + // + + if (this.timePickerSeconds) { + html += ': '; + } + + // + // AM/PM + // + + if (!this.timePicker24Hour) { + html += ''; + } + + this.container.find('.calendar.' + side + ' .calendar-time div').html(html); + + }, + + updateFormInputs: function() { + + //ignore mouse movements while an above-calendar text input has focus + if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) + return; + + this.container.find('input[name=daterangepicker_start]').val(this.startDate.format(this.locale.format)); + if (this.endDate) + this.container.find('input[name=daterangepicker_end]').val(this.endDate.format(this.locale.format)); + + if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) { + this.container.find('button.applyBtn').removeAttr('disabled'); + } else { + this.container.find('button.applyBtn').attr('disabled', 'disabled'); + } + + }, + + move: function() { + var parentOffset = { top: 0, left: 0 }, + containerTop; + var parentRightEdge = $(window).width(); + if (!this.parentEl.is('body')) { + parentOffset = { + top: this.parentEl.offset().top - this.parentEl.scrollTop(), + left: this.parentEl.offset().left - this.parentEl.scrollLeft() + }; + parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left; + } + + if (this.drops == 'up') + containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; + else + containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; + this.container[this.drops == 'up' ? 'addClass' : 'removeClass']('dropup'); + + if (this.opens == 'left') { + this.container.css({ + top: containerTop, + right: parentRightEdge - this.element.offset().left - this.element.outerWidth(), + left: 'auto' + }); + if (this.container.offset().left < 0) { + this.container.css({ + right: 'auto', + left: 9 + }); + } + } else if (this.opens == 'center') { + this.container.css({ + top: containerTop, + left: this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 + - this.container.outerWidth() / 2, + right: 'auto' + }); + if (this.container.offset().left < 0) { + this.container.css({ + right: 'auto', + left: 9 + }); + } + } else { + this.container.css({ + top: containerTop, + left: this.element.offset().left - parentOffset.left, + right: 'auto' + }); + if (this.container.offset().left + this.container.outerWidth() > $(window).width()) { + this.container.css({ + left: 'auto', + right: 0 + }); + } + } + }, + + show: function(e) { + if (this.isShowing) return; + + // Create a click proxy that is private to this instance of datepicker, for unbinding + this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this); + + // Bind global datepicker mousedown for hiding and + $(document) + .on('mousedown.daterangepicker', this._outsideClickProxy) + // also support mobile devices + .on('touchend.daterangepicker', this._outsideClickProxy) + // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them + .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) + // and also close when focus changes to outside the picker (eg. tabbing between controls) + .on('focusin.daterangepicker', this._outsideClickProxy); + + // Reposition the picker if the window is resized while it's open + $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this)); + + this.oldStartDate = this.startDate.clone(); + this.oldEndDate = this.endDate.clone(); + this.previousRightTime = this.endDate.clone(); + + this.updateView(); + this.container.show(); + this.move(); + this.element.trigger('show.daterangepicker', this); + this.isShowing = true; + }, + + hide: function(e) { + if (!this.isShowing) return; + + //incomplete date selection, revert to last values + if (!this.endDate) { + this.startDate = this.oldStartDate.clone(); + this.endDate = this.oldEndDate.clone(); + } + + //if a new date range was selected, invoke the user callback function + if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) + this.callback(this.startDate, this.endDate, this.chosenLabel); + + //if picker is attached to a text input, update it + this.updateElement(); + + $(document).off('.daterangepicker'); + $(window).off('.daterangepicker'); + this.container.hide(); + this.element.trigger('hide.daterangepicker', this); + this.isShowing = false; + }, + + toggle: function(e) { + if (this.isShowing) { + this.hide(); + } else { + this.show(); + } + }, + + outsideClick: function(e) { + var target = $(e.target); + // if the page is clicked anywhere except within the daterangerpicker/button + // itself then call this.hide() + if ( + // ie modal dialog fix + e.type == "focusin" || + target.closest(this.element).length || + target.closest(this.container).length || + target.closest('.calendar-table').length + ) return; + this.hide(); + this.element.trigger('outsideClick.daterangepicker', this); + }, + + showCalendars: function() { + this.container.addClass('show-calendar'); + this.move(); + this.element.trigger('showCalendar.daterangepicker', this); + }, + + hideCalendars: function() { + this.container.removeClass('show-calendar'); + this.element.trigger('hideCalendar.daterangepicker', this); + }, + + hoverRange: function(e) { + + //ignore mouse movements while an above-calendar text input has focus + if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) + return; + + var label = e.target.getAttribute('data-range-key'); + + if (label == this.locale.customRangeLabel) { + this.updateView(); + } else { + var dates = this.ranges[label]; + this.container.find('input[name=daterangepicker_start]').val(dates[0].format(this.locale.format)); + this.container.find('input[name=daterangepicker_end]').val(dates[1].format(this.locale.format)); + } + + }, + + clickRange: function(e) { + var label = e.target.getAttribute('data-range-key'); + this.chosenLabel = label; + if (label == this.locale.customRangeLabel) { + this.showCalendars(); + } else { + var dates = this.ranges[label]; + this.startDate = dates[0]; + this.endDate = dates[1]; + + if (!this.timePicker) { + this.startDate.startOf('day'); + this.endDate.endOf('day'); + } + + if (!this.alwaysShowCalendars) + this.hideCalendars(); + this.clickApply(); + } + }, + + clickPrev: function(e) { + var cal = $(e.target).parents('.calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.subtract(1, 'month'); + if (this.linkedCalendars) + this.rightCalendar.month.subtract(1, 'month'); + } else { + this.rightCalendar.month.subtract(1, 'month'); + } + this.updateCalendars(); + }, + + clickNext: function(e) { + var cal = $(e.target).parents('.calendar'); + if (cal.hasClass('left')) { + this.leftCalendar.month.add(1, 'month'); + } else { + this.rightCalendar.month.add(1, 'month'); + if (this.linkedCalendars) + this.leftCalendar.month.add(1, 'month'); + } + this.updateCalendars(); + }, + + hoverDate: function(e) { + + //ignore mouse movements while an above-calendar text input has focus + //if (this.container.find('input[name=daterangepicker_start]').is(":focus") || this.container.find('input[name=daterangepicker_end]').is(":focus")) + // return; + + //ignore dates that can't be selected + if (!$(e.target).hasClass('available')) return; + + //have the text inputs above calendars reflect the date being hovered over + var title = $(e.target).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.calendar'); + var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; + + if (this.endDate && !this.container.find('input[name=daterangepicker_start]').is(":focus")) { + this.container.find('input[name=daterangepicker_start]').val(date.format(this.locale.format)); + } else if (!this.endDate && !this.container.find('input[name=daterangepicker_end]').is(":focus")) { + this.container.find('input[name=daterangepicker_end]').val(date.format(this.locale.format)); + } + + //highlight the dates between the start date and the date being hovered as a potential end date + var leftCalendar = this.leftCalendar; + var rightCalendar = this.rightCalendar; + var startDate = this.startDate; + if (!this.endDate) { + this.container.find('.calendar tbody td').each(function(index, el) { + + //skip week numbers, only look at dates + if ($(el).hasClass('week')) return; + + var title = $(el).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(el).parents('.calendar'); + var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col]; + + if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) { + $(el).addClass('in-range'); + } else { + $(el).removeClass('in-range'); + } + + }); + } + + }, + + clickDate: function(e) { + + if (!$(e.target).hasClass('available')) return; + + var title = $(e.target).attr('data-title'); + var row = title.substr(1, 1); + var col = title.substr(3, 1); + var cal = $(e.target).parents('.calendar'); + var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; + + // + // this function needs to do a few things: + // * alternate between selecting a start and end date for the range, + // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date + // * if autoapply is enabled, and an end date was chosen, apply the selection + // * if single date picker mode, and time picker isn't enabled, apply the selection immediately + // * if one of the inputs above the calendars was focused, cancel that manual input + // + + if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start + if (this.timePicker) { + var hour = parseInt(this.container.find('.left .hourselect').val(), 10); + if (!this.timePicker24Hour) { + var ampm = this.container.find('.left .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + var minute = parseInt(this.container.find('.left .minuteselect').val(), 10); + var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; + date = date.clone().hour(hour).minute(minute).second(second); + } + this.endDate = null; + this.setStartDate(date.clone()); + } else if (!this.endDate && date.isBefore(this.startDate)) { + //special case: clicking the same date for start/end, + //but the time of the end date is before the start date + this.setEndDate(this.startDate.clone()); + } else { // picking end + if (this.timePicker) { + var hour = parseInt(this.container.find('.right .hourselect').val(), 10); + if (!this.timePicker24Hour) { + var ampm = this.container.find('.right .ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + var minute = parseInt(this.container.find('.right .minuteselect').val(), 10); + var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; + date = date.clone().hour(hour).minute(minute).second(second); + } + this.setEndDate(date.clone()); + if (this.autoApply) { + this.calculateChosenLabel(); + this.clickApply(); + } + } + + if (this.singleDatePicker) { + this.setEndDate(this.startDate); + if (!this.timePicker) + this.clickApply(); + } + + this.updateView(); + + //This is to cancel the blur event handler if the mouse was in one of the inputs + e.stopPropagation(); + + }, + + calculateChosenLabel: function () { + var customRange = true; + var i = 0; + for (var range in this.ranges) { + if (this.timePicker) { + if (this.startDate.isSame(this.ranges[range][0]) && this.endDate.isSame(this.ranges[range][1])) { + customRange = false; + this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html(); + break; + } + } else { + //ignore times when comparing dates if time picker is not enabled + if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) { + customRange = false; + this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').html(); + break; + } + } + i++; + } + if (customRange) { + if (this.showCustomRangeLabel) { + this.chosenLabel = this.container.find('.ranges li:last').addClass('active').html(); + } else { + this.chosenLabel = null; + } + this.showCalendars(); + } + }, + + clickApply: function(e) { + this.hide(); + this.element.trigger('apply.daterangepicker', this); + }, + + clickCancel: function(e) { + this.startDate = this.oldStartDate; + this.endDate = this.oldEndDate; + this.hide(); + this.element.trigger('cancel.daterangepicker', this); + }, + + monthOrYearChanged: function(e) { + var isLeft = $(e.target).closest('.calendar').hasClass('left'), + leftOrRight = isLeft ? 'left' : 'right', + cal = this.container.find('.calendar.'+leftOrRight); + + // Month must be Number for new moment versions + var month = parseInt(cal.find('.monthselect').val(), 10); + var year = cal.find('.yearselect').val(); + + if (!isLeft) { + if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) { + month = this.startDate.month(); + year = this.startDate.year(); + } + } + + if (this.minDate) { + if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) { + month = this.minDate.month(); + year = this.minDate.year(); + } + } + + if (this.maxDate) { + if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) { + month = this.maxDate.month(); + year = this.maxDate.year(); + } + } + + if (isLeft) { + this.leftCalendar.month.month(month).year(year); + if (this.linkedCalendars) + this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month'); + } else { + this.rightCalendar.month.month(month).year(year); + if (this.linkedCalendars) + this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month'); + } + this.updateCalendars(); + }, + + timeChanged: function(e) { + + var cal = $(e.target).closest('.calendar'), + isLeft = cal.hasClass('left'); + + var hour = parseInt(cal.find('.hourselect').val(), 10); + var minute = parseInt(cal.find('.minuteselect').val(), 10); + var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0; + + if (!this.timePicker24Hour) { + var ampm = cal.find('.ampmselect').val(); + if (ampm === 'PM' && hour < 12) + hour += 12; + if (ampm === 'AM' && hour === 12) + hour = 0; + } + + if (isLeft) { + var start = this.startDate.clone(); + start.hour(hour); + start.minute(minute); + start.second(second); + this.setStartDate(start); + if (this.singleDatePicker) { + this.endDate = this.startDate.clone(); + } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) { + this.setEndDate(start.clone()); + } + } else if (this.endDate) { + var end = this.endDate.clone(); + end.hour(hour); + end.minute(minute); + end.second(second); + this.setEndDate(end); + } + + //update the calendars so all clickable dates reflect the new time component + this.updateCalendars(); + + //update the form inputs above the calendars with the new time + this.updateFormInputs(); + + //re-render the time pickers because changing one selection can affect what's enabled in another + this.renderTimePicker('left'); + this.renderTimePicker('right'); + + }, + + formInputsChanged: function(e) { + var isRight = $(e.target).closest('.calendar').hasClass('right'); + var start = moment(this.container.find('input[name="daterangepicker_start"]').val(), this.locale.format); + var end = moment(this.container.find('input[name="daterangepicker_end"]').val(), this.locale.format); + + if (start.isValid() && end.isValid()) { + + if (isRight && end.isBefore(start)) + start = end.clone(); + + this.setStartDate(start); + this.setEndDate(end); + + if (isRight) { + this.container.find('input[name="daterangepicker_start"]').val(this.startDate.format(this.locale.format)); + } else { + this.container.find('input[name="daterangepicker_end"]').val(this.endDate.format(this.locale.format)); + } + + } + + this.updateView(); + }, + + formInputsFocused: function(e) { + + // Highlight the focused input + this.container.find('input[name="daterangepicker_start"], input[name="daterangepicker_end"]').removeClass('active'); + $(e.target).addClass('active'); + + // Set the state such that if the user goes back to using a mouse, + // the calendars are aware we're selecting the end of the range, not + // the start. This allows someone to edit the end of a date range without + // re-selecting the beginning, by clicking on the end date input then + // using the calendar. + var isRight = $(e.target).closest('.calendar').hasClass('right'); + if (isRight) { + this.endDate = null; + this.setStartDate(this.startDate.clone()); + this.updateView(); + } + + }, + + formInputsBlurred: function(e) { + + // this function has one purpose right now: if you tab from the first + // text input to the second in the UI, the endDate is nulled so that + // you can click another, but if you tab out without clicking anything + // or changing the input value, the old endDate should be retained + + if (!this.endDate) { + var val = this.container.find('input[name="daterangepicker_end"]').val(); + var end = moment(val, this.locale.format); + if (end.isValid()) { + this.setEndDate(end); + this.updateView(); + } + } + + }, + + elementChanged: function() { + if (!this.element.is('input')) return; + if (!this.element.val().length) return; + if (this.element.val().length < this.locale.format.length) return; + + var dateString = this.element.val().split(this.locale.separator), + start = null, + end = null; + + if (dateString.length === 2) { + start = moment(dateString[0], this.locale.format); + end = moment(dateString[1], this.locale.format); + } + + if (this.singleDatePicker || start === null || end === null) { + start = moment(this.element.val(), this.locale.format); + end = start; + } + + if (!start.isValid() || !end.isValid()) return; + + this.setStartDate(start); + this.setEndDate(end); + this.updateView(); + }, + + keydown: function(e) { + //hide on tab or enter + if ((e.keyCode === 9) || (e.keyCode === 13)) { + this.hide(); + } + }, + + updateElement: function() { + if (this.element.is('input') && !this.singleDatePicker && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); + this.element.trigger('change'); + } else if (this.element.is('input') && this.autoUpdateInput) { + this.element.val(this.startDate.format(this.locale.format)); + this.element.trigger('change'); + } + }, + + remove: function() { + this.container.remove(); + this.element.off('.daterangepicker'); + this.element.removeData(); + } + + }; + + $.fn.daterangepicker = function(options, callback) { + this.each(function() { + var el = $(this); + if (el.data('daterangepicker')) + el.data('daterangepicker').remove(); + el.data('daterangepicker', new DateRangePicker(el, options, callback)); + }); + return this; + }; + + return DateRangePicker; + +})); diff --git a/static/libs/admin-resources/bootstrap-datepicker/js/moment.min.js b/static/libs/admin-resources/bootstrap-datepicker/js/moment.min.js new file mode 100755 index 0000000..770f8bc --- /dev/null +++ b/static/libs/admin-resources/bootstrap-datepicker/js/moment.min.js @@ -0,0 +1,7 @@ +//! moment.js +//! version : 2.18.1 +//! authors : Tim Wood, Iskren Chernev, Moment.js contributors +//! license : MIT +//! momentjs.com +!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return sd.apply(null,arguments)}function b(a){sd=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)return!1;return!0}function f(a){return void 0===a}function g(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function h(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function i(a,b){var c,d=[];for(c=0;c0)for(c=0;c0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Hd[c]=Hd[c+"s"]=Hd[b]=a}function K(a){return"string"==typeof a?Hd[a]||Hd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)j(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Id[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Id[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Md[a]=e),b&&(Md[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Md[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Jd);for(b=0,c=d.length;b=0&&Kd.test(a);)a=a.replace(Kd,c),Kd.lastIndex=0,d-=1;return a}function Z(a,b,c){ce[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return j(ce,a)?ce[a](b._strict,b._locale):new RegExp(_(a))}function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),g(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c=0&&isFinite(h.getFullYear())&&h.setFullYear(a),h}function ta(a){var b=new Date(Date.UTC.apply(null,arguments));return a<100&&a>=0&&isFinite(b.getUTCFullYear())&&b.setUTCFullYear(a),b}function ua(a,b,c){var d=7+b-c,e=(7+ta(a,0,d).getUTCDay()-b)%7;return-e+d-1}function va(a,b,c,d,e){var f,g,h=(7+c-d)%7,i=ua(a,d,e),j=1+7*(b-1)+h+i;return j<=0?(f=a-1,g=pa(f)+j):j>pa(a)?(f=a+1,g=j-pa(a)):(f=a,g=j),{year:f,dayOfYear:g}}function wa(a,b,c){var d,e,f=ua(a.year(),b,c),g=Math.floor((a.dayOfYear()-f-1)/7)+1;return g<1?(e=a.year()-1,d=g+xa(e,b,c)):g>xa(a.year(),b,c)?(d=g-xa(a.year(),b,c),e=a.year()+1):(e=a.year(),d=g),{week:d,year:e}}function xa(a,b,c){var d=ua(a,b,c),e=ua(a+1,b,c);return(pa(a)-d+e)/7}function ya(a){return wa(a,this._week.dow,this._week.doy).week}function za(){return this._week.dow}function Aa(){return this._week.doy}function Ba(a){var b=this.localeData().week(this);return null==a?b:this.add(7*(a-b),"d")}function Ca(a){var b=wa(this,1,4).week;return null==a?b:this.add(7*(a-b),"d")}function Da(a,b){return"string"!=typeof a?a:isNaN(a)?(a=b.weekdaysParse(a),"number"==typeof a?a:null):parseInt(a,10)}function Ea(a,b){return"string"==typeof a?b.weekdaysParse(a)%7||7:isNaN(a)?null:a}function Fa(a,b){return a?c(this._weekdays)?this._weekdays[a.day()]:this._weekdays[this._weekdays.isFormat.test(b)?"format":"standalone"][a.day()]:c(this._weekdays)?this._weekdays:this._weekdays.standalone}function Ga(a){return a?this._weekdaysShort[a.day()]:this._weekdaysShort}function Ha(a){return a?this._weekdaysMin[a.day()]:this._weekdaysMin}function Ia(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],d=0;d<7;++d)f=l([2e3,1]).day(d),this._minWeekdaysParse[d]=this.weekdaysMin(f,"").toLocaleLowerCase(),this._shortWeekdaysParse[d]=this.weekdaysShort(f,"").toLocaleLowerCase(),this._weekdaysParse[d]=this.weekdays(f,"").toLocaleLowerCase();return c?"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:null):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null):"dddd"===b?(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):"ddd"===b?(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:null))):(e=ne.call(this._minWeekdaysParse,g),e!==-1?e:(e=ne.call(this._weekdaysParse,g),e!==-1?e:(e=ne.call(this._shortWeekdaysParse,g),e!==-1?e:null)))}function Ja(a,b,c){var d,e,f;if(this._weekdaysParseExact)return Ia.call(this,a,b,c);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),d=0;d<7;d++){if(e=l([2e3,1]).day(d),c&&!this._fullWeekdaysParse[d]&&(this._fullWeekdaysParse[d]=new RegExp("^"+this.weekdays(e,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[d]=new RegExp("^"+this.weekdaysShort(e,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[d]=new RegExp("^"+this.weekdaysMin(e,"").replace(".",".?")+"$","i")),this._weekdaysParse[d]||(f="^"+this.weekdays(e,"")+"|^"+this.weekdaysShort(e,"")+"|^"+this.weekdaysMin(e,""),this._weekdaysParse[d]=new RegExp(f.replace(".",""),"i")),c&&"dddd"===b&&this._fullWeekdaysParse[d].test(a))return d;if(c&&"ddd"===b&&this._shortWeekdaysParse[d].test(a))return d;if(c&&"dd"===b&&this._minWeekdaysParse[d].test(a))return d;if(!c&&this._weekdaysParse[d].test(a))return d}}function Ka(a){if(!this.isValid())return null!=a?this:NaN;var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=Da(a,this.localeData()),this.add(a-b,"d")):b}function La(a){if(!this.isValid())return null!=a?this:NaN;var b=(this.day()+7-this.localeData()._week.dow)%7;return null==a?b:this.add(a-b,"d")}function Ma(a){if(!this.isValid())return null!=a?this:NaN;if(null!=a){var b=Ea(a,this.localeData());return this.day(this.day()%7?b:b-7)}return this.day()||7}function Na(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(j(this,"_weekdaysRegex")||(this._weekdaysRegex=ye),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)}function Oa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(j(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ze),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Pa(a){return this._weekdaysParseExact?(j(this,"_weekdaysRegex")||Qa.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(j(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Ae),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Qa(){function a(a,b){return b.length-a.length}var b,c,d,e,f,g=[],h=[],i=[],j=[];for(b=0;b<7;b++)c=l([2e3,1]).day(b),d=this.weekdaysMin(c,""),e=this.weekdaysShort(c,""),f=this.weekdays(c,""),g.push(d),h.push(e),i.push(f),j.push(d),j.push(e),j.push(f);for(g.sort(a),h.sort(a),i.sort(a),j.sort(a),b=0;b<7;b++)h[b]=aa(h[b]),i[b]=aa(i[b]),j[b]=aa(j[b]);this._weekdaysRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+g.join("|")+")","i")}function Ra(){return this.hours()%12||12}function Sa(){return this.hours()||24}function Ta(a,b){U(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),b)})}function Ua(a,b){return b._meridiemParse}function Va(a){return"p"===(a+"").toLowerCase().charAt(0)}function Wa(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"}function Xa(a){return a?a.toLowerCase().replace("_","-"):a}function Ya(a){for(var b,c,d,e,f=0;f0;){if(d=Za(e.slice(0,b).join("-")))return d;if(c&&c.length>=b&&v(e,c,!0)>=b-1)break;b--}f++}return null}function Za(a){var b=null;if(!Fe[a]&&"undefined"!=typeof module&&module&&module.exports)try{b=Be._abbr,require("./locale/"+a),$a(b)}catch(a){}return Fe[a]}function $a(a,b){var c;return a&&(c=f(b)?bb(a):_a(a,b),c&&(Be=c)),Be._abbr}function _a(a,b){if(null!==b){var c=Ee;if(b.abbr=a,null!=Fe[a])y("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),c=Fe[a]._config;else if(null!=b.parentLocale){if(null==Fe[b.parentLocale])return Ge[b.parentLocale]||(Ge[b.parentLocale]=[]),Ge[b.parentLocale].push({name:a,config:b}),null;c=Fe[b.parentLocale]._config}return Fe[a]=new C(B(c,b)),Ge[a]&&Ge[a].forEach(function(a){_a(a.name,a.config)}),$a(a),Fe[a]}return delete Fe[a],null}function ab(a,b){if(null!=b){var c,d=Ee;null!=Fe[a]&&(d=Fe[a]._config),b=B(d,b),c=new C(b),c.parentLocale=Fe[a],Fe[a]=c,$a(a)}else null!=Fe[a]&&(null!=Fe[a].parentLocale?Fe[a]=Fe[a].parentLocale:null!=Fe[a]&&delete Fe[a]);return Fe[a]}function bb(a){var b;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return Be;if(!c(a)){if(b=Za(a))return b;a=[a]}return Ya(a)}function cb(){return Ad(Fe)}function db(a){var b,c=a._a;return c&&n(a).overflow===-2&&(b=c[fe]<0||c[fe]>11?fe:c[ge]<1||c[ge]>ea(c[ee],c[fe])?ge:c[he]<0||c[he]>24||24===c[he]&&(0!==c[ie]||0!==c[je]||0!==c[ke])?he:c[ie]<0||c[ie]>59?ie:c[je]<0||c[je]>59?je:c[ke]<0||c[ke]>999?ke:-1,n(a)._overflowDayOfYear&&(bge)&&(b=ge),n(a)._overflowWeeks&&b===-1&&(b=le),n(a)._overflowWeekday&&b===-1&&(b=me),n(a).overflow=b),a}function eb(a){var b,c,d,e,f,g,h=a._i,i=He.exec(h)||Ie.exec(h);if(i){for(n(a).iso=!0,b=0,c=Ke.length;b10?"YYYY ":"YY "),f="HH:mm"+(c[4]?":ss":""),c[1]){var l=new Date(c[2]),m=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][l.getDay()];if(c[1].substr(0,3)!==m)return n(a).weekdayMismatch=!0,void(a._isValid=!1)}switch(c[5].length){case 2:0===i?h=" +0000":(i=k.indexOf(c[5][1].toUpperCase())-12,h=(i<0?" -":" +")+(""+i).replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:h=j[c[5]];break;default:h=j[" GMT"]}c[5]=h,a._i=c.splice(1).join(""),g=" ZZ",a._f=d+e+f+g,lb(a),n(a).rfc2822=!0}else a._isValid=!1}function gb(b){var c=Me.exec(b._i);return null!==c?void(b._d=new Date(+c[1])):(eb(b),void(b._isValid===!1&&(delete b._isValid,fb(b),b._isValid===!1&&(delete b._isValid,a.createFromInputFallback(b)))))}function hb(a,b,c){return null!=a?a:null!=b?b:c}function ib(b){var c=new Date(a.now());return b._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()]}function jb(a){var b,c,d,e,f=[];if(!a._d){for(d=ib(a),a._w&&null==a._a[ge]&&null==a._a[fe]&&kb(a),null!=a._dayOfYear&&(e=hb(a._a[ee],d[ee]),(a._dayOfYear>pa(e)||0===a._dayOfYear)&&(n(a)._overflowDayOfYear=!0),c=ta(e,0,a._dayOfYear),a._a[fe]=c.getUTCMonth(),a._a[ge]=c.getUTCDate()),b=0;b<3&&null==a._a[b];++b)a._a[b]=f[b]=d[b];for(;b<7;b++)a._a[b]=f[b]=null==a._a[b]?2===b?1:0:a._a[b];24===a._a[he]&&0===a._a[ie]&&0===a._a[je]&&0===a._a[ke]&&(a._nextDay=!0,a._a[he]=0),a._d=(a._useUTC?ta:sa).apply(null,f),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[he]=24)}}function kb(a){var b,c,d,e,f,g,h,i;if(b=a._w,null!=b.GG||null!=b.W||null!=b.E)f=1,g=4,c=hb(b.GG,a._a[ee],wa(tb(),1,4).year),d=hb(b.W,1),e=hb(b.E,1),(e<1||e>7)&&(i=!0);else{f=a._locale._week.dow,g=a._locale._week.doy;var j=wa(tb(),f,g);c=hb(b.gg,a._a[ee],j.year),d=hb(b.w,j.week),null!=b.d?(e=b.d,(e<0||e>6)&&(i=!0)):null!=b.e?(e=b.e+f,(b.e<0||b.e>6)&&(i=!0)):e=f}d<1||d>xa(c,f,g)?n(a)._overflowWeeks=!0:null!=i?n(a)._overflowWeekday=!0:(h=va(c,d,e,f,g),a._a[ee]=h.year,a._dayOfYear=h.dayOfYear)}function lb(b){if(b._f===a.ISO_8601)return void eb(b);if(b._f===a.RFC_2822)return void fb(b);b._a=[],n(b).empty=!0;var c,d,e,f,g,h=""+b._i,i=h.length,j=0;for(e=Y(b._f,b._locale).match(Jd)||[],c=0;c0&&n(b).unusedInput.push(g),h=h.slice(h.indexOf(d)+d.length),j+=d.length),Md[f]?(d?n(b).empty=!1:n(b).unusedTokens.push(f),da(f,d,b)):b._strict&&!d&&n(b).unusedTokens.push(f);n(b).charsLeftOver=i-j,h.length>0&&n(b).unusedInput.push(h),b._a[he]<=12&&n(b).bigHour===!0&&b._a[he]>0&&(n(b).bigHour=void 0),n(b).parsedDateParts=b._a.slice(0),n(b).meridiem=b._meridiem,b._a[he]=mb(b._locale,b._a[he],b._meridiem),jb(b),db(b)}function mb(a,b,c){var d;return null==c?b:null!=a.meridiemHour?a.meridiemHour(b,c):null!=a.isPM?(d=a.isPM(c),d&&b<12&&(b+=12),d||12!==b||(b=0),b):b}function nb(a){var b,c,d,e,f;if(0===a._f.length)return n(a).invalidFormat=!0,void(a._d=new Date(NaN));for(e=0;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Ob(){if(!f(this._isDSTShifted))return this._isDSTShifted;var a={};if(q(a,this),a=qb(a),a._a){var b=a._isUTC?l(a._a):tb(a._a);this._isDSTShifted=this.isValid()&&v(a._a,b.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Pb(){return!!this.isValid()&&!this._isUTC}function Qb(){return!!this.isValid()&&this._isUTC}function Rb(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Sb(a,b){var c,d,e,f=a,h=null;return Bb(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:g(a)?(f={},b?f[b]=a:f.milliseconds=a):(h=Te.exec(a))?(c="-"===h[1]?-1:1,f={y:0,d:u(h[ge])*c,h:u(h[he])*c,m:u(h[ie])*c,s:u(h[je])*c,ms:u(Cb(1e3*h[ke]))*c}):(h=Ue.exec(a))?(c="-"===h[1]?-1:1,f={y:Tb(h[2],c),M:Tb(h[3],c),w:Tb(h[4],c),d:Tb(h[5],c),h:Tb(h[6],c),m:Tb(h[7],c),s:Tb(h[8],c)}):null==f?f={}:"object"==typeof f&&("from"in f||"to"in f)&&(e=Vb(tb(f.from),tb(f.to)),f={},f.ms=e.milliseconds,f.M=e.months),d=new Ab(f),Bb(a)&&j(a,"_locale")&&(d._locale=a._locale),d}function Tb(a,b){var c=a&&parseFloat(a.replace(",","."));return(isNaN(c)?0:c)*b}function Ub(a,b){var c={milliseconds:0,months:0};return c.months=b.month()-a.month()+12*(b.year()-a.year()),a.clone().add(c.months,"M").isAfter(b)&&--c.months,c.milliseconds=+b-+a.clone().add(c.months,"M"),c}function Vb(a,b){var c;return a.isValid()&&b.isValid()?(b=Fb(b,a),a.isBefore(b)?c=Ub(a,b):(c=Ub(b,a),c.milliseconds=-c.milliseconds,c.months=-c.months),c):{milliseconds:0,months:0}}function Wb(a,b){return function(c,d){var e,f;return null===d||isNaN(+d)||(y(b,"moment()."+b+"(period, number) is deprecated. Please use moment()."+b+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),f=c,c=d,d=f),c="string"==typeof c?+c:c,e=Sb(c,d),Xb(this,e,a),this}}function Xb(b,c,d,e){var f=c._milliseconds,g=Cb(c._days),h=Cb(c._months);b.isValid()&&(e=null==e||e,f&&b._d.setTime(b._d.valueOf()+f*d),g&&Q(b,"Date",P(b,"Date")+g*d),h&&ja(b,P(b,"Month")+h*d),e&&a.updateOffset(b,g||h))}function Yb(a,b){var c=a.diff(b,"days",!0);return c<-6?"sameElse":c<-1?"lastWeek":c<0?"lastDay":c<1?"sameDay":c<2?"nextDay":c<7?"nextWeek":"sameElse"}function Zb(b,c){var d=b||tb(),e=Fb(d,this).startOf("day"),f=a.calendarFormat(this,e)||"sameElse",g=c&&(z(c[f])?c[f].call(this,d):c[f]);return this.format(g||this.localeData().calendar(f,this,tb(d)))}function $b(){return new r(this)}function _b(a,b){var c=s(a)?a:tb(a);return!(!this.isValid()||!c.isValid())&&(b=K(f(b)?"millisecond":b),"millisecond"===b?this.valueOf()>c.valueOf():c.valueOf()9999?X(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):z(Date.prototype.toISOString)?this.toDate().toISOString():X(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function jc(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",b="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",b="Z");var c="["+a+'("]',d=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",e="-MM-DD[T]HH:mm:ss.SSS",f=b+'[")]';return this.format(c+d+e+f)}function kc(b){b||(b=this.isUtc()?a.defaultFormatUtc:a.defaultFormat);var c=X(this,b);return this.localeData().postformat(c)}function lc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({to:this,from:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function mc(a){return this.from(tb(),a)}function nc(a,b){return this.isValid()&&(s(a)&&a.isValid()||tb(a).isValid())?Sb({from:this,to:a}).locale(this.locale()).humanize(!b):this.localeData().invalidDate()}function oc(a){return this.to(tb(),a)}function pc(a){var b;return void 0===a?this._locale._abbr:(b=bb(a),null!=b&&(this._locale=b),this)}function qc(){return this._locale}function rc(a){switch(a=K(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a&&this.weekday(0),"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this}function sc(a){return a=K(a),void 0===a||"millisecond"===a?this:("date"===a&&(a="day"),this.startOf(a).add(1,"isoWeek"===a?"week":a).subtract(1,"ms"))}function tc(){return this._d.valueOf()-6e4*(this._offset||0)}function uc(){return Math.floor(this.valueOf()/1e3)}function vc(){return new Date(this.valueOf())}function wc(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]}function xc(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}}function yc(){return this.isValid()?this.toISOString():null}function zc(){return o(this)}function Ac(){ +return k({},n(this))}function Bc(){return n(this).overflow}function Cc(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Dc(a,b){U(0,[a,a.length],0,b)}function Ec(a){return Ic.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Fc(a){return Ic.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)}function Gc(){return xa(this.year(),1,4)}function Hc(){var a=this.localeData()._week;return xa(this.year(),a.dow,a.doy)}function Ic(a,b,c,d,e){var f;return null==a?wa(this,d,e).year:(f=xa(a,d,e),b>f&&(b=f),Jc.call(this,a,b,c,d,e))}function Jc(a,b,c,d,e){var f=va(a,b,c,d,e),g=ta(f.year,0,f.dayOfYear);return this.year(g.getUTCFullYear()),this.month(g.getUTCMonth()),this.date(g.getUTCDate()),this}function Kc(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)}function Lc(a){var b=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?b:this.add(a-b,"d")}function Mc(a,b){b[ke]=u(1e3*("0."+a))}function Nc(){return this._isUTC?"UTC":""}function Oc(){return this._isUTC?"Coordinated Universal Time":""}function Pc(a){return tb(1e3*a)}function Qc(){return tb.apply(null,arguments).parseZone()}function Rc(a){return a}function Sc(a,b,c,d){var e=bb(),f=l().set(d,b);return e[c](f,a)}function Tc(a,b,c){if(g(a)&&(b=a,a=void 0),a=a||"",null!=b)return Sc(a,b,c,"month");var d,e=[];for(d=0;d<12;d++)e[d]=Sc(a,d,c,"month");return e}function Uc(a,b,c,d){"boolean"==typeof a?(g(b)&&(c=b,b=void 0),b=b||""):(b=a,c=b,a=!1,g(b)&&(c=b,b=void 0),b=b||"");var e=bb(),f=a?e._week.dow:0;if(null!=c)return Sc(b,(c+f)%7,d,"day");var h,i=[];for(h=0;h<7;h++)i[h]=Sc(b,(h+f)%7,d,"day");return i}function Vc(a,b){return Tc(a,b,"months")}function Wc(a,b){return Tc(a,b,"monthsShort")}function Xc(a,b,c){return Uc(a,b,c,"weekdays")}function Yc(a,b,c){return Uc(a,b,c,"weekdaysShort")}function Zc(a,b,c){return Uc(a,b,c,"weekdaysMin")}function $c(){var a=this._data;return this._milliseconds=df(this._milliseconds),this._days=df(this._days),this._months=df(this._months),a.milliseconds=df(a.milliseconds),a.seconds=df(a.seconds),a.minutes=df(a.minutes),a.hours=df(a.hours),a.months=df(a.months),a.years=df(a.years),this}function _c(a,b,c,d){var e=Sb(b,c);return a._milliseconds+=d*e._milliseconds,a._days+=d*e._days,a._months+=d*e._months,a._bubble()}function ad(a,b){return _c(this,a,b,1)}function bd(a,b){return _c(this,a,b,-1)}function cd(a){return a<0?Math.floor(a):Math.ceil(a)}function dd(){var a,b,c,d,e,f=this._milliseconds,g=this._days,h=this._months,i=this._data;return f>=0&&g>=0&&h>=0||f<=0&&g<=0&&h<=0||(f+=864e5*cd(fd(h)+g),g=0,h=0),i.milliseconds=f%1e3,a=t(f/1e3),i.seconds=a%60,b=t(a/60),i.minutes=b%60,c=t(b/60),i.hours=c%24,g+=t(c/24),e=t(ed(g)),h+=e,g-=cd(fd(e)),d=t(h/12),h%=12,i.days=g,i.months=h,i.years=d,this}function ed(a){return 4800*a/146097}function fd(a){return 146097*a/4800}function gd(a){if(!this.isValid())return NaN;var b,c,d=this._milliseconds;if(a=K(a),"month"===a||"year"===a)return b=this._days+d/864e5,c=this._months+ed(b),"month"===a?c:c/12;switch(b=this._days+Math.round(fd(this._months)),a){case"week":return b/7+d/6048e5;case"day":return b+d/864e5;case"hour":return 24*b+d/36e5;case"minute":return 1440*b+d/6e4;case"second":return 86400*b+d/1e3;case"millisecond":return Math.floor(864e5*b)+d;default:throw new Error("Unknown unit "+a)}}function hd(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*u(this._months/12):NaN}function id(a){return function(){return this.as(a)}}function jd(a){return a=K(a),this.isValid()?this[a+"s"]():NaN}function kd(a){return function(){return this.isValid()?this._data[a]:NaN}}function ld(){return t(this.days()/7)}function md(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function nd(a,b,c){var d=Sb(a).abs(),e=uf(d.as("s")),f=uf(d.as("m")),g=uf(d.as("h")),h=uf(d.as("d")),i=uf(d.as("M")),j=uf(d.as("y")),k=e<=vf.ss&&["s",e]||e0,k[4]=c,md.apply(null,k)}function od(a){return void 0===a?uf:"function"==typeof a&&(uf=a,!0)}function pd(a,b){return void 0!==vf[a]&&(void 0===b?vf[a]:(vf[a]=b,"s"===a&&(vf.ss=b-1),!0))}function qd(a){if(!this.isValid())return this.localeData().invalidDate();var b=this.localeData(),c=nd(this,!a,b);return a&&(c=b.pastFuture(+this,c)),b.postformat(c)}function rd(){if(!this.isValid())return this.localeData().invalidDate();var a,b,c,d=wf(this._milliseconds)/1e3,e=wf(this._days),f=wf(this._months);a=t(d/60),b=t(a/60),d%=60,a%=60,c=t(f/12),f%=12;var g=c,h=f,i=e,j=b,k=a,l=d,m=this.asSeconds();return m?(m<0?"-":"")+"P"+(g?g+"Y":"")+(h?h+"M":"")+(i?i+"D":"")+(j||k||l?"T":"")+(j?j+"H":"")+(k?k+"M":"")+(l?l+"S":""):"P0D"}var sd,td;td=Array.prototype.some?Array.prototype.some:function(a){for(var b=Object(this),c=b.length>>>0,d=0;d68?1900:2e3)};var te=O("FullYear",!0);U("w",["ww",2],"wo","week"),U("W",["WW",2],"Wo","isoWeek"),J("week","w"),J("isoWeek","W"),M("week",5),M("isoWeek",5),Z("w",Sd),Z("ww",Sd,Od),Z("W",Sd),Z("WW",Sd,Od),ca(["w","ww","W","WW"],function(a,b,c,d){b[d.substr(0,1)]=u(a)});var ue={dow:0,doy:6};U("d",0,"do","day"),U("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),U("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),U("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),U("e",0,0,"weekday"),U("E",0,0,"isoWeekday"),J("day","d"),J("weekday","e"),J("isoWeekday","E"),M("day",11),M("weekday",11),M("isoWeekday",11),Z("d",Sd),Z("e",Sd),Z("E",Sd),Z("dd",function(a,b){return b.weekdaysMinRegex(a)}),Z("ddd",function(a,b){return b.weekdaysShortRegex(a)}),Z("dddd",function(a,b){return b.weekdaysRegex(a)}),ca(["dd","ddd","dddd"],function(a,b,c,d){var e=c._locale.weekdaysParse(a,d,c._strict);null!=e?b.d=e:n(c).invalidWeekday=a}),ca(["d","e","E"],function(a,b,c,d){b[d]=u(a)});var ve="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),we="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),xe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),ye=be,ze=be,Ae=be;U("H",["HH",2],0,"hour"),U("h",["hh",2],0,Ra),U("k",["kk",2],0,Sa),U("hmm",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)}),U("hmmss",0,0,function(){return""+Ra.apply(this)+T(this.minutes(),2)+T(this.seconds(),2)}),U("Hmm",0,0,function(){return""+this.hours()+T(this.minutes(),2)}),U("Hmmss",0,0,function(){return""+this.hours()+T(this.minutes(),2)+T(this.seconds(),2)}),Ta("a",!0),Ta("A",!1),J("hour","h"),M("hour",13),Z("a",Ua),Z("A",Ua),Z("H",Sd),Z("h",Sd),Z("k",Sd),Z("HH",Sd,Od),Z("hh",Sd,Od),Z("kk",Sd,Od),Z("hmm",Td),Z("hmmss",Ud),Z("Hmm",Td),Z("Hmmss",Ud),ba(["H","HH"],he),ba(["k","kk"],function(a,b,c){var d=u(a);b[he]=24===d?0:d}),ba(["a","A"],function(a,b,c){c._isPm=c._locale.isPM(a),c._meridiem=a}),ba(["h","hh"],function(a,b,c){b[he]=u(a),n(c).bigHour=!0}),ba("hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d)),n(c).bigHour=!0}),ba("hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e)),n(c).bigHour=!0}),ba("Hmm",function(a,b,c){var d=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d))}),ba("Hmmss",function(a,b,c){var d=a.length-4,e=a.length-2;b[he]=u(a.substr(0,d)),b[ie]=u(a.substr(d,2)),b[je]=u(a.substr(e))});var Be,Ce=/[ap]\.?m?\.?/i,De=O("Hours",!0),Ee={calendar:Bd,longDateFormat:Cd,invalidDate:Dd,ordinal:Ed,dayOfMonthOrdinalParse:Fd,relativeTime:Gd,months:pe,monthsShort:qe,week:ue,weekdays:ve,weekdaysMin:xe,weekdaysShort:we,meridiemParse:Ce},Fe={},Ge={},He=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ie=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Je=/Z|[+-]\d\d(?::?\d\d)?/,Ke=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Le=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i,Ne=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;a.createFromInputFallback=x("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),a.ISO_8601=function(){},a.RFC_2822=function(){};var Oe=x("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=tb.apply(null,arguments);return this.isValid()&&a.isValid()?athis?this:a:p()}),Qe=function(){return Date.now?Date.now():+new Date},Re=["year","quarter","month","week","day","hour","minute","second","millisecond"];Db("Z",":"),Db("ZZ",""),Z("Z",_d),Z("ZZ",_d),ba(["Z","ZZ"],function(a,b,c){c._useUTC=!0,c._tzm=Eb(_d,a)});var Se=/([\+\-]|\d\d)/gi;a.updateOffset=function(){};var Te=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ue=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Sb.fn=Ab.prototype,Sb.invalid=zb;var Ve=Wb(1,"add"),We=Wb(-1,"subtract");a.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",a.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=x("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});U(0,["gg",2],0,function(){return this.weekYear()%100}),U(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Dc("gggg","weekYear"),Dc("ggggg","weekYear"),Dc("GGGG","isoWeekYear"),Dc("GGGGG","isoWeekYear"),J("weekYear","gg"),J("isoWeekYear","GG"),M("weekYear",1),M("isoWeekYear",1),Z("G",Zd),Z("g",Zd),Z("GG",Sd,Od),Z("gg",Sd,Od),Z("GGGG",Wd,Qd),Z("gggg",Wd,Qd),Z("GGGGG",Xd,Rd),Z("ggggg",Xd,Rd),ca(["gggg","ggggg","GGGG","GGGGG"],function(a,b,c,d){b[d.substr(0,2)]=u(a)}),ca(["gg","GG"],function(b,c,d,e){c[e]=a.parseTwoDigitYear(b)}),U("Q",0,"Qo","quarter"),J("quarter","Q"),M("quarter",7),Z("Q",Nd),ba("Q",function(a,b){b[fe]=3*(u(a)-1)}),U("D",["DD",2],"Do","date"),J("date","D"),M("date",9),Z("D",Sd),Z("DD",Sd,Od),Z("Do",function(a,b){return a?b._dayOfMonthOrdinalParse||b._ordinalParse:b._dayOfMonthOrdinalParseLenient}),ba(["D","DD"],ge),ba("Do",function(a,b){b[ge]=u(a.match(Sd)[0],10)});var Ye=O("Date",!0);U("DDD",["DDDD",3],"DDDo","dayOfYear"),J("dayOfYear","DDD"),M("dayOfYear",4),Z("DDD",Vd),Z("DDDD",Pd),ba(["DDD","DDDD"],function(a,b,c){c._dayOfYear=u(a)}),U("m",["mm",2],0,"minute"),J("minute","m"),M("minute",14),Z("m",Sd),Z("mm",Sd,Od),ba(["m","mm"],ie);var Ze=O("Minutes",!1);U("s",["ss",2],0,"second"),J("second","s"),M("second",15),Z("s",Sd),Z("ss",Sd,Od),ba(["s","ss"],je);var $e=O("Seconds",!1);U("S",0,0,function(){return~~(this.millisecond()/100)}),U(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),U(0,["SSS",3],0,"millisecond"),U(0,["SSSS",4],0,function(){return 10*this.millisecond()}),U(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),U(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),U(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),U(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),U(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),J("millisecond","ms"),M("millisecond",16),Z("S",Vd,Nd),Z("SS",Vd,Od),Z("SSS",Vd,Pd);var _e;for(_e="SSSS";_e.length<=9;_e+="S")Z(_e,Yd);for(_e="S";_e.length<=9;_e+="S")ba(_e,Mc);var af=O("Milliseconds",!1);U("z",0,0,"zoneAbbr"),U("zz",0,0,"zoneName");var bf=r.prototype;bf.add=Ve,bf.calendar=Zb,bf.clone=$b,bf.diff=fc,bf.endOf=sc,bf.format=kc,bf.from=lc,bf.fromNow=mc,bf.to=nc,bf.toNow=oc,bf.get=R,bf.invalidAt=Bc,bf.isAfter=_b,bf.isBefore=ac,bf.isBetween=bc,bf.isSame=cc,bf.isSameOrAfter=dc,bf.isSameOrBefore=ec,bf.isValid=zc,bf.lang=Xe,bf.locale=pc,bf.localeData=qc,bf.max=Pe,bf.min=Oe,bf.parsingFlags=Ac,bf.set=S,bf.startOf=rc,bf.subtract=We,bf.toArray=wc,bf.toObject=xc,bf.toDate=vc,bf.toISOString=ic,bf.inspect=jc,bf.toJSON=yc,bf.toString=hc,bf.unix=uc,bf.valueOf=tc,bf.creationData=Cc,bf.year=te,bf.isLeapYear=ra,bf.weekYear=Ec,bf.isoWeekYear=Fc,bf.quarter=bf.quarters=Kc,bf.month=ka,bf.daysInMonth=la,bf.week=bf.weeks=Ba,bf.isoWeek=bf.isoWeeks=Ca,bf.weeksInYear=Hc,bf.isoWeeksInYear=Gc,bf.date=Ye,bf.day=bf.days=Ka,bf.weekday=La,bf.isoWeekday=Ma,bf.dayOfYear=Lc,bf.hour=bf.hours=De,bf.minute=bf.minutes=Ze,bf.second=bf.seconds=$e,bf.millisecond=bf.milliseconds=af,bf.utcOffset=Hb,bf.utc=Jb,bf.local=Kb,bf.parseZone=Lb,bf.hasAlignedHourOffset=Mb,bf.isDST=Nb,bf.isLocal=Pb,bf.isUtcOffset=Qb,bf.isUtc=Rb,bf.isUTC=Rb,bf.zoneAbbr=Nc,bf.zoneName=Oc,bf.dates=x("dates accessor is deprecated. Use date instead.",Ye),bf.months=x("months accessor is deprecated. Use month instead",ka),bf.years=x("years accessor is deprecated. Use year instead",te),bf.zone=x("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ib),bf.isDSTShifted=x("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Ob);var cf=C.prototype;cf.calendar=D,cf.longDateFormat=E,cf.invalidDate=F,cf.ordinal=G,cf.preparse=Rc,cf.postformat=Rc,cf.relativeTime=H,cf.pastFuture=I,cf.set=A,cf.months=fa,cf.monthsShort=ga,cf.monthsParse=ia,cf.monthsRegex=na,cf.monthsShortRegex=ma,cf.week=ya,cf.firstDayOfYear=Aa,cf.firstDayOfWeek=za,cf.weekdays=Fa,cf.weekdaysMin=Ha,cf.weekdaysShort=Ga,cf.weekdaysParse=Ja,cf.weekdaysRegex=Na,cf.weekdaysShortRegex=Oa,cf.weekdaysMinRegex=Pa,cf.isPM=Va,cf.meridiem=Wa,$a("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var b=a%10,c=1===u(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),a.lang=x("moment.lang is deprecated. Use moment.locale instead.",$a),a.langData=x("moment.langData is deprecated. Use moment.localeData instead.",bb);var df=Math.abs,ef=id("ms"),ff=id("s"),gf=id("m"),hf=id("h"),jf=id("d"),kf=id("w"),lf=id("M"),mf=id("y"),nf=kd("milliseconds"),of=kd("seconds"),pf=kd("minutes"),qf=kd("hours"),rf=kd("days"),sf=kd("months"),tf=kd("years"),uf=Math.round,vf={ss:44,s:45,m:45,h:22,d:26,M:11},wf=Math.abs,xf=Ab.prototype;return xf.isValid=yb,xf.abs=$c,xf.add=ad,xf.subtract=bd,xf.as=gd,xf.asMilliseconds=ef,xf.asSeconds=ff,xf.asMinutes=gf,xf.asHours=hf,xf.asDays=jf,xf.asWeeks=kf,xf.asMonths=lf,xf.asYears=mf,xf.valueOf=hd,xf._bubble=dd,xf.get=jd,xf.milliseconds=nf,xf.seconds=of,xf.minutes=pf,xf.hours=qf,xf.days=rf,xf.weeks=ld,xf.months=sf,xf.years=tf,xf.humanize=qd,xf.toISOString=rd,xf.toString=rd,xf.toJSON=rd,xf.locale=pc,xf.localeData=qc,xf.toIsoString=x("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",rd),xf.lang=Xe,U("X",0,0,"unix"),U("x",0,0,"valueOf"),Z("x",Zd),Z("X",ae),ba("X",function(a,b,c){c._d=new Date(1e3*parseFloat(a,10))}),ba("x",function(a,b,c){c._d=new Date(u(a))}),a.version="2.18.1",b(tb),a.fn=bf,a.min=vb,a.max=wb,a.now=Qe,a.utc=l,a.unix=Pc,a.months=Vc,a.isDate=h,a.locale=$a,a.invalid=p,a.duration=Sb,a.isMoment=s,a.weekdays=Xc,a.parseZone=Qc,a.localeData=bb,a.isDuration=Bb,a.monthsShort=Wc,a.weekdaysMin=Zc,a.defineLocale=_a,a.updateLocale=ab,a.locales=cb,a.weekdaysShort=Yc,a.normalizeUnits=K,a.relativeTimeRounding=od,a.relativeTimeThreshold=pd,a.calendarFormat=Yb,a.prototype=bf,a}); \ No newline at end of file diff --git a/static/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css b/static/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css new file mode 100755 index 0000000..2bc2fa9 --- /dev/null +++ b/static/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.css @@ -0,0 +1,36 @@ +.jvectormap-label { + position: absolute; + display: none; + border: solid 1px #CDCDCD; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + background: #292929; + color: white; + font-family: sans-serif, Verdana; + font-size: smaller; + padding: 3px; +} + +.jvectormap-zoomin, .jvectormap-zoomout { + position: absolute; + left: 10px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + background: #424242; + padding: 2px; + color: white; + width: 15px; + height: 15px; + cursor: pointer; + line-height: 10px; + text-align: center; +} + +.jvectormap-zoomin { + top: 10px; +} + +.jvectormap-zoomout { + top: 30px; +} \ No newline at end of file diff --git a/static/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js b/static/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js new file mode 100755 index 0000000..ea54476 --- /dev/null +++ b/static/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js @@ -0,0 +1,8 @@ +/** + * jVectorMap version 1.2.2 + * + * Copyright 2011-2013, Kirill Lebedev + * Licensed under the MIT license. + * + */(function(e){var t={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{selectedRegions:1,selectedMarkers:1,mapObject:1,regionName:1}};e.fn.vectorMap=function(e){var n,r,i,n=this.children(".jvectormap-container").data("mapObject");if(e==="addMap")jvm.WorldMap.maps[arguments[1]]=arguments[2];else{if(!(e!=="set"&&e!=="get"||!t[e][arguments[1]]))return r=arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1),n[e+r].apply(n,Array.prototype.slice.call(arguments,2));e=e||{},e.container=this,n=new jvm.WorldMap(e)}return this}})(jQuery),function(e){function r(t){var n=t||window.event,r=[].slice.call(arguments,1),i=0,s=!0,o=0,u=0;return t=e.event.fix(n),t.type="mousewheel",n.wheelDelta&&(i=n.wheelDelta/120),n.detail&&(i=-n.detail/3),u=i,n.axis!==undefined&&n.axis===n.HORIZONTAL_AXIS&&(u=0,o=-1*i),n.wheelDeltaY!==undefined&&(u=n.wheelDeltaY/120),n.wheelDeltaX!==undefined&&(o=-1*n.wheelDeltaX/120),r.unshift(t,i,o,u),(e.event.dispatch||e.event.handle).apply(this,r)}var t=["DOMMouseScroll","mousewheel"];if(e.event.fixHooks)for(var n=t.length;n;)e.event.fixHooks[t[--n]]=e.event.mouseHooks;e.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],r,!1);else this.onmousewheel=r},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],r,!1);else this.onmousewheel=null}},e.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})}(jQuery);var jvm={inherits:function(e,t){function n(){}n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e,e.parentClass=t},mixin:function(e,t){var n;for(n in t.prototype)t.prototype.hasOwnProperty(n)&&(e.prototype[n]=t.prototype[n])},min:function(e){var t=Number.MAX_VALUE,n;if(e instanceof Array)for(n=0;nt&&(t=e[n]);else for(n in e)e[n]>t&&(t=e[n]);return t},keys:function(e){var t=[],n;for(n in e)t.push(n);return t},values:function(e){var t=[],n,r;for(r=0;r')}}catch(e){jvm.VMLElement.prototype.createElement=function(e){return document.createElement("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}document.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(e){return jvm["VML"+e]},jvm.VMLElement.prototype.addClass=function(e){jvm.$(this.node).addClass(e)},jvm.VMLElement.prototype.applyAttr=function(e,t){this.node[e]=t},jvm.VMLElement.prototype.getBBox=function(){var e=jvm.$(this.node);return{x:e.position().left/this.canvas.scale,y:e.position().top/this.canvas.scale,width:e.width()/this.canvas.scale,height:e.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,"group"),this.node.style.left="0px",this.node.style.top="0px",this.node.coordorigin="0 0"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(e){this.node.appendChild(e.node)},jvm.VMLCanvasElement=function(e,t,n){this.classPrefix="VML",jvm.VMLCanvasElement.parentClass.call(this,"group"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position="absolute"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(e,t){var n,r,i,s;this.width=e,this.height=t,this.node.style.width=e+"px",this.node.style.height=t+"px",this.node.coordsize=e+" "+t,this.node.coordorigin="0 0";if(this.rootElement){n=this.rootElement.node.getElementsByTagName("shape");for(i=0,s=n.length;i=0)e-=t[i],i++;return i==this.scale.length-1?e=this.vectorToNum(this.scale[i]):e=this.vectorToNum(this.vectorAdd(this.scale[i],this.vectorMult(this.vectorSubtract(this.scale[i+1],this.scale[i]),e/t[i]))),e},vectorToNum:function(e){var t=0,n;for(n=0;nt&&(t=e[i]),r0?1:e<0?-1:e},mill:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan((45+.4*e)*this.radDeg))/.8}},mill_inv:function(e,t,n){return{lat:(2.5*Math.atan(Math.exp(.8*t/this.radius))-5*Math.PI/8)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},merc:function(e,t,n){return{x:this.radius*(t-n)*this.radDeg,y:-this.radius*Math.log(Math.tan(Math.PI/4+e*Math.PI/360))}},merc_inv:function(e,t,n){return{lat:(2*Math.atan(Math.exp(t/this.radius))-Math.PI/2)*this.degRad,lng:(n*this.radDeg+e/this.radius)*this.degRad}},aea:function(e,t,n){var r=0,i=n*this.radDeg,s=29.5*this.radDeg,o=45.5*this.radDeg,u=e*this.radDeg,a=t*this.radDeg,f=(Math.sin(s)+Math.sin(o))/2,l=Math.cos(s)*Math.cos(s)+2*f*Math.sin(s),c=f*(a-i),h=Math.sqrt(l-2*f*Math.sin(u))/f,p=Math.sqrt(l-2*f*Math.sin(r))/f;return{x:h*Math.sin(c)*this.radius,y:-(p-h*Math.cos(c))*this.radius}},aea_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=29.5*this.radDeg,a=45.5*this.radDeg,f=(Math.sin(u)+Math.sin(a))/2,l=Math.cos(u)*Math.cos(u)+2*f*Math.sin(u),c=Math.sqrt(l-2*f*Math.sin(s))/f,h=Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:Math.asin((l-h*h*f*f)/(2*f))*this.degRad,lng:(o+p/f)*this.degRad}},lcc:function(e,t,n){var r=0,i=n*this.radDeg,s=t*this.radDeg,o=33*this.radDeg,u=45*this.radDeg,a=e*this.radDeg,f=Math.log(Math.cos(o)*(1/Math.cos(u)))/Math.log(Math.tan(Math.PI/4+u/2)*(1/Math.tan(Math.PI/4+o/2))),l=Math.cos(o)*Math.pow(Math.tan(Math.PI/4+o/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+a/2),f),h=l*Math.pow(1/Math.tan(Math.PI/4+r/2),f);return{x:c*Math.sin(f*(s-i))*this.radius,y:-(h-c*Math.cos(f*(s-i)))*this.radius}},lcc_inv:function(e,t,n){var r=e/this.radius,i=t/this.radius,s=0,o=n*this.radDeg,u=33*this.radDeg,a=45*this.radDeg,f=Math.log(Math.cos(u)*(1/Math.cos(a)))/Math.log(Math.tan(Math.PI/4+a/2)*(1/Math.tan(Math.PI/4+u/2))),l=Math.cos(u)*Math.pow(Math.tan(Math.PI/4+u/2),f)/f,c=l*Math.pow(1/Math.tan(Math.PI/4+s/2),f),h=this.sgn(f)*Math.sqrt(r*r+(c-i)*(c-i)),p=Math.atan(r/(c-i));return{lat:(2*Math.atan(Math.pow(l/h,1/f))-Math.PI/2)*this.degRad,lng:(o+p/f)*this.degRad}}},jvm.WorldMap=function(e){var t=this,n;this.params=jvm.$.extend(!0,{},jvm.WorldMap.defaultParams,e);if(!jvm.WorldMap.maps[this.params.map])throw new Error("Attempt to use map which was not loaded: "+this.params.map);this.mapData=jvm.WorldMap.maps[this.params.map],this.markers={},this.regions={},this.regionsColors={},this.regionsData={},this.container=jvm.$("
").css({width:"100%",height:"100%"}).addClass("jvectormap-container"),this.params.container.append(this.container),this.container.data("mapObject",this),this.container.css({position:"relative",overflow:"hidden"}),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){t.setSize()},jvm.$(window).resize(this.onResize);for(n in jvm.WorldMap.apiEvents)this.params[n]&&this.container.bind(jvm.WorldMap.apiEvents[n]+".jvectormap",this.params[n]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.params.bindTouchEvents&&this.bindContainerTouchEvents():this.bindContainerEvents(),this.bindElementEvents(),this.createLabel(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.setSize(),this.params.focusOn&&(typeof this.params.focusOn=="object"?this.setFocus.call(this,this.params.focusOn.scale,this.params.focusOn.x,this.params.focusOn.y):this.setFocus.call(this,this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.params.series&&this.createSeries()},jvm.WorldMap.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(e){this.container.css("background-color",e)},resize:function(){var e=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/e,this.transX*=this.baseScale/e,this.transY*=this.baseScale/e},setSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var e,t;for(e in this.series)for(t=0;tt?this.transY=t:this.transYe?this.transX=e:this.transXf[1].pageX?s=f[1].pageX+(f[0].pageX-f[1].pageX)/2:s=f[0].pageX+(f[1].pageX-f[0].pageX)/2,f[0].pageY>f[1].pageY?o=f[1].pageY+(f[0].pageY-f[1].pageY)/2:o=f[0].pageY+(f[1].pageY-f[0].pageY)/2,s-=l.left,o-=l.top,e=n.scale,t=Math.sqrt(Math.pow(f[0].pageX-f[1].pageX,2)+Math.pow(f[0].pageY-f[1].pageY,2)))),u=f.length};jvm.$(this.container).bind("touchstart",a),jvm.$(this.container).bind("touchmove",a)},bindElementEvents:function(){var e=this,t;this.container.mousemove(function(){t=!0}),this.container.delegate("[class~='jvectormap-element']","mouseover mouseout",function(t){var n=this,r=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),i=r.indexOf("jvectormap-region")===-1?"marker":"region",s=i=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),o=i=="region"?e.regions[s].element:e.markers[s].element,u=i=="region"?e.mapData.paths[s].name:e.markers[s].config.name||"",a=jvm.$.Event(i+"LabelShow.jvectormap"),f=jvm.$.Event(i+"Over.jvectormap");t.type=="mouseover"?(e.container.trigger(f,[s]),f.isDefaultPrevented()||o.setHovered(!0),e.label.text(u),e.container.trigger(a,[e.label,s]),a.isDefaultPrevented()||(e.label.show(),e.labelWidth=e.label.width(),e.labelHeight=e.label.height())):(o.setHovered(!1),e.label.hide(),e.container.trigger(i+"Out.jvectormap",[s]))}),this.container.delegate("[class~='jvectormap-element']","mousedown",function(e){t=!1}),this.container.delegate("[class~='jvectormap-element']","mouseup",function(n){var r=this,i=jvm.$(this).attr("class").baseVal?jvm.$(this).attr("class").baseVal:jvm.$(this).attr("class"),s=i.indexOf("jvectormap-region")===-1?"marker":"region",o=s=="region"?jvm.$(this).attr("data-code"):jvm.$(this).attr("data-index"),u=jvm.$.Event(s+"Click.jvectormap"),a=s=="region"?e.regions[o].element:e.markers[o].element;if(!t){e.container.trigger(u,[o]);if(s==="region"&&e.params.regionsSelectable||s==="marker"&&e.params.markersSelectable)u.isDefaultPrevented()||(e.params[s+"sSelectableOne"]&&e.clearSelected(s+"s"),a.setSelected(!a.isSelected))}})},bindZoomButtons:function(){var e=this;jvm.$("
").addClass("jvectormap-zoomin").text("+").appendTo(this.container),jvm.$("
").addClass("jvectormap-zoomout").html("−").appendTo(this.container),this.container.find(".jvectormap-zoomin").click(function(){e.setScale(e.scale*e.params.zoomStep,e.width/2,e.height/2)}),this.container.find(".jvectormap-zoomout").click(function(){e.setScale(e.scale/e.params.zoomStep,e.width/2,e.height/2)})},createLabel:function(){var e=this;this.label=jvm.$("
").addClass("jvectormap-label").appendTo(jvm.$("body")),this.container.mousemove(function(t){var n=t.pageX-15-e.labelWidth,r=t.pageY-15-e.labelHeight;n<5&&(n=t.pageX+15),r<5&&(r=t.pageY+15),e.label.is(":visible")&&e.label.css({left:n,top:r})})},setScale:function(e,t,n,r){var i,s=jvm.$.Event("zoom.jvectormap");e>this.params.zoomMax*this.baseScale?e=this.params.zoomMax*this.baseScale:eu[0].x&&au[0].y&&fi[0].x&&ei[0].y&&t= 0) { + score = methods._between(score, 0, this.opt.number); + this.score.val(score); + } + + methods._fill.call(this, score); + + if (score) { + methods._roundStars.call(this, score); + } + }, _between: function(value, min, max) { + return Math.min(Math.max(parseFloat(value), min), max); + }, _binds: function() { + if (this.cancel) { + methods._bindCancel.call(this); + } + + methods._bindClick.call(this); + methods._bindOut.call(this); + methods._bindOver.call(this); + }, _bindCancel: function() { + methods._bindClickCancel.call(this); + methods._bindOutCancel.call(this); + methods._bindOverCancel.call(this); + }, _bindClick: function() { + var self = this, + that = $(self); + + self.stars.on('click.raty', function(evt) { + self.score.val((self.opt.half || self.opt.precision) ? that.data('score') : $(this).data('score')); + + if (self.opt.click) { + self.opt.click.call(self, parseFloat(self.score.val()), evt); + } + }); + }, _bindClickCancel: function() { + var self = this; + + self.cancel.on('click.raty', function(evt) { + self.score.removeAttr('value'); + + if (self.opt.click) { + self.opt.click.call(self, null, evt); + } + }); + }, _bindOut: function() { + var self = this; + + $(this).on('mouseleave.raty', function(evt) { + var score = parseFloat(self.score.val()) || undefined; + + methods._apply.call(self, score); + methods._target.call(self, score, evt); + + if (self.opt.mouseout) { + self.opt.mouseout.call(self, score, evt); + } + }); + }, _bindOutCancel: function() { + var self = this; + + self.cancel.on('mouseleave.raty', function(evt) { + $(this).attr('class', self.opt.cancelOff); + + if (self.opt.mouseout) { + self.opt.mouseout.call(self, self.score.val() || null, evt); + } + }); + }, _bindOverCancel: function() { + var self = this; + + self.cancel.on('mouseover.raty', function(evt) { + $(this).attr('class', self.opt.cancelOn); + + self.stars.attr('class', self.opt.starOff); + + methods._target.call(self, null, evt); + + if (self.opt.mouseover) { + self.opt.mouseover.call(self, null); + } + }); + }, _bindOver: function() { + var self = this, + that = $(self), + action = self.opt.half ? 'mousemove.raty' : 'mouseover.raty'; + + self.stars.on(action, function(evt) { + var score = parseInt($(this).data('score'), 10); + + if (self.opt.half) { + var position = parseFloat((evt.pageX - $(this).offset().left) / (self.opt.size ? self.opt.size : parseInt(that.css('font-size')))), + plus = (position > .5) ? 1 : .5; + + score = score - 1 + plus; + + methods._fill.call(self, score); + + if (self.opt.precision) { + score = score - plus + position; + } + + methods._roundStars.call(self, score); + + that.data('score', score); + } else { + methods._fill.call(self, score); + } + + methods._target.call(self, score, evt); + + if (self.opt.mouseover) { + self.opt.mouseover.call(self, score, evt); + } + }); + }, _callback: function(options) { + for (var i in options) { + if (typeof this.opt[options[i]] === 'function') { + this.opt[options[i]] = this.opt[options[i]].call(this); + } + } + }, _createCancel: function() { + var that = $(this), + icon = this.opt.cancelOff, + cancel = $('', { 'class': icon, title: this.opt.cancelHint }); + + if (this.opt.cancelPlace == 'left') { + that.prepend(' ').prepend(cancel); + } else { + that.append(' ').append(cancel); + } + + return cancel; + }, _createScore: function() { + return $('', { type: 'hidden', name: this.opt.scoreName }).appendTo(this); + }, _createStars: function() { + var that = $(this); + + for (var i = 1; i <= this.opt.number; i++) { + var title = methods._getHint.call(this, i), + icon = (this.opt.score && this.opt.score >= i) ? 'starOn' : 'starOff'; + + icon = this.opt[icon]; + + $('', { 'class' : icon, title: title, 'data-score': i }).appendTo(this); + + if (this.opt.space) { + that.append((i < this.opt.number) ? ' ' : ''); + } + } + + return that.children('i'); + }, _error: function(message) { + $(this).html(message); + + $.error(message); + }, _fill: function(score) { + var self = this, + hash = 0; + + for (var i = 1; i <= self.stars.length; i++) { + var star = self.stars.eq(i - 1), + select = self.opt.single ? (i == score) : (i <= score); + + if (self.opt.iconRange && self.opt.iconRange.length > hash) { + var irange = self.opt.iconRange[hash], + on = irange.on || self.opt.starOn, + off = irange.off || self.opt.starOff, + icon = select ? on : off; + + if (i <= irange.range) { + star.attr('class', icon); + } + + if (i == irange.range) { + hash++; + } + } else { + var icon = select ? 'starOn' : 'starOff'; + + star.attr('class', this.opt[icon]); + } + } + }, _getHint: function(score) { + var hint = this.opt.hints[score - 1]; + return (hint === '') ? '' : (hint || score); + }, _lock: function() { + var score = parseInt(this.score.val(), 10), // TODO: 3.1 >> [['1'], ['2'], ['3', '.1', '.2']] + hint = score ? methods._getHint.call(this, score) : this.opt.noRatedMsg; + + $(this).data('readonly', true).css('cursor', '').attr('title', hint); + + this.score.attr('readonly', 'readonly'); + this.stars.attr('title', hint); + + if (this.cancel) { + this.cancel.hide(); + } + }, _roundStars: function(score) { + var rest = (score - Math.floor(score)).toFixed(2); + + if (rest > this.opt.round.down) { + var icon = 'starOn'; // Up: [x.76 .. x.99] + + if (this.opt.halfShow && rest < this.opt.round.up) { // Half: [x.26 .. x.75] + icon = 'starHalf'; + } else if (rest < this.opt.round.full) { // Down: [x.00 .. x.5] + icon = 'starOff'; + } + + this.stars.eq(Math.ceil(score) - 1).attr('class', this.opt[icon]); + } // Full down: [x.00 .. x.25] + }, _target: function(score, evt) { + if (this.opt.target) { + var target = $(this.opt.target); + + if (target.length === 0) { + methods._error.call(this, 'Target selector invalid or missing!'); + } + + if (this.opt.targetFormat.indexOf('{score}') < 0) { + methods._error.call(this, 'Template "{score}" missing!'); + } + + var mouseover = evt && evt.type == 'mouseover'; + + if (score === undefined) { + score = this.opt.targetText; + } else if (score === null) { + score = mouseover ? this.opt.cancelHint : this.opt.targetText; + } else { + if (this.opt.targetType == 'hint') { + score = methods._getHint.call(this, Math.ceil(score)); + } else if (this.opt.precision) { + score = parseFloat(score).toFixed(1); + } + + if (!mouseover && !this.opt.targetKeep) { + score = this.opt.targetText; + } + } + + if (score) { + score = this.opt.targetFormat.toString().replace('{score}', score); + } + + if (target.is(':input')) { + target.val(score); + } else { + target.html(score); + } + } + }, _unlock: function() { + $(this).data('readonly', false).css('cursor', 'pointer').removeAttr('title'); + + this.score.removeAttr('readonly', 'readonly'); + + for (var i = 0; i < this.opt.number; i++) { + this.stars.eq(i).attr('title', methods._getHint.call(this, i + 1)); + } + + if (this.cancel) { + this.cancel.css('display', ''); + } + }, cancel: function(click) { + return this.each(function() { + if ($(this).data('readonly') !== true) { + methods[click ? 'click' : 'score'].call(this, null); + this.score.removeAttr('value'); + } + }); + }, click: function(score) { + return $(this).each(function() { + if ($(this).data('readonly') !== true) { + methods._apply.call(this, score); + + if (!this.opt.click) { + methods._error.call(this, 'You must add the "click: function(score, evt) { }" callback.'); + } + + + this.opt.click.call(this, score, $.Event('click')); + + methods._target.call(this, score); + } + }); + }, destroy: function() { + return $(this).each(function() { + var that = $(this), + raw = that.data('raw'); + + if (raw) { + that.off('.raty').empty().css({ cursor: raw.style.cursor, width: raw.style.width }).removeData('readonly'); + } else { + that.data('raw', that.clone()[0]); + } + }); + }, getScore: function() { + var score = [], + value ; + + $(this).each(function() { + value = this.score.val(); + + score.push(value ? parseFloat(value) : undefined); + }); + + return (score.length > 1) ? score : score[0]; + }, readOnly: function(readonly) { + return this.each(function() { + var that = $(this); + + if (that.data('readonly') !== readonly) { + if (readonly) { + that.off('.raty').children('i').off('.raty'); + + methods._lock.call(this); + } else { + methods._binds.call(this); + methods._unlock.call(this); + } + + that.data('readonly', readonly); + } + }); + }, reload: function() { + return methods.set.call(this, {}); + }, score: function() { + return arguments.length ? methods.setScore.apply(this, arguments) : methods.getScore.call(this); + }, set: function(settings) { + return this.each(function() { + var that = $(this), + actual = that.data('settings'), + news = $.extend({}, actual, settings); + + that.raty(news); + }); + }, setScore: function(score) { + return $(this).each(function() { + if ($(this).data('readonly') !== true) { + methods._apply.call(this, score); + methods._target.call(this, score); + } + }); + } + }; + + $.fn.raty = function(method) { + if (methods[method]) { + return methods[method].apply(this, Array.prototype.slice.call(arguments, 1)); + } else if (typeof method === 'object' || !method) { + return methods.init.apply(this, arguments); + } else { + $.error('Method ' + method + ' does not exist!'); + } + }; + + $.fn.raty.defaults = { + cancel : false, + cancelHint : 'Cancel this rating!', + cancelOff : 'fa fa-fw fa-minus-square', + cancelOn : 'fa fa-fw fa-check-square', + cancelPlace : 'left', + click : undefined, + half : false, + halfShow : true, + hints : ['bad', 'poor', 'regular', 'good', 'gorgeous'], + iconRange : undefined, + mouseout : undefined, + mouseover : undefined, + noRatedMsg : 'Not rated yet!', + number : 5, + numberMax : 20, + precision : false, + readOnly : false, + round : { down: .25, full: .6, up: .76 }, + score : undefined, + scoreName : 'score', + single : false, + size : null, + space : true, + starHalf : 'fa fa-fw fa-star-half-o', + starOff : 'fa fa-fw fa-star-o', + starOn : 'fa fa-fw fa-star', + target : undefined, + targetFormat : '{score}', + targetKeep : false, + targetText : '', + targetType : 'hint', + width : false + }; + +})(jQuery); diff --git a/static/libs/admin-resources/rwd-table/rwd-table.min.css b/static/libs/admin-resources/rwd-table/rwd-table.min.css new file mode 100755 index 0000000..45ac8ea --- /dev/null +++ b/static/libs/admin-resources/rwd-table/rwd-table.min.css @@ -0,0 +1,7 @@ +/*! + * Responsive Tables v5.3.3 (http://gergeo.se/RWD-Table-Patterns) + * This is an awesome solution for responsive tables with complex data. + * Authors: Nadan Gergeo (www.blimp.se), Lucas Wiener & "Maggie Wachs (www.filamentgroup.com)" + * Licensed under MIT (https://github.com/nadangergeo/RWD-Table-Patterns/blob/master/LICENSE-MIT) + */ +.dropdown-menu>li.checkbox-row{padding:5px 20px}.dropdown-menu li.checkbox-row{display:block;clear:both;font-weight:normal;line-height:20px;color:#333;white-space:nowrap}.dropdown-menu li.checkbox-row label{font-weight:normal}.dropdown-menu li.checkbox-row:hover,.dropdown-menu li.checkbox-row input:hover,.dropdown-menu li.checkbox-row label:hover{cursor:pointer}.no-touch .dropdown-menu>.checkbox-row:hover,.no-touch .dropdown-menu>.checkbox-row:active{text-decoration:none;color:#262626;background-color:#f5f5f5}.btn-toolbar{margin-bottom:20px}.lt-ie8 .btn-toolbar{display:none}.table-responsive{border-radius:3px;border:1px solid #ddd;margin-bottom:20px}.table-responsive>.table{margin-bottom:0}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.table-responsive[data-pattern="priority-columns"]{width:100%;margin-bottom:20px;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar;border-radius:3px;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive[data-pattern="priority-columns"]>.table{margin-bottom:0}.table-responsive[data-pattern="priority-columns"]>.table>thead>tr>th,.table-responsive[data-pattern="priority-columns"]>.table>tbody>tr>th,.table-responsive[data-pattern="priority-columns"]>.table>tfoot>tr>th,.table-responsive[data-pattern="priority-columns"]>.table>thead>tr>td,.table-responsive[data-pattern="priority-columns"]>.table>tbody>tr>td,.table-responsive[data-pattern="priority-columns"]>.table>tfoot>tr>td{white-space:nowrap}.table-responsive[data-pattern="priority-columns"]>.table-bordered{border:0}.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>th:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>th:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>th:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>td:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>td:first-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>th:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>th:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>th:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>thead>tr>td:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr>td:last-child,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr:last-child>th,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr:last-child>th,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tbody>tr:last-child>td,.table-responsive[data-pattern="priority-columns"]>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.table-responsive.absolute-solution{position:relative}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="-1"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="-1"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="0"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="0"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="0"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="0"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="2"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="2"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="3"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="3"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="4"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="4"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="5"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="5"],.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="6"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="6"]{display:none}.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="1"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="1"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="1"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="1"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="1"]{display:table-cell}@media screen and (min-width:480px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="2"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="2"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="2"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="2"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="2"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="2"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="2"]{display:table-cell}}@media screen and (min-width:640px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="3"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="3"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="3"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="3"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="3"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="3"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="3"]{display:table-cell}}@media screen and (min-width:800px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="4"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="4"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="4"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="4"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="4"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="4"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="4"]{display:table-cell}}@media screen and (min-width:960px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="5"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="5"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="5"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="5"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="5"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="5"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="5"]{display:table-cell}}@media screen and (min-width:1120px){.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="6"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header th[data-priority="6"],.lt-ie9.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="6"],.lt-ie9.mq.js.lt-ie10 .sticky-table-header td[data-priority="6"]{display:inline}.mq.js .table-responsive[data-pattern="priority-columns"] th[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header th[data-priority="6"],.mq.js .table-responsive[data-pattern="priority-columns"] td[data-priority="6"],.mq.js.lt-ie10 .sticky-table-header td[data-priority="6"]{display:table-cell}}.mq.js .table-responsive[data-pattern="priority-columns"] th.cell-hide,.mq.js.lt-ie10 .sticky-table-header th.cell-hide,.mq.js .table-responsive[data-pattern="priority-columns"] td.cell-hide,.mq.js.lt-ie10 .sticky-table-header td.cell-hide{display:none}.mq.js .table-responsive[data-pattern="priority-columns"] th.cell-show,.mq.js.lt-ie10 .sticky-table-header th.cell-show,.mq.js .table-responsive[data-pattern="priority-columns"] td.cell-show,.mq.js.lt-ie10 .sticky-table-header td.cell-show{display:table-cell}.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"] th.cell-show,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header th.cell-show,.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"] td.cell-show,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header td.cell-show{display:inline}.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all th,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all th,.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all td,.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all td{display:inline !important}.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all th[data-priority="-1"],.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all th[data-priority="-1"],.lt-ie9 .mq.js .table-responsive[data-pattern="priority-columns"].display-all td[data-priority="-1"],.lt-ie9 .mq.js.lt-ie10 .sticky-table-header.display-all td[data-priority="-1"]{display:none !important}.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all th,.mq.js.lt-ie10 .sticky-table-header table.display-all th,.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all td,.mq.js.lt-ie10 .sticky-table-header table.display-all td{display:table-cell !important}.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all th[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header table.display-all th[data-priority="-1"],.mq.js .table-responsive[data-pattern="priority-columns"] table.display-all td[data-priority="-1"],.mq.js.lt-ie10 .sticky-table-header table.display-all td[data-priority="-1"]{display:none !important}table.table-small-font{font-size:12px;-webkit-text-size-adjust:none;line-height:1.5em}table.focus-on tbody tr:hover,table.focus-on tfoot tr:hover{cursor:pointer}table.focus-on tbody tr.unfocused th,table.focus-on tfoot tr.unfocused th,table.focus-on tbody tr.unfocused td,table.focus-on tfoot tr.unfocused td{color:#777;color:rgba(0,0,0,0.4)}table.focus-on tbody tr.focused th,table.focus-on tfoot tr.focused th,table.focus-on tbody tr.focused td,table.focus-on tfoot tr.focused td{background-color:#5bc0de;color:#000}.sticky-table-header{background-color:#fff;border:none;border-radius:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;visibility:hidden;z-index:990;overflow:hidden}.fixed-solution .sticky-table-header{position:fixed;min-width:0}.absolute-solution .sticky-table-header{position:absolute;min-width:100%;top:0}.sticky-table-header.border-radius-fix{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.sticky-table-header>.table{margin-bottom:0}.sticky-table-header>.table>thead>tr>th,.sticky-table-header>.table>tbody>tr>th,.sticky-table-header>.table>tfoot>tr>th,.sticky-table-header>.table>thead>tr>td,.sticky-table-header>.table>tbody>tr>td,.sticky-table-header>.table>tfoot>tr>td{white-space:nowrap}.sticky-table-header>.table-bordered{border:0}.sticky-table-header>.table-bordered>thead>tr>th:first-child,.sticky-table-header>.table-bordered>tbody>tr>th:first-child,.sticky-table-header>.table-bordered>tfoot>tr>th:first-child,.sticky-table-header>.table-bordered>thead>tr>td:first-child,.sticky-table-header>.table-bordered>tbody>tr>td:first-child,.sticky-table-header>.table-bordered>tfoot>tr>td:first-child{border-left:0}.sticky-table-header>.table-bordered>thead>tr>th:last-child,.sticky-table-header>.table-bordered>tbody>tr>th:last-child,.sticky-table-header>.table-bordered>tfoot>tr>th:last-child,.sticky-table-header>.table-bordered>thead>tr>td:last-child,.sticky-table-header>.table-bordered>tbody>tr>td:last-child,.sticky-table-header>.table-bordered>tfoot>tr>td:last-child{border-right:0}.sticky-table-header>.table-bordered>tbody>tr:last-child>th,.sticky-table-header>.table-bordered>tfoot>tr:last-child>th,.sticky-table-header>.table-bordered>tbody>tr:last-child>td,.sticky-table-header>.table-bordered>tfoot>tr:last-child>td{border-bottom:0} \ No newline at end of file diff --git a/static/libs/admin-resources/rwd-table/rwd-table.min.js b/static/libs/admin-resources/rwd-table/rwd-table.min.js new file mode 100755 index 0000000..4f5675a --- /dev/null +++ b/static/libs/admin-resources/rwd-table/rwd-table.min.js @@ -0,0 +1,7 @@ +/*! + * Responsive Tables v5.3.3 (http://gergeo.se/RWD-Table-Patterns) + * This is an awesome solution for responsive tables with complex data. + * Authors: Nadan Gergeo (www.blimp.se), Lucas Wiener & "Maggie Wachs (www.filamentgroup.com)" + * Licensed under MIT (https://github.com/nadangergeo/RWD-Table-Patterns/blob/master/LICENSE-MIT) + */ +!function(d){"use strict";var a=function(t,i){var e=this;if(this.options=i,this.$tableWrapper=null,this.$tableScrollWrapper=d(t),this.$table=d(t).find("table"),1!==this.$table.length)throw new Error("Exactly one table is expected in a .table-responsive div.");this.$tableScrollWrapper.attr("data-pattern",this.options.pattern),this.id=this.$table.prop("id")||this.$tableScrollWrapper.prop("id")||"id"+Math.random().toString(16).slice(2),this.$tableClone=null,this.$stickyTableHeader=null,this.$thead=this.$table.find("thead"),this.$hdrCells=this.$thead.find("tr").first().find("th"),this.$bodyRows=this.$table.find("tbody, tfoot").find("tr"),this.$btnToolbar=null,this.$dropdownGroup=null,this.$dropdownBtn=null,this.$dropdownContainer=null,this.$displayAllBtn=null,this.$focusGroup=null,this.$focusBtn=null,this.displayAllTrigger="display-all-"+this.id+".responsive-table",this.idPrefix=this.id+"-col-",this.headerColIndices={},this.headerRowIndices={},this.wrapTable(),this.createButtonToolbar(),this.buildHeaderCellIndices(),this.setupTableHeader(),this.setupBodyRows(),this.options.stickyTableHeader&&this.createStickyTableHeader(),this.$dropdownContainer.is(":empty")&&this.$dropdownGroup.hide(),d(window).bind("orientationchange resize "+this.displayAllTrigger,function(){e.$dropdownContainer.find("input").trigger("updateCheck"),d.proxy(e.updateSpanningCells(),e)}).trigger("resize")};a.DEFAULTS={pattern:"priority-columns",stickyTableHeader:!0,fixedNavbar:".navbar-fixed-top",addDisplayAllBtn:!0,addFocusBtn:!0,focusBtnIcon:"glyphicon glyphicon-screenshot",mainContainer:window,i18n:{focus:"Focus",display:"Display",displayAll:"Display all"}},a.prototype.wrapTable=function(){this.$tableScrollWrapper.wrap('
'),this.$tableWrapper=this.$tableScrollWrapper.parent()},a.prototype.createButtonToolbar=function(){var t=this;this.$btnToolbar=d('[data-responsive-table-toolbar="'+this.id+'"]').addClass("btn-toolbar"),0===this.$btnToolbar.length&&(this.$btnToolbar=d('
')),this.$dropdownGroup=d('