From f4fc770b44a3b42a0be2e68c830c3c4c0c11f225 Mon Sep 17 00:00:00 2001 From: ArabCoders Date: Fri, 1 Dec 2023 16:49:52 +0300 Subject: [PATCH] new start --- .devcontainer/Dockerfile | 26 + .devcontainer/devcontainer.json | 57 + .devcontainer/post-install.sh | 1 + .dockerignore | 4 + .editorconfig | 17 + .github/workflows/main.yml | 87 + .github/workflows/update-yt-dlp.yml | 41 + .gitignore | 31 + .vscode/launch.json | 40 + Dockerfile | 61 + LICENSE | 661 + Pipfile | 17 + Pipfile.lock | 805 + README.md | 166 + app/main.py | 319 + app/migrations/20231115152938_initial.py | 39 + app/src/Config.py | 135 + app/src/DTO/ItemDTO.py | 40 + app/src/DataStore.py | 155 + app/src/Download.py | 198 + app/src/DownloadQueue.py | 302 + app/src/M3u8.py | 91 + app/src/Notifier.py | 26 + app/src/Segments.py | 116 + app/src/Utils.py | 268 + app/version.py | 1 + entrypoint.sh | 22 + frontend/.gitignore | 23 + frontend/README.md | 24 + frontend/babel.config.js | 5 + frontend/jsconfig.json | 19 + frontend/package-lock.json | 11974 +++++++++++++++ frontend/package.json | 54 + frontend/public/favicon.ico | Bin 0 -> 4286 bytes frontend/public/index.html | 28 + frontend/src/App.vue | 178 + frontend/src/assets/css/bulma-dark.css | 8769 +++++++++++ frontend/src/assets/css/bulma-light.css | 13098 +++++++++++++++++ frontend/src/assets/css/style.css | 89 + frontend/src/assets/logo.png | Bin 0 -> 6849 bytes frontend/src/components/Form-Add.vue | 224 + frontend/src/components/Page-Completed.vue | 320 + frontend/src/components/Page-Downloading.vue | 214 + frontend/src/components/Page-Footer.vue | 26 + frontend/src/components/Page-Header.vue | 103 + frontend/src/components/Video-Player.vue | 81 + frontend/src/formats.js | 65 + frontend/src/main.js | 43 + frontend/vue.config.js | 5 + sc_full.png | Bin 0 -> 114062 bytes sc_short.png | Bin 0 -> 29952 bytes var/config/.gitkeep | 0 var/downloads/.gitkeep | 0 var/tmp/.gitkeep | 0 54 files changed, 39068 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100755 .devcontainer/devcontainer.json create mode 100755 .devcontainer/post-install.sh create mode 100644 .dockerignore create mode 100644 .editorconfig create mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/update-yt-dlp.yml create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 Dockerfile create mode 100644 LICENSE create mode 100644 Pipfile create mode 100644 Pipfile.lock create mode 100644 README.md create mode 100644 app/main.py create mode 100644 app/migrations/20231115152938_initial.py create mode 100644 app/src/Config.py create mode 100644 app/src/DTO/ItemDTO.py create mode 100644 app/src/DataStore.py create mode 100644 app/src/Download.py create mode 100644 app/src/DownloadQueue.py create mode 100644 app/src/M3u8.py create mode 100644 app/src/Notifier.py create mode 100644 app/src/Segments.py create mode 100644 app/src/Utils.py create mode 100644 app/version.py create mode 100644 entrypoint.sh create mode 100644 frontend/.gitignore create mode 100644 frontend/README.md create mode 100644 frontend/babel.config.js create mode 100644 frontend/jsconfig.json create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/public/favicon.ico create mode 100644 frontend/public/index.html create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/assets/css/bulma-dark.css create mode 100644 frontend/src/assets/css/bulma-light.css create mode 100644 frontend/src/assets/css/style.css create mode 100644 frontend/src/assets/logo.png create mode 100644 frontend/src/components/Form-Add.vue create mode 100644 frontend/src/components/Page-Completed.vue create mode 100644 frontend/src/components/Page-Downloading.vue create mode 100644 frontend/src/components/Page-Footer.vue create mode 100644 frontend/src/components/Page-Header.vue create mode 100644 frontend/src/components/Video-Player.vue create mode 100644 frontend/src/formats.js create mode 100644 frontend/src/main.js create mode 100644 frontend/vue.config.js create mode 100644 sc_full.png create mode 100644 sc_short.png create mode 100644 var/config/.gitkeep create mode 100644 var/downloads/.gitkeep create mode 100644 var/tmp/.gitkeep diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..f95cfb4c --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,26 @@ +ARG VARIANT="3.11-bullseye" +FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT} + +# [Choice] Node.js version: none, lts/*, 16, 14, 12, 10 +ARG NODE_VERSION="none" +RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi + +# Poetry +ARG POETRY_VERSION="none" +RUN if [ "${POETRY_VERSION}" != "none" ]; then su vscode -c "umask 0002 && pip3 install poetry==${POETRY_VERSION}"; fi + +# Nox +ARG NOX_VERSION="none" +RUN if [ "${NOX_VERSION}" != "none" ]; then su vscode -c "umask 0002 && pip3 install nox-poetry nox==${NOX_VERSION}"; fi + +#[Optional] If your pip requirements rarely change, uncomment this section to add them to the image. +#COPY requirements.txt /tmp/pip-tmp/ +#RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \ +# && rm -rf /tmp/pip-tmp + +#[Optional] Uncomment this section to install additional OS packages. +#RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ +# && apt-get -y install --no-install-recommends + +#[Optional] Uncomment this line to install global node packages. +#RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g " 2>&1 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100755 index 00000000..8053434b --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,57 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at: +// https://github.com/microsoft/vscode-dev-containers/tree/v0.231.6/containers/python-3 +{ + "name": "Python 3", + "build": { + "dockerfile": "Dockerfile", + "context": "..", + "args": { + // Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6 + // Append -bullseye or -buster to pin to an OS version. + // Use -bullseye variants on local on arm64/Apple Silicon. + "VARIANT": "3.10-bullseye", + // Options + "NODE_VERSION": "lts/*" + } + }, + "customizations": { + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + "python.defaultInterpreterPath": "/usr/local/bin/python", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.formatting.autopep8Path": "/usr/local/py-utils/bin/autopep8", + "python.formatting.blackPath": "/usr/local/py-utils/bin/black", + "python.formatting.yapfPath": "/usr/local/py-utils/bin/yapf", + "python.linting.banditPath": "/usr/local/py-utils/bin/bandit", + "python.linting.flake8Path": "/usr/local/py-utils/bin/flake8", + "python.linting.mypyPath": "/usr/local/py-utils/bin/mypy", + "python.linting.pycodestylePath": "/usr/local/py-utils/bin/pycodestyle", + "python.linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle", + "python.linting.pylintPath": "/usr/local/py-utils/bin/pylint" + }, + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "ms-python.python", + "ms-python.vscode-pylance" + ] + } + }, + // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode", + // Use 'forwardPorts' to make a list of ports inside the container available locally. + "forwardPorts": [ + 8081 + ], + // Install project dependencies + // "postCreateCommand": "poetry install", + "postCreateCommand": "bash ./.devcontainer/post-install.sh", + "features": { + "github-cli": "latest" + }, + "mounts": [ + // Re-use local Git configuration + "source=${localEnv:HOME}/.gitconfig,target=/home/vscode/.gitconfig,type=bind,consistency=cached" + ] +} diff --git a/.devcontainer/post-install.sh b/.devcontainer/post-install.sh new file mode 100755 index 00000000..f1f641af --- /dev/null +++ b/.devcontainer/post-install.sh @@ -0,0 +1 @@ +#!/usr/bin/env bash diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..f49e1494 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.git +.venv +ui/.angular +ui/node_modules diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..9e851b92 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf + +[*.md] +max_line_length = off +trim_trailing_whitespace = false + +[*.py] +indent_size = 4 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..9b64dc29 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,87 @@ +name: build + +on: + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug + push: + branches: + - "*" + paths-ignore: + - "**.md" + - ".github/**" + pull_request: + branches: + - "master" + paths-ignore: + - "**.md" + - ".github/ISSUE_TEMPLATE/**" + +env: + PLATFORMS: linux/amd64 + +jobs: + push-build: + runs-on: ubuntu-latest + permissions: + packages: write + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Update Version File + uses: ArabCoders/write-version-to-file@master + with: + filename: "/app/version.py" + placeholder: "dev-master" + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository }} + tags: | + type=raw,value=latest,enable=${{ endsWith(github.ref, github.event.repository.default_branch) }} + type=ref,event=branch + type=ref,event=tag + type=raw,value={{branch}}{{base_ref}}-{{date 'YYYYMMDD'}}-{{sha}} + flavor: | + latest=false + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + platforms: ${{ env.PLATFORMS }} + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha, scope=${{ github.workflow }} + cache-to: type=gha, scope=${{ github.workflow }} + + - uses: actions/delete-package-versions@v4 + with: + package-name: "ytptube" + package-type: "container" + min-versions-to-keep: 5 diff --git a/.github/workflows/update-yt-dlp.yml b/.github/workflows/update-yt-dlp.yml new file mode 100644 index 00000000..19812327 --- /dev/null +++ b/.github/workflows/update-yt-dlp.yml @@ -0,0 +1,41 @@ +name: update-yt-dlp + +on: + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug + schedule: + - cron: "0 0 * * *" + +jobs: + update-yt-dlp: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + - name: Update yt-dlp + run: | + pip install pipenv + pipenv sync + VER=`pipenv run pip list -o | awk '$1 == "yt-dlp" {print $3}'` + if [ -n "$VER" ]; then + pipenv update yt-dlp + fi + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + delete-branch: true + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..adbafeaf --- /dev/null +++ b/.gitignore @@ -0,0 +1,31 @@ +# compiled output +/frontend/dist + +# dependencies +/frontend/node_modules + +# IDEs and editors +/ui/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Keep Var dir +var/* +!./var/config/.gitkeep +!./var/downloads/.gitkeep +!./var/tmp/.gitkeep + +# Misc - python stuff +__pycache__ +.venv diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..114acd41 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,40 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Node: App.Vue", + "request": "launch", + "runtimeArgs": [ + "run", + "serve", + "--", + "--port", + "3000" + ], + "runtimeExecutable": "npm", + "type": "node", + "cwd": "${workspaceFolder}/frontend", + "env": { + "VUE_APP_BASE_URL": "http://localhost:8081", + } + }, + { + "name": "Python: main.py", + "type": "python", + "request": "launch", + "program": "app/main.py", + "console": "integratedTerminal", + "justMyCode": true, + "env": { + "YTP_CONFIG_PATH": "${workspaceFolder}/var/config", + "YTP_DOWNLOAD_PATH": "${workspaceFolder}/var/downloads", + "YTP_TEMP_PATH": "${workspaceFolder}/var/tmp", + "YTP_YTDL_OPTIONS_FILE": "${workspaceFolder}/var/config/ytdlp.json", + "YTP_URL_HOST": "http://localhost:8081" + } + } + ] +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..8f7a0571 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,61 @@ +FROM node:lts-alpine as npm_builder + +WORKDIR /ytptube +COPY frontend ./ +RUN npm ci && npm run build + +FROM python:3.11-alpine as python_builder + +ENV LANG C.UTF-8 +ENV LC_ALL C.UTF-8 +ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONFAULTHANDLER 1 + +# Use sed to strip carriage-return characters from the entrypoint script (in case building on Windows) +# Install dependencies +RUN apk add --update coreutils curl gcc g++ musl-dev libffi-dev openssl-dev && pip install pipenv + +COPY ./Pipfile* . +RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy + +FROM python:3.11-alpine + +ARG TZ=UTC +ARG USER_ID=1000 +ENV IN_CONTAINER=1 +ENV UMASK=022 +ENV YTP_CONFIG_PATH=/config +ENV YTP_TEMP_PATH=/tmp +ENV YTP_DOWNLOAD_PATH=/downloads + +RUN mkdir /config /downloads && ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone && \ + apk add --update --no-cache bash ffmpeg aria2 coreutils curl shadow sqlite tzdata && \ + useradd -u ${USER_ID:-1000} -U -d /app -s /bin/bash app && \ + rm -rf /var/cache/apk/* + +COPY entrypoint.sh / + +RUN sed -i 's/\r$//g' /entrypoint.sh && chmod +x /entrypoint.sh + +COPY --chown=app:app ./app /app/app +COPY --chown=app:app --from=npm_builder /ytptube/dist /app/frontend/dist +COPY --chown=app:app --from=python_builder /.venv /app/.venv + +ENV PATH="/app/.venv/bin:$PATH" + +RUN chown -R app:app /config /downloads + +VOLUME /config +VOLUME /downloads + +EXPOSE 8081 + +# Switch to user +# +USER app + +WORKDIR /app + +ENTRYPOINT ["/entrypoint.sh"] + +CMD ["/app/.venv/bin/python", "app/main.py"] diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..0ad25db4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. diff --git a/Pipfile b/Pipfile new file mode 100644 index 00000000..d1701af2 --- /dev/null +++ b/Pipfile @@ -0,0 +1,17 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +python-socketio = "~=5.0" +aiohttp = "*" +yt-dlp = "*" +caribou = "*" +coloredlogs = "*" +ffprobe-python = "*" + +[dev-packages] + +[requires] +python_version = "3.11" diff --git a/Pipfile.lock b/Pipfile.lock new file mode 100644 index 00000000..118187d9 --- /dev/null +++ b/Pipfile.lock @@ -0,0 +1,805 @@ +{ + "_meta": { + "hash": { + "sha256": "258ec26d54c61c901fb67cb207bfb76d71d60ae0866f2ff3ab9f5e2e97940c84" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.11" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "aiohttp": { + "hashes": [ + "sha256:02ab6006ec3c3463b528374c4cdce86434e7b89ad355e7bf29e2f16b46c7dd6f", + "sha256:04fa38875e53eb7e354ece1607b1d2fdee2d175ea4e4d745f6ec9f751fe20c7c", + "sha256:0b0a6a36ed7e164c6df1e18ee47afbd1990ce47cb428739d6c99aaabfaf1b3af", + "sha256:0d406b01a9f5a7e232d1b0d161b40c05275ffbcbd772dc18c1d5a570961a1ca4", + "sha256:0e49b08eafa4f5707ecfb321ab9592717a319e37938e301d462f79b4e860c32a", + "sha256:0e7ba7ff228c0d9a2cd66194e90f2bca6e0abca810b786901a569c0de082f489", + "sha256:11cb254e397a82efb1805d12561e80124928e04e9c4483587ce7390b3866d213", + "sha256:11ff168d752cb41e8492817e10fb4f85828f6a0142b9726a30c27c35a1835f01", + "sha256:176df045597e674fa950bf5ae536be85699e04cea68fa3a616cf75e413737eb5", + "sha256:219a16763dc0294842188ac8a12262b5671817042b35d45e44fd0a697d8c8361", + "sha256:22698f01ff5653fe66d16ffb7658f582a0ac084d7da1323e39fd9eab326a1f26", + "sha256:237533179d9747080bcaad4d02083ce295c0d2eab3e9e8ce103411a4312991a0", + "sha256:289ba9ae8e88d0ba16062ecf02dd730b34186ea3b1e7489046fc338bdc3361c4", + "sha256:2c59e0076ea31c08553e868cec02d22191c086f00b44610f8ab7363a11a5d9d8", + "sha256:2c9376e2b09895c8ca8b95362283365eb5c03bdc8428ade80a864160605715f1", + "sha256:3135713c5562731ee18f58d3ad1bf41e1d8883eb68b363f2ffde5b2ea4b84cc7", + "sha256:3b9c7426923bb7bd66d409da46c41e3fb40f5caf679da624439b9eba92043fa6", + "sha256:3c0266cd6f005e99f3f51e583012de2778e65af6b73860038b968a0a8888487a", + "sha256:41473de252e1797c2d2293804e389a6d6986ef37cbb4a25208de537ae32141dd", + "sha256:4831df72b053b1eed31eb00a2e1aff6896fb4485301d4ccb208cac264b648db4", + "sha256:49f0c1b3c2842556e5de35f122fc0f0b721334ceb6e78c3719693364d4af8499", + "sha256:4b4c452d0190c5a820d3f5c0f3cd8a28ace48c54053e24da9d6041bf81113183", + "sha256:4ee8caa925aebc1e64e98432d78ea8de67b2272252b0a931d2ac3bd876ad5544", + "sha256:500f1c59906cd142d452074f3811614be04819a38ae2b3239a48b82649c08821", + "sha256:5216b6082c624b55cfe79af5d538e499cd5f5b976820eac31951fb4325974501", + "sha256:54311eb54f3a0c45efb9ed0d0a8f43d1bc6060d773f6973efd90037a51cd0a3f", + "sha256:54631fb69a6e44b2ba522f7c22a6fb2667a02fd97d636048478db2fd8c4e98fe", + "sha256:565760d6812b8d78d416c3c7cfdf5362fbe0d0d25b82fed75d0d29e18d7fc30f", + "sha256:598db66eaf2e04aa0c8900a63b0101fdc5e6b8a7ddd805c56d86efb54eb66672", + "sha256:5c4fa235d534b3547184831c624c0b7c1e262cd1de847d95085ec94c16fddcd5", + "sha256:69985d50a2b6f709412d944ffb2e97d0be154ea90600b7a921f95a87d6f108a2", + "sha256:69da0f3ed3496808e8cbc5123a866c41c12c15baaaead96d256477edf168eb57", + "sha256:6c93b7c2e52061f0925c3382d5cb8980e40f91c989563d3d32ca280069fd6a87", + "sha256:70907533db712f7aa791effb38efa96f044ce3d4e850e2d7691abd759f4f0ae0", + "sha256:81b77f868814346662c96ab36b875d7814ebf82340d3284a31681085c051320f", + "sha256:82eefaf1a996060602f3cc1112d93ba8b201dbf5d8fd9611227de2003dddb3b7", + "sha256:85c3e3c9cb1d480e0b9a64c658cd66b3cfb8e721636ab8b0e746e2d79a7a9eed", + "sha256:8a22a34bc594d9d24621091d1b91511001a7eea91d6652ea495ce06e27381f70", + "sha256:8cef8710fb849d97c533f259103f09bac167a008d7131d7b2b0e3a33269185c0", + "sha256:8d44e7bf06b0c0a70a20f9100af9fcfd7f6d9d3913e37754c12d424179b4e48f", + "sha256:8d7f98fde213f74561be1d6d3fa353656197f75d4edfbb3d94c9eb9b0fc47f5d", + "sha256:8d8e4450e7fe24d86e86b23cc209e0023177b6d59502e33807b732d2deb6975f", + "sha256:8fc49a87ac269d4529da45871e2ffb6874e87779c3d0e2ccd813c0899221239d", + "sha256:90ec72d231169b4b8d6085be13023ece8fa9b1bb495e4398d847e25218e0f431", + "sha256:91c742ca59045dce7ba76cab6e223e41d2c70d79e82c284a96411f8645e2afff", + "sha256:9b05d33ff8e6b269e30a7957bd3244ffbce2a7a35a81b81c382629b80af1a8bf", + "sha256:9b05d5cbe9dafcdc733262c3a99ccf63d2f7ce02543620d2bd8db4d4f7a22f83", + "sha256:9c5857612c9813796960c00767645cb5da815af16dafb32d70c72a8390bbf690", + "sha256:a34086c5cc285be878622e0a6ab897a986a6e8bf5b67ecb377015f06ed316587", + "sha256:ab221850108a4a063c5b8a70f00dd7a1975e5a1713f87f4ab26a46e5feac5a0e", + "sha256:b796b44111f0cab6bbf66214186e44734b5baab949cb5fb56154142a92989aeb", + "sha256:b8c3a67eb87394386847d188996920f33b01b32155f0a94f36ca0e0c635bf3e3", + "sha256:bcb6532b9814ea7c5a6a3299747c49de30e84472fa72821b07f5a9818bce0f66", + "sha256:bcc0ea8d5b74a41b621ad4a13d96c36079c81628ccc0b30cfb1603e3dfa3a014", + "sha256:bea94403a21eb94c93386d559bce297381609153e418a3ffc7d6bf772f59cc35", + "sha256:bff7e2811814fa2271be95ab6e84c9436d027a0e59665de60edf44e529a42c1f", + "sha256:c72444d17777865734aa1a4d167794c34b63e5883abb90356a0364a28904e6c0", + "sha256:c7b5d5d64e2a14e35a9240b33b89389e0035e6de8dbb7ffa50d10d8b65c57449", + "sha256:c7e939f1ae428a86e4abbb9a7c4732bf4706048818dfd979e5e2839ce0159f23", + "sha256:c88a15f272a0ad3d7773cf3a37cc7b7d077cbfc8e331675cf1346e849d97a4e5", + "sha256:c9110c06eaaac7e1f5562caf481f18ccf8f6fdf4c3323feab28a93d34cc646bd", + "sha256:ca7ca5abfbfe8d39e653870fbe8d7710be7a857f8a8386fc9de1aae2e02ce7e4", + "sha256:cae4c0c2ca800c793cae07ef3d40794625471040a87e1ba392039639ad61ab5b", + "sha256:cdefe289681507187e375a5064c7599f52c40343a8701761c802c1853a504558", + "sha256:cf2a0ac0615842b849f40c4d7f304986a242f1e68286dbf3bd7a835e4f83acfd", + "sha256:cfeadf42840c1e870dc2042a232a8748e75a36b52d78968cda6736de55582766", + "sha256:d737e69d193dac7296365a6dcb73bbbf53bb760ab25a3727716bbd42022e8d7a", + "sha256:d7481f581251bb5558ba9f635db70908819caa221fc79ee52a7f58392778c636", + "sha256:df9cf74b9bc03d586fc53ba470828d7b77ce51b0582d1d0b5b2fb673c0baa32d", + "sha256:e1f80197f8b0b846a8d5cf7b7ec6084493950d0882cc5537fb7b96a69e3c8590", + "sha256:ecca113f19d5e74048c001934045a2b9368d77b0b17691d905af18bd1c21275e", + "sha256:ee2527134f95e106cc1653e9ac78846f3a2ec1004cf20ef4e02038035a74544d", + "sha256:f27fdaadce22f2ef950fc10dcdf8048407c3b42b73779e48a4e76b3c35bca26c", + "sha256:f694dc8a6a3112059258a725a4ebe9acac5fe62f11c77ac4dcf896edfa78ca28", + "sha256:f800164276eec54e0af5c99feb9494c295118fc10a11b997bbb1348ba1a52065", + "sha256:ffcd828e37dc219a72c9012ec44ad2e7e3066bec6ff3aaa19e7d435dbf4032ca" + ], + "index": "pypi", + "version": "==3.9.1" + }, + "aiosignal": { + "hashes": [ + "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc", + "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17" + ], + "markers": "python_version >= '3.7'", + "version": "==1.3.1" + }, + "argparse": { + "hashes": [ + "sha256:62b089a55be1d8949cd2bc7e0df0bddb9e028faefc8c32038cc84862aefdd6e4", + "sha256:c31647edb69fd3d465a847ea3157d37bed1f95f19760b11a47aa91c04b666314" + ], + "version": "==1.4.0" + }, + "async-timeout": { + "hashes": [ + "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", + "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028" + ], + "markers": "python_version < '3.11'", + "version": "==4.0.3" + }, + "attrs": { + "hashes": [ + "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04", + "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015" + ], + "markers": "python_version >= '3.7'", + "version": "==23.1.0" + }, + "bidict": { + "hashes": [ + "sha256:1e0f7f74e4860e6d0943a05d4134c63a2fad86f3d4732fb265bd79e4e856d81d", + "sha256:6ef212238eb884b664f28da76f33f1d28b260f665fc737b413b287d5487d1e7b" + ], + "markers": "python_version >= '3.7'", + "version": "==0.22.1" + }, + "brotli": { + "hashes": [ + "sha256:03d20af184290887bdea3f0f78c4f737d126c74dc2f3ccadf07e54ceca3bf208", + "sha256:0541e747cce78e24ea12d69176f6a7ddb690e62c425e01d31cc065e69ce55b48", + "sha256:069a121ac97412d1fe506da790b3e69f52254b9df4eb665cd42460c837193354", + "sha256:0b63b949ff929fbc2d6d3ce0e924c9b93c9785d877a21a1b678877ffbbc4423a", + "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128", + "sha256:11d00ed0a83fa22d29bc6b64ef636c4552ebafcef57154b4ddd132f5638fbd1c", + "sha256:141bd4d93984070e097521ed07e2575b46f817d08f9fa42b16b9b5f27b5ac088", + "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9", + "sha256:1ab4fbee0b2d9098c74f3057b2bc055a8bd92ccf02f65944a241b4349229185a", + "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3", + "sha256:224e57f6eac61cc449f498cc5f0e1725ba2071a3d4f48d5d9dffba42db196438", + "sha256:22fc2a8549ffe699bfba2256ab2ed0421a7b8fadff114a3d201794e45a9ff578", + "sha256:23032ae55523cc7bccb4f6a0bf368cd25ad9bcdcc1990b64a647e7bbcce9cb5b", + "sha256:2333e30a5e00fe0fe55903c8832e08ee9c3b1382aacf4db26664a16528d51b4b", + "sha256:2954c1c23f81c2eaf0b0717d9380bd348578a94161a65b3a2afc62c86467dd68", + "sha256:2de9d02f5bda03d27ede52e8cfe7b865b066fa49258cbab568720aa5be80a47d", + "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd", + "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409", + "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da", + "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50", + "sha256:3d7954194c36e304e1523f55d7042c59dc53ec20dd4e9ea9d151f1b62b4415c0", + "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180", + "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d", + "sha256:4d4a848d1837973bf0f4b5e54e3bec977d99be36a7895c61abb659301b02c112", + "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc", + "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265", + "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327", + "sha256:587ca6d3cef6e4e868102672d3bd9dc9698c309ba56d41c2b9c85bbb903cdb95", + "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd", + "sha256:5eeb539606f18a0b232d4ba45adccde4125592f3f636a6182b4a8a436548b914", + "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0", + "sha256:5fb2ce4b8045c78ebbc7b8f3c15062e435d47e7393cc57c25115cfd49883747a", + "sha256:6172447e1b368dcbc458925e5ddaf9113477b0ed542df258d84fa28fc45ceea7", + "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0", + "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451", + "sha256:7905193081db9bfa73b1219140b3d315831cbff0d8941f22da695832f0dd188f", + "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e", + "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248", + "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91", + "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", + "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966", + "sha256:890b5a14ce214389b2cc36ce82f3093f96f4cc730c1cffdbefff77a7c71f2a97", + "sha256:89f4988c7203739d48c6f806f1e87a1d96e0806d44f0fba61dba81392c9e474d", + "sha256:8dadd1314583ec0bf2d1379f7008ad627cd6336625d6679cf2f8e67081b83acf", + "sha256:901032ff242d479a0efa956d853d16875d42157f98951c0230f69e69f9c09bac", + "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951", + "sha256:919e32f147ae93a09fe064d77d5ebf4e35502a8df75c29fb05788528e330fe74", + "sha256:929811df5462e182b13920da56c6e0284af407d1de637d8e536c5cd00a7daf60", + "sha256:949f3b7c29912693cee0afcf09acd6ebc04c57af949d9bf77d6101ebb61e388c", + "sha256:a090ca607cbb6a34b0391776f0cb48062081f5f60ddcce5d11838e67a01928d1", + "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8", + "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d", + "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc", + "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61", + "sha256:a599669fd7c47233438a56936988a2478685e74854088ef5293802123b5b2460", + "sha256:a743e5a28af5f70f9c080380a5f908d4d21d40e8f0e0c8901604d15cfa9ba751", + "sha256:a77def80806c421b4b0af06f45d65a136e7ac0bdca3c09d9e2ea4e515367c7e9", + "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1", + "sha256:ae15b066e5ad21366600ebec29a7ccbc86812ed267e4b28e860b8ca16a2bc474", + "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2", + "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6", + "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9", + "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2", + "sha256:cdad5b9014d83ca68c25d2e9444e28e967ef16e80f6b436918c700c117a85467", + "sha256:cdbc1fc1bc0bff1cef838eafe581b55bfbffaed4ed0318b724d0b71d4d377619", + "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf", + "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408", + "sha256:d143fd47fad1db3d7c27a1b1d66162e855b5d50a89666af46e1679c496e8e579", + "sha256:d192f0f30804e55db0d0e0a35d83a9fead0e9a359a9ed0285dbacea60cc10a84", + "sha256:db85ecf4e609a48f4b29055f1e144231b90edc90af7481aa731ba2d059226b1b", + "sha256:de6551e370ef19f8de1807d0a9aa2cdfdce2e85ce88b122fe9f6b2b076837e59", + "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752", + "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80", + "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0", + "sha256:e93dfc1a1165e385cc8239fab7c036fb2cd8093728cbd85097b284d7b99249a2", + "sha256:efa8b278894b14d6da122a72fefcebc28445f2d3f880ac59d46c90f4c13be9a3", + "sha256:f0d8a7a6b5983c2496e364b969f0e526647a06b075d034f3297dc66f3b360c64", + "sha256:f296c40e23065d0d6650c4aefe7470d2a25fffda489bcc3eb66083f3ac9f6643", + "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e", + "sha256:f733d788519c7e3e71f0855c96618720f5d3d60c3cb829d8bbb722dddce37985", + "sha256:fce1473f3ccc4187f75b4690cfc922628aed4d3dd013d047f95a9b3919a86596", + "sha256:fd5f17ff8f14003595ab414e45fce13d073e0762394f957182e69035c9f3d7c2", + "sha256:fdc3ff3bfccdc6b9cc7c342c03aa2400683f0cb891d46e94b64a197910dc4064" + ], + "markers": "implementation_name == 'cpython'", + "version": "==1.1.0" + }, + "caribou": { + "hashes": [ + "sha256:5ca6e6e6ad7d3175137c68d809e203fbd931f79163a5613808a789449fef7863" + ], + "index": "pypi", + "version": "==0.3.0" + }, + "certifi": { + "hashes": [ + "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1", + "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474" + ], + "markers": "python_version >= '3.6'", + "version": "==2023.11.17" + }, + "charset-normalizer": { + "hashes": [ + "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", + "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087", + "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786", + "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8", + "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09", + "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185", + "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", + "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", + "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519", + "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898", + "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269", + "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", + "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", + "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6", + "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8", + "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a", + "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73", + "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", + "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714", + "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2", + "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", + "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", + "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d", + "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", + "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6", + "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", + "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", + "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d", + "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a", + "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", + "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", + "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", + "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0", + "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed", + "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068", + "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac", + "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25", + "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", + "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab", + "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26", + "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2", + "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", + "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", + "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", + "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99", + "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c", + "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d", + "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811", + "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa", + "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a", + "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", + "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b", + "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04", + "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c", + "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", + "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458", + "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389", + "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99", + "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985", + "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", + "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238", + "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f", + "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d", + "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796", + "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a", + "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143", + "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8", + "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", + "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5", + "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5", + "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711", + "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4", + "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", + "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c", + "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7", + "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4", + "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b", + "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", + "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", + "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c", + "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", + "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8", + "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", + "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b", + "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4", + "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", + "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", + "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33", + "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", + "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561" + ], + "markers": "python_full_version >= '3.7.0'", + "version": "==3.3.2" + }, + "coloredlogs": { + "hashes": [ + "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", + "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0" + ], + "index": "pypi", + "version": "==15.0.1" + }, + "ffprobe-python": { + "hashes": [ + "sha256:b02576228f6da0b0bb973e15e5dadb132013a4ded202dabb89ac77779e9634d6", + "sha256:b1d3e69e65e0814e28575f63a47b836a0b7cc8f1ffedd62d27152d9e4488214a" + ], + "index": "pypi", + "version": "==1.0.3" + }, + "frozenlist": { + "hashes": [ + "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6", + "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01", + "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251", + "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9", + "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b", + "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87", + "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf", + "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f", + "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0", + "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2", + "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b", + "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc", + "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c", + "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467", + "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9", + "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1", + "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a", + "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79", + "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167", + "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300", + "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf", + "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea", + "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2", + "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab", + "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3", + "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb", + "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087", + "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc", + "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8", + "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62", + "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f", + "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326", + "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c", + "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431", + "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963", + "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7", + "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef", + "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3", + "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956", + "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781", + "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472", + "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc", + "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839", + "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672", + "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3", + "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503", + "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d", + "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8", + "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b", + "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc", + "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f", + "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559", + "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b", + "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95", + "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb", + "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963", + "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919", + "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f", + "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3", + "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1", + "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e" + ], + "markers": "python_version >= '3.8'", + "version": "==1.4.0" + }, + "h11": { + "hashes": [ + "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", + "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761" + ], + "markers": "python_version >= '3.7'", + "version": "==0.14.0" + }, + "humanfriendly": { + "hashes": [ + "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", + "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==10.0" + }, + "idna": { + "hashes": [ + "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", + "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f" + ], + "markers": "python_version >= '3.5'", + "version": "==3.6" + }, + "multidict": { + "hashes": [ + "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9", + "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8", + "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03", + "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710", + "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161", + "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664", + "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569", + "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067", + "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313", + "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706", + "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2", + "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636", + "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49", + "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93", + "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603", + "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0", + "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60", + "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4", + "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e", + "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1", + "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60", + "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951", + "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc", + "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe", + "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95", + "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d", + "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8", + "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed", + "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2", + "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775", + "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87", + "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c", + "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2", + "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98", + "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3", + "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe", + "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78", + "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660", + "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176", + "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e", + "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988", + "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c", + "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c", + "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0", + "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449", + "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f", + "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde", + "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5", + "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d", + "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac", + "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a", + "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9", + "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca", + "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11", + "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35", + "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063", + "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b", + "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982", + "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258", + "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1", + "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52", + "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480", + "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7", + "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461", + "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d", + "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc", + "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779", + "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a", + "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547", + "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0", + "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171", + "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf", + "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d", + "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba" + ], + "markers": "python_version >= '3.7'", + "version": "==6.0.4" + }, + "mutagen": { + "hashes": [ + "sha256:719fadef0a978c31b4cf3c956261b3c58b6948b32023078a2117b1de09f0fc99", + "sha256:edd96f50c5907a9539d8e5bba7245f62c9f520aef333d13392a79a4f70aca719" + ], + "markers": "python_version >= '3.7'", + "version": "==1.47.0" + }, + "pycryptodomex": { + "hashes": [ + "sha256:09c9401dc06fb3d94cb1ec23b4ea067a25d1f4c6b7b118ff5631d0b5daaab3cc", + "sha256:0b2f1982c5bc311f0aab8c293524b861b485d76f7c9ab2c3ac9a25b6f7655975", + "sha256:136b284e9246b4ccf4f752d435c80f2c44fc2321c198505de1d43a95a3453b3c", + "sha256:1789d89f61f70a4cd5483d4dfa8df7032efab1118f8b9894faae03c967707865", + "sha256:2126bc54beccbede6eade00e647106b4f4c21e5201d2b0a73e9e816a01c50905", + "sha256:258c4233a3fe5a6341780306a36c6fb072ef38ce676a6d41eec3e591347919e8", + "sha256:263de9a96d2fcbc9f5bd3a279f14ea0d5f072adb68ebd324987576ec25da084d", + "sha256:50cb18d4dd87571006fd2447ccec85e6cec0136632a550aa29226ba075c80644", + "sha256:5b883e1439ab63af976656446fb4839d566bb096f15fc3c06b5a99cde4927188", + "sha256:5d73e9fa3fe830e7b6b42afc49d8329b07a049a47d12e0ef9225f2fd220f19b2", + "sha256:61056a1fd3254f6f863de94c233b30dd33bc02f8c935b2000269705f1eeeffa4", + "sha256:67c8eb79ab33d0fbcb56842992298ddb56eb6505a72369c20f60bc1d2b6fb002", + "sha256:6e45bb4635b3c4e0a00ca9df75ef6295838c85c2ac44ad882410cb631ed1eeaa", + "sha256:7cb51096a6a8d400724104db8a7e4f2206041a1f23e58924aa3d8d96bcb48338", + "sha256:800a2b05cfb83654df80266692f7092eeefe2a314fa7901dcefab255934faeec", + "sha256:8df69e41f7e7015a90b94d1096ec3d8e0182e73449487306709ec27379fff761", + "sha256:917033016ecc23c8933205585a0ab73e20020fdf671b7cd1be788a5c4039840b", + "sha256:a12144d785518f6491ad334c75ccdc6ad52ea49230b4237f319dbb7cef26f464", + "sha256:a3866d68e2fc345162b1b9b83ef80686acfe5cec0d134337f3b03950a0a8bf56", + "sha256:a588a1cb7781da9d5e1c84affd98c32aff9c89771eac8eaa659d2760666f7139", + "sha256:a77b79852175064c822b047fee7cf5a1f434f06ad075cc9986aa1c19a0c53eb0", + "sha256:af83a554b3f077564229865c45af0791be008ac6469ef0098152139e6bd4b5b6", + "sha256:b801216c48c0886742abf286a9a6b117e248ca144d8ceec1f931ce2dd0c9cb40", + "sha256:bfb040b5dda1dff1e197d2ef71927bd6b8bfcb9793bc4dfe0bb6df1e691eaacb", + "sha256:c01678aee8ac0c1a461cbc38ad496f953f9efcb1fa19f5637cbeba7544792a53", + "sha256:c74eb1f73f788facece7979ce91594dc177e1a9b5d5e3e64697dd58299e5cb4d", + "sha256:c9a68a2f7bd091ccea54ad3be3e9d65eded813e6d79fdf4cc3604e26cdd6384f", + "sha256:d4dd3b381ff5a5907a3eb98f5f6d32c64d319a840278ceea1dcfcc65063856f3", + "sha256:e8e5ecbd4da4157889fce8ba49da74764dd86c891410bfd6b24969fa46edda51", + "sha256:eb2fc0ec241bf5e5ef56c8fbec4a2634d631e4c4f616a59b567947a0f35ad83c", + "sha256:edbe083c299835de7e02c8aa0885cb904a75087d35e7bab75ebe5ed336e8c3e2", + "sha256:ff64fd720def623bf64d8776f8d0deada1cc1bf1ec3c1f9d6f5bb5bd098d034f" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==3.19.0" + }, + "python-engineio": { + "hashes": [ + "sha256:2a32585d8fecd0118264fe0c39788670456ca9aa466d7c026d995cfff68af164", + "sha256:6055ce35b7f32b70641d53846faf76e06f2af0107a714cedb2750595c69ade43" + ], + "markers": "python_version >= '3.6'", + "version": "==4.8.0" + }, + "python-socketio": { + "hashes": [ + "sha256:01c616946fa9f67ed5cc3d1568e1c4940acfc64aeeb9ff621a53e80cabeb748a", + "sha256:fb18d9b84cfb05289dc207b790c3de59cd242310d9b980b1c31e9faf4f79101a" + ], + "index": "pypi", + "version": "==5.10.0" + }, + "requests": { + "hashes": [ + "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f", + "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1" + ], + "markers": "python_version >= '3.7'", + "version": "==2.31.0" + }, + "simple-websocket": { + "hashes": [ + "sha256:17d2c72f4a2bd85174a97e3e4c88b01c40c3f81b7b648b0cc3ce1305968928c8", + "sha256:1d5bf585e415eaa2083e2bcf02a3ecf91f9712e7b3e6b9fa0b461ad04e0837bc" + ], + "markers": "python_version >= '3.6'", + "version": "==1.0.0" + }, + "urllib3": { + "hashes": [ + "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3", + "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54" + ], + "markers": "python_version >= '3.8'", + "version": "==2.1.0" + }, + "websockets": { + "hashes": [ + "sha256:00700340c6c7ab788f176d118775202aadea7602c5cc6be6ae127761c16d6b0b", + "sha256:0bee75f400895aef54157b36ed6d3b308fcab62e5260703add87f44cee9c82a6", + "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df", + "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b", + "sha256:1a9d160fd080c6285e202327aba140fc9a0d910b09e423afff4ae5cbbf1c7205", + "sha256:1bf386089178ea69d720f8db6199a0504a406209a0fc23e603b27b300fdd6892", + "sha256:1df2fbd2c8a98d38a66f5238484405b8d1d16f929bb7a33ed73e4801222a6f53", + "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2", + "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed", + "sha256:23509452b3bc38e3a057382c2e941d5ac2e01e251acce7adc74011d7d8de434c", + "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd", + "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b", + "sha256:27a5e9964ef509016759f2ef3f2c1e13f403725a5e6a1775555994966a66e931", + "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30", + "sha256:2cb388a5bfb56df4d9a406783b7f9dbefb888c09b71629351cc6b036e9259370", + "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be", + "sha256:2e5fc14ec6ea568200ea4ef46545073da81900a2b67b3e666f04adf53ad452ec", + "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf", + "sha256:3c6cc1360c10c17463aadd29dd3af332d4a1adaa8796f6b0e9f9df1fdb0bad62", + "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b", + "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402", + "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f", + "sha256:423fc1ed29f7512fceb727e2d2aecb952c46aa34895e9ed96071821309951123", + "sha256:46e71dbbd12850224243f5d2aeec90f0aaa0f2dde5aeeb8fc8df21e04d99eff9", + "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603", + "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45", + "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558", + "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4", + "sha256:5f6ffe2c6598f7f7207eef9a1228b6f5c818f9f4d53ee920aacd35cec8110438", + "sha256:604428d1b87edbf02b233e2c207d7d528460fa978f9e391bd8aaf9c8311de137", + "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480", + "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447", + "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8", + "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04", + "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c", + "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb", + "sha256:7fa3d25e81bfe6a89718e9791128398a50dec6d57faf23770787ff441d851967", + "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b", + "sha256:8572132c7be52632201a35f5e08348137f658e5ffd21f51f94572ca6c05ea81d", + "sha256:87b4aafed34653e465eb77b7c93ef058516cb5acf3eb21e42f33928616172def", + "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c", + "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92", + "sha256:9edf3fc590cc2ec20dc9d7a45108b5bbaf21c0d89f9fd3fd1685e223771dc0b2", + "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113", + "sha256:a02413bc474feda2849c59ed2dfb2cddb4cd3d2f03a2fedec51d6e959d9b608b", + "sha256:a1d9697f3337a89691e3bd8dc56dea45a6f6d975f92e7d5f773bc715c15dde28", + "sha256:a571f035a47212288e3b3519944f6bf4ac7bc7553243e41eac50dd48552b6df7", + "sha256:ab3d732ad50a4fbd04a4490ef08acd0517b6ae6b77eb967251f4c263011a990d", + "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f", + "sha256:b067cb952ce8bf40115f6c19f478dc71c5e719b7fbaa511359795dfd9d1a6468", + "sha256:b2ee7288b85959797970114deae81ab41b731f19ebcd3bd499ae9ca0e3f1d2c8", + "sha256:b81f90dcc6c85a9b7f29873beb56c94c85d6f0dac2ea8b60d995bd18bf3e2aae", + "sha256:ba0cab91b3956dfa9f512147860783a1829a8d905ee218a9837c18f683239611", + "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d", + "sha256:bbe6013f9f791944ed31ca08b077e26249309639313fff132bfbf3ba105673b9", + "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca", + "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f", + "sha256:c3181df4583c4d3994d31fb235dc681d2aaad744fbdbf94c4802485ececdecf2", + "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077", + "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2", + "sha256:cbe83a6bbdf207ff0541de01e11904827540aa069293696dd528a6640bd6a5f6", + "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374", + "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc", + "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e", + "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53", + "sha256:e469d01137942849cff40517c97a30a93ae79917752b34029f0ec72df6b46399", + "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547", + "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3", + "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870", + "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5", + "sha256:fc4e7fa5414512b481a2483775a8e8be7803a35b30ca805afa4998a84f9fd9e8", + "sha256:ffefa1374cd508d633646d51a8e9277763a9b78ae71324183693959cf94635a7" + ], + "markers": "python_version >= '3.8'", + "version": "==12.0" + }, + "wsproto": { + "hashes": [ + "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065", + "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736" + ], + "markers": "python_full_version >= '3.7.0'", + "version": "==1.2.0" + }, + "yarl": { + "hashes": [ + "sha256:09c19e5f4404574fcfb736efecf75844ffe8610606f3fccc35a1515b8b6712c4", + "sha256:0ab5baaea8450f4a3e241ef17e3d129b2143e38a685036b075976b9c415ea3eb", + "sha256:0d155a092bf0ebf4a9f6f3b7a650dc5d9a5bbb585ef83a52ed36ba46f55cc39d", + "sha256:126638ab961633f0940a06e1c9d59919003ef212a15869708dcb7305f91a6732", + "sha256:1a0a4f3aaa18580038cfa52a7183c8ffbbe7d727fe581300817efc1e96d1b0e9", + "sha256:1d93461e2cf76c4796355494f15ffcb50a3c198cc2d601ad8d6a96219a10c363", + "sha256:26a1a8443091c7fbc17b84a0d9f38de34b8423b459fb853e6c8cdfab0eacf613", + "sha256:271d63396460b6607b588555ea27a1a02b717ca2e3f2cf53bdde4013d7790929", + "sha256:28a108cb92ce6cf867690a962372996ca332d8cda0210c5ad487fe996e76b8bb", + "sha256:29beac86f33d6c7ab1d79bd0213aa7aed2d2f555386856bb3056d5fdd9dab279", + "sha256:2c757f64afe53a422e45e3e399e1e3cf82b7a2f244796ce80d8ca53e16a49b9f", + "sha256:2dad8166d41ebd1f76ce107cf6a31e39801aee3844a54a90af23278b072f1ccf", + "sha256:2dc72e891672343b99db6d497024bf8b985537ad6c393359dc5227ef653b2f17", + "sha256:2f3c8822bc8fb4a347a192dd6a28a25d7f0ea3262e826d7d4ef9cc99cd06d07e", + "sha256:32435d134414e01d937cd9d6cc56e8413a8d4741dea36af5840c7750f04d16ab", + "sha256:3cfa4dbe17b2e6fca1414e9c3bcc216f6930cb18ea7646e7d0d52792ac196808", + "sha256:3d5434b34100b504aabae75f0622ebb85defffe7b64ad8f52b8b30ec6ef6e4b9", + "sha256:4003f380dac50328c85e85416aca6985536812c082387255c35292cb4b41707e", + "sha256:44e91a669c43f03964f672c5a234ae0d7a4d49c9b85d1baa93dec28afa28ffbd", + "sha256:4a14907b597ec55740f63e52d7fee0e9ee09d5b9d57a4f399a7423268e457b57", + "sha256:4ce77d289f8d40905c054b63f29851ecbfd026ef4ba5c371a158cfe6f623663e", + "sha256:4d6d74a97e898c1c2df80339aa423234ad9ea2052f66366cef1e80448798c13d", + "sha256:51382c72dd5377861b573bd55dcf680df54cea84147c8648b15ac507fbef984d", + "sha256:525cd69eff44833b01f8ef39aa33a9cc53a99ff7f9d76a6ef6a9fb758f54d0ff", + "sha256:53ec65f7eee8655bebb1f6f1607760d123c3c115a324b443df4f916383482a67", + "sha256:5f74b015c99a5eac5ae589de27a1201418a5d9d460e89ccb3366015c6153e60a", + "sha256:6280353940f7e5e2efaaabd686193e61351e966cc02f401761c4d87f48c89ea4", + "sha256:632c7aeb99df718765adf58eacb9acb9cbc555e075da849c1378ef4d18bf536a", + "sha256:6465d36381af057d0fab4e0f24ef0e80ba61f03fe43e6eeccbe0056e74aadc70", + "sha256:66a6dbf6ca7d2db03cc61cafe1ee6be838ce0fbc97781881a22a58a7c5efef42", + "sha256:6d350388ba1129bc867c6af1cd17da2b197dff0d2801036d2d7d83c2d771a682", + "sha256:7217234b10c64b52cc39a8d82550342ae2e45be34f5bff02b890b8c452eb48d7", + "sha256:721ee3fc292f0d069a04016ef2c3a25595d48c5b8ddc6029be46f6158d129c92", + "sha256:72a57b41a0920b9a220125081c1e191b88a4cdec13bf9d0649e382a822705c65", + "sha256:73cc83f918b69110813a7d95024266072d987b903a623ecae673d1e71579d566", + "sha256:778df71c8d0c8c9f1b378624b26431ca80041660d7be7c3f724b2c7a6e65d0d6", + "sha256:79e1df60f7c2b148722fb6cafebffe1acd95fd8b5fd77795f56247edaf326752", + "sha256:7c86d0d0919952d05df880a1889a4f0aeb6868e98961c090e335671dea5c0361", + "sha256:7eaf13af79950142ab2bbb8362f8d8d935be9aaf8df1df89c86c3231e4ff238a", + "sha256:828235a2a169160ee73a2fcfb8a000709edf09d7511fccf203465c3d5acc59e4", + "sha256:8535e111a064f3bdd94c0ed443105934d6f005adad68dd13ce50a488a0ad1bf3", + "sha256:88d2c3cc4b2f46d1ba73d81c51ec0e486f59cc51165ea4f789677f91a303a9a7", + "sha256:8a2538806be846ea25e90c28786136932ec385c7ff3bc1148e45125984783dc6", + "sha256:8dab30b21bd6fb17c3f4684868c7e6a9e8468078db00f599fb1c14e324b10fca", + "sha256:8f18a7832ff85dfcd77871fe677b169b1bc60c021978c90c3bb14f727596e0ae", + "sha256:946db4511b2d815979d733ac6a961f47e20a29c297be0d55b6d4b77ee4b298f6", + "sha256:96758e56dceb8a70f8a5cff1e452daaeff07d1cc9f11e9b0c951330f0a2396a7", + "sha256:9a172c3d5447b7da1680a1a2d6ecdf6f87a319d21d52729f45ec938a7006d5d8", + "sha256:9a5211de242754b5e612557bca701f39f8b1a9408dff73c6db623f22d20f470e", + "sha256:9df9a0d4c5624790a0dea2e02e3b1b3c69aed14bcb8650e19606d9df3719e87d", + "sha256:aa4643635f26052401750bd54db911b6342eb1a9ac3e74f0f8b58a25d61dfe41", + "sha256:aed37db837ecb5962469fad448aaae0f0ee94ffce2062cf2eb9aed13328b5196", + "sha256:af52725c7c39b0ee655befbbab5b9a1b209e01bb39128dce0db226a10014aacc", + "sha256:b0b8c06afcf2bac5a50b37f64efbde978b7f9dc88842ce9729c020dc71fae4ce", + "sha256:b61e64b06c3640feab73fa4ff9cb64bd8182de52e5dc13038e01cfe674ebc321", + "sha256:b7831566595fe88ba17ea80e4b61c0eb599f84c85acaa14bf04dd90319a45b90", + "sha256:b8bc5b87a65a4e64bc83385c05145ea901b613d0d3a434d434b55511b6ab0067", + "sha256:b8d51817cf4b8d545963ec65ff06c1b92e5765aa98831678d0e2240b6e9fd281", + "sha256:b9f9cafaf031c34d95c1528c16b2fa07b710e6056b3c4e2e34e9317072da5d1a", + "sha256:bb72d2a94481e7dc7a0c522673db288f31849800d6ce2435317376a345728225", + "sha256:c25ec06e4241e162f5d1f57c370f4078797ade95c9208bd0c60f484834f09c96", + "sha256:c405d482c320a88ab53dcbd98d6d6f32ada074f2d965d6e9bf2d823158fa97de", + "sha256:c4472fe53ebf541113e533971bd8c32728debc4c6d8cc177f2bff31d011ec17e", + "sha256:c4b1efb11a8acd13246ffb0bee888dd0e8eb057f8bf30112e3e21e421eb82d4a", + "sha256:c5f3faeb8100a43adf3e7925d556801d14b5816a0ac9e75e22948e787feec642", + "sha256:c6f034386e5550b5dc8ded90b5e2ff7db21f0f5c7de37b6efc5dac046eb19c10", + "sha256:c99ddaddb2fbe04953b84d1651149a0d85214780e4d0ee824e610ab549d98d92", + "sha256:ca6b66f69e30f6e180d52f14d91ac854b8119553b524e0e28d5291a724f0f423", + "sha256:cccdc02e46d2bd7cb5f38f8cc3d9db0d24951abd082b2f242c9e9f59c0ab2af3", + "sha256:cd49a908cb6d387fc26acee8b7d9fcc9bbf8e1aca890c0b2fdfd706057546080", + "sha256:cf7a4e8de7f1092829caef66fd90eaf3710bc5efd322a816d5677b7664893c93", + "sha256:cfd77e8e5cafba3fb584e0f4b935a59216f352b73d4987be3af51f43a862c403", + "sha256:d34c4f80956227f2686ddea5b3585e109c2733e2d4ef12eb1b8b4e84f09a2ab6", + "sha256:d61a0ca95503867d4d627517bcfdc28a8468c3f1b0b06c626f30dd759d3999fd", + "sha256:d81657b23e0edb84b37167e98aefb04ae16cbc5352770057893bd222cdc6e45f", + "sha256:d92d897cb4b4bf915fbeb5e604c7911021a8456f0964f3b8ebbe7f9188b9eabb", + "sha256:dd318e6b75ca80bff0b22b302f83a8ee41c62b8ac662ddb49f67ec97e799885d", + "sha256:dd952b9c64f3b21aedd09b8fe958e4931864dba69926d8a90c90d36ac4e28c9a", + "sha256:e0e7e83f31e23c5d00ff618045ddc5e916f9e613d33c5a5823bc0b0a0feb522f", + "sha256:e0f17d1df951336a02afc8270c03c0c6e60d1f9996fcbd43a4ce6be81de0bd9d", + "sha256:e2a16ef5fa2382af83bef4a18c1b3bcb4284c4732906aa69422cf09df9c59f1f", + "sha256:e36021db54b8a0475805acc1d6c4bca5d9f52c3825ad29ae2d398a9d530ddb88", + "sha256:e73db54c967eb75037c178a54445c5a4e7461b5203b27c45ef656a81787c0c1b", + "sha256:e741bd48e6a417bdfbae02e088f60018286d6c141639359fb8df017a3b69415a", + "sha256:f7271d6bd8838c49ba8ae647fc06469137e1c161a7ef97d778b72904d9b68696", + "sha256:fc391e3941045fd0987c77484b2799adffd08e4b6735c4ee5f054366a2e1551d", + "sha256:fc94441bcf9cb8c59f51f23193316afefbf3ff858460cb47b5758bf66a14d130", + "sha256:fe34befb8c765b8ce562f0200afda3578f8abb159c76de3ab354c80b72244c41", + "sha256:fe8080b4f25dfc44a86bedd14bc4f9d469dfc6456e6f3c5d9077e81a5fedfba7", + "sha256:ff34cb09a332832d1cf38acd0f604c068665192c6107a439a92abfd8acf90fe2" + ], + "markers": "python_version >= '3.7'", + "version": "==1.9.3" + }, + "yt-dlp": { + "hashes": [ + "sha256:0322ba85aa4afdb75f8641ed550e5958964daff034aeb477abb15031fd9a51ed", + "sha256:f0ccdaf12e08b15902601a4671c7ab12906d7b11de3ae75fa6506811c24ec5da" + ], + "index": "pypi", + "version": "==2023.11.16" + } + }, + "develop": {} +} diff --git a/README.md b/README.md new file mode 100644 index 00000000..69bd4bff --- /dev/null +++ b/README.md @@ -0,0 +1,166 @@ +# YTPTube + +![Build Status](https://github.com/ArabCoders/ytptube/actions/workflows/main.yml/badge.svg) + +Web GUI for [yt-dlp](https://github.com/yt-dlp/yt-dlp) with playlist & channel support. Allows you to download videos from YouTube and [dozens of other sites](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md). + +YTPTube started as a fork of [meTube](https://github.com/alexta69/metube) project by alexta69. Since then it went under heavy changes, and it supports many new features. + +# YTPTube Features compared to meTube. +* A built in video player that can play any video file regardless of the format. +* New `/add_batch` endpoint that allow multiple links to be sent. +* Re-Imagined the frontend and re-wrote the code in VueJS. +* Switched out of binary file storage in favor of SQLite. +* Handle live streams. +* Support per link, `yt-dlp config` and `cookies`. + +### Tips +Your `yt-dlp` config should include the following options for optimal working conditions. + +```json +{ + "windowsfilenames": true, + "continue_dl": true, + "live_from_start": true, + "format_sort": [ + "codec:avc:m4a" + ] +} +``` +* Note, the `format_sort`, forces YouTube to use x264 instead of vp9 codec, you can ignore it if you want. i prefer the media in x264. + +[![Short screenshot](/sc_short.png)](/sc_full.png) + +## Run using Docker + +```bash +docker run -d --name ytptube -p 8081:8081 -v ./config:/config:rw -v ./downloads:/downloads:rw ghcr.io/arabcoders/ytptube +``` + +## Run using docker-compose + +```yaml +version: "3" +services: + ytptube: + user: "1000:1000" + image: ghcr.io/arabcoders/ytptube + container_name: ytptube + restart: unless-stopped + ports: + - "8081:8081" + volumes: + - ./config:/config + - ./downloads:/downloads +``` + +## Configuration via environment variables + +Certain values can be set via environment variables, using the `-e` parameter on the docker command line, or the `environment:` section in docker-compose. + +* __UMASK__: umask value used by YTPTube. Defaults to `022`. +* __YTP_CONFIG_PATH__: path to where the queue persistence files will be saved. Defaults to `/config` in the docker image, and `./var/config` otherwise. +* __YTP_DOWNLOAD_PATH__: path to where the downloads will be saved. Defaults to `/downloads` in the docker image, and `./var/downloads` otherwise. +* __YTP_TEMP_PATH__: path where intermediary download files will be saved. Defaults to `/downloads` in the docker image, and `./var/tmp` otherwise. Set this to an SSD or RAM filesystem (e.g., `tmpfs`) for better performance __Note__: Using a RAM filesystem may prevent downloads from being resumed. +* __YTP_URL_PREFIX__: base path for the web server (for use when hosting behind a reverse proxy). Defaults to `/`. +* __YTP_OUTPUT_TEMPLATE__: the template for the filenames of the downloaded videos, formatted according to [this spec](https://github.com/yt-dlp/yt-dlp/blob/master/README.md#output-template). Defaults to `%(title)s.%(ext)s`. +* __YTP_YTDL_OPTIONS__: Additional options to pass to yt-dlp, in JSON format. [See available options here](https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/YoutubeDL.py#L183). They roughly correspond to command-line options, though some do not have exact equivalents here, for example `--recode-video` has to be specified via `postprocessors`. Also note that dashes are replaced with underscores. +* __YTP_YTDL_OPTIONS_FILE__: A path to a JSON file that will be loaded and used for populating `YTDL_OPTIONS` above. +* __YTP_KEEP_ARCHIVE__: Boolean. Whether to keep history of downloaded videos to prevent downloading same file multiple times. + +The following example value for `YTDL_OPTIONS` embeds English subtitles and chapter markers (for videos that have them), and also changes the permissions on the downloaded video and sets the file modification timestamp to the date of when it was downloaded: + +```yaml + environment: + - 'YTP_YTDL_OPTIONS={"writesubtitles":true,"subtitleslangs":["en","-live_chat"],"updatetime":false,"postprocessors":[{"key":"Exec","exec_cmd":"chmod 0664","when":"after_move"},{"key":"FFmpegEmbedSubtitle","already_have_subtitle":false},{"key":"FFmpegMetadata","add_chapters":true}]}' +``` + +The following example value for `OUTPUT_TEMPLATE` sets: +- playlist name and author, if present +- playlist number and count, if present (zero-padded, if needed) +- video author, title and release date in YYYY-MM-DD format, falling back to *UNKNOWN_...* if missing +- sanitizes everything for valid UNIX filename + +```yaml + environment: + - 'OUTPUT_TEMPLATE=%(playlist_title&Playlist |)S%(playlist_title|)S%(playlist_uploader& by |)S%(playlist_uploader|)S%(playlist_autonumber& - |)S%(playlist_autonumber|)S%(playlist_count& of |)S%(playlist_count|)S%(playlist_autonumber& - |)S%(uploader,creator|UNKNOWN_AUTHOR)S - %(title|UNKNOWN_TITLE)S - %(release_date>%Y-%m-%d,upload_date>%Y-%m-%d|UNKNOWN_DATE)S.%(ext)s' +``` + +## Running behind a reverse proxy + +It's advisable to run YTPTube behind a reverse proxy, if authentication and/or HTTPS support are required. + +When running behind a reverse proxy which remaps the URL (i.e. serves YTPTube under a subdirectory and not under root), don't forget to set the `YTP_URL_PREFIX` environment variable to the correct value. + +### NGINX + +```nginx +location /ytptube/ { + proxy_pass http://ytptube:8081; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; +} +``` + +Note: the extra `proxy_set_header` directives are there to make WebSocket work. + +### Caddy + +The following example Caddyfile gets a reverse proxy going behind [caddy](https://caddyserver.com). + +```caddyfile +example.com { + route /ytptube/* { + uri strip_prefix ytptube + reverse_proxy ytptube:8081 + } +} +``` + +## Updating yt-dlp + +The engine which powers the actual video downloads in YTPTube is [yt-dlp](https://github.com/yt-dlp/yt-dlp). Since video sites regularly change their layouts, frequent updates of yt-dlp are required to keep up. + +There's an automatic nightly build of YTPTube which looks for a new version of yt-dlp, and if one exists, the build pulls it and publishes an updated docker image. Therefore, in order to keep up with the changes, it's recommended that you update your YTPTube container regularly with the latest image. + +I recommend installing and setting up [watchtower](https://github.com/containrrr/watchtower) for this purpose. + +## Troubleshooting and submitting issues + +Before asking a question or submitting an issue for YTPTube, please remember that YTPTube is only a UI for [yt-dlp](https://github.com/yt-dlp/yt-dlp). Any issues you might be experiencing with authentication to video websites, postprocessing, permissions, other `YTDL_OPTIONS` configurations which seem not to work, or anything else that concerns the workings of the underlying yt-dlp library, need not be opened on the YTPTube project. In order to debug and troubleshoot them, it's advised to try using the yt-dlp binary directly first, bypassing the UI, and once that is working, importing the options that worked for you into `YTDL_OPTIONS`. + +In order to test with the yt-dlp command directly, you can either download it and run it locally, or for a better simulation of its actual conditions, you can run it within the YTPTube container itself. Assuming your YTPTube container is called `YTPTube`, run the following on your Docker host to get a shell inside the container: + +```bash +docker exec -ti ytptube sh +cd /downloads +``` + +Once there, you can use the yt-dlp command freely. + +## Building and running locally + +Make sure you have node.js and Python 3.8 installed. + +```bash +cd ytptube/frontend +# install Vue and build the UI +npm install +npm run build +# install python dependencies +cd .. +python -m venv .venv +source .venv/bin/activate +pip3 install pipenv +pipenv install +# run +python app/main.py +``` + +A Docker image can be built locally (it will build the UI too): + +```bash +docker build -t ytptube . +``` diff --git a/app/main.py b/app/main.py new file mode 100644 index 00000000..e5b2f507 --- /dev/null +++ b/app/main.py @@ -0,0 +1,319 @@ +#!/usr/bin/env python3 + +import os +from src.Config import Config +from version import APP_VERSION +from src.Notifier import Notifier +from src.DownloadQueue import DownloadQueue +from src.Utils import ObjectSerializer +from aiohttp import web +from aiohttp.web import Request, Response +from src.M3u8 import M3u8 +from src.Segments import Segments +import socketio +import logging +import caribou +import sqlite3 + + +class Main: + config: Config = None + serializer: ObjectSerializer = None + app: web.Application = None + sio: socketio.AsyncServer = None + routes: web.RouteTableDef = None + connection: sqlite3.Connection = None + dqueue: DownloadQueue = None + + def __init__(self): + self.config = Config() + self.config.version = APP_VERSION + + try: + if not os.path.exists(self.config.download_path): + logging.info( + f'Creating download folder at {self.config.download_path}') + os.makedirs(self.config.download_path, exist_ok=True) + except OSError as e: + logging.error( + f'Could not create download folder at {self.config.download_path}') + raise e + try: + if not os.path.exists(self.config.temp_path): + logging.info( + f'Creating temp folder at {self.config.temp_path}') + os.makedirs(self.config.temp_path, exist_ok=True) + except OSError as e: + logging.error( + f'Could not create temp folder at {self.config.temp_path}') + raise e + + try: + if not os.path.exists(self.config.config_path): + logging.info( + f'Creating config folder at {self.config.config_path}') + os.makedirs(self.config.config_path, exist_ok=True) + except OSError as e: + logging.error( + f'Could not create config folder at {self.config.config_path}') + raise e + + try: + if not os.path.exists(self.config.db_file): + logging.info( + f'Creating database file at {self.config.db_file}') + with open(self.config.db_file, 'w') as _: + pass + except OSError as e: + logging.error( + f'Could not create database file at {self.config.db_file}') + raise e + + caribou.upgrade(self.config.db_file, './app/migrations') + + self.serializer = ObjectSerializer() + self.app = web.Application() + self.sio = socketio.AsyncServer(cors_allowed_origins='*') + self.sio.attach( + self.app, socketio_path=self.config.url_prefix + 'socket.io') + self.routes = web.RouteTableDef() + self.connection = sqlite3.connect(self.config.db_file) + self.dqueue = DownloadQueue( + self.config, + Notifier(sio=self.sio, serializer=self.serializer), + connection=self.connection, + serializer=self.serializer + ) + self.app.on_startup.append(lambda app: self.dqueue.initialize()) + self.addRoutes() + self.start() + + def start(self): + web.run_app( + self.app, + host=self.config.host, + port=self.config.port, + reuse_port=True, + print=lambda _: print(f'YTPTube v{self.config.version} - listening on http://{self.config.host}:{self.config.port}') + ) + + async def connect(self, sid, environ): + await self.sio.emit('all', self.serializer.encode(self.dqueue.get()), to=sid) + await self.sio.emit('configuration', self.serializer.encode(self.config), to=sid) + + def addRoutes(self): + @self.routes.post(self.config.url_prefix + 'add') + async def add(request: Request) -> Response: + post = await request.json() + + url: str = post.get('url') + quality: str = post.get('quality') + + if not url: + raise web.HTTPBadRequest() + + format: str = post.get('format') + folder: str = post.get('folder') + ytdlp_cookies: str = post.get('ytdlp_cookies') + ytdlp_config: dict = post.get('ytdlp_config') + output_template: str = post.get('output_template') + if ytdlp_config is None: + ytdlp_config = {} + + status = await self.add( + url=url, + quality=quality, + format=format, + folder=folder, + ytdlp_cookies=ytdlp_cookies, + ytdlp_config=ytdlp_config, + output_template=output_template + ) + + return web.Response(text=self.serializer.encode(status)) + + @self.routes.post(self.config.url_prefix + 'add_batch') + async def add_batch(request: Request) -> Response: + status = {} + + post = await request.json() + if not isinstance(post, list): + raise web.HTTPBadRequest() + + for item in post: + if not isinstance(item, dict): + raise web.HTTPBadRequest( + 'Invalid request body expecting list with dicts.') + if not item.get('url'): + raise web.HTTPBadRequest(reason='url is required') + + status[item.get('url')] = await self.add( + url=item.get('url'), + quality=item.get('quality'), + format=item.get('format'), + folder=item.get('folder'), + ytdlp_cookies=item.get('ytdlp_cookies'), + ytdlp_config=item.get('ytdlp_config'), + output_template=item.get('output_template') + ) + + return web.Response(text=self.serializer.encode(status)) + + @self.routes.delete(self.config.url_prefix + 'delete') + async def delete(request: Request) -> Response: + post = await request.json() + ids = post.get('ids') + where = post.get('where') + + if not ids or where not in ['queue', 'done']: + raise web.HTTPBadRequest() + + status = await (self.dqueue.cancel(ids) if where == 'queue' else self.dqueue.clear(ids)) + + return web.Response(text=self.serializer.encode(status)) + + @self.routes.get(self.config.url_prefix + 'history') + async def history(_) -> Response: + history = {'done': [], 'queue': []} + + for _, v in self.dqueue.queue.saved_items(): + history['queue'].append(v) + for _, v in self.dqueue.done.saved_items(): + history['done'].append(v) + + return web.Response(text=self.serializer.encode(history)) + + @self.routes.get(self.config.url_prefix + 'm3u8/{file:.*}') + async def m3u8(request: Request) -> Response: + file: str = request.match_info.get('file') + + if not file: + raise web.HTTPBadRequest(reason='file is required') + + return web.Response( + text=M3u8(self.config).make_stream(file), + headers={ + 'Content-Type': 'application/x-mpegURL', + 'Cache-Control': 'no-cache', + 'Access-Control-Max-Age': "300", + } + ) + + @self.routes.get(self.config.url_prefix + 'segments/{segment:\d+}/{file:.*}') + async def segments(request: Request) -> Response: + file: str = request.match_info.get('file') + segment: int = request.match_info.get('segment') + sd: int = request.query.get('sd') + vc: int = int(request.query.get('vc', 0)) + ac: int = int(request.query.get('ac', 0)) + + if not file: + raise web.HTTPBadRequest(reason='file is required') + + if not segment: + raise web.HTTPBadRequest(reason='segment is required') + + segmenter = Segments( + config=self.config, + segment_index=int(segment), + segment_duration=float('{:.6f}'.format( + float(sd if sd else M3u8.segment_duration))), + vconvert=True if vc == 1 else False, + aconvert=True if ac == 1 else False + ) + + return web.Response( + body=await segmenter.stream(file), + headers={ + 'Content-Type': 'video/mpegts', + 'Connection': 'keep-alive', + 'Cache-Control': 'no-cache', + 'X-Accel-Buffering': 'no', + 'Access-Control-Allow-Origin': '*', + 'Access-Control-Max-Age': "300", + } + ) + + @self.routes.get(self.config.url_prefix) + async def index(_) -> Response: + return web.FileResponse(os.path.join( + os.path.dirname(os.path.dirname(os.path.realpath(__file__))), + 'frontend/dist/index.html' + )) + + @self.sio.event() + async def connect(sid, environ): + await self.connect(sid, environ) + + if self.config.url_prefix != '/': + @self.routes.get('/') + async def redirect_d(_) -> Response: + return web.HTTPFound(self.config.url_prefix) + + @self.routes.get(self.config.url_prefix[:-1]) + async def redirect_w(_) -> Response: + return web.HTTPFound(self.config.url_prefix) + + @self.routes.options(self.config.url_prefix + 'add') + async def add_cors(_) -> Response: + return web.Response(text=self.serializer.encode({"status": "ok"})) + + @self.routes.options(self.config.url_prefix + 'delete') + async def delete_cors(_) -> Response: + return web.Response(text=self.serializer.encode({"status": "ok"})) + + self.routes.static( + self.config.url_prefix + + 'download/', self.config.download_path) + + self.routes.static( + self.config.url_prefix, + os.path.join(os.path.dirname(os.path.dirname( + os.path.realpath(__file__))), 'frontend/dist') + ) + + try: + self.app.add_routes(self.routes) + + async def on_prepare(request, response): + if 'Origin' in request.headers: + response.headers['Access-Control-Allow-Origin'] = request.headers['Origin'] + response.headers['Access-Control-Allow-Headers'] = 'Content-Type' + response.headers['Access-Control-Allow-Methods'] = 'PUT, POST, DELETE' + + self.app.on_response_prepare.append(on_prepare) + except ValueError as e: + if 'frontend/dist' in str(e): + raise RuntimeError( + 'Could not find the frontend UI static assets. Please run `node_modules/.bin/ng build` inside the frontend folder.') from e + raise e + + async def add( + self, + url: str, + quality: str, + format: str, + folder: str, + ytdlp_cookies: str, + ytdlp_config: dict, + output_template: str + ) -> dict[str, str]: + if ytdlp_config is None: + ytdlp_config = {} + + status = await self.dqueue.add( + url=url, + quality=quality, + format=format, + folder=folder, + ytdlp_cookies=ytdlp_cookies, + ytdlp_config=ytdlp_config, + output_template=output_template + ) + + return status + + +if __name__ == '__main__': + logging.basicConfig(level=logging.DEBUG) + main = Main() diff --git a/app/migrations/20231115152938_initial.py b/app/migrations/20231115152938_initial.py new file mode 100644 index 00000000..119de811 --- /dev/null +++ b/app/migrations/20231115152938_initial.py @@ -0,0 +1,39 @@ +""" +This module contains a Caribou migration. + +Migration Name: initial +Migration Version: 20231115152938 +""" + + +def upgrade(connection): + sql = """ + CREATE TABLE "history" ( + "id" TEXT PRIMARY KEY UNIQUE NOT NULL, + "type" TEXT NOT NULL, + "url" TEXT NOT NULL, + "data" JSON NOT NULL, + "created_at" TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + ); + """ + connection.execute(sql) + + sql = """ + CREATE INDEX "history_type" ON "history" ("type"); + """ + connection.execute(sql) + + sql = """ + CREATE UNIQUE INDEX "history_url" ON "history" ("url"); + """ + connection.execute(sql) + + connection.commit() + + +def downgrade(connection): + sql = """ + DROP TABLE IF EXISTS "history"; + """ + + connection.execute(sql) diff --git a/app/src/Config.py b/app/src/Config.py new file mode 100644 index 00000000..49bd92ed --- /dev/null +++ b/app/src/Config.py @@ -0,0 +1,135 @@ +import json +import logging +import os +import re +import sys +import coloredlogs + +class Config: + config_path: str = '.' + download_path: str = '.' + temp_path: str = '{download_path}' + + db_file: str = '{config_path}/ytptube.db' + + url_host: str = '' + url_prefix: str = '' + url_socketio: str = '{url_prefix}socket.io' + + output_template: str = '%(title)s.%(ext)s' + output_template_chapter: str = '%(title)s - %(section_number)s %(section_title)s.%(ext)s' + + ytdl_options: dict | str = {} + ytdl_options_file: str = '' + ytdl_debug: bool = False + + host: str = '0.0.0.0' + port: int = 8081 + + keep_archive: bool = False + + base_path: str = '' + + logging_level: str = 'info' + + _boolean_vars: tuple = ('keep_archive', 'ytdl_debug') + + def __init__(self): + baseDefualtPath: str = os.path.dirname(os.path.dirname(__file__)) + + self.config_path = os.path.join(baseDefualtPath, 'var', 'config') + self.download_path = os.path.join(baseDefualtPath, 'var', 'downloads') + self.temp_path = os.path.join(baseDefualtPath, 'var', 'tmp') + + for k, v in self.getAttributes().items(): + if k.startswith('_'): + continue + + lookUpKey: str = f'YTP_{k}'.upper() + setattr( + self, k, + os.environ[lookUpKey] if lookUpKey in os.environ else v + ) + + for k, v in self.__dict__.items(): + if k.startswith('_'): + continue + + if isinstance(v, str) and '{' in v and '}' in v: + for key in re.findall(r'\{.*?\}', v): + localKey: str = key[1:-1] + if localKey not in self.__dict__: + logging.error( + f'Config variable "{k}" had non exisitng config reference "{key}"') + sys.exit(1) + v = v.replace(key, getattr(self, localKey)) + + setattr(self, k, v) + + if k in self._boolean_vars: + if str(v).lower() not in (True, False, 'true', 'false', 'on', 'off', '1', '0'): + raise ValueError( + f'Config variable "{k}" is set to a non-boolean value "{v}".') + + setattr(self, k, str(v).lower() in (True, 'true', 'on', '1')) + + if not self.url_prefix.endswith('/'): + self.url_prefix += '/' + + numeric_level = getattr( + logging, self.logging_level.upper(), None) + + if not isinstance(numeric_level, int): + raise ValueError(f"Invalid log level: {self.logging_level}") + + logging.basicConfig( + force=True, + level=numeric_level, + format="%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s" + ) + + coloredlogs.install() + + if isinstance(self.ytdl_options, str): + try: + self.ytdl_options = json.loads(self.ytdl_options) + assert isinstance(self.ytdl_options, dict) + except (json.decoder.JSONDecodeError, AssertionError) as e: + logging.error(f'JSON error in "YTP_YTDL_OPTIONS": {e}') + sys.exit(1) + + if self.ytdl_options_file: + logging.info( + f'Loading yt-dlp custom options from "{self.ytdl_options_file}"') + if not os.path.exists(self.ytdl_options_file): + logging.error( + f'"YTP_YTDL_OPTIONS_FILE" ENV points to non-existent file: "{self.ytdl_options_file}"') + else: + try: + with open(self.ytdl_options_file) as json_data: + opts = json.load(json_data) + assert isinstance(opts, dict) + self.ytdl_options.update(opts) + except (json.decoder.JSONDecodeError, AssertionError) as e: + logging.error( + f'JSON error in "{self.ytdl_options_file}": {e}') + sys.exit(1) + + if self.keep_archive: + logging.info(f'keep archive: {self.keep_archive}') + self.ytdl_options['download_archive'] = os.path.join( + self.config_path, 'archive.log') + + def getAttributes(self) -> dict: + attrs: dict = {} + vclass: str = self.__class__ + + for attribute in vclass.__dict__.keys(): + if attribute.startswith('_'): + continue + + value = getattr(vclass, attribute) + if not callable(value): + attrs[attribute] = value + + return attrs diff --git a/app/src/DTO/ItemDTO.py b/app/src/DTO/ItemDTO.py new file mode 100644 index 00000000..423a5326 --- /dev/null +++ b/app/src/DTO/ItemDTO.py @@ -0,0 +1,40 @@ +from email.utils import formatdate +import json +import time +from dataclasses import dataclass, field +import uuid + + +@dataclass(kw_only=True) +class ItemDTO: + _id: int = field(default_factory=lambda: str(uuid.uuid4()), init=False) + + error: str = None + id: str + title: str + url: str + quality: str + format: str + folder: str + status: str = None + ytdlp_cookies: str = None + ytdlp_config: dict = field(default_factory=dict) + output_template: str = None + timestamp: float = time.time_ns() + is_live: bool = None + datetime: str = field(default_factory=lambda: str(formatdate(time.time()))) + live_in: str = None + + # yt-dlp injected fields. + tmpfilename: str = None + filename: str = None + total_bytes: int = None + total_bytes_estimate: int = None + downloaded_bytes: int = None + msg: str = None + percent: int = None + speed: str = None + eta: str = None + + def json(self) -> str: + return json.dumps(self, default=lambda o: o.__dict__, sort_keys=True, indent=4) diff --git a/app/src/DataStore.py b/app/src/DataStore.py new file mode 100644 index 00000000..84be145c --- /dev/null +++ b/app/src/DataStore.py @@ -0,0 +1,155 @@ +from collections import OrderedDict +import copy +from datetime import datetime, timezone +from email.utils import formatdate +import json +import sqlite3 +from src.Utils import calcDownloadPath +from src.Config import Config +from src.Download import Download +from src.DTO.ItemDTO import ItemDTO + + +class DataStore: + """ + Persistent queue. + """ + type: str = None + db_file: str = None + dict: OrderedDict[str, Download] = None + config: Config = None + + def __init__(self, type: str, config: Config): + self.dict = OrderedDict() + self.type = type + self.config = config + self.db_file = self.config.db_file + + def load(self) -> None: + for id, item in self.saved_items(): + self.dict[id] = Download( + info=item, + download_dir=calcDownloadPath( + basePath=self.config.download_path, + folder=item.folder + ), + temp_dir=self.config.temp_path, + output_template_chapter=self.config.output_template_chapter, + default_ytdl_opts=self.config.ytdl_options, + ) + + def exists(self, key: str = None, url: str = None) -> bool: + if not key and not url: + raise KeyError('key or url must be provided') + + if key and key in self.dict: + return True + + if url: + for key in self.dict: + if self.dict[key].info.url == url: + return True + + return False + + def get(self, key: str, url: str = None) -> Download: + if not key and not url: + raise KeyError('key or url must be provided') + + if key and key in self.dict: + return self.dict[key] + + if url: + for key in self.dict: + if self.dict[key].info.url == url: + return self.dict[key] + + raise KeyError('key or url not found') + + def items(self) -> list[tuple[str, Download]]: + return self.dict.items() + + def saved_items(self) -> list[tuple[str, ItemDTO]]: + items: list[tuple[str, ItemDTO]] = [] + with sqlite3.connect(self.db_file) as db: + db.row_factory = sqlite3.Row + cursor = db.execute( + f'SELECT "id", "data", "created_at" FROM "history" WHERE "type" = ? ORDER BY "created_at" ASC', + (self.type,) + ) + + for row in cursor: + data: dict = json.loads(row['data']) + key: str = data.pop('_id') + item: ItemDTO = ItemDTO(**data) + item._id = key + item.datetime = formatdate(datetime.strptime( + row['created_at'], '%Y-%m-%d %H:%M:%S').replace(tzinfo=timezone.utc).timestamp() + ) + items.append((row['id'], item)) + + return items + + def put(self, value: Download) -> Download: + for key in self.dict: + if self.dict[key].info.url == value.info.url: + value.info._id = key + return + + self.dict[value.info._id] = value + self._updateStoreItem(self.type, value.info) + + return self.dict[value.info._id] + + def delete(self, key: str) -> None: + if not key in self.dict: + return + + del self.dict[key] + self._deleteStoreItem(key) + + def next(self) -> tuple[str, Download]: + return next(iter(self.dict.items())) + + def empty(self): + return not bool(self.dict) + + def _updateStoreItem(self, type: str, item: ItemDTO) -> None: + sqlStatement = """ + INSERT INTO "history" ("id", "type", "url", "data") + VALUES (?, ?, ?, ?) + ON CONFLICT DO UPDATE SET "type" = ?, "url" = ?, "data" = ?, created_at = ? + """ + + stored = copy.deepcopy(item) + + if hasattr(stored, 'datetime'): + try: + delattr(stored, 'datetime') + except AttributeError: + pass + + if hasattr(stored, 'live_in') and stored.status == 'finished': + try: + delattr(stored, 'live_in') + except AttributeError: + pass + + with sqlite3.connect(self.db_file) as db: + db.execute(sqlStatement.strip(), ( + stored._id, + type, + stored.url, + stored.json(), + type, + stored.url, + stored.json(), + datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M:%S') + )) + + def _deleteStoreItem(self, key: str) -> None: + with sqlite3.connect(self.db_file) as db: + db.execute( + 'DELETE FROM "history" WHERE "type" = ? AND "id" = ?', + (self.type, key,) + ) diff --git a/app/src/Download.py b/app/src/Download.py new file mode 100644 index 00000000..74203090 --- /dev/null +++ b/app/src/Download.py @@ -0,0 +1,198 @@ + +import asyncio +import json +import logging +import multiprocessing +import os +import re +import yt_dlp +from src.Utils import get_format, get_opts, jsonCookie, mergeConfig +from src.DTO.ItemDTO import ItemDTO + +log = logging.getLogger('download') + + +class Download: + manager = None + download_dir: str = None + temp_dir: str = None + output_template: str = None + output_template_chapter: str = None + format: str = None + ytdl_opts: dict = None + info: ItemDTO = None + default_ytdl_opts: dict = None + debug: bool = False + + _ytdlp_fields: tuple = ( + 'tmpfilename', + 'filename', + 'status', + 'msg', + 'total_bytes', + 'total_bytes_estimate', + 'downloaded_bytes', + 'speed', + 'eta', + ) + + def __init__( + self, + info: ItemDTO, + download_dir: str, + temp_dir: str, + output_template_chapter: str, + default_ytdl_opts: dict, + debug: bool = False + ): + self.download_dir = download_dir + self.temp_dir = temp_dir + self.output_template_chapter = output_template_chapter + self.output_template = info.output_template + self.format = get_format(info.format, info.quality) + self.ytdl_opts = get_opts( + info.format, info.quality, info.ytdlp_config if info.ytdlp_config else {}) + self.info = info + self.default_ytdl_opts = default_ytdl_opts + self.debug = debug + + self.canceled = False + self.tmpfilename = None + self.status_queue = None + self.proc = None + self.loop = None + self.notifier = None + + def _download(self): + try: + def put_status(st): + self.status_queue.put( + {k: v for k, v in st.items() if k in self._ytdlp_fields}) + + def put_status_postprocessor(d): + if d['postprocessor'] == 'MoveFiles' and d['status'] == 'finished': + if '__finaldir' in d['info_dict']: + filename = os.path.join( + d['info_dict']['__finaldir'], + os.path.basename(d['info_dict']['filepath']) + ) + else: + filename = d['info_dict']['filepath'] + self.status_queue.put( + { + 'status': 'finished', + 'filename': filename + } + ) + + params: dict = { + 'no_color': True, + 'format': self.format, + 'paths': { + 'home': self.download_dir, + 'temp': self.temp_dir + }, + 'outtmpl': { + 'default': self.output_template, + 'chapter': self.output_template_chapter + }, + 'socket_timeout': 30, + 'progress_hooks': [put_status], + 'postprocessor_hooks': [put_status_postprocessor], + **mergeConfig(self.default_ytdl_opts, self.ytdl_opts), + } + + if self.debug: + params['verbose'] = True + params['logger'] = logging.getLogger('YTPTube-ytdl') + else: + params['quiet'] = True + + if self.info.ytdlp_cookies: + try: + data = jsonCookie(json.loads(self.info.ytdlp_cookies)) + if not data: + logging.warning( + f'The cookie string that was provided for {self.info.title} is empty or not in expected spec.') + with open(os.path.join(self.temp_dir, f'{self.info._id}.txt'), 'w') as f: + f.write(data) + + params['cookiefile'] = f.name + except ValueError as e: + logging.error( + f'Invalid cookies: was provided for {self.info.title} - {str(e)}') + + logging.debug( + f'Downloading {self.info._id} {self.info.title}... {params}') + ret = yt_dlp.YoutubeDL(params=params).download([self.info.url]) + + self.status_queue.put( + {'status': 'finished' if ret == 0 else 'error'} + ) + except yt_dlp.utils.YoutubeDLError as exc: + self.status_queue.put({'status': 'error', 'msg': str(exc)}) + + async def start(self, notifier): + if self.manager is None: + self.manager = multiprocessing.Manager() + + self.status_queue = self.manager.Queue() + self.proc = multiprocessing.Process(target=self._download) + self.proc.start() + self.loop = asyncio.get_running_loop() + self.notifier = notifier + self.info.status = 'preparing' + await self.notifier.updated(self.info) + asyncio.create_task(self.update_status()) + return await self.loop.run_in_executor(None, self.proc.join) + + def cancel(self): + if self.running(): + self.proc.kill() + self.canceled = True + + def close(self): + if self.started(): + self.proc.close() + self.status_queue.put(None) + + def running(self): + try: + return self.proc is not None and self.proc.is_alive() + except ValueError: + return False + + def started(self): + return self.proc is not None + + async def update_status(self): + while True: + status = await self.loop.run_in_executor(None, self.status_queue.get) + if status is None: + return + + self.tmpfilename = status.get('tmpfilename') + + if 'filename' in status: + self.info.filename = os.path.relpath( + status.get('filename'), self.download_dir) + + # Set correct file extension for thumbnails + if self.info.format == 'thumbnail': + self.info.filename = re.sub( + r'\.webm$', '.jpg', self.info.filename) + + self.info.status = status['status'] + self.info.msg = status.get('msg') + + if 'downloaded_bytes' in status: + total = status.get('total_bytes') or status.get( + 'total_bytes_estimate') + if total: + self.info.percent = status['downloaded_bytes'] / \ + total * 100 + + self.info.speed = status.get('speed') + self.info.eta = status.get('eta') + + await self.notifier.updated(self.info) diff --git a/app/src/DownloadQueue.py b/app/src/DownloadQueue.py new file mode 100644 index 00000000..9ba7fb50 --- /dev/null +++ b/app/src/DownloadQueue.py @@ -0,0 +1,302 @@ +import asyncio +from email.utils import formatdate +import logging +import os +import time +import yt_dlp +from sqlite3 import Connection +from src.Config import Config +from src.Notifier import Notifier +from src.Download import Download +from src.DTO.ItemDTO import ItemDTO +from src.DataStore import DataStore +from src.Utils import ObjectSerializer, calcDownloadPath, ExtractInfo, mergeConfig +from datetime import datetime, timezone + +log = logging.getLogger('DownloadQueue') + + +class DownloadQueue: + config: Config = None + notifier: Notifier = None + connection: Connection = None + serializer: ObjectSerializer = None + queue: DataStore = None + done: DataStore = None + event: asyncio.Event = None + + def __init__(self, config: Config, notifier: Notifier, connection: Connection, serializer: ObjectSerializer): + self.config = config + self.notifier = notifier + self.connection = connection + self.serializer = serializer + self.done = DataStore(type='done', config=self.config) + self.queue = DataStore(type='queue', config=self.config) + self.done.load() + self.queue.load() + + async def initialize(self): + self.event = asyncio.Event() + asyncio.create_task(self.__download()) + + async def __add_entry( + self, + entry: dict, + quality: str, + format: str, + folder: str, + ytdlp_config: dict = {}, + ytdlp_cookies: str = '', + output_template: str = '', + already=None + ): + if not entry: + return {'status': 'error', 'msg': 'Invalid/empty data was given.'} + + error: str = None + live_in: str = None + + if 'live_status' in entry and 'release_timestamp' in entry and entry.get('live_status') == 'is_upcoming': + dt_ts = datetime.fromtimestamp( + entry.get('release_timestamp'), tz=timezone.utc).strftime('%Y-%m-%d %H:%M:%S %z') + error = f"Live stream is scheduled to start at {dt_ts}" + live_in = formatdate(entry.get('release_timestamp')) + else: + error = entry['msg'] if 'msg' in entry else None + + etype = entry.get('_type') or 'video' + if etype == 'playlist': + entries = entry['entries'] + log.info(f'playlist detected with {len(entries)} entries') + playlist_index_digits = len(str(len(entries))) + results = [] + for index, etr in enumerate(entries, start=1): + etr['playlist'] = entry['id'] + etr['playlist_index'] = '{{0:0{0:d}d}}'.format( + playlist_index_digits).format(index) + for property in ('id', 'title', 'uploader', 'uploader_id'): + if property in entry: + etr[f'playlist_{property}'] = entry[property] + + results.append( + await self.__add_entry( + entry=etr, + quality=quality, + format=format, + folder=folder, + ytdlp_config=ytdlp_config, + ytdlp_cookies=ytdlp_cookies, + output_template=output_template, + already=already + ) + ) + + if any(res['status'] == 'error' for res in results): + return {'status': 'error', 'msg': ', '.join(res['msg'] for res in results if res['status'] == 'error' and 'msg' in res)} + + return {'status': 'ok'} + elif (etype == 'video' or etype.startswith('url')) and 'id' in entry and 'title' in entry: + + logging.debug( + f"entry: {entry.get('id', None)} - {entry.get('webpage_url', None)} - {entry.get('url', None) }") + + if self.done.exists(key=entry['id'], url=entry.get('webpage_url') or entry['url']): + item = self.done.get(key=entry['id'], url=entry.get( + 'webpage_url') or entry['url']) + + logging.debug( + f'Item [{item.info.title}] already downloaded. Removing from history.') + + await self.clear([item.info._id]) + + if self.queue.exists(key=entry['id'], url=entry.get('webpage_url') or entry['url']): + logging.info( + f'Item [{item.info.title}] already in download queue') + return {'status': 'error', 'msg': 'Link already queued for downloading.'} + + dl = ItemDTO( + id=entry['id'], + title=entry['title'], + url=entry.get('webpage_url') or entry['url'], + quality=quality, + format=format, + folder=folder, + ytdlp_cookies=ytdlp_cookies, + ytdlp_config=ytdlp_config, + output_template=output_template if output_template else self.config.output_template, + datetime=formatdate(time.time()), + error=error, + is_live=entry['is_live'] if 'is_live' in entry else None, + live_in=live_in, + ) + + try: + dldirectory = calcDownloadPath( + basePath=self.config.download_path, + folder=folder + ) + except Exception as e: + return {'status': 'error', 'msg': str(e)} + + output_chapter = self.config.output_template_chapter + + for property, value in entry.items(): + if property.startswith("playlist"): + dl.output_template = dl.output_template.replace( + f"%({property})s", str(value)) + + itemDownload = self.queue.put(Download( + info=dl, + download_dir=dldirectory, + temp_dir=self.config.temp_path, + output_template_chapter=output_chapter, + default_ytdl_opts=self.config.ytdl_options, + debug=bool(self.config.ytdl_debug) + )) + + self.event.set() + await self.notifier.added(itemDownload.info) + + return { + 'status': 'ok' + } + elif etype.startswith('url'): + return await self.add( + entry=entry['url'], + quality=quality, + format=format, + folder=folder, + ytdlp_config=ytdlp_config, + ytdlp_cookies=ytdlp_cookies, + output_template=output_template, + already=already + ) + + return { + 'status': 'error', + 'msg': f'Unsupported resource "{etype}"' + } + + async def add( + self, + url: str, + quality: str, + format: str, + folder: str, + ytdlp_config: dict = {}, + ytdlp_cookies: str = '', + output_template: str = '', + already=None + ): + ytdlp_config = ytdlp_config if ytdlp_config else {} + + log.info( + f'adding {url}: {quality=} {format=} {folder=} {output_template=} {ytdlp_cookies=} {ytdlp_config=}') + + already = set() if already is None else already + if url in already: + log.info('recursion detected, skipping') + return {'status': 'ok'} + else: + already.add(url) + try: + entry = await asyncio.get_running_loop().run_in_executor( + None, + ExtractInfo, + mergeConfig(self.config.ytdl_options, ytdlp_config), + url, + bool(self.config.ytdl_debug) + ) + if not entry: + return { + 'status': 'error', + 'msg': 'No metadata, most likely video has been downloaded before.' if self.config.keep_archive else 'Unable to extract info check logs.' + } + logging.debug(f'entry: extract info says: {entry}') + except yt_dlp.utils.YoutubeDLError as exc: + return {'status': 'error', 'msg': str(exc)} + + return await self.__add_entry( + entry=entry, + quality=quality, + format=format, + folder=folder, + ytdlp_config=ytdlp_config, + ytdlp_cookies=ytdlp_cookies, + output_template=output_template, + already=already, + ) + + async def cancel(self, ids): + for id in ids: + if not self.queue.exists(id): + log.warn(f'requested cancel for non-existent download {id}') + continue + if self.queue.get(id).started(): + self.queue.get(id).cancel() + else: + self.queue.delete(id) + await self.notifier.canceled(id) + + return {'status': 'ok'} + + async def clear(self, ids): + for id in ids: + if not self.done.exists(key=id): + log.warn(f'requested delete for non-existent download {id}') + continue + self.done.delete(id) + await self.notifier.cleared(id) + + return {'status': 'ok'} + + def get(self) -> dict[str, list[dict[str, ItemDTO]]]: + items = {'queue': {}, 'done': {}} + + for k, v in self.queue.saved_items(): + items['queue'][k] = v + + for k, v in self.done.saved_items(): + items['done'][k] = v + + for k, v in self.queue.items(): + if not k in items['queue']: + items['queue'][k] = v.info + + for k, v in self.done.items(): + if not k in items['done']: + items['done'][k] = v.info + + return items + + async def __download(self): + while True: + while self.queue.empty(): + log.info('waiting for item to download.') + await self.event.wait() + self.event.clear() + + id, entry = self.queue.next() + log.info( + f'downloading {id=} - {entry.info.title=} - {entry.info.url=} - {entry.info.folder=}') + + await entry.start(self.notifier) + + if entry.info.status != 'finished': + if entry.tmpfilename and os.path.isfile(entry.tmpfilename): + try: + os.remove(entry.tmpfilename) + except: + pass + + entry.info.status = 'error' + + entry.close() + + if self.queue.exists(id): + self.queue.delete(id) + if entry.canceled: + await self.notifier.canceled(id) + else: + self.done.put(entry) + await self.notifier.completed(entry.info) diff --git a/app/src/M3u8.py b/app/src/M3u8.py new file mode 100644 index 00000000..19b232cb --- /dev/null +++ b/app/src/M3u8.py @@ -0,0 +1,91 @@ +import json +import logging +import math +import os +from urllib.parse import quote +from src.Utils import calcDownloadPath +from ffprobe import FFProbe +from src.Config import Config + + +class M3u8: + ok_vcodecs: tuple = ('h264', 'x264', 'avc',) + ok_acodecs: tuple = ('aac', 'mp3', 'opus',) + + segment_duration: float = 10.000000 + config: Config = None + download_path: str = None + + def __init__(self, config: Config, segment_duration: float = 6.000000): + self.config = config + self.download_path = self.config.download_path + self.segment_duration = float(segment_duration) + + def make_stream(self, file: str): + realFile: str = calcDownloadPath( + basePath=self.download_path, + folder=file, + createPath=False + ) + + if not os.path.exists(realFile): + raise Exception(f"File {realFile} does not exist.") + + metadata = FFProbe(realFile) + + # video duration. + + if not 'Duration' in metadata.metadata: + raise Exception(f"Unable to get {realFile} duration.") + + duration: float = self.parseDuration(metadata.metadata.get('Duration')) + + m3u8 = "#EXTM3U\n" + m3u8 += "#EXT-X-VERSION:3\n" + m3u8 += f"#EXT-X-TARGETDURATION:{int(self.segment_duration)}\n" + m3u8 += "#EXT-X-MEDIA-SEQUENCE:0\n" + m3u8 += "#EXT-X-PLAYLIST-TYPE:VOD\n" + + segmentSize: float = '{:.6f}'.format(self.segment_duration) + splits: int = math.ceil(duration / self.segment_duration) + + segmentParams = { + } + + for stream in metadata.streams: + if stream.codec_type == 'video': + if stream.codec_name not in self.ok_vcodecs: + segmentParams['vc'] = 1 + if stream.codec_type == 'audio': + if stream.codec_name not in self.ok_acodecs: + segmentParams['ac'] = 1 + + for i in range(splits): + if (i + 1) == splits: + segmentParams.update({ + 'sd': '{:.6f}'.format(duration - (i * self.segment_duration)) + }) + m3u8 += f"#EXTINF:{segmentParams['sd']}, nodesc\n" + else: + m3u8 += f"#EXTINF:{segmentSize}, nodesc\n" + + m3u8 += f"{self.config.url_host}{self.config.url_prefix}segments/{i}/{quote(file)}" + if len(segmentParams) > 0: + m3u8 += '?'+'&'.join([f"{key}={value}" for key, + value in segmentParams.items()]) + m3u8 += "\n" + + m3u8 += "#EXT-X-ENDLIST\n" + + return m3u8 + + def parseDuration(self, duration: str): + if duration.find(':') > -1: + duration = duration.split(':') + duration.reverse() + duration = sum([float(duration[i]) * (60 ** i) + for i in range(len(duration))]) + else: + duration = float(duration) + + return duration diff --git a/app/src/Notifier.py b/app/src/Notifier.py new file mode 100644 index 00000000..53362b90 --- /dev/null +++ b/app/src/Notifier.py @@ -0,0 +1,26 @@ +from socketio import AsyncServer +from src.Utils import ObjectSerializer + + +class Notifier: + def __init__(self, sio: AsyncServer, serializer: ObjectSerializer): + self.sio = sio + self.serializer = serializer + + async def added(self, dl): + await self.emit('added', dl) + + async def updated(self, dl): + await self.emit('updated', dl) + + async def completed(self, dl): + await self.emit('completed', dl) + + async def canceled(self, id): + await self.emit('canceled', id) + + async def cleared(self, id): + await self.emit('cleared', id) + + async def emit(self, event: str, data): + await self.sio.emit(event, self.serializer.encode(data)) diff --git a/app/src/Segments.py b/app/src/Segments.py new file mode 100644 index 00000000..8202d3cc --- /dev/null +++ b/app/src/Segments.py @@ -0,0 +1,116 @@ +import hashlib +import json +import logging +import math +import os +import subprocess +import tempfile +from src.Utils import calcDownloadPath +from src.Config import Config + + +class Segments: + config: Config = None + download_path: str = None + segment_duration: int + segment_index: int + vconvert: bool + aconvert: bool + + def __init__(self, config: Config, segment_index: int, segment_duration: float, vconvert: bool, aconvert: bool): + self.config = config + self.download_path = self.config.download_path + self.segment_duration = float(segment_duration) + self.segment_index = int(segment_index) + self.vconvert = bool(vconvert) + self.aconvert = bool(aconvert) + + async def stream(self, file: str) -> bytes: + realFile: str = calcDownloadPath( + basePath=self.download_path, + folder=file, + createPath=False + ) + + if not os.path.exists(realFile): + raise Exception(f"File {realFile} does not exist.") + + tmpDir: str = tempfile.gettempdir() + tmpFile = os.path.join( + tmpDir, f'ytptube_stream.{hashlib.md5(realFile.encode("utf-8")).hexdigest()}') + + if not os.path.exists(tmpFile): + os.symlink(realFile, tmpFile) + + if self.segment_index == 0: + startTime: float = '{:.6f}'.format(0) + else: + startTime: float = '{:.6f}'.format( + (self.segment_duration * self.segment_index + )) + + ffmpegCmd = [] + ffmpegCmd.append('ffmpeg') + ffmpegCmd.append('-xerror') + ffmpegCmd.append('-hide_banner') + ffmpegCmd.append('-loglevel') + ffmpegCmd.append('error') + + ffmpegCmd.append('-ss') + ffmpegCmd.append(str(startTime if startTime else '0.00000')) + ffmpegCmd.append('-t') + ffmpegCmd.append(str('{:.6f}'.format(self.segment_duration))) + + ffmpegCmd.append('-copyts') + + ffmpegCmd.append('-i') + ffmpegCmd.append(f'file:{tmpFile}') + + ffmpegCmd.append('-pix_fmt') + ffmpegCmd.append('yuv420p') + ffmpegCmd.append('-g') + ffmpegCmd.append('52') + + ffmpegCmd.append('-map') + ffmpegCmd.append('0:v:0') + ffmpegCmd.append('-strict') + ffmpegCmd.append('-2') + + ffmpegCmd.append('-codec:v') + ffmpegCmd.append('libx264' if self.vconvert else 'copy') + if self.vconvert: + ffmpegCmd.append('-crf') + ffmpegCmd.append('23') + ffmpegCmd.append('-preset:v') + ffmpegCmd.append('fast') + ffmpegCmd.append('-level') + ffmpegCmd.append('4.1') + ffmpegCmd.append('-profile:v') + ffmpegCmd.append('baseline') + + # audio section. + ffmpegCmd.append('-map') + ffmpegCmd.append('0:a:0') + ffmpegCmd.append('-codec:a') + ffmpegCmd.append('aac' if self.aconvert else 'copy') + if self.aconvert: + ffmpegCmd.append('-b:a') + ffmpegCmd.append('192k') + ffmpegCmd.append('-ar') + ffmpegCmd.append('22050') + ffmpegCmd.append('-ac') + ffmpegCmd.append('2') + + ffmpegCmd.append('-sn') + + ffmpegCmd.append('-muxdelay') + ffmpegCmd.append('0') + ffmpegCmd.append('-f') + ffmpegCmd.append('mpegts') + ffmpegCmd.append('pipe:1') + + logging.debug( + f'Streaming {realFile} segment {self.segment_index}.' + ' '.join(ffmpegCmd)) + proc = subprocess.run(ffmpegCmd, stdout=subprocess.PIPE) + + return proc.stdout diff --git a/app/src/Utils.py b/app/src/Utils.py new file mode 100644 index 00000000..eac4637a --- /dev/null +++ b/app/src/Utils.py @@ -0,0 +1,268 @@ +import copy +from datetime import datetime, timezone +import json +import logging +import os +from typing import Any +import yt_dlp + +log = logging.getLogger('Utils') + +IGNORED_KEYS: tuple = ( + 'cookiefile', + 'paths', + 'outtmpl', + 'progress_hooks', + 'postprocessor_hooks', +) + +AUDIO_FORMATS: tuple = ( + 'm4a', 'mp3', 'opus', 'wav' +) + + +def get_format(format: str, quality: str) -> str: + """ + Returns format for download + + Args: + format (str): format selected + quality (str): quality selected + + Raises: + Exception: unknown quality, unknown format + + Returns: + dl_format: Formatted download string + """ + format = format or "any" + + if format.startswith("custom:"): + return format[7:] + + if format == "thumbnail": + # Quality is irrelevant in this case since we skip the download + return "bestaudio/best" + + if format in AUDIO_FORMATS: + # Audio quality needs to be set post-download, set in opts + return "bestaudio/best" + + if format in ('mp4', 'any'): + if quality == 'audio': + return "bestaudio/best" + + vfmt, afmt = ( + '[ext=mp4]', '[ext=m4a]') if format == "mp4" else ('', '') + + vres = f'[height<={quality}]' if quality != 'best' else '' + + vcombo = vres + vfmt + + return f'bestvideo{vcombo}+bestaudio{afmt}/best{vcombo}' + + raise Exception(f"Unkown format {format}") + + +def get_opts(format: str, quality: str, ytdl_opts: dict) -> dict: + """ + Returns extra download options + Mostly postprocessing options + + Args: + format (str): format selected + quality (str): quality of format selected (needed for some formats) + ytdl_opts (dict): current options selected + + Returns: + ytdl_opts: Extra options + """ + opts = copy.deepcopy(ytdl_opts) + if not opts: + opts: dict = { + "postprocessors": [], + } + + postprocessors = [] + + if format in AUDIO_FORMATS: + postprocessors.append({ + "key": "FFmpegExtractAudio", + "preferredcodec": format, + "preferredquality": 0 if quality == "best" else quality, + }) + + # Audio formats without thumbnail + if format not in ("wav") and "writethumbnail" not in opts: + opts["writethumbnail"] = True + postprocessors.append( + {"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"}) + postprocessors.append({"key": "FFmpegMetadata"}) + postprocessors.append({"key": "EmbedThumbnail"}) + + if format == "thumbnail": + opts["skip_download"] = True + opts["writethumbnail"] = True + postprocessors.append( + {"key": "FFmpegThumbnailsConvertor", "format": "jpg", "when": "before_dl"}) + + opts["postprocessors"] = postprocessors + \ + (opts["postprocessors"] if "postprocessors" in opts else []) + return opts + + +def getVideoInfo(url: str, ytdlp_opts: dict = None) -> (Any | dict[str, Any] | None): + params: dict = { + 'quiet': True, + 'no_color': True, + 'extract_flat': True, + } + + if ytdlp_opts: + params = {**params, **ytdlp_opts} + + return yt_dlp.YoutubeDL().extract_info(url, download=False) + + +def getAttributes(vclass: str | type) -> dict: + attrs: dict = {} + + if not isinstance(vclass, type): + vclass = vclass.__class__ + + for attribute in vclass.__dict__.keys(): + if not attribute.startswith('_'): + value = getattr(vclass, attribute) + if not callable(value): + attrs[attribute] = value + + return attrs + + +def calcDownloadPath(basePath: str, folder: str = None, createPath: bool = True) -> str: + """Calculates download path And prevents directory traversal attacks. + + Returns: + Dir with base dir factored in. + """ + if not folder: + return basePath + + realBasePath = os.path.realpath(basePath) + download_path = os.path.realpath(os.path.join(basePath, folder)) + + if not download_path.startswith(realBasePath): + raise Exception( + f'Folder "{folder}" must resolve inside the base download directory "{realBasePath}"') + + if not os.path.isdir(download_path) and createPath: + os.makedirs(download_path, exist_ok=True) + + return download_path + + +def ExtractInfo(config: dict, url: str, debug: bool = False) -> dict: + params: dict = { + 'no_color': True, + 'extract_flat': True, + 'skip_download': True, + 'ignoreerrors': True, + 'ignore_no_formats_error': True, + **config, + } + + if debug: + params['verbose'] = True + params['logger'] = logging.getLogger('YTPTube-ytdl') + else: + params['quiet'] = True + + return yt_dlp.YoutubeDL(params=params).extract_info(url, download=False) + + +def mergeDict(source: dict, destination: dict) -> dict: + """ Merge data from source into destination """ + destination_copy = copy.deepcopy(destination) + + for key, value in source.items(): + destination_key_value = destination_copy.get(key) + if isinstance(value, dict) and isinstance(destination_key_value, dict): + destination_copy[key] = mergeDict( + source=value, + destination=destination_copy.setdefault(key, {}) + ) + else: + destination_copy[key] = value + + return destination_copy + + +def mergeConfig(config: dict, new_config: dict) -> dict: + """ Merge user provided config into default config """ + + ignored_keys: tuple = ( + 'cookiefile', + 'paths', + 'outtmpl', + 'progress_hooks', + 'postprocessor_hooks', + ) + + for key in ignored_keys: + if key in new_config: + del new_config[key] + + return mergeDict(new_config, config) + + +def jsonCookie(cookies: dict[dict[str, any]]) -> str | None: + """Converts JSON cookies to Netscape cookies + + Returns None if no cookies are found, otherwise returns a string of cookies in Netscape format. + """ + + netscapeCookies = "# Netscape HTTP Cookie File\n# https://curl.haxx.se/docs/http-cookies.html\n# This file was generated by libcurl! Edit at your own risk.\n\n" + hasCookies: bool = False + + for domain in cookies: + if not isinstance(cookies[domain], dict): + continue + + for subDomain in cookies[domain]: + if not isinstance(cookies[domain][subDomain], dict): + continue + + for cookie in cookies[domain][subDomain]: + if not isinstance(cookies[domain][subDomain][cookie], dict): + continue + + dicto = cookies[domain][subDomain][cookie] + + if 0 == int(dicto['expirationDate']): + dicto['expirationDate']: float = datetime.now( + timezone.utc).timestamp() + (86400 * 1000) + + hasCookies = True + netscapeCookies += "\t".join([ + dicto['domain'] if str(dicto['domain']).startswith( + '.') else '.' + dicto['domain'], + 'TRUE', + dicto['path'], + 'TRUE' if dicto['secure'] else 'FALSE', + str(int(dicto['expirationDate'])), + dicto['name'], + dicto['value'] + ])+"\n" + + return netscapeCookies if hasCookies else None + + +class ObjectSerializer(json.JSONEncoder): + """ + This class is used to serialize objects to JSON. + The only difference between this and the default JSONEncoder is that this one + will call the __dict__ method of an object if it exists. + """ + + def default(self, obj): + return obj.__dict__ if isinstance(obj, object) else json.JSONEncoder.default(self, obj) diff --git a/app/version.py b/app/version.py new file mode 100644 index 00000000..646ec0bd --- /dev/null +++ b/app/version.py @@ -0,0 +1 @@ +APP_VERSION = "dev-master" diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 00000000..7f5ec3e2 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +set -e + +echo "Setting umask to ${UMASK}" +umask ${UMASK} + +echo_err() { cat <<< "$@" 1>&2; } + +if [ ! -w "${YTP_CONFIG_PATH}" ]; then + CH_USER=$(stat -c "%u" "${YTP_CONFIG_PATH}") + CH_GRP=$(stat -c "%g" "${YTP_CONFIG_PATH}") + echo_err "ERROR: Unable to write to [${YTP_CONFIG_PATH}] data directory. Current user id [${UID}] while directory owner is [${CH_USER}]" + echo_err "[Running under docker]" + echo_err "change docker-compose.yaml user: to user:\"${CH_USER}:${CH_GRP}\"" + echo_err "Run the following command to change the directory ownership" + echo_err "chown -R \"${CH_USER}:${CH_GRP}\" ./config" + echo_err "[Running under podman]" + echo_err "change docker-compose.yaml user: to user:\"0:0\"" + exit 1 +fi + +exec "${@}" diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 00000000..403adbc1 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 00000000..576b9809 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,24 @@ +# frontend + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/frontend/babel.config.js b/frontend/babel.config.js new file mode 100644 index 00000000..e9558405 --- /dev/null +++ b/frontend/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/frontend/jsconfig.json b/frontend/jsconfig.json new file mode 100644 index 00000000..4aafc5f6 --- /dev/null +++ b/frontend/jsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "baseUrl": "./", + "moduleResolution": "node", + "paths": { + "@/*": [ + "src/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + } +} diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 00000000..2d1e7ef8 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,11974 @@ +{ + "name": "YTPTube", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "YTPTube", + "version": "0.1.0", + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.4.2", + "@fortawesome/free-regular-svg-icons": "^6.4.2", + "@fortawesome/free-solid-svg-icons": "^6.4.2", + "@fortawesome/vue-fontawesome": "^3.0.5", + "@vueuse/core": "^10.6.1", + "core-js": "^3.8.3", + "hls.js": "^1.4.12", + "moment": "^2.29.4", + "socket.io-client": "^4.7.2", + "vue": "^3.2.13", + "vue-toastification": "^2.0.0-rc.5" + }, + "devDependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "@creativebulma/bulma-tooltip": "^1.2.0", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-service": "^5.0.8", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^8.0.3" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@achrinza/node-ipc": { + "version": "9.2.8", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.8.tgz", + "integrity": "sha512-DSzEEkbMYbAUVlhy7fg+BzccoRuSQzqHbIPGxGv19OJ2WKwS3/9ChAnQcII4g+GujcHhyJ8BUuOVAx/S5uAfQg==", + "dev": true, + "dependencies": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + }, + "engines": { + "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz", + "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz", + "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.3", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.3", + "@babel/types": "^7.23.3", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.3.tgz", + "integrity": "sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.3", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz", + "integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz", + "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.3.tgz", + "integrity": "sha512-u8SwzOcP0DYSsa++nHd/9exlHb0NAlHCb890qtZZbSwPX2bFv8LBEztxwN7Xg/dS8oAFFidhrI9PBcLBJSkGRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.3.tgz", + "integrity": "sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.3.tgz", + "integrity": "sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.3.tgz", + "integrity": "sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz", + "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.3.tgz", + "integrity": "sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.3.tgz", + "integrity": "sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz", + "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.3.tgz", + "integrity": "sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.3.tgz", + "integrity": "sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.3.tgz", + "integrity": "sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.3.tgz", + "integrity": "sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.3.tgz", + "integrity": "sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.3.tgz", + "integrity": "sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.3.tgz", + "integrity": "sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.3.tgz", + "integrity": "sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.3.tgz", + "integrity": "sha512-XcQ3X58CKBdBnnZpPaQjgVMePsXtSZzHoku70q9tUAQp02ggPQNM04BF3RvlW1GSM/McbSOQAzEK4MXbS7/JFg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz", + "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.3", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.3", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.3", + "@babel/plugin-transform-classes": "^7.23.3", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.3", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.3", + "@babel/plugin-transform-for-of": "^7.23.3", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.3", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.3", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3", + "@babel/plugin-transform-numeric-separator": "^7.23.3", + "@babel/plugin-transform-object-rest-spread": "^7.23.3", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.3", + "@babel/plugin-transform-optional-chaining": "^7.23.3", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.3", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", + "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.3.tgz", + "integrity": "sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.3", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.3", + "@babel/types": "^7.23.3", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz", + "integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@creativebulma/bulma-tooltip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@creativebulma/bulma-tooltip/-/bulma-tooltip-1.2.0.tgz", + "integrity": "sha512-ooImbeXEBxf77cttbzA7X5rC5aAWm9UsXIGViFOnsqB+6M944GkB28S5R4UWRqjFd2iW4zGEkEifAU+q43pt2w==", + "dev": true + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.4.2.tgz", + "integrity": "sha512-1DgP7f+XQIJbLFCTX1V2QnxVmpLdKdzzo2k8EmvDOePfchaIGQ9eCHj2up3/jNEbZuBqel5OxiaOJf37TWauRA==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.4.2.tgz", + "integrity": "sha512-gjYDSKv3TrM2sLTOKBc5rH9ckje8Wrwgx1CxAPbN5N3Fm4prfi7NsJVWd1jklp7i5uSCVwhZS5qlhMXqLrpAIg==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-regular-svg-icons": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.4.2.tgz", + "integrity": "sha512-0+sIUWnkgTVVXVAPQmW4vxb9ZTHv0WstOa3rBx9iPxrrrDH6bNLsDYuwXF9b6fGm+iR7DKQvQshUH/FJm3ed9Q==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.4.2.tgz", + "integrity": "sha512-sYwXurXUEQS32fZz9hVCUUv/xu49PEJEyUOsA51l6PU/qVgfbTb2glsTEaJngVVT8VqBATRIdh7XVgV1JF1LkA==", + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.4.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/vue-fontawesome": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.5.tgz", + "integrity": "sha512-isZZ4+utQH9qg9cWxWYHQ9GwI3r5FeO7GnmzKYV+gbjxcptQhh+F99iZXi1Y9AvFUEgy8kRpAdvDlbb3drWFrw==", + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "vue": ">= 3.0.0 < 4" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "dependencies": { + "easy-stack": "1.0.1" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", + "dev": true + }, + "node_modules/@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "dependencies": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/friendly-errors-webpack-plugin/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.44.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.7.tgz", + "integrity": "sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.41", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz", + "integrity": "sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.9.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.2.tgz", + "integrity": "sha512-WHZXKFCEyIUJzAwh3NyyTHYSR35SevJ6mZ1nWwJafKtiQbqRTIKSRcw3Ma3acqgsent3RRDqeVwpHntMk+9irg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.10", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.10.tgz", + "integrity": "sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.10", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.10.tgz", + "integrity": "sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dev": true, + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz", + "integrity": "sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz", + "integrity": "sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "@vue/babel-helper-vue-transform-on": "^1.1.5", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz", + "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-decorators": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/runtime": "^7.12.13", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.8.3", + "core-js-compat": "^3.8.3", + "semver": "^7.3.4" + }, + "peerDependencies": { + "@babel/core": "*", + "core-js": "^3", + "vue": "^2 || ^3.2.13" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-preset-app/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/babel-preset-app/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/babel-preset-app/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dev": true, + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "vue": "*" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@vue/cli-overlay": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz", + "integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==", + "dev": true + }, + "node_modules/@vue/cli-plugin-babel": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz", + "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.16", + "@vue/babel-preset-app": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "babel-loader": "^8.2.2", + "thread-loader": "^3.0.0", + "webpack": "^5.54.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-eslint": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz", + "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^5.0.8", + "eslint-webpack-plugin": "^3.1.0", + "globby": "^11.0.2", + "webpack": "^5.54.0", + "yorkie": "^2.0.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0", + "eslint": ">=7.5.0" + } + }, + "node_modules/@vue/cli-plugin-router": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz", + "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^5.0.8" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-vuex": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz", + "integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==", + "dev": true, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-service": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.8.tgz", + "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.12.16", + "@soda/friendly-errors-webpack-plugin": "^1.8.0", + "@soda/get-current-script": "^1.0.2", + "@types/minimist": "^1.2.0", + "@vue/cli-overlay": "^5.0.8", + "@vue/cli-plugin-router": "^5.0.8", + "@vue/cli-plugin-vuex": "^5.0.8", + "@vue/cli-shared-utils": "^5.0.8", + "@vue/component-compiler-utils": "^3.3.0", + "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", + "@vue/web-component-wrapper": "^1.3.0", + "acorn": "^8.0.5", + "acorn-walk": "^8.0.2", + "address": "^1.1.2", + "autoprefixer": "^10.2.4", + "browserslist": "^4.16.3", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.10", + "clipboardy": "^2.3.0", + "cliui": "^7.0.4", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "^6.5.0", + "css-minimizer-webpack-plugin": "^3.0.2", + "cssnano": "^5.0.0", + "debug": "^4.1.1", + "default-gateway": "^6.0.3", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^5.1.0", + "is-file-esm": "^1.0.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "mini-css-extract-plugin": "^2.5.3", + "minimist": "^1.2.5", + "module-alias": "^2.2.2", + "portfinder": "^1.0.26", + "postcss": "^8.2.6", + "postcss-loader": "^6.1.1", + "progress-webpack-plugin": "^1.0.12", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^5.1.1", + "thread-loader": "^3.0.0", + "vue-loader": "^17.0.0", + "vue-style-loader": "^4.1.3", + "webpack": "^5.54.0", + "webpack-bundle-analyzer": "^4.4.0", + "webpack-chain": "^6.5.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.7.3", + "webpack-virtual-modules": "^0.4.2", + "whatwg-fetch": "^3.6.2" + }, + "bin": { + "vue-cli-service": "bin/vue-cli-service.js" + }, + "engines": { + "node": "^12.0.0 || >= 14.0.0" + }, + "peerDependencies": { + "vue-template-compiler": "^2.0.0", + "webpack-sources": "*" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "less-loader": { + "optional": true + }, + "pug-plain-loader": { + "optional": true + }, + "raw-loader": { + "optional": true + }, + "sass-loader": { + "optional": true + }, + "stylus-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/@vue/cli-shared-utils": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz", + "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==", + "dev": true, + "dependencies": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "joi": "^17.4.0", + "launch-editor": "^2.2.1", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", + "read-pkg": "^5.1.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@vue/cli-shared-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", + "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", + "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", + "dependencies": { + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", + "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-ssr": "3.3.8", + "@vue/reactivity-transform": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", + "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz", + "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==", + "dependencies": { + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", + "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz", + "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==", + "dependencies": { + "@vue/reactivity": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz", + "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==", + "dependencies": { + "@vue/runtime-core": "3.3.8", + "@vue/shared": "3.3.8", + "csstype": "^3.1.2" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz", + "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==", + "dependencies": { + "@vue/compiler-ssr": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "vue": "3.3.8" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", + "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==" + }, + "node_modules/@vue/vue-loader-v15": { + "name": "vue-loader", + "version": "15.11.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", + "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "dev": true, + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "prettier": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/vue-loader-v15/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true + }, + "node_modules/@vueuse/core": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.6.1.tgz", + "integrity": "sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.6.1", + "@vueuse/shared": "10.6.1", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.6.1.tgz", + "integrity": "sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.6.1.tgz", + "integrity": "sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==", + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz", + "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz", + "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001563", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001563.tgz", + "integrity": "sha512-na2WUmOxnwIZtwnFI2CZ/3er0wdNzU7hN+cPYz/z2ajHThnkWjNBOpEPP4n+4r2WPM847JaMotaJE3bnfzjyKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "node_modules/clean-css": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz", + "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cli-highlight/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cli-highlight/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cli-highlight/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.1.tgz", + "integrity": "sha512-jHgecW0pxkonBJdrKsqxgRX9AcG+u/5k0Q7WPDfi8AogLAdwxEkyYYNWwZ5GvVFoFx2uiY1eNcSK00fh+1+FyQ==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/core-js": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", + "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", + "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.21", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.3", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dev": true, + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.588", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.588.tgz", + "integrity": "sha512-soytjxwbgcCu7nh5Pf4S2/4wa6UIu+A3p03U2yVr53qGxi1/VTR3ENI+p50v+UxqqZAfl48j3z55ud7VHIOr9w==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", + "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-plugin-vue/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-plugin-vue/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/hls.js": { + "version": "1.4.12", + "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.4.12.tgz", + "integrity": "sha512-1RBpx2VihibzE3WE9kGoVCtrhhDWTzydzElk/kyRbEOLnb1WIE+3ZabM/L8BqKFTCL3pUy4QzhXgD1Q6Igr1JA==" + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", + "integrity": "sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==", + "dev": true, + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-file-esm/-/is-file-esm-1.0.0.tgz", + "integrity": "sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==", + "dev": true, + "dependencies": { + "read-pkg-up": "^7.0.1" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dev": true, + "dependencies": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.6.1.tgz", + "integrity": "sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g==", + "dev": true, + "dependencies": { + "launch-editor": "^2.6.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/module-alias": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.2.3.tgz", + "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==", + "dev": true + }, + "node_modules/moment": { + "version": "2.29.4", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", + "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==", + "engines": { + "node": "*" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", + "integrity": "sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==", + "dev": true, + "dependencies": { + "chalk": "^2.1.0", + "figures": "^2.0.0", + "log-update": "^2.3.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/socket.io-client": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.2.tgz", + "integrity": "sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/table": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", + "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "dependencies": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/thread-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/thread-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vue": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", + "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==", + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-sfc": "3.3.8", + "@vue/runtime-dom": "3.3.8", + "@vue/server-renderer": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "dependencies": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "node_modules/vue-loader": { + "version": "17.3.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.3.1.tgz", + "integrity": "sha512-nmVu7KU8geOyzsStyyaxID/uBGDMS8BkPXb6Lu2SNkMawriIbb+hYrNtgftHMKxOSkjjjTF5OSSwPo3KP59egg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue-loader/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vue-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/vue-loader/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/vue-loader/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/vue-loader/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-loader/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "node_modules/vue-template-compiler": { + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.15.tgz", + "integrity": "sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "node_modules/vue-toastification": { + "version": "2.0.0-rc.5", + "resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-2.0.0-rc.5.tgz", + "integrity": "sha512-q73e5jy6gucEO/U+P48hqX+/qyXDozAGmaGgLFm5tXX4wJBcVsnGp4e/iJqlm9xzHETYOilUuwOUje2Qg1JdwA==", + "peerDependencies": { + "vue": "^3.0.2" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.89.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", + "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "dev": true, + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 00000000..1bdcedf9 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,54 @@ +{ + "name": "YTPTube", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "watch": "vue-cli-service build --watch" + }, + "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.4.2", + "@fortawesome/free-regular-svg-icons": "^6.4.2", + "@fortawesome/free-solid-svg-icons": "^6.4.2", + "@fortawesome/vue-fontawesome": "^3.0.5", + "@vueuse/core": "^10.6.1", + "core-js": "^3.8.3", + "hls.js": "^1.4.12", + "moment": "^2.29.4", + "socket.io-client": "^4.7.2", + "vue": "^3.2.13", + "vue-toastification": "^2.0.0-rc.5" + }, + "devDependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "@creativebulma/bulma-tooltip": "^1.2.0", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-service": "^5.0.8", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^8.0.3" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "@babel/eslint-parser" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead", + "not ie 11" + ] +} diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/frontend/public/index.html b/frontend/public/index.html new file mode 100644 index 00000000..c5c66bff --- /dev/null +++ b/frontend/public/index.html @@ -0,0 +1,28 @@ + + + + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + +
+
+
+ + + + diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 00000000..b88c63b6 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,178 @@ + + + + diff --git a/frontend/src/assets/css/bulma-dark.css b/frontend/src/assets/css/bulma-dark.css new file mode 100644 index 00000000..faebfc2e --- /dev/null +++ b/frontend/src/assets/css/bulma-dark.css @@ -0,0 +1,8769 @@ +@media (prefers-color-scheme: dark) { + + html, + body { + background-color: #000000; + } + + .container { + /*background-color: unset;*/ + background-color: #0f1010; + } + + .svg-img-dark { + filter: invert(100%); + } + + .line { + border-bottom-color: #484848; + } + + .poem-even { + color: #FFFFFF; + } + + .poem-odd { + color: #00d1b2; + } + + .plyr--audio .plyr__controls { + background: #17181c; + border: 1px solid; + } + + body { + color: #FFFFFF; + } + + a { + color: #5ea3e4; + } + + a:hover { + color: #9c9c9c; + } + + code { + background-color: #242424; + color: #eb002f; + } + + hr { + background-color: #242424; + } + + strong { + color: #dbdbdb; + } + + pre { + background-color: #242424; + color: #b5b5b5; + } + + table th { + color: #dbdbdb; + } + + .has-text-white-dark { + color: white !important; + } + + a.has-text-white-dark:hover, + a.has-text-white-dark:focus { + color: white !important; + } + + .has-background-white-dark { + background-color: white !important; + } + + .has-text-black-dark { + color: #0a0a0a !important; + } + + a.has-text-black-dark:hover, + a.has-text-black-dark:focus { + color: #242424 !important; + } + + .has-background-black-dark { + background-color: #0a0a0a !important; + } + + .has-text-light-dark { + color: whitesmoke !important; + } + + a.has-text-light-dark:hover, + a.has-text-light-dark:focus { + color: white !important; + } + + .has-background-light-dark { + background-color: whitesmoke !important; + } + + .has-text-dark-dark { + color: #363636 !important; + } + + a.has-text-dark-dark:hover, + a.has-text-dark-dark:focus { + color: #4f4f4f !important; + } + + .has-background-dark-dark { + background-color: #363636 !important; + } + + .has-text-primary-dark { + color: #00d1b2 !important; + } + + a.has-text-primary-dark:hover, + a.has-text-primary-dark:focus { + color: #05ffda !important; + } + + .has-background-primary-dark { + background-color: #00d1b2 !important; + } + + .has-text-link-dark { + color: #3273dc !important; + } + + a.has-text-link-dark:hover, + a.has-text-link-dark:focus { + color: #5e91e4 !important; + } + + .has-background-link-dark { + background-color: #3273dc !important; + } + + .has-text-info-dark { + color: #209cee !important; + } + + a.has-text-info-dark:hover, + a.has-text-info-dark:focus { + color: #50b1f2 !important; + } + + .has-background-info-dark { + background-color: #209cee !important; + } + + .has-text-success-dark { + color: #23d160 !important; + } + + a.has-text-success-dark:hover, + a.has-text-success-dark:focus { + color: #48e07d !important; + } + + .has-background-success-dark { + background-color: #23d160 !important; + } + + .has-text-warning-dark { + color: #ffdd57 !important; + } + + a.has-text-warning-dark:hover, + a.has-text-warning-dark:focus { + color: #ffe88a !important; + } + + .has-background-warning-dark { + background-color: #ffdd57 !important; + } + + .has-text-danger-dark { + color: #ff3860 !important; + } + + a.has-text-danger-dark:hover, + a.has-text-danger-dark:focus { + color: #ff6b89 !important; + } + + .has-background-danger-dark { + background-color: #ff3860 !important; + } + + .has-text-black-bis-dark { + color: #121212 !important; + } + + .has-background-black-bis-dark { + background-color: #121212 !important; + } + + .has-text-black-ter-dark { + color: #242424 !important; + } + + .has-background-black-ter-dark { + background-color: #242424 !important; + } + + .has-text-grey-darker-dark { + color: #363636 !important; + } + + .has-background-grey-darker-dark { + background-color: #363636 !important; + } + + .has-text-grey-dark-dark { + color: #4a4a4a !important; + } + + .has-background-grey-dark-dark { + background-color: #4a4a4a !important; + } + + .has-text-grey-dark { + color: #7a7a7a !important; + } + + .has-background-grey-dark { + background-color: #7a7a7a !important; + } + + .has-text-grey-light-dark { + color: #b5b5b5 !important; + } + + .has-background-grey-light-dark { + background-color: #b5b5b5 !important; + } + + .has-text-grey-lighter-dark { + color: #dbdbdb !important; + } + + .has-background-grey-lighter-dark { + background-color: #dbdbdb !important; + } + + .has-text-white-ter-dark { + color: whitesmoke !important; + } + + .has-background-white-ter-dark { + background-color: whitesmoke !important; + } + + .has-text-white-bis-dark { + color: #fafafa !important; + } + + .has-background-white-bis-dark { + background-color: #fafafa !important; + } + + .box { + background-color: #0a0a0a; + box-shadow: 0 2px 3px rgba(255, 255, 255, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1); + color: #b5b5b5; + } + + a.box:hover, + a.box:focus { + box-shadow: 0 2px 3px rgba(255, 255, 255, 0.1), 0 0 0 1px #5ea3e4; + } + + a.box:active { + box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.2), 0 0 0 1px #5ea3e4; + } + + .button { + background-color: #0a0a0a; + border-color: #363636; + color: #dbdbdb; + } + + .button:hover, + .button.is-hovered { + border-color: #4a4a4a; + color: #dbdbdb; + } + + .button:focus, + .button.is-focused { + border-color: #5ea3e4; + color: #dbdbdb; + } + + .button:focus:not(:active), + .button.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(94, 163, 228, 0.25); + } + + .button:active, + .button.is-active { + border-color: #b5b5b5; + color: #dbdbdb; + } + + .button.is-text { + color: #b5b5b5; + } + + .button.is-text:hover, + .button.is-text.is-hovered, + .button.is-text:focus, + .button.is-text.is-focused { + background-color: #242424; + color: #dbdbdb; + } + + .button.is-text:active, + .button.is-text.is-active { + background-color: #171717; + color: #dbdbdb; + } + + .button.is-white { + background-color: #e6e6e6; + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white:hover, + .button.is-white.is-hovered { + background-color: #dfdfdf; + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white:focus, + .button.is-white.is-focused { + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white:focus:not(:active), + .button.is-white.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(230, 230, 230, 0.25); + } + + .button.is-white:active, + .button.is-white.is-active { + background-color: #d9d9d9; + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white[disabled], + fieldset[disabled] .button.is-white { + background-color: #e6e6e6; + border-color: transparent; + box-shadow: none; + } + + .button.is-white.is-inverted { + background-color: #0a0a0a; + color: #e6e6e6; + } + + .button.is-white.is-inverted:hover { + background-color: black; + } + + .button.is-white.is-inverted[disabled], + fieldset[disabled] .button.is-white.is-inverted { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; + color: #e6e6e6; + } + + .button.is-white.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; + } + + .button.is-white.is-outlined { + background-color: transparent; + border-color: #e6e6e6; + color: #e6e6e6; + } + + .button.is-white.is-outlined:hover, + .button.is-white.is-outlined:focus { + background-color: #e6e6e6; + border-color: #e6e6e6; + color: #0a0a0a; + } + + .button.is-white.is-outlined.is-loading::after { + border-color: transparent transparent #e6e6e6 #e6e6e6 !important; + } + + .button.is-white.is-outlined[disabled], + fieldset[disabled] .button.is-white.is-outlined { + background-color: transparent; + border-color: #e6e6e6; + box-shadow: none; + color: #e6e6e6; + } + + .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; + } + + .button.is-white.is-inverted.is-outlined:hover, + .button.is-white.is-inverted.is-outlined:focus { + background-color: #0a0a0a; + color: #e6e6e6; + } + + .button.is-white.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; + } + + .button.is-black { + background-color: black; + border-color: transparent; + color: white; + } + + .button.is-black:hover, + .button.is-black.is-hovered { + background-color: black; + border-color: transparent; + color: white; + } + + .button.is-black:focus, + .button.is-black.is-focused { + border-color: transparent; + color: white; + } + + .button.is-black:focus:not(:active), + .button.is-black.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25); + } + + .button.is-black:active, + .button.is-black.is-active { + background-color: black; + border-color: transparent; + color: white; + } + + .button.is-black[disabled], + fieldset[disabled] .button.is-black { + background-color: black; + border-color: transparent; + box-shadow: none; + } + + .button.is-black.is-inverted { + background-color: white; + color: black; + } + + .button.is-black.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-black.is-inverted[disabled], + fieldset[disabled] .button.is-black.is-inverted { + background-color: white; + border-color: transparent; + box-shadow: none; + color: black; + } + + .button.is-black.is-loading::after { + border-color: transparent transparent white white !important; + } + + .button.is-black.is-outlined { + background-color: transparent; + border-color: black; + color: black; + } + + .button.is-black.is-outlined:hover, + .button.is-black.is-outlined:focus { + background-color: black; + border-color: black; + color: white; + } + + .button.is-black.is-outlined.is-loading::after { + border-color: transparent transparent black black !important; + } + + .button.is-black.is-outlined[disabled], + fieldset[disabled] .button.is-black.is-outlined { + background-color: transparent; + border-color: black; + box-shadow: none; + color: black; + } + + .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + color: white; + } + + .button.is-black.is-inverted.is-outlined:hover, + .button.is-black.is-inverted.is-outlined:focus { + background-color: white; + color: black; + } + + .button.is-black.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; + } + + .button.is-light { + background-color: #dbdbdb; + border-color: transparent; + color: #363636; + } + + .button.is-light:hover, + .button.is-light.is-hovered { + background-color: #d5d5d5; + border-color: transparent; + color: #363636; + } + + .button.is-light:focus, + .button.is-light.is-focused { + border-color: transparent; + color: #363636; + } + + .button.is-light:focus:not(:active), + .button.is-light.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(219, 219, 219, 0.25); + } + + .button.is-light:active, + .button.is-light.is-active { + background-color: #cfcfcf; + border-color: transparent; + color: #363636; + } + + .button.is-light[disabled], + fieldset[disabled] .button.is-light { + background-color: #dbdbdb; + border-color: transparent; + box-shadow: none; + } + + .button.is-light.is-inverted { + background-color: #363636; + color: #dbdbdb; + } + + .button.is-light.is-inverted:hover { + background-color: #292929; + } + + .button.is-light.is-inverted[disabled], + fieldset[disabled] .button.is-light.is-inverted { + background-color: #363636; + border-color: transparent; + box-shadow: none; + color: #dbdbdb; + } + + .button.is-light.is-loading::after { + border-color: transparent transparent #363636 #363636 !important; + } + + .button.is-light.is-outlined { + background-color: transparent; + border-color: #dbdbdb; + color: #dbdbdb; + } + + .button.is-light.is-outlined:hover, + .button.is-light.is-outlined:focus { + background-color: #dbdbdb; + border-color: #dbdbdb; + color: #363636; + } + + .button.is-light.is-outlined.is-loading::after { + border-color: transparent transparent #dbdbdb #dbdbdb !important; + } + + .button.is-light.is-outlined[disabled], + fieldset[disabled] .button.is-light.is-outlined { + background-color: transparent; + border-color: #dbdbdb; + box-shadow: none; + color: #dbdbdb; + } + + .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: #363636; + color: #363636; + } + + .button.is-light.is-inverted.is-outlined:hover, + .button.is-light.is-inverted.is-outlined:focus { + background-color: #363636; + color: #dbdbdb; + } + + .button.is-light.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: #363636; + box-shadow: none; + color: #363636; + } + + .button.is-dark { + background-color: #1c1c1c; + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark:hover, + .button.is-dark.is-hovered { + background-color: #161616; + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark:focus, + .button.is-dark.is-focused { + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark:focus:not(:active), + .button.is-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(28, 28, 28, 0.25); + } + + .button.is-dark:active, + .button.is-dark.is-active { + background-color: #0f0f0f; + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark[disabled], + fieldset[disabled] .button.is-dark { + background-color: #1c1c1c; + border-color: transparent; + box-shadow: none; + } + + .button.is-dark.is-inverted { + background-color: whitesmoke; + color: #1c1c1c; + } + + .button.is-dark.is-inverted:hover { + background-color: #e8e8e8; + } + + .button.is-dark.is-inverted[disabled], + fieldset[disabled] .button.is-dark.is-inverted { + background-color: whitesmoke; + border-color: transparent; + box-shadow: none; + color: #1c1c1c; + } + + .button.is-dark.is-loading::after { + border-color: transparent transparent whitesmoke whitesmoke !important; + } + + .button.is-dark.is-outlined { + background-color: transparent; + border-color: #1c1c1c; + color: #1c1c1c; + } + + .button.is-dark.is-outlined:hover, + .button.is-dark.is-outlined:focus { + background-color: #1c1c1c; + border-color: #1c1c1c; + color: whitesmoke; + } + + .button.is-dark.is-outlined.is-loading::after { + border-color: transparent transparent #1c1c1c #1c1c1c !important; + } + + .button.is-dark.is-outlined[disabled], + fieldset[disabled] .button.is-dark.is-outlined { + background-color: transparent; + border-color: #1c1c1c; + box-shadow: none; + color: #1c1c1c; + } + + .button.is-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: whitesmoke; + color: whitesmoke; + } + + .button.is-dark.is-inverted.is-outlined:hover, + .button.is-dark.is-inverted.is-outlined:focus { + background-color: whitesmoke; + color: #1c1c1c; + } + + .button.is-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: whitesmoke; + box-shadow: none; + color: whitesmoke; + } + + .button.is-primary { + background-color: #009e86; + border-color: transparent; + color: #fff; + } + + .button.is-primary:hover, + .button.is-primary.is-hovered { + background-color: #00917c; + border-color: transparent; + color: #fff; + } + + .button.is-primary:focus, + .button.is-primary.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-primary:focus:not(:active), + .button.is-primary.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(0, 158, 134, 0.25); + } + + .button.is-primary:active, + .button.is-primary.is-active { + background-color: #008571; + border-color: transparent; + color: #fff; + } + + .button.is-primary[disabled], + fieldset[disabled] .button.is-primary { + background-color: #009e86; + border-color: transparent; + box-shadow: none; + } + + .button.is-primary.is-inverted { + background-color: #fff; + color: #009e86; + } + + .button.is-primary.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-primary.is-inverted[disabled], + fieldset[disabled] .button.is-primary.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #009e86; + } + + .button.is-primary.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-primary.is-outlined { + background-color: transparent; + border-color: #009e86; + color: #009e86; + } + + .button.is-primary.is-outlined:hover, + .button.is-primary.is-outlined:focus { + background-color: #009e86; + border-color: #009e86; + color: #fff; + } + + .button.is-primary.is-outlined.is-loading::after { + border-color: transparent transparent #009e86 #009e86 !important; + } + + .button.is-primary.is-outlined[disabled], + fieldset[disabled] .button.is-primary.is-outlined { + background-color: transparent; + border-color: #009e86; + box-shadow: none; + color: #009e86; + } + + .button.is-primary.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-primary.is-inverted.is-outlined:hover, + .button.is-primary.is-inverted.is-outlined:focus { + background-color: #fff; + color: #009e86; + } + + .button.is-primary.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-primary.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-link { + background-color: #205bbc; + border-color: transparent; + color: #fff; + } + + .button.is-link:hover, + .button.is-link.is-hovered { + background-color: #1e56b1; + border-color: transparent; + color: #fff; + } + + .button.is-link:focus, + .button.is-link.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-link:focus:not(:active), + .button.is-link.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(32, 91, 188, 0.25); + } + + .button.is-link:active, + .button.is-link.is-active { + background-color: #1c51a6; + border-color: transparent; + color: #fff; + } + + .button.is-link[disabled], + fieldset[disabled] .button.is-link { + background-color: #205bbc; + border-color: transparent; + box-shadow: none; + } + + .button.is-link.is-inverted { + background-color: #fff; + color: #205bbc; + } + + .button.is-link.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-link.is-inverted[disabled], + fieldset[disabled] .button.is-link.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #205bbc; + } + + .button.is-link.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-link.is-outlined { + background-color: transparent; + border-color: #205bbc; + color: #205bbc; + } + + .button.is-link.is-outlined:hover, + .button.is-link.is-outlined:focus { + background-color: #205bbc; + border-color: #205bbc; + color: #fff; + } + + .button.is-link.is-outlined.is-loading::after { + border-color: transparent transparent #205bbc #205bbc !important; + } + + .button.is-link.is-outlined[disabled], + fieldset[disabled] .button.is-link.is-outlined { + background-color: transparent; + border-color: #205bbc; + box-shadow: none; + color: #205bbc; + } + + .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-link.is-inverted.is-outlined:hover, + .button.is-link.is-inverted.is-outlined:focus { + background-color: #fff; + color: #205bbc; + } + + .button.is-link.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-info { + background-color: #0f81cc; + border-color: transparent; + color: #fff; + } + + .button.is-info:hover, + .button.is-info.is-hovered { + background-color: #0e79c0; + border-color: transparent; + color: #fff; + } + + .button.is-info:focus, + .button.is-info.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-info:focus:not(:active), + .button.is-info.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(15, 129, 204, 0.25); + } + + .button.is-info:active, + .button.is-info.is-active { + background-color: #0e72b4; + border-color: transparent; + color: #fff; + } + + .button.is-info[disabled], + fieldset[disabled] .button.is-info { + background-color: #0f81cc; + border-color: transparent; + box-shadow: none; + } + + .button.is-info.is-inverted { + background-color: #fff; + color: #0f81cc; + } + + .button.is-info.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-info.is-inverted[disabled], + fieldset[disabled] .button.is-info.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #0f81cc; + } + + .button.is-info.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-info.is-outlined { + background-color: transparent; + border-color: #0f81cc; + color: #0f81cc; + } + + .button.is-info.is-outlined:hover, + .button.is-info.is-outlined:focus { + background-color: #0f81cc; + border-color: #0f81cc; + color: #fff; + } + + .button.is-info.is-outlined.is-loading::after { + border-color: transparent transparent #0f81cc #0f81cc !important; + } + + .button.is-info.is-outlined[disabled], + fieldset[disabled] .button.is-info.is-outlined { + background-color: transparent; + border-color: #0f81cc; + box-shadow: none; + color: #0f81cc; + } + + .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-info.is-inverted.is-outlined:hover, + .button.is-info.is-inverted.is-outlined:focus { + background-color: #fff; + color: #0f81cc; + } + + .button.is-info.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-success { + background-color: #1ca64c; + border-color: transparent; + color: #fff; + } + + .button.is-success:hover, + .button.is-success.is-hovered { + background-color: #1a9b47; + border-color: transparent; + color: #fff; + } + + .button.is-success:focus, + .button.is-success.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-success:focus:not(:active), + .button.is-success.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(28, 166, 76, 0.25); + } + + .button.is-success:active, + .button.is-success.is-active { + background-color: #189042; + border-color: transparent; + color: #fff; + } + + .button.is-success[disabled], + fieldset[disabled] .button.is-success { + background-color: #1ca64c; + border-color: transparent; + box-shadow: none; + } + + .button.is-success.is-inverted { + background-color: #fff; + color: #1ca64c; + } + + .button.is-success.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-success.is-inverted[disabled], + fieldset[disabled] .button.is-success.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #1ca64c; + } + + .button.is-success.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-success.is-outlined { + background-color: transparent; + border-color: #1ca64c; + color: #1ca64c; + } + + .button.is-success.is-outlined:hover, + .button.is-success.is-outlined:focus { + background-color: #1ca64c; + border-color: #1ca64c; + color: #fff; + } + + .button.is-success.is-outlined.is-loading::after { + border-color: transparent transparent #1ca64c #1ca64c !important; + } + + .button.is-success.is-outlined[disabled], + fieldset[disabled] .button.is-success.is-outlined { + background-color: transparent; + border-color: #1ca64c; + box-shadow: none; + color: #1ca64c; + } + + .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-success.is-inverted.is-outlined:hover, + .button.is-success.is-inverted.is-outlined:focus { + background-color: #fff; + color: #1ca64c; + } + + .button.is-success.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-warning { + background-color: #ffd324; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning:hover, + .button.is-warning.is-hovered { + background-color: #ffd117; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning:focus, + .button.is-warning.is-focused { + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning:focus:not(:active), + .button.is-warning.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 211, 36, 0.25); + } + + .button.is-warning:active, + .button.is-warning.is-active { + background-color: #ffce0a; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning[disabled], + fieldset[disabled] .button.is-warning { + background-color: #ffd324; + border-color: transparent; + box-shadow: none; + } + + .button.is-warning.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + color: #ffd324; + } + + .button.is-warning.is-inverted:hover { + background-color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning.is-inverted[disabled], + fieldset[disabled] .button.is-warning.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + border-color: transparent; + box-shadow: none; + color: #ffd324; + } + + .button.is-warning.is-loading::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; + } + + .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ffd324; + color: #ffd324; + } + + .button.is-warning.is-outlined:hover, + .button.is-warning.is-outlined:focus { + background-color: #ffd324; + border-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning.is-outlined.is-loading::after { + border-color: transparent transparent #ffd324 #ffd324 !important; + } + + .button.is-warning.is-outlined[disabled], + fieldset[disabled] .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ffd324; + box-shadow: none; + color: #ffd324; + } + + .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning.is-inverted.is-outlined:hover, + .button.is-warning.is-inverted.is-outlined:focus { + background-color: rgba(0, 0, 0, 0.7); + color: #ffd324; + } + + .button.is-warning.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + box-shadow: none; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-danger { + background-color: #ff0537; + border-color: transparent; + color: #fff; + } + + .button.is-danger:hover, + .button.is-danger.is-hovered { + background-color: #f70031; + border-color: transparent; + color: #fff; + } + + .button.is-danger:focus, + .button.is-danger.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-danger:focus:not(:active), + .button.is-danger.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 5, 55, 0.25); + } + + .button.is-danger:active, + .button.is-danger.is-active { + background-color: #eb002f; + border-color: transparent; + color: #fff; + } + + .button.is-danger[disabled], + fieldset[disabled] .button.is-danger { + background-color: #ff0537; + border-color: transparent; + box-shadow: none; + } + + .button.is-danger.is-inverted { + background-color: #fff; + color: #ff0537; + } + + .button.is-danger.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-danger.is-inverted[disabled], + fieldset[disabled] .button.is-danger.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #ff0537; + } + + .button.is-danger.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-danger.is-outlined { + background-color: transparent; + border-color: #ff0537; + color: #ff0537; + } + + .button.is-danger.is-outlined:hover, + .button.is-danger.is-outlined:focus { + background-color: #ff0537; + border-color: #ff0537; + color: #fff; + } + + .button.is-danger.is-outlined.is-loading::after { + border-color: transparent transparent #ff0537 #ff0537 !important; + } + + .button.is-danger.is-outlined[disabled], + fieldset[disabled] .button.is-danger.is-outlined { + background-color: transparent; + border-color: #ff0537; + box-shadow: none; + color: #ff0537; + } + + .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-danger.is-inverted.is-outlined:hover, + .button.is-danger.is-inverted.is-outlined:focus { + background-color: #fff; + color: #ff0537; + } + + .button.is-danger.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-white-dark { + background-color: white; + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white-dark:hover, + .button.is-white-dark.is-hovered { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white-dark:focus, + .button.is-white-dark.is-focused { + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white-dark:focus:not(:active), + .button.is-white-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); + } + + .button.is-white-dark:active, + .button.is-white-dark.is-active { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; + } + + .button.is-white-dark[disabled], + fieldset[disabled] .button.is-white-dark { + background-color: white; + border-color: transparent; + box-shadow: none; + } + + .button.is-white-dark.is-inverted { + background-color: #0a0a0a; + color: white; + } + + .button.is-white-dark.is-inverted:hover { + background-color: black; + } + + .button.is-white-dark.is-inverted[disabled], + fieldset[disabled] .button.is-white-dark.is-inverted { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; + color: white; + } + + .button.is-white-dark.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; + } + + .button.is-white-dark.is-outlined { + background-color: transparent; + border-color: white; + color: white; + } + + .button.is-white-dark.is-outlined:hover, + .button.is-white-dark.is-outlined:focus { + background-color: white; + border-color: white; + color: #0a0a0a; + } + + .button.is-white-dark.is-outlined.is-loading::after { + border-color: transparent transparent white white !important; + } + + .button.is-white-dark.is-outlined[disabled], + fieldset[disabled] .button.is-white-dark.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; + } + + .button.is-white-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; + } + + .button.is-white-dark.is-inverted.is-outlined:hover, + .button.is-white-dark.is-inverted.is-outlined:focus { + background-color: #0a0a0a; + color: white; + } + + .button.is-white-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-white-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; + } + + .button.is-black-dark { + background-color: #0a0a0a; + border-color: transparent; + color: white; + } + + .button.is-black-dark:hover, + .button.is-black-dark.is-hovered { + background-color: #040404; + border-color: transparent; + color: white; + } + + .button.is-black-dark:focus, + .button.is-black-dark.is-focused { + border-color: transparent; + color: white; + } + + .button.is-black-dark:focus:not(:active), + .button.is-black-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); + } + + .button.is-black-dark:active, + .button.is-black-dark.is-active { + background-color: black; + border-color: transparent; + color: white; + } + + .button.is-black-dark[disabled], + fieldset[disabled] .button.is-black-dark { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; + } + + .button.is-black-dark.is-inverted { + background-color: white; + color: #0a0a0a; + } + + .button.is-black-dark.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-black-dark.is-inverted[disabled], + fieldset[disabled] .button.is-black-dark.is-inverted { + background-color: white; + border-color: transparent; + box-shadow: none; + color: #0a0a0a; + } + + .button.is-black-dark.is-loading::after { + border-color: transparent transparent white white !important; + } + + .button.is-black-dark.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; + } + + .button.is-black-dark.is-outlined:hover, + .button.is-black-dark.is-outlined:focus { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; + } + + .button.is-black-dark.is-outlined.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; + } + + .button.is-black-dark.is-outlined[disabled], + fieldset[disabled] .button.is-black-dark.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; + } + + .button.is-black-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + color: white; + } + + .button.is-black-dark.is-inverted.is-outlined:hover, + .button.is-black-dark.is-inverted.is-outlined:focus { + background-color: white; + color: #0a0a0a; + } + + .button.is-black-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-black-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; + } + + .button.is-light-dark { + background-color: whitesmoke; + border-color: transparent; + color: #363636; + } + + .button.is-light-dark:hover, + .button.is-light-dark.is-hovered { + background-color: #eeeeee; + border-color: transparent; + color: #363636; + } + + .button.is-light-dark:focus, + .button.is-light-dark.is-focused { + border-color: transparent; + color: #363636; + } + + .button.is-light-dark:focus:not(:active), + .button.is-light-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); + } + + .button.is-light-dark:active, + .button.is-light-dark.is-active { + background-color: #e8e8e8; + border-color: transparent; + color: #363636; + } + + .button.is-light-dark[disabled], + fieldset[disabled] .button.is-light-dark { + background-color: whitesmoke; + border-color: transparent; + box-shadow: none; + } + + .button.is-light-dark.is-inverted { + background-color: #363636; + color: whitesmoke; + } + + .button.is-light-dark.is-inverted:hover { + background-color: #292929; + } + + .button.is-light-dark.is-inverted[disabled], + fieldset[disabled] .button.is-light-dark.is-inverted { + background-color: #363636; + border-color: transparent; + box-shadow: none; + color: whitesmoke; + } + + .button.is-light-dark.is-loading::after { + border-color: transparent transparent #363636 #363636 !important; + } + + .button.is-light-dark.is-outlined { + background-color: transparent; + border-color: whitesmoke; + color: whitesmoke; + } + + .button.is-light-dark.is-outlined:hover, + .button.is-light-dark.is-outlined:focus { + background-color: whitesmoke; + border-color: whitesmoke; + color: #363636; + } + + .button.is-light-dark.is-outlined.is-loading::after { + border-color: transparent transparent whitesmoke whitesmoke !important; + } + + .button.is-light-dark.is-outlined[disabled], + fieldset[disabled] .button.is-light-dark.is-outlined { + background-color: transparent; + border-color: whitesmoke; + box-shadow: none; + color: whitesmoke; + } + + .button.is-light-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #363636; + color: #363636; + } + + .button.is-light-dark.is-inverted.is-outlined:hover, + .button.is-light-dark.is-inverted.is-outlined:focus { + background-color: #363636; + color: whitesmoke; + } + + .button.is-light-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-light-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #363636; + box-shadow: none; + color: #363636; + } + + .button.is-dark-dark { + background-color: #363636; + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark-dark:hover, + .button.is-dark-dark.is-hovered { + background-color: #2f2f2f; + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark-dark:focus, + .button.is-dark-dark.is-focused { + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark-dark:focus:not(:active), + .button.is-dark-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); + } + + .button.is-dark-dark:active, + .button.is-dark-dark.is-active { + background-color: #292929; + border-color: transparent; + color: whitesmoke; + } + + .button.is-dark-dark[disabled], + fieldset[disabled] .button.is-dark-dark { + background-color: #363636; + border-color: transparent; + box-shadow: none; + } + + .button.is-dark-dark.is-inverted { + background-color: whitesmoke; + color: #363636; + } + + .button.is-dark-dark.is-inverted:hover { + background-color: #e8e8e8; + } + + .button.is-dark-dark.is-inverted[disabled], + fieldset[disabled] .button.is-dark-dark.is-inverted { + background-color: whitesmoke; + border-color: transparent; + box-shadow: none; + color: #363636; + } + + .button.is-dark-dark.is-loading::after { + border-color: transparent transparent whitesmoke whitesmoke !important; + } + + .button.is-dark-dark.is-outlined { + background-color: transparent; + border-color: #363636; + color: #363636; + } + + .button.is-dark-dark.is-outlined:hover, + .button.is-dark-dark.is-outlined:focus { + background-color: #363636; + border-color: #363636; + color: whitesmoke; + } + + .button.is-dark-dark.is-outlined.is-loading::after { + border-color: transparent transparent #363636 #363636 !important; + } + + .button.is-dark-dark.is-outlined[disabled], + fieldset[disabled] .button.is-dark-dark.is-outlined { + background-color: transparent; + border-color: #363636; + box-shadow: none; + color: #363636; + } + + .button.is-dark-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: whitesmoke; + color: whitesmoke; + } + + .button.is-dark-dark.is-inverted.is-outlined:hover, + .button.is-dark-dark.is-inverted.is-outlined:focus { + background-color: whitesmoke; + color: #363636; + } + + .button.is-dark-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-dark-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: whitesmoke; + box-shadow: none; + color: whitesmoke; + } + + .button.is-primary-dark { + background-color: #00d1b2; + border-color: transparent; + color: #fff; + } + + .button.is-primary-dark:hover, + .button.is-primary-dark.is-hovered { + background-color: #00c4a7; + border-color: transparent; + color: #fff; + } + + .button.is-primary-dark:focus, + .button.is-primary-dark.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-primary-dark:focus:not(:active), + .button.is-primary-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); + } + + .button.is-primary-dark:active, + .button.is-primary-dark.is-active { + background-color: #00b89c; + border-color: transparent; + color: #fff; + } + + .button.is-primary-dark[disabled], + fieldset[disabled] .button.is-primary-dark { + background-color: #00d1b2; + border-color: transparent; + box-shadow: none; + } + + .button.is-primary-dark.is-inverted { + background-color: #fff; + color: #00d1b2; + } + + .button.is-primary-dark.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-primary-dark.is-inverted[disabled], + fieldset[disabled] .button.is-primary-dark.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #00d1b2; + } + + .button.is-primary-dark.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-primary-dark.is-outlined { + background-color: transparent; + border-color: #00d1b2; + color: #00d1b2; + } + + .button.is-primary-dark.is-outlined:hover, + .button.is-primary-dark.is-outlined:focus { + background-color: #00d1b2; + border-color: #00d1b2; + color: #fff; + } + + .button.is-primary-dark.is-outlined.is-loading::after { + border-color: transparent transparent #00d1b2 #00d1b2 !important; + } + + .button.is-primary-dark.is-outlined[disabled], + fieldset[disabled] .button.is-primary-dark.is-outlined { + background-color: transparent; + border-color: #00d1b2; + box-shadow: none; + color: #00d1b2; + } + + .button.is-primary-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-primary-dark.is-inverted.is-outlined:hover, + .button.is-primary-dark.is-inverted.is-outlined:focus { + background-color: #fff; + color: #00d1b2; + } + + .button.is-primary-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-primary-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-link-dark { + background-color: #3273dc; + border-color: transparent; + color: #fff; + } + + .button.is-link-dark:hover, + .button.is-link-dark.is-hovered { + background-color: #276cda; + border-color: transparent; + color: #fff; + } + + .button.is-link-dark:focus, + .button.is-link-dark.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-link-dark:focus:not(:active), + .button.is-link-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); + } + + .button.is-link-dark:active, + .button.is-link-dark.is-active { + background-color: #2366d1; + border-color: transparent; + color: #fff; + } + + .button.is-link-dark[disabled], + fieldset[disabled] .button.is-link-dark { + background-color: #3273dc; + border-color: transparent; + box-shadow: none; + } + + .button.is-link-dark.is-inverted { + background-color: #fff; + color: #3273dc; + } + + .button.is-link-dark.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-link-dark.is-inverted[disabled], + fieldset[disabled] .button.is-link-dark.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #3273dc; + } + + .button.is-link-dark.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-link-dark.is-outlined { + background-color: transparent; + border-color: #3273dc; + color: #3273dc; + } + + .button.is-link-dark.is-outlined:hover, + .button.is-link-dark.is-outlined:focus { + background-color: #3273dc; + border-color: #3273dc; + color: #fff; + } + + .button.is-link-dark.is-outlined.is-loading::after { + border-color: transparent transparent #3273dc #3273dc !important; + } + + .button.is-link-dark.is-outlined[disabled], + fieldset[disabled] .button.is-link-dark.is-outlined { + background-color: transparent; + border-color: #3273dc; + box-shadow: none; + color: #3273dc; + } + + .button.is-link-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-link-dark.is-inverted.is-outlined:hover, + .button.is-link-dark.is-inverted.is-outlined:focus { + background-color: #fff; + color: #3273dc; + } + + .button.is-link-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-link-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-info-dark { + background-color: #209cee; + border-color: transparent; + color: #fff; + } + + .button.is-info-dark:hover, + .button.is-info-dark.is-hovered { + background-color: #1496ed; + border-color: transparent; + color: #fff; + } + + .button.is-info-dark:focus, + .button.is-info-dark.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-info-dark:focus:not(:active), + .button.is-info-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); + } + + .button.is-info-dark:active, + .button.is-info-dark.is-active { + background-color: #118fe4; + border-color: transparent; + color: #fff; + } + + .button.is-info-dark[disabled], + fieldset[disabled] .button.is-info-dark { + background-color: #209cee; + border-color: transparent; + box-shadow: none; + } + + .button.is-info-dark.is-inverted { + background-color: #fff; + color: #209cee; + } + + .button.is-info-dark.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-info-dark.is-inverted[disabled], + fieldset[disabled] .button.is-info-dark.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #209cee; + } + + .button.is-info-dark.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-info-dark.is-outlined { + background-color: transparent; + border-color: #209cee; + color: #209cee; + } + + .button.is-info-dark.is-outlined:hover, + .button.is-info-dark.is-outlined:focus { + background-color: #209cee; + border-color: #209cee; + color: #fff; + } + + .button.is-info-dark.is-outlined.is-loading::after { + border-color: transparent transparent #209cee #209cee !important; + } + + .button.is-info-dark.is-outlined[disabled], + fieldset[disabled] .button.is-info-dark.is-outlined { + background-color: transparent; + border-color: #209cee; + box-shadow: none; + color: #209cee; + } + + .button.is-info-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-info-dark.is-inverted.is-outlined:hover, + .button.is-info-dark.is-inverted.is-outlined:focus { + background-color: #fff; + color: #209cee; + } + + .button.is-info-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-info-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-success-dark { + background-color: #23d160; + border-color: transparent; + color: #fff; + } + + .button.is-success-dark:hover, + .button.is-success-dark.is-hovered { + background-color: #22c65b; + border-color: transparent; + color: #fff; + } + + .button.is-success-dark:focus, + .button.is-success-dark.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-success-dark:focus:not(:active), + .button.is-success-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25); + } + + .button.is-success-dark:active, + .button.is-success-dark.is-active { + background-color: #20bc56; + border-color: transparent; + color: #fff; + } + + .button.is-success-dark[disabled], + fieldset[disabled] .button.is-success-dark { + background-color: #23d160; + border-color: transparent; + box-shadow: none; + } + + .button.is-success-dark.is-inverted { + background-color: #fff; + color: #23d160; + } + + .button.is-success-dark.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-success-dark.is-inverted[disabled], + fieldset[disabled] .button.is-success-dark.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #23d160; + } + + .button.is-success-dark.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-success-dark.is-outlined { + background-color: transparent; + border-color: #23d160; + color: #23d160; + } + + .button.is-success-dark.is-outlined:hover, + .button.is-success-dark.is-outlined:focus { + background-color: #23d160; + border-color: #23d160; + color: #fff; + } + + .button.is-success-dark.is-outlined.is-loading::after { + border-color: transparent transparent #23d160 #23d160 !important; + } + + .button.is-success-dark.is-outlined[disabled], + fieldset[disabled] .button.is-success-dark.is-outlined { + background-color: transparent; + border-color: #23d160; + box-shadow: none; + color: #23d160; + } + + .button.is-success-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-success-dark.is-inverted.is-outlined:hover, + .button.is-success-dark.is-inverted.is-outlined:focus { + background-color: #fff; + color: #23d160; + } + + .button.is-success-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-success-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button.is-warning-dark { + background-color: #ffdd57; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark:hover, + .button.is-warning-dark.is-hovered { + background-color: #ffdb4a; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark:focus, + .button.is-warning-dark.is-focused { + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark:focus:not(:active), + .button.is-warning-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); + } + + .button.is-warning-dark:active, + .button.is-warning-dark.is-active { + background-color: #ffd83d; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark[disabled], + fieldset[disabled] .button.is-warning-dark { + background-color: #ffdd57; + border-color: transparent; + box-shadow: none; + } + + .button.is-warning-dark.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + color: #ffdd57; + } + + .button.is-warning-dark.is-inverted:hover { + background-color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark.is-inverted[disabled], + fieldset[disabled] .button.is-warning-dark.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + border-color: transparent; + box-shadow: none; + color: #ffdd57; + } + + .button.is-warning-dark.is-loading::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; + } + + .button.is-warning-dark.is-outlined { + background-color: transparent; + border-color: #ffdd57; + color: #ffdd57; + } + + .button.is-warning-dark.is-outlined:hover, + .button.is-warning-dark.is-outlined:focus { + background-color: #ffdd57; + border-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark.is-outlined.is-loading::after { + border-color: transparent transparent #ffdd57 #ffdd57 !important; + } + + .button.is-warning-dark.is-outlined[disabled], + fieldset[disabled] .button.is-warning-dark.is-outlined { + background-color: transparent; + border-color: #ffdd57; + box-shadow: none; + color: #ffdd57; + } + + .button.is-warning-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + color: rgba(0, 0, 0, 0.7); + } + + .button.is-warning-dark.is-inverted.is-outlined:hover, + .button.is-warning-dark.is-inverted.is-outlined:focus { + background-color: rgba(0, 0, 0, 0.7); + color: #ffdd57; + } + + .button.is-warning-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-warning-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + box-shadow: none; + color: rgba(0, 0, 0, 0.7); + } + + .button.is-danger-dark { + background-color: #ff3860; + border-color: transparent; + color: #fff; + } + + .button.is-danger-dark:hover, + .button.is-danger-dark.is-hovered { + background-color: #ff2b56; + border-color: transparent; + color: #fff; + } + + .button.is-danger-dark:focus, + .button.is-danger-dark.is-focused { + border-color: transparent; + color: #fff; + } + + .button.is-danger-dark:focus:not(:active), + .button.is-danger-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25); + } + + .button.is-danger-dark:active, + .button.is-danger-dark.is-active { + background-color: #ff1f4b; + border-color: transparent; + color: #fff; + } + + .button.is-danger-dark[disabled], + fieldset[disabled] .button.is-danger-dark { + background-color: #ff3860; + border-color: transparent; + box-shadow: none; + } + + .button.is-danger-dark.is-inverted { + background-color: #fff; + color: #ff3860; + } + + .button.is-danger-dark.is-inverted:hover { + background-color: #f2f2f2; + } + + .button.is-danger-dark.is-inverted[disabled], + fieldset[disabled] .button.is-danger-dark.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #ff3860; + } + + .button.is-danger-dark.is-loading::after { + border-color: transparent transparent #fff #fff !important; + } + + .button.is-danger-dark.is-outlined { + background-color: transparent; + border-color: #ff3860; + color: #ff3860; + } + + .button.is-danger-dark.is-outlined:hover, + .button.is-danger-dark.is-outlined:focus { + background-color: #ff3860; + border-color: #ff3860; + color: #fff; + } + + .button.is-danger-dark.is-outlined.is-loading::after { + border-color: transparent transparent #ff3860 #ff3860 !important; + } + + .button.is-danger-dark.is-outlined[disabled], + fieldset[disabled] .button.is-danger-dark.is-outlined { + background-color: transparent; + border-color: #ff3860; + box-shadow: none; + color: #ff3860; + } + + .button.is-danger-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; + } + + .button.is-danger-dark.is-inverted.is-outlined:hover, + .button.is-danger-dark.is-inverted.is-outlined:focus { + background-color: #fff; + color: #ff3860; + } + + .button.is-danger-dark.is-inverted.is-outlined[disabled], + fieldset[disabled] .button.is-danger-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; + } + + .button[disabled], + fieldset[disabled] .button { + background-color: #0a0a0a; + border-color: #363636; + } + + .button.is-static { + background-color: whitesmoke; + border-color: #363636; + color: #7a7a7a; + } + + .content h1, + .content h2, + .content h3, + .content h4, + .content h5, + .content h6 { + color: #dbdbdb; + } + + .content blockquote { + background-color: #242424; + border-left: 5px solid #363636; + } + + .content table td, + .content table th { + border: 1px solid #363636; + } + + .content table th { + color: #dbdbdb; + } + + .content table thead td, + .content table thead th { + color: #dbdbdb; + } + + .content table tfoot td, + .content table tfoot th { + color: #dbdbdb; + } + + .input, + .textarea { + background-color: #0a0a0a; + border-color: #363636; + color: #dbdbdb; + box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.1); + } + + .input::-moz-placeholder, + .textarea::-moz-placeholder { + color: rgba(219, 219, 219, 0.3); + } + + .input::-webkit-input-placeholder, + .textarea::-webkit-input-placeholder { + color: rgba(219, 219, 219, 0.3); + } + + .input:-moz-placeholder, + .textarea:-moz-placeholder { + color: rgba(219, 219, 219, 0.3); + } + + .input:-ms-input-placeholder, + .textarea:-ms-input-placeholder { + color: rgba(219, 219, 219, 0.3); + } + + .input:hover, + .input.is-hovered, + .textarea:hover, + .textarea.is-hovered { + border-color: #4a4a4a; + } + + .input:focus, + .input.is-focused, + .input:active, + .input.is-active, + .textarea:focus, + .textarea.is-focused, + .textarea:active, + .textarea.is-active { + border-color: #5ea3e4; + box-shadow: 0 0 0 0.125em rgba(94, 163, 228, 0.25); + } + + .input[disabled], + fieldset[disabled] .input, + .textarea[disabled], + fieldset[disabled] .textarea { + background-color: #242424; + border-color: #242424; + color: #b5b5b5; + } + + .input[disabled]::-moz-placeholder, + fieldset[disabled] .input::-moz-placeholder, + .textarea[disabled]::-moz-placeholder, + fieldset[disabled] .textarea::-moz-placeholder { + color: rgba(181, 181, 181, 0.3); + } + + .input[disabled]::-webkit-input-placeholder, + fieldset[disabled] .input::-webkit-input-placeholder, + .textarea[disabled]::-webkit-input-placeholder, + fieldset[disabled] .textarea::-webkit-input-placeholder { + color: rgba(181, 181, 181, 0.3); + } + + .input[disabled]:-moz-placeholder, + fieldset[disabled] .input:-moz-placeholder, + .textarea[disabled]:-moz-placeholder, + fieldset[disabled] .textarea:-moz-placeholder { + color: rgba(181, 181, 181, 0.3); + } + + .input[disabled]:-ms-input-placeholder, + fieldset[disabled] .input:-ms-input-placeholder, + .textarea[disabled]:-ms-input-placeholder, + fieldset[disabled] .textarea:-ms-input-placeholder { + color: rgba(181, 181, 181, 0.3); + } + + .input.is-white, + .textarea.is-white { + border-color: #e6e6e6; + } + + .input.is-white:focus, + .input.is-white.is-focused, + .input.is-white:active, + .input.is-white.is-active, + .textarea.is-white:focus, + .textarea.is-white.is-focused, + .textarea.is-white:active, + .textarea.is-white.is-active { + box-shadow: 0 0 0 0.125em rgba(230, 230, 230, 0.25); + } + + .input.is-black, + .textarea.is-black { + border-color: black; + } + + .input.is-black:focus, + .input.is-black.is-focused, + .input.is-black:active, + .input.is-black.is-active, + .textarea.is-black:focus, + .textarea.is-black.is-focused, + .textarea.is-black:active, + .textarea.is-black.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25); + } + + .input.is-light, + .textarea.is-light { + border-color: #dbdbdb; + } + + .input.is-light:focus, + .input.is-light.is-focused, + .input.is-light:active, + .input.is-light.is-active, + .textarea.is-light:focus, + .textarea.is-light.is-focused, + .textarea.is-light:active, + .textarea.is-light.is-active { + box-shadow: 0 0 0 0.125em rgba(219, 219, 219, 0.25); + } + + .input.is-dark, + .textarea.is-dark { + border-color: #1c1c1c; + } + + .input.is-dark:focus, + .input.is-dark.is-focused, + .input.is-dark:active, + .input.is-dark.is-active, + .textarea.is-dark:focus, + .textarea.is-dark.is-focused, + .textarea.is-dark:active, + .textarea.is-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(28, 28, 28, 0.25); + } + + .input.is-primary, + .textarea.is-primary { + border-color: #009e86; + } + + .input.is-primary:focus, + .input.is-primary.is-focused, + .input.is-primary:active, + .input.is-primary.is-active, + .textarea.is-primary:focus, + .textarea.is-primary.is-focused, + .textarea.is-primary:active, + .textarea.is-primary.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 158, 134, 0.25); + } + + .input.is-link, + .textarea.is-link { + border-color: #205bbc; + } + + .input.is-link:focus, + .input.is-link.is-focused, + .input.is-link:active, + .input.is-link.is-active, + .textarea.is-link:focus, + .textarea.is-link.is-focused, + .textarea.is-link:active, + .textarea.is-link.is-active { + box-shadow: 0 0 0 0.125em rgba(32, 91, 188, 0.25); + } + + .input.is-info, + .textarea.is-info { + border-color: #0f81cc; + } + + .input.is-info:focus, + .input.is-info.is-focused, + .input.is-info:active, + .input.is-info.is-active, + .textarea.is-info:focus, + .textarea.is-info.is-focused, + .textarea.is-info:active, + .textarea.is-info.is-active { + box-shadow: 0 0 0 0.125em rgba(15, 129, 204, 0.25); + } + + .input.is-success, + .textarea.is-success { + border-color: #1ca64c; + } + + .input.is-success:focus, + .input.is-success.is-focused, + .input.is-success:active, + .input.is-success.is-active, + .textarea.is-success:focus, + .textarea.is-success.is-focused, + .textarea.is-success:active, + .textarea.is-success.is-active { + box-shadow: 0 0 0 0.125em rgba(28, 166, 76, 0.25); + } + + .input.is-warning, + .textarea.is-warning { + border-color: #ffd324; + } + + .input.is-warning:focus, + .input.is-warning.is-focused, + .input.is-warning:active, + .input.is-warning.is-active, + .textarea.is-warning:focus, + .textarea.is-warning.is-focused, + .textarea.is-warning:active, + .textarea.is-warning.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 211, 36, 0.25); + } + + .input.is-danger, + .textarea.is-danger { + border-color: #ff0537; + } + + .input.is-danger:focus, + .input.is-danger.is-focused, + .input.is-danger:active, + .input.is-danger.is-active, + .textarea.is-danger:focus, + .textarea.is-danger.is-focused, + .textarea.is-danger:active, + .textarea.is-danger.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 5, 55, 0.25); + } + + .input.is-white-dark, + .textarea.is-white-dark { + border-color: white; + } + + .input.is-white-dark:focus, + .input.is-white-dark.is-focused, + .input.is-white-dark:active, + .input.is-white-dark.is-active, + .textarea.is-white-dark:focus, + .textarea.is-white-dark.is-focused, + .textarea.is-white-dark:active, + .textarea.is-white-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); + } + + .input.is-black-dark, + .textarea.is-black-dark { + border-color: #0a0a0a; + } + + .input.is-black-dark:focus, + .input.is-black-dark.is-focused, + .input.is-black-dark:active, + .input.is-black-dark.is-active, + .textarea.is-black-dark:focus, + .textarea.is-black-dark.is-focused, + .textarea.is-black-dark:active, + .textarea.is-black-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); + } + + .input.is-light-dark, + .textarea.is-light-dark { + border-color: whitesmoke; + } + + .input.is-light-dark:focus, + .input.is-light-dark.is-focused, + .input.is-light-dark:active, + .input.is-light-dark.is-active, + .textarea.is-light-dark:focus, + .textarea.is-light-dark.is-focused, + .textarea.is-light-dark:active, + .textarea.is-light-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); + } + + .input.is-dark-dark, + .textarea.is-dark-dark { + border-color: #363636; + } + + .input.is-dark-dark:focus, + .input.is-dark-dark.is-focused, + .input.is-dark-dark:active, + .input.is-dark-dark.is-active, + .textarea.is-dark-dark:focus, + .textarea.is-dark-dark.is-focused, + .textarea.is-dark-dark:active, + .textarea.is-dark-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); + } + + .input.is-primary-dark, + .textarea.is-primary-dark { + border-color: #00d1b2; + } + + .input.is-primary-dark:focus, + .input.is-primary-dark.is-focused, + .input.is-primary-dark:active, + .input.is-primary-dark.is-active, + .textarea.is-primary-dark:focus, + .textarea.is-primary-dark.is-focused, + .textarea.is-primary-dark:active, + .textarea.is-primary-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); + } + + .input.is-link-dark, + .textarea.is-link-dark { + border-color: #3273dc; + } + + .input.is-link-dark:focus, + .input.is-link-dark.is-focused, + .input.is-link-dark:active, + .input.is-link-dark.is-active, + .textarea.is-link-dark:focus, + .textarea.is-link-dark.is-focused, + .textarea.is-link-dark:active, + .textarea.is-link-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); + } + + .input.is-info-dark, + .textarea.is-info-dark { + border-color: #209cee; + } + + .input.is-info-dark:focus, + .input.is-info-dark.is-focused, + .input.is-info-dark:active, + .input.is-info-dark.is-active, + .textarea.is-info-dark:focus, + .textarea.is-info-dark.is-focused, + .textarea.is-info-dark:active, + .textarea.is-info-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); + } + + .input.is-success-dark, + .textarea.is-success-dark { + border-color: #23d160; + } + + .input.is-success-dark:focus, + .input.is-success-dark.is-focused, + .input.is-success-dark:active, + .input.is-success-dark.is-active, + .textarea.is-success-dark:focus, + .textarea.is-success-dark.is-focused, + .textarea.is-success-dark:active, + .textarea.is-success-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25); + } + + .input.is-warning-dark, + .textarea.is-warning-dark { + border-color: #ffdd57; + } + + .input.is-warning-dark:focus, + .input.is-warning-dark.is-focused, + .input.is-warning-dark:active, + .input.is-warning-dark.is-active, + .textarea.is-warning-dark:focus, + .textarea.is-warning-dark.is-focused, + .textarea.is-warning-dark:active, + .textarea.is-warning-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); + } + + .input.is-danger-dark, + .textarea.is-danger-dark { + border-color: #ff3860; + } + + .input.is-danger-dark:focus, + .input.is-danger-dark.is-focused, + .input.is-danger-dark:active, + .input.is-danger-dark.is-active, + .textarea.is-danger-dark:focus, + .textarea.is-danger-dark.is-focused, + .textarea.is-danger-dark:active, + .textarea.is-danger-dark.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25); + } + + .checkbox:hover, + .radio:hover { + color: #dbdbdb; + } + + .checkbox[disabled], + fieldset[disabled] .checkbox, + .radio[disabled], + fieldset[disabled] .radio { + color: #b5b5b5; + } + + .select:not(.is-multiple):not(.is-loading)::after { + border-color: #5ea3e4; + } + + .select select[disabled]:hover, + fieldset[disabled] .select select:hover { + border-color: #242424; + } + + .select:not(.is-multiple):not(.is-loading):hover::after { + border-color: #dbdbdb; + } + + .select.is-white:not(:hover)::after { + border-color: #e6e6e6; + } + + .select.is-white select { + border-color: #e6e6e6; + } + + .select.is-white select:hover, + .select.is-white select.is-hovered { + border-color: #d9d9d9; + } + + .select.is-white select:focus, + .select.is-white select.is-focused, + .select.is-white select:active, + .select.is-white select.is-active { + box-shadow: 0 0 0 0.125em rgba(230, 230, 230, 0.25); + } + + .select.is-black:not(:hover)::after { + border-color: black; + } + + .select.is-black select { + border-color: black; + } + + .select.is-black select:hover, + .select.is-black select.is-hovered { + border-color: black; + } + + .select.is-black select:focus, + .select.is-black select.is-focused, + .select.is-black select:active, + .select.is-black select.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 0, 0, 0.25); + } + + .select.is-light:not(:hover)::after { + border-color: #dbdbdb; + } + + .select.is-light select { + border-color: #dbdbdb; + } + + .select.is-light select:hover, + .select.is-light select.is-hovered { + border-color: #cfcfcf; + } + + .select.is-light select:focus, + .select.is-light select.is-focused, + .select.is-light select:active, + .select.is-light select.is-active { + box-shadow: 0 0 0 0.125em rgba(219, 219, 219, 0.25); + } + + .select.is-dark:not(:hover)::after { + border-color: #1c1c1c; + } + + .select.is-dark select { + border-color: #1c1c1c; + } + + .select.is-dark select:hover, + .select.is-dark select.is-hovered { + border-color: #0f0f0f; + } + + .select.is-dark select:focus, + .select.is-dark select.is-focused, + .select.is-dark select:active, + .select.is-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(28, 28, 28, 0.25); + } + + .select.is-primary:not(:hover)::after { + border-color: #009e86; + } + + .select.is-primary select { + border-color: #009e86; + } + + .select.is-primary select:hover, + .select.is-primary select.is-hovered { + border-color: #008571; + } + + .select.is-primary select:focus, + .select.is-primary select.is-focused, + .select.is-primary select:active, + .select.is-primary select.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 158, 134, 0.25); + } + + .select.is-link:not(:hover)::after { + border-color: #205bbc; + } + + .select.is-link select { + border-color: #205bbc; + } + + .select.is-link select:hover, + .select.is-link select.is-hovered { + border-color: #1c51a6; + } + + .select.is-link select:focus, + .select.is-link select.is-focused, + .select.is-link select:active, + .select.is-link select.is-active { + box-shadow: 0 0 0 0.125em rgba(32, 91, 188, 0.25); + } + + .select.is-info:not(:hover)::after { + border-color: #0f81cc; + } + + .select.is-info select { + border-color: #0f81cc; + } + + .select.is-info select:hover, + .select.is-info select.is-hovered { + border-color: #0e72b4; + } + + .select.is-info select:focus, + .select.is-info select.is-focused, + .select.is-info select:active, + .select.is-info select.is-active { + box-shadow: 0 0 0 0.125em rgba(15, 129, 204, 0.25); + } + + .select.is-success:not(:hover)::after { + border-color: #1ca64c; + } + + .select.is-success select { + border-color: #1ca64c; + } + + .select.is-success select:hover, + .select.is-success select.is-hovered { + border-color: #189042; + } + + .select.is-success select:focus, + .select.is-success select.is-focused, + .select.is-success select:active, + .select.is-success select.is-active { + box-shadow: 0 0 0 0.125em rgba(28, 166, 76, 0.25); + } + + .select.is-warning:not(:hover)::after { + border-color: #ffd324; + } + + .select.is-warning select { + border-color: #ffd324; + } + + .select.is-warning select:hover, + .select.is-warning select.is-hovered { + border-color: #ffce0a; + } + + .select.is-warning select:focus, + .select.is-warning select.is-focused, + .select.is-warning select:active, + .select.is-warning select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 211, 36, 0.25); + } + + .select.is-danger:not(:hover)::after { + border-color: #ff0537; + } + + .select.is-danger select { + border-color: #ff0537; + } + + .select.is-danger select:hover, + .select.is-danger select.is-hovered { + border-color: #eb002f; + } + + .select.is-danger select:focus, + .select.is-danger select.is-focused, + .select.is-danger select:active, + .select.is-danger select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 5, 55, 0.25); + } + + .select.is-white-dark:not(:hover)::after { + border-color: white; + } + + .select.is-white-dark select { + border-color: white; + } + + .select.is-white-dark select:hover, + .select.is-white-dark select.is-hovered { + border-color: #f2f2f2; + } + + .select.is-white-dark select:focus, + .select.is-white-dark select.is-focused, + .select.is-white-dark select:active, + .select.is-white-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); + } + + .select.is-black-dark:not(:hover)::after { + border-color: #0a0a0a; + } + + .select.is-black-dark select { + border-color: #0a0a0a; + } + + .select.is-black-dark select:hover, + .select.is-black-dark select.is-hovered { + border-color: black; + } + + .select.is-black-dark select:focus, + .select.is-black-dark select.is-focused, + .select.is-black-dark select:active, + .select.is-black-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); + } + + .select.is-light-dark:not(:hover)::after { + border-color: whitesmoke; + } + + .select.is-light-dark select { + border-color: whitesmoke; + } + + .select.is-light-dark select:hover, + .select.is-light-dark select.is-hovered { + border-color: #e8e8e8; + } + + .select.is-light-dark select:focus, + .select.is-light-dark select.is-focused, + .select.is-light-dark select:active, + .select.is-light-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); + } + + .select.is-dark-dark:not(:hover)::after { + border-color: #363636; + } + + .select.is-dark-dark select { + border-color: #363636; + } + + .select.is-dark-dark select:hover, + .select.is-dark-dark select.is-hovered { + border-color: #292929; + } + + .select.is-dark-dark select:focus, + .select.is-dark-dark select.is-focused, + .select.is-dark-dark select:active, + .select.is-dark-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); + } + + .select.is-primary-dark:not(:hover)::after { + border-color: #00d1b2; + } + + .select.is-primary-dark select { + border-color: #00d1b2; + } + + .select.is-primary-dark select:hover, + .select.is-primary-dark select.is-hovered { + border-color: #00b89c; + } + + .select.is-primary-dark select:focus, + .select.is-primary-dark select.is-focused, + .select.is-primary-dark select:active, + .select.is-primary-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); + } + + .select.is-link-dark:not(:hover)::after { + border-color: #3273dc; + } + + .select.is-link-dark select { + border-color: #3273dc; + } + + .select.is-link-dark select:hover, + .select.is-link-dark select.is-hovered { + border-color: #2366d1; + } + + .select.is-link-dark select:focus, + .select.is-link-dark select.is-focused, + .select.is-link-dark select:active, + .select.is-link-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); + } + + .select.is-info-dark:not(:hover)::after { + border-color: #209cee; + } + + .select.is-info-dark select { + border-color: #209cee; + } + + .select.is-info-dark select:hover, + .select.is-info-dark select.is-hovered { + border-color: #118fe4; + } + + .select.is-info-dark select:focus, + .select.is-info-dark select.is-focused, + .select.is-info-dark select:active, + .select.is-info-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25); + } + + .select.is-success-dark:not(:hover)::after { + border-color: #23d160; + } + + .select.is-success-dark select { + border-color: #23d160; + } + + .select.is-success-dark select:hover, + .select.is-success-dark select.is-hovered { + border-color: #20bc56; + } + + .select.is-success-dark select:focus, + .select.is-success-dark select.is-focused, + .select.is-success-dark select:active, + .select.is-success-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25); + } + + .select.is-warning-dark:not(:hover)::after { + border-color: #ffdd57; + } + + .select.is-warning-dark select { + border-color: #ffdd57; + } + + .select.is-warning-dark select:hover, + .select.is-warning-dark select.is-hovered { + border-color: #ffd83d; + } + + .select.is-warning-dark select:focus, + .select.is-warning-dark select.is-focused, + .select.is-warning-dark select:active, + .select.is-warning-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25); + } + + .select.is-danger-dark:not(:hover)::after { + border-color: #ff3860; + } + + .select.is-danger-dark select { + border-color: #ff3860; + } + + .select.is-danger-dark select:hover, + .select.is-danger-dark select.is-hovered { + border-color: #ff1f4b; + } + + .select.is-danger-dark select:focus, + .select.is-danger-dark select.is-focused, + .select.is-danger-dark select:active, + .select.is-danger-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25); + } + + .select.is-disabled::after { + border-color: #b5b5b5; + } + + .file.is-white .file-cta { + background-color: #e6e6e6; + color: #0a0a0a; + } + + .file.is-white:hover .file-cta, + .file.is-white.is-hovered .file-cta { + background-color: #dfdfdf; + color: #0a0a0a; + } + + .file.is-white:focus .file-cta, + .file.is-white.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(230, 230, 230, 0.25); + color: #0a0a0a; + } + + .file.is-white:active .file-cta, + .file.is-white.is-active .file-cta { + background-color: #d9d9d9; + color: #0a0a0a; + } + + .file.is-black .file-cta { + background-color: black; + color: white; + } + + .file.is-black:hover .file-cta, + .file.is-black.is-hovered .file-cta { + background-color: black; + color: white; + } + + .file.is-black:focus .file-cta, + .file.is-black.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.25); + color: white; + } + + .file.is-black:active .file-cta, + .file.is-black.is-active .file-cta { + background-color: black; + color: white; + } + + .file.is-light .file-cta { + background-color: #dbdbdb; + color: #363636; + } + + .file.is-light:hover .file-cta, + .file.is-light.is-hovered .file-cta { + background-color: #d5d5d5; + color: #363636; + } + + .file.is-light:focus .file-cta, + .file.is-light.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(219, 219, 219, 0.25); + color: #363636; + } + + .file.is-light:active .file-cta, + .file.is-light.is-active .file-cta { + background-color: #cfcfcf; + color: #363636; + } + + .file.is-dark .file-cta { + background-color: #1c1c1c; + color: whitesmoke; + } + + .file.is-dark:hover .file-cta, + .file.is-dark.is-hovered .file-cta { + background-color: #161616; + color: whitesmoke; + } + + .file.is-dark:focus .file-cta, + .file.is-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(28, 28, 28, 0.25); + color: whitesmoke; + } + + .file.is-dark:active .file-cta, + .file.is-dark.is-active .file-cta { + background-color: #0f0f0f; + color: whitesmoke; + } + + .file.is-primary .file-cta { + background-color: #009e86; + color: #fff; + } + + .file.is-primary:hover .file-cta, + .file.is-primary.is-hovered .file-cta { + background-color: #00917c; + color: #fff; + } + + .file.is-primary:focus .file-cta, + .file.is-primary.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(0, 158, 134, 0.25); + color: #fff; + } + + .file.is-primary:active .file-cta, + .file.is-primary.is-active .file-cta { + background-color: #008571; + color: #fff; + } + + .file.is-link .file-cta { + background-color: #205bbc; + color: #fff; + } + + .file.is-link:hover .file-cta, + .file.is-link.is-hovered .file-cta { + background-color: #1e56b1; + color: #fff; + } + + .file.is-link:focus .file-cta, + .file.is-link.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(32, 91, 188, 0.25); + color: #fff; + } + + .file.is-link:active .file-cta, + .file.is-link.is-active .file-cta { + background-color: #1c51a6; + color: #fff; + } + + .file.is-info .file-cta { + background-color: #0f81cc; + color: #fff; + } + + .file.is-info:hover .file-cta, + .file.is-info.is-hovered .file-cta { + background-color: #0e79c0; + color: #fff; + } + + .file.is-info:focus .file-cta, + .file.is-info.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(15, 129, 204, 0.25); + color: #fff; + } + + .file.is-info:active .file-cta, + .file.is-info.is-active .file-cta { + background-color: #0e72b4; + color: #fff; + } + + .file.is-success .file-cta { + background-color: #1ca64c; + color: #fff; + } + + .file.is-success:hover .file-cta, + .file.is-success.is-hovered .file-cta { + background-color: #1a9b47; + color: #fff; + } + + .file.is-success:focus .file-cta, + .file.is-success.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(28, 166, 76, 0.25); + color: #fff; + } + + .file.is-success:active .file-cta, + .file.is-success.is-active .file-cta { + background-color: #189042; + color: #fff; + } + + .file.is-warning .file-cta { + background-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .file.is-warning:hover .file-cta, + .file.is-warning.is-hovered .file-cta { + background-color: #ffd117; + color: rgba(0, 0, 0, 0.7); + } + + .file.is-warning:focus .file-cta, + .file.is-warning.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(255, 211, 36, 0.25); + color: rgba(0, 0, 0, 0.7); + } + + .file.is-warning:active .file-cta, + .file.is-warning.is-active .file-cta { + background-color: #ffce0a; + color: rgba(0, 0, 0, 0.7); + } + + .file.is-danger .file-cta { + background-color: #ff0537; + color: #fff; + } + + .file.is-danger:hover .file-cta, + .file.is-danger.is-hovered .file-cta { + background-color: #f70031; + color: #fff; + } + + .file.is-danger:focus .file-cta, + .file.is-danger.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(255, 5, 55, 0.25); + color: #fff; + } + + .file.is-danger:active .file-cta, + .file.is-danger.is-active .file-cta { + background-color: #eb002f; + color: #fff; + } + + .file.is-white-dark .file-cta { + background-color: white; + color: #0a0a0a; + } + + .file.is-white-dark:hover .file-cta, + .file.is-white-dark.is-hovered .file-cta { + background-color: #f9f9f9; + color: #0a0a0a; + } + + .file.is-white-dark:focus .file-cta, + .file.is-white-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); + color: #0a0a0a; + } + + .file.is-white-dark:active .file-cta, + .file.is-white-dark.is-active .file-cta { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .file.is-black-dark .file-cta { + background-color: #0a0a0a; + color: white; + } + + .file.is-black-dark:hover .file-cta, + .file.is-black-dark.is-hovered .file-cta { + background-color: #040404; + color: white; + } + + .file.is-black-dark:focus .file-cta, + .file.is-black-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25); + color: white; + } + + .file.is-black-dark:active .file-cta, + .file.is-black-dark.is-active .file-cta { + background-color: black; + color: white; + } + + .file.is-light-dark .file-cta { + background-color: whitesmoke; + color: #363636; + } + + .file.is-light-dark:hover .file-cta, + .file.is-light-dark.is-hovered .file-cta { + background-color: #eeeeee; + color: #363636; + } + + .file.is-light-dark:focus .file-cta, + .file.is-light-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25); + color: #363636; + } + + .file.is-light-dark:active .file-cta, + .file.is-light-dark.is-active .file-cta { + background-color: #e8e8e8; + color: #363636; + } + + .file.is-dark-dark .file-cta { + background-color: #363636; + color: whitesmoke; + } + + .file.is-dark-dark:hover .file-cta, + .file.is-dark-dark.is-hovered .file-cta { + background-color: #2f2f2f; + color: whitesmoke; + } + + .file.is-dark-dark:focus .file-cta, + .file.is-dark-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25); + color: whitesmoke; + } + + .file.is-dark-dark:active .file-cta, + .file.is-dark-dark.is-active .file-cta { + background-color: #292929; + color: whitesmoke; + } + + .file.is-primary-dark .file-cta { + background-color: #00d1b2; + color: #fff; + } + + .file.is-primary-dark:hover .file-cta, + .file.is-primary-dark.is-hovered .file-cta { + background-color: #00c4a7; + color: #fff; + } + + .file.is-primary-dark:focus .file-cta, + .file.is-primary-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25); + color: #fff; + } + + .file.is-primary-dark:active .file-cta, + .file.is-primary-dark.is-active .file-cta { + background-color: #00b89c; + color: #fff; + } + + .file.is-link-dark .file-cta { + background-color: #3273dc; + color: #fff; + } + + .file.is-link-dark:hover .file-cta, + .file.is-link-dark.is-hovered .file-cta { + background-color: #276cda; + color: #fff; + } + + .file.is-link-dark:focus .file-cta, + .file.is-link-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(50, 115, 220, 0.25); + color: #fff; + } + + .file.is-link-dark:active .file-cta, + .file.is-link-dark.is-active .file-cta { + background-color: #2366d1; + color: #fff; + } + + .file.is-info-dark .file-cta { + background-color: #209cee; + color: #fff; + } + + .file.is-info-dark:hover .file-cta, + .file.is-info-dark.is-hovered .file-cta { + background-color: #1496ed; + color: #fff; + } + + .file.is-info-dark:focus .file-cta, + .file.is-info-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(32, 156, 238, 0.25); + color: #fff; + } + + .file.is-info-dark:active .file-cta, + .file.is-info-dark.is-active .file-cta { + background-color: #118fe4; + color: #fff; + } + + .file.is-success-dark .file-cta { + background-color: #23d160; + color: #fff; + } + + .file.is-success-dark:hover .file-cta, + .file.is-success-dark.is-hovered .file-cta { + background-color: #22c65b; + color: #fff; + } + + .file.is-success-dark:focus .file-cta, + .file.is-success-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(35, 209, 96, 0.25); + color: #fff; + } + + .file.is-success-dark:active .file-cta, + .file.is-success-dark.is-active .file-cta { + background-color: #20bc56; + color: #fff; + } + + .file.is-warning-dark .file-cta { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .file.is-warning-dark:hover .file-cta, + .file.is-warning-dark.is-hovered .file-cta { + background-color: #ffdb4a; + color: rgba(0, 0, 0, 0.7); + } + + .file.is-warning-dark:focus .file-cta, + .file.is-warning-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(255, 221, 87, 0.25); + color: rgba(0, 0, 0, 0.7); + } + + .file.is-warning-dark:active .file-cta, + .file.is-warning-dark.is-active .file-cta { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); + } + + .file.is-danger-dark .file-cta { + background-color: #ff3860; + color: #fff; + } + + .file.is-danger-dark:hover .file-cta, + .file.is-danger-dark.is-hovered .file-cta { + background-color: #ff2b56; + color: #fff; + } + + .file.is-danger-dark:focus .file-cta, + .file.is-danger-dark.is-focused .file-cta { + box-shadow: 0 0 0.5em rgba(255, 56, 96, 0.25); + color: #fff; + } + + .file.is-danger-dark:active .file-cta, + .file.is-danger-dark.is-active .file-cta { + background-color: #ff1f4b; + color: #fff; + } + + .file-label:hover .file-cta { + background-color: #1d1d1d; + color: #dbdbdb; + } + + .file-label:hover .file-name { + border-color: #2f2f2f; + } + + .file-label:active .file-cta { + background-color: #171717; + color: #dbdbdb; + } + + .file-label:active .file-name { + border-color: #292929; + } + + .file-cta, + .file-name { + border-color: #363636; + } + + .file-cta { + background-color: #242424; + color: #b5b5b5; + } + + .file-name { + border-color: #363636; + } + + .label { + color: #dbdbdb; + } + + .help.is-white { + color: #e6e6e6; + } + + .help.is-black { + color: black; + } + + .help.is-light { + color: #dbdbdb; + } + + .help.is-dark { + color: #1c1c1c; + } + + .help.is-primary { + color: #009e86; + } + + .help.is-link { + color: #205bbc; + } + + .help.is-info { + color: #0f81cc; + } + + .help.is-success { + color: #1ca64c; + } + + .help.is-warning { + color: #ffd324; + } + + .help.is-danger { + color: #ff0537; + } + + .help.is-white-dark { + color: white; + } + + .help.is-black-dark { + color: #0a0a0a; + } + + .help.is-light-dark { + color: whitesmoke; + } + + .help.is-dark-dark { + color: #363636; + } + + .help.is-primary-dark { + color: #00d1b2; + } + + .help.is-link-dark { + color: #3273dc; + } + + .help.is-info-dark { + color: #209cee; + } + + .help.is-success-dark { + color: #23d160; + } + + .help.is-warning-dark { + color: #ffdd57; + } + + .help.is-danger-dark { + color: #ff3860; + } + + .control.has-icons-left .icon, + .control.has-icons-right .icon { + color: #363636; + } + + .notification { + background-color: #242424; + } + + .notification code, + .notification pre { + background: #0a0a0a; + } + + .notification.is-white { + background-color: #e6e6e6; + color: #0a0a0a; + } + + .notification.is-black { + background-color: black; + color: white; + } + + .notification.is-light { + background-color: #dbdbdb; + color: #363636; + } + + .notification.is-dark { + background-color: #1c1c1c; + color: whitesmoke; + } + + .notification.is-primary { + background-color: #009e86; + color: #fff; + } + + .notification.is-link { + background-color: #205bbc; + color: #fff; + } + + .notification.is-info { + background-color: #0f81cc; + color: #fff; + } + + .notification.is-success { + background-color: #1ca64c; + color: #fff; + } + + .notification.is-warning { + background-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .notification.is-danger { + background-color: #ff0537; + color: #fff; + } + + .notification.is-white-dark { + background-color: white; + color: #0a0a0a; + } + + .notification.is-black-dark { + background-color: #0a0a0a; + color: white; + } + + .notification.is-light-dark { + background-color: whitesmoke; + color: #363636; + } + + .notification.is-dark-dark { + background-color: #363636; + color: whitesmoke; + } + + .notification.is-primary-dark { + background-color: #00d1b2; + color: #fff; + } + + .notification.is-link-dark { + background-color: #3273dc; + color: #fff; + } + + .notification.is-info-dark { + background-color: #209cee; + color: #fff; + } + + .notification.is-success-dark { + background-color: #23d160; + color: #fff; + } + + .notification.is-warning-dark { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .notification.is-danger-dark { + background-color: #ff3860; + color: #fff; + } + + .progress::-webkit-progress-bar { + background-color: #363636; + } + + .progress::-webkit-progress-value { + background-color: #b5b5b5; + } + + .progress::-moz-progress-bar { + background-color: #b5b5b5; + } + + .progress::-ms-fill { + background-color: #b5b5b5; + } + + .progress:indeterminate { + background-color: #363636; + background-image: linear-gradient(to right, #4a4a4a 30%, #363636 30%); + } + + .progress.is-white::-webkit-progress-value { + background-color: #e6e6e6; + } + + .progress.is-white::-moz-progress-bar { + background-color: #e6e6e6; + } + + .progress.is-white::-ms-fill { + background-color: #e6e6e6; + } + + .progress.is-white:indeterminate { + background-image: linear-gradient(to right, #e6e6e6 30%, #363636 30%); + } + + .progress.is-black::-webkit-progress-value { + background-color: black; + } + + .progress.is-black::-moz-progress-bar { + background-color: black; + } + + .progress.is-black::-ms-fill { + background-color: black; + } + + .progress.is-black:indeterminate { + background-image: linear-gradient(to right, black 30%, #363636 30%); + } + + .progress.is-light::-webkit-progress-value { + background-color: #dbdbdb; + } + + .progress.is-light::-moz-progress-bar { + background-color: #dbdbdb; + } + + .progress.is-light::-ms-fill { + background-color: #dbdbdb; + } + + .progress.is-light:indeterminate { + background-image: linear-gradient(to right, #dbdbdb 30%, #363636 30%); + } + + .progress.is-dark::-webkit-progress-value { + background-color: #1c1c1c; + } + + .progress.is-dark::-moz-progress-bar { + background-color: #1c1c1c; + } + + .progress.is-dark::-ms-fill { + background-color: #1c1c1c; + } + + .progress.is-dark:indeterminate { + background-image: linear-gradient(to right, #1c1c1c 30%, #363636 30%); + } + + .progress.is-primary::-webkit-progress-value { + background-color: #009e86; + } + + .progress.is-primary::-moz-progress-bar { + background-color: #009e86; + } + + .progress.is-primary::-ms-fill { + background-color: #009e86; + } + + .progress.is-primary:indeterminate { + background-image: linear-gradient(to right, #009e86 30%, #363636 30%); + } + + .progress.is-link::-webkit-progress-value { + background-color: #205bbc; + } + + .progress.is-link::-moz-progress-bar { + background-color: #205bbc; + } + + .progress.is-link::-ms-fill { + background-color: #205bbc; + } + + .progress.is-link:indeterminate { + background-image: linear-gradient(to right, #205bbc 30%, #363636 30%); + } + + .progress.is-info::-webkit-progress-value { + background-color: #0f81cc; + } + + .progress.is-info::-moz-progress-bar { + background-color: #0f81cc; + } + + .progress.is-info::-ms-fill { + background-color: #0f81cc; + } + + .progress.is-info:indeterminate { + background-image: linear-gradient(to right, #0f81cc 30%, #363636 30%); + } + + .progress.is-success::-webkit-progress-value { + background-color: #1ca64c; + } + + .progress.is-success::-moz-progress-bar { + background-color: #1ca64c; + } + + .progress.is-success::-ms-fill { + background-color: #1ca64c; + } + + .progress.is-success:indeterminate { + background-image: linear-gradient(to right, #1ca64c 30%, #363636 30%); + } + + .progress.is-warning::-webkit-progress-value { + background-color: #ffd324; + } + + .progress.is-warning::-moz-progress-bar { + background-color: #ffd324; + } + + .progress.is-warning::-ms-fill { + background-color: #ffd324; + } + + .progress.is-warning:indeterminate { + background-image: linear-gradient(to right, #ffd324 30%, #363636 30%); + } + + .progress.is-danger::-webkit-progress-value { + background-color: #ff0537; + } + + .progress.is-danger::-moz-progress-bar { + background-color: #ff0537; + } + + .progress.is-danger::-ms-fill { + background-color: #ff0537; + } + + .progress.is-danger:indeterminate { + background-image: linear-gradient(to right, #ff0537 30%, #363636 30%); + } + + .progress.is-white-dark::-webkit-progress-value { + background-color: white; + } + + .progress.is-white-dark::-moz-progress-bar { + background-color: white; + } + + .progress.is-white-dark::-ms-fill { + background-color: white; + } + + .progress.is-white-dark:indeterminate { + background-image: linear-gradient(to right, white 30%, #363636 30%); + } + + .progress.is-black-dark::-webkit-progress-value { + background-color: #0a0a0a; + } + + .progress.is-black-dark::-moz-progress-bar { + background-color: #0a0a0a; + } + + .progress.is-black-dark::-ms-fill { + background-color: #0a0a0a; + } + + .progress.is-black-dark:indeterminate { + background-image: linear-gradient(to right, #0a0a0a 30%, #363636 30%); + } + + .progress.is-light-dark::-webkit-progress-value { + background-color: whitesmoke; + } + + .progress.is-light-dark::-moz-progress-bar { + background-color: whitesmoke; + } + + .progress.is-light-dark::-ms-fill { + background-color: whitesmoke; + } + + .progress.is-light-dark:indeterminate { + background-image: linear-gradient(to right, whitesmoke 30%, #363636 30%); + } + + .progress.is-dark-dark::-webkit-progress-value { + background-color: #363636; + } + + .progress.is-dark-dark::-moz-progress-bar { + background-color: #363636; + } + + .progress.is-dark-dark::-ms-fill { + background-color: #363636; + } + + .progress.is-dark-dark:indeterminate { + background-image: linear-gradient(to right, #363636 30%, #363636 30%); + } + + .progress.is-primary-dark::-webkit-progress-value { + background-color: #00d1b2; + } + + .progress.is-primary-dark::-moz-progress-bar { + background-color: #00d1b2; + } + + .progress.is-primary-dark::-ms-fill { + background-color: #00d1b2; + } + + .progress.is-primary-dark:indeterminate { + background-image: linear-gradient(to right, #00d1b2 30%, #363636 30%); + } + + .progress.is-link-dark::-webkit-progress-value { + background-color: #3273dc; + } + + .progress.is-link-dark::-moz-progress-bar { + background-color: #3273dc; + } + + .progress.is-link-dark::-ms-fill { + background-color: #3273dc; + } + + .progress.is-link-dark:indeterminate { + background-image: linear-gradient(to right, #3273dc 30%, #363636 30%); + } + + .progress.is-info-dark::-webkit-progress-value { + background-color: #209cee; + } + + .progress.is-info-dark::-moz-progress-bar { + background-color: #209cee; + } + + .progress.is-info-dark::-ms-fill { + background-color: #209cee; + } + + .progress.is-info-dark:indeterminate { + background-image: linear-gradient(to right, #209cee 30%, #363636 30%); + } + + .progress.is-success-dark::-webkit-progress-value { + background-color: #23d160; + } + + .progress.is-success-dark::-moz-progress-bar { + background-color: #23d160; + } + + .progress.is-success-dark::-ms-fill { + background-color: #23d160; + } + + .progress.is-success-dark:indeterminate { + background-image: linear-gradient(to right, #23d160 30%, #363636 30%); + } + + .progress.is-warning-dark::-webkit-progress-value { + background-color: #ffdd57; + } + + .progress.is-warning-dark::-moz-progress-bar { + background-color: #ffdd57; + } + + .progress.is-warning-dark::-ms-fill { + background-color: #ffdd57; + } + + .progress.is-warning-dark:indeterminate { + background-image: linear-gradient(to right, #ffdd57 30%, #363636 30%); + } + + .progress.is-danger-dark::-webkit-progress-value { + background-color: #ff3860; + } + + .progress.is-danger-dark::-moz-progress-bar { + background-color: #ff3860; + } + + .progress.is-danger-dark::-ms-fill { + background-color: #ff3860; + } + + .progress.is-danger-dark:indeterminate { + background-image: linear-gradient(to right, #ff3860 30%, #363636 30%); + } + + .table { + background-color: #0a0a0a; + color: #dbdbdb; + } + + .table td, + .table th { + border: 1px solid #363636; + } + + .table td.is-white, + .table th.is-white { + background-color: #e6e6e6; + border-color: #e6e6e6; + color: #0a0a0a; + } + + .table td.is-black, + .table th.is-black { + background-color: black; + border-color: black; + color: white; + } + + .table td.is-light, + .table th.is-light { + background-color: #dbdbdb; + border-color: #dbdbdb; + color: #363636; + } + + .table td.is-dark, + .table th.is-dark { + background-color: #1c1c1c; + border-color: #1c1c1c; + color: whitesmoke; + } + + .table td.is-primary, + .table th.is-primary { + background-color: #009e86; + border-color: #009e86; + color: #fff; + } + + .table td.is-link, + .table th.is-link { + background-color: #205bbc; + border-color: #205bbc; + color: #fff; + } + + .table td.is-info, + .table th.is-info { + background-color: #0f81cc; + border-color: #0f81cc; + color: #fff; + } + + .table td.is-success, + .table th.is-success { + background-color: #1ca64c; + border-color: #1ca64c; + color: #fff; + } + + .table td.is-warning, + .table th.is-warning { + background-color: #ffd324; + border-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .table td.is-danger, + .table th.is-danger { + background-color: #ff0537; + border-color: #ff0537; + color: #fff; + } + + .table td.is-white-dark, + .table th.is-white-dark { + background-color: white; + border-color: white; + color: #0a0a0a; + } + + .table td.is-black-dark, + .table th.is-black-dark { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; + } + + .table td.is-light-dark, + .table th.is-light-dark { + background-color: whitesmoke; + border-color: whitesmoke; + color: #363636; + } + + .table td.is-dark-dark, + .table th.is-dark-dark { + background-color: #363636; + border-color: #363636; + color: whitesmoke; + } + + .table td.is-primary-dark, + .table th.is-primary-dark { + background-color: #00d1b2; + border-color: #00d1b2; + color: #fff; + } + + .table td.is-link-dark, + .table th.is-link-dark { + background-color: #3273dc; + border-color: #3273dc; + color: #fff; + } + + .table td.is-info-dark, + .table th.is-info-dark { + background-color: #209cee; + border-color: #209cee; + color: #fff; + } + + .table td.is-success-dark, + .table th.is-success-dark { + background-color: #23d160; + border-color: #23d160; + color: #fff; + } + + .table td.is-warning-dark, + .table th.is-warning-dark { + background-color: #ffdd57; + border-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .table td.is-danger-dark, + .table th.is-danger-dark { + background-color: #ff3860; + border-color: #ff3860; + color: #fff; + } + + .table td.is-selected, + .table th.is-selected { + background-color: #009e86; + color: #e6e6e6; + } + + .table th { + color: #dbdbdb; + } + + .table tr.is-selected { + background-color: #009e86; + color: #e6e6e6; + } + + .table tr.is-selected td, + .table tr.is-selected th { + border-color: #e6e6e6; + } + + .table thead td, + .table thead th { + color: #dbdbdb; + } + + .table tfoot td, + .table tfoot th { + color: #dbdbdb; + } + + .table.is-hoverable tbody tr:not(.is-selected):hover { + background-color: #121212; + } + + .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover { + background-color: #121212; + } + + .table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) { + background-color: #242424; + } + + .table.is-striped tbody tr:not(.is-selected):nth-child(even) { + background-color: #121212; + } + + .tag:not(body) { + background-color: #242424; + color: #b5b5b5; + } + + .tag:not(body).is-white { + background-color: #e6e6e6; + color: #0a0a0a; + } + + .tag:not(body).is-black { + background-color: black; + color: white; + } + + .tag:not(body).is-light { + background-color: #dbdbdb; + color: #363636; + } + + .tag:not(body).is-dark { + background-color: #1c1c1c; + color: whitesmoke; + } + + .tag:not(body).is-primary { + background-color: #009e86; + color: #fff; + } + + .tag:not(body).is-link { + background-color: #205bbc; + color: #fff; + } + + .tag:not(body).is-info { + background-color: #0f81cc; + color: #fff; + } + + .tag:not(body).is-success { + background-color: #1ca64c; + color: #fff; + } + + .tag:not(body).is-warning { + background-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .tag:not(body).is-danger { + background-color: #ff0537; + color: #fff; + } + + .tag:not(body).is-white-dark { + background-color: white; + color: #0a0a0a; + } + + .tag:not(body).is-black-dark { + background-color: #0a0a0a; + color: white; + } + + .tag:not(body).is-light-dark { + background-color: whitesmoke; + color: #363636; + } + + .tag:not(body).is-dark-dark { + background-color: #363636; + color: whitesmoke; + } + + .tag:not(body).is-primary-dark { + background-color: #00d1b2; + color: #fff; + } + + .tag:not(body).is-link-dark { + background-color: #3273dc; + color: #fff; + } + + .tag:not(body).is-info-dark { + background-color: #209cee; + color: #fff; + } + + .tag:not(body).is-success-dark { + background-color: #23d160; + color: #fff; + } + + .tag:not(body).is-warning-dark { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .tag:not(body).is-danger-dark { + background-color: #ff3860; + color: #fff; + } + + .tag:not(body).is-delete:hover, + .tag:not(body).is-delete:focus { + background-color: #171717; + } + + .tag:not(body).is-delete:active { + background-color: #0a0a0a; + } + + .title { + color: #dbdbdb; + } + + .subtitle { + color: #b5b5b5; + } + + .subtitle strong { + color: #dbdbdb; + } + + .number { + background-color: #242424; + } + + .breadcrumb a { + color: #5ea3e4; + } + + .breadcrumb a:hover { + color: #dbdbdb; + } + + .breadcrumb li.is-active a { + color: #dbdbdb; + } + + .breadcrumb li+li::before { + color: #4a4a4a; + } + + .card { + background-color: #0a0a0a; + box-shadow: 0 2px 3px rgba(255, 255, 255, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1); + color: #ffffff; + } + + .card-header { + box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1); + } + + .card-header-title { + color: #dbdbdb; + } + + .card-footer { + border-top: 1px solid #363636; + } + + .card-footer-item:not(:last-child) { + border-right: 1px solid #363636; + } + + .dropdown-content { + background-color: #0a0a0a; + box-shadow: 0 2px 3px rgba(255, 255, 255, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1); + } + + .dropdown-item { + color: #b5b5b5; + } + + a.dropdown-item:hover, + button.dropdown-item:hover { + background-color: #242424; + color: white; + } + + a.dropdown-item.is-active, + button.dropdown-item.is-active { + background-color: #5ea3e4; + color: #fff; + } + + .dropdown-divider { + background-color: #363636; + } + + .list { + background-color: #0a0a0a; + box-shadow: 0 2px 3px rgba(255, 255, 255, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1); + } + + .list-item:not(a) { + color: #b5b5b5; + } + + .list-item:not(:last-child) { + border-bottom: 1px solid #363636; + } + + .list-item.is-active { + background-color: #5ea3e4; + color: #fff; + } + + a.list-item { + background-color: #242424; + } + + .media .media { + border-top: 1px solid rgba(54, 54, 54, 0.5); + } + + .media+.media { + border-top: 1px solid rgba(54, 54, 54, 0.5); + } + + .menu-list a { + color: #b5b5b5; + } + + .menu-list a:hover { + background-color: #242424; + color: #dbdbdb; + } + + .menu-list a.is-active { + background-color: #5ea3e4; + color: #fff; + } + + .menu-list li ul { + border-left: 1px solid #363636; + } + + .message { + background-color: #242424; + } + + .message.is-white { + background-color: #242424; + } + + .message.is-white .message-header { + background-color: white; + color: #0a0a0a; + } + + .message.is-white .message-body { + border-color: white; + color: #b5b5b5; + } + + .message.is-black { + background-color: #242424; + } + + .message.is-black .message-header { + background-color: #0a0a0a; + color: white; + } + + .message.is-black .message-body { + border-color: #0a0a0a; + color: #b5b5b5; + } + + .message.is-light { + background-color: #242424; + } + + .message.is-light .message-header { + background-color: whitesmoke; + color: #363636; + } + + .message.is-light .message-body { + border-color: whitesmoke; + color: #b5b5b5; + } + + .message.is-dark { + background-color: #242424; + } + + .message.is-dark .message-header { + background-color: #363636; + color: whitesmoke; + } + + .message.is-dark .message-body { + border-color: #363636; + color: #b5b5b5; + } + + .message.is-primary { + background-color: #242424; + } + + .message.is-primary .message-header { + background-color: #00d1b2; + color: #fff; + } + + .message.is-primary .message-body { + border-color: #00d1b2; + color: #b5b5b5; + } + + .message.is-link { + background-color: #242424; + } + + .message.is-link .message-header { + background-color: #3273dc; + color: #fff; + } + + .message.is-link .message-body { + border-color: #3273dc; + color: #b5b5b5; + } + + .message.is-info { + background-color: #242424; + } + + .message.is-info .message-header { + background-color: #209cee; + color: #fff; + } + + .message.is-info .message-body { + border-color: #209cee; + color: #b5b5b5; + } + + .message.is-success { + background-color: #242424; + } + + .message.is-success .message-header { + background-color: #23d160; + color: #fff; + } + + .message.is-success .message-body { + border-color: #23d160; + color: #b5b5b5; + } + + .message.is-warning { + background-color: #242424; + } + + .message.is-warning .message-header { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .message.is-warning .message-body { + border-color: #ffdd57; + color: #b5b5b5; + } + + .message.is-danger { + background-color: #242424; + } + + .message.is-danger .message-header { + background-color: #ff3860; + color: #fff; + } + + .message.is-danger .message-body { + border-color: #ff3860; + color: #b5b5b5; + } + + .message.is-white-dark { + background-color: #242424; + } + + .message.is-white-dark .message-header { + background-color: white; + color: #0a0a0a; + } + + .message.is-white-dark .message-body { + border-color: white; + color: #b5b5b5; + } + + .message.is-black-dark { + background-color: #242424; + } + + .message.is-black-dark .message-header { + background-color: #0a0a0a; + color: white; + } + + .message.is-black-dark .message-body { + border-color: #0a0a0a; + color: #b5b5b5; + } + + .message.is-light-dark { + background-color: #242424; + } + + .message.is-light-dark .message-header { + background-color: whitesmoke; + color: #363636; + } + + .message.is-light-dark .message-body { + border-color: whitesmoke; + color: #b5b5b5; + } + + .message.is-dark-dark { + background-color: #242424; + } + + .message.is-dark-dark .message-header { + background-color: #363636; + color: whitesmoke; + } + + .message.is-dark-dark .message-body { + border-color: #363636; + color: #b5b5b5; + } + + .message.is-primary-dark { + background-color: #242424; + } + + .message.is-primary-dark .message-header { + background-color: #00d1b2; + color: #fff; + } + + .message.is-primary-dark .message-body { + border-color: #00d1b2; + color: #b5b5b5; + } + + .message.is-link-dark { + background-color: #242424; + } + + .message.is-link-dark .message-header { + background-color: #3273dc; + color: #fff; + } + + .message.is-link-dark .message-body { + border-color: #3273dc; + color: #b5b5b5; + } + + .message.is-info-dark { + background-color: #242424; + } + + .message.is-info-dark .message-header { + background-color: #209cee; + color: #fff; + } + + .message.is-info-dark .message-body { + border-color: #209cee; + color: #b5b5b5; + } + + .message.is-success-dark { + background-color: #242424; + } + + .message.is-success-dark .message-header { + background-color: #23d160; + color: #fff; + } + + .message.is-success-dark .message-body { + border-color: #23d160; + color: #b5b5b5; + } + + .message.is-warning-dark { + background-color: #242424; + } + + .message.is-warning-dark .message-header { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .message.is-warning-dark .message-body { + border-color: #ffdd57; + color: #b5b5b5; + } + + .message.is-danger-dark { + background-color: #242424; + } + + .message.is-danger-dark .message-header { + background-color: #ff3860; + color: #fff; + } + + .message.is-danger-dark .message-body { + border-color: #ff3860; + color: #b5b5b5; + } + + .message-header { + background-color: #b5b5b5; + color: #fff; + } + + .message-body { + border-color: #363636; + color: #b5b5b5; + } + + .message-body code, + .message-body pre { + background-color: #0a0a0a; + } + + .modal-background { + background-color: hsla(0,0%,4%,.86); + } + + .modal-card-head, + .modal-card-foot { + background-color: #242424; + } + + .modal-card-head { + border-bottom: 1px solid #363636; + } + + .modal-card-title { + color: #dbdbdb; + } + + .modal-card-foot { + border-top: 1px solid #363636; + } + + .modal-card-body { + -webkit-overflow-scrolling: touch; + background-color: white; + } + + .navbar { + background-color: #17181c; + } + + .navbar.is-white { + background-color: #e6e6e6; + color: #0a0a0a; + } + + .navbar.is-white .navbar-brand>.navbar-item, + .navbar.is-white .navbar-brand .navbar-link { + color: #0a0a0a; + } + + .navbar.is-white .navbar-brand>a.navbar-item:hover, + .navbar.is-white .navbar-brand>a.navbar-item.is-active, + .navbar.is-white .navbar-brand .navbar-link:hover, + .navbar.is-white .navbar-brand .navbar-link.is-active { + background-color: #d9d9d9; + color: #0a0a0a; + } + + .navbar.is-white .navbar-brand .navbar-link::after { + border-color: #0a0a0a; + } + + .navbar.is-white .navbar-burger { + color: #0a0a0a; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-white .navbar-start>.navbar-item, + .navbar.is-white .navbar-start .navbar-link, + .navbar.is-white .navbar-end>.navbar-item, + .navbar.is-white .navbar-end .navbar-link { + color: #0a0a0a; + } + + .navbar.is-white .navbar-start>a.navbar-item:hover, + .navbar.is-white .navbar-start>a.navbar-item.is-active, + .navbar.is-white .navbar-start .navbar-link:hover, + .navbar.is-white .navbar-start .navbar-link.is-active, + .navbar.is-white .navbar-end>a.navbar-item:hover, + .navbar.is-white .navbar-end>a.navbar-item.is-active, + .navbar.is-white .navbar-end .navbar-link:hover, + .navbar.is-white .navbar-end .navbar-link.is-active { + background-color: #d9d9d9; + color: #0a0a0a; + } + + .navbar.is-white .navbar-start .navbar-link::after, + .navbar.is-white .navbar-end .navbar-link::after { + border-color: #0a0a0a; + } + + .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #d9d9d9; + color: #0a0a0a; + } + + .navbar.is-white .navbar-dropdown a.navbar-item.is-active { + background-color: #e6e6e6; + color: #0a0a0a; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-black { + background-color: black; + color: white; + } + + .navbar.is-black .navbar-brand>.navbar-item, + .navbar.is-black .navbar-brand .navbar-link { + color: white; + } + + .navbar.is-black .navbar-brand>a.navbar-item:hover, + .navbar.is-black .navbar-brand>a.navbar-item.is-active, + .navbar.is-black .navbar-brand .navbar-link:hover, + .navbar.is-black .navbar-brand .navbar-link.is-active { + background-color: black; + color: white; + } + + .navbar.is-black .navbar-brand .navbar-link::after { + border-color: white; + } + + .navbar.is-black .navbar-burger { + color: white; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-black .navbar-start>.navbar-item, + .navbar.is-black .navbar-start .navbar-link, + .navbar.is-black .navbar-end>.navbar-item, + .navbar.is-black .navbar-end .navbar-link { + color: white; + } + + .navbar.is-black .navbar-start>a.navbar-item:hover, + .navbar.is-black .navbar-start>a.navbar-item.is-active, + .navbar.is-black .navbar-start .navbar-link:hover, + .navbar.is-black .navbar-start .navbar-link.is-active, + .navbar.is-black .navbar-end>a.navbar-item:hover, + .navbar.is-black .navbar-end>a.navbar-item.is-active, + .navbar.is-black .navbar-end .navbar-link:hover, + .navbar.is-black .navbar-end .navbar-link.is-active { + background-color: black; + color: white; + } + + .navbar.is-black .navbar-start .navbar-link::after, + .navbar.is-black .navbar-end .navbar-link::after { + border-color: white; + } + + .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link { + background-color: black; + color: white; + } + + .navbar.is-black .navbar-dropdown a.navbar-item.is-active { + background-color: black; + color: white; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-light { + background-color: #dbdbdb; + color: #363636; + } + + .navbar.is-light .navbar-brand>.navbar-item, + .navbar.is-light .navbar-brand .navbar-link { + color: #363636; + } + + .navbar.is-light .navbar-brand>a.navbar-item:hover, + .navbar.is-light .navbar-brand>a.navbar-item.is-active, + .navbar.is-light .navbar-brand .navbar-link:hover, + .navbar.is-light .navbar-brand .navbar-link.is-active { + background-color: #cfcfcf; + color: #363636; + } + + .navbar.is-light .navbar-brand .navbar-link::after { + border-color: #363636; + } + + .navbar.is-light .navbar-burger { + color: #363636; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-light .navbar-start>.navbar-item, + .navbar.is-light .navbar-start .navbar-link, + .navbar.is-light .navbar-end>.navbar-item, + .navbar.is-light .navbar-end .navbar-link { + color: #363636; + } + + .navbar.is-light .navbar-start>a.navbar-item:hover, + .navbar.is-light .navbar-start>a.navbar-item.is-active, + .navbar.is-light .navbar-start .navbar-link:hover, + .navbar.is-light .navbar-start .navbar-link.is-active, + .navbar.is-light .navbar-end>a.navbar-item:hover, + .navbar.is-light .navbar-end>a.navbar-item.is-active, + .navbar.is-light .navbar-end .navbar-link:hover, + .navbar.is-light .navbar-end .navbar-link.is-active { + background-color: #cfcfcf; + color: #363636; + } + + .navbar.is-light .navbar-start .navbar-link::after, + .navbar.is-light .navbar-end .navbar-link::after { + border-color: #363636; + } + + .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #cfcfcf; + color: #363636; + } + + .navbar.is-light .navbar-dropdown a.navbar-item.is-active { + background-color: #dbdbdb; + color: #363636; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-dark { + background-color: #1c1c1c; + color: whitesmoke; + } + + .navbar.is-dark .navbar-brand>.navbar-item, + .navbar.is-dark .navbar-brand .navbar-link { + color: whitesmoke; + } + + .navbar.is-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-dark .navbar-brand .navbar-link:hover, + .navbar.is-dark .navbar-brand .navbar-link.is-active { + background-color: #0f0f0f; + color: whitesmoke; + } + + .navbar.is-dark .navbar-brand .navbar-link::after { + border-color: whitesmoke; + } + + .navbar.is-dark .navbar-burger { + color: whitesmoke; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-dark .navbar-start>.navbar-item, + .navbar.is-dark .navbar-start .navbar-link, + .navbar.is-dark .navbar-end>.navbar-item, + .navbar.is-dark .navbar-end .navbar-link { + color: whitesmoke; + } + + .navbar.is-dark .navbar-start>a.navbar-item:hover, + .navbar.is-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-dark .navbar-start .navbar-link:hover, + .navbar.is-dark .navbar-start .navbar-link.is-active, + .navbar.is-dark .navbar-end>a.navbar-item:hover, + .navbar.is-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-dark .navbar-end .navbar-link:hover, + .navbar.is-dark .navbar-end .navbar-link.is-active { + background-color: #0f0f0f; + color: whitesmoke; + } + + .navbar.is-dark .navbar-start .navbar-link::after, + .navbar.is-dark .navbar-end .navbar-link::after { + border-color: whitesmoke; + } + + .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #0f0f0f; + color: whitesmoke; + } + + .navbar.is-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #1c1c1c; + color: whitesmoke; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-primary { + background-color: #009e86; + color: #fff; + } + + .navbar.is-primary .navbar-brand>.navbar-item, + .navbar.is-primary .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-primary .navbar-brand>a.navbar-item:hover, + .navbar.is-primary .navbar-brand>a.navbar-item.is-active, + .navbar.is-primary .navbar-brand .navbar-link:hover, + .navbar.is-primary .navbar-brand .navbar-link.is-active { + background-color: #008571; + color: #fff; + } + + .navbar.is-primary .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-primary .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-primary .navbar-start>.navbar-item, + .navbar.is-primary .navbar-start .navbar-link, + .navbar.is-primary .navbar-end>.navbar-item, + .navbar.is-primary .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-primary .navbar-start>a.navbar-item:hover, + .navbar.is-primary .navbar-start>a.navbar-item.is-active, + .navbar.is-primary .navbar-start .navbar-link:hover, + .navbar.is-primary .navbar-start .navbar-link.is-active, + .navbar.is-primary .navbar-end>a.navbar-item:hover, + .navbar.is-primary .navbar-end>a.navbar-item.is-active, + .navbar.is-primary .navbar-end .navbar-link:hover, + .navbar.is-primary .navbar-end .navbar-link.is-active { + background-color: #008571; + color: #fff; + } + + .navbar.is-primary .navbar-start .navbar-link::after, + .navbar.is-primary .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #008571; + color: #fff; + } + + .navbar.is-primary .navbar-dropdown a.navbar-item.is-active { + background-color: #009e86; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-link { + background-color: #205bbc; + color: #fff; + } + + .navbar.is-link .navbar-brand>.navbar-item, + .navbar.is-link .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-link .navbar-brand>a.navbar-item:hover, + .navbar.is-link .navbar-brand>a.navbar-item.is-active, + .navbar.is-link .navbar-brand .navbar-link:hover, + .navbar.is-link .navbar-brand .navbar-link.is-active { + background-color: #1c51a6; + color: #fff; + } + + .navbar.is-link .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-link .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-link .navbar-start>.navbar-item, + .navbar.is-link .navbar-start .navbar-link, + .navbar.is-link .navbar-end>.navbar-item, + .navbar.is-link .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-link .navbar-start>a.navbar-item:hover, + .navbar.is-link .navbar-start>a.navbar-item.is-active, + .navbar.is-link .navbar-start .navbar-link:hover, + .navbar.is-link .navbar-start .navbar-link.is-active, + .navbar.is-link .navbar-end>a.navbar-item:hover, + .navbar.is-link .navbar-end>a.navbar-item.is-active, + .navbar.is-link .navbar-end .navbar-link:hover, + .navbar.is-link .navbar-end .navbar-link.is-active { + background-color: #1c51a6; + color: #fff; + } + + .navbar.is-link .navbar-start .navbar-link::after, + .navbar.is-link .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #1c51a6; + color: #fff; + } + + .navbar.is-link .navbar-dropdown a.navbar-item.is-active { + background-color: #205bbc; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-info { + background-color: #0f81cc; + color: #fff; + } + + .navbar.is-info .navbar-brand>.navbar-item, + .navbar.is-info .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-info .navbar-brand>a.navbar-item:hover, + .navbar.is-info .navbar-brand>a.navbar-item.is-active, + .navbar.is-info .navbar-brand .navbar-link:hover, + .navbar.is-info .navbar-brand .navbar-link.is-active { + background-color: #0e72b4; + color: #fff; + } + + .navbar.is-info .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-info .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-info .navbar-start>.navbar-item, + .navbar.is-info .navbar-start .navbar-link, + .navbar.is-info .navbar-end>.navbar-item, + .navbar.is-info .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-info .navbar-start>a.navbar-item:hover, + .navbar.is-info .navbar-start>a.navbar-item.is-active, + .navbar.is-info .navbar-start .navbar-link:hover, + .navbar.is-info .navbar-start .navbar-link.is-active, + .navbar.is-info .navbar-end>a.navbar-item:hover, + .navbar.is-info .navbar-end>a.navbar-item.is-active, + .navbar.is-info .navbar-end .navbar-link:hover, + .navbar.is-info .navbar-end .navbar-link.is-active { + background-color: #0e72b4; + color: #fff; + } + + .navbar.is-info .navbar-start .navbar-link::after, + .navbar.is-info .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #0e72b4; + color: #fff; + } + + .navbar.is-info .navbar-dropdown a.navbar-item.is-active { + background-color: #0f81cc; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-success { + background-color: #1ca64c; + color: #fff; + } + + .navbar.is-success .navbar-brand>.navbar-item, + .navbar.is-success .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-success .navbar-brand>a.navbar-item:hover, + .navbar.is-success .navbar-brand>a.navbar-item.is-active, + .navbar.is-success .navbar-brand .navbar-link:hover, + .navbar.is-success .navbar-brand .navbar-link.is-active { + background-color: #189042; + color: #fff; + } + + .navbar.is-success .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-success .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-success .navbar-start>.navbar-item, + .navbar.is-success .navbar-start .navbar-link, + .navbar.is-success .navbar-end>.navbar-item, + .navbar.is-success .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-success .navbar-start>a.navbar-item:hover, + .navbar.is-success .navbar-start>a.navbar-item.is-active, + .navbar.is-success .navbar-start .navbar-link:hover, + .navbar.is-success .navbar-start .navbar-link.is-active, + .navbar.is-success .navbar-end>a.navbar-item:hover, + .navbar.is-success .navbar-end>a.navbar-item.is-active, + .navbar.is-success .navbar-end .navbar-link:hover, + .navbar.is-success .navbar-end .navbar-link.is-active { + background-color: #189042; + color: #fff; + } + + .navbar.is-success .navbar-start .navbar-link::after, + .navbar.is-success .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #189042; + color: #fff; + } + + .navbar.is-success .navbar-dropdown a.navbar-item.is-active { + background-color: #1ca64c; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-warning { + background-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-brand>.navbar-item, + .navbar.is-warning .navbar-brand .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-brand>a.navbar-item:hover, + .navbar.is-warning .navbar-brand>a.navbar-item.is-active, + .navbar.is-warning .navbar-brand .navbar-link:hover, + .navbar.is-warning .navbar-brand .navbar-link.is-active { + background-color: #ffce0a; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-brand .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-burger { + color: rgba(0, 0, 0, 0.7); + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-warning .navbar-start>.navbar-item, + .navbar.is-warning .navbar-start .navbar-link, + .navbar.is-warning .navbar-end>.navbar-item, + .navbar.is-warning .navbar-end .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-start>a.navbar-item:hover, + .navbar.is-warning .navbar-start>a.navbar-item.is-active, + .navbar.is-warning .navbar-start .navbar-link:hover, + .navbar.is-warning .navbar-start .navbar-link.is-active, + .navbar.is-warning .navbar-end>a.navbar-item:hover, + .navbar.is-warning .navbar-end>a.navbar-item.is-active, + .navbar.is-warning .navbar-end .navbar-link:hover, + .navbar.is-warning .navbar-end .navbar-link.is-active { + background-color: #ffce0a; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-start .navbar-link::after, + .navbar.is-warning .navbar-end .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #ffce0a; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-dropdown a.navbar-item.is-active { + background-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-danger { + background-color: #ff0537; + color: #fff; + } + + .navbar.is-danger .navbar-brand>.navbar-item, + .navbar.is-danger .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-danger .navbar-brand>a.navbar-item:hover, + .navbar.is-danger .navbar-brand>a.navbar-item.is-active, + .navbar.is-danger .navbar-brand .navbar-link:hover, + .navbar.is-danger .navbar-brand .navbar-link.is-active { + background-color: #eb002f; + color: #fff; + } + + .navbar.is-danger .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-danger .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-danger .navbar-start>.navbar-item, + .navbar.is-danger .navbar-start .navbar-link, + .navbar.is-danger .navbar-end>.navbar-item, + .navbar.is-danger .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-danger .navbar-start>a.navbar-item:hover, + .navbar.is-danger .navbar-start>a.navbar-item.is-active, + .navbar.is-danger .navbar-start .navbar-link:hover, + .navbar.is-danger .navbar-start .navbar-link.is-active, + .navbar.is-danger .navbar-end>a.navbar-item:hover, + .navbar.is-danger .navbar-end>a.navbar-item.is-active, + .navbar.is-danger .navbar-end .navbar-link:hover, + .navbar.is-danger .navbar-end .navbar-link.is-active { + background-color: #eb002f; + color: #fff; + } + + .navbar.is-danger .navbar-start .navbar-link::after, + .navbar.is-danger .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #eb002f; + color: #fff; + } + + .navbar.is-danger .navbar-dropdown a.navbar-item.is-active { + background-color: #ff0537; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-white-dark { + background-color: white; + color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-brand>.navbar-item, + .navbar.is-white-dark .navbar-brand .navbar-link { + color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-white-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-white-dark .navbar-brand .navbar-link:hover, + .navbar.is-white-dark .navbar-brand .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-brand .navbar-link::after { + border-color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-burger { + color: #0a0a0a; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-white-dark .navbar-start>.navbar-item, + .navbar.is-white-dark .navbar-start .navbar-link, + .navbar.is-white-dark .navbar-end>.navbar-item, + .navbar.is-white-dark .navbar-end .navbar-link { + color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-start>a.navbar-item:hover, + .navbar.is-white-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-white-dark .navbar-start .navbar-link:hover, + .navbar.is-white-dark .navbar-start .navbar-link.is-active, + .navbar.is-white-dark .navbar-end>a.navbar-item:hover, + .navbar.is-white-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-white-dark .navbar-end .navbar-link:hover, + .navbar.is-white-dark .navbar-end .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-start .navbar-link::after, + .navbar.is-white-dark .navbar-end .navbar-link::after { + border-color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-white-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .navbar.is-white-dark .navbar-dropdown a.navbar-item.is-active { + background-color: white; + color: #0a0a0a; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-black-dark { + background-color: #0a0a0a; + color: white; + } + + .navbar.is-black-dark .navbar-brand>.navbar-item, + .navbar.is-black-dark .navbar-brand .navbar-link { + color: white; + } + + .navbar.is-black-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-black-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-black-dark .navbar-brand .navbar-link:hover, + .navbar.is-black-dark .navbar-brand .navbar-link.is-active { + background-color: black; + color: white; + } + + .navbar.is-black-dark .navbar-brand .navbar-link::after { + border-color: white; + } + + .navbar.is-black-dark .navbar-burger { + color: white; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-black-dark .navbar-start>.navbar-item, + .navbar.is-black-dark .navbar-start .navbar-link, + .navbar.is-black-dark .navbar-end>.navbar-item, + .navbar.is-black-dark .navbar-end .navbar-link { + color: white; + } + + .navbar.is-black-dark .navbar-start>a.navbar-item:hover, + .navbar.is-black-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-black-dark .navbar-start .navbar-link:hover, + .navbar.is-black-dark .navbar-start .navbar-link.is-active, + .navbar.is-black-dark .navbar-end>a.navbar-item:hover, + .navbar.is-black-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-black-dark .navbar-end .navbar-link:hover, + .navbar.is-black-dark .navbar-end .navbar-link.is-active { + background-color: black; + color: white; + } + + .navbar.is-black-dark .navbar-start .navbar-link::after, + .navbar.is-black-dark .navbar-end .navbar-link::after { + border-color: white; + } + + .navbar.is-black-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-black-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: black; + color: white; + } + + .navbar.is-black-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #0a0a0a; + color: white; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-light-dark { + background-color: whitesmoke; + color: #363636; + } + + .navbar.is-light-dark .navbar-brand>.navbar-item, + .navbar.is-light-dark .navbar-brand .navbar-link { + color: #363636; + } + + .navbar.is-light-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-light-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-light-dark .navbar-brand .navbar-link:hover, + .navbar.is-light-dark .navbar-brand .navbar-link.is-active { + background-color: #e8e8e8; + color: #363636; + } + + .navbar.is-light-dark .navbar-brand .navbar-link::after { + border-color: #363636; + } + + .navbar.is-light-dark .navbar-burger { + color: #363636; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-light-dark .navbar-start>.navbar-item, + .navbar.is-light-dark .navbar-start .navbar-link, + .navbar.is-light-dark .navbar-end>.navbar-item, + .navbar.is-light-dark .navbar-end .navbar-link { + color: #363636; + } + + .navbar.is-light-dark .navbar-start>a.navbar-item:hover, + .navbar.is-light-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-light-dark .navbar-start .navbar-link:hover, + .navbar.is-light-dark .navbar-start .navbar-link.is-active, + .navbar.is-light-dark .navbar-end>a.navbar-item:hover, + .navbar.is-light-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-light-dark .navbar-end .navbar-link:hover, + .navbar.is-light-dark .navbar-end .navbar-link.is-active { + background-color: #e8e8e8; + color: #363636; + } + + .navbar.is-light-dark .navbar-start .navbar-link::after, + .navbar.is-light-dark .navbar-end .navbar-link::after { + border-color: #363636; + } + + .navbar.is-light-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-light-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #e8e8e8; + color: #363636; + } + + .navbar.is-light-dark .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: #363636; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-dark-dark { + background-color: #363636; + color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-brand>.navbar-item, + .navbar.is-dark-dark .navbar-brand .navbar-link { + color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-dark-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-dark-dark .navbar-brand .navbar-link:hover, + .navbar.is-dark-dark .navbar-brand .navbar-link.is-active { + background-color: #292929; + color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-brand .navbar-link::after { + border-color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-burger { + color: whitesmoke; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-dark-dark .navbar-start>.navbar-item, + .navbar.is-dark-dark .navbar-start .navbar-link, + .navbar.is-dark-dark .navbar-end>.navbar-item, + .navbar.is-dark-dark .navbar-end .navbar-link { + color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-start>a.navbar-item:hover, + .navbar.is-dark-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-dark-dark .navbar-start .navbar-link:hover, + .navbar.is-dark-dark .navbar-start .navbar-link.is-active, + .navbar.is-dark-dark .navbar-end>a.navbar-item:hover, + .navbar.is-dark-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-dark-dark .navbar-end .navbar-link:hover, + .navbar.is-dark-dark .navbar-end .navbar-link.is-active { + background-color: #292929; + color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-start .navbar-link::after, + .navbar.is-dark-dark .navbar-end .navbar-link::after { + border-color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-dark-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #292929; + color: whitesmoke; + } + + .navbar.is-dark-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #363636; + color: whitesmoke; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-primary-dark { + background-color: #00d1b2; + color: #fff; + } + + .navbar.is-primary-dark .navbar-brand>.navbar-item, + .navbar.is-primary-dark .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-primary-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-primary-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-primary-dark .navbar-brand .navbar-link:hover, + .navbar.is-primary-dark .navbar-brand .navbar-link.is-active { + background-color: #00b89c; + color: #fff; + } + + .navbar.is-primary-dark .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-primary-dark .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-primary-dark .navbar-start>.navbar-item, + .navbar.is-primary-dark .navbar-start .navbar-link, + .navbar.is-primary-dark .navbar-end>.navbar-item, + .navbar.is-primary-dark .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-primary-dark .navbar-start>a.navbar-item:hover, + .navbar.is-primary-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-primary-dark .navbar-start .navbar-link:hover, + .navbar.is-primary-dark .navbar-start .navbar-link.is-active, + .navbar.is-primary-dark .navbar-end>a.navbar-item:hover, + .navbar.is-primary-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-primary-dark .navbar-end .navbar-link:hover, + .navbar.is-primary-dark .navbar-end .navbar-link.is-active { + background-color: #00b89c; + color: #fff; + } + + .navbar.is-primary-dark .navbar-start .navbar-link::after, + .navbar.is-primary-dark .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-primary-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-primary-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #00b89c; + color: #fff; + } + + .navbar.is-primary-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #00d1b2; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-link-dark { + background-color: #3273dc; + color: #fff; + } + + .navbar.is-link-dark .navbar-brand>.navbar-item, + .navbar.is-link-dark .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-link-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-link-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-link-dark .navbar-brand .navbar-link:hover, + .navbar.is-link-dark .navbar-brand .navbar-link.is-active { + background-color: #2366d1; + color: #fff; + } + + .navbar.is-link-dark .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-link-dark .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-link-dark .navbar-start>.navbar-item, + .navbar.is-link-dark .navbar-start .navbar-link, + .navbar.is-link-dark .navbar-end>.navbar-item, + .navbar.is-link-dark .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-link-dark .navbar-start>a.navbar-item:hover, + .navbar.is-link-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-link-dark .navbar-start .navbar-link:hover, + .navbar.is-link-dark .navbar-start .navbar-link.is-active, + .navbar.is-link-dark .navbar-end>a.navbar-item:hover, + .navbar.is-link-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-link-dark .navbar-end .navbar-link:hover, + .navbar.is-link-dark .navbar-end .navbar-link.is-active { + background-color: #2366d1; + color: #fff; + } + + .navbar.is-link-dark .navbar-start .navbar-link::after, + .navbar.is-link-dark .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-link-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-link-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #2366d1; + color: #fff; + } + + .navbar.is-link-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #3273dc; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-info-dark { + background-color: #209cee; + color: #fff; + } + + .navbar.is-info-dark .navbar-brand>.navbar-item, + .navbar.is-info-dark .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-info-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-info-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-info-dark .navbar-brand .navbar-link:hover, + .navbar.is-info-dark .navbar-brand .navbar-link.is-active { + background-color: #118fe4; + color: #fff; + } + + .navbar.is-info-dark .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-info-dark .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-info-dark .navbar-start>.navbar-item, + .navbar.is-info-dark .navbar-start .navbar-link, + .navbar.is-info-dark .navbar-end>.navbar-item, + .navbar.is-info-dark .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-info-dark .navbar-start>a.navbar-item:hover, + .navbar.is-info-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-info-dark .navbar-start .navbar-link:hover, + .navbar.is-info-dark .navbar-start .navbar-link.is-active, + .navbar.is-info-dark .navbar-end>a.navbar-item:hover, + .navbar.is-info-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-info-dark .navbar-end .navbar-link:hover, + .navbar.is-info-dark .navbar-end .navbar-link.is-active { + background-color: #118fe4; + color: #fff; + } + + .navbar.is-info-dark .navbar-start .navbar-link::after, + .navbar.is-info-dark .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-info-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-info-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #118fe4; + color: #fff; + } + + .navbar.is-info-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #209cee; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-success-dark { + background-color: #23d160; + color: #fff; + } + + .navbar.is-success-dark .navbar-brand>.navbar-item, + .navbar.is-success-dark .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-success-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-success-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-success-dark .navbar-brand .navbar-link:hover, + .navbar.is-success-dark .navbar-brand .navbar-link.is-active { + background-color: #20bc56; + color: #fff; + } + + .navbar.is-success-dark .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-success-dark .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-success-dark .navbar-start>.navbar-item, + .navbar.is-success-dark .navbar-start .navbar-link, + .navbar.is-success-dark .navbar-end>.navbar-item, + .navbar.is-success-dark .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-success-dark .navbar-start>a.navbar-item:hover, + .navbar.is-success-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-success-dark .navbar-start .navbar-link:hover, + .navbar.is-success-dark .navbar-start .navbar-link.is-active, + .navbar.is-success-dark .navbar-end>a.navbar-item:hover, + .navbar.is-success-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-success-dark .navbar-end .navbar-link:hover, + .navbar.is-success-dark .navbar-end .navbar-link.is-active { + background-color: #20bc56; + color: #fff; + } + + .navbar.is-success-dark .navbar-start .navbar-link::after, + .navbar.is-success-dark .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-success-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-success-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #20bc56; + color: #fff; + } + + .navbar.is-success-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #23d160; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-warning-dark { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-brand>.navbar-item, + .navbar.is-warning-dark .navbar-brand .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-warning-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-warning-dark .navbar-brand .navbar-link:hover, + .navbar.is-warning-dark .navbar-brand .navbar-link.is-active { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-brand .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-burger { + color: rgba(0, 0, 0, 0.7); + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-warning-dark .navbar-start>.navbar-item, + .navbar.is-warning-dark .navbar-start .navbar-link, + .navbar.is-warning-dark .navbar-end>.navbar-item, + .navbar.is-warning-dark .navbar-end .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-start>a.navbar-item:hover, + .navbar.is-warning-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-warning-dark .navbar-start .navbar-link:hover, + .navbar.is-warning-dark .navbar-start .navbar-link.is-active, + .navbar.is-warning-dark .navbar-end>a.navbar-item:hover, + .navbar.is-warning-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-warning-dark .navbar-end .navbar-link:hover, + .navbar.is-warning-dark .navbar-end .navbar-link.is-active { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-start .navbar-link::after, + .navbar.is-warning-dark .navbar-end .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-warning-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } +} + +@media (prefers-color-scheme: dark) { + .navbar.is-danger-dark { + background-color: #ff3860; + color: #fff; + } + + .navbar.is-danger-dark .navbar-brand>.navbar-item, + .navbar.is-danger-dark .navbar-brand .navbar-link { + color: #fff; + } + + .navbar.is-danger-dark .navbar-brand>a.navbar-item:hover, + .navbar.is-danger-dark .navbar-brand>a.navbar-item.is-active, + .navbar.is-danger-dark .navbar-brand .navbar-link:hover, + .navbar.is-danger-dark .navbar-brand .navbar-link.is-active { + background-color: #ff1f4b; + color: #fff; + } + + .navbar.is-danger-dark .navbar-brand .navbar-link::after { + border-color: #fff; + } + + .navbar.is-danger-dark .navbar-burger { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + + .navbar.is-danger-dark .navbar-start>.navbar-item, + .navbar.is-danger-dark .navbar-start .navbar-link, + .navbar.is-danger-dark .navbar-end>.navbar-item, + .navbar.is-danger-dark .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-danger-dark .navbar-start>a.navbar-item:hover, + .navbar.is-danger-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-danger-dark .navbar-start .navbar-link:hover, + .navbar.is-danger-dark .navbar-start .navbar-link.is-active, + .navbar.is-danger-dark .navbar-end>a.navbar-item:hover, + .navbar.is-danger-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-danger-dark .navbar-end .navbar-link:hover, + .navbar.is-danger-dark .navbar-end .navbar-link.is-active { + background-color: #ff1f4b; + color: #fff; + } + + .navbar.is-danger-dark .navbar-start .navbar-link::after, + .navbar.is-danger-dark .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-danger-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-danger-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #ff1f4b; + color: #fff; + } + + .navbar.is-danger-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #ff3860; + color: #fff; + } +} + +@media (prefers-color-scheme: dark) { + .navbar.has-shadow { + box-shadow: 0 2px 0 0 #242424; + } + + .navbar.is-fixed-bottom.has-shadow { + box-shadow: 0 -2px 0 0 #242424; + } + + .navbar-burger { + color: #b5b5b5; + } + + .navbar-item, + .navbar-link { + color: #b5b5b5; + } + + a.navbar-item:hover, + a.navbar-item.is-active, + .navbar-link:hover, + .navbar-link.is-active { + background-color: #121212; + color: #5ea3e4; + } + + .navbar-item:hover { + border-bottom-color: #5ea3e4; + } + + .navbar-item.is-active { + border-bottom-color: #5ea3e4; + color: #5ea3e4; + } + + .navbar-link:not(.is-arrowless)::after { + border-color: #5ea3e4; + } + + .navbar-divider { + background-color: #242424; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .navbar-menu { + background-color: #17181c; + box-shadow: 0 8px 16px rgba(255, 255, 255, 0.1); + } + + .navbar.is-fixed-bottom-touch.has-shadow { + box-shadow: 0 -2px 3px rgba(255, 255, 255, 0.1); + } +} + +@media screen and (prefers-color-scheme: dark) and (min-width: 1088px) { + .navbar.is-transparent .navbar-dropdown a.navbar-item:hover { + background-color: #242424; + color: white; + } + + .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active { + background-color: #242424; + color: #5ea3e4; + } + + .navbar-item.has-dropdown-up .navbar-dropdown { + border-bottom: 2px solid #363636; + box-shadow: 0 -8px 8px rgba(255, 255, 255, 0.1); + } + + .navbar-dropdown { + background-color: #0a0a0a; + border-top: 2px solid #363636; + box-shadow: 0 8px 8px rgba(255, 255, 255, 0.1); + } + + .navbar-dropdown a.navbar-item:hover { + background-color: #242424; + color: white; + } + + .navbar-dropdown a.navbar-item.is-active { + background-color: #242424; + color: #5ea3e4; + } + + .navbar.is-spaced .navbar-dropdown, + .navbar-dropdown.is-boxed { + box-shadow: 0 8px 8px rgba(255, 255, 255, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.1); + } + + .navbar.is-fixed-bottom-desktop.has-shadow { + box-shadow: 0 -2px 3px rgba(255, 255, 255, 0.1); + } + + a.navbar-item.is-active, + .navbar-link.is-active { + color: white; + } + + .navbar-item.has-dropdown:hover .navbar-link, + .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #121212; + } +} + +@media (prefers-color-scheme: dark) { + + .pagination-previous, + .pagination-next, + .pagination-link { + border-color: #363636; + color: #dbdbdb; + } + + .pagination-previous:hover, + .pagination-next:hover, + .pagination-link:hover { + border-color: #4a4a4a; + color: #dbdbdb; + } + + .pagination-previous:focus, + .pagination-next:focus, + .pagination-link:focus { + border-color: #5ea3e4; + } + + .pagination-previous:active, + .pagination-next:active, + .pagination-link:active { + box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.2); + } + + .pagination-previous[disabled], + .pagination-next[disabled], + .pagination-link[disabled] { + background-color: #363636; + border-color: #363636; + color: #7a7a7a; + } + + .pagination-link.is-current { + background-color: #5ea3e4; + border-color: #5ea3e4; + color: #fff; + } + + .pagination-ellipsis { + color: #4a4a4a; + } + + .panel-heading, + .panel-tabs, + .panel-block { + border-bottom: 1px solid #363636; + border-left: 1px solid #363636; + border-right: 1px solid #363636; + } + + .panel-heading:first-child, + .panel-tabs:first-child, + .panel-block:first-child { + border-top: 1px solid #363636; + } + + .panel-heading { + background-color: #242424; + color: #dbdbdb; + } + + .panel-tabs a { + border-bottom: 1px solid #363636; + } + + .panel-tabs a.is-active { + border-bottom-color: #b5b5b5; + color: #dbdbdb; + } + + .panel-list a { + color: #b5b5b5; + } + + .panel-list a:hover { + color: #5ea3e4; + } + + .panel-block { + color: #dbdbdb; + } + + .panel-block.is-active { + border-left-color: #5ea3e4; + color: #dbdbdb; + } + + .panel-block.is-active .panel-icon { + color: #5ea3e4; + } + + a.panel-block:hover, + label.panel-block:hover { + background-color: #242424; + } + + .tabs a { + border-bottom-color: #363636; + color: #b5b5b5; + } + + .tabs a:hover { + border-bottom-color: #dbdbdb; + color: #dbdbdb; + } + + .tabs li.is-active a { + border-bottom-color: #5ea3e4; + color: #5ea3e4; + } + + .tabs ul { + border-bottom-color: #363636; + } + + .tabs.is-boxed a:hover { + background-color: #242424; + border-bottom-color: #363636; + } + + .tabs.is-boxed li.is-active a { + background-color: #0a0a0a; + border-color: #363636; + } + + .tabs.is-toggle a { + border-color: #363636; + } + + .tabs.is-toggle a:hover { + background-color: #242424; + border-color: #4a4a4a; + } + + .tabs.is-toggle li.is-active a { + background-color: #5ea3e4; + border-color: #5ea3e4; + color: #fff; + } + + .hero.is-white, + .hero.is-white-dark { + background-color: #e6e6e6; + color: #0a0a0a; + } + + .hero.is-white a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-white strong, + .hero.is-white-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-white-dark strong { + color: inherit; + } + + .hero.is-white .title, + .hero.is-white-dark .title { + color: #0a0a0a; + } + + .hero.is-white .subtitle, + .hero.is-white-dark .subtitle { + color: rgba(10, 10, 10, 0.9); + } + + .hero.is-white .subtitle a:not(.button), + .hero.is-white .subtitle strong, + .hero.is-white-dark .subtitle a:not(.button), + .hero.is-white-dark .subtitle strong { + color: #0a0a0a; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-white .navbar-menu, + .hero.is-white-dark .navbar-menu { + background-color: #e6e6e6; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-white .navbar-item, + .hero.is-white .navbar-link, + .hero.is-white-dark .navbar-item, + .hero.is-white-dark .navbar-link { + color: rgba(10, 10, 10, 0.7); + } + + .hero.is-white a.navbar-item:hover, + .hero.is-white a.navbar-item.is-active, + .hero.is-white .navbar-link:hover, + .hero.is-white .navbar-link.is-active, + .hero.is-white-dark a.navbar-item:hover, + .hero.is-white-dark a.navbar-item.is-active, + .hero.is-white-dark .navbar-link:hover, + .hero.is-white-dark .navbar-link.is-active { + background-color: #d9d9d9; + color: #0a0a0a; + } + + .hero.is-white .tabs a, + .hero.is-white-dark .tabs a { + color: #0a0a0a; + opacity: 0.9; + } + + .hero.is-white .tabs a:hover, + .hero.is-white-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-white .tabs li.is-active a, + .hero.is-white-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-white .tabs.is-boxed a, + .hero.is-white .tabs.is-toggle a, + .hero.is-white-dark .tabs.is-boxed a, + .hero.is-white-dark .tabs.is-toggle a { + color: #0a0a0a; + } + + .hero.is-white .tabs.is-boxed a:hover, + .hero.is-white .tabs.is-toggle a:hover, + .hero.is-white-dark .tabs.is-boxed a:hover, + .hero.is-white-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-white .tabs.is-boxed li.is-active a, + .hero.is-white .tabs.is-boxed li.is-active a:hover, + .hero.is-white .tabs.is-toggle li.is-active a, + .hero.is-white .tabs.is-toggle li.is-active a:hover, + .hero.is-white-dark .tabs.is-boxed li.is-active a, + .hero.is-white-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-white-dark .tabs.is-toggle li.is-active a, + .hero.is-white-dark .tabs.is-toggle li.is-active a:hover { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: #e6e6e6; + } + + .hero.is-white.is-bold, + .hero.is-white-dark.is-bold { + background-image: linear-gradient(141deg, #d1c7c9 0%, #e6e6e6 71%, #f3f2f2 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-white.is-bold .navbar-menu, + .hero.is-white-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #d1c7c9 0%, #e6e6e6 71%, #f3f2f2 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-black, + .hero.is-black-dark { + background-color: black; + color: white; + } + + .hero.is-black a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-black strong, + .hero.is-black-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-black-dark strong { + color: inherit; + } + + .hero.is-black .title, + .hero.is-black-dark .title { + color: white; + } + + .hero.is-black .subtitle, + .hero.is-black-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-black .subtitle a:not(.button), + .hero.is-black .subtitle strong, + .hero.is-black-dark .subtitle a:not(.button), + .hero.is-black-dark .subtitle strong { + color: white; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-black .navbar-menu, + .hero.is-black-dark .navbar-menu { + background-color: black; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-black .navbar-item, + .hero.is-black .navbar-link, + .hero.is-black-dark .navbar-item, + .hero.is-black-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-black a.navbar-item:hover, + .hero.is-black a.navbar-item.is-active, + .hero.is-black .navbar-link:hover, + .hero.is-black .navbar-link.is-active, + .hero.is-black-dark a.navbar-item:hover, + .hero.is-black-dark a.navbar-item.is-active, + .hero.is-black-dark .navbar-link:hover, + .hero.is-black-dark .navbar-link.is-active { + background-color: black; + color: white; + } + + .hero.is-black .tabs a, + .hero.is-black-dark .tabs a { + color: white; + opacity: 0.9; + } + + .hero.is-black .tabs a:hover, + .hero.is-black-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-black .tabs li.is-active a, + .hero.is-black-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-black .tabs.is-boxed a, + .hero.is-black .tabs.is-toggle a, + .hero.is-black-dark .tabs.is-boxed a, + .hero.is-black-dark .tabs.is-toggle a { + color: white; + } + + .hero.is-black .tabs.is-boxed a:hover, + .hero.is-black .tabs.is-toggle a:hover, + .hero.is-black-dark .tabs.is-boxed a:hover, + .hero.is-black-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-black .tabs.is-boxed li.is-active a, + .hero.is-black .tabs.is-boxed li.is-active a:hover, + .hero.is-black .tabs.is-toggle li.is-active a, + .hero.is-black .tabs.is-toggle li.is-active a:hover, + .hero.is-black-dark .tabs.is-boxed li.is-active a, + .hero.is-black-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-black-dark .tabs.is-toggle li.is-active a, + .hero.is-black-dark .tabs.is-toggle li.is-active a:hover { + background-color: white; + border-color: white; + color: black; + } + + .hero.is-black.is-bold, + .hero.is-black-dark.is-bold { + background-image: linear-gradient(141deg, black 0%, black 71%, #0d0d0d 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-black.is-bold .navbar-menu, + .hero.is-black-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, black 0%, black 71%, #0d0d0d 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-light, + .hero.is-light-dark { + background-color: #dbdbdb; + color: #363636; + } + + .hero.is-light a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-light strong, + .hero.is-light-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-light-dark strong { + color: inherit; + } + + .hero.is-light .title, + .hero.is-light-dark .title { + color: #363636; + } + + .hero.is-light .subtitle, + .hero.is-light-dark .subtitle { + color: rgba(54, 54, 54, 0.9); + } + + .hero.is-light .subtitle a:not(.button), + .hero.is-light .subtitle strong, + .hero.is-light-dark .subtitle a:not(.button), + .hero.is-light-dark .subtitle strong { + color: #363636; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-light .navbar-menu, + .hero.is-light-dark .navbar-menu { + background-color: #dbdbdb; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-light .navbar-item, + .hero.is-light .navbar-link, + .hero.is-light-dark .navbar-item, + .hero.is-light-dark .navbar-link { + color: rgba(54, 54, 54, 0.7); + } + + .hero.is-light a.navbar-item:hover, + .hero.is-light a.navbar-item.is-active, + .hero.is-light .navbar-link:hover, + .hero.is-light .navbar-link.is-active, + .hero.is-light-dark a.navbar-item:hover, + .hero.is-light-dark a.navbar-item.is-active, + .hero.is-light-dark .navbar-link:hover, + .hero.is-light-dark .navbar-link.is-active { + background-color: #cfcfcf; + color: #363636; + } + + .hero.is-light .tabs a, + .hero.is-light-dark .tabs a { + color: #363636; + opacity: 0.9; + } + + .hero.is-light .tabs a:hover, + .hero.is-light-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-light .tabs li.is-active a, + .hero.is-light-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-light .tabs.is-boxed a, + .hero.is-light .tabs.is-toggle a, + .hero.is-light-dark .tabs.is-boxed a, + .hero.is-light-dark .tabs.is-toggle a { + color: #363636; + } + + .hero.is-light .tabs.is-boxed a:hover, + .hero.is-light .tabs.is-toggle a:hover, + .hero.is-light-dark .tabs.is-boxed a:hover, + .hero.is-light-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-light .tabs.is-boxed li.is-active a, + .hero.is-light .tabs.is-boxed li.is-active a:hover, + .hero.is-light .tabs.is-toggle li.is-active a, + .hero.is-light .tabs.is-toggle li.is-active a:hover, + .hero.is-light-dark .tabs.is-boxed li.is-active a, + .hero.is-light-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-light-dark .tabs.is-toggle li.is-active a, + .hero.is-light-dark .tabs.is-toggle li.is-active a:hover { + background-color: #363636; + border-color: #363636; + color: #dbdbdb; + } + + .hero.is-light.is-bold, + .hero.is-light-dark.is-bold { + background-image: linear-gradient(141deg, #c8bcbe 0%, #dbdbdb 71%, #e9e7e7 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-light.is-bold .navbar-menu, + .hero.is-light-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #c8bcbe 0%, #dbdbdb 71%, #e9e7e7 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-dark, + .hero.is-dark-dark { + background-color: #1c1c1c; + color: whitesmoke; + } + + .hero.is-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-dark strong, + .hero.is-dark-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-dark-dark strong { + color: inherit; + } + + .hero.is-dark .title, + .hero.is-dark-dark .title { + color: whitesmoke; + } + + .hero.is-dark .subtitle, + .hero.is-dark-dark .subtitle { + color: rgba(245, 245, 245, 0.9); + } + + .hero.is-dark .subtitle a:not(.button), + .hero.is-dark .subtitle strong, + .hero.is-dark-dark .subtitle a:not(.button), + .hero.is-dark-dark .subtitle strong { + color: whitesmoke; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-dark .navbar-menu, + .hero.is-dark-dark .navbar-menu { + background-color: #1c1c1c; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-dark .navbar-item, + .hero.is-dark .navbar-link, + .hero.is-dark-dark .navbar-item, + .hero.is-dark-dark .navbar-link { + color: rgba(245, 245, 245, 0.7); + } + + .hero.is-dark a.navbar-item:hover, + .hero.is-dark a.navbar-item.is-active, + .hero.is-dark .navbar-link:hover, + .hero.is-dark .navbar-link.is-active, + .hero.is-dark-dark a.navbar-item:hover, + .hero.is-dark-dark a.navbar-item.is-active, + .hero.is-dark-dark .navbar-link:hover, + .hero.is-dark-dark .navbar-link.is-active { + background-color: #0f0f0f; + color: whitesmoke; + } + + .hero.is-dark .tabs a, + .hero.is-dark-dark .tabs a { + color: whitesmoke; + opacity: 0.9; + } + + .hero.is-dark .tabs a:hover, + .hero.is-dark-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-dark .tabs li.is-active a, + .hero.is-dark-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-dark .tabs.is-boxed a, + .hero.is-dark .tabs.is-toggle a, + .hero.is-dark-dark .tabs.is-boxed a, + .hero.is-dark-dark .tabs.is-toggle a { + color: whitesmoke; + } + + .hero.is-dark .tabs.is-boxed a:hover, + .hero.is-dark .tabs.is-toggle a:hover, + .hero.is-dark-dark .tabs.is-boxed a:hover, + .hero.is-dark-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-dark .tabs.is-boxed li.is-active a, + .hero.is-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-dark .tabs.is-toggle li.is-active a, + .hero.is-dark .tabs.is-toggle li.is-active a:hover, + .hero.is-dark-dark .tabs.is-boxed li.is-active a, + .hero.is-dark-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-dark-dark .tabs.is-toggle li.is-active a, + .hero.is-dark-dark .tabs.is-toggle li.is-active a:hover { + background-color: whitesmoke; + border-color: whitesmoke; + color: #1c1c1c; + } + + .hero.is-dark.is-bold, + .hero.is-dark-dark.is-bold { + background-image: linear-gradient(141deg, #030202 0%, #1c1c1c 71%, #2b2727 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-dark.is-bold .navbar-menu, + .hero.is-dark-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #030202 0%, #1c1c1c 71%, #2b2727 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-primary, + .hero.is-primary-dark { + background-color: #009e86; + color: #fff; + } + + .hero.is-primary a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-primary strong, + .hero.is-primary-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-primary-dark strong { + color: inherit; + } + + .hero.is-primary .title, + .hero.is-primary-dark .title { + color: #fff; + } + + .hero.is-primary .subtitle, + .hero.is-primary-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-primary .subtitle a:not(.button), + .hero.is-primary .subtitle strong, + .hero.is-primary-dark .subtitle a:not(.button), + .hero.is-primary-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-primary .navbar-menu, + .hero.is-primary-dark .navbar-menu { + background-color: #009e86; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-primary .navbar-item, + .hero.is-primary .navbar-link, + .hero.is-primary-dark .navbar-item, + .hero.is-primary-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-primary a.navbar-item:hover, + .hero.is-primary a.navbar-item.is-active, + .hero.is-primary .navbar-link:hover, + .hero.is-primary .navbar-link.is-active, + .hero.is-primary-dark a.navbar-item:hover, + .hero.is-primary-dark a.navbar-item.is-active, + .hero.is-primary-dark .navbar-link:hover, + .hero.is-primary-dark .navbar-link.is-active { + background-color: #008571; + color: #fff; + } + + .hero.is-primary .tabs a, + .hero.is-primary-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-primary .tabs a:hover, + .hero.is-primary-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-primary .tabs li.is-active a, + .hero.is-primary-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-primary .tabs.is-boxed a, + .hero.is-primary .tabs.is-toggle a, + .hero.is-primary-dark .tabs.is-boxed a, + .hero.is-primary-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-primary .tabs.is-boxed a:hover, + .hero.is-primary .tabs.is-toggle a:hover, + .hero.is-primary-dark .tabs.is-boxed a:hover, + .hero.is-primary-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-primary .tabs.is-boxed li.is-active a, + .hero.is-primary .tabs.is-boxed li.is-active a:hover, + .hero.is-primary .tabs.is-toggle li.is-active a, + .hero.is-primary .tabs.is-toggle li.is-active a:hover, + .hero.is-primary-dark .tabs.is-boxed li.is-active a, + .hero.is-primary-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-primary-dark .tabs.is-toggle li.is-active a, + .hero.is-primary-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #009e86; + } + + .hero.is-primary.is-bold, + .hero.is-primary-dark.is-bold { + background-image: linear-gradient(141deg, #006b49 0%, #009e86 71%, #00b5b8 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-primary.is-bold .navbar-menu, + .hero.is-primary-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #006b49 0%, #009e86 71%, #00b5b8 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-link, + .hero.is-link-dark { + background-color: #205bbc; + color: #fff; + } + + .hero.is-link a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-link strong, + .hero.is-link-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-link-dark strong { + color: inherit; + } + + .hero.is-link .title, + .hero.is-link-dark .title { + color: #fff; + } + + .hero.is-link .subtitle, + .hero.is-link-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-link .subtitle a:not(.button), + .hero.is-link .subtitle strong, + .hero.is-link-dark .subtitle a:not(.button), + .hero.is-link-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-link .navbar-menu, + .hero.is-link-dark .navbar-menu { + background-color: #205bbc; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-link .navbar-item, + .hero.is-link .navbar-link, + .hero.is-link-dark .navbar-item, + .hero.is-link-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-link a.navbar-item:hover, + .hero.is-link a.navbar-item.is-active, + .hero.is-link .navbar-link:hover, + .hero.is-link .navbar-link.is-active, + .hero.is-link-dark a.navbar-item:hover, + .hero.is-link-dark a.navbar-item.is-active, + .hero.is-link-dark .navbar-link:hover, + .hero.is-link-dark .navbar-link.is-active { + background-color: #1c51a6; + color: #fff; + } + + .hero.is-link .tabs a, + .hero.is-link-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-link .tabs a:hover, + .hero.is-link-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-link .tabs li.is-active a, + .hero.is-link-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-link .tabs.is-boxed a, + .hero.is-link .tabs.is-toggle a, + .hero.is-link-dark .tabs.is-boxed a, + .hero.is-link-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-link .tabs.is-boxed a:hover, + .hero.is-link .tabs.is-toggle a:hover, + .hero.is-link-dark .tabs.is-boxed a:hover, + .hero.is-link-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-link .tabs.is-boxed li.is-active a, + .hero.is-link .tabs.is-boxed li.is-active a:hover, + .hero.is-link .tabs.is-toggle li.is-active a, + .hero.is-link .tabs.is-toggle li.is-active a:hover, + .hero.is-link-dark .tabs.is-boxed li.is-active a, + .hero.is-link-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-link-dark .tabs.is-toggle li.is-active a, + .hero.is-link-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #205bbc; + } + + .hero.is-link.is-bold, + .hero.is-link-dark.is-bold { + background-image: linear-gradient(141deg, #105b98 0%, #205bbc 71%, #1d46d7 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-link.is-bold .navbar-menu, + .hero.is-link-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #105b98 0%, #205bbc 71%, #1d46d7 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-info, + .hero.is-info-dark { + background-color: #0f81cc; + color: #fff; + } + + .hero.is-info a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-info strong, + .hero.is-info-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-info-dark strong { + color: inherit; + } + + .hero.is-info .title, + .hero.is-info-dark .title { + color: #fff; + } + + .hero.is-info .subtitle, + .hero.is-info-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-info .subtitle a:not(.button), + .hero.is-info .subtitle strong, + .hero.is-info-dark .subtitle a:not(.button), + .hero.is-info-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-info .navbar-menu, + .hero.is-info-dark .navbar-menu { + background-color: #0f81cc; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-info .navbar-item, + .hero.is-info .navbar-link, + .hero.is-info-dark .navbar-item, + .hero.is-info-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-info a.navbar-item:hover, + .hero.is-info a.navbar-item.is-active, + .hero.is-info .navbar-link:hover, + .hero.is-info .navbar-link.is-active, + .hero.is-info-dark a.navbar-item:hover, + .hero.is-info-dark a.navbar-item.is-active, + .hero.is-info-dark .navbar-link:hover, + .hero.is-info-dark .navbar-link.is-active { + background-color: #0e72b4; + color: #fff; + } + + .hero.is-info .tabs a, + .hero.is-info-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-info .tabs a:hover, + .hero.is-info-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-info .tabs li.is-active a, + .hero.is-info-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-info .tabs.is-boxed a, + .hero.is-info .tabs.is-toggle a, + .hero.is-info-dark .tabs.is-boxed a, + .hero.is-info-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-info .tabs.is-boxed a:hover, + .hero.is-info .tabs.is-toggle a:hover, + .hero.is-info-dark .tabs.is-boxed a:hover, + .hero.is-info-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-info .tabs.is-boxed li.is-active a, + .hero.is-info .tabs.is-boxed li.is-active a:hover, + .hero.is-info .tabs.is-toggle li.is-active a, + .hero.is-info .tabs.is-toggle li.is-active a:hover, + .hero.is-info-dark .tabs.is-boxed li.is-active a, + .hero.is-info-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-info-dark .tabs.is-toggle li.is-active a, + .hero.is-info-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #0f81cc; + } + + .hero.is-info.is-bold, + .hero.is-info-dark.is-bold { + background-image: linear-gradient(141deg, #037fa5 0%, #0f81cc 71%, #0b6cea 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-info.is-bold .navbar-menu, + .hero.is-info-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #037fa5 0%, #0f81cc 71%, #0b6cea 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-success, + .hero.is-success-dark { + background-color: #1ca64c; + color: #fff; + } + + .hero.is-success a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-success strong, + .hero.is-success-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-success-dark strong { + color: inherit; + } + + .hero.is-success .title, + .hero.is-success-dark .title { + color: #fff; + } + + .hero.is-success .subtitle, + .hero.is-success-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-success .subtitle a:not(.button), + .hero.is-success .subtitle strong, + .hero.is-success-dark .subtitle a:not(.button), + .hero.is-success-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-success .navbar-menu, + .hero.is-success-dark .navbar-menu { + background-color: #1ca64c; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-success .navbar-item, + .hero.is-success .navbar-link, + .hero.is-success-dark .navbar-item, + .hero.is-success-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-success a.navbar-item:hover, + .hero.is-success a.navbar-item.is-active, + .hero.is-success .navbar-link:hover, + .hero.is-success .navbar-link.is-active, + .hero.is-success-dark a.navbar-item:hover, + .hero.is-success-dark a.navbar-item.is-active, + .hero.is-success-dark .navbar-link:hover, + .hero.is-success-dark .navbar-link.is-active { + background-color: #189042; + color: #fff; + } + + .hero.is-success .tabs a, + .hero.is-success-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-success .tabs a:hover, + .hero.is-success-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-success .tabs li.is-active a, + .hero.is-success-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-success .tabs.is-boxed a, + .hero.is-success .tabs.is-toggle a, + .hero.is-success-dark .tabs.is-boxed a, + .hero.is-success-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-success .tabs.is-boxed a:hover, + .hero.is-success .tabs.is-toggle a:hover, + .hero.is-success-dark .tabs.is-boxed a:hover, + .hero.is-success-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-success .tabs.is-boxed li.is-active a, + .hero.is-success .tabs.is-boxed li.is-active a:hover, + .hero.is-success .tabs.is-toggle li.is-active a, + .hero.is-success .tabs.is-toggle li.is-active a:hover, + .hero.is-success-dark .tabs.is-boxed li.is-active a, + .hero.is-success-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-success-dark .tabs.is-toggle li.is-active a, + .hero.is-success-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #1ca64c; + } + + .hero.is-success.is-bold, + .hero.is-success-dark.is-bold { + background-image: linear-gradient(141deg, #0e8123 0%, #1ca64c 71%, #1ac170 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-success.is-bold .navbar-menu, + .hero.is-success-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #0e8123 0%, #1ca64c 71%, #1ac170 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-warning, + .hero.is-warning-dark { + background-color: #ffd324; + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-warning strong, + .hero.is-warning-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-warning-dark strong { + color: inherit; + } + + .hero.is-warning .title, + .hero.is-warning-dark .title { + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning .subtitle, + .hero.is-warning-dark .subtitle { + color: rgba(0, 0, 0, 0.9); + } + + .hero.is-warning .subtitle a:not(.button), + .hero.is-warning .subtitle strong, + .hero.is-warning-dark .subtitle a:not(.button), + .hero.is-warning-dark .subtitle strong { + color: rgba(0, 0, 0, 0.7); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-warning .navbar-menu, + .hero.is-warning-dark .navbar-menu { + background-color: #ffd324; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-warning .navbar-item, + .hero.is-warning .navbar-link, + .hero.is-warning-dark .navbar-item, + .hero.is-warning-dark .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning a.navbar-item:hover, + .hero.is-warning a.navbar-item.is-active, + .hero.is-warning .navbar-link:hover, + .hero.is-warning .navbar-link.is-active, + .hero.is-warning-dark a.navbar-item:hover, + .hero.is-warning-dark a.navbar-item.is-active, + .hero.is-warning-dark .navbar-link:hover, + .hero.is-warning-dark .navbar-link.is-active { + background-color: #ffce0a; + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning .tabs a, + .hero.is-warning-dark .tabs a { + color: rgba(0, 0, 0, 0.7); + opacity: 0.9; + } + + .hero.is-warning .tabs a:hover, + .hero.is-warning-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-warning .tabs li.is-active a, + .hero.is-warning-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-warning .tabs.is-boxed a, + .hero.is-warning .tabs.is-toggle a, + .hero.is-warning-dark .tabs.is-boxed a, + .hero.is-warning-dark .tabs.is-toggle a { + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning .tabs.is-boxed a:hover, + .hero.is-warning .tabs.is-toggle a:hover, + .hero.is-warning-dark .tabs.is-boxed a:hover, + .hero.is-warning-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-warning .tabs.is-boxed li.is-active a, + .hero.is-warning .tabs.is-boxed li.is-active a:hover, + .hero.is-warning .tabs.is-toggle li.is-active a, + .hero.is-warning .tabs.is-toggle li.is-active a:hover, + .hero.is-warning-dark .tabs.is-boxed li.is-active a, + .hero.is-warning-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-warning-dark .tabs.is-toggle li.is-active a, + .hero.is-warning-dark .tabs.is-toggle li.is-active a:hover { + background-color: rgba(0, 0, 0, 0.7); + border-color: rgba(0, 0, 0, 0.7); + color: #ffd324; + } + + .hero.is-warning.is-bold, + .hero.is-warning-dark.is-bold { + background-image: linear-gradient(141deg, #f09800 0%, #ffd324 71%, #fff93d 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-warning.is-bold .navbar-menu, + .hero.is-warning-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #f09800 0%, #ffd324 71%, #fff93d 100%); + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-danger, + .hero.is-danger-dark { + background-color: #ff0537; + color: #fff; + } + + .hero.is-danger a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-danger strong, + .hero.is-danger-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-danger-dark strong { + color: inherit; + } + + .hero.is-danger .title, + .hero.is-danger-dark .title { + color: #fff; + } + + .hero.is-danger .subtitle, + .hero.is-danger-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-danger .subtitle a:not(.button), + .hero.is-danger .subtitle strong, + .hero.is-danger-dark .subtitle a:not(.button), + .hero.is-danger-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + + .hero.is-danger .navbar-menu, + .hero.is-danger-dark .navbar-menu { + background-color: #ff0537; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-danger .navbar-item, + .hero.is-danger .navbar-link, + .hero.is-danger-dark .navbar-item, + .hero.is-danger-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-danger a.navbar-item:hover, + .hero.is-danger a.navbar-item.is-active, + .hero.is-danger .navbar-link:hover, + .hero.is-danger .navbar-link.is-active, + .hero.is-danger-dark a.navbar-item:hover, + .hero.is-danger-dark a.navbar-item.is-active, + .hero.is-danger-dark .navbar-link:hover, + .hero.is-danger-dark .navbar-link.is-active { + background-color: #eb002f; + color: #fff; + } + + .hero.is-danger .tabs a, + .hero.is-danger-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-danger .tabs a:hover, + .hero.is-danger-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-danger .tabs li.is-active a, + .hero.is-danger-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-danger .tabs.is-boxed a, + .hero.is-danger .tabs.is-toggle a, + .hero.is-danger-dark .tabs.is-boxed a, + .hero.is-danger-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-danger .tabs.is-boxed a:hover, + .hero.is-danger .tabs.is-toggle a:hover, + .hero.is-danger-dark .tabs.is-boxed a:hover, + .hero.is-danger-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-danger .tabs.is-boxed li.is-active a, + .hero.is-danger .tabs.is-boxed li.is-active a:hover, + .hero.is-danger .tabs.is-toggle li.is-active a, + .hero.is-danger .tabs.is-toggle li.is-active a:hover, + .hero.is-danger-dark .tabs.is-boxed li.is-active a, + .hero.is-danger-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-danger-dark .tabs.is-toggle li.is-active a, + .hero.is-danger-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #ff0537; + } + + .hero.is-danger.is-bold, + .hero.is-danger-dark.is-bold { + background-image: linear-gradient(141deg, #d1004d 0%, #ff0537 71%, #ff1f26 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + + .hero.is-danger.is-bold .navbar-menu, + .hero.is-danger-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #d1004d 0%, #ff0537 71%, #ff1f26 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-white-dark { + background-color: white; + color: #0a0a0a; + } + + .hero.is-white-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-white-dark strong { + color: inherit; + } + + .hero.is-white-dark .title { + color: #0a0a0a; + } + + .hero.is-white-dark .subtitle { + color: rgba(10, 10, 10, 0.9); + } + + .hero.is-white-dark .subtitle a:not(.button), + .hero.is-white-dark .subtitle strong { + color: #0a0a0a; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-white-dark .navbar-menu { + background-color: white; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-white-dark .navbar-item, + .hero.is-white-dark .navbar-link { + color: rgba(10, 10, 10, 0.7); + } + + .hero.is-white-dark a.navbar-item:hover, + .hero.is-white-dark a.navbar-item.is-active, + .hero.is-white-dark .navbar-link:hover, + .hero.is-white-dark .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .hero.is-white-dark .tabs a { + color: #0a0a0a; + opacity: 0.9; + } + + .hero.is-white-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-white-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-white-dark .tabs.is-boxed a, + .hero.is-white-dark .tabs.is-toggle a { + color: #0a0a0a; + } + + .hero.is-white-dark .tabs.is-boxed a:hover, + .hero.is-white-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-white-dark .tabs.is-boxed li.is-active a, + .hero.is-white-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-white-dark .tabs.is-toggle li.is-active a, + .hero.is-white-dark .tabs.is-toggle li.is-active a:hover { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; + } + + .hero.is-white-dark.is-bold { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-white-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-black-dark { + background-color: #0a0a0a; + color: white; + } + + .hero.is-black-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-black-dark strong { + color: inherit; + } + + .hero.is-black-dark .title { + color: white; + } + + .hero.is-black-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-black-dark .subtitle a:not(.button), + .hero.is-black-dark .subtitle strong { + color: white; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-black-dark .navbar-menu { + background-color: #0a0a0a; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-black-dark .navbar-item, + .hero.is-black-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-black-dark a.navbar-item:hover, + .hero.is-black-dark a.navbar-item.is-active, + .hero.is-black-dark .navbar-link:hover, + .hero.is-black-dark .navbar-link.is-active { + background-color: black; + color: white; + } + + .hero.is-black-dark .tabs a { + color: white; + opacity: 0.9; + } + + .hero.is-black-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-black-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-black-dark .tabs.is-boxed a, + .hero.is-black-dark .tabs.is-toggle a { + color: white; + } + + .hero.is-black-dark .tabs.is-boxed a:hover, + .hero.is-black-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-black-dark .tabs.is-boxed li.is-active a, + .hero.is-black-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-black-dark .tabs.is-toggle li.is-active a, + .hero.is-black-dark .tabs.is-toggle li.is-active a:hover { + background-color: white; + border-color: white; + color: #0a0a0a; + } + + .hero.is-black-dark.is-bold { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-black-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-light-dark { + background-color: whitesmoke; + color: #363636; + } + + .hero.is-light-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-light-dark strong { + color: inherit; + } + + .hero.is-light-dark .title { + color: #363636; + } + + .hero.is-light-dark .subtitle { + color: rgba(54, 54, 54, 0.9); + } + + .hero.is-light-dark .subtitle a:not(.button), + .hero.is-light-dark .subtitle strong { + color: #363636; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-light-dark .navbar-menu { + background-color: whitesmoke; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-light-dark .navbar-item, + .hero.is-light-dark .navbar-link { + color: rgba(54, 54, 54, 0.7); + } + + .hero.is-light-dark a.navbar-item:hover, + .hero.is-light-dark a.navbar-item.is-active, + .hero.is-light-dark .navbar-link:hover, + .hero.is-light-dark .navbar-link.is-active { + background-color: #e8e8e8; + color: #363636; + } + + .hero.is-light-dark .tabs a { + color: #363636; + opacity: 0.9; + } + + .hero.is-light-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-light-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-light-dark .tabs.is-boxed a, + .hero.is-light-dark .tabs.is-toggle a { + color: #363636; + } + + .hero.is-light-dark .tabs.is-boxed a:hover, + .hero.is-light-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-light-dark .tabs.is-boxed li.is-active a, + .hero.is-light-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-light-dark .tabs.is-toggle li.is-active a, + .hero.is-light-dark .tabs.is-toggle li.is-active a:hover { + background-color: #363636; + border-color: #363636; + color: whitesmoke; + } + + .hero.is-light-dark.is-bold { + background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-light-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-dark-dark { + background-color: #363636; + color: whitesmoke; + } + + .hero.is-dark-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-dark-dark strong { + color: inherit; + } + + .hero.is-dark-dark .title { + color: whitesmoke; + } + + .hero.is-dark-dark .subtitle { + color: rgba(245, 245, 245, 0.9); + } + + .hero.is-dark-dark .subtitle a:not(.button), + .hero.is-dark-dark .subtitle strong { + color: whitesmoke; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-dark-dark .navbar-menu { + background-color: #363636; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-dark-dark .navbar-item, + .hero.is-dark-dark .navbar-link { + color: rgba(245, 245, 245, 0.7); + } + + .hero.is-dark-dark a.navbar-item:hover, + .hero.is-dark-dark a.navbar-item.is-active, + .hero.is-dark-dark .navbar-link:hover, + .hero.is-dark-dark .navbar-link.is-active { + background-color: #292929; + color: whitesmoke; + } + + .hero.is-dark-dark .tabs a { + color: whitesmoke; + opacity: 0.9; + } + + .hero.is-dark-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-dark-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-dark-dark .tabs.is-boxed a, + .hero.is-dark-dark .tabs.is-toggle a { + color: whitesmoke; + } + + .hero.is-dark-dark .tabs.is-boxed a:hover, + .hero.is-dark-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-dark-dark .tabs.is-boxed li.is-active a, + .hero.is-dark-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-dark-dark .tabs.is-toggle li.is-active a, + .hero.is-dark-dark .tabs.is-toggle li.is-active a:hover { + background-color: whitesmoke; + border-color: whitesmoke; + color: #363636; + } + + .hero.is-dark-dark.is-bold { + background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-dark-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-primary-dark { + background-color: #00d1b2; + color: #fff; + } + + .hero.is-primary-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-primary-dark strong { + color: inherit; + } + + .hero.is-primary-dark .title { + color: #fff; + } + + .hero.is-primary-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-primary-dark .subtitle a:not(.button), + .hero.is-primary-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-primary-dark .navbar-menu { + background-color: #00d1b2; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-primary-dark .navbar-item, + .hero.is-primary-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-primary-dark a.navbar-item:hover, + .hero.is-primary-dark a.navbar-item.is-active, + .hero.is-primary-dark .navbar-link:hover, + .hero.is-primary-dark .navbar-link.is-active { + background-color: #00b89c; + color: #fff; + } + + .hero.is-primary-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-primary-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-primary-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-primary-dark .tabs.is-boxed a, + .hero.is-primary-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-primary-dark .tabs.is-boxed a:hover, + .hero.is-primary-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-primary-dark .tabs.is-boxed li.is-active a, + .hero.is-primary-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-primary-dark .tabs.is-toggle li.is-active a, + .hero.is-primary-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #00d1b2; + } + + .hero.is-primary-dark.is-bold { + background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-primary-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-link-dark { + background-color: #3273dc; + color: #fff; + } + + .hero.is-link-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-link-dark strong { + color: inherit; + } + + .hero.is-link-dark .title { + color: #fff; + } + + .hero.is-link-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-link-dark .subtitle a:not(.button), + .hero.is-link-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-link-dark .navbar-menu { + background-color: #3273dc; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-link-dark .navbar-item, + .hero.is-link-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-link-dark a.navbar-item:hover, + .hero.is-link-dark a.navbar-item.is-active, + .hero.is-link-dark .navbar-link:hover, + .hero.is-link-dark .navbar-link.is-active { + background-color: #2366d1; + color: #fff; + } + + .hero.is-link-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-link-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-link-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-link-dark .tabs.is-boxed a, + .hero.is-link-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-link-dark .tabs.is-boxed a:hover, + .hero.is-link-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-link-dark .tabs.is-boxed li.is-active a, + .hero.is-link-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-link-dark .tabs.is-toggle li.is-active a, + .hero.is-link-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #3273dc; + } + + .hero.is-link-dark.is-bold { + background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-link-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #1577c6 0%, #3273dc 71%, #4366e5 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-info-dark { + background-color: #209cee; + color: #fff; + } + + .hero.is-info-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-info-dark strong { + color: inherit; + } + + .hero.is-info-dark .title { + color: #fff; + } + + .hero.is-info-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-info-dark .subtitle a:not(.button), + .hero.is-info-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-info-dark .navbar-menu { + background-color: #209cee; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-info-dark .navbar-item, + .hero.is-info-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-info-dark a.navbar-item:hover, + .hero.is-info-dark a.navbar-item.is-active, + .hero.is-info-dark .navbar-link:hover, + .hero.is-info-dark .navbar-link.is-active { + background-color: #118fe4; + color: #fff; + } + + .hero.is-info-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-info-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-info-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-info-dark .tabs.is-boxed a, + .hero.is-info-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-info-dark .tabs.is-boxed a:hover, + .hero.is-info-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-info-dark .tabs.is-boxed li.is-active a, + .hero.is-info-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-info-dark .tabs.is-toggle li.is-active a, + .hero.is-info-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #209cee; + } + + .hero.is-info-dark.is-bold { + background-image: linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-info-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #04a6d7 0%, #209cee 71%, #3287f5 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-success-dark { + background-color: #23d160; + color: #fff; + } + + .hero.is-success-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-success-dark strong { + color: inherit; + } + + .hero.is-success-dark .title { + color: #fff; + } + + .hero.is-success-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-success-dark .subtitle a:not(.button), + .hero.is-success-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-success-dark .navbar-menu { + background-color: #23d160; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-success-dark .navbar-item, + .hero.is-success-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-success-dark a.navbar-item:hover, + .hero.is-success-dark a.navbar-item.is-active, + .hero.is-success-dark .navbar-link:hover, + .hero.is-success-dark .navbar-link.is-active { + background-color: #20bc56; + color: #fff; + } + + .hero.is-success-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-success-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-success-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-success-dark .tabs.is-boxed a, + .hero.is-success-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-success-dark .tabs.is-boxed a:hover, + .hero.is-success-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-success-dark .tabs.is-boxed li.is-active a, + .hero.is-success-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-success-dark .tabs.is-toggle li.is-active a, + .hero.is-success-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #23d160; + } + + .hero.is-success-dark.is-bold { + background-image: linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-success-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #12af2f 0%, #23d160 71%, #2ce28a 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-warning-dark { + background-color: #ffdd57; + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-warning-dark strong { + color: inherit; + } + + .hero.is-warning-dark .title { + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning-dark .subtitle { + color: rgba(0, 0, 0, 0.9); + } + + .hero.is-warning-dark .subtitle a:not(.button), + .hero.is-warning-dark .subtitle strong { + color: rgba(0, 0, 0, 0.7); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-warning-dark .navbar-menu { + background-color: #ffdd57; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-warning-dark .navbar-item, + .hero.is-warning-dark .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning-dark a.navbar-item:hover, + .hero.is-warning-dark a.navbar-item.is-active, + .hero.is-warning-dark .navbar-link:hover, + .hero.is-warning-dark .navbar-link.is-active { + background-color: #ffd83d; + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning-dark .tabs a { + color: rgba(0, 0, 0, 0.7); + opacity: 0.9; + } + + .hero.is-warning-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-warning-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-warning-dark .tabs.is-boxed a, + .hero.is-warning-dark .tabs.is-toggle a { + color: rgba(0, 0, 0, 0.7); + } + + .hero.is-warning-dark .tabs.is-boxed a:hover, + .hero.is-warning-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-warning-dark .tabs.is-boxed li.is-active a, + .hero.is-warning-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-warning-dark .tabs.is-toggle li.is-active a, + .hero.is-warning-dark .tabs.is-toggle li.is-active a:hover { + background-color: rgba(0, 0, 0, 0.7); + border-color: rgba(0, 0, 0, 0.7); + color: #ffdd57; + } + + .hero.is-warning-dark.is-bold { + background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-warning-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #ffaf24 0%, #ffdd57 71%, #fffa70 100%); + } +} + +@media (prefers-color-scheme: dark) { + .hero.is-danger-dark { + background-color: #ff3860; + color: #fff; + } + + .hero.is-danger-dark a:not(.button):not(.dropdown-item):not(.tag), + .hero.is-danger-dark strong { + color: inherit; + } + + .hero.is-danger-dark .title { + color: #fff; + } + + .hero.is-danger-dark .subtitle { + color: rgba(255, 255, 255, 0.9); + } + + .hero.is-danger-dark .subtitle a:not(.button), + .hero.is-danger-dark .subtitle strong { + color: #fff; + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 1087px) { + .hero.is-danger-dark .navbar-menu { + background-color: #ff3860; + } +} + +@media (prefers-color-scheme: dark) { + + .hero.is-danger-dark .navbar-item, + .hero.is-danger-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); + } + + .hero.is-danger-dark a.navbar-item:hover, + .hero.is-danger-dark a.navbar-item.is-active, + .hero.is-danger-dark .navbar-link:hover, + .hero.is-danger-dark .navbar-link.is-active { + background-color: #ff1f4b; + color: #fff; + } + + .hero.is-danger-dark .tabs a { + color: #fff; + opacity: 0.9; + } + + .hero.is-danger-dark .tabs a:hover { + opacity: 1; + } + + .hero.is-danger-dark .tabs li.is-active a { + opacity: 1; + } + + .hero.is-danger-dark .tabs.is-boxed a, + .hero.is-danger-dark .tabs.is-toggle a { + color: #fff; + } + + .hero.is-danger-dark .tabs.is-boxed a:hover, + .hero.is-danger-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); + } + + .hero.is-danger-dark .tabs.is-boxed li.is-active a, + .hero.is-danger-dark .tabs.is-boxed li.is-active a:hover, + .hero.is-danger-dark .tabs.is-toggle li.is-active a, + .hero.is-danger-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #ff3860; + } + + .hero.is-danger-dark.is-bold { + background-image: linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%); + } +} + +@media screen and (prefers-color-scheme: dark) and (max-width: 768px) { + .hero.is-danger-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #ff0561 0%, #ff3860 71%, #ff5257 100%); + } +} + +@media (prefers-color-scheme: dark) { + .footer { + background-color: #121212; + } + + #progress-bar { + border-radius: 15px; + position: relative; + width: 100%; + height: 30px; + background-color: #383636; + } + + #progress, + #progress-percentage { + border-radius: 15px; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + } + + #progress-percentage { + text-align: center; + z-index: 2; + line-height: 30px; + } + + #progress { + z-index: 1; + background-color: #00d1b2; + } + +} diff --git a/frontend/src/assets/css/bulma-light.css b/frontend/src/assets/css/bulma-light.css new file mode 100644 index 00000000..d8593c8f --- /dev/null +++ b/frontend/src/assets/css/bulma-light.css @@ -0,0 +1,13098 @@ +.button, +.input, +.textarea, +.select select, +.file-cta, +.file-name, +.pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis { + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + align-items: center; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: none; + display: inline-flex; + font-size: 1rem; + height: 2.5em; + justify-content: flex-start; + line-height: 1.5; + padding-bottom: calc(0.5em - 1px); + padding-left: calc(0.75em - 1px); + padding-right: calc(0.75em - 1px); + padding-top: calc(0.5em - 1px); + position: relative; + vertical-align: top; +} + +.button:focus, +.input:focus, +.textarea:focus, +.select select:focus, +.file-cta:focus, +.file-name:focus, +.pagination-previous:focus, +.pagination-next:focus, +.pagination-link:focus, +.pagination-ellipsis:focus, +.is-focused.button, +.is-focused.input, +.is-focused.textarea, +.select select.is-focused, +.is-focused.file-cta, +.is-focused.file-name, +.is-focused.pagination-previous, +.is-focused.pagination-next, +.is-focused.pagination-link, +.is-focused.pagination-ellipsis, +.button:active, +.input:active, +.textarea:active, +.select select:active, +.file-cta:active, +.file-name:active, +.pagination-previous:active, +.pagination-next:active, +.pagination-link:active, +.pagination-ellipsis:active, +.is-active.button, +.is-active.input, +.is-active.textarea, +.select select.is-active, +.is-active.file-cta, +.is-active.file-name, +.is-active.pagination-previous, +.is-active.pagination-next, +.is-active.pagination-link, +.is-active.pagination-ellipsis { + outline: none; +} + +.button[disabled], +.input[disabled], +.textarea[disabled], +.select select[disabled], +.file-cta[disabled], +.file-name[disabled], +.pagination-previous[disabled], +.pagination-next[disabled], +.pagination-link[disabled], +.pagination-ellipsis[disabled], +fieldset[disabled] .button, +fieldset[disabled] .input, +fieldset[disabled] .textarea, +fieldset[disabled] .select select, +.select fieldset[disabled] select, +fieldset[disabled] .file-cta, +fieldset[disabled] .file-name, +fieldset[disabled] .pagination-previous, +fieldset[disabled] .pagination-next, +fieldset[disabled] .pagination-link, +fieldset[disabled] .pagination-ellipsis { + cursor: not-allowed; +} + +.button, +.file, +.breadcrumb, +.pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis, +.tabs, +.is-unselectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.select:not(.is-multiple):not(.is-loading)::after, +.navbar-link:not(.is-arrowless)::after { + border: 3px solid transparent; + border-radius: 2px; + border-right: 0; + border-top: 0; + content: " "; + display: block; + height: 0.625em; + margin-top: -0.4375em; + pointer-events: none; + position: absolute; + top: 50%; + transform: rotate(-45deg); + transform-origin: center; + width: 0.625em; +} + +.box:not(:last-child), +.content:not(:last-child), +.notification:not(:last-child), +.progress:not(:last-child), +.table:not(:last-child), +.table-container:not(:last-child), +.title:not(:last-child), +.subtitle:not(:last-child), +.block:not(:last-child), +.breadcrumb:not(:last-child), +.level:not(:last-child), +.message:not(:last-child), +.pagination:not(:last-child), +.tabs:not(:last-child) { + margin-bottom: 1.5rem; +} + +.delete, +.modal-close { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -moz-appearance: none; + -webkit-appearance: none; + background-color: rgba(10, 10, 10, 0.2); + border: none; + border-radius: 9999px; + cursor: pointer; + pointer-events: auto; + display: inline-block; + flex-grow: 0; + flex-shrink: 0; + font-size: 0; + height: 20px; + max-height: 20px; + max-width: 20px; + min-height: 20px; + min-width: 20px; + outline: none; + position: relative; + vertical-align: top; + width: 20px; +} + +.delete::before, +.modal-close::before, +.delete::after, +.modal-close::after { + background-color: white; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; +} + +.delete::before, +.modal-close::before { + height: 2px; + width: 50%; +} + +.delete::after, +.modal-close::after { + height: 50%; + width: 2px; +} + +.delete:hover, +.modal-close:hover, +.delete:focus, +.modal-close:focus { + background-color: rgba(10, 10, 10, 0.3); +} + +.delete:active, +.modal-close:active { + background-color: rgba(10, 10, 10, 0.4); +} + +.is-small.delete, +.is-small.modal-close { + height: 16px; + max-height: 16px; + max-width: 16px; + min-height: 16px; + min-width: 16px; + width: 16px; +} + +.is-medium.delete, +.is-medium.modal-close { + height: 24px; + max-height: 24px; + max-width: 24px; + min-height: 24px; + min-width: 24px; + width: 24px; +} + +.is-large.delete, +.is-large.modal-close { + height: 32px; + max-height: 32px; + max-width: 32px; + min-height: 32px; + min-width: 32px; + width: 32px; +} + +.button.is-loading::after, +.loader, +.select.is-loading::after, +.control.is-loading::after { + -webkit-animation: spinAround 500ms infinite linear; + animation: spinAround 500ms infinite linear; + border: 2px solid #dbdbdb; + border-radius: 9999px; + border-right-color: transparent; + border-top-color: transparent; + content: ""; + display: block; + height: 1em; + position: relative; + width: 1em; +} + +.image.is-square img, +.image.is-square .has-ratio, +.image.is-1by1 img, +.image.is-1by1 .has-ratio, +.image.is-5by4 img, +.image.is-5by4 .has-ratio, +.image.is-4by3 img, +.image.is-4by3 .has-ratio, +.image.is-3by2 img, +.image.is-3by2 .has-ratio, +.image.is-5by3 img, +.image.is-5by3 .has-ratio, +.image.is-16by9 img, +.image.is-16by9 .has-ratio, +.image.is-2by1 img, +.image.is-2by1 .has-ratio, +.image.is-3by1 img, +.image.is-3by1 .has-ratio, +.image.is-4by5 img, +.image.is-4by5 .has-ratio, +.image.is-3by4 img, +.image.is-3by4 .has-ratio, +.image.is-2by3 img, +.image.is-2by3 .has-ratio, +.image.is-3by5 img, +.image.is-3by5 .has-ratio, +.image.is-9by16 img, +.image.is-9by16 .has-ratio, +.image.is-1by2 img, +.image.is-1by2 .has-ratio, +.image.is-1by3 img, +.image.is-1by3 .has-ratio, +.modal, +.modal-background, +.is-overlay, +.hero-video { + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; +} + +.navbar-burger { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + background: none; + border: none; + color: currentColor; + font-family: inherit; + font-size: 1em; + margin: 0; + padding: 0; +} + +/* Bulma Base */ +/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */ +html, +body, +p, +ol, +ul, +li, +dl, +dt, +dd, +blockquote, +figure, +fieldset, +legend, +textarea, +pre, +iframe, +hr, +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 0; + padding: 0; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: 100%; + font-weight: normal; +} + +ul { + list-style: none; +} + +button, +input, +select, +textarea { + margin: 0; +} + +html { + box-sizing: border-box; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +img, +video { + height: auto; + max-width: 100%; +} + +iframe { + border: 0; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} + +td:not([align]), +th:not([align]) { + text-align: inherit; +} + +html { + background-color: white; + font-size: 16px; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + min-width: 300px; + overflow-x: hidden; + overflow-y: scroll; + text-rendering: optimizeLegibility; + -webkit-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + text-size-adjust: 100%; +} + +article, +aside, +figure, +footer, +header, +hgroup, +section { + display: block; +} + +body, +button, +input, +optgroup, +select, +textarea { + font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif; +} + +code, +pre { + -moz-osx-font-smoothing: auto; + -webkit-font-smoothing: auto; + font-family: monospace; +} + +body { + color: #4a4a4a; + font-size: 1em; + font-weight: 400; + line-height: 1.5; +} + +a { + color: #485fc7; + cursor: pointer; + text-decoration: none; +} + +a strong { + color: currentColor; +} + +a:hover { + color: #363636; +} + +code { + background-color: whitesmoke; + color: #da1039; + font-size: 0.875em; + font-weight: normal; + padding: 0.25em 0.5em 0.25em; +} + +hr { + background-color: whitesmoke; + border: none; + display: block; + height: 2px; + margin: 1.5rem 0; +} + +img { + height: auto; + max-width: 100%; +} + +input[type="checkbox"], +input[type="radio"] { + vertical-align: baseline; +} + +small { + font-size: 0.875em; +} + +span { + font-style: inherit; + font-weight: inherit; +} + +strong { + color: #363636; + font-weight: 700; +} + +fieldset { + border: none; +} + +pre { + -webkit-overflow-scrolling: touch; + background-color: whitesmoke; + color: #4a4a4a; + font-size: 0.875em; + overflow-x: auto; + padding: 1.25rem 1.5rem; + white-space: pre; + word-wrap: normal; +} + +pre code { + background-color: transparent; + color: currentColor; + font-size: 1em; + padding: 0; +} + +table td, +table th { + vertical-align: top; +} + +table td:not([align]), +table th:not([align]) { + text-align: inherit; +} + +table th { + color: #363636; +} + +@-webkit-keyframes spinAround { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(359deg); + } +} + +@keyframes spinAround { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(359deg); + } +} + +/* Bulma Elements */ +.box { + background-color: white; + border-radius: 6px; + box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); + color: #4a4a4a; + display: block; + padding: 1.25rem; +} + +a.box:hover, +a.box:focus { + box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0 0 1px #485fc7; +} + +a.box:active { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2), 0 0 0 1px #485fc7; +} + +.button { + background-color: white; + border-color: #dbdbdb; + border-width: 1px; + color: #363636; + cursor: pointer; + justify-content: center; + padding-bottom: calc(0.5em - 1px); + padding-left: 1em; + padding-right: 1em; + padding-top: calc(0.5em - 1px); + text-align: center; + white-space: nowrap; +} + +.button strong { + color: inherit; +} + +.button .icon, +.button .icon.is-small, +.button .icon.is-medium, +.button .icon.is-large { + height: 1.5em; + width: 1.5em; +} + +.button .icon:first-child:not(:last-child) { + margin-left: calc(-0.5em - 1px); + margin-right: 0.25em; +} + +.button .icon:last-child:not(:first-child) { + margin-left: 0.25em; + margin-right: calc(-0.5em - 1px); +} + +.button .icon:first-child:last-child { + margin-left: calc(-0.5em - 1px); + margin-right: calc(-0.5em - 1px); +} + +.button:hover, +.button.is-hovered { + border-color: #b5b5b5; + color: #363636; +} + +.button:focus, +.button.is-focused { + border-color: #485fc7; + color: #363636; +} + +.button:focus:not(:active), +.button.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.25); +} + +.button:active, +.button.is-active { + border-color: #4a4a4a; + color: #363636; +} + +.button.is-text { + background-color: transparent; + border-color: transparent; + color: #4a4a4a; + text-decoration: underline; +} + +.button.is-text:hover, +.button.is-text.is-hovered, +.button.is-text:focus, +.button.is-text.is-focused { + background-color: whitesmoke; + color: #363636; +} + +.button.is-text:active, +.button.is-text.is-active { + background-color: #e8e8e8; + color: #363636; +} + +.button.is-text[disabled], +fieldset[disabled] .button.is-text { + background-color: transparent; + border-color: transparent; + box-shadow: none; +} + +.button.is-ghost { + background: none; + border-color: transparent; + color: #485fc7; + text-decoration: none; +} + +.button.is-ghost:hover, +.button.is-ghost.is-hovered { + color: #485fc7; + text-decoration: underline; +} + +.button.is-white { + background-color: white; + border-color: transparent; + color: #0a0a0a; +} + +.button.is-white:hover, +.button.is-white.is-hovered { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; +} + +.button.is-white:focus, +.button.is-white.is-focused { + border-color: transparent; + color: #0a0a0a; +} + +.button.is-white:focus:not(:active), +.button.is-white.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); +} + +.button.is-white:active, +.button.is-white.is-active { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; +} + +.button.is-white[disabled], +fieldset[disabled] .button.is-white { + background-color: white; + border-color: white; + box-shadow: none; +} + +.button.is-white.is-inverted { + background-color: #0a0a0a; + color: white; +} + +.button.is-white.is-inverted:hover, +.button.is-white.is-inverted.is-hovered { + background-color: black; +} + +.button.is-white.is-inverted[disabled], +fieldset[disabled] .button.is-white.is-inverted { + background-color: #0a0a0a; + border-color: transparent; + box-shadow: none; + color: white; +} + +.button.is-white.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; +} + +.button.is-white.is-outlined { + background-color: transparent; + border-color: white; + color: white; +} + +.button.is-white.is-outlined:hover, +.button.is-white.is-outlined.is-hovered, +.button.is-white.is-outlined:focus, +.button.is-white.is-outlined.is-focused { + background-color: white; + border-color: white; + color: #0a0a0a; +} + +.button.is-white.is-outlined.is-loading::after { + border-color: transparent transparent white white !important; +} + +.button.is-white.is-outlined.is-loading:hover::after, +.button.is-white.is-outlined.is-loading.is-hovered::after, +.button.is-white.is-outlined.is-loading:focus::after, +.button.is-white.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; +} + +.button.is-white.is-outlined[disabled], +fieldset[disabled] .button.is-white.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; +} + +.button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; +} + +.button.is-white.is-inverted.is-outlined:hover, +.button.is-white.is-inverted.is-outlined.is-hovered, +.button.is-white.is-inverted.is-outlined:focus, +.button.is-white.is-inverted.is-outlined.is-focused { + background-color: #0a0a0a; + color: white; +} + +.button.is-white.is-inverted.is-outlined.is-loading:hover::after, +.button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-white.is-inverted.is-outlined.is-loading:focus::after, +.button.is-white.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent white white !important; +} + +.button.is-white.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-white.is-inverted.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; +} + +.button.is-black { + background-color: #0a0a0a; + border-color: transparent; + color: white; +} + +.button.is-black:hover, +.button.is-black.is-hovered { + background-color: #040404; + border-color: transparent; + color: white; +} + +.button.is-black:focus, +.button.is-black.is-focused { + border-color: transparent; + color: white; +} + +.button.is-black:focus:not(:active), +.button.is-black.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); +} + +.button.is-black:active, +.button.is-black.is-active { + background-color: black; + border-color: transparent; + color: white; +} + +.button.is-black[disabled], +fieldset[disabled] .button.is-black { + background-color: #0a0a0a; + border-color: #0a0a0a; + box-shadow: none; +} + +.button.is-black.is-inverted { + background-color: white; + color: #0a0a0a; +} + +.button.is-black.is-inverted:hover, +.button.is-black.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-black.is-inverted[disabled], +fieldset[disabled] .button.is-black.is-inverted { + background-color: white; + border-color: transparent; + box-shadow: none; + color: #0a0a0a; +} + +.button.is-black.is-loading::after { + border-color: transparent transparent white white !important; +} + +.button.is-black.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + color: #0a0a0a; +} + +.button.is-black.is-outlined:hover, +.button.is-black.is-outlined.is-hovered, +.button.is-black.is-outlined:focus, +.button.is-black.is-outlined.is-focused { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; +} + +.button.is-black.is-outlined.is-loading::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; +} + +.button.is-black.is-outlined.is-loading:hover::after, +.button.is-black.is-outlined.is-loading.is-hovered::after, +.button.is-black.is-outlined.is-loading:focus::after, +.button.is-black.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent white white !important; +} + +.button.is-black.is-outlined[disabled], +fieldset[disabled] .button.is-black.is-outlined { + background-color: transparent; + border-color: #0a0a0a; + box-shadow: none; + color: #0a0a0a; +} + +.button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + color: white; +} + +.button.is-black.is-inverted.is-outlined:hover, +.button.is-black.is-inverted.is-outlined.is-hovered, +.button.is-black.is-inverted.is-outlined:focus, +.button.is-black.is-inverted.is-outlined.is-focused { + background-color: white; + color: #0a0a0a; +} + +.button.is-black.is-inverted.is-outlined.is-loading:hover::after, +.button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-black.is-inverted.is-outlined.is-loading:focus::after, +.button.is-black.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #0a0a0a #0a0a0a !important; +} + +.button.is-black.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-black.is-inverted.is-outlined { + background-color: transparent; + border-color: white; + box-shadow: none; + color: white; +} + +.button.is-light { + background-color: whitesmoke; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-light:hover, +.button.is-light.is-hovered { + background-color: #eeeeee; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-light:focus, +.button.is-light.is-focused { + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-light:focus:not(:active), +.button.is-light.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); +} + +.button.is-light:active, +.button.is-light.is-active { + background-color: #e8e8e8; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-light[disabled], +fieldset[disabled] .button.is-light { + background-color: whitesmoke; + border-color: whitesmoke; + box-shadow: none; +} + +.button.is-light.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + color: whitesmoke; +} + +.button.is-light.is-inverted:hover, +.button.is-light.is-inverted.is-hovered { + background-color: rgba(0, 0, 0, 0.7); +} + +.button.is-light.is-inverted[disabled], +fieldset[disabled] .button.is-light.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + border-color: transparent; + box-shadow: none; + color: whitesmoke; +} + +.button.is-light.is-loading::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; +} + +.button.is-light.is-outlined { + background-color: transparent; + border-color: whitesmoke; + color: whitesmoke; +} + +.button.is-light.is-outlined:hover, +.button.is-light.is-outlined.is-hovered, +.button.is-light.is-outlined:focus, +.button.is-light.is-outlined.is-focused { + background-color: whitesmoke; + border-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-light.is-outlined.is-loading::after { + border-color: transparent transparent whitesmoke whitesmoke !important; +} + +.button.is-light.is-outlined.is-loading:hover::after, +.button.is-light.is-outlined.is-loading.is-hovered::after, +.button.is-light.is-outlined.is-loading:focus::after, +.button.is-light.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; +} + +.button.is-light.is-outlined[disabled], +fieldset[disabled] .button.is-light.is-outlined { + background-color: transparent; + border-color: whitesmoke; + box-shadow: none; + color: whitesmoke; +} + +.button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + color: rgba(0, 0, 0, 0.7); +} + +.button.is-light.is-inverted.is-outlined:hover, +.button.is-light.is-inverted.is-outlined.is-hovered, +.button.is-light.is-inverted.is-outlined:focus, +.button.is-light.is-inverted.is-outlined.is-focused { + background-color: rgba(0, 0, 0, 0.7); + color: whitesmoke; +} + +.button.is-light.is-inverted.is-outlined.is-loading:hover::after, +.button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-light.is-inverted.is-outlined.is-loading:focus::after, +.button.is-light.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent whitesmoke whitesmoke !important; +} + +.button.is-light.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-light.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + box-shadow: none; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-dark { + background-color: #363636; + border-color: transparent; + color: #fff; +} + +.button.is-dark:hover, +.button.is-dark.is-hovered { + background-color: #2f2f2f; + border-color: transparent; + color: #fff; +} + +.button.is-dark:focus, +.button.is-dark.is-focused { + border-color: transparent; + color: #fff; +} + +.button.is-dark:focus:not(:active), +.button.is-dark.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); +} + +.button.is-dark:active, +.button.is-dark.is-active { + background-color: #292929; + border-color: transparent; + color: #fff; +} + +.button.is-dark[disabled], +fieldset[disabled] .button.is-dark { + background-color: #363636; + border-color: #363636; + box-shadow: none; +} + +.button.is-dark.is-inverted { + background-color: #fff; + color: #363636; +} + +.button.is-dark.is-inverted:hover, +.button.is-dark.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-dark.is-inverted[disabled], +fieldset[disabled] .button.is-dark.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #363636; +} + +.button.is-dark.is-loading::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-dark.is-outlined { + background-color: transparent; + border-color: #363636; + color: #363636; +} + +.button.is-dark.is-outlined:hover, +.button.is-dark.is-outlined.is-hovered, +.button.is-dark.is-outlined:focus, +.button.is-dark.is-outlined.is-focused { + background-color: #363636; + border-color: #363636; + color: #fff; +} + +.button.is-dark.is-outlined.is-loading::after { + border-color: transparent transparent #363636 #363636 !important; +} + +.button.is-dark.is-outlined.is-loading:hover::after, +.button.is-dark.is-outlined.is-loading.is-hovered::after, +.button.is-dark.is-outlined.is-loading:focus::after, +.button.is-dark.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-dark.is-outlined[disabled], +fieldset[disabled] .button.is-dark.is-outlined { + background-color: transparent; + border-color: #363636; + box-shadow: none; + color: #363636; +} + +.button.is-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; +} + +.button.is-dark.is-inverted.is-outlined:hover, +.button.is-dark.is-inverted.is-outlined.is-hovered, +.button.is-dark.is-inverted.is-outlined:focus, +.button.is-dark.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #363636; +} + +.button.is-dark.is-inverted.is-outlined.is-loading:hover::after, +.button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-dark.is-inverted.is-outlined.is-loading:focus::after, +.button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #363636 #363636 !important; +} + +.button.is-dark.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-dark.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; +} + +.button.is-primary { + background-color: #00d1b2; + border-color: transparent; + color: #fff; +} + +.button.is-primary:hover, +.button.is-primary.is-hovered { + background-color: #00c4a7; + border-color: transparent; + color: #fff; +} + +.button.is-primary:focus, +.button.is-primary.is-focused { + border-color: transparent; + color: #fff; +} + +.button.is-primary:focus:not(:active), +.button.is-primary.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); +} + +.button.is-primary:active, +.button.is-primary.is-active { + background-color: #00b89c; + border-color: transparent; + color: #fff; +} + +.button.is-primary[disabled], +fieldset[disabled] .button.is-primary { + background-color: #00d1b2; + border-color: #00d1b2; + box-shadow: none; +} + +.button.is-primary.is-inverted { + background-color: #fff; + color: #00d1b2; +} + +.button.is-primary.is-inverted:hover, +.button.is-primary.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-primary.is-inverted[disabled], +fieldset[disabled] .button.is-primary.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #00d1b2; +} + +.button.is-primary.is-loading::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-primary.is-outlined { + background-color: transparent; + border-color: #00d1b2; + color: #00d1b2; +} + +.button.is-primary.is-outlined:hover, +.button.is-primary.is-outlined.is-hovered, +.button.is-primary.is-outlined:focus, +.button.is-primary.is-outlined.is-focused { + background-color: #00d1b2; + border-color: #00d1b2; + color: #fff; +} + +.button.is-primary.is-outlined.is-loading::after { + border-color: transparent transparent #00d1b2 #00d1b2 !important; +} + +.button.is-primary.is-outlined.is-loading:hover::after, +.button.is-primary.is-outlined.is-loading.is-hovered::after, +.button.is-primary.is-outlined.is-loading:focus::after, +.button.is-primary.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-primary.is-outlined[disabled], +fieldset[disabled] .button.is-primary.is-outlined { + background-color: transparent; + border-color: #00d1b2; + box-shadow: none; + color: #00d1b2; +} + +.button.is-primary.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; +} + +.button.is-primary.is-inverted.is-outlined:hover, +.button.is-primary.is-inverted.is-outlined.is-hovered, +.button.is-primary.is-inverted.is-outlined:focus, +.button.is-primary.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #00d1b2; +} + +.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, +.button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-primary.is-inverted.is-outlined.is-loading:focus::after, +.button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #00d1b2 #00d1b2 !important; +} + +.button.is-primary.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-primary.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; +} + +.button.is-primary.is-light { + background-color: #ebfffc; + color: #00947e; +} + +.button.is-primary.is-light:hover, +.button.is-primary.is-light.is-hovered { + background-color: #defffa; + border-color: transparent; + color: #00947e; +} + +.button.is-primary.is-light:active, +.button.is-primary.is-light.is-active { + background-color: #d1fff8; + border-color: transparent; + color: #00947e; +} + +.button.is-link { + background-color: #485fc7; + border-color: transparent; + color: #fff; +} + +.button.is-link:hover, +.button.is-link.is-hovered { + background-color: #3e56c4; + border-color: transparent; + color: #fff; +} + +.button.is-link:focus, +.button.is-link.is-focused { + border-color: transparent; + color: #fff; +} + +.button.is-link:focus:not(:active), +.button.is-link.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.25); +} + +.button.is-link:active, +.button.is-link.is-active { + background-color: #3a51bb; + border-color: transparent; + color: #fff; +} + +.button.is-link[disabled], +fieldset[disabled] .button.is-link { + background-color: #485fc7; + border-color: #485fc7; + box-shadow: none; +} + +.button.is-link.is-inverted { + background-color: #fff; + color: #485fc7; +} + +.button.is-link.is-inverted:hover, +.button.is-link.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-link.is-inverted[disabled], +fieldset[disabled] .button.is-link.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #485fc7; +} + +.button.is-link.is-loading::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-link.is-outlined { + background-color: transparent; + border-color: #485fc7; + color: #485fc7; +} + +.button.is-link.is-outlined:hover, +.button.is-link.is-outlined.is-hovered, +.button.is-link.is-outlined:focus, +.button.is-link.is-outlined.is-focused { + background-color: #485fc7; + border-color: #485fc7; + color: #fff; +} + +.button.is-link.is-outlined.is-loading::after { + border-color: transparent transparent #485fc7 #485fc7 !important; +} + +.button.is-link.is-outlined.is-loading:hover::after, +.button.is-link.is-outlined.is-loading.is-hovered::after, +.button.is-link.is-outlined.is-loading:focus::after, +.button.is-link.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-link.is-outlined[disabled], +fieldset[disabled] .button.is-link.is-outlined { + background-color: transparent; + border-color: #485fc7; + box-shadow: none; + color: #485fc7; +} + +.button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; +} + +.button.is-link.is-inverted.is-outlined:hover, +.button.is-link.is-inverted.is-outlined.is-hovered, +.button.is-link.is-inverted.is-outlined:focus, +.button.is-link.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #485fc7; +} + +.button.is-link.is-inverted.is-outlined.is-loading:hover::after, +.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-link.is-inverted.is-outlined.is-loading:focus::after, +.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #485fc7 #485fc7 !important; +} + +.button.is-link.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-link.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; +} + +.button.is-link.is-light { + background-color: #eff1fa; + color: #3850b7; +} + +.button.is-link.is-light:hover, +.button.is-link.is-light.is-hovered { + background-color: #e6e9f7; + border-color: transparent; + color: #3850b7; +} + +.button.is-link.is-light:active, +.button.is-link.is-light.is-active { + background-color: #dce0f4; + border-color: transparent; + color: #3850b7; +} + +.button.is-info { + background-color: #3e8ed0; + border-color: transparent; + color: #fff; +} + +.button.is-info:hover, +.button.is-info.is-hovered { + background-color: #3488ce; + border-color: transparent; + color: #fff; +} + +.button.is-info:focus, +.button.is-info.is-focused { + border-color: transparent; + color: #fff; +} + +.button.is-info:focus:not(:active), +.button.is-info.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(62, 142, 208, 0.25); +} + +.button.is-info:active, +.button.is-info.is-active { + background-color: #3082c5; + border-color: transparent; + color: #fff; +} + +.button.is-info[disabled], +fieldset[disabled] .button.is-info { + background-color: #3e8ed0; + border-color: #3e8ed0; + box-shadow: none; +} + +.button.is-info.is-inverted { + background-color: #fff; + color: #3e8ed0; +} + +.button.is-info.is-inverted:hover, +.button.is-info.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-info.is-inverted[disabled], +fieldset[disabled] .button.is-info.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #3e8ed0; +} + +.button.is-info.is-loading::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-info.is-outlined { + background-color: transparent; + border-color: #3e8ed0; + color: #3e8ed0; +} + +.button.is-info.is-outlined:hover, +.button.is-info.is-outlined.is-hovered, +.button.is-info.is-outlined:focus, +.button.is-info.is-outlined.is-focused { + background-color: #3e8ed0; + border-color: #3e8ed0; + color: #fff; +} + +.button.is-info.is-outlined.is-loading::after { + border-color: transparent transparent #3e8ed0 #3e8ed0 !important; +} + +.button.is-info.is-outlined.is-loading:hover::after, +.button.is-info.is-outlined.is-loading.is-hovered::after, +.button.is-info.is-outlined.is-loading:focus::after, +.button.is-info.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-info.is-outlined[disabled], +fieldset[disabled] .button.is-info.is-outlined { + background-color: transparent; + border-color: #3e8ed0; + box-shadow: none; + color: #3e8ed0; +} + +.button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; +} + +.button.is-info.is-inverted.is-outlined:hover, +.button.is-info.is-inverted.is-outlined.is-hovered, +.button.is-info.is-inverted.is-outlined:focus, +.button.is-info.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #3e8ed0; +} + +.button.is-info.is-inverted.is-outlined.is-loading:hover::after, +.button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-info.is-inverted.is-outlined.is-loading:focus::after, +.button.is-info.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #3e8ed0 #3e8ed0 !important; +} + +.button.is-info.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-info.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; +} + +.button.is-info.is-light { + background-color: #eff5fb; + color: #296fa8; +} + +.button.is-info.is-light:hover, +.button.is-info.is-light.is-hovered { + background-color: #e4eff9; + border-color: transparent; + color: #296fa8; +} + +.button.is-info.is-light:active, +.button.is-info.is-light.is-active { + background-color: #dae9f6; + border-color: transparent; + color: #296fa8; +} + +.button.is-success { + background-color: #48c78e; + border-color: transparent; + color: #fff; +} + +.button.is-success:hover, +.button.is-success.is-hovered { + background-color: #3ec487; + border-color: transparent; + color: #fff; +} + +.button.is-success:focus, +.button.is-success.is-focused { + border-color: transparent; + color: #fff; +} + +.button.is-success:focus:not(:active), +.button.is-success.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(72, 199, 142, 0.25); +} + +.button.is-success:active, +.button.is-success.is-active { + background-color: #3abb81; + border-color: transparent; + color: #fff; +} + +.button.is-success[disabled], +fieldset[disabled] .button.is-success { + background-color: #48c78e; + border-color: #48c78e; + box-shadow: none; +} + +.button.is-success.is-inverted { + background-color: #fff; + color: #48c78e; +} + +.button.is-success.is-inverted:hover, +.button.is-success.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-success.is-inverted[disabled], +fieldset[disabled] .button.is-success.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #48c78e; +} + +.button.is-success.is-loading::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-success.is-outlined { + background-color: transparent; + border-color: #48c78e; + color: #48c78e; +} + +.button.is-success.is-outlined:hover, +.button.is-success.is-outlined.is-hovered, +.button.is-success.is-outlined:focus, +.button.is-success.is-outlined.is-focused { + background-color: #48c78e; + border-color: #48c78e; + color: #fff; +} + +.button.is-success.is-outlined.is-loading::after { + border-color: transparent transparent #48c78e #48c78e !important; +} + +.button.is-success.is-outlined.is-loading:hover::after, +.button.is-success.is-outlined.is-loading.is-hovered::after, +.button.is-success.is-outlined.is-loading:focus::after, +.button.is-success.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-success.is-outlined[disabled], +fieldset[disabled] .button.is-success.is-outlined { + background-color: transparent; + border-color: #48c78e; + box-shadow: none; + color: #48c78e; +} + +.button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; +} + +.button.is-success.is-inverted.is-outlined:hover, +.button.is-success.is-inverted.is-outlined.is-hovered, +.button.is-success.is-inverted.is-outlined:focus, +.button.is-success.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #48c78e; +} + +.button.is-success.is-inverted.is-outlined.is-loading:hover::after, +.button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-success.is-inverted.is-outlined.is-loading:focus::after, +.button.is-success.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #48c78e #48c78e !important; +} + +.button.is-success.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-success.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; +} + +.button.is-success.is-light { + background-color: #effaf5; + color: #257953; +} + +.button.is-success.is-light:hover, +.button.is-success.is-light.is-hovered { + background-color: #e6f7ef; + border-color: transparent; + color: #257953; +} + +.button.is-success.is-light:active, +.button.is-success.is-light.is-active { + background-color: #dcf4e9; + border-color: transparent; + color: #257953; +} + +.button.is-warning { + background-color: #ffe08a; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning:hover, +.button.is-warning.is-hovered { + background-color: #ffdc7d; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning:focus, +.button.is-warning.is-focused { + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning:focus:not(:active), +.button.is-warning.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25); +} + +.button.is-warning:active, +.button.is-warning.is-active { + background-color: #ffd970; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning[disabled], +fieldset[disabled] .button.is-warning { + background-color: #ffe08a; + border-color: #ffe08a; + box-shadow: none; +} + +.button.is-warning.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + color: #ffe08a; +} + +.button.is-warning.is-inverted:hover, +.button.is-warning.is-inverted.is-hovered { + background-color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning.is-inverted[disabled], +fieldset[disabled] .button.is-warning.is-inverted { + background-color: rgba(0, 0, 0, 0.7); + border-color: transparent; + box-shadow: none; + color: #ffe08a; +} + +.button.is-warning.is-loading::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; +} + +.button.is-warning.is-outlined { + background-color: transparent; + border-color: #ffe08a; + color: #ffe08a; +} + +.button.is-warning.is-outlined:hover, +.button.is-warning.is-outlined.is-hovered, +.button.is-warning.is-outlined:focus, +.button.is-warning.is-outlined.is-focused { + background-color: #ffe08a; + border-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning.is-outlined.is-loading::after { + border-color: transparent transparent #ffe08a #ffe08a !important; +} + +.button.is-warning.is-outlined.is-loading:hover::after, +.button.is-warning.is-outlined.is-loading.is-hovered::after, +.button.is-warning.is-outlined.is-loading:focus::after, +.button.is-warning.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important; +} + +.button.is-warning.is-outlined[disabled], +fieldset[disabled] .button.is-warning.is-outlined { + background-color: transparent; + border-color: #ffe08a; + box-shadow: none; + color: #ffe08a; +} + +.button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning.is-inverted.is-outlined:hover, +.button.is-warning.is-inverted.is-outlined.is-hovered, +.button.is-warning.is-inverted.is-outlined:focus, +.button.is-warning.is-inverted.is-outlined.is-focused { + background-color: rgba(0, 0, 0, 0.7); + color: #ffe08a; +} + +.button.is-warning.is-inverted.is-outlined.is-loading:hover::after, +.button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-warning.is-inverted.is-outlined.is-loading:focus::after, +.button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #ffe08a #ffe08a !important; +} + +.button.is-warning.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-warning.is-inverted.is-outlined { + background-color: transparent; + border-color: rgba(0, 0, 0, 0.7); + box-shadow: none; + color: rgba(0, 0, 0, 0.7); +} + +.button.is-warning.is-light { + background-color: #fffaeb; + color: #946c00; +} + +.button.is-warning.is-light:hover, +.button.is-warning.is-light.is-hovered { + background-color: #fff6de; + border-color: transparent; + color: #946c00; +} + +.button.is-warning.is-light:active, +.button.is-warning.is-light.is-active { + background-color: #fff3d1; + border-color: transparent; + color: #946c00; +} + +.button.is-danger { + background-color: #f14668; + border-color: transparent; + color: #fff; +} + +.button.is-danger:hover, +.button.is-danger.is-hovered { + background-color: #f03a5f; + border-color: transparent; + color: #fff; +} + +.button.is-danger:focus, +.button.is-danger.is-focused { + border-color: transparent; + color: #fff; +} + +.button.is-danger:focus:not(:active), +.button.is-danger.is-focused:not(:active) { + box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); +} + +.button.is-danger:active, +.button.is-danger.is-active { + background-color: #ef2e55; + border-color: transparent; + color: #fff; +} + +.button.is-danger[disabled], +fieldset[disabled] .button.is-danger { + background-color: #f14668; + border-color: #f14668; + box-shadow: none; +} + +.button.is-danger.is-inverted { + background-color: #fff; + color: #f14668; +} + +.button.is-danger.is-inverted:hover, +.button.is-danger.is-inverted.is-hovered { + background-color: #f2f2f2; +} + +.button.is-danger.is-inverted[disabled], +fieldset[disabled] .button.is-danger.is-inverted { + background-color: #fff; + border-color: transparent; + box-shadow: none; + color: #f14668; +} + +.button.is-danger.is-loading::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-danger.is-outlined { + background-color: transparent; + border-color: #f14668; + color: #f14668; +} + +.button.is-danger.is-outlined:hover, +.button.is-danger.is-outlined.is-hovered, +.button.is-danger.is-outlined:focus, +.button.is-danger.is-outlined.is-focused { + background-color: #f14668; + border-color: #f14668; + color: #fff; +} + +.button.is-danger.is-outlined.is-loading::after { + border-color: transparent transparent #f14668 #f14668 !important; +} + +.button.is-danger.is-outlined.is-loading:hover::after, +.button.is-danger.is-outlined.is-loading.is-hovered::after, +.button.is-danger.is-outlined.is-loading:focus::after, +.button.is-danger.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #fff #fff !important; +} + +.button.is-danger.is-outlined[disabled], +fieldset[disabled] .button.is-danger.is-outlined { + background-color: transparent; + border-color: #f14668; + box-shadow: none; + color: #f14668; +} + +.button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + color: #fff; +} + +.button.is-danger.is-inverted.is-outlined:hover, +.button.is-danger.is-inverted.is-outlined.is-hovered, +.button.is-danger.is-inverted.is-outlined:focus, +.button.is-danger.is-inverted.is-outlined.is-focused { + background-color: #fff; + color: #f14668; +} + +.button.is-danger.is-inverted.is-outlined.is-loading:hover::after, +.button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, +.button.is-danger.is-inverted.is-outlined.is-loading:focus::after, +.button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after { + border-color: transparent transparent #f14668 #f14668 !important; +} + +.button.is-danger.is-inverted.is-outlined[disabled], +fieldset[disabled] .button.is-danger.is-inverted.is-outlined { + background-color: transparent; + border-color: #fff; + box-shadow: none; + color: #fff; +} + +.button.is-danger.is-light { + background-color: #feecf0; + color: #cc0f35; +} + +.button.is-danger.is-light:hover, +.button.is-danger.is-light.is-hovered { + background-color: #fde0e6; + border-color: transparent; + color: #cc0f35; +} + +.button.is-danger.is-light:active, +.button.is-danger.is-light.is-active { + background-color: #fcd4dc; + border-color: transparent; + color: #cc0f35; +} + +.button.is-small { + font-size: 0.75rem; +} + +.button.is-small:not(.is-rounded) { + border-radius: 2px; +} + +.button.is-normal { + font-size: 1rem; +} + +.button.is-medium { + font-size: 1.25rem; +} + +.button.is-large { + font-size: 1.5rem; +} + +.button[disabled], +fieldset[disabled] .button { + background-color: white; + border-color: #dbdbdb; + box-shadow: none; + opacity: 0.5; +} + +.button.is-fullwidth { + display: flex; + width: 100%; +} + +.button.is-loading { + color: transparent !important; + pointer-events: none; +} + +.button.is-loading::after { + position: absolute; + left: calc(50% - (1em * 0.5)); + top: calc(50% - (1em * 0.5)); + position: absolute !important; +} + +.button.is-static { + background-color: whitesmoke; + border-color: #dbdbdb; + color: #7a7a7a; + box-shadow: none; + pointer-events: none; +} + +.button.is-rounded { + border-radius: 9999px; + padding-left: calc(1em + 0.25em); + padding-right: calc(1em + 0.25em); +} + +.buttons { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.buttons .button { + margin-bottom: 0.5rem; +} + +.buttons .button:not(:last-child):not(.is-fullwidth) { + margin-right: 0.5rem; +} + +.buttons:last-child { + margin-bottom: -0.5rem; +} + +.buttons:not(:last-child) { + margin-bottom: 1rem; +} + +.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) { + font-size: 0.75rem; +} + +.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large):not(.is-rounded) { + border-radius: 2px; +} + +.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) { + font-size: 1.25rem; +} + +.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) { + font-size: 1.5rem; +} + +.buttons.has-addons .button:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.buttons.has-addons .button:not(:last-child) { + border-bottom-right-radius: 0; + border-top-right-radius: 0; + margin-right: -1px; +} + +.buttons.has-addons .button:last-child { + margin-right: 0; +} + +.buttons.has-addons .button:hover, +.buttons.has-addons .button.is-hovered { + z-index: 2; +} + +.buttons.has-addons .button:focus, +.buttons.has-addons .button.is-focused, +.buttons.has-addons .button:active, +.buttons.has-addons .button.is-active, +.buttons.has-addons .button.is-selected { + z-index: 3; +} + +.buttons.has-addons .button:focus:hover, +.buttons.has-addons .button.is-focused:hover, +.buttons.has-addons .button:active:hover, +.buttons.has-addons .button.is-active:hover, +.buttons.has-addons .button.is-selected:hover { + z-index: 4; +} + +.buttons.has-addons .button.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} + +.buttons.is-centered { + justify-content: center; +} + +.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +.buttons.is-right { + justify-content: flex-end; +} + +.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) { + margin-left: 0.25rem; + margin-right: 0.25rem; +} + +@media screen and (max-width: 768px) { + .button.is-responsive.is-small { + font-size: 0.5625rem; + } + + .button.is-responsive, + .button.is-responsive.is-normal { + font-size: 0.65625rem; + } + + .button.is-responsive.is-medium { + font-size: 0.75rem; + } + + .button.is-responsive.is-large { + font-size: 1rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .button.is-responsive.is-small { + font-size: 0.65625rem; + } + + .button.is-responsive, + .button.is-responsive.is-normal { + font-size: 0.75rem; + } + + .button.is-responsive.is-medium { + font-size: 1rem; + } + + .button.is-responsive.is-large { + font-size: 1.25rem; + } +} + +.container { + flex-grow: 1; + margin: 0 auto; + position: relative; + width: auto; +} + +.container.is-fluid { + max-width: none !important; + padding-left: 32px; + padding-right: 32px; + width: 100%; +} + +@media screen and (min-width: 1024px) { + .container { + max-width: 960px; + } +} + +@media screen and (max-width: 1215px) { + .container.is-widescreen:not(.is-max-desktop) { + max-width: 1152px; + } +} + +@media screen and (max-width: 1407px) { + .container.is-fullhd:not(.is-max-desktop):not(.is-max-widescreen) { + max-width: 1344px; + } +} + +@media screen and (min-width: 1216px) { + .container:not(.is-max-desktop) { + max-width: 1152px; + } +} + +@media screen and (min-width: 1408px) { + .container:not(.is-max-desktop):not(.is-max-widescreen) { + max-width: 1344px; + } +} + +.content li+li { + margin-top: 0.25em; +} + +.content p:not(:last-child), +.content dl:not(:last-child), +.content ol:not(:last-child), +.content ul:not(:last-child), +.content blockquote:not(:last-child), +.content pre:not(:last-child), +.content table:not(:last-child) { + margin-bottom: 1em; +} + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + color: #363636; + font-weight: 600; + line-height: 1.125; +} + +.content h1 { + font-size: 2em; + margin-bottom: 0.5em; +} + +.content h1:not(:first-child) { + margin-top: 1em; +} + +.content h2 { + font-size: 1.75em; + margin-bottom: 0.5714em; +} + +.content h2:not(:first-child) { + margin-top: 1.1428em; +} + +.content h3 { + font-size: 1.5em; + margin-bottom: 0.6666em; +} + +.content h3:not(:first-child) { + margin-top: 1.3333em; +} + +.content h4 { + font-size: 1.25em; + margin-bottom: 0.8em; +} + +.content h5 { + font-size: 1.125em; + margin-bottom: 0.8888em; +} + +.content h6 { + font-size: 1em; + margin-bottom: 1em; +} + +.content blockquote { + background-color: whitesmoke; + border-left: 5px solid #dbdbdb; + padding: 1.25em 1.5em; +} + +.content ol { + list-style-position: outside; + margin-left: 2em; + margin-top: 1em; +} + +.content ol:not([type]) { + list-style-type: decimal; +} + +.content ol:not([type]).is-lower-alpha { + list-style-type: lower-alpha; +} + +.content ol:not([type]).is-lower-roman { + list-style-type: lower-roman; +} + +.content ol:not([type]).is-upper-alpha { + list-style-type: upper-alpha; +} + +.content ol:not([type]).is-upper-roman { + list-style-type: upper-roman; +} + +.content ul { + list-style: disc outside; + margin-left: 2em; + margin-top: 1em; +} + +.content ul ul { + list-style-type: circle; + margin-top: 0.5em; +} + +.content ul ul ul { + list-style-type: square; +} + +.content dd { + margin-left: 2em; +} + +.content figure { + margin-left: 2em; + margin-right: 2em; + text-align: center; +} + +.content figure:not(:first-child) { + margin-top: 2em; +} + +.content figure:not(:last-child) { + margin-bottom: 2em; +} + +.content figure img { + display: inline-block; +} + +.content figure figcaption { + font-style: italic; +} + +.content pre { + -webkit-overflow-scrolling: touch; + overflow-x: auto; + padding: 1.25em 1.5em; + white-space: pre; + word-wrap: normal; +} + +.content sup, +.content sub { + font-size: 75%; +} + +.content table { + width: 100%; +} + +.content table td, +.content table th { + border: 1px solid #dbdbdb; + border-width: 0 0 1px; + padding: 0.5em 0.75em; + vertical-align: top; +} + +.content table th { + color: #363636; +} + +.content table th:not([align]) { + text-align: inherit; +} + +.content table thead td, +.content table thead th { + border-width: 0 0 2px; + color: #363636; +} + +.content table tfoot td, +.content table tfoot th { + border-width: 2px 0 0; + color: #363636; +} + +.content table tbody tr:last-child td, +.content table tbody tr:last-child th { + border-bottom-width: 0; +} + +.content .tabs li+li { + margin-top: 0; +} + +.content.is-small { + font-size: 0.75rem; +} + +.content.is-normal { + font-size: 1rem; +} + +.content.is-medium { + font-size: 1.25rem; +} + +.content.is-large { + font-size: 1.5rem; +} + +.icon { + align-items: center; + display: inline-flex; + justify-content: center; + height: 1.5rem; + width: 1.5rem; +} + +.icon.is-small { + height: 1rem; + width: 1rem; +} + +.icon.is-medium { + height: 2rem; + width: 2rem; +} + +.icon.is-large { + height: 3rem; + width: 3rem; +} + +.icon-text { + align-items: flex-start; + color: inherit; + display: inline-flex; + flex-wrap: wrap; + line-height: 1.5rem; + vertical-align: top; +} + +.icon-text .icon { + flex-grow: 0; + flex-shrink: 0; +} + +.icon-text .icon:not(:last-child) { + margin-right: 0.25em; +} + +.icon-text .icon:not(:first-child) { + margin-left: 0.25em; +} + +div.icon-text { + display: flex; +} + +.image { + display: block; + position: relative; +} + +.image img { + display: block; + height: auto; + width: 100%; +} + +.image img.is-rounded { + border-radius: 9999px; +} + +.image.is-fullwidth { + width: 100%; +} + +.image.is-square img, +.image.is-square .has-ratio, +.image.is-1by1 img, +.image.is-1by1 .has-ratio, +.image.is-5by4 img, +.image.is-5by4 .has-ratio, +.image.is-4by3 img, +.image.is-4by3 .has-ratio, +.image.is-3by2 img, +.image.is-3by2 .has-ratio, +.image.is-5by3 img, +.image.is-5by3 .has-ratio, +.image.is-16by9 img, +.image.is-16by9 .has-ratio, +.image.is-2by1 img, +.image.is-2by1 .has-ratio, +.image.is-3by1 img, +.image.is-3by1 .has-ratio, +.image.is-4by5 img, +.image.is-4by5 .has-ratio, +.image.is-3by4 img, +.image.is-3by4 .has-ratio, +.image.is-2by3 img, +.image.is-2by3 .has-ratio, +.image.is-3by5 img, +.image.is-3by5 .has-ratio, +.image.is-9by16 img, +.image.is-9by16 .has-ratio, +.image.is-1by2 img, +.image.is-1by2 .has-ratio, +.image.is-1by3 img, +.image.is-1by3 .has-ratio { + height: 100%; + width: 100%; +} + +.image.is-square, +.image.is-1by1 { + padding-top: 100%; +} + +.image.is-5by4 { + padding-top: 80%; +} + +.image.is-4by3 { + padding-top: 75%; +} + +.image.is-3by2 { + padding-top: 66.6666%; +} + +.image.is-5by3 { + padding-top: 60%; +} + +.image.is-16by9 { + padding-top: 56.25%; +} + +.image.is-2by1 { + padding-top: 50%; +} + +.image.is-3by1 { + padding-top: 33.3333%; +} + +.image.is-4by5 { + padding-top: 125%; +} + +.image.is-3by4 { + padding-top: 133.3333%; +} + +.image.is-2by3 { + padding-top: 150%; +} + +.image.is-3by5 { + padding-top: 166.6666%; +} + +.image.is-9by16 { + padding-top: 177.7777%; +} + +.image.is-1by2 { + padding-top: 200%; +} + +.image.is-1by3 { + padding-top: 300%; +} + +.image.is-16x16 { + height: 16px; + width: 16px; +} + +.image.is-24x24 { + height: 24px; + width: 24px; +} + +.image.is-32x32 { + height: 32px; + width: 32px; +} + +.image.is-48x48 { + height: 48px; + width: 48px; +} + +.image.is-64x64 { + height: 64px; + width: 64px; +} + +.image.is-96x96 { + height: 96px; + width: 96px; +} + +.image.is-128x128 { + height: 128px; + width: 128px; +} + +.notification { + background-color: whitesmoke; + border-radius: 4px; + position: relative; + padding: 1.25rem 2.5rem 1.25rem 1.5rem; +} + +.notification a:not(.button):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; +} + +.notification strong { + color: currentColor; +} + +.notification code, +.notification pre { + background: white; +} + +.notification pre code { + background: transparent; +} + +.notification>.delete { + right: 0.5rem; + position: absolute; + top: 0.5rem; +} + +.notification .title, +.notification .subtitle, +.notification .content { + color: currentColor; +} + +.notification.is-white { + background-color: white; + color: #0a0a0a; +} + +.notification.is-black { + background-color: #0a0a0a; + color: white; +} + +.notification.is-light { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.notification.is-dark { + background-color: #363636; + color: #fff; +} + +.notification.is-primary { + background-color: #00d1b2; + color: #fff; +} + +.notification.is-primary.is-light { + background-color: #ebfffc; + color: #00947e; +} + +.notification.is-link { + background-color: #485fc7; + color: #fff; +} + +.notification.is-link.is-light { + background-color: #eff1fa; + color: #3850b7; +} + +.notification.is-info { + background-color: #3e8ed0; + color: #fff; +} + +.notification.is-info.is-light { + background-color: #eff5fb; + color: #296fa8; +} + +.notification.is-success { + background-color: #48c78e; + color: #fff; +} + +.notification.is-success.is-light { + background-color: #effaf5; + color: #257953; +} + +.notification.is-warning { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.notification.is-warning.is-light { + background-color: #fffaeb; + color: #946c00; +} + +.notification.is-danger { + background-color: #f14668; + color: #fff; +} + +.notification.is-danger.is-light { + background-color: #feecf0; + color: #cc0f35; +} + +.progress { + -moz-appearance: none; + -webkit-appearance: none; + border: none; + border-radius: 9999px; + display: block; + height: 1rem; + overflow: hidden; + padding: 0; + width: 100%; +} + +.progress::-webkit-progress-bar { + background-color: #ededed; +} + +.progress::-webkit-progress-value { + background-color: #4a4a4a; +} + +.progress::-moz-progress-bar { + background-color: #4a4a4a; +} + +.progress::-ms-fill { + background-color: #4a4a4a; + border: none; +} + +.progress.is-white::-webkit-progress-value { + background-color: white; +} + +.progress.is-white::-moz-progress-bar { + background-color: white; +} + +.progress.is-white::-ms-fill { + background-color: white; +} + +.progress.is-white:indeterminate { + background-image: linear-gradient(to right, white 30%, #ededed 30%); +} + +.progress.is-black::-webkit-progress-value { + background-color: #0a0a0a; +} + +.progress.is-black::-moz-progress-bar { + background-color: #0a0a0a; +} + +.progress.is-black::-ms-fill { + background-color: #0a0a0a; +} + +.progress.is-black:indeterminate { + background-image: linear-gradient(to right, #0a0a0a 30%, #ededed 30%); +} + +.progress.is-light::-webkit-progress-value { + background-color: whitesmoke; +} + +.progress.is-light::-moz-progress-bar { + background-color: whitesmoke; +} + +.progress.is-light::-ms-fill { + background-color: whitesmoke; +} + +.progress.is-light:indeterminate { + background-image: linear-gradient(to right, whitesmoke 30%, #ededed 30%); +} + +.progress.is-dark::-webkit-progress-value { + background-color: #363636; +} + +.progress.is-dark::-moz-progress-bar { + background-color: #363636; +} + +.progress.is-dark::-ms-fill { + background-color: #363636; +} + +.progress.is-dark:indeterminate { + background-image: linear-gradient(to right, #363636 30%, #ededed 30%); +} + +.progress.is-primary::-webkit-progress-value { + background-color: #00d1b2; +} + +.progress.is-primary::-moz-progress-bar { + background-color: #00d1b2; +} + +.progress.is-primary::-ms-fill { + background-color: #00d1b2; +} + +.progress.is-primary:indeterminate { + background-image: linear-gradient(to right, #00d1b2 30%, #ededed 30%); +} + +.progress.is-link::-webkit-progress-value { + background-color: #485fc7; +} + +.progress.is-link::-moz-progress-bar { + background-color: #485fc7; +} + +.progress.is-link::-ms-fill { + background-color: #485fc7; +} + +.progress.is-link:indeterminate { + background-image: linear-gradient(to right, #485fc7 30%, #ededed 30%); +} + +.progress.is-info::-webkit-progress-value { + background-color: #3e8ed0; +} + +.progress.is-info::-moz-progress-bar { + background-color: #3e8ed0; +} + +.progress.is-info::-ms-fill { + background-color: #3e8ed0; +} + +.progress.is-info:indeterminate { + background-image: linear-gradient(to right, #3e8ed0 30%, #ededed 30%); +} + +.progress.is-success::-webkit-progress-value { + background-color: #48c78e; +} + +.progress.is-success::-moz-progress-bar { + background-color: #48c78e; +} + +.progress.is-success::-ms-fill { + background-color: #48c78e; +} + +.progress.is-success:indeterminate { + background-image: linear-gradient(to right, #48c78e 30%, #ededed 30%); +} + +.progress.is-warning::-webkit-progress-value { + background-color: #ffe08a; +} + +.progress.is-warning::-moz-progress-bar { + background-color: #ffe08a; +} + +.progress.is-warning::-ms-fill { + background-color: #ffe08a; +} + +.progress.is-warning:indeterminate { + background-image: linear-gradient(to right, #ffe08a 30%, #ededed 30%); +} + +.progress.is-danger::-webkit-progress-value { + background-color: #f14668; +} + +.progress.is-danger::-moz-progress-bar { + background-color: #f14668; +} + +.progress.is-danger::-ms-fill { + background-color: #f14668; +} + +.progress.is-danger:indeterminate { + background-image: linear-gradient(to right, #f14668 30%, #ededed 30%); +} + +.progress:indeterminate { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + -webkit-animation-iteration-count: infinite; + animation-iteration-count: infinite; + -webkit-animation-name: moveIndeterminate; + animation-name: moveIndeterminate; + -webkit-animation-timing-function: linear; + animation-timing-function: linear; + background-color: #ededed; + background-image: linear-gradient(to right, #4a4a4a 30%, #ededed 30%); + background-position: top left; + background-repeat: no-repeat; + background-size: 150% 150%; +} + +.progress:indeterminate::-webkit-progress-bar { + background-color: transparent; +} + +.progress:indeterminate::-moz-progress-bar { + background-color: transparent; +} + +.progress:indeterminate::-ms-fill { + animation-name: none; +} + +.progress.is-small { + height: 0.75rem; +} + +.progress.is-medium { + height: 1.25rem; +} + +.progress.is-large { + height: 1.5rem; +} + +@-webkit-keyframes moveIndeterminate { + from { + background-position: 200% 0; + } + + to { + background-position: -200% 0; + } +} + +@keyframes moveIndeterminate { + from { + background-position: 200% 0; + } + + to { + background-position: -200% 0; + } +} + +.table { + background-color: white; + color: #363636; +} + +.table td, +.table th { + border: 1px solid #dbdbdb; + border-width: 0 0 1px; + padding: 0.5em 0.75em; + vertical-align: top; +} + +.table td.is-white, +.table th.is-white { + background-color: white; + border-color: white; + color: #0a0a0a; +} + +.table td.is-black, +.table th.is-black { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; +} + +.table td.is-light, +.table th.is-light { + background-color: whitesmoke; + border-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.table td.is-dark, +.table th.is-dark { + background-color: #363636; + border-color: #363636; + color: #fff; +} + +.table td.is-primary, +.table th.is-primary { + background-color: #00d1b2; + border-color: #00d1b2; + color: #fff; +} + +.table td.is-link, +.table th.is-link { + background-color: #485fc7; + border-color: #485fc7; + color: #fff; +} + +.table td.is-info, +.table th.is-info { + background-color: #3e8ed0; + border-color: #3e8ed0; + color: #fff; +} + +.table td.is-success, +.table th.is-success { + background-color: #48c78e; + border-color: #48c78e; + color: #fff; +} + +.table td.is-warning, +.table th.is-warning { + background-color: #ffe08a; + border-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.table td.is-danger, +.table th.is-danger { + background-color: #f14668; + border-color: #f14668; + color: #fff; +} + +.table td.is-narrow, +.table th.is-narrow { + white-space: nowrap; + width: 1%; +} + +.table td.is-selected, +.table th.is-selected { + background-color: #00d1b2; + color: #fff; +} + +.table td.is-selected a, +.table td.is-selected strong, +.table th.is-selected a, +.table th.is-selected strong { + color: currentColor; +} + +.table td.is-vcentered, +.table th.is-vcentered { + vertical-align: middle; +} + +.table th { + color: #363636; +} + +.table th:not([align]) { + text-align: left; +} + +.table tr.is-selected { + background-color: #00d1b2; + color: #fff; +} + +.table tr.is-selected a, +.table tr.is-selected strong { + color: currentColor; +} + +.table tr.is-selected td, +.table tr.is-selected th { + border-color: #fff; + color: currentColor; +} + +.table thead { + background-color: transparent; +} + +.table thead td, +.table thead th { + border-width: 0 0 2px; + color: #363636; +} + +.table tfoot { + background-color: transparent; +} + +.table tfoot td, +.table tfoot th { + border-width: 2px 0 0; + color: #363636; +} + +.table tbody { + background-color: transparent; +} + +.table tbody tr:last-child td, +.table tbody tr:last-child th { + border-bottom-width: 0; +} + +.table.is-bordered td, +.table.is-bordered th { + border-width: 1px; +} + +.table.is-bordered tr:last-child td, +.table.is-bordered tr:last-child th { + border-bottom-width: 1px; +} + +.table.is-fullwidth { + width: 100%; +} + +.table.is-hoverable tbody tr:not(.is-selected):hover { + background-color: #fafafa; +} + +.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover { + background-color: #fafafa; +} + +.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) { + background-color: whitesmoke; +} + +.table.is-narrow td, +.table.is-narrow th { + padding: 0.25em 0.5em; +} + +.table.is-striped tbody tr:not(.is-selected):nth-child(even) { + background-color: #fafafa; +} + +.table-container { + -webkit-overflow-scrolling: touch; + overflow: auto; + overflow-y: hidden; + max-width: 100%; +} + +.tags { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.tags .tag { + margin-bottom: 0.5rem; +} + +.tags .tag:not(:last-child) { + margin-right: 0.5rem; +} + +.tags:last-child { + margin-bottom: -0.5rem; +} + +.tags:not(:last-child) { + margin-bottom: 1rem; +} + +.tags.are-medium .tag:not(.is-normal):not(.is-large) { + font-size: 1rem; +} + +.tags.are-large .tag:not(.is-normal):not(.is-medium) { + font-size: 1.25rem; +} + +.tags.is-centered { + justify-content: center; +} + +.tags.is-centered .tag { + margin-right: 0.25rem; + margin-left: 0.25rem; +} + +.tags.is-right { + justify-content: flex-end; +} + +.tags.is-right .tag:not(:first-child) { + margin-left: 0.5rem; +} + +.tags.is-right .tag:not(:last-child) { + margin-right: 0; +} + +.tags.has-addons .tag { + margin-right: 0; +} + +.tags.has-addons .tag:not(:first-child) { + margin-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.tags.has-addons .tag:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.tag:not(body) { + align-items: center; + background-color: whitesmoke; + border-radius: 4px; + color: #4a4a4a; + display: inline-flex; + font-size: 0.75rem; + height: 2em; + justify-content: center; + line-height: 1.5; + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; +} + +.tag:not(body) .delete { + margin-left: 0.25rem; + margin-right: -0.375rem; +} + +.tag:not(body).is-white { + background-color: white; + color: #0a0a0a; +} + +.tag:not(body).is-black { + background-color: #0a0a0a; + color: white; +} + +.tag:not(body).is-light { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.tag:not(body).is-dark { + background-color: #363636; + color: #fff; +} + +.tag:not(body).is-primary { + background-color: #00d1b2; + color: #fff; +} + +.tag:not(body).is-primary.is-light { + background-color: #ebfffc; + color: #00947e; +} + +.tag:not(body).is-link { + background-color: #485fc7; + color: #fff; +} + +.tag:not(body).is-link.is-light { + background-color: #eff1fa; + color: #3850b7; +} + +.tag:not(body).is-info { + background-color: #3e8ed0; + color: #fff; +} + +.tag:not(body).is-info.is-light { + background-color: #eff5fb; + color: #296fa8; +} + +.tag:not(body).is-success { + background-color: #48c78e; + color: #fff; +} + +.tag:not(body).is-success.is-light { + background-color: #effaf5; + color: #257953; +} + +.tag:not(body).is-warning { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.tag:not(body).is-warning.is-light { + background-color: #fffaeb; + color: #946c00; +} + +.tag:not(body).is-danger { + background-color: #f14668; + color: #fff; +} + +.tag:not(body).is-danger.is-light { + background-color: #feecf0; + color: #cc0f35; +} + +.tag:not(body).is-normal { + font-size: 0.75rem; +} + +.tag:not(body).is-medium { + font-size: 1rem; +} + +.tag:not(body).is-large { + font-size: 1.25rem; +} + +.tag:not(body) .icon:first-child:not(:last-child) { + margin-left: -0.375em; + margin-right: 0.1875em; +} + +.tag:not(body) .icon:last-child:not(:first-child) { + margin-left: 0.1875em; + margin-right: -0.375em; +} + +.tag:not(body) .icon:first-child:last-child { + margin-left: -0.375em; + margin-right: -0.375em; +} + +.tag:not(body).is-delete { + margin-left: 1px; + padding: 0; + position: relative; + width: 2em; +} + +.tag:not(body).is-delete::before, +.tag:not(body).is-delete::after { + background-color: currentColor; + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; +} + +.tag:not(body).is-delete::before { + height: 1px; + width: 50%; +} + +.tag:not(body).is-delete::after { + height: 50%; + width: 1px; +} + +.tag:not(body).is-delete:hover, +.tag:not(body).is-delete:focus { + background-color: #e8e8e8; +} + +.tag:not(body).is-delete:active { + background-color: #dbdbdb; +} + +.tag:not(body).is-rounded { + border-radius: 9999px; +} + +a.tag:hover { + text-decoration: underline; +} + +.title, +.subtitle { + word-break: break-word; +} + +.title em, +.title span, +.subtitle em, +.subtitle span { + font-weight: inherit; +} + +.title sub, +.subtitle sub { + font-size: 0.75em; +} + +.title sup, +.subtitle sup { + font-size: 0.75em; +} + +.title .tag, +.subtitle .tag { + vertical-align: middle; +} + +.title { + color: #363636; + font-size: 2rem; + font-weight: 600; + line-height: 1.125; +} + +.title strong { + color: inherit; + font-weight: inherit; +} + +.title:not(.is-spaced)+.subtitle { + margin-top: -1.25rem; +} + +.title.is-1 { + font-size: 3rem; +} + +.title.is-2 { + font-size: 2.5rem; +} + +.title.is-3 { + font-size: 2rem; +} + +.title.is-4 { + font-size: 1.5rem; +} + +.title.is-5 { + font-size: 1.25rem; +} + +.title.is-6 { + font-size: 1rem; +} + +.title.is-7 { + font-size: 0.75rem; +} + +.subtitle { + color: #4a4a4a; + font-size: 1.25rem; + font-weight: 400; + line-height: 1.25; +} + +.subtitle strong { + color: #363636; + font-weight: 600; +} + +.subtitle:not(.is-spaced)+.title { + margin-top: -1.25rem; +} + +.subtitle.is-1 { + font-size: 3rem; +} + +.subtitle.is-2 { + font-size: 2.5rem; +} + +.subtitle.is-3 { + font-size: 2rem; +} + +.subtitle.is-4 { + font-size: 1.5rem; +} + +.subtitle.is-5 { + font-size: 1.25rem; +} + +.subtitle.is-6 { + font-size: 1rem; +} + +.subtitle.is-7 { + font-size: 0.75rem; +} + +.heading { + display: block; + font-size: 11px; + letter-spacing: 1px; + margin-bottom: 5px; + text-transform: uppercase; +} + +.number { + align-items: center; + background-color: whitesmoke; + border-radius: 9999px; + display: inline-flex; + font-size: 1.25rem; + height: 2em; + justify-content: center; + margin-right: 1.5rem; + min-width: 2.5em; + padding: 0.25rem 0.5rem; + text-align: center; + vertical-align: top; +} + +/* Bulma Form */ +.input, +.textarea, +.select select { + background-color: white; + border-color: #dbdbdb; + border-radius: 4px; + color: #363636; +} + +.input::-moz-placeholder, +.textarea::-moz-placeholder, +.select select::-moz-placeholder { + color: rgba(54, 54, 54, 0.3); +} + +.input::-webkit-input-placeholder, +.textarea::-webkit-input-placeholder, +.select select::-webkit-input-placeholder { + color: rgba(54, 54, 54, 0.3); +} + +.input:-moz-placeholder, +.textarea:-moz-placeholder, +.select select:-moz-placeholder { + color: rgba(54, 54, 54, 0.3); +} + +.input:-ms-input-placeholder, +.textarea:-ms-input-placeholder, +.select select:-ms-input-placeholder { + color: rgba(54, 54, 54, 0.3); +} + +.input:hover, +.textarea:hover, +.select select:hover, +.is-hovered.input, +.is-hovered.textarea, +.select select.is-hovered { + border-color: #b5b5b5; +} + +.input:focus, +.textarea:focus, +.select select:focus, +.is-focused.input, +.is-focused.textarea, +.select select.is-focused, +.input:active, +.textarea:active, +.select select:active, +.is-active.input, +.is-active.textarea, +.select select.is-active { + border-color: #485fc7; + box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.25); +} + +.input[disabled], +.textarea[disabled], +.select select[disabled], +fieldset[disabled] .input, +fieldset[disabled] .textarea, +fieldset[disabled] .select select, +.select fieldset[disabled] select { + background-color: whitesmoke; + border-color: whitesmoke; + box-shadow: none; + color: #7a7a7a; +} + +.input[disabled]::-moz-placeholder, +.textarea[disabled]::-moz-placeholder, +.select select[disabled]::-moz-placeholder, +fieldset[disabled] .input::-moz-placeholder, +fieldset[disabled] .textarea::-moz-placeholder, +fieldset[disabled] .select select::-moz-placeholder, +.select fieldset[disabled] select::-moz-placeholder { + color: rgba(122, 122, 122, 0.3); +} + +.input[disabled]::-webkit-input-placeholder, +.textarea[disabled]::-webkit-input-placeholder, +.select select[disabled]::-webkit-input-placeholder, +fieldset[disabled] .input::-webkit-input-placeholder, +fieldset[disabled] .textarea::-webkit-input-placeholder, +fieldset[disabled] .select select::-webkit-input-placeholder, +.select fieldset[disabled] select::-webkit-input-placeholder { + color: rgba(122, 122, 122, 0.3); +} + +.input[disabled]:-moz-placeholder, +.textarea[disabled]:-moz-placeholder, +.select select[disabled]:-moz-placeholder, +fieldset[disabled] .input:-moz-placeholder, +fieldset[disabled] .textarea:-moz-placeholder, +fieldset[disabled] .select select:-moz-placeholder, +.select fieldset[disabled] select:-moz-placeholder { + color: rgba(122, 122, 122, 0.3); +} + +.input[disabled]:-ms-input-placeholder, +.textarea[disabled]:-ms-input-placeholder, +.select select[disabled]:-ms-input-placeholder, +fieldset[disabled] .input:-ms-input-placeholder, +fieldset[disabled] .textarea:-ms-input-placeholder, +fieldset[disabled] .select select:-ms-input-placeholder, +.select fieldset[disabled] select:-ms-input-placeholder { + color: rgba(122, 122, 122, 0.3); +} + +.input, +.textarea { + box-shadow: inset 0 0.0625em 0.125em rgba(10, 10, 10, 0.05); + max-width: 100%; + width: 100%; +} + +.input[readonly], +.textarea[readonly] { + box-shadow: none; +} + +.is-white.input, +.is-white.textarea { + border-color: white; +} + +.is-white.input:focus, +.is-white.textarea:focus, +.is-white.is-focused.input, +.is-white.is-focused.textarea, +.is-white.input:active, +.is-white.textarea:active, +.is-white.is-active.input, +.is-white.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); +} + +.is-black.input, +.is-black.textarea { + border-color: #0a0a0a; +} + +.is-black.input:focus, +.is-black.textarea:focus, +.is-black.is-focused.input, +.is-black.is-focused.textarea, +.is-black.input:active, +.is-black.textarea:active, +.is-black.is-active.input, +.is-black.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); +} + +.is-light.input, +.is-light.textarea { + border-color: whitesmoke; +} + +.is-light.input:focus, +.is-light.textarea:focus, +.is-light.is-focused.input, +.is-light.is-focused.textarea, +.is-light.input:active, +.is-light.textarea:active, +.is-light.is-active.input, +.is-light.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); +} + +.is-dark.input, +.is-dark.textarea { + border-color: #363636; +} + +.is-dark.input:focus, +.is-dark.textarea:focus, +.is-dark.is-focused.input, +.is-dark.is-focused.textarea, +.is-dark.input:active, +.is-dark.textarea:active, +.is-dark.is-active.input, +.is-dark.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); +} + +.is-primary.input, +.is-primary.textarea { + border-color: #00d1b2; +} + +.is-primary.input:focus, +.is-primary.textarea:focus, +.is-primary.is-focused.input, +.is-primary.is-focused.textarea, +.is-primary.input:active, +.is-primary.textarea:active, +.is-primary.is-active.input, +.is-primary.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); +} + +.is-link.input, +.is-link.textarea { + border-color: #485fc7; +} + +.is-link.input:focus, +.is-link.textarea:focus, +.is-link.is-focused.input, +.is-link.is-focused.textarea, +.is-link.input:active, +.is-link.textarea:active, +.is-link.is-active.input, +.is-link.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.25); +} + +.is-info.input, +.is-info.textarea { + border-color: #3e8ed0; +} + +.is-info.input:focus, +.is-info.textarea:focus, +.is-info.is-focused.input, +.is-info.is-focused.textarea, +.is-info.input:active, +.is-info.textarea:active, +.is-info.is-active.input, +.is-info.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(62, 142, 208, 0.25); +} + +.is-success.input, +.is-success.textarea { + border-color: #48c78e; +} + +.is-success.input:focus, +.is-success.textarea:focus, +.is-success.is-focused.input, +.is-success.is-focused.textarea, +.is-success.input:active, +.is-success.textarea:active, +.is-success.is-active.input, +.is-success.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(72, 199, 142, 0.25); +} + +.is-warning.input, +.is-warning.textarea { + border-color: #ffe08a; +} + +.is-warning.input:focus, +.is-warning.textarea:focus, +.is-warning.is-focused.input, +.is-warning.is-focused.textarea, +.is-warning.input:active, +.is-warning.textarea:active, +.is-warning.is-active.input, +.is-warning.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25); +} + +.is-danger.input, +.is-danger.textarea { + border-color: #f14668; +} + +.is-danger.input:focus, +.is-danger.textarea:focus, +.is-danger.is-focused.input, +.is-danger.is-focused.textarea, +.is-danger.input:active, +.is-danger.textarea:active, +.is-danger.is-active.input, +.is-danger.is-active.textarea { + box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); +} + +.is-small.input, +.is-small.textarea { + border-radius: 2px; + font-size: 0.75rem; +} + +.is-medium.input, +.is-medium.textarea { + font-size: 1.25rem; +} + +.is-large.input, +.is-large.textarea { + font-size: 1.5rem; +} + +.is-fullwidth.input, +.is-fullwidth.textarea { + display: block; + width: 100%; +} + +.is-inline.input, +.is-inline.textarea { + display: inline; + width: auto; +} + +.input.is-rounded { + border-radius: 9999px; + padding-left: calc(calc(0.75em - 1px) + 0.375em); + padding-right: calc(calc(0.75em - 1px) + 0.375em); +} + +.input.is-static { + background-color: transparent; + border-color: transparent; + box-shadow: none; + padding-left: 0; + padding-right: 0; +} + +.textarea { + display: block; + max-width: 100%; + min-width: 100%; + padding: calc(0.75em - 1px); + resize: vertical; +} + +.textarea:not([rows]) { + max-height: 40em; + min-height: 8em; +} + +.textarea[rows] { + height: initial; +} + +.textarea.has-fixed-size { + resize: none; +} + +.checkbox, +.radio { + cursor: pointer; + display: inline-block; + line-height: 1.25; + position: relative; +} + +.checkbox input, +.radio input { + cursor: pointer; +} + +.checkbox:hover, +.radio:hover { + color: #363636; +} + +.checkbox[disabled], +.radio[disabled], +fieldset[disabled] .checkbox, +fieldset[disabled] .radio, +.checkbox input[disabled], +.radio input[disabled] { + color: #7a7a7a; + cursor: not-allowed; +} + +.radio+.radio { + margin-left: 0.5em; +} + +.select { + display: inline-block; + max-width: 100%; + position: relative; + vertical-align: top; +} + +.select:not(.is-multiple) { + height: 2.5em; +} + +.select:not(.is-multiple):not(.is-loading)::after { + border-color: #485fc7; + right: 1.125em; + z-index: 4; +} + +.select.is-rounded select { + border-radius: 9999px; + padding-left: 1em; +} + +.select select { + cursor: pointer; + display: block; + font-size: 1em; + max-width: 100%; + outline: none; +} + +.select select::-ms-expand { + display: none; +} + +.select select[disabled]:hover, +fieldset[disabled] .select select:hover { + border-color: whitesmoke; +} + +.select select:not([multiple]) { + padding-right: 2.5em; +} + +.select select[multiple] { + height: auto; + padding: 0; +} + +.select select[multiple] option { + padding: 0.5em 1em; +} + +.select:not(.is-multiple):not(.is-loading):hover::after { + border-color: #363636; +} + +.select.is-white:not(:hover)::after { + border-color: white; +} + +.select.is-white select { + border-color: white; +} + +.select.is-white select:hover, +.select.is-white select.is-hovered { + border-color: #f2f2f2; +} + +.select.is-white select:focus, +.select.is-white select.is-focused, +.select.is-white select:active, +.select.is-white select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25); +} + +.select.is-black:not(:hover)::after { + border-color: #0a0a0a; +} + +.select.is-black select { + border-color: #0a0a0a; +} + +.select.is-black select:hover, +.select.is-black select.is-hovered { + border-color: black; +} + +.select.is-black select:focus, +.select.is-black select.is-focused, +.select.is-black select:active, +.select.is-black select.is-active { + box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25); +} + +.select.is-light:not(:hover)::after { + border-color: whitesmoke; +} + +.select.is-light select { + border-color: whitesmoke; +} + +.select.is-light select:hover, +.select.is-light select.is-hovered { + border-color: #e8e8e8; +} + +.select.is-light select:focus, +.select.is-light select.is-focused, +.select.is-light select:active, +.select.is-light select.is-active { + box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25); +} + +.select.is-dark:not(:hover)::after { + border-color: #363636; +} + +.select.is-dark select { + border-color: #363636; +} + +.select.is-dark select:hover, +.select.is-dark select.is-hovered { + border-color: #292929; +} + +.select.is-dark select:focus, +.select.is-dark select.is-focused, +.select.is-dark select:active, +.select.is-dark select.is-active { + box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25); +} + +.select.is-primary:not(:hover)::after { + border-color: #00d1b2; +} + +.select.is-primary select { + border-color: #00d1b2; +} + +.select.is-primary select:hover, +.select.is-primary select.is-hovered { + border-color: #00b89c; +} + +.select.is-primary select:focus, +.select.is-primary select.is-focused, +.select.is-primary select:active, +.select.is-primary select.is-active { + box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25); +} + +.select.is-link:not(:hover)::after { + border-color: #485fc7; +} + +.select.is-link select { + border-color: #485fc7; +} + +.select.is-link select:hover, +.select.is-link select.is-hovered { + border-color: #3a51bb; +} + +.select.is-link select:focus, +.select.is-link select.is-focused, +.select.is-link select:active, +.select.is-link select.is-active { + box-shadow: 0 0 0 0.125em rgba(72, 95, 199, 0.25); +} + +.select.is-info:not(:hover)::after { + border-color: #3e8ed0; +} + +.select.is-info select { + border-color: #3e8ed0; +} + +.select.is-info select:hover, +.select.is-info select.is-hovered { + border-color: #3082c5; +} + +.select.is-info select:focus, +.select.is-info select.is-focused, +.select.is-info select:active, +.select.is-info select.is-active { + box-shadow: 0 0 0 0.125em rgba(62, 142, 208, 0.25); +} + +.select.is-success:not(:hover)::after { + border-color: #48c78e; +} + +.select.is-success select { + border-color: #48c78e; +} + +.select.is-success select:hover, +.select.is-success select.is-hovered { + border-color: #3abb81; +} + +.select.is-success select:focus, +.select.is-success select.is-focused, +.select.is-success select:active, +.select.is-success select.is-active { + box-shadow: 0 0 0 0.125em rgba(72, 199, 142, 0.25); +} + +.select.is-warning:not(:hover)::after { + border-color: #ffe08a; +} + +.select.is-warning select { + border-color: #ffe08a; +} + +.select.is-warning select:hover, +.select.is-warning select.is-hovered { + border-color: #ffd970; +} + +.select.is-warning select:focus, +.select.is-warning select.is-focused, +.select.is-warning select:active, +.select.is-warning select.is-active { + box-shadow: 0 0 0 0.125em rgba(255, 224, 138, 0.25); +} + +.select.is-danger:not(:hover)::after { + border-color: #f14668; +} + +.select.is-danger select { + border-color: #f14668; +} + +.select.is-danger select:hover, +.select.is-danger select.is-hovered { + border-color: #ef2e55; +} + +.select.is-danger select:focus, +.select.is-danger select.is-focused, +.select.is-danger select:active, +.select.is-danger select.is-active { + box-shadow: 0 0 0 0.125em rgba(241, 70, 104, 0.25); +} + +.select.is-small { + border-radius: 2px; + font-size: 0.75rem; +} + +.select.is-medium { + font-size: 1.25rem; +} + +.select.is-large { + font-size: 1.5rem; +} + +.select.is-disabled::after { + border-color: #7a7a7a !important; + opacity: 0.5; +} + +.select.is-fullwidth { + width: 100%; +} + +.select.is-fullwidth select { + width: 100%; +} + +.select.is-loading::after { + margin-top: 0; + position: absolute; + right: 0.625em; + top: 0.625em; + transform: none; +} + +.select.is-loading.is-small:after { + font-size: 0.75rem; +} + +.select.is-loading.is-medium:after { + font-size: 1.25rem; +} + +.select.is-loading.is-large:after { + font-size: 1.5rem; +} + +.file { + align-items: stretch; + display: flex; + justify-content: flex-start; + position: relative; +} + +.file.is-white .file-cta { + background-color: white; + border-color: transparent; + color: #0a0a0a; +} + +.file.is-white:hover .file-cta, +.file.is-white.is-hovered .file-cta { + background-color: #f9f9f9; + border-color: transparent; + color: #0a0a0a; +} + +.file.is-white:focus .file-cta, +.file.is-white.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(255, 255, 255, 0.25); + color: #0a0a0a; +} + +.file.is-white:active .file-cta, +.file.is-white.is-active .file-cta { + background-color: #f2f2f2; + border-color: transparent; + color: #0a0a0a; +} + +.file.is-black .file-cta { + background-color: #0a0a0a; + border-color: transparent; + color: white; +} + +.file.is-black:hover .file-cta, +.file.is-black.is-hovered .file-cta { + background-color: #040404; + border-color: transparent; + color: white; +} + +.file.is-black:focus .file-cta, +.file.is-black.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(10, 10, 10, 0.25); + color: white; +} + +.file.is-black:active .file-cta, +.file.is-black.is-active .file-cta { + background-color: black; + border-color: transparent; + color: white; +} + +.file.is-light .file-cta { + background-color: whitesmoke; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.file.is-light:hover .file-cta, +.file.is-light.is-hovered .file-cta { + background-color: #eeeeee; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.file.is-light:focus .file-cta, +.file.is-light.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(245, 245, 245, 0.25); + color: rgba(0, 0, 0, 0.7); +} + +.file.is-light:active .file-cta, +.file.is-light.is-active .file-cta { + background-color: #e8e8e8; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.file.is-dark .file-cta { + background-color: #363636; + border-color: transparent; + color: #fff; +} + +.file.is-dark:hover .file-cta, +.file.is-dark.is-hovered .file-cta { + background-color: #2f2f2f; + border-color: transparent; + color: #fff; +} + +.file.is-dark:focus .file-cta, +.file.is-dark.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(54, 54, 54, 0.25); + color: #fff; +} + +.file.is-dark:active .file-cta, +.file.is-dark.is-active .file-cta { + background-color: #292929; + border-color: transparent; + color: #fff; +} + +.file.is-primary .file-cta { + background-color: #00d1b2; + border-color: transparent; + color: #fff; +} + +.file.is-primary:hover .file-cta, +.file.is-primary.is-hovered .file-cta { + background-color: #00c4a7; + border-color: transparent; + color: #fff; +} + +.file.is-primary:focus .file-cta, +.file.is-primary.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(0, 209, 178, 0.25); + color: #fff; +} + +.file.is-primary:active .file-cta, +.file.is-primary.is-active .file-cta { + background-color: #00b89c; + border-color: transparent; + color: #fff; +} + +.file.is-link .file-cta { + background-color: #485fc7; + border-color: transparent; + color: #fff; +} + +.file.is-link:hover .file-cta, +.file.is-link.is-hovered .file-cta { + background-color: #3e56c4; + border-color: transparent; + color: #fff; +} + +.file.is-link:focus .file-cta, +.file.is-link.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(72, 95, 199, 0.25); + color: #fff; +} + +.file.is-link:active .file-cta, +.file.is-link.is-active .file-cta { + background-color: #3a51bb; + border-color: transparent; + color: #fff; +} + +.file.is-info .file-cta { + background-color: #3e8ed0; + border-color: transparent; + color: #fff; +} + +.file.is-info:hover .file-cta, +.file.is-info.is-hovered .file-cta { + background-color: #3488ce; + border-color: transparent; + color: #fff; +} + +.file.is-info:focus .file-cta, +.file.is-info.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(62, 142, 208, 0.25); + color: #fff; +} + +.file.is-info:active .file-cta, +.file.is-info.is-active .file-cta { + background-color: #3082c5; + border-color: transparent; + color: #fff; +} + +.file.is-success .file-cta { + background-color: #48c78e; + border-color: transparent; + color: #fff; +} + +.file.is-success:hover .file-cta, +.file.is-success.is-hovered .file-cta { + background-color: #3ec487; + border-color: transparent; + color: #fff; +} + +.file.is-success:focus .file-cta, +.file.is-success.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(72, 199, 142, 0.25); + color: #fff; +} + +.file.is-success:active .file-cta, +.file.is-success.is-active .file-cta { + background-color: #3abb81; + border-color: transparent; + color: #fff; +} + +.file.is-warning .file-cta { + background-color: #ffe08a; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.file.is-warning:hover .file-cta, +.file.is-warning.is-hovered .file-cta { + background-color: #ffdc7d; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.file.is-warning:focus .file-cta, +.file.is-warning.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(255, 224, 138, 0.25); + color: rgba(0, 0, 0, 0.7); +} + +.file.is-warning:active .file-cta, +.file.is-warning.is-active .file-cta { + background-color: #ffd970; + border-color: transparent; + color: rgba(0, 0, 0, 0.7); +} + +.file.is-danger .file-cta { + background-color: #f14668; + border-color: transparent; + color: #fff; +} + +.file.is-danger:hover .file-cta, +.file.is-danger.is-hovered .file-cta { + background-color: #f03a5f; + border-color: transparent; + color: #fff; +} + +.file.is-danger:focus .file-cta, +.file.is-danger.is-focused .file-cta { + border-color: transparent; + box-shadow: 0 0 0.5em rgba(241, 70, 104, 0.25); + color: #fff; +} + +.file.is-danger:active .file-cta, +.file.is-danger.is-active .file-cta { + background-color: #ef2e55; + border-color: transparent; + color: #fff; +} + +.file.is-small { + font-size: 0.75rem; +} + +.file.is-normal { + font-size: 1rem; +} + +.file.is-medium { + font-size: 1.25rem; +} + +.file.is-medium .file-icon .fa { + font-size: 21px; +} + +.file.is-large { + font-size: 1.5rem; +} + +.file.is-large .file-icon .fa { + font-size: 28px; +} + +.file.has-name .file-cta { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +.file.has-name .file-name { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.file.has-name.is-empty .file-cta { + border-radius: 4px; +} + +.file.has-name.is-empty .file-name { + display: none; +} + +.file.is-boxed .file-label { + flex-direction: column; +} + +.file.is-boxed .file-cta { + flex-direction: column; + height: auto; + padding: 1em 3em; +} + +.file.is-boxed .file-name { + border-width: 0 1px 1px; +} + +.file.is-boxed .file-icon { + height: 1.5em; + width: 1.5em; +} + +.file.is-boxed .file-icon .fa { + font-size: 21px; +} + +.file.is-boxed.is-small .file-icon .fa { + font-size: 14px; +} + +.file.is-boxed.is-medium .file-icon .fa { + font-size: 28px; +} + +.file.is-boxed.is-large .file-icon .fa { + font-size: 35px; +} + +.file.is-boxed.has-name .file-cta { + border-radius: 4px 4px 0 0; +} + +.file.is-boxed.has-name .file-name { + border-radius: 0 0 4px 4px; + border-width: 0 1px 1px; +} + +.file.is-centered { + justify-content: center; +} + +.file.is-fullwidth .file-label { + width: 100%; +} + +.file.is-fullwidth .file-name { + flex-grow: 1; + max-width: none; +} + +.file.is-right { + justify-content: flex-end; +} + +.file.is-right .file-cta { + border-radius: 0 4px 4px 0; +} + +.file.is-right .file-name { + border-radius: 4px 0 0 4px; + border-width: 1px 0 1px 1px; + order: -1; +} + +.file-label { + align-items: stretch; + display: flex; + cursor: pointer; + justify-content: flex-start; + overflow: hidden; + position: relative; +} + +.file-label:hover .file-cta { + background-color: #eeeeee; + color: #363636; +} + +.file-label:hover .file-name { + border-color: #d5d5d5; +} + +.file-label:active .file-cta { + background-color: #e8e8e8; + color: #363636; +} + +.file-label:active .file-name { + border-color: #cfcfcf; +} + +.file-input { + height: 100%; + left: 0; + opacity: 0; + outline: none; + position: absolute; + top: 0; + width: 100%; +} + +.file-cta, +.file-name { + border-color: #dbdbdb; + border-radius: 4px; + font-size: 1em; + padding-left: 1em; + padding-right: 1em; + white-space: nowrap; +} + +.file-cta { + background-color: whitesmoke; + color: #4a4a4a; +} + +.file-name { + border-color: #dbdbdb; + border-style: solid; + border-width: 1px 1px 1px 0; + display: block; + max-width: 16em; + overflow: hidden; + text-align: inherit; + text-overflow: ellipsis; +} + +.file-icon { + align-items: center; + display: flex; + height: 1em; + justify-content: center; + margin-right: 0.5em; + width: 1em; +} + +.file-icon .fa { + font-size: 14px; +} + +.label { + color: #363636; + display: block; + font-size: 1rem; + font-weight: 700; +} + +.label:not(:last-child) { + margin-bottom: 0.5em; +} + +.label.is-small { + font-size: 0.75rem; +} + +.label.is-medium { + font-size: 1.25rem; +} + +.label.is-large { + font-size: 1.5rem; +} + +.help { + display: block; + font-size: 0.75rem; + margin-top: 0.25rem; +} + +.help.is-white { + color: white; +} + +.help.is-black { + color: #0a0a0a; +} + +.help.is-light { + color: whitesmoke; +} + +.help.is-dark { + color: #363636; +} + +.help.is-primary { + color: #00d1b2; +} + +.help.is-link { + color: #485fc7; +} + +.help.is-info { + color: #3e8ed0; +} + +.help.is-success { + color: #48c78e; +} + +.help.is-warning { + color: #ffe08a; +} + +.help.is-danger { + color: #f14668; +} + +.field:not(:last-child) { + margin-bottom: 0.75rem; +} + +.field.has-addons { + display: flex; + justify-content: flex-start; +} + +.field.has-addons .control:not(:last-child) { + margin-right: -1px; +} + +.field.has-addons .control:not(:first-child):not(:last-child) .button, +.field.has-addons .control:not(:first-child):not(:last-child) .input, +.field.has-addons .control:not(:first-child):not(:last-child) .select select { + border-radius: 0; +} + +.field.has-addons .control:first-child:not(:only-child) .button, +.field.has-addons .control:first-child:not(:only-child) .input, +.field.has-addons .control:first-child:not(:only-child) .select select { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} + +.field.has-addons .control:last-child:not(:only-child) .button, +.field.has-addons .control:last-child:not(:only-child) .input, +.field.has-addons .control:last-child:not(:only-child) .select select { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.field.has-addons .control .button:not([disabled]):hover, +.field.has-addons .control .button:not([disabled]).is-hovered, +.field.has-addons .control .input:not([disabled]):hover, +.field.has-addons .control .input:not([disabled]).is-hovered, +.field.has-addons .control .select select:not([disabled]):hover, +.field.has-addons .control .select select:not([disabled]).is-hovered { + z-index: 2; +} + +.field.has-addons .control .button:not([disabled]):focus, +.field.has-addons .control .button:not([disabled]).is-focused, +.field.has-addons .control .button:not([disabled]):active, +.field.has-addons .control .button:not([disabled]).is-active, +.field.has-addons .control .input:not([disabled]):focus, +.field.has-addons .control .input:not([disabled]).is-focused, +.field.has-addons .control .input:not([disabled]):active, +.field.has-addons .control .input:not([disabled]).is-active, +.field.has-addons .control .select select:not([disabled]):focus, +.field.has-addons .control .select select:not([disabled]).is-focused, +.field.has-addons .control .select select:not([disabled]):active, +.field.has-addons .control .select select:not([disabled]).is-active { + z-index: 3; +} + +.field.has-addons .control .button:not([disabled]):focus:hover, +.field.has-addons .control .button:not([disabled]).is-focused:hover, +.field.has-addons .control .button:not([disabled]):active:hover, +.field.has-addons .control .button:not([disabled]).is-active:hover, +.field.has-addons .control .input:not([disabled]):focus:hover, +.field.has-addons .control .input:not([disabled]).is-focused:hover, +.field.has-addons .control .input:not([disabled]):active:hover, +.field.has-addons .control .input:not([disabled]).is-active:hover, +.field.has-addons .control .select select:not([disabled]):focus:hover, +.field.has-addons .control .select select:not([disabled]).is-focused:hover, +.field.has-addons .control .select select:not([disabled]):active:hover, +.field.has-addons .control .select select:not([disabled]).is-active:hover { + z-index: 4; +} + +.field.has-addons .control.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} + +.field.has-addons.has-addons-centered { + justify-content: center; +} + +.field.has-addons.has-addons-right { + justify-content: flex-end; +} + +.field.has-addons.has-addons-fullwidth .control { + flex-grow: 1; + flex-shrink: 0; +} + +.field.is-grouped { + display: flex; + justify-content: flex-start; +} + +.field.is-grouped>.control { + flex-shrink: 0; +} + +.field.is-grouped>.control:not(:last-child) { + margin-bottom: 0; + margin-right: 0.75rem; +} + +.field.is-grouped>.control.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} + +.field.is-grouped.is-grouped-centered { + justify-content: center; +} + +.field.is-grouped.is-grouped-right { + justify-content: flex-end; +} + +.field.is-grouped.is-grouped-multiline { + flex-wrap: wrap; +} + +.field.is-grouped.is-grouped-multiline>.control:last-child, +.field.is-grouped.is-grouped-multiline>.control:not(:last-child) { + margin-bottom: 0.75rem; +} + +.field.is-grouped.is-grouped-multiline:last-child { + margin-bottom: -0.75rem; +} + +.field.is-grouped.is-grouped-multiline:not(:last-child) { + margin-bottom: 0; +} + +@media screen and (min-width: 769px), +print { + .field.is-horizontal { + display: flex; + } +} + +.field-label .label { + font-size: inherit; +} + +@media screen and (max-width: 768px) { + .field-label { + margin-bottom: 0.5rem; + } +} + +@media screen and (min-width: 769px), +print { + .field-label { + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + margin-right: 1.5rem; + text-align: right; + } + + .field-label.is-small { + font-size: 0.75rem; + padding-top: 0.375em; + } + + .field-label.is-normal { + padding-top: 0.375em; + } + + .field-label.is-medium { + font-size: 1.25rem; + padding-top: 0.375em; + } + + .field-label.is-large { + font-size: 1.5rem; + padding-top: 0.375em; + } +} + +.field-body .field .field { + margin-bottom: 0; +} + +@media screen and (min-width: 769px), +print { + .field-body { + display: flex; + flex-basis: 0; + flex-grow: 5; + flex-shrink: 1; + } + + .field-body .field { + margin-bottom: 0; + } + + .field-body>.field { + flex-shrink: 1; + } + + .field-body>.field:not(.is-narrow) { + flex-grow: 1; + } + + .field-body>.field:not(:last-child) { + margin-right: 0.75rem; + } +} + +.control { + box-sizing: border-box; + clear: both; + font-size: 1rem; + position: relative; + text-align: inherit; +} + +.control.has-icons-left .input:focus~.icon, +.control.has-icons-left .select:focus~.icon, +.control.has-icons-right .input:focus~.icon, +.control.has-icons-right .select:focus~.icon { + color: #4a4a4a; +} + +.control.has-icons-left .input.is-small~.icon, +.control.has-icons-left .select.is-small~.icon, +.control.has-icons-right .input.is-small~.icon, +.control.has-icons-right .select.is-small~.icon { + font-size: 0.75rem; +} + +.control.has-icons-left .input.is-medium~.icon, +.control.has-icons-left .select.is-medium~.icon, +.control.has-icons-right .input.is-medium~.icon, +.control.has-icons-right .select.is-medium~.icon { + font-size: 1.25rem; +} + +.control.has-icons-left .input.is-large~.icon, +.control.has-icons-left .select.is-large~.icon, +.control.has-icons-right .input.is-large~.icon, +.control.has-icons-right .select.is-large~.icon { + font-size: 1.5rem; +} + +.control.has-icons-left .icon, +.control.has-icons-right .icon { + color: #dbdbdb; + height: 2.5em; + pointer-events: none; + position: absolute; + top: 0; + width: 2.5em; + z-index: 4; +} + +.control.has-icons-left .input, +.control.has-icons-left .select select { + padding-left: 2.5em; +} + +.control.has-icons-left .icon.is-left { + left: 0; +} + +.control.has-icons-right .input, +.control.has-icons-right .select select { + padding-right: 2.5em; +} + +.control.has-icons-right .icon.is-right { + right: 0; +} + +.control.is-loading::after { + position: absolute !important; + right: 0.625em; + top: 0.625em; + z-index: 4; +} + +.control.is-loading.is-small:after { + font-size: 0.75rem; +} + +.control.is-loading.is-medium:after { + font-size: 1.25rem; +} + +.control.is-loading.is-large:after { + font-size: 1.5rem; +} + +/* Bulma Components */ +.breadcrumb { + font-size: 1rem; + white-space: nowrap; +} + +.breadcrumb a { + align-items: center; + color: #485fc7; + display: flex; + justify-content: center; + padding: 0 0.75em; +} + +.breadcrumb a:hover { + color: #363636; +} + +.breadcrumb li { + align-items: center; + display: flex; +} + +.breadcrumb li:first-child a { + padding-left: 0; +} + +.breadcrumb li.is-active a { + color: #363636; + cursor: default; + pointer-events: none; +} + +.breadcrumb li+li::before { + color: #b5b5b5; + content: "\0002f"; +} + +.breadcrumb ul, +.breadcrumb ol { + align-items: flex-start; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} + +.breadcrumb .icon:first-child { + margin-right: 0.5em; +} + +.breadcrumb .icon:last-child { + margin-left: 0.5em; +} + +.breadcrumb.is-centered ol, +.breadcrumb.is-centered ul { + justify-content: center; +} + +.breadcrumb.is-right ol, +.breadcrumb.is-right ul { + justify-content: flex-end; +} + +.breadcrumb.is-small { + font-size: 0.75rem; +} + +.breadcrumb.is-medium { + font-size: 1.25rem; +} + +.breadcrumb.is-large { + font-size: 1.5rem; +} + +.breadcrumb.has-arrow-separator li+li::before { + content: "\02192"; +} + +.breadcrumb.has-bullet-separator li+li::before { + content: "\02022"; +} + +.breadcrumb.has-dot-separator li+li::before { + content: "\000b7"; +} + +.breadcrumb.has-succeeds-separator li+li::before { + content: "\0227B"; +} + +.card { + background-color: white; + border-radius: 0.25rem; + box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); + color: #4a4a4a; + max-width: 100%; + position: relative; +} + +.card-header:first-child, +.card-content:first-child, +.card-footer:first-child { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card-header:last-child, +.card-content:last-child, +.card-footer:last-child { + border-bottom-left-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.card-header { + background-color: transparent; + align-items: stretch; + box-shadow: 0 0.125em 0.25em rgba(10, 10, 10, 0.1); + display: flex; +} + +.card-header-title { + align-items: center; + color: #363636; + display: flex; + flex-grow: 1; + font-weight: 700; + padding: 0.75rem 1rem; +} + +.card-header-title.is-centered { + justify-content: center; +} + +.card-header-icon { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + background: none; + border: none; + color: currentColor; + font-family: inherit; + font-size: 1em; + margin: 0; + padding: 0; + align-items: center; + cursor: pointer; + display: flex; + justify-content: center; + padding: 0.75rem 1rem; +} + +.card-image { + display: block; + position: relative; +} + +.card-image:first-child img { + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; +} + +.card-image:last-child img { + border-bottom-left-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; +} + +.card-content { + background-color: transparent; + padding: 1.5rem; +} + +.card-footer { + background-color: transparent; + border-top: 1px solid #ededed; + align-items: stretch; + display: flex; +} + +.card-footer-item { + align-items: center; + display: flex; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 0; + justify-content: center; + padding: 0.75rem; +} + +.card-footer-item:not(:last-child) { + border-right: 1px solid #ededed; +} + +.card .media:not(:last-child) { + margin-bottom: 1.5rem; +} + +.dropdown { + display: inline-flex; + position: relative; + vertical-align: top; +} + +.dropdown.is-active .dropdown-menu, +.dropdown.is-hoverable:hover .dropdown-menu { + display: block; +} + +.dropdown.is-right .dropdown-menu { + left: auto; + right: 0; +} + +.dropdown.is-up .dropdown-menu { + bottom: 100%; + padding-bottom: 4px; + padding-top: initial; + top: auto; +} + +.dropdown-menu { + display: none; + left: 0; + min-width: 12rem; + padding-top: 4px; + position: absolute; + top: 100%; + z-index: 20; +} + +.dropdown-content { + background-color: white; + border-radius: 4px; + box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); + padding-bottom: 0.5rem; + padding-top: 0.5rem; +} + +.dropdown-item { + color: #4a4a4a; + display: block; + font-size: 0.875rem; + line-height: 1.5; + padding: 0.375rem 1rem; + position: relative; +} + +a.dropdown-item, +button.dropdown-item { + padding-right: 3rem; + text-align: inherit; + white-space: nowrap; + width: 100%; +} + +a.dropdown-item:hover, +button.dropdown-item:hover { + background-color: whitesmoke; + color: #0a0a0a; +} + +a.dropdown-item.is-active, +button.dropdown-item.is-active { + background-color: #485fc7; + color: #fff; +} + +.dropdown-divider { + background-color: #ededed; + border: none; + display: block; + height: 1px; + margin: 0.5rem 0; +} + +.level { + align-items: center; + justify-content: space-between; +} + +.level code { + border-radius: 4px; +} + +.level img { + display: inline-block; + vertical-align: top; +} + +.level.is-mobile { + display: flex; +} + +.level.is-mobile .level-left, +.level.is-mobile .level-right { + display: flex; +} + +.level.is-mobile .level-left+.level-right { + margin-top: 0; +} + +.level.is-mobile .level-item:not(:last-child) { + margin-bottom: 0; + margin-right: 0.75rem; +} + +.level.is-mobile .level-item:not(.is-narrow) { + flex-grow: 1; +} + +@media screen and (min-width: 769px), +print { + .level { + display: flex; + } + + .level>.level-item:not(.is-narrow) { + flex-grow: 1; + } +} + +.level-item { + align-items: center; + display: flex; + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; + justify-content: center; +} + +.level-item .title, +.level-item .subtitle { + margin-bottom: 0; +} + +@media screen and (max-width: 768px) { + .level-item:not(:last-child) { + margin-bottom: 0.75rem; + } +} + +.level-left, +.level-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; +} + +.level-left .level-item.is-flexible, +.level-right .level-item.is-flexible { + flex-grow: 1; +} + +@media screen and (min-width: 769px), +print { + + .level-left .level-item:not(:last-child), + .level-right .level-item:not(:last-child) { + margin-right: 0.75rem; + } +} + +.level-left { + align-items: center; + justify-content: flex-start; +} + +@media screen and (max-width: 768px) { + .level-left+.level-right { + margin-top: 1.5rem; + } +} + +@media screen and (min-width: 769px), +print { + .level-left { + display: flex; + } +} + +.level-right { + align-items: center; + justify-content: flex-end; +} + +@media screen and (min-width: 769px), +print { + .level-right { + display: flex; + } +} + +.media { + align-items: flex-start; + display: flex; + text-align: inherit; +} + +.media .content:not(:last-child) { + margin-bottom: 0.75rem; +} + +.media .media { + border-top: 1px solid rgba(219, 219, 219, 0.5); + display: flex; + padding-top: 0.75rem; +} + +.media .media .content:not(:last-child), +.media .media .control:not(:last-child) { + margin-bottom: 0.5rem; +} + +.media .media .media { + padding-top: 0.5rem; +} + +.media .media .media+.media { + margin-top: 0.5rem; +} + +.media+.media { + border-top: 1px solid rgba(219, 219, 219, 0.5); + margin-top: 1rem; + padding-top: 1rem; +} + +.media.is-large+.media { + margin-top: 1.5rem; + padding-top: 1.5rem; +} + +.media-left, +.media-right { + flex-basis: auto; + flex-grow: 0; + flex-shrink: 0; +} + +.media-left { + margin-right: 1rem; +} + +.media-right { + margin-left: 1rem; +} + +.media-content { + flex-basis: auto; + flex-grow: 1; + flex-shrink: 1; + text-align: inherit; +} + +@media screen and (max-width: 768px) { + .media-content { + overflow-x: auto; + } +} + +.menu { + font-size: 1rem; +} + +.menu.is-small { + font-size: 0.75rem; +} + +.menu.is-medium { + font-size: 1.25rem; +} + +.menu.is-large { + font-size: 1.5rem; +} + +.menu-list { + line-height: 1.25; +} + +.menu-list a { + border-radius: 2px; + color: #4a4a4a; + display: block; + padding: 0.5em 0.75em; +} + +.menu-list a:hover { + background-color: whitesmoke; + color: #363636; +} + +.menu-list a.is-active { + background-color: #485fc7; + color: #fff; +} + +.menu-list li ul { + border-left: 1px solid #dbdbdb; + margin: 0.75em; + padding-left: 0.75em; +} + +.menu-label { + color: #7a7a7a; + font-size: 0.75em; + letter-spacing: 0.1em; + text-transform: uppercase; +} + +.menu-label:not(:first-child) { + margin-top: 1em; +} + +.menu-label:not(:last-child) { + margin-bottom: 1em; +} + +.message { + background-color: whitesmoke; + border-radius: 4px; + font-size: 1rem; +} + +.message strong { + color: currentColor; +} + +.message a:not(.button):not(.tag):not(.dropdown-item) { + color: currentColor; + text-decoration: underline; +} + +.message.is-small { + font-size: 0.75rem; +} + +.message.is-medium { + font-size: 1.25rem; +} + +.message.is-large { + font-size: 1.5rem; +} + +.message.is-white { + background-color: white; +} + +.message.is-white .message-header { + background-color: white; + color: #0a0a0a; +} + +.message.is-white .message-body { + border-color: white; +} + +.message.is-black { + background-color: #fafafa; +} + +.message.is-black .message-header { + background-color: #0a0a0a; + color: white; +} + +.message.is-black .message-body { + border-color: #0a0a0a; +} + +.message.is-light { + background-color: #fafafa; +} + +.message.is-light .message-header { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.message.is-light .message-body { + border-color: whitesmoke; +} + +.message.is-dark { + background-color: #fafafa; +} + +.message.is-dark .message-header { + background-color: #363636; + color: #fff; +} + +.message.is-dark .message-body { + border-color: #363636; +} + +.message.is-primary { + background-color: #ebfffc; +} + +.message.is-primary .message-header { + background-color: #00d1b2; + color: #fff; +} + +.message.is-primary .message-body { + border-color: #00d1b2; + color: #00947e; +} + +.message.is-link { + background-color: #eff1fa; +} + +.message.is-link .message-header { + background-color: #485fc7; + color: #fff; +} + +.message.is-link .message-body { + border-color: #485fc7; + color: #3850b7; +} + +.message.is-info { + background-color: #eff5fb; +} + +.message.is-info .message-header { + background-color: #3e8ed0; + color: #fff; +} + +.message.is-info .message-body { + border-color: #3e8ed0; + color: #296fa8; +} + +.message.is-success { + background-color: #effaf5; +} + +.message.is-success .message-header { + background-color: #48c78e; + color: #fff; +} + +.message.is-success .message-body { + border-color: #48c78e; + color: #257953; +} + +.message.is-warning { + background-color: #fffaeb; +} + +.message.is-warning .message-header { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.message.is-warning .message-body { + border-color: #ffe08a; + color: #946c00; +} + +.message.is-danger { + background-color: #feecf0; +} + +.message.is-danger .message-header { + background-color: #f14668; + color: #fff; +} + +.message.is-danger .message-body { + border-color: #f14668; + color: #cc0f35; +} + +.message-header { + align-items: center; + background-color: #4a4a4a; + border-radius: 4px 4px 0 0; + color: #fff; + display: flex; + font-weight: 700; + justify-content: space-between; + line-height: 1.25; + padding: 0.75em 1em; + position: relative; +} + +.message-header .delete { + flex-grow: 0; + flex-shrink: 0; + margin-left: 0.75em; +} + +.message-header+.message-body { + border-width: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.message-body { + border-color: #dbdbdb; + border-radius: 4px; + border-style: solid; + border-width: 0 0 0 4px; + color: #4a4a4a; + padding: 1.25em 1.5em; +} + +.message-body code, +.message-body pre { + background-color: white; +} + +.message-body pre code { + background-color: transparent; +} + +.modal { + align-items: center; + display: none; + flex-direction: column; + justify-content: center; + overflow: hidden; + position: fixed; + z-index: 40; +} + +.modal.is-active { + display: flex; +} + +.modal-background { + background-color: rgba(10, 10, 10, 0.86); +} + +.modal-content, +.modal-card { + margin: 0 20px; + max-height: calc(100vh - 160px); + overflow: auto; + position: relative; + width: 100%; +} + +@media screen and (min-width: 769px) { + + .modal-content, + .modal-card { + margin: 0 auto; + max-height: calc(100vh - 40px); + width: 640px; + } +} + +.modal-close { + background: none; + height: 40px; + position: fixed; + right: 20px; + top: 20px; + width: 40px; +} + +.modal-card { + display: flex; + flex-direction: column; + max-height: calc(100vh - 40px); + overflow: hidden; + -ms-overflow-y: visible; +} + +.modal-card-head, +.modal-card-foot { + align-items: center; + background-color: whitesmoke; + display: flex; + flex-shrink: 0; + justify-content: flex-start; + padding: 20px; + position: relative; +} + +.modal-card-head { + border-bottom: 1px solid #dbdbdb; + border-top-left-radius: 6px; + border-top-right-radius: 6px; +} + +.modal-card-title { + color: #363636; + flex-grow: 1; + flex-shrink: 0; + font-size: 1.5rem; + line-height: 1; +} + +.modal-card-foot { + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 1px solid #dbdbdb; +} + +.modal-card-foot .button:not(:last-child) { + margin-right: 0.5em; +} + +.modal-card-body { + -webkit-overflow-scrolling: touch; + background-color: white; + flex-grow: 1; + flex-shrink: 1; + overflow: auto; + padding: 20px; +} + +.navbar { + background-color: white; + min-height: 3.25rem; + position: relative; + z-index: 30; +} + +.navbar.is-white { + background-color: white; + color: #0a0a0a; +} + +.navbar.is-white .navbar-brand>.navbar-item, +.navbar.is-white .navbar-brand .navbar-link { + color: #0a0a0a; +} + +.navbar.is-white .navbar-brand>a.navbar-item:focus, +.navbar.is-white .navbar-brand>a.navbar-item:hover, +.navbar.is-white .navbar-brand>a.navbar-item.is-active, +.navbar.is-white .navbar-brand .navbar-link:focus, +.navbar.is-white .navbar-brand .navbar-link:hover, +.navbar.is-white .navbar-brand .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; +} + +.navbar.is-white .navbar-brand .navbar-link::after { + border-color: #0a0a0a; +} + +.navbar.is-white .navbar-burger { + color: #0a0a0a; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-white .navbar-start>.navbar-item, + .navbar.is-white .navbar-start .navbar-link, + .navbar.is-white .navbar-end>.navbar-item, + .navbar.is-white .navbar-end .navbar-link { + color: #0a0a0a; + } + + .navbar.is-white .navbar-start>a.navbar-item:focus, + .navbar.is-white .navbar-start>a.navbar-item:hover, + .navbar.is-white .navbar-start>a.navbar-item.is-active, + .navbar.is-white .navbar-start .navbar-link:focus, + .navbar.is-white .navbar-start .navbar-link:hover, + .navbar.is-white .navbar-start .navbar-link.is-active, + .navbar.is-white .navbar-end>a.navbar-item:focus, + .navbar.is-white .navbar-end>a.navbar-item:hover, + .navbar.is-white .navbar-end>a.navbar-item.is-active, + .navbar.is-white .navbar-end .navbar-link:focus, + .navbar.is-white .navbar-end .navbar-link:hover, + .navbar.is-white .navbar-end .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .navbar.is-white .navbar-start .navbar-link::after, + .navbar.is-white .navbar-end .navbar-link::after { + border-color: #0a0a0a; + } + + .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-white .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #f2f2f2; + color: #0a0a0a; + } + + .navbar.is-white .navbar-dropdown a.navbar-item.is-active { + background-color: white; + color: #0a0a0a; + } +} + +.navbar.is-black { + background-color: #0a0a0a; + color: white; +} + +.navbar.is-black .navbar-brand>.navbar-item, +.navbar.is-black .navbar-brand .navbar-link { + color: white; +} + +.navbar.is-black .navbar-brand>a.navbar-item:focus, +.navbar.is-black .navbar-brand>a.navbar-item:hover, +.navbar.is-black .navbar-brand>a.navbar-item.is-active, +.navbar.is-black .navbar-brand .navbar-link:focus, +.navbar.is-black .navbar-brand .navbar-link:hover, +.navbar.is-black .navbar-brand .navbar-link.is-active { + background-color: black; + color: white; +} + +.navbar.is-black .navbar-brand .navbar-link::after { + border-color: white; +} + +.navbar.is-black .navbar-burger { + color: white; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-black .navbar-start>.navbar-item, + .navbar.is-black .navbar-start .navbar-link, + .navbar.is-black .navbar-end>.navbar-item, + .navbar.is-black .navbar-end .navbar-link { + color: white; + } + + .navbar.is-black .navbar-start>a.navbar-item:focus, + .navbar.is-black .navbar-start>a.navbar-item:hover, + .navbar.is-black .navbar-start>a.navbar-item.is-active, + .navbar.is-black .navbar-start .navbar-link:focus, + .navbar.is-black .navbar-start .navbar-link:hover, + .navbar.is-black .navbar-start .navbar-link.is-active, + .navbar.is-black .navbar-end>a.navbar-item:focus, + .navbar.is-black .navbar-end>a.navbar-item:hover, + .navbar.is-black .navbar-end>a.navbar-item.is-active, + .navbar.is-black .navbar-end .navbar-link:focus, + .navbar.is-black .navbar-end .navbar-link:hover, + .navbar.is-black .navbar-end .navbar-link.is-active { + background-color: black; + color: white; + } + + .navbar.is-black .navbar-start .navbar-link::after, + .navbar.is-black .navbar-end .navbar-link::after { + border-color: white; + } + + .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-black .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link { + background-color: black; + color: white; + } + + .navbar.is-black .navbar-dropdown a.navbar-item.is-active { + background-color: #0a0a0a; + color: white; + } +} + +.navbar.is-light { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-light .navbar-brand>.navbar-item, +.navbar.is-light .navbar-brand .navbar-link { + color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-light .navbar-brand>a.navbar-item:focus, +.navbar.is-light .navbar-brand>a.navbar-item:hover, +.navbar.is-light .navbar-brand>a.navbar-item.is-active, +.navbar.is-light .navbar-brand .navbar-link:focus, +.navbar.is-light .navbar-brand .navbar-link:hover, +.navbar.is-light .navbar-brand .navbar-link.is-active { + background-color: #e8e8e8; + color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-light .navbar-brand .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-light .navbar-burger { + color: rgba(0, 0, 0, 0.7); +} + +@media screen and (min-width: 1024px) { + + .navbar.is-light .navbar-start>.navbar-item, + .navbar.is-light .navbar-start .navbar-link, + .navbar.is-light .navbar-end>.navbar-item, + .navbar.is-light .navbar-end .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-light .navbar-start>a.navbar-item:focus, + .navbar.is-light .navbar-start>a.navbar-item:hover, + .navbar.is-light .navbar-start>a.navbar-item.is-active, + .navbar.is-light .navbar-start .navbar-link:focus, + .navbar.is-light .navbar-start .navbar-link:hover, + .navbar.is-light .navbar-start .navbar-link.is-active, + .navbar.is-light .navbar-end>a.navbar-item:focus, + .navbar.is-light .navbar-end>a.navbar-item:hover, + .navbar.is-light .navbar-end>a.navbar-item.is-active, + .navbar.is-light .navbar-end .navbar-link:focus, + .navbar.is-light .navbar-end .navbar-link:hover, + .navbar.is-light .navbar-end .navbar-link.is-active { + background-color: #e8e8e8; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-light .navbar-start .navbar-link::after, + .navbar.is-light .navbar-end .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-light .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #e8e8e8; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-light .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); + } +} + +.navbar.is-dark { + background-color: #363636; + color: #fff; +} + +.navbar.is-dark .navbar-brand>.navbar-item, +.navbar.is-dark .navbar-brand .navbar-link { + color: #fff; +} + +.navbar.is-dark .navbar-brand>a.navbar-item:focus, +.navbar.is-dark .navbar-brand>a.navbar-item:hover, +.navbar.is-dark .navbar-brand>a.navbar-item.is-active, +.navbar.is-dark .navbar-brand .navbar-link:focus, +.navbar.is-dark .navbar-brand .navbar-link:hover, +.navbar.is-dark .navbar-brand .navbar-link.is-active { + background-color: #292929; + color: #fff; +} + +.navbar.is-dark .navbar-brand .navbar-link::after { + border-color: #fff; +} + +.navbar.is-dark .navbar-burger { + color: #fff; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-dark .navbar-start>.navbar-item, + .navbar.is-dark .navbar-start .navbar-link, + .navbar.is-dark .navbar-end>.navbar-item, + .navbar.is-dark .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-dark .navbar-start>a.navbar-item:focus, + .navbar.is-dark .navbar-start>a.navbar-item:hover, + .navbar.is-dark .navbar-start>a.navbar-item.is-active, + .navbar.is-dark .navbar-start .navbar-link:focus, + .navbar.is-dark .navbar-start .navbar-link:hover, + .navbar.is-dark .navbar-start .navbar-link.is-active, + .navbar.is-dark .navbar-end>a.navbar-item:focus, + .navbar.is-dark .navbar-end>a.navbar-item:hover, + .navbar.is-dark .navbar-end>a.navbar-item.is-active, + .navbar.is-dark .navbar-end .navbar-link:focus, + .navbar.is-dark .navbar-end .navbar-link:hover, + .navbar.is-dark .navbar-end .navbar-link.is-active { + background-color: #292929; + color: #fff; + } + + .navbar.is-dark .navbar-start .navbar-link::after, + .navbar.is-dark .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #292929; + color: #fff; + } + + .navbar.is-dark .navbar-dropdown a.navbar-item.is-active { + background-color: #363636; + color: #fff; + } +} + +.navbar.is-primary { + background-color: #00d1b2; + color: #fff; +} + +.navbar.is-primary .navbar-brand>.navbar-item, +.navbar.is-primary .navbar-brand .navbar-link { + color: #fff; +} + +.navbar.is-primary .navbar-brand>a.navbar-item:focus, +.navbar.is-primary .navbar-brand>a.navbar-item:hover, +.navbar.is-primary .navbar-brand>a.navbar-item.is-active, +.navbar.is-primary .navbar-brand .navbar-link:focus, +.navbar.is-primary .navbar-brand .navbar-link:hover, +.navbar.is-primary .navbar-brand .navbar-link.is-active { + background-color: #00b89c; + color: #fff; +} + +.navbar.is-primary .navbar-brand .navbar-link::after { + border-color: #fff; +} + +.navbar.is-primary .navbar-burger { + color: #fff; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-primary .navbar-start>.navbar-item, + .navbar.is-primary .navbar-start .navbar-link, + .navbar.is-primary .navbar-end>.navbar-item, + .navbar.is-primary .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-primary .navbar-start>a.navbar-item:focus, + .navbar.is-primary .navbar-start>a.navbar-item:hover, + .navbar.is-primary .navbar-start>a.navbar-item.is-active, + .navbar.is-primary .navbar-start .navbar-link:focus, + .navbar.is-primary .navbar-start .navbar-link:hover, + .navbar.is-primary .navbar-start .navbar-link.is-active, + .navbar.is-primary .navbar-end>a.navbar-item:focus, + .navbar.is-primary .navbar-end>a.navbar-item:hover, + .navbar.is-primary .navbar-end>a.navbar-item.is-active, + .navbar.is-primary .navbar-end .navbar-link:focus, + .navbar.is-primary .navbar-end .navbar-link:hover, + .navbar.is-primary .navbar-end .navbar-link.is-active { + background-color: #00b89c; + color: #fff; + } + + .navbar.is-primary .navbar-start .navbar-link::after, + .navbar.is-primary .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #00b89c; + color: #fff; + } + + .navbar.is-primary .navbar-dropdown a.navbar-item.is-active { + background-color: #00d1b2; + color: #fff; + } +} + +.navbar.is-link { + background-color: #485fc7; + color: #fff; +} + +.navbar.is-link .navbar-brand>.navbar-item, +.navbar.is-link .navbar-brand .navbar-link { + color: #fff; +} + +.navbar.is-link .navbar-brand>a.navbar-item:focus, +.navbar.is-link .navbar-brand>a.navbar-item:hover, +.navbar.is-link .navbar-brand>a.navbar-item.is-active, +.navbar.is-link .navbar-brand .navbar-link:focus, +.navbar.is-link .navbar-brand .navbar-link:hover, +.navbar.is-link .navbar-brand .navbar-link.is-active { + background-color: #3a51bb; + color: #fff; +} + +.navbar.is-link .navbar-brand .navbar-link::after { + border-color: #fff; +} + +.navbar.is-link .navbar-burger { + color: #fff; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-link .navbar-start>.navbar-item, + .navbar.is-link .navbar-start .navbar-link, + .navbar.is-link .navbar-end>.navbar-item, + .navbar.is-link .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-link .navbar-start>a.navbar-item:focus, + .navbar.is-link .navbar-start>a.navbar-item:hover, + .navbar.is-link .navbar-start>a.navbar-item.is-active, + .navbar.is-link .navbar-start .navbar-link:focus, + .navbar.is-link .navbar-start .navbar-link:hover, + .navbar.is-link .navbar-start .navbar-link.is-active, + .navbar.is-link .navbar-end>a.navbar-item:focus, + .navbar.is-link .navbar-end>a.navbar-item:hover, + .navbar.is-link .navbar-end>a.navbar-item.is-active, + .navbar.is-link .navbar-end .navbar-link:focus, + .navbar.is-link .navbar-end .navbar-link:hover, + .navbar.is-link .navbar-end .navbar-link.is-active { + background-color: #3a51bb; + color: #fff; + } + + .navbar.is-link .navbar-start .navbar-link::after, + .navbar.is-link .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-link .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #3a51bb; + color: #fff; + } + + .navbar.is-link .navbar-dropdown a.navbar-item.is-active { + background-color: #485fc7; + color: #fff; + } +} + +.navbar.is-info { + background-color: #3e8ed0; + color: #fff; +} + +.navbar.is-info .navbar-brand>.navbar-item, +.navbar.is-info .navbar-brand .navbar-link { + color: #fff; +} + +.navbar.is-info .navbar-brand>a.navbar-item:focus, +.navbar.is-info .navbar-brand>a.navbar-item:hover, +.navbar.is-info .navbar-brand>a.navbar-item.is-active, +.navbar.is-info .navbar-brand .navbar-link:focus, +.navbar.is-info .navbar-brand .navbar-link:hover, +.navbar.is-info .navbar-brand .navbar-link.is-active { + background-color: #3082c5; + color: #fff; +} + +.navbar.is-info .navbar-brand .navbar-link::after { + border-color: #fff; +} + +.navbar.is-info .navbar-burger { + color: #fff; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-info .navbar-start>.navbar-item, + .navbar.is-info .navbar-start .navbar-link, + .navbar.is-info .navbar-end>.navbar-item, + .navbar.is-info .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-info .navbar-start>a.navbar-item:focus, + .navbar.is-info .navbar-start>a.navbar-item:hover, + .navbar.is-info .navbar-start>a.navbar-item.is-active, + .navbar.is-info .navbar-start .navbar-link:focus, + .navbar.is-info .navbar-start .navbar-link:hover, + .navbar.is-info .navbar-start .navbar-link.is-active, + .navbar.is-info .navbar-end>a.navbar-item:focus, + .navbar.is-info .navbar-end>a.navbar-item:hover, + .navbar.is-info .navbar-end>a.navbar-item.is-active, + .navbar.is-info .navbar-end .navbar-link:focus, + .navbar.is-info .navbar-end .navbar-link:hover, + .navbar.is-info .navbar-end .navbar-link.is-active { + background-color: #3082c5; + color: #fff; + } + + .navbar.is-info .navbar-start .navbar-link::after, + .navbar.is-info .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-info .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #3082c5; + color: #fff; + } + + .navbar.is-info .navbar-dropdown a.navbar-item.is-active { + background-color: #3e8ed0; + color: #fff; + } +} + +.navbar.is-success { + background-color: #48c78e; + color: #fff; +} + +.navbar.is-success .navbar-brand>.navbar-item, +.navbar.is-success .navbar-brand .navbar-link { + color: #fff; +} + +.navbar.is-success .navbar-brand>a.navbar-item:focus, +.navbar.is-success .navbar-brand>a.navbar-item:hover, +.navbar.is-success .navbar-brand>a.navbar-item.is-active, +.navbar.is-success .navbar-brand .navbar-link:focus, +.navbar.is-success .navbar-brand .navbar-link:hover, +.navbar.is-success .navbar-brand .navbar-link.is-active { + background-color: #3abb81; + color: #fff; +} + +.navbar.is-success .navbar-brand .navbar-link::after { + border-color: #fff; +} + +.navbar.is-success .navbar-burger { + color: #fff; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-success .navbar-start>.navbar-item, + .navbar.is-success .navbar-start .navbar-link, + .navbar.is-success .navbar-end>.navbar-item, + .navbar.is-success .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-success .navbar-start>a.navbar-item:focus, + .navbar.is-success .navbar-start>a.navbar-item:hover, + .navbar.is-success .navbar-start>a.navbar-item.is-active, + .navbar.is-success .navbar-start .navbar-link:focus, + .navbar.is-success .navbar-start .navbar-link:hover, + .navbar.is-success .navbar-start .navbar-link.is-active, + .navbar.is-success .navbar-end>a.navbar-item:focus, + .navbar.is-success .navbar-end>a.navbar-item:hover, + .navbar.is-success .navbar-end>a.navbar-item.is-active, + .navbar.is-success .navbar-end .navbar-link:focus, + .navbar.is-success .navbar-end .navbar-link:hover, + .navbar.is-success .navbar-end .navbar-link.is-active { + background-color: #3abb81; + color: #fff; + } + + .navbar.is-success .navbar-start .navbar-link::after, + .navbar.is-success .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-success .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #3abb81; + color: #fff; + } + + .navbar.is-success .navbar-dropdown a.navbar-item.is-active { + background-color: #48c78e; + color: #fff; + } +} + +.navbar.is-warning { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-warning .navbar-brand>.navbar-item, +.navbar.is-warning .navbar-brand .navbar-link { + color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-warning .navbar-brand>a.navbar-item:focus, +.navbar.is-warning .navbar-brand>a.navbar-item:hover, +.navbar.is-warning .navbar-brand>a.navbar-item.is-active, +.navbar.is-warning .navbar-brand .navbar-link:focus, +.navbar.is-warning .navbar-brand .navbar-link:hover, +.navbar.is-warning .navbar-brand .navbar-link.is-active { + background-color: #ffd970; + color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-warning .navbar-brand .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); +} + +.navbar.is-warning .navbar-burger { + color: rgba(0, 0, 0, 0.7); +} + +@media screen and (min-width: 1024px) { + + .navbar.is-warning .navbar-start>.navbar-item, + .navbar.is-warning .navbar-start .navbar-link, + .navbar.is-warning .navbar-end>.navbar-item, + .navbar.is-warning .navbar-end .navbar-link { + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-start>a.navbar-item:focus, + .navbar.is-warning .navbar-start>a.navbar-item:hover, + .navbar.is-warning .navbar-start>a.navbar-item.is-active, + .navbar.is-warning .navbar-start .navbar-link:focus, + .navbar.is-warning .navbar-start .navbar-link:hover, + .navbar.is-warning .navbar-start .navbar-link.is-active, + .navbar.is-warning .navbar-end>a.navbar-item:focus, + .navbar.is-warning .navbar-end>a.navbar-item:hover, + .navbar.is-warning .navbar-end>a.navbar-item.is-active, + .navbar.is-warning .navbar-end .navbar-link:focus, + .navbar.is-warning .navbar-end .navbar-link:hover, + .navbar.is-warning .navbar-end .navbar-link.is-active { + background-color: #ffd970; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-start .navbar-link::after, + .navbar.is-warning .navbar-end .navbar-link::after { + border-color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #ffd970; + color: rgba(0, 0, 0, 0.7); + } + + .navbar.is-warning .navbar-dropdown a.navbar-item.is-active { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); + } +} + +.navbar.is-danger { + background-color: #f14668; + color: #fff; +} + +.navbar.is-danger .navbar-brand>.navbar-item, +.navbar.is-danger .navbar-brand .navbar-link { + color: #fff; +} + +.navbar.is-danger .navbar-brand>a.navbar-item:focus, +.navbar.is-danger .navbar-brand>a.navbar-item:hover, +.navbar.is-danger .navbar-brand>a.navbar-item.is-active, +.navbar.is-danger .navbar-brand .navbar-link:focus, +.navbar.is-danger .navbar-brand .navbar-link:hover, +.navbar.is-danger .navbar-brand .navbar-link.is-active { + background-color: #ef2e55; + color: #fff; +} + +.navbar.is-danger .navbar-brand .navbar-link::after { + border-color: #fff; +} + +.navbar.is-danger .navbar-burger { + color: #fff; +} + +@media screen and (min-width: 1024px) { + + .navbar.is-danger .navbar-start>.navbar-item, + .navbar.is-danger .navbar-start .navbar-link, + .navbar.is-danger .navbar-end>.navbar-item, + .navbar.is-danger .navbar-end .navbar-link { + color: #fff; + } + + .navbar.is-danger .navbar-start>a.navbar-item:focus, + .navbar.is-danger .navbar-start>a.navbar-item:hover, + .navbar.is-danger .navbar-start>a.navbar-item.is-active, + .navbar.is-danger .navbar-start .navbar-link:focus, + .navbar.is-danger .navbar-start .navbar-link:hover, + .navbar.is-danger .navbar-start .navbar-link.is-active, + .navbar.is-danger .navbar-end>a.navbar-item:focus, + .navbar.is-danger .navbar-end>a.navbar-item:hover, + .navbar.is-danger .navbar-end>a.navbar-item.is-active, + .navbar.is-danger .navbar-end .navbar-link:focus, + .navbar.is-danger .navbar-end .navbar-link:hover, + .navbar.is-danger .navbar-end .navbar-link.is-active { + background-color: #ef2e55; + color: #fff; + } + + .navbar.is-danger .navbar-start .navbar-link::after, + .navbar.is-danger .navbar-end .navbar-link::after { + border-color: #fff; + } + + .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link, + .navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link, + .navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #ef2e55; + color: #fff; + } + + .navbar.is-danger .navbar-dropdown a.navbar-item.is-active { + background-color: #f14668; + color: #fff; + } +} + +.navbar>.container { + align-items: stretch; + display: flex; + min-height: 3.25rem; + width: 100%; +} + +.navbar.has-shadow { + box-shadow: 0 2px 0 0 whitesmoke; +} + +.navbar.is-fixed-bottom, +.navbar.is-fixed-top { + left: 0; + position: fixed; + right: 0; + z-index: 30; +} + +.navbar.is-fixed-bottom { + bottom: 0; +} + +.navbar.is-fixed-bottom.has-shadow { + box-shadow: 0 -2px 0 0 whitesmoke; +} + +.navbar.is-fixed-top { + top: 0; +} + +html.has-navbar-fixed-top, +body.has-navbar-fixed-top { + padding-top: 3.25rem; +} + +html.has-navbar-fixed-bottom, +body.has-navbar-fixed-bottom { + padding-bottom: 3.25rem; +} + +.navbar-brand, +.navbar-tabs { + align-items: stretch; + display: flex; + flex-shrink: 0; + min-height: 3.25rem; +} + +.navbar-brand a.navbar-item:focus, +.navbar-brand a.navbar-item:hover { + background-color: transparent; +} + +.navbar-tabs { + -webkit-overflow-scrolling: touch; + max-width: 100vw; + overflow-x: auto; + overflow-y: hidden; +} + +.navbar-burger { + color: #4a4a4a; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + background: none; + border: none; + cursor: pointer; + display: block; + height: 3.25rem; + position: relative; + width: 3.25rem; + margin-left: auto; +} + +.navbar-burger span { + background-color: currentColor; + display: block; + height: 1px; + left: calc(50% - 8px); + position: absolute; + transform-origin: center; + transition-duration: 86ms; + transition-property: background-color, opacity, transform; + transition-timing-function: ease-out; + width: 16px; +} + +.navbar-burger span:nth-child(1) { + top: calc(50% - 6px); +} + +.navbar-burger span:nth-child(2) { + top: calc(50% - 1px); +} + +.navbar-burger span:nth-child(3) { + top: calc(50% + 4px); +} + +.navbar-burger:hover { + background-color: rgba(0, 0, 0, 0.05); +} + +.navbar-burger.is-active span:nth-child(1) { + transform: translateY(5px) rotate(45deg); +} + +.navbar-burger.is-active span:nth-child(2) { + opacity: 0; +} + +.navbar-burger.is-active span:nth-child(3) { + transform: translateY(-5px) rotate(-45deg); +} + +.navbar-menu { + display: none; +} + +.navbar-item, +.navbar-link { + color: #4a4a4a; + display: block; + line-height: 1.5; + padding: 0.5rem 0.75rem; + position: relative; +} + +.navbar-item .icon:only-child, +.navbar-link .icon:only-child { + margin-left: -0.25rem; + margin-right: -0.25rem; +} + +a.navbar-item, +.navbar-link { + cursor: pointer; +} + +a.navbar-item:focus, +a.navbar-item:focus-within, +a.navbar-item:hover, +a.navbar-item.is-active, +.navbar-link:focus, +.navbar-link:focus-within, +.navbar-link:hover, +.navbar-link.is-active { + background-color: #fafafa; + color: #485fc7; +} + +.navbar-item { + flex-grow: 0; + flex-shrink: 0; +} + +.navbar-item img { + max-height: 1.75rem; +} + +.navbar-item.has-dropdown { + padding: 0; +} + +.navbar-item.is-expanded { + flex-grow: 1; + flex-shrink: 1; +} + +.navbar-item.is-tab { + border-bottom: 1px solid transparent; + min-height: 3.25rem; + padding-bottom: calc(0.5rem - 1px); +} + +.navbar-item.is-tab:focus, +.navbar-item.is-tab:hover { + background-color: transparent; + border-bottom-color: #485fc7; +} + +.navbar-item.is-tab.is-active { + background-color: transparent; + border-bottom-color: #485fc7; + border-bottom-style: solid; + border-bottom-width: 3px; + color: #485fc7; + padding-bottom: calc(0.5rem - 3px); +} + +.navbar-content { + flex-grow: 1; + flex-shrink: 1; +} + +.navbar-link:not(.is-arrowless) { + padding-right: 2.5em; +} + +.navbar-link:not(.is-arrowless)::after { + border-color: #485fc7; + margin-top: -0.375em; + right: 1.125em; +} + +.navbar-dropdown { + font-size: 0.875rem; + padding-bottom: 0.5rem; + padding-top: 0.5rem; +} + +.navbar-dropdown .navbar-item { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.navbar-divider { + background-color: whitesmoke; + border: none; + display: none; + height: 2px; + margin: 0.5rem 0; +} + +@media screen and (max-width: 1023px) { + .navbar>.container { + display: block; + } + + .navbar-brand .navbar-item, + .navbar-tabs .navbar-item { + align-items: center; + display: flex; + } + + .navbar-link::after { + display: none; + } + + .navbar-menu { + background-color: white; + box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1); + padding: 0.5rem 0; + } + + .navbar-menu.is-active { + display: block; + } + + .navbar.is-fixed-bottom-touch, + .navbar.is-fixed-top-touch { + left: 0; + position: fixed; + right: 0; + z-index: 30; + } + + .navbar.is-fixed-bottom-touch { + bottom: 0; + } + + .navbar.is-fixed-bottom-touch.has-shadow { + box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); + } + + .navbar.is-fixed-top-touch { + top: 0; + } + + .navbar.is-fixed-top .navbar-menu, + .navbar.is-fixed-top-touch .navbar-menu { + -webkit-overflow-scrolling: touch; + max-height: calc(100vh - 3.25rem); + overflow: auto; + } + + html.has-navbar-fixed-top-touch, + body.has-navbar-fixed-top-touch { + padding-top: 3.25rem; + } + + html.has-navbar-fixed-bottom-touch, + body.has-navbar-fixed-bottom-touch { + padding-bottom: 3.25rem; + } +} + +@media screen and (min-width: 1024px) { + + .navbar, + .navbar-menu, + .navbar-start, + .navbar-end { + align-items: stretch; + display: flex; + } + + .navbar { + min-height: 3.25rem; + } + + .navbar.is-spaced { + padding: 1rem 2rem; + } + + .navbar.is-spaced .navbar-start, + .navbar.is-spaced .navbar-end { + align-items: center; + } + + .navbar.is-spaced a.navbar-item, + .navbar.is-spaced .navbar-link { + border-radius: 4px; + } + + .navbar.is-transparent a.navbar-item:focus, + .navbar.is-transparent a.navbar-item:hover, + .navbar.is-transparent a.navbar-item.is-active, + .navbar.is-transparent .navbar-link:focus, + .navbar.is-transparent .navbar-link:hover, + .navbar.is-transparent .navbar-link.is-active { + background-color: transparent !important; + } + + .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, + .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, + .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, + .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link { + background-color: transparent !important; + } + + .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, + .navbar.is-transparent .navbar-dropdown a.navbar-item:hover { + background-color: whitesmoke; + color: #0a0a0a; + } + + .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: #485fc7; + } + + .navbar-burger { + display: none; + } + + .navbar-item, + .navbar-link { + align-items: center; + display: flex; + } + + .navbar-item.has-dropdown { + align-items: stretch; + } + + .navbar-item.has-dropdown-up .navbar-link::after { + transform: rotate(135deg) translate(0.25em, -0.25em); + } + + .navbar-item.has-dropdown-up .navbar-dropdown { + border-bottom: 2px solid #dbdbdb; + border-radius: 6px 6px 0 0; + border-top: none; + bottom: 100%; + box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1); + top: auto; + } + + .navbar-item.is-active .navbar-dropdown, + .navbar-item.is-hoverable:focus .navbar-dropdown, + .navbar-item.is-hoverable:focus-within .navbar-dropdown, + .navbar-item.is-hoverable:hover .navbar-dropdown { + display: block; + } + + .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, + .navbar-item.is-active .navbar-dropdown.is-boxed, + .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, + .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, + .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, + .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, + .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, + .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed { + opacity: 1; + pointer-events: auto; + transform: translateY(0); + } + + .navbar-menu { + flex-grow: 1; + flex-shrink: 0; + } + + .navbar-start { + justify-content: flex-start; + margin-right: auto; + } + + .navbar-end { + justify-content: flex-end; + margin-left: auto; + } + + .navbar-dropdown { + background-color: white; + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 2px solid #dbdbdb; + box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1); + display: none; + font-size: 0.875rem; + left: 0; + min-width: 100%; + position: absolute; + top: 100%; + z-index: 20; + } + + .navbar-dropdown .navbar-item { + padding: 0.375rem 1rem; + white-space: nowrap; + } + + .navbar-dropdown a.navbar-item { + padding-right: 3rem; + } + + .navbar-dropdown a.navbar-item:focus, + .navbar-dropdown a.navbar-item:hover { + background-color: whitesmoke; + color: #0a0a0a; + } + + .navbar-dropdown a.navbar-item.is-active { + background-color: whitesmoke; + color: #485fc7; + } + + .navbar.is-spaced .navbar-dropdown, + .navbar-dropdown.is-boxed { + border-radius: 6px; + border-top: none; + box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1); + display: block; + opacity: 0; + pointer-events: none; + top: calc(100% + (-4px)); + transform: translateY(-5px); + transition-duration: 86ms; + transition-property: opacity, transform; + } + + .navbar-dropdown.is-right { + left: auto; + right: 0; + } + + .navbar-divider { + display: block; + } + + .navbar>.container .navbar-brand, + .container>.navbar .navbar-brand { + margin-left: -0.75rem; + } + + .navbar>.container .navbar-menu, + .container>.navbar .navbar-menu { + margin-right: -0.75rem; + } + + .navbar.is-fixed-bottom-desktop, + .navbar.is-fixed-top-desktop { + left: 0; + position: fixed; + right: 0; + z-index: 30; + } + + .navbar.is-fixed-bottom-desktop { + bottom: 0; + } + + .navbar.is-fixed-bottom-desktop.has-shadow { + box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1); + } + + .navbar.is-fixed-top-desktop { + top: 0; + } + + html.has-navbar-fixed-top-desktop, + body.has-navbar-fixed-top-desktop { + padding-top: 3.25rem; + } + + html.has-navbar-fixed-bottom-desktop, + body.has-navbar-fixed-bottom-desktop { + padding-bottom: 3.25rem; + } + + html.has-spaced-navbar-fixed-top, + body.has-spaced-navbar-fixed-top { + padding-top: 5.25rem; + } + + html.has-spaced-navbar-fixed-bottom, + body.has-spaced-navbar-fixed-bottom { + padding-bottom: 5.25rem; + } + + a.navbar-item.is-active, + .navbar-link.is-active { + color: #0a0a0a; + } + + a.navbar-item.is-active:not(:focus):not(:hover), + .navbar-link.is-active:not(:focus):not(:hover) { + background-color: transparent; + } + + .navbar-item.has-dropdown:focus .navbar-link, + .navbar-item.has-dropdown:hover .navbar-link, + .navbar-item.has-dropdown.is-active .navbar-link { + background-color: #fafafa; + } +} + +.hero.is-fullheight-with-navbar { + min-height: calc(100vh - 3.25rem); +} + +.pagination { + font-size: 1rem; + margin: -0.25rem; +} + +.pagination.is-small { + font-size: 0.75rem; +} + +.pagination.is-medium { + font-size: 1.25rem; +} + +.pagination.is-large { + font-size: 1.5rem; +} + +.pagination.is-rounded .pagination-previous, +.pagination.is-rounded .pagination-next { + padding-left: 1em; + padding-right: 1em; + border-radius: 9999px; +} + +.pagination.is-rounded .pagination-link { + border-radius: 9999px; +} + +.pagination, +.pagination-list { + align-items: center; + display: flex; + justify-content: center; + text-align: center; +} + +.pagination-previous, +.pagination-next, +.pagination-link, +.pagination-ellipsis { + font-size: 1em; + justify-content: center; + margin: 0.25rem; + padding-left: 0.5em; + padding-right: 0.5em; + text-align: center; +} + +.pagination-previous, +.pagination-next, +.pagination-link { + border-color: #dbdbdb; + color: #363636; + min-width: 2.5em; +} + +.pagination-previous:hover, +.pagination-next:hover, +.pagination-link:hover { + border-color: #b5b5b5; + color: #363636; +} + +.pagination-previous:focus, +.pagination-next:focus, +.pagination-link:focus { + border-color: #485fc7; +} + +.pagination-previous:active, +.pagination-next:active, +.pagination-link:active { + box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2); +} + +.pagination-previous[disabled], +.pagination-previous.is-disabled, +.pagination-next[disabled], +.pagination-next.is-disabled, +.pagination-link[disabled], +.pagination-link.is-disabled { + background-color: #dbdbdb; + border-color: #dbdbdb; + box-shadow: none; + color: #7a7a7a; + opacity: 0.5; +} + +.pagination-previous, +.pagination-next { + padding-left: 0.75em; + padding-right: 0.75em; + white-space: nowrap; +} + +.pagination-link.is-current { + background-color: #485fc7; + border-color: #485fc7; + color: #fff; +} + +.pagination-ellipsis { + color: #b5b5b5; + pointer-events: none; +} + +.pagination-list { + flex-wrap: wrap; +} + +.pagination-list li { + list-style: none; +} + +@media screen and (max-width: 768px) { + .pagination { + flex-wrap: wrap; + } + + .pagination-previous, + .pagination-next { + flex-grow: 1; + flex-shrink: 1; + } + + .pagination-list li { + flex-grow: 1; + flex-shrink: 1; + } +} + +@media screen and (min-width: 769px), +print { + .pagination-list { + flex-grow: 1; + flex-shrink: 1; + justify-content: flex-start; + order: 1; + } + + .pagination-previous, + .pagination-next, + .pagination-link, + .pagination-ellipsis { + margin-bottom: 0; + margin-top: 0; + } + + .pagination-previous { + order: 2; + } + + .pagination-next { + order: 3; + } + + .pagination { + justify-content: space-between; + margin-bottom: 0; + margin-top: 0; + } + + .pagination.is-centered .pagination-previous { + order: 1; + } + + .pagination.is-centered .pagination-list { + justify-content: center; + order: 2; + } + + .pagination.is-centered .pagination-next { + order: 3; + } + + .pagination.is-right .pagination-previous { + order: 1; + } + + .pagination.is-right .pagination-next { + order: 2; + } + + .pagination.is-right .pagination-list { + justify-content: flex-end; + order: 3; + } +} + +.panel { + border-radius: 6px; + box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1), 0 0px 0 1px rgba(10, 10, 10, 0.02); + font-size: 1rem; +} + +.panel:not(:last-child) { + margin-bottom: 1.5rem; +} + +.panel.is-white .panel-heading { + background-color: white; + color: #0a0a0a; +} + +.panel.is-white .panel-tabs a.is-active { + border-bottom-color: white; +} + +.panel.is-white .panel-block.is-active .panel-icon { + color: white; +} + +.panel.is-black .panel-heading { + background-color: #0a0a0a; + color: white; +} + +.panel.is-black .panel-tabs a.is-active { + border-bottom-color: #0a0a0a; +} + +.panel.is-black .panel-block.is-active .panel-icon { + color: #0a0a0a; +} + +.panel.is-light .panel-heading { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.panel.is-light .panel-tabs a.is-active { + border-bottom-color: whitesmoke; +} + +.panel.is-light .panel-block.is-active .panel-icon { + color: whitesmoke; +} + +.panel.is-dark .panel-heading { + background-color: #363636; + color: #fff; +} + +.panel.is-dark .panel-tabs a.is-active { + border-bottom-color: #363636; +} + +.panel.is-dark .panel-block.is-active .panel-icon { + color: #363636; +} + +.panel.is-primary .panel-heading { + background-color: #00d1b2; + color: #fff; +} + +.panel.is-primary .panel-tabs a.is-active { + border-bottom-color: #00d1b2; +} + +.panel.is-primary .panel-block.is-active .panel-icon { + color: #00d1b2; +} + +.panel.is-link .panel-heading { + background-color: #485fc7; + color: #fff; +} + +.panel.is-link .panel-tabs a.is-active { + border-bottom-color: #485fc7; +} + +.panel.is-link .panel-block.is-active .panel-icon { + color: #485fc7; +} + +.panel.is-info .panel-heading { + background-color: #3e8ed0; + color: #fff; +} + +.panel.is-info .panel-tabs a.is-active { + border-bottom-color: #3e8ed0; +} + +.panel.is-info .panel-block.is-active .panel-icon { + color: #3e8ed0; +} + +.panel.is-success .panel-heading { + background-color: #48c78e; + color: #fff; +} + +.panel.is-success .panel-tabs a.is-active { + border-bottom-color: #48c78e; +} + +.panel.is-success .panel-block.is-active .panel-icon { + color: #48c78e; +} + +.panel.is-warning .panel-heading { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.panel.is-warning .panel-tabs a.is-active { + border-bottom-color: #ffe08a; +} + +.panel.is-warning .panel-block.is-active .panel-icon { + color: #ffe08a; +} + +.panel.is-danger .panel-heading { + background-color: #f14668; + color: #fff; +} + +.panel.is-danger .panel-tabs a.is-active { + border-bottom-color: #f14668; +} + +.panel.is-danger .panel-block.is-active .panel-icon { + color: #f14668; +} + +.panel-tabs:not(:last-child), +.panel-block:not(:last-child) { + border-bottom: 1px solid #ededed; +} + +.panel-heading { + background-color: #ededed; + border-radius: 6px 6px 0 0; + color: #363636; + font-size: 1.25em; + font-weight: 700; + line-height: 1.25; + padding: 0.75em 1em; +} + +.panel-tabs { + align-items: flex-end; + display: flex; + font-size: 0.875em; + justify-content: center; +} + +.panel-tabs a { + border-bottom: 1px solid #dbdbdb; + margin-bottom: -1px; + padding: 0.5em; +} + +.panel-tabs a.is-active { + border-bottom-color: #4a4a4a; + color: #363636; +} + +.panel-list a { + color: #4a4a4a; +} + +.panel-list a:hover { + color: #485fc7; +} + +.panel-block { + align-items: center; + color: #363636; + display: flex; + justify-content: flex-start; + padding: 0.5em 0.75em; +} + +.panel-block input[type="checkbox"] { + margin-right: 0.75em; +} + +.panel-block>.control { + flex-grow: 1; + flex-shrink: 1; + width: 100%; +} + +.panel-block.is-wrapped { + flex-wrap: wrap; +} + +.panel-block.is-active { + border-left-color: #485fc7; + color: #363636; +} + +.panel-block.is-active .panel-icon { + color: #485fc7; +} + +.panel-block:last-child { + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; +} + +a.panel-block, +label.panel-block { + cursor: pointer; +} + +a.panel-block:hover, +label.panel-block:hover { + background-color: whitesmoke; +} + +.panel-icon { + display: inline-block; + font-size: 14px; + height: 1em; + line-height: 1em; + text-align: center; + vertical-align: top; + width: 1em; + color: #7a7a7a; + margin-right: 0.75em; +} + +.panel-icon .fa { + font-size: inherit; + line-height: inherit; +} + +.tabs { + -webkit-overflow-scrolling: touch; + align-items: stretch; + display: flex; + font-size: 1rem; + justify-content: space-between; + overflow: hidden; + overflow-x: auto; + white-space: nowrap; +} + +.tabs a { + align-items: center; + border-bottom-color: #dbdbdb; + border-bottom-style: solid; + border-bottom-width: 1px; + color: #4a4a4a; + display: flex; + justify-content: center; + margin-bottom: -1px; + padding: 0.5em 1em; + vertical-align: top; +} + +.tabs a:hover { + border-bottom-color: #363636; + color: #363636; +} + +.tabs li { + display: block; +} + +.tabs li.is-active a { + border-bottom-color: #485fc7; + color: #485fc7; +} + +.tabs ul { + align-items: center; + border-bottom-color: #dbdbdb; + border-bottom-style: solid; + border-bottom-width: 1px; + display: flex; + flex-grow: 1; + flex-shrink: 0; + justify-content: flex-start; +} + +.tabs ul.is-left { + padding-right: 0.75em; +} + +.tabs ul.is-center { + flex: none; + justify-content: center; + padding-left: 0.75em; + padding-right: 0.75em; +} + +.tabs ul.is-right { + justify-content: flex-end; + padding-left: 0.75em; +} + +.tabs .icon:first-child { + margin-right: 0.5em; +} + +.tabs .icon:last-child { + margin-left: 0.5em; +} + +.tabs.is-centered ul { + justify-content: center; +} + +.tabs.is-right ul { + justify-content: flex-end; +} + +.tabs.is-boxed a { + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} + +.tabs.is-boxed a:hover { + background-color: whitesmoke; + border-bottom-color: #dbdbdb; +} + +.tabs.is-boxed li.is-active a { + background-color: white; + border-color: #dbdbdb; + border-bottom-color: transparent !important; +} + +.tabs.is-fullwidth li { + flex-grow: 1; + flex-shrink: 0; +} + +.tabs.is-toggle a { + border-color: #dbdbdb; + border-style: solid; + border-width: 1px; + margin-bottom: 0; + position: relative; +} + +.tabs.is-toggle a:hover { + background-color: whitesmoke; + border-color: #b5b5b5; + z-index: 2; +} + +.tabs.is-toggle li+li { + margin-left: -1px; +} + +.tabs.is-toggle li:first-child a { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.tabs.is-toggle li:last-child a { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.tabs.is-toggle li.is-active a { + background-color: #485fc7; + border-color: #485fc7; + color: #fff; + z-index: 1; +} + +.tabs.is-toggle ul { + border-bottom: none; +} + +.tabs.is-toggle.is-toggle-rounded li:first-child a { + border-bottom-left-radius: 9999px; + border-top-left-radius: 9999px; + padding-left: 1.25em; +} + +.tabs.is-toggle.is-toggle-rounded li:last-child a { + border-bottom-right-radius: 9999px; + border-top-right-radius: 9999px; + padding-right: 1.25em; +} + +.tabs.is-small { + font-size: 0.75rem; +} + +.tabs.is-medium { + font-size: 1.25rem; +} + +.tabs.is-large { + font-size: 1.5rem; +} + +/* Bulma Grid */ +.column { + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + padding: 0.75rem; +} + +.columns.is-mobile>.column.is-narrow { + flex: none; + width: unset; +} + +.columns.is-mobile>.column.is-full { + flex: none; + width: 100%; +} + +.columns.is-mobile>.column.is-three-quarters { + flex: none; + width: 75%; +} + +.columns.is-mobile>.column.is-two-thirds { + flex: none; + width: 66.6666%; +} + +.columns.is-mobile>.column.is-half { + flex: none; + width: 50%; +} + +.columns.is-mobile>.column.is-one-third { + flex: none; + width: 33.3333%; +} + +.columns.is-mobile>.column.is-one-quarter { + flex: none; + width: 25%; +} + +.columns.is-mobile>.column.is-one-fifth { + flex: none; + width: 20%; +} + +.columns.is-mobile>.column.is-two-fifths { + flex: none; + width: 40%; +} + +.columns.is-mobile>.column.is-three-fifths { + flex: none; + width: 60%; +} + +.columns.is-mobile>.column.is-four-fifths { + flex: none; + width: 80%; +} + +.columns.is-mobile>.column.is-offset-three-quarters { + margin-left: 75%; +} + +.columns.is-mobile>.column.is-offset-two-thirds { + margin-left: 66.6666%; +} + +.columns.is-mobile>.column.is-offset-half { + margin-left: 50%; +} + +.columns.is-mobile>.column.is-offset-one-third { + margin-left: 33.3333%; +} + +.columns.is-mobile>.column.is-offset-one-quarter { + margin-left: 25%; +} + +.columns.is-mobile>.column.is-offset-one-fifth { + margin-left: 20%; +} + +.columns.is-mobile>.column.is-offset-two-fifths { + margin-left: 40%; +} + +.columns.is-mobile>.column.is-offset-three-fifths { + margin-left: 60%; +} + +.columns.is-mobile>.column.is-offset-four-fifths { + margin-left: 80%; +} + +.columns.is-mobile>.column.is-0 { + flex: none; + width: 0%; +} + +.columns.is-mobile>.column.is-offset-0 { + margin-left: 0%; +} + +.columns.is-mobile>.column.is-1 { + flex: none; + width: 8.33333%; +} + +.columns.is-mobile>.column.is-offset-1 { + margin-left: 8.33333%; +} + +.columns.is-mobile>.column.is-2 { + flex: none; + width: 16.66667%; +} + +.columns.is-mobile>.column.is-offset-2 { + margin-left: 16.66667%; +} + +.columns.is-mobile>.column.is-3 { + flex: none; + width: 25%; +} + +.columns.is-mobile>.column.is-offset-3 { + margin-left: 25%; +} + +.columns.is-mobile>.column.is-4 { + flex: none; + width: 33.33333%; +} + +.columns.is-mobile>.column.is-offset-4 { + margin-left: 33.33333%; +} + +.columns.is-mobile>.column.is-5 { + flex: none; + width: 41.66667%; +} + +.columns.is-mobile>.column.is-offset-5 { + margin-left: 41.66667%; +} + +.columns.is-mobile>.column.is-6 { + flex: none; + width: 50%; +} + +.columns.is-mobile>.column.is-offset-6 { + margin-left: 50%; +} + +.columns.is-mobile>.column.is-7 { + flex: none; + width: 58.33333%; +} + +.columns.is-mobile>.column.is-offset-7 { + margin-left: 58.33333%; +} + +.columns.is-mobile>.column.is-8 { + flex: none; + width: 66.66667%; +} + +.columns.is-mobile>.column.is-offset-8 { + margin-left: 66.66667%; +} + +.columns.is-mobile>.column.is-9 { + flex: none; + width: 75%; +} + +.columns.is-mobile>.column.is-offset-9 { + margin-left: 75%; +} + +.columns.is-mobile>.column.is-10 { + flex: none; + width: 83.33333%; +} + +.columns.is-mobile>.column.is-offset-10 { + margin-left: 83.33333%; +} + +.columns.is-mobile>.column.is-11 { + flex: none; + width: 91.66667%; +} + +.columns.is-mobile>.column.is-offset-11 { + margin-left: 91.66667%; +} + +.columns.is-mobile>.column.is-12 { + flex: none; + width: 100%; +} + +.columns.is-mobile>.column.is-offset-12 { + margin-left: 100%; +} + +@media screen and (max-width: 768px) { + .column.is-narrow-mobile { + flex: none; + width: unset; + } + + .column.is-full-mobile { + flex: none; + width: 100%; + } + + .column.is-three-quarters-mobile { + flex: none; + width: 75%; + } + + .column.is-two-thirds-mobile { + flex: none; + width: 66.6666%; + } + + .column.is-half-mobile { + flex: none; + width: 50%; + } + + .column.is-one-third-mobile { + flex: none; + width: 33.3333%; + } + + .column.is-one-quarter-mobile { + flex: none; + width: 25%; + } + + .column.is-one-fifth-mobile { + flex: none; + width: 20%; + } + + .column.is-two-fifths-mobile { + flex: none; + width: 40%; + } + + .column.is-three-fifths-mobile { + flex: none; + width: 60%; + } + + .column.is-four-fifths-mobile { + flex: none; + width: 80%; + } + + .column.is-offset-three-quarters-mobile { + margin-left: 75%; + } + + .column.is-offset-two-thirds-mobile { + margin-left: 66.6666%; + } + + .column.is-offset-half-mobile { + margin-left: 50%; + } + + .column.is-offset-one-third-mobile { + margin-left: 33.3333%; + } + + .column.is-offset-one-quarter-mobile { + margin-left: 25%; + } + + .column.is-offset-one-fifth-mobile { + margin-left: 20%; + } + + .column.is-offset-two-fifths-mobile { + margin-left: 40%; + } + + .column.is-offset-three-fifths-mobile { + margin-left: 60%; + } + + .column.is-offset-four-fifths-mobile { + margin-left: 80%; + } + + .column.is-0-mobile { + flex: none; + width: 0%; + } + + .column.is-offset-0-mobile { + margin-left: 0%; + } + + .column.is-1-mobile { + flex: none; + width: 8.33333%; + } + + .column.is-offset-1-mobile { + margin-left: 8.33333%; + } + + .column.is-2-mobile { + flex: none; + width: 16.66667%; + } + + .column.is-offset-2-mobile { + margin-left: 16.66667%; + } + + .column.is-3-mobile { + flex: none; + width: 25%; + } + + .column.is-offset-3-mobile { + margin-left: 25%; + } + + .column.is-4-mobile { + flex: none; + width: 33.33333%; + } + + .column.is-offset-4-mobile { + margin-left: 33.33333%; + } + + .column.is-5-mobile { + flex: none; + width: 41.66667%; + } + + .column.is-offset-5-mobile { + margin-left: 41.66667%; + } + + .column.is-6-mobile { + flex: none; + width: 50%; + } + + .column.is-offset-6-mobile { + margin-left: 50%; + } + + .column.is-7-mobile { + flex: none; + width: 58.33333%; + } + + .column.is-offset-7-mobile { + margin-left: 58.33333%; + } + + .column.is-8-mobile { + flex: none; + width: 66.66667%; + } + + .column.is-offset-8-mobile { + margin-left: 66.66667%; + } + + .column.is-9-mobile { + flex: none; + width: 75%; + } + + .column.is-offset-9-mobile { + margin-left: 75%; + } + + .column.is-10-mobile { + flex: none; + width: 83.33333%; + } + + .column.is-offset-10-mobile { + margin-left: 83.33333%; + } + + .column.is-11-mobile { + flex: none; + width: 91.66667%; + } + + .column.is-offset-11-mobile { + margin-left: 91.66667%; + } + + .column.is-12-mobile { + flex: none; + width: 100%; + } + + .column.is-offset-12-mobile { + margin-left: 100%; + } +} + +@media screen and (min-width: 769px), +print { + + .column.is-narrow, + .column.is-narrow-tablet { + flex: none; + width: unset; + } + + .column.is-full, + .column.is-full-tablet { + flex: none; + width: 100%; + } + + .column.is-three-quarters, + .column.is-three-quarters-tablet { + flex: none; + width: 75%; + } + + .column.is-two-thirds, + .column.is-two-thirds-tablet { + flex: none; + width: 66.6666%; + } + + .column.is-half, + .column.is-half-tablet { + flex: none; + width: 50%; + } + + .column.is-one-third, + .column.is-one-third-tablet { + flex: none; + width: 33.3333%; + } + + .column.is-one-quarter, + .column.is-one-quarter-tablet { + flex: none; + width: 25%; + } + + .column.is-one-fifth, + .column.is-one-fifth-tablet { + flex: none; + width: 20%; + } + + .column.is-two-fifths, + .column.is-two-fifths-tablet { + flex: none; + width: 40%; + } + + .column.is-three-fifths, + .column.is-three-fifths-tablet { + flex: none; + width: 60%; + } + + .column.is-four-fifths, + .column.is-four-fifths-tablet { + flex: none; + width: 80%; + } + + .column.is-offset-three-quarters, + .column.is-offset-three-quarters-tablet { + margin-left: 75%; + } + + .column.is-offset-two-thirds, + .column.is-offset-two-thirds-tablet { + margin-left: 66.6666%; + } + + .column.is-offset-half, + .column.is-offset-half-tablet { + margin-left: 50%; + } + + .column.is-offset-one-third, + .column.is-offset-one-third-tablet { + margin-left: 33.3333%; + } + + .column.is-offset-one-quarter, + .column.is-offset-one-quarter-tablet { + margin-left: 25%; + } + + .column.is-offset-one-fifth, + .column.is-offset-one-fifth-tablet { + margin-left: 20%; + } + + .column.is-offset-two-fifths, + .column.is-offset-two-fifths-tablet { + margin-left: 40%; + } + + .column.is-offset-three-fifths, + .column.is-offset-three-fifths-tablet { + margin-left: 60%; + } + + .column.is-offset-four-fifths, + .column.is-offset-four-fifths-tablet { + margin-left: 80%; + } + + .column.is-0, + .column.is-0-tablet { + flex: none; + width: 0%; + } + + .column.is-offset-0, + .column.is-offset-0-tablet { + margin-left: 0%; + } + + .column.is-1, + .column.is-1-tablet { + flex: none; + width: 8.33333%; + } + + .column.is-offset-1, + .column.is-offset-1-tablet { + margin-left: 8.33333%; + } + + .column.is-2, + .column.is-2-tablet { + flex: none; + width: 16.66667%; + } + + .column.is-offset-2, + .column.is-offset-2-tablet { + margin-left: 16.66667%; + } + + .column.is-3, + .column.is-3-tablet { + flex: none; + width: 25%; + } + + .column.is-offset-3, + .column.is-offset-3-tablet { + margin-left: 25%; + } + + .column.is-4, + .column.is-4-tablet { + flex: none; + width: 33.33333%; + } + + .column.is-offset-4, + .column.is-offset-4-tablet { + margin-left: 33.33333%; + } + + .column.is-5, + .column.is-5-tablet { + flex: none; + width: 41.66667%; + } + + .column.is-offset-5, + .column.is-offset-5-tablet { + margin-left: 41.66667%; + } + + .column.is-6, + .column.is-6-tablet { + flex: none; + width: 50%; + } + + .column.is-offset-6, + .column.is-offset-6-tablet { + margin-left: 50%; + } + + .column.is-7, + .column.is-7-tablet { + flex: none; + width: 58.33333%; + } + + .column.is-offset-7, + .column.is-offset-7-tablet { + margin-left: 58.33333%; + } + + .column.is-8, + .column.is-8-tablet { + flex: none; + width: 66.66667%; + } + + .column.is-offset-8, + .column.is-offset-8-tablet { + margin-left: 66.66667%; + } + + .column.is-9, + .column.is-9-tablet { + flex: none; + width: 75%; + } + + .column.is-offset-9, + .column.is-offset-9-tablet { + margin-left: 75%; + } + + .column.is-10, + .column.is-10-tablet { + flex: none; + width: 83.33333%; + } + + .column.is-offset-10, + .column.is-offset-10-tablet { + margin-left: 83.33333%; + } + + .column.is-11, + .column.is-11-tablet { + flex: none; + width: 91.66667%; + } + + .column.is-offset-11, + .column.is-offset-11-tablet { + margin-left: 91.66667%; + } + + .column.is-12, + .column.is-12-tablet { + flex: none; + width: 100%; + } + + .column.is-offset-12, + .column.is-offset-12-tablet { + margin-left: 100%; + } +} + +@media screen and (max-width: 1023px) { + .column.is-narrow-touch { + flex: none; + width: unset; + } + + .column.is-full-touch { + flex: none; + width: 100%; + } + + .column.is-three-quarters-touch { + flex: none; + width: 75%; + } + + .column.is-two-thirds-touch { + flex: none; + width: 66.6666%; + } + + .column.is-half-touch { + flex: none; + width: 50%; + } + + .column.is-one-third-touch { + flex: none; + width: 33.3333%; + } + + .column.is-one-quarter-touch { + flex: none; + width: 25%; + } + + .column.is-one-fifth-touch { + flex: none; + width: 20%; + } + + .column.is-two-fifths-touch { + flex: none; + width: 40%; + } + + .column.is-three-fifths-touch { + flex: none; + width: 60%; + } + + .column.is-four-fifths-touch { + flex: none; + width: 80%; + } + + .column.is-offset-three-quarters-touch { + margin-left: 75%; + } + + .column.is-offset-two-thirds-touch { + margin-left: 66.6666%; + } + + .column.is-offset-half-touch { + margin-left: 50%; + } + + .column.is-offset-one-third-touch { + margin-left: 33.3333%; + } + + .column.is-offset-one-quarter-touch { + margin-left: 25%; + } + + .column.is-offset-one-fifth-touch { + margin-left: 20%; + } + + .column.is-offset-two-fifths-touch { + margin-left: 40%; + } + + .column.is-offset-three-fifths-touch { + margin-left: 60%; + } + + .column.is-offset-four-fifths-touch { + margin-left: 80%; + } + + .column.is-0-touch { + flex: none; + width: 0%; + } + + .column.is-offset-0-touch { + margin-left: 0%; + } + + .column.is-1-touch { + flex: none; + width: 8.33333%; + } + + .column.is-offset-1-touch { + margin-left: 8.33333%; + } + + .column.is-2-touch { + flex: none; + width: 16.66667%; + } + + .column.is-offset-2-touch { + margin-left: 16.66667%; + } + + .column.is-3-touch { + flex: none; + width: 25%; + } + + .column.is-offset-3-touch { + margin-left: 25%; + } + + .column.is-4-touch { + flex: none; + width: 33.33333%; + } + + .column.is-offset-4-touch { + margin-left: 33.33333%; + } + + .column.is-5-touch { + flex: none; + width: 41.66667%; + } + + .column.is-offset-5-touch { + margin-left: 41.66667%; + } + + .column.is-6-touch { + flex: none; + width: 50%; + } + + .column.is-offset-6-touch { + margin-left: 50%; + } + + .column.is-7-touch { + flex: none; + width: 58.33333%; + } + + .column.is-offset-7-touch { + margin-left: 58.33333%; + } + + .column.is-8-touch { + flex: none; + width: 66.66667%; + } + + .column.is-offset-8-touch { + margin-left: 66.66667%; + } + + .column.is-9-touch { + flex: none; + width: 75%; + } + + .column.is-offset-9-touch { + margin-left: 75%; + } + + .column.is-10-touch { + flex: none; + width: 83.33333%; + } + + .column.is-offset-10-touch { + margin-left: 83.33333%; + } + + .column.is-11-touch { + flex: none; + width: 91.66667%; + } + + .column.is-offset-11-touch { + margin-left: 91.66667%; + } + + .column.is-12-touch { + flex: none; + width: 100%; + } + + .column.is-offset-12-touch { + margin-left: 100%; + } +} + +@media screen and (min-width: 1024px) { + .column.is-narrow-desktop { + flex: none; + width: unset; + } + + .column.is-full-desktop { + flex: none; + width: 100%; + } + + .column.is-three-quarters-desktop { + flex: none; + width: 75%; + } + + .column.is-two-thirds-desktop { + flex: none; + width: 66.6666%; + } + + .column.is-half-desktop { + flex: none; + width: 50%; + } + + .column.is-one-third-desktop { + flex: none; + width: 33.3333%; + } + + .column.is-one-quarter-desktop { + flex: none; + width: 25%; + } + + .column.is-one-fifth-desktop { + flex: none; + width: 20%; + } + + .column.is-two-fifths-desktop { + flex: none; + width: 40%; + } + + .column.is-three-fifths-desktop { + flex: none; + width: 60%; + } + + .column.is-four-fifths-desktop { + flex: none; + width: 80%; + } + + .column.is-offset-three-quarters-desktop { + margin-left: 75%; + } + + .column.is-offset-two-thirds-desktop { + margin-left: 66.6666%; + } + + .column.is-offset-half-desktop { + margin-left: 50%; + } + + .column.is-offset-one-third-desktop { + margin-left: 33.3333%; + } + + .column.is-offset-one-quarter-desktop { + margin-left: 25%; + } + + .column.is-offset-one-fifth-desktop { + margin-left: 20%; + } + + .column.is-offset-two-fifths-desktop { + margin-left: 40%; + } + + .column.is-offset-three-fifths-desktop { + margin-left: 60%; + } + + .column.is-offset-four-fifths-desktop { + margin-left: 80%; + } + + .column.is-0-desktop { + flex: none; + width: 0%; + } + + .column.is-offset-0-desktop { + margin-left: 0%; + } + + .column.is-1-desktop { + flex: none; + width: 8.33333%; + } + + .column.is-offset-1-desktop { + margin-left: 8.33333%; + } + + .column.is-2-desktop { + flex: none; + width: 16.66667%; + } + + .column.is-offset-2-desktop { + margin-left: 16.66667%; + } + + .column.is-3-desktop { + flex: none; + width: 25%; + } + + .column.is-offset-3-desktop { + margin-left: 25%; + } + + .column.is-4-desktop { + flex: none; + width: 33.33333%; + } + + .column.is-offset-4-desktop { + margin-left: 33.33333%; + } + + .column.is-5-desktop { + flex: none; + width: 41.66667%; + } + + .column.is-offset-5-desktop { + margin-left: 41.66667%; + } + + .column.is-6-desktop { + flex: none; + width: 50%; + } + + .column.is-offset-6-desktop { + margin-left: 50%; + } + + .column.is-7-desktop { + flex: none; + width: 58.33333%; + } + + .column.is-offset-7-desktop { + margin-left: 58.33333%; + } + + .column.is-8-desktop { + flex: none; + width: 66.66667%; + } + + .column.is-offset-8-desktop { + margin-left: 66.66667%; + } + + .column.is-9-desktop { + flex: none; + width: 75%; + } + + .column.is-offset-9-desktop { + margin-left: 75%; + } + + .column.is-10-desktop { + flex: none; + width: 83.33333%; + } + + .column.is-offset-10-desktop { + margin-left: 83.33333%; + } + + .column.is-11-desktop { + flex: none; + width: 91.66667%; + } + + .column.is-offset-11-desktop { + margin-left: 91.66667%; + } + + .column.is-12-desktop { + flex: none; + width: 100%; + } + + .column.is-offset-12-desktop { + margin-left: 100%; + } +} + +@media screen and (min-width: 1216px) { + .column.is-narrow-widescreen { + flex: none; + width: unset; + } + + .column.is-full-widescreen { + flex: none; + width: 100%; + } + + .column.is-three-quarters-widescreen { + flex: none; + width: 75%; + } + + .column.is-two-thirds-widescreen { + flex: none; + width: 66.6666%; + } + + .column.is-half-widescreen { + flex: none; + width: 50%; + } + + .column.is-one-third-widescreen { + flex: none; + width: 33.3333%; + } + + .column.is-one-quarter-widescreen { + flex: none; + width: 25%; + } + + .column.is-one-fifth-widescreen { + flex: none; + width: 20%; + } + + .column.is-two-fifths-widescreen { + flex: none; + width: 40%; + } + + .column.is-three-fifths-widescreen { + flex: none; + width: 60%; + } + + .column.is-four-fifths-widescreen { + flex: none; + width: 80%; + } + + .column.is-offset-three-quarters-widescreen { + margin-left: 75%; + } + + .column.is-offset-two-thirds-widescreen { + margin-left: 66.6666%; + } + + .column.is-offset-half-widescreen { + margin-left: 50%; + } + + .column.is-offset-one-third-widescreen { + margin-left: 33.3333%; + } + + .column.is-offset-one-quarter-widescreen { + margin-left: 25%; + } + + .column.is-offset-one-fifth-widescreen { + margin-left: 20%; + } + + .column.is-offset-two-fifths-widescreen { + margin-left: 40%; + } + + .column.is-offset-three-fifths-widescreen { + margin-left: 60%; + } + + .column.is-offset-four-fifths-widescreen { + margin-left: 80%; + } + + .column.is-0-widescreen { + flex: none; + width: 0%; + } + + .column.is-offset-0-widescreen { + margin-left: 0%; + } + + .column.is-1-widescreen { + flex: none; + width: 8.33333%; + } + + .column.is-offset-1-widescreen { + margin-left: 8.33333%; + } + + .column.is-2-widescreen { + flex: none; + width: 16.66667%; + } + + .column.is-offset-2-widescreen { + margin-left: 16.66667%; + } + + .column.is-3-widescreen { + flex: none; + width: 25%; + } + + .column.is-offset-3-widescreen { + margin-left: 25%; + } + + .column.is-4-widescreen { + flex: none; + width: 33.33333%; + } + + .column.is-offset-4-widescreen { + margin-left: 33.33333%; + } + + .column.is-5-widescreen { + flex: none; + width: 41.66667%; + } + + .column.is-offset-5-widescreen { + margin-left: 41.66667%; + } + + .column.is-6-widescreen { + flex: none; + width: 50%; + } + + .column.is-offset-6-widescreen { + margin-left: 50%; + } + + .column.is-7-widescreen { + flex: none; + width: 58.33333%; + } + + .column.is-offset-7-widescreen { + margin-left: 58.33333%; + } + + .column.is-8-widescreen { + flex: none; + width: 66.66667%; + } + + .column.is-offset-8-widescreen { + margin-left: 66.66667%; + } + + .column.is-9-widescreen { + flex: none; + width: 75%; + } + + .column.is-offset-9-widescreen { + margin-left: 75%; + } + + .column.is-10-widescreen { + flex: none; + width: 83.33333%; + } + + .column.is-offset-10-widescreen { + margin-left: 83.33333%; + } + + .column.is-11-widescreen { + flex: none; + width: 91.66667%; + } + + .column.is-offset-11-widescreen { + margin-left: 91.66667%; + } + + .column.is-12-widescreen { + flex: none; + width: 100%; + } + + .column.is-offset-12-widescreen { + margin-left: 100%; + } +} + +@media screen and (min-width: 1408px) { + .column.is-narrow-fullhd { + flex: none; + width: unset; + } + + .column.is-full-fullhd { + flex: none; + width: 100%; + } + + .column.is-three-quarters-fullhd { + flex: none; + width: 75%; + } + + .column.is-two-thirds-fullhd { + flex: none; + width: 66.6666%; + } + + .column.is-half-fullhd { + flex: none; + width: 50%; + } + + .column.is-one-third-fullhd { + flex: none; + width: 33.3333%; + } + + .column.is-one-quarter-fullhd { + flex: none; + width: 25%; + } + + .column.is-one-fifth-fullhd { + flex: none; + width: 20%; + } + + .column.is-two-fifths-fullhd { + flex: none; + width: 40%; + } + + .column.is-three-fifths-fullhd { + flex: none; + width: 60%; + } + + .column.is-four-fifths-fullhd { + flex: none; + width: 80%; + } + + .column.is-offset-three-quarters-fullhd { + margin-left: 75%; + } + + .column.is-offset-two-thirds-fullhd { + margin-left: 66.6666%; + } + + .column.is-offset-half-fullhd { + margin-left: 50%; + } + + .column.is-offset-one-third-fullhd { + margin-left: 33.3333%; + } + + .column.is-offset-one-quarter-fullhd { + margin-left: 25%; + } + + .column.is-offset-one-fifth-fullhd { + margin-left: 20%; + } + + .column.is-offset-two-fifths-fullhd { + margin-left: 40%; + } + + .column.is-offset-three-fifths-fullhd { + margin-left: 60%; + } + + .column.is-offset-four-fifths-fullhd { + margin-left: 80%; + } + + .column.is-0-fullhd { + flex: none; + width: 0%; + } + + .column.is-offset-0-fullhd { + margin-left: 0%; + } + + .column.is-1-fullhd { + flex: none; + width: 8.33333%; + } + + .column.is-offset-1-fullhd { + margin-left: 8.33333%; + } + + .column.is-2-fullhd { + flex: none; + width: 16.66667%; + } + + .column.is-offset-2-fullhd { + margin-left: 16.66667%; + } + + .column.is-3-fullhd { + flex: none; + width: 25%; + } + + .column.is-offset-3-fullhd { + margin-left: 25%; + } + + .column.is-4-fullhd { + flex: none; + width: 33.33333%; + } + + .column.is-offset-4-fullhd { + margin-left: 33.33333%; + } + + .column.is-5-fullhd { + flex: none; + width: 41.66667%; + } + + .column.is-offset-5-fullhd { + margin-left: 41.66667%; + } + + .column.is-6-fullhd { + flex: none; + width: 50%; + } + + .column.is-offset-6-fullhd { + margin-left: 50%; + } + + .column.is-7-fullhd { + flex: none; + width: 58.33333%; + } + + .column.is-offset-7-fullhd { + margin-left: 58.33333%; + } + + .column.is-8-fullhd { + flex: none; + width: 66.66667%; + } + + .column.is-offset-8-fullhd { + margin-left: 66.66667%; + } + + .column.is-9-fullhd { + flex: none; + width: 75%; + } + + .column.is-offset-9-fullhd { + margin-left: 75%; + } + + .column.is-10-fullhd { + flex: none; + width: 83.33333%; + } + + .column.is-offset-10-fullhd { + margin-left: 83.33333%; + } + + .column.is-11-fullhd { + flex: none; + width: 91.66667%; + } + + .column.is-offset-11-fullhd { + margin-left: 91.66667%; + } + + .column.is-12-fullhd { + flex: none; + width: 100%; + } + + .column.is-offset-12-fullhd { + margin-left: 100%; + } +} + +.columns { + margin-left: -0.75rem; + margin-right: -0.75rem; + margin-top: -0.75rem; +} + +.columns:last-child { + margin-bottom: -0.75rem; +} + +.columns:not(:last-child) { + margin-bottom: calc(1.5rem - 0.75rem); +} + +.columns.is-centered { + justify-content: center; +} + +.columns.is-gapless { + margin-left: 0; + margin-right: 0; + margin-top: 0; +} + +.columns.is-gapless>.column { + margin: 0; + padding: 0 !important; +} + +.columns.is-gapless:not(:last-child) { + margin-bottom: 1.5rem; +} + +.columns.is-gapless:last-child { + margin-bottom: 0; +} + +.columns.is-mobile { + display: flex; +} + +.columns.is-multiline { + flex-wrap: wrap; +} + +.columns.is-vcentered { + align-items: center; +} + +@media screen and (min-width: 769px), +print { + .columns:not(.is-desktop) { + display: flex; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-desktop { + display: flex; + } +} + +.columns.is-variable { + --columnGap: 0.75rem; + margin-left: calc(-1 * var(--columnGap)); + margin-right: calc(-1 * var(--columnGap)); +} + +.columns.is-variable>.column { + padding-left: var(--columnGap); + padding-right: var(--columnGap); +} + +.columns.is-variable.is-0 { + --columnGap: 0rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-0-mobile { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-0-tablet { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-0-tablet-only { + --columnGap: 0rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-0-touch { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-0-desktop { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-0-desktop-only { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-0-widescreen { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-0-widescreen-only { + --columnGap: 0rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-0-fullhd { + --columnGap: 0rem; + } +} + +.columns.is-variable.is-1 { + --columnGap: 0.25rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-1-mobile { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-1-tablet { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-1-tablet-only { + --columnGap: 0.25rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-1-touch { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-1-desktop { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-1-desktop-only { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-1-widescreen { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-1-widescreen-only { + --columnGap: 0.25rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-1-fullhd { + --columnGap: 0.25rem; + } +} + +.columns.is-variable.is-2 { + --columnGap: 0.5rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-2-mobile { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-2-tablet { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-2-tablet-only { + --columnGap: 0.5rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-2-touch { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-2-desktop { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-2-desktop-only { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-2-widescreen { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-2-widescreen-only { + --columnGap: 0.5rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-2-fullhd { + --columnGap: 0.5rem; + } +} + +.columns.is-variable.is-3 { + --columnGap: 0.75rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-3-mobile { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-3-tablet { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-3-tablet-only { + --columnGap: 0.75rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-3-touch { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-3-desktop { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-3-desktop-only { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-3-widescreen { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-3-widescreen-only { + --columnGap: 0.75rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-3-fullhd { + --columnGap: 0.75rem; + } +} + +.columns.is-variable.is-4 { + --columnGap: 1rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-4-mobile { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-4-tablet { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-4-tablet-only { + --columnGap: 1rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-4-touch { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-4-desktop { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-4-desktop-only { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-4-widescreen { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-4-widescreen-only { + --columnGap: 1rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-4-fullhd { + --columnGap: 1rem; + } +} + +.columns.is-variable.is-5 { + --columnGap: 1.25rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-5-mobile { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-5-tablet { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-5-tablet-only { + --columnGap: 1.25rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-5-touch { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-5-desktop { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-5-desktop-only { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-5-widescreen { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-5-widescreen-only { + --columnGap: 1.25rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-5-fullhd { + --columnGap: 1.25rem; + } +} + +.columns.is-variable.is-6 { + --columnGap: 1.5rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-6-mobile { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-6-tablet { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-6-tablet-only { + --columnGap: 1.5rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-6-touch { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-6-desktop { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-6-desktop-only { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-6-widescreen { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-6-widescreen-only { + --columnGap: 1.5rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-6-fullhd { + --columnGap: 1.5rem; + } +} + +.columns.is-variable.is-7 { + --columnGap: 1.75rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-7-mobile { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-7-tablet { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-7-tablet-only { + --columnGap: 1.75rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-7-touch { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-7-desktop { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-7-desktop-only { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-7-widescreen { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-7-widescreen-only { + --columnGap: 1.75rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-7-fullhd { + --columnGap: 1.75rem; + } +} + +.columns.is-variable.is-8 { + --columnGap: 2rem; +} + +@media screen and (max-width: 768px) { + .columns.is-variable.is-8-mobile { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 769px), +print { + .columns.is-variable.is-8-tablet { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .columns.is-variable.is-8-tablet-only { + --columnGap: 2rem; + } +} + +@media screen and (max-width: 1023px) { + .columns.is-variable.is-8-touch { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 1024px) { + .columns.is-variable.is-8-desktop { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .columns.is-variable.is-8-desktop-only { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 1216px) { + .columns.is-variable.is-8-widescreen { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .columns.is-variable.is-8-widescreen-only { + --columnGap: 2rem; + } +} + +@media screen and (min-width: 1408px) { + .columns.is-variable.is-8-fullhd { + --columnGap: 2rem; + } +} + +.tile { + align-items: stretch; + display: block; + flex-basis: 0; + flex-grow: 1; + flex-shrink: 1; + min-height: -webkit-min-content; + min-height: -moz-min-content; + min-height: min-content; +} + +.tile.is-ancestor { + margin-left: -0.75rem; + margin-right: -0.75rem; + margin-top: -0.75rem; +} + +.tile.is-ancestor:last-child { + margin-bottom: -0.75rem; +} + +.tile.is-ancestor:not(:last-child) { + margin-bottom: 0.75rem; +} + +.tile.is-child { + margin: 0 !important; +} + +.tile.is-parent { + padding: 0.75rem; +} + +.tile.is-vertical { + flex-direction: column; +} + +.tile.is-vertical>.tile.is-child:not(:last-child) { + margin-bottom: 1.5rem !important; +} + +@media screen and (min-width: 769px), +print { + .tile:not(.is-child) { + display: flex; + } + + .tile.is-1 { + flex: none; + width: 8.33333%; + } + + .tile.is-2 { + flex: none; + width: 16.66667%; + } + + .tile.is-3 { + flex: none; + width: 25%; + } + + .tile.is-4 { + flex: none; + width: 33.33333%; + } + + .tile.is-5 { + flex: none; + width: 41.66667%; + } + + .tile.is-6 { + flex: none; + width: 50%; + } + + .tile.is-7 { + flex: none; + width: 58.33333%; + } + + .tile.is-8 { + flex: none; + width: 66.66667%; + } + + .tile.is-9 { + flex: none; + width: 75%; + } + + .tile.is-10 { + flex: none; + width: 83.33333%; + } + + .tile.is-11 { + flex: none; + width: 91.66667%; + } + + .tile.is-12 { + flex: none; + width: 100%; + } +} + +/* Bulma Helpers */ +.has-text-white { + color: white !important; +} + +a.has-text-white:hover, +a.has-text-white:focus { + color: #e6e6e6 !important; +} + +.has-background-white { + background-color: white !important; +} + +.has-text-black { + color: #0a0a0a !important; +} + +a.has-text-black:hover, +a.has-text-black:focus { + color: black !important; +} + +.has-background-black { + background-color: #0a0a0a !important; +} + +.has-text-light { + color: whitesmoke !important; +} + +a.has-text-light:hover, +a.has-text-light:focus { + color: #dbdbdb !important; +} + +.has-background-light { + background-color: whitesmoke !important; +} + +.has-text-dark { + color: #363636 !important; +} + +a.has-text-dark:hover, +a.has-text-dark:focus { + color: #1c1c1c !important; +} + +.has-background-dark { + background-color: #363636 !important; +} + +.has-text-primary { + color: #00d1b2 !important; +} + +a.has-text-primary:hover, +a.has-text-primary:focus { + color: #009e86 !important; +} + +.has-background-primary { + background-color: #00d1b2 !important; +} + +.has-text-primary-light { + color: #ebfffc !important; +} + +a.has-text-primary-light:hover, +a.has-text-primary-light:focus { + color: #b8fff4 !important; +} + +.has-background-primary-light { + background-color: #ebfffc !important; +} + +.has-text-primary-dark { + color: #00947e !important; +} + +a.has-text-primary-dark:hover, +a.has-text-primary-dark:focus { + color: #00c7a9 !important; +} + +.has-background-primary-dark { + background-color: #00947e !important; +} + +.has-text-link { + color: #485fc7 !important; +} + +a.has-text-link:hover, +a.has-text-link:focus { + color: #3449a8 !important; +} + +.has-background-link { + background-color: #485fc7 !important; +} + +.has-text-link-light { + color: #eff1fa !important; +} + +a.has-text-link-light:hover, +a.has-text-link-light:focus { + color: #c8cfee !important; +} + +.has-background-link-light { + background-color: #eff1fa !important; +} + +.has-text-link-dark { + color: #3850b7 !important; +} + +a.has-text-link-dark:hover, +a.has-text-link-dark:focus { + color: #576dcb !important; +} + +.has-background-link-dark { + background-color: #3850b7 !important; +} + +.has-text-info { + color: #3e8ed0 !important; +} + +a.has-text-info:hover, +a.has-text-info:focus { + color: #2b74b1 !important; +} + +.has-background-info { + background-color: #3e8ed0 !important; +} + +.has-text-info-light { + color: #eff5fb !important; +} + +a.has-text-info-light:hover, +a.has-text-info-light:focus { + color: #c6ddf1 !important; +} + +.has-background-info-light { + background-color: #eff5fb !important; +} + +.has-text-info-dark { + color: #296fa8 !important; +} + +a.has-text-info-dark:hover, +a.has-text-info-dark:focus { + color: #368ace !important; +} + +.has-background-info-dark { + background-color: #296fa8 !important; +} + +.has-text-success { + color: #48c78e !important; +} + +a.has-text-success:hover, +a.has-text-success:focus { + color: #34a873 !important; +} + +.has-background-success { + background-color: #48c78e !important; +} + +.has-text-success-light { + color: #effaf5 !important; +} + +a.has-text-success-light:hover, +a.has-text-success-light:focus { + color: #c8eedd !important; +} + +.has-background-success-light { + background-color: #effaf5 !important; +} + +.has-text-success-dark { + color: #257953 !important; +} + +a.has-text-success-dark:hover, +a.has-text-success-dark:focus { + color: #31a06e !important; +} + +.has-background-success-dark { + background-color: #257953 !important; +} + +.has-text-warning { + color: #ffe08a !important; +} + +a.has-text-warning:hover, +a.has-text-warning:focus { + color: #ffd257 !important; +} + +.has-background-warning { + background-color: #ffe08a !important; +} + +.has-text-warning-light { + color: #fffaeb !important; +} + +a.has-text-warning-light:hover, +a.has-text-warning-light:focus { + color: #ffecb8 !important; +} + +.has-background-warning-light { + background-color: #fffaeb !important; +} + +.has-text-warning-dark { + color: #946c00 !important; +} + +a.has-text-warning-dark:hover, +a.has-text-warning-dark:focus { + color: #c79200 !important; +} + +.has-background-warning-dark { + background-color: #946c00 !important; +} + +.has-text-danger { + color: #f14668 !important; +} + +a.has-text-danger:hover, +a.has-text-danger:focus { + color: #ee1742 !important; +} + +.has-background-danger { + background-color: #f14668 !important; +} + +.has-text-danger-light { + color: #feecf0 !important; +} + +a.has-text-danger-light:hover, +a.has-text-danger-light:focus { + color: #fabdc9 !important; +} + +.has-background-danger-light { + background-color: #feecf0 !important; +} + +.has-text-danger-dark { + color: #cc0f35 !important; +} + +a.has-text-danger-dark:hover, +a.has-text-danger-dark:focus { + color: #ee2049 !important; +} + +.has-background-danger-dark { + background-color: #cc0f35 !important; +} + +.has-text-black-bis { + color: #121212 !important; +} + +.has-background-black-bis { + background-color: #121212 !important; +} + +.has-text-black-ter { + color: #242424 !important; +} + +.has-background-black-ter { + background-color: #242424 !important; +} + +.has-text-grey-darker { + color: #363636 !important; +} + +.has-background-grey-darker { + background-color: #363636 !important; +} + +.has-text-grey-dark { + color: #4a4a4a !important; +} + +.has-background-grey-dark { + background-color: #4a4a4a !important; +} + +.has-text-grey { + color: #7a7a7a !important; +} + +.has-background-grey { + background-color: #7a7a7a !important; +} + +.has-text-grey-light { + color: #b5b5b5 !important; +} + +.has-background-grey-light { + background-color: #b5b5b5 !important; +} + +.has-text-grey-lighter { + color: #dbdbdb !important; +} + +.has-background-grey-lighter { + background-color: #dbdbdb !important; +} + +.has-text-white-ter { + color: whitesmoke !important; +} + +.has-background-white-ter { + background-color: whitesmoke !important; +} + +.has-text-white-bis { + color: #fafafa !important; +} + +.has-background-white-bis { + background-color: #fafafa !important; +} + +.is-flex-direction-row { + flex-direction: row !important; +} + +.is-flex-direction-row-reverse { + flex-direction: row-reverse !important; +} + +.is-flex-direction-column { + flex-direction: column !important; +} + +.is-flex-direction-column-reverse { + flex-direction: column-reverse !important; +} + +.is-flex-wrap-nowrap { + flex-wrap: nowrap !important; +} + +.is-flex-wrap-wrap { + flex-wrap: wrap !important; +} + +.is-flex-wrap-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.is-justify-content-flex-start { + justify-content: flex-start !important; +} + +.is-justify-content-flex-end { + justify-content: flex-end !important; +} + +.is-justify-content-center { + justify-content: center !important; +} + +.is-justify-content-space-between { + justify-content: space-between !important; +} + +.is-justify-content-space-around { + justify-content: space-around !important; +} + +.is-justify-content-space-evenly { + justify-content: space-evenly !important; +} + +.is-justify-content-start { + justify-content: start !important; +} + +.is-justify-content-end { + justify-content: end !important; +} + +.is-justify-content-left { + justify-content: left !important; +} + +.is-justify-content-right { + justify-content: right !important; +} + +.is-align-content-flex-start { + align-content: flex-start !important; +} + +.is-align-content-flex-end { + align-content: flex-end !important; +} + +.is-align-content-center { + align-content: center !important; +} + +.is-align-content-space-between { + align-content: space-between !important; +} + +.is-align-content-space-around { + align-content: space-around !important; +} + +.is-align-content-space-evenly { + align-content: space-evenly !important; +} + +.is-align-content-stretch { + align-content: stretch !important; +} + +.is-align-content-start { + align-content: start !important; +} + +.is-align-content-end { + align-content: end !important; +} + +.is-align-content-baseline { + align-content: baseline !important; +} + +.is-align-items-stretch { + align-items: stretch !important; +} + +.is-align-items-flex-start { + align-items: flex-start !important; +} + +.is-align-items-flex-end { + align-items: flex-end !important; +} + +.is-align-items-center { + align-items: center !important; +} + +.is-align-items-baseline { + align-items: baseline !important; +} + +.is-align-items-start { + align-items: start !important; +} + +.is-align-items-end { + align-items: end !important; +} + +.is-align-items-self-start { + align-items: self-start !important; +} + +.is-align-items-self-end { + align-items: self-end !important; +} + +.is-align-self-auto { + align-self: auto !important; +} + +.is-align-self-flex-start { + align-self: flex-start !important; +} + +.is-align-self-flex-end { + align-self: flex-end !important; +} + +.is-align-self-center { + align-self: center !important; +} + +.is-align-self-baseline { + align-self: baseline !important; +} + +.is-align-self-stretch { + align-self: stretch !important; +} + +.is-flex-grow-0 { + flex-grow: 0 !important; +} + +.is-flex-grow-1 { + flex-grow: 1 !important; +} + +.is-flex-grow-2 { + flex-grow: 2 !important; +} + +.is-flex-grow-3 { + flex-grow: 3 !important; +} + +.is-flex-grow-4 { + flex-grow: 4 !important; +} + +.is-flex-grow-5 { + flex-grow: 5 !important; +} + +.is-flex-shrink-0 { + flex-shrink: 0 !important; +} + +.is-flex-shrink-1 { + flex-shrink: 1 !important; +} + +.is-flex-shrink-2 { + flex-shrink: 2 !important; +} + +.is-flex-shrink-3 { + flex-shrink: 3 !important; +} + +.is-flex-shrink-4 { + flex-shrink: 4 !important; +} + +.is-flex-shrink-5 { + flex-shrink: 5 !important; +} + +.is-clearfix::after { + clear: both; + content: " "; + display: table; +} + +.is-pulled-left { + float: left !important; +} + +.is-pulled-right { + float: right !important; +} + +.is-radiusless { + border-radius: 0 !important; +} + +.is-shadowless { + box-shadow: none !important; +} + +.is-clickable { + cursor: pointer !important; + pointer-events: all !important; +} + +.is-clipped { + overflow: hidden !important; +} + +.is-relative { + position: relative !important; +} + +.is-marginless { + margin: 0 !important; +} + +.is-paddingless { + padding: 0 !important; +} + +.m-0 { + margin: 0 !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mr-0 { + margin-right: 0 !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.ml-0 { + margin-left: 0 !important; +} + +.mx-0 { + margin-left: 0 !important; + margin-right: 0 !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mr-1 { + margin-right: 0.25rem !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.ml-1 { + margin-left: 0.25rem !important; +} + +.mx-1 { + margin-left: 0.25rem !important; + margin-right: 0.25rem !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mr-2 { + margin-right: 0.5rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.ml-2 { + margin-left: 0.5rem !important; +} + +.mx-2 { + margin-left: 0.5rem !important; + margin-right: 0.5rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.m-3 { + margin: 0.75rem !important; +} + +.mt-3 { + margin-top: 0.75rem !important; +} + +.mr-3 { + margin-right: 0.75rem !important; +} + +.mb-3 { + margin-bottom: 0.75rem !important; +} + +.ml-3 { + margin-left: 0.75rem !important; +} + +.mx-3 { + margin-left: 0.75rem !important; + margin-right: 0.75rem !important; +} + +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} + +.m-4 { + margin: 1rem !important; +} + +.mt-4 { + margin-top: 1rem !important; +} + +.mr-4 { + margin-right: 1rem !important; +} + +.mb-4 { + margin-bottom: 1rem !important; +} + +.ml-4 { + margin-left: 1rem !important; +} + +.mx-4 { + margin-left: 1rem !important; + margin-right: 1rem !important; +} + +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.m-5 { + margin: 1.5rem !important; +} + +.mt-5 { + margin-top: 1.5rem !important; +} + +.mr-5 { + margin-right: 1.5rem !important; +} + +.mb-5 { + margin-bottom: 1.5rem !important; +} + +.ml-5 { + margin-left: 1.5rem !important; +} + +.mx-5 { + margin-left: 1.5rem !important; + margin-right: 1.5rem !important; +} + +.my-5 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.m-6 { + margin: 3rem !important; +} + +.mt-6 { + margin-top: 3rem !important; +} + +.mr-6 { + margin-right: 3rem !important; +} + +.mb-6 { + margin-bottom: 3rem !important; +} + +.ml-6 { + margin-left: 3rem !important; +} + +.mx-6 { + margin-left: 3rem !important; + margin-right: 3rem !important; +} + +.my-6 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.mr-auto { + margin-right: auto !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ml-auto { + margin-left: auto !important; +} + +.mx-auto { + margin-left: auto !important; + margin-right: auto !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.p-0 { + padding: 0 !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pr-0 { + padding-right: 0 !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pl-0 { + padding-left: 0 !important; +} + +.px-0 { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pr-1 { + padding-right: 0.25rem !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pl-1 { + padding-left: 0.25rem !important; +} + +.px-1 { + padding-left: 0.25rem !important; + padding-right: 0.25rem !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pr-2 { + padding-right: 0.5rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pl-2 { + padding-left: 0.5rem !important; +} + +.px-2 { + padding-left: 0.5rem !important; + padding-right: 0.5rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.p-3 { + padding: 0.75rem !important; +} + +.pt-3 { + padding-top: 0.75rem !important; +} + +.pr-3 { + padding-right: 0.75rem !important; +} + +.pb-3 { + padding-bottom: 0.75rem !important; +} + +.pl-3 { + padding-left: 0.75rem !important; +} + +.px-3 { + padding-left: 0.75rem !important; + padding-right: 0.75rem !important; +} + +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} + +.p-4 { + padding: 1rem !important; +} + +.pt-4 { + padding-top: 1rem !important; +} + +.pr-4 { + padding-right: 1rem !important; +} + +.pb-4 { + padding-bottom: 1rem !important; +} + +.pl-4 { + padding-left: 1rem !important; +} + +.px-4 { + padding-left: 1rem !important; + padding-right: 1rem !important; +} + +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.p-5 { + padding: 1.5rem !important; +} + +.pt-5 { + padding-top: 1.5rem !important; +} + +.pr-5 { + padding-right: 1.5rem !important; +} + +.pb-5 { + padding-bottom: 1.5rem !important; +} + +.pl-5 { + padding-left: 1.5rem !important; +} + +.px-5 { + padding-left: 1.5rem !important; + padding-right: 1.5rem !important; +} + +.py-5 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.p-6 { + padding: 3rem !important; +} + +.pt-6 { + padding-top: 3rem !important; +} + +.pr-6 { + padding-right: 3rem !important; +} + +.pb-6 { + padding-bottom: 3rem !important; +} + +.pl-6 { + padding-left: 3rem !important; +} + +.px-6 { + padding-left: 3rem !important; + padding-right: 3rem !important; +} + +.py-6 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.p-auto { + padding: auto !important; +} + +.pt-auto { + padding-top: auto !important; +} + +.pr-auto { + padding-right: auto !important; +} + +.pb-auto { + padding-bottom: auto !important; +} + +.pl-auto { + padding-left: auto !important; +} + +.px-auto { + padding-left: auto !important; + padding-right: auto !important; +} + +.py-auto { + padding-top: auto !important; + padding-bottom: auto !important; +} + +.is-size-1 { + font-size: 3rem !important; +} + +.is-size-2 { + font-size: 2.5rem !important; +} + +.is-size-3 { + font-size: 2rem !important; +} + +.is-size-4 { + font-size: 1.5rem !important; +} + +.is-size-5 { + font-size: 1.25rem !important; +} + +.is-size-6 { + font-size: 1rem !important; +} + +.is-size-7 { + font-size: 0.75rem !important; +} + +@media screen and (max-width: 768px) { + .is-size-1-mobile { + font-size: 3rem !important; + } + + .is-size-2-mobile { + font-size: 2.5rem !important; + } + + .is-size-3-mobile { + font-size: 2rem !important; + } + + .is-size-4-mobile { + font-size: 1.5rem !important; + } + + .is-size-5-mobile { + font-size: 1.25rem !important; + } + + .is-size-6-mobile { + font-size: 1rem !important; + } + + .is-size-7-mobile { + font-size: 0.75rem !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-size-1-tablet { + font-size: 3rem !important; + } + + .is-size-2-tablet { + font-size: 2.5rem !important; + } + + .is-size-3-tablet { + font-size: 2rem !important; + } + + .is-size-4-tablet { + font-size: 1.5rem !important; + } + + .is-size-5-tablet { + font-size: 1.25rem !important; + } + + .is-size-6-tablet { + font-size: 1rem !important; + } + + .is-size-7-tablet { + font-size: 0.75rem !important; + } +} + +@media screen and (max-width: 1023px) { + .is-size-1-touch { + font-size: 3rem !important; + } + + .is-size-2-touch { + font-size: 2.5rem !important; + } + + .is-size-3-touch { + font-size: 2rem !important; + } + + .is-size-4-touch { + font-size: 1.5rem !important; + } + + .is-size-5-touch { + font-size: 1.25rem !important; + } + + .is-size-6-touch { + font-size: 1rem !important; + } + + .is-size-7-touch { + font-size: 0.75rem !important; + } +} + +@media screen and (min-width: 1024px) { + .is-size-1-desktop { + font-size: 3rem !important; + } + + .is-size-2-desktop { + font-size: 2.5rem !important; + } + + .is-size-3-desktop { + font-size: 2rem !important; + } + + .is-size-4-desktop { + font-size: 1.5rem !important; + } + + .is-size-5-desktop { + font-size: 1.25rem !important; + } + + .is-size-6-desktop { + font-size: 1rem !important; + } + + .is-size-7-desktop { + font-size: 0.75rem !important; + } +} + +@media screen and (min-width: 1216px) { + .is-size-1-widescreen { + font-size: 3rem !important; + } + + .is-size-2-widescreen { + font-size: 2.5rem !important; + } + + .is-size-3-widescreen { + font-size: 2rem !important; + } + + .is-size-4-widescreen { + font-size: 1.5rem !important; + } + + .is-size-5-widescreen { + font-size: 1.25rem !important; + } + + .is-size-6-widescreen { + font-size: 1rem !important; + } + + .is-size-7-widescreen { + font-size: 0.75rem !important; + } +} + +@media screen and (min-width: 1408px) { + .is-size-1-fullhd { + font-size: 3rem !important; + } + + .is-size-2-fullhd { + font-size: 2.5rem !important; + } + + .is-size-3-fullhd { + font-size: 2rem !important; + } + + .is-size-4-fullhd { + font-size: 1.5rem !important; + } + + .is-size-5-fullhd { + font-size: 1.25rem !important; + } + + .is-size-6-fullhd { + font-size: 1rem !important; + } + + .is-size-7-fullhd { + font-size: 0.75rem !important; + } +} + +.has-text-centered { + text-align: center !important; +} + +.has-text-justified { + text-align: justify !important; +} + +.has-text-left { + text-align: left !important; +} + +.has-text-right { + text-align: right !important; +} + +@media screen and (max-width: 768px) { + .has-text-centered-mobile { + text-align: center !important; + } +} + +@media screen and (min-width: 769px), +print { + .has-text-centered-tablet { + text-align: center !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-centered-tablet-only { + text-align: center !important; + } +} + +@media screen and (max-width: 1023px) { + .has-text-centered-touch { + text-align: center !important; + } +} + +@media screen and (min-width: 1024px) { + .has-text-centered-desktop { + text-align: center !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-centered-desktop-only { + text-align: center !important; + } +} + +@media screen and (min-width: 1216px) { + .has-text-centered-widescreen { + text-align: center !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-centered-widescreen-only { + text-align: center !important; + } +} + +@media screen and (min-width: 1408px) { + .has-text-centered-fullhd { + text-align: center !important; + } +} + +@media screen and (max-width: 768px) { + .has-text-justified-mobile { + text-align: justify !important; + } +} + +@media screen and (min-width: 769px), +print { + .has-text-justified-tablet { + text-align: justify !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-justified-tablet-only { + text-align: justify !important; + } +} + +@media screen and (max-width: 1023px) { + .has-text-justified-touch { + text-align: justify !important; + } +} + +@media screen and (min-width: 1024px) { + .has-text-justified-desktop { + text-align: justify !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-justified-desktop-only { + text-align: justify !important; + } +} + +@media screen and (min-width: 1216px) { + .has-text-justified-widescreen { + text-align: justify !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-justified-widescreen-only { + text-align: justify !important; + } +} + +@media screen and (min-width: 1408px) { + .has-text-justified-fullhd { + text-align: justify !important; + } +} + +@media screen and (max-width: 768px) { + .has-text-left-mobile { + text-align: left !important; + } +} + +@media screen and (min-width: 769px), +print { + .has-text-left-tablet { + text-align: left !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-left-tablet-only { + text-align: left !important; + } +} + +@media screen and (max-width: 1023px) { + .has-text-left-touch { + text-align: left !important; + } +} + +@media screen and (min-width: 1024px) { + .has-text-left-desktop { + text-align: left !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-left-desktop-only { + text-align: left !important; + } +} + +@media screen and (min-width: 1216px) { + .has-text-left-widescreen { + text-align: left !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-left-widescreen-only { + text-align: left !important; + } +} + +@media screen and (min-width: 1408px) { + .has-text-left-fullhd { + text-align: left !important; + } +} + +@media screen and (max-width: 768px) { + .has-text-right-mobile { + text-align: right !important; + } +} + +@media screen and (min-width: 769px), +print { + .has-text-right-tablet { + text-align: right !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .has-text-right-tablet-only { + text-align: right !important; + } +} + +@media screen and (max-width: 1023px) { + .has-text-right-touch { + text-align: right !important; + } +} + +@media screen and (min-width: 1024px) { + .has-text-right-desktop { + text-align: right !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .has-text-right-desktop-only { + text-align: right !important; + } +} + +@media screen and (min-width: 1216px) { + .has-text-right-widescreen { + text-align: right !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .has-text-right-widescreen-only { + text-align: right !important; + } +} + +@media screen and (min-width: 1408px) { + .has-text-right-fullhd { + text-align: right !important; + } +} + +.is-capitalized { + text-transform: capitalize !important; +} + +.is-lowercase { + text-transform: lowercase !important; +} + +.is-uppercase { + text-transform: uppercase !important; +} + +.is-italic { + font-style: italic !important; +} + +.is-underlined { + text-decoration: underline !important; +} + +.has-text-weight-light { + font-weight: 300 !important; +} + +.has-text-weight-normal { + font-weight: 400 !important; +} + +.has-text-weight-medium { + font-weight: 500 !important; +} + +.has-text-weight-semibold { + font-weight: 600 !important; +} + +.has-text-weight-bold { + font-weight: 700 !important; +} + +.is-family-primary { + font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; +} + +.is-family-secondary { + font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; +} + +.is-family-sans-serif { + font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important; +} + +.is-family-monospace { + font-family: monospace !important; +} + +.is-family-code { + font-family: monospace !important; +} + +.is-block { + display: block !important; +} + +@media screen and (max-width: 768px) { + .is-block-mobile { + display: block !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-block-tablet { + display: block !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-block-tablet-only { + display: block !important; + } +} + +@media screen and (max-width: 1023px) { + .is-block-touch { + display: block !important; + } +} + +@media screen and (min-width: 1024px) { + .is-block-desktop { + display: block !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-block-desktop-only { + display: block !important; + } +} + +@media screen and (min-width: 1216px) { + .is-block-widescreen { + display: block !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-block-widescreen-only { + display: block !important; + } +} + +@media screen and (min-width: 1408px) { + .is-block-fullhd { + display: block !important; + } +} + +.is-flex { + display: flex !important; +} + +@media screen and (max-width: 768px) { + .is-flex-mobile { + display: flex !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-flex-tablet { + display: flex !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-flex-tablet-only { + display: flex !important; + } +} + +@media screen and (max-width: 1023px) { + .is-flex-touch { + display: flex !important; + } +} + +@media screen and (min-width: 1024px) { + .is-flex-desktop { + display: flex !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-flex-desktop-only { + display: flex !important; + } +} + +@media screen and (min-width: 1216px) { + .is-flex-widescreen { + display: flex !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-flex-widescreen-only { + display: flex !important; + } +} + +@media screen and (min-width: 1408px) { + .is-flex-fullhd { + display: flex !important; + } +} + +.is-inline { + display: inline !important; +} + +@media screen and (max-width: 768px) { + .is-inline-mobile { + display: inline !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-inline-tablet { + display: inline !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-inline-tablet-only { + display: inline !important; + } +} + +@media screen and (max-width: 1023px) { + .is-inline-touch { + display: inline !important; + } +} + +@media screen and (min-width: 1024px) { + .is-inline-desktop { + display: inline !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-inline-desktop-only { + display: inline !important; + } +} + +@media screen and (min-width: 1216px) { + .is-inline-widescreen { + display: inline !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-widescreen-only { + display: inline !important; + } +} + +@media screen and (min-width: 1408px) { + .is-inline-fullhd { + display: inline !important; + } +} + +.is-inline-block { + display: inline-block !important; +} + +@media screen and (max-width: 768px) { + .is-inline-block-mobile { + display: inline-block !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-inline-block-tablet { + display: inline-block !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-inline-block-tablet-only { + display: inline-block !important; + } +} + +@media screen and (max-width: 1023px) { + .is-inline-block-touch { + display: inline-block !important; + } +} + +@media screen and (min-width: 1024px) { + .is-inline-block-desktop { + display: inline-block !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-inline-block-desktop-only { + display: inline-block !important; + } +} + +@media screen and (min-width: 1216px) { + .is-inline-block-widescreen { + display: inline-block !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-block-widescreen-only { + display: inline-block !important; + } +} + +@media screen and (min-width: 1408px) { + .is-inline-block-fullhd { + display: inline-block !important; + } +} + +.is-inline-flex { + display: inline-flex !important; +} + +@media screen and (max-width: 768px) { + .is-inline-flex-mobile { + display: inline-flex !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-inline-flex-tablet { + display: inline-flex !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-inline-flex-tablet-only { + display: inline-flex !important; + } +} + +@media screen and (max-width: 1023px) { + .is-inline-flex-touch { + display: inline-flex !important; + } +} + +@media screen and (min-width: 1024px) { + .is-inline-flex-desktop { + display: inline-flex !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-inline-flex-desktop-only { + display: inline-flex !important; + } +} + +@media screen and (min-width: 1216px) { + .is-inline-flex-widescreen { + display: inline-flex !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-inline-flex-widescreen-only { + display: inline-flex !important; + } +} + +@media screen and (min-width: 1408px) { + .is-inline-flex-fullhd { + display: inline-flex !important; + } +} + +.is-hidden { + display: none !important; +} + +.is-sr-only { + border: none !important; + clip: rect(0, 0, 0, 0) !important; + height: 0.01em !important; + overflow: hidden !important; + padding: 0 !important; + position: absolute !important; + white-space: nowrap !important; + width: 0.01em !important; +} + +@media screen and (max-width: 768px) { + .is-hidden-mobile { + display: none !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-hidden-tablet { + display: none !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-hidden-tablet-only { + display: none !important; + } +} + +@media screen and (max-width: 1023px) { + .is-hidden-touch { + display: none !important; + } +} + +@media screen and (min-width: 1024px) { + .is-hidden-desktop { + display: none !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-hidden-desktop-only { + display: none !important; + } +} + +@media screen and (min-width: 1216px) { + .is-hidden-widescreen { + display: none !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-hidden-widescreen-only { + display: none !important; + } +} + +@media screen and (min-width: 1408px) { + .is-hidden-fullhd { + display: none !important; + } +} + +.is-invisible { + visibility: hidden !important; +} + +@media screen and (max-width: 768px) { + .is-invisible-mobile { + visibility: hidden !important; + } +} + +@media screen and (min-width: 769px), +print { + .is-invisible-tablet { + visibility: hidden !important; + } +} + +@media screen and (min-width: 769px) and (max-width: 1023px) { + .is-invisible-tablet-only { + visibility: hidden !important; + } +} + +@media screen and (max-width: 1023px) { + .is-invisible-touch { + visibility: hidden !important; + } +} + +@media screen and (min-width: 1024px) { + .is-invisible-desktop { + visibility: hidden !important; + } +} + +@media screen and (min-width: 1024px) and (max-width: 1215px) { + .is-invisible-desktop-only { + visibility: hidden !important; + } +} + +@media screen and (min-width: 1216px) { + .is-invisible-widescreen { + visibility: hidden !important; + } +} + +@media screen and (min-width: 1216px) and (max-width: 1407px) { + .is-invisible-widescreen-only { + visibility: hidden !important; + } +} + +@media screen and (min-width: 1408px) { + .is-invisible-fullhd { + visibility: hidden !important; + } +} + +/* Bulma Layout */ +.hero { + align-items: stretch; + display: flex; + flex-direction: column; + justify-content: space-between; +} + +.hero .navbar { + background: none; +} + +.hero .tabs ul { + border-bottom: none; +} + +.hero.is-white { + background-color: white; + color: #0a0a0a; +} + +.hero.is-white a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-white strong { + color: inherit; +} + +.hero.is-white .title { + color: #0a0a0a; +} + +.hero.is-white .subtitle { + color: rgba(10, 10, 10, 0.9); +} + +.hero.is-white .subtitle a:not(.button), +.hero.is-white .subtitle strong { + color: #0a0a0a; +} + +@media screen and (max-width: 1023px) { + .hero.is-white .navbar-menu { + background-color: white; + } +} + +.hero.is-white .navbar-item, +.hero.is-white .navbar-link { + color: rgba(10, 10, 10, 0.7); +} + +.hero.is-white a.navbar-item:hover, +.hero.is-white a.navbar-item.is-active, +.hero.is-white .navbar-link:hover, +.hero.is-white .navbar-link.is-active { + background-color: #f2f2f2; + color: #0a0a0a; +} + +.hero.is-white .tabs a { + color: #0a0a0a; + opacity: 0.9; +} + +.hero.is-white .tabs a:hover { + opacity: 1; +} + +.hero.is-white .tabs li.is-active a { + color: white !important; + opacity: 1; +} + +.hero.is-white .tabs.is-boxed a, +.hero.is-white .tabs.is-toggle a { + color: #0a0a0a; +} + +.hero.is-white .tabs.is-boxed a:hover, +.hero.is-white .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-white .tabs.is-boxed li.is-active a, +.hero.is-white .tabs.is-boxed li.is-active a:hover, +.hero.is-white .tabs.is-toggle li.is-active a, +.hero.is-white .tabs.is-toggle li.is-active a:hover { + background-color: #0a0a0a; + border-color: #0a0a0a; + color: white; +} + +.hero.is-white.is-bold { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-white.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #e6e6e6 0%, white 71%, white 100%); + } +} + +.hero.is-black { + background-color: #0a0a0a; + color: white; +} + +.hero.is-black a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-black strong { + color: inherit; +} + +.hero.is-black .title { + color: white; +} + +.hero.is-black .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-black .subtitle a:not(.button), +.hero.is-black .subtitle strong { + color: white; +} + +@media screen and (max-width: 1023px) { + .hero.is-black .navbar-menu { + background-color: #0a0a0a; + } +} + +.hero.is-black .navbar-item, +.hero.is-black .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-black a.navbar-item:hover, +.hero.is-black a.navbar-item.is-active, +.hero.is-black .navbar-link:hover, +.hero.is-black .navbar-link.is-active { + background-color: black; + color: white; +} + +.hero.is-black .tabs a { + color: white; + opacity: 0.9; +} + +.hero.is-black .tabs a:hover { + opacity: 1; +} + +.hero.is-black .tabs li.is-active a { + color: #0a0a0a !important; + opacity: 1; +} + +.hero.is-black .tabs.is-boxed a, +.hero.is-black .tabs.is-toggle a { + color: white; +} + +.hero.is-black .tabs.is-boxed a:hover, +.hero.is-black .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-black .tabs.is-boxed li.is-active a, +.hero.is-black .tabs.is-boxed li.is-active a:hover, +.hero.is-black .tabs.is-toggle li.is-active a, +.hero.is-black .tabs.is-toggle li.is-active a:hover { + background-color: white; + border-color: white; + color: #0a0a0a; +} + +.hero.is-black.is-bold { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-black.is-bold .navbar-menu { + background-image: linear-gradient(141deg, black 0%, #0a0a0a 71%, #181616 100%); + } +} + +.hero.is-light { + background-color: whitesmoke; + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-light a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-light strong { + color: inherit; +} + +.hero.is-light .title { + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-light .subtitle { + color: rgba(0, 0, 0, 0.9); +} + +.hero.is-light .subtitle a:not(.button), +.hero.is-light .subtitle strong { + color: rgba(0, 0, 0, 0.7); +} + +@media screen and (max-width: 1023px) { + .hero.is-light .navbar-menu { + background-color: whitesmoke; + } +} + +.hero.is-light .navbar-item, +.hero.is-light .navbar-link { + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-light a.navbar-item:hover, +.hero.is-light a.navbar-item.is-active, +.hero.is-light .navbar-link:hover, +.hero.is-light .navbar-link.is-active { + background-color: #e8e8e8; + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-light .tabs a { + color: rgba(0, 0, 0, 0.7); + opacity: 0.9; +} + +.hero.is-light .tabs a:hover { + opacity: 1; +} + +.hero.is-light .tabs li.is-active a { + color: whitesmoke !important; + opacity: 1; +} + +.hero.is-light .tabs.is-boxed a, +.hero.is-light .tabs.is-toggle a { + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-light .tabs.is-boxed a:hover, +.hero.is-light .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-light .tabs.is-boxed li.is-active a, +.hero.is-light .tabs.is-boxed li.is-active a:hover, +.hero.is-light .tabs.is-toggle li.is-active a, +.hero.is-light .tabs.is-toggle li.is-active a:hover { + background-color: rgba(0, 0, 0, 0.7); + border-color: rgba(0, 0, 0, 0.7); + color: whitesmoke; +} + +.hero.is-light.is-bold { + background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-light.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #dfd8d9 0%, whitesmoke 71%, white 100%); + } +} + +.hero.is-dark { + background-color: #363636; + color: #fff; +} + +.hero.is-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-dark strong { + color: inherit; +} + +.hero.is-dark .title { + color: #fff; +} + +.hero.is-dark .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-dark .subtitle a:not(.button), +.hero.is-dark .subtitle strong { + color: #fff; +} + +@media screen and (max-width: 1023px) { + .hero.is-dark .navbar-menu { + background-color: #363636; + } +} + +.hero.is-dark .navbar-item, +.hero.is-dark .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-dark a.navbar-item:hover, +.hero.is-dark a.navbar-item.is-active, +.hero.is-dark .navbar-link:hover, +.hero.is-dark .navbar-link.is-active { + background-color: #292929; + color: #fff; +} + +.hero.is-dark .tabs a { + color: #fff; + opacity: 0.9; +} + +.hero.is-dark .tabs a:hover { + opacity: 1; +} + +.hero.is-dark .tabs li.is-active a { + color: #363636 !important; + opacity: 1; +} + +.hero.is-dark .tabs.is-boxed a, +.hero.is-dark .tabs.is-toggle a { + color: #fff; +} + +.hero.is-dark .tabs.is-boxed a:hover, +.hero.is-dark .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-dark .tabs.is-boxed li.is-active a, +.hero.is-dark .tabs.is-boxed li.is-active a:hover, +.hero.is-dark .tabs.is-toggle li.is-active a, +.hero.is-dark .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #363636; +} + +.hero.is-dark.is-bold { + background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-dark.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #1f191a 0%, #363636 71%, #46403f 100%); + } +} + +.hero.is-primary { + background-color: #00d1b2; + color: #fff; +} + +.hero.is-primary a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-primary strong { + color: inherit; +} + +.hero.is-primary .title { + color: #fff; +} + +.hero.is-primary .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-primary .subtitle a:not(.button), +.hero.is-primary .subtitle strong { + color: #fff; +} + +@media screen and (max-width: 1023px) { + .hero.is-primary .navbar-menu { + background-color: #00d1b2; + } +} + +.hero.is-primary .navbar-item, +.hero.is-primary .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-primary a.navbar-item:hover, +.hero.is-primary a.navbar-item.is-active, +.hero.is-primary .navbar-link:hover, +.hero.is-primary .navbar-link.is-active { + background-color: #00b89c; + color: #fff; +} + +.hero.is-primary .tabs a { + color: #fff; + opacity: 0.9; +} + +.hero.is-primary .tabs a:hover { + opacity: 1; +} + +.hero.is-primary .tabs li.is-active a { + color: #00d1b2 !important; + opacity: 1; +} + +.hero.is-primary .tabs.is-boxed a, +.hero.is-primary .tabs.is-toggle a { + color: #fff; +} + +.hero.is-primary .tabs.is-boxed a:hover, +.hero.is-primary .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-primary .tabs.is-boxed li.is-active a, +.hero.is-primary .tabs.is-boxed li.is-active a:hover, +.hero.is-primary .tabs.is-toggle li.is-active a, +.hero.is-primary .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #00d1b2; +} + +.hero.is-primary.is-bold { + background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-primary.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #009e6c 0%, #00d1b2 71%, #00e7eb 100%); + } +} + +.hero.is-link { + background-color: #485fc7; + color: #fff; +} + +.hero.is-link a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-link strong { + color: inherit; +} + +.hero.is-link .title { + color: #fff; +} + +.hero.is-link .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-link .subtitle a:not(.button), +.hero.is-link .subtitle strong { + color: #fff; +} + +@media screen and (max-width: 1023px) { + .hero.is-link .navbar-menu { + background-color: #485fc7; + } +} + +.hero.is-link .navbar-item, +.hero.is-link .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-link a.navbar-item:hover, +.hero.is-link a.navbar-item.is-active, +.hero.is-link .navbar-link:hover, +.hero.is-link .navbar-link.is-active { + background-color: #3a51bb; + color: #fff; +} + +.hero.is-link .tabs a { + color: #fff; + opacity: 0.9; +} + +.hero.is-link .tabs a:hover { + opacity: 1; +} + +.hero.is-link .tabs li.is-active a { + color: #485fc7 !important; + opacity: 1; +} + +.hero.is-link .tabs.is-boxed a, +.hero.is-link .tabs.is-toggle a { + color: #fff; +} + +.hero.is-link .tabs.is-boxed a:hover, +.hero.is-link .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-link .tabs.is-boxed li.is-active a, +.hero.is-link .tabs.is-boxed li.is-active a:hover, +.hero.is-link .tabs.is-toggle li.is-active a, +.hero.is-link .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #485fc7; +} + +.hero.is-link.is-bold { + background-image: linear-gradient(141deg, #2959b3 0%, #485fc7 71%, #5658d2 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-link.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #2959b3 0%, #485fc7 71%, #5658d2 100%); + } +} + +.hero.is-info { + background-color: #3e8ed0; + color: #fff; +} + +.hero.is-info a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-info strong { + color: inherit; +} + +.hero.is-info .title { + color: #fff; +} + +.hero.is-info .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-info .subtitle a:not(.button), +.hero.is-info .subtitle strong { + color: #fff; +} + +@media screen and (max-width: 1023px) { + .hero.is-info .navbar-menu { + background-color: #3e8ed0; + } +} + +.hero.is-info .navbar-item, +.hero.is-info .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-info a.navbar-item:hover, +.hero.is-info a.navbar-item.is-active, +.hero.is-info .navbar-link:hover, +.hero.is-info .navbar-link.is-active { + background-color: #3082c5; + color: #fff; +} + +.hero.is-info .tabs a { + color: #fff; + opacity: 0.9; +} + +.hero.is-info .tabs a:hover { + opacity: 1; +} + +.hero.is-info .tabs li.is-active a { + color: #3e8ed0 !important; + opacity: 1; +} + +.hero.is-info .tabs.is-boxed a, +.hero.is-info .tabs.is-toggle a { + color: #fff; +} + +.hero.is-info .tabs.is-boxed a:hover, +.hero.is-info .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-info .tabs.is-boxed li.is-active a, +.hero.is-info .tabs.is-boxed li.is-active a:hover, +.hero.is-info .tabs.is-toggle li.is-active a, +.hero.is-info .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #3e8ed0; +} + +.hero.is-info.is-bold { + background-image: linear-gradient(141deg, #208fbc 0%, #3e8ed0 71%, #4d83db 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-info.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #208fbc 0%, #3e8ed0 71%, #4d83db 100%); + } +} + +.hero.is-success { + background-color: #48c78e; + color: #fff; +} + +.hero.is-success a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-success strong { + color: inherit; +} + +.hero.is-success .title { + color: #fff; +} + +.hero.is-success .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-success .subtitle a:not(.button), +.hero.is-success .subtitle strong { + color: #fff; +} + +@media screen and (max-width: 1023px) { + .hero.is-success .navbar-menu { + background-color: #48c78e; + } +} + +.hero.is-success .navbar-item, +.hero.is-success .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-success a.navbar-item:hover, +.hero.is-success a.navbar-item.is-active, +.hero.is-success .navbar-link:hover, +.hero.is-success .navbar-link.is-active { + background-color: #3abb81; + color: #fff; +} + +.hero.is-success .tabs a { + color: #fff; + opacity: 0.9; +} + +.hero.is-success .tabs a:hover { + opacity: 1; +} + +.hero.is-success .tabs li.is-active a { + color: #48c78e !important; + opacity: 1; +} + +.hero.is-success .tabs.is-boxed a, +.hero.is-success .tabs.is-toggle a { + color: #fff; +} + +.hero.is-success .tabs.is-boxed a:hover, +.hero.is-success .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-success .tabs.is-boxed li.is-active a, +.hero.is-success .tabs.is-boxed li.is-active a:hover, +.hero.is-success .tabs.is-toggle li.is-active a, +.hero.is-success .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #48c78e; +} + +.hero.is-success.is-bold { + background-image: linear-gradient(141deg, #29b35e 0%, #48c78e 71%, #56d2af 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-success.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #29b35e 0%, #48c78e 71%, #56d2af 100%); + } +} + +.hero.is-warning { + background-color: #ffe08a; + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-warning a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-warning strong { + color: inherit; +} + +.hero.is-warning .title { + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-warning .subtitle { + color: rgba(0, 0, 0, 0.9); +} + +.hero.is-warning .subtitle a:not(.button), +.hero.is-warning .subtitle strong { + color: rgba(0, 0, 0, 0.7); +} + +@media screen and (max-width: 1023px) { + .hero.is-warning .navbar-menu { + background-color: #ffe08a; + } +} + +.hero.is-warning .navbar-item, +.hero.is-warning .navbar-link { + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-warning a.navbar-item:hover, +.hero.is-warning a.navbar-item.is-active, +.hero.is-warning .navbar-link:hover, +.hero.is-warning .navbar-link.is-active { + background-color: #ffd970; + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-warning .tabs a { + color: rgba(0, 0, 0, 0.7); + opacity: 0.9; +} + +.hero.is-warning .tabs a:hover { + opacity: 1; +} + +.hero.is-warning .tabs li.is-active a { + color: #ffe08a !important; + opacity: 1; +} + +.hero.is-warning .tabs.is-boxed a, +.hero.is-warning .tabs.is-toggle a { + color: rgba(0, 0, 0, 0.7); +} + +.hero.is-warning .tabs.is-boxed a:hover, +.hero.is-warning .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-warning .tabs.is-boxed li.is-active a, +.hero.is-warning .tabs.is-boxed li.is-active a:hover, +.hero.is-warning .tabs.is-toggle li.is-active a, +.hero.is-warning .tabs.is-toggle li.is-active a:hover { + background-color: rgba(0, 0, 0, 0.7); + border-color: rgba(0, 0, 0, 0.7); + color: #ffe08a; +} + +.hero.is-warning.is-bold { + background-image: linear-gradient(141deg, #ffb657 0%, #ffe08a 71%, #fff6a3 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-warning.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #ffb657 0%, #ffe08a 71%, #fff6a3 100%); + } +} + +.hero.is-danger { + background-color: #f14668; + color: #fff; +} + +.hero.is-danger a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current), +.hero.is-danger strong { + color: inherit; +} + +.hero.is-danger .title { + color: #fff; +} + +.hero.is-danger .subtitle { + color: rgba(255, 255, 255, 0.9); +} + +.hero.is-danger .subtitle a:not(.button), +.hero.is-danger .subtitle strong { + color: #fff; +} + +@media screen and (max-width: 1023px) { + .hero.is-danger .navbar-menu { + background-color: #f14668; + } +} + +.hero.is-danger .navbar-item, +.hero.is-danger .navbar-link { + color: rgba(255, 255, 255, 0.7); +} + +.hero.is-danger a.navbar-item:hover, +.hero.is-danger a.navbar-item.is-active, +.hero.is-danger .navbar-link:hover, +.hero.is-danger .navbar-link.is-active { + background-color: #ef2e55; + color: #fff; +} + +.hero.is-danger .tabs a { + color: #fff; + opacity: 0.9; +} + +.hero.is-danger .tabs a:hover { + opacity: 1; +} + +.hero.is-danger .tabs li.is-active a { + color: #f14668 !important; + opacity: 1; +} + +.hero.is-danger .tabs.is-boxed a, +.hero.is-danger .tabs.is-toggle a { + color: #fff; +} + +.hero.is-danger .tabs.is-boxed a:hover, +.hero.is-danger .tabs.is-toggle a:hover { + background-color: rgba(10, 10, 10, 0.1); +} + +.hero.is-danger .tabs.is-boxed li.is-active a, +.hero.is-danger .tabs.is-boxed li.is-active a:hover, +.hero.is-danger .tabs.is-toggle li.is-active a, +.hero.is-danger .tabs.is-toggle li.is-active a:hover { + background-color: #fff; + border-color: #fff; + color: #f14668; +} + +.hero.is-danger.is-bold { + background-image: linear-gradient(141deg, #fa0a62 0%, #f14668 71%, #f7595f 100%); +} + +@media screen and (max-width: 768px) { + .hero.is-danger.is-bold .navbar-menu { + background-image: linear-gradient(141deg, #fa0a62 0%, #f14668 71%, #f7595f 100%); + } +} + +.hero.is-small .hero-body { + padding: 1.5rem; +} + +@media screen and (min-width: 769px), +print { + .hero.is-medium .hero-body { + padding: 9rem 4.5rem; + } +} + +@media screen and (min-width: 769px), +print { + .hero.is-large .hero-body { + padding: 18rem 6rem; + } +} + +.hero.is-halfheight .hero-body, +.hero.is-fullheight .hero-body, +.hero.is-fullheight-with-navbar .hero-body { + align-items: center; + display: flex; +} + +.hero.is-halfheight .hero-body>.container, +.hero.is-fullheight .hero-body>.container, +.hero.is-fullheight-with-navbar .hero-body>.container { + flex-grow: 1; + flex-shrink: 1; +} + +.hero.is-halfheight { + min-height: 50vh; +} + +.hero.is-fullheight { + min-height: 100vh; +} + +.hero-video { + overflow: hidden; +} + +.hero-video video { + left: 50%; + min-height: 100%; + min-width: 100%; + position: absolute; + top: 50%; + transform: translate3d(-50%, -50%, 0); +} + +.hero-video.is-transparent { + opacity: 0.3; +} + +@media screen and (max-width: 768px) { + .hero-video { + display: none; + } +} + +.hero-buttons { + margin-top: 1.5rem; +} + +@media screen and (max-width: 768px) { + .hero-buttons .button { + display: flex; + } + + .hero-buttons .button:not(:last-child) { + margin-bottom: 0.75rem; + } +} + +@media screen and (min-width: 769px), +print { + .hero-buttons { + display: flex; + justify-content: center; + } + + .hero-buttons .button:not(:last-child) { + margin-right: 1.5rem; + } +} + +.hero-head, +.hero-foot { + flex-grow: 0; + flex-shrink: 0; +} + +.hero-body { + flex-grow: 1; + flex-shrink: 0; + padding: 3rem 1.5rem; +} + +@media screen and (min-width: 769px), +print { + .hero-body { + padding: 3rem 3rem; + } +} + +.section { + padding: 3rem 1.5rem; +} + +@media screen and (min-width: 1024px) { + .section { + padding: 3rem 3rem; + } + + .section.is-medium { + padding: 9rem 4.5rem; + } + + .section.is-large { + padding: 18rem 6rem; + } +} + +.footer { + background-color: #fafafa; + padding: 3rem 1.5rem 6rem; +} + +#progress-bar { + border-radius: 15px; + position: relative; + width: 100%; + height: 30px; + background-color: #F5F5F5; +} + +#progress, +#progress-percentage { + border-radius: 15px; + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; +} + +#progress-percentage { + text-align: center; + z-index: 2; + line-height: 30px; +} + +#progress { + z-index: 1; + background-color: #00d1b2; +} diff --git a/frontend/src/assets/css/style.css b/frontend/src/assets/css/style.css new file mode 100644 index 00000000..fb1b6c00 --- /dev/null +++ b/frontend/src/assets/css/style.css @@ -0,0 +1,89 @@ + * { + unicode-bidi: plaintext; + } + + .container { + padding: 1em; + margin-top: 1em; + } + + .container, + .card, + .box, + .navbar { + border-radius: 15px; + } + + .is-bordered-danger { + border: 1px solid red; + } + + html, + body { + background-color: #eaeaea; + } + + .container { + background-color: #ffffff; + } + + hr { + background-color: #000; + } + + .is-unselectable { + user-select: none; + } + + .is-text-overflow { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + @media (prefers-color-scheme: dark) { + * { + unicode-bidi: plaintext; + } + + .container { + padding: 1em; + margin-top: 1em; + } + + .container, + .card, + .box, + .navbar { + border-radius: 15px; + } + + .is-bordered-danger { + border: 1px solid red; + } + + hr { + background-color: #fff; + } + + html, + body { + background-color: #000000; + } + + .container { + background-color: #0f1010; + } + + .is-unselectable { + user-select: none; + } + + .is-text-overflow { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 +
+
+
+
+
+
+ + + + +
+
+
+
+
+ Format +
+
+
+ +
+
+
+
+
+
+
+ Quality +
+
+
+ +
+
+
+
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+ +
+ + All format options can be found at this page. + +
+
+
+
+ +
+ +
+ + Some config fields are ignored like cookiefile, path, and output_format etc. + Available option can be found at this + page. + +
+
+
+
+ +
+ +
+ + Use something like flagCookies + to extract cookies as JSON string. + +
+
+
+
+
+ +
+
+
+
+
+
+
+ + + diff --git a/frontend/src/components/Page-Completed.vue b/frontend/src/components/Page-Completed.vue new file mode 100644 index 00000000..291d8743 --- /dev/null +++ b/frontend/src/components/Page-Completed.vue @@ -0,0 +1,320 @@ + + + diff --git a/frontend/src/components/Page-Downloading.vue b/frontend/src/components/Page-Downloading.vue new file mode 100644 index 00000000..bb18d474 --- /dev/null +++ b/frontend/src/components/Page-Downloading.vue @@ -0,0 +1,214 @@ + + + diff --git a/frontend/src/components/Page-Footer.vue b/frontend/src/components/Page-Footer.vue new file mode 100644 index 00000000..85d6c74a --- /dev/null +++ b/frontend/src/components/Page-Footer.vue @@ -0,0 +1,26 @@ + + + diff --git a/frontend/src/components/Page-Header.vue b/frontend/src/components/Page-Header.vue new file mode 100644 index 00000000..d6a8b7fa --- /dev/null +++ b/frontend/src/components/Page-Header.vue @@ -0,0 +1,103 @@ + + + diff --git a/frontend/src/components/Video-Player.vue b/frontend/src/components/Video-Player.vue new file mode 100644 index 00000000..92ca4b3d --- /dev/null +++ b/frontend/src/components/Video-Player.vue @@ -0,0 +1,81 @@ + + + diff --git a/frontend/src/formats.js b/frontend/src/formats.js new file mode 100644 index 00000000..57800234 --- /dev/null +++ b/frontend/src/formats.js @@ -0,0 +1,65 @@ +export const downloadFormats = [ + { + id: 'any', + text: 'Any', + qualities: [ + { id: 'best', text: 'Best' }, + { id: '1440', text: '1440p' }, + { id: '1080', text: '1080p' }, + { id: '720', text: '720p' }, + { id: '480', text: '480p' }, + { id: 'audio', text: 'Audio Only' }, + ], + }, + { + id: 'mp4', + text: 'MP4', + qualities: [ + { id: 'best', text: 'Best' }, + { id: '1440', text: '1440p' }, + { id: '1080', text: '1080p' }, + { id: '720', text: '720p' }, + { id: '480', text: '480p' }, + ], + }, + { + id: 'm4a', + text: 'M4A', + qualities: [ + { id: 'best', text: 'Best' }, + { id: '192', text: '192 kbps' }, + { id: '128', text: '128 kbps' }, + ], + }, + { + id: 'mp3', + text: 'MP3', + qualities: [ + { id: 'best', text: 'Best' }, + { id: '320', text: '320 kbps' }, + { id: '192', text: '192 kbps' }, + { id: '128', text: '128 kbps' }, + ], + }, + { + id: 'opus', + text: 'OPUS', + qualities: [ + { id: 'best', text: 'Best' }, + ], + }, + { + id: 'wav', + text: 'WAV', + qualities: [ + { id: 'best', text: 'Best' }, + ], + }, + { + id: 'thumbnail', + text: 'Thumbnail', + qualities: [ + { id: 'best', text: 'Best' } + ], + }, +]; diff --git a/frontend/src/main.js b/frontend/src/main.js new file mode 100644 index 00000000..71a388ba --- /dev/null +++ b/frontend/src/main.js @@ -0,0 +1,43 @@ +import { createApp } from 'vue' +import App from './App.vue' +import Toast from 'vue-toastification' +import { library } from '@fortawesome/fontawesome-svg-core' +import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' +import { + faCog, faTrash, faLink, faPlus, faTrashCan, faCircleXmark, faCircleCheck, faRotateRight, faDownload, faUpRightFromSquare, + faSpinner, faWifi, faSignal, faArrowUp, faArrowDown, +} from '@fortawesome/free-solid-svg-icons' + +import { faSquare, faSquareCheck } from '@fortawesome/free-regular-svg-icons' + +import 'vue-toastification/dist/index.css' +import './assets/css/bulma-light.css' +import './assets/css/bulma-dark.css' +import './assets/css/style.css' +import '@creativebulma/bulma-tooltip/dist/bulma-tooltip.min.css'; + +library.add(faCog, faTrash, faLink, faPlus, faTrashCan, faCircleXmark, faCircleCheck, faRotateRight, faDownload, faUpRightFromSquare, + faSquare, faSquareCheck, faSpinner, faWifi, faSignal, faArrowUp, faArrowDown,) +const app = createApp(App); + +app.config.globalProperties.capitalize = s => s && s[0].toUpperCase() + s.slice(1); +app.config.globalProperties.makeDownload = (config, item, base = 'download') => { + let baseDir = `${base}/`; + + if (item.folder) { + baseDir += item.folder + '/'; + } + + return config.app.url_host + config.app.url_prefix + baseDir + encodeURIComponent(item.filename); +} + +app.use(Toast, { + transition: "Vue-Toastification__bounce", + position: "bottom-right", + maxToasts: 5, + newestOnTop: true +}); + +app.component('font-awesome-icon', FontAwesomeIcon) + +app.mount('#app') diff --git a/frontend/vue.config.js b/frontend/vue.config.js new file mode 100644 index 00000000..54761742 --- /dev/null +++ b/frontend/vue.config.js @@ -0,0 +1,5 @@ +const { defineConfig } = require('@vue/cli-service') +module.exports = defineConfig({ + publicPath: './', + transpileDependencies: true +}) diff --git a/sc_full.png b/sc_full.png new file mode 100644 index 0000000000000000000000000000000000000000..f7ec855b1513cacb87ed287e65a5fea4980fc5c3 GIT binary patch literal 114062 zcmc$`c{H2r7bxtUPNxHUs;cJGsyZlY9%HDYsClZnt(wP{AjY-*>4?_Db^d7tUs&wlp1=be}4rUvY1_|CAg zv9TN8xoyeDc0!Z&5&Z2Wt7Rz5NtN~WOR%NEEjHMI0GV}j+*8LyhmEZ^_3ZwG6Ri8w zL3iwf+1NNb|M~pV{MMJo#>Ol+yscv$?y^KUm2W-TdAQ=K{-MF0{Kw}zT<1;hdJVr0 ze02tKPjyfYr&teKBaw#;ghz>Ok!}CL{Lgj1MmLcI zNy_yNnT_X>keA2i;Wcsr+xt71SXj18#MiuEe~f#IG%3`upWY*GjUa)(fu>kR-{qYy z;X`xgRxESDtWj#F_N|7dIcZcuyf&* zaMTRo*pI%ar25Bm-EKTl0eA#D@*isW=R$k-qzFP_u+9HW0MmRqf3&lqYs$*X47>c4 z#J3+snH@Dsl~hf*r9c09d*}A?qNAQPj!v;3KcAMRU+}r*x${=UAOdsLbbL(Rjy$&~ zNworG4wW=o%3HSblu=gYY`AIWJCIbH%}t@Io7W!u=Dk?n>R>txs)w>RkT@f6;k5Ja z5QNY1@hl98@Gp~QzEtP`v82h(Z&p6QPO=X{Tvz;Ubv?%@WD4m}9y?VDA=n%*HUW13 z)`+TWk{})Gy7%>QL)J;k=R3h0T|ABZ`!P=jrcHtsS66ul{CszlBo)ewq7kl4P=~oE z2k^SjLYvlV`{g}mX(Fb@uwKDg2KMef5{EDhHgJL6@%GVKKK&mM2BRDrt-2LGt7za! zNzu{k`YZ@C;dPmLHitSTxALG%H$-gIL=DJA6n@bd*) z8&!`xdf~*@N~~k%WP2Om_=v)@b(=h1SBp(|d!w)G9)gK!izNN}khNP{qf1~zd9WI$ zB8C5Z!}|s)nT2T;E~>?1RTFqNc83GsGrW8FasY1B}i{g zy9ot%Ny_)7^39_IwSA9>OCj&|SGQ3$WoPlkF!IMD66GUy2QukQ_z*y)HdQTwgBuyH zMV0UC9LQpMKoccu@3ITLq-fGfNqdwTW3v~FaxAI)sPE$X{s43FHm1uW{gGRg>8KmC z)y7lJ5KMd6?f?ck5BYxp4J6kuo&Du4jI!dw83yDG^H+vN-DNh@?lv~nyAin>_hSjw z_NJrVc>Uu1n5O-AFgi5x1ajh36XP%1!wy&G&W0+I3<|vPAEKDKy_xfikD`PwcdR`e z0(kaV?G(_8^uj80qiUenE0Z(;h1mkVYkS9Hi|ac4?SMLe{2{1#r$#gV{i;2`O`FVN zcu|$>UYgpuKdrw;GpZ=&fP-d?y0L0{goJ39Z_>Tp+D*b948jq?I2(3$y0}4HBqJx2 zzK(?N&zR7d1R-T@|1WYJc%QZUULR_^i<_fu>uM`bpJou6+%MmoJzznWbT zi8pfx5q3B!Gp>i1M&kh+P*>|jc{K@9biin9dq|?3CeDT%J~-O;(t}(PA5-5KqelCT zoeBzK#;&9IN*3PMO5O2a^ya2}6#~0^3zjj9wR--zU7og-4W&P7WMN+F1t7fE#&{<2 z+J7+f@#RuMvfBRmSZSjdF*;B$XJ3hhoV&#t_ zoUz$(WvV@x(zc>&R#hsu`v~eo^{}zabEn)tHk^-HSR9muS8hiJ*li!EM?eo=pYHYJ z@-v;(_m`%Xz7p<$JcOg7CdG@a#ysUS(&$o_47q^CoI0PvO(NajH&UjtV*zXAI|uvw zWX90^P9BG!jNM|RsKnvn89`0+s=D%EYd>P_4CdKj{l?y8B*wKBwy)NZsKlkXi`|iK&;kHEW0b^4BGTqG0ZF=$QMkRmSdU zXRm}ydEA;rm$D6nMQRfAs6XehRYryksBIiRXLaATSR>NraM8#HH|DeP`gfmE@V#>R zHEy-<@vWgKy&Mmest4)-tvLylPR=mS11^^*LvBFTF9wKz<%!a7+*NS+qd27dSTZGo z*!oKJi<(+#`%d;M4wj0_qMAQBuUuVRpONX`4wqN14kcSpkA%A>F ze4DbWfW*Q^ON2YBqt7-~LFybv=NlWBU(3{3^&kW9hv=UwFXyiOwqf2+AShQojBK>@ zx1%rbaYB4hJFeR#7yd?(bGxEeOjf z^p+oZeFWwcIW77YsJSlMNXsH$BGBECgdY9s`gqX?%ijBsfZr?h__GuN#pfDe4XL?q z@j_AuBNM(se0Bk5LnN;MoZ%l{9lf!eb*~uP*}aEW;-f>`A0h@G()Nf&z?rT1GnvZQ zcBY_|=qu%oaItNTlS}W4K8Ky8-(+ZzD9dTxsr9@bJ#1}zLBR8>WU+=^v@N)TEdh9?e9=G{KsTNrv?WBvn|Y5GO! zBNPKyivc*?e9ybc(g!M%`b9#MC(SsOx>m}v7PVstkxDKq-9N62Cr(cUM_#IyX7|JW=i$DhF? zJeeD+Tl(6z-BLxiwxgE>V`@OCM7sr=wY#mBdu&a*rNd5%n`>js&ZF`M#Dhw44Dz5t z!}YfeaH(9NrgK#d?Qcz+tb~kQtj?-#-ZIhJORT`4mGutJq-TkwFMg#flIVqqRQz!&K~A;KgbrED8ufCh&sqm?W+lo-7`7I0 zOGW>XrFcS1+jg+O|FM1i$LKe2axX*;j|%>{(;mL^Z%4>)nnybGwE~vXD!y6B{4t1a zus=5!z|t|7220|$&K))8n(b}U@-D{w(>@B#{;&2_AwWiM#P=2V^yio>x(VS&3MO0e z&biAswaH{M(Rxl%e0zV%Q>#zqr*4`{;PuRZy!0INl1mKY){{a!qB%B&g0`kXd(VRM z*RRh7n*KAfLArJM7K8T)4h2HXLLs!e`bHq-i-PL*KEMg`MSntUw(hU?rA9C3 z6cp6t1-4K8Yk!Dr)dWTxx3sjFv^SZj$C>%Ae*e1LYuEnmU)y7DBL8u3hIns(|2j#a z#pASQ4L-2L*>(F9PpkOR)4fz8MK-*#6;(j$7%{)X@H8)R&0}S)i0LHLww|W^kFEC4 z1+13>bZoUT6df166(g6u(Rs>dshYc$n{)ydeT4O=UYq**IH%xb*7iPmkcmPgS3AKr z4h|5l1F~7JyeG#mfBsnP=}rFd!q~$dW9`>@k<@cD_e>x@{Yqj1#n zGlW0BB6@F={HNcgAG1Endg!7zX?Un7rjSn~{KJ68+Fg@(H+6V)Jp#HEpA9ZBc+)?{?$bTCWx<{%u+aKirGegT>oMY@*1fNs-q0+O>TsAZ`TqzU; zNC`z!{R@Yhz=}Dk{eKgOn860N-Zn+nXjn zU}MJxSHimg9VNTXew8MoB;SyV6!6XpzuoES99Rptv9VE&H#0NiJXLtK-2I(jyxiT( z(}gR_%SUsr2pP7IFV55>KGUN1K9qRso;mvyCep%7rQ;iGe^1JN?)FG#=g{@Nyr z268#zd$E^(D6(v9e4i4EVi1d`@=e&asdQ~u&Rahz-^5*BFHdUnwd^}pCB3-km~j5n z1NAR&l>9URMdlNWlzi7mvyI2fiL5`(#s=EKCP%@b^hT`UsO+9uD5WDI%!7=oVrw2a_rU7foMDL6X%s8U!z6%OUGv9 zL-kga9`50>pMNr*;MF)Y>YXl(e&hDJRb8|HvYwTK@0yq-BZn;9KC^4`4^Ltbrvn6z z(3hKs7K*bkli6;SR!r+d5-(4^iT;=ByiUg~^Y&lkFC~7L3ynW)pt+eThaF9n>hwr$ zj4xzAtyB6OgCw4hLdTl^B-~=r?FqM5r@AW?zZG88dlAA<=YWE(Gw4zD&ZD@KUuiaqeifY$z28|D&-tw?_I zh@GiFt}dC zACIVMnmL-7QbVEmh)FiIHTk=YH~Qi{(CZK5%=%(oTx0HeF7xhpFh4ADObB{Ux3|d? zoHTbAMK+cutXN#$)YmN5^JtN4LU}xswndqlnWm-Pn$f!ozB2TKy)E@luyD{xT{9@m zU$qk~b^nc);C}2mR#$)5+P{cWZG7Jt;_l^ZOvgTLD8d2{(3DFNs& zIlG&NUst*p{&SySF)RCbW!~QW>-vwDr)5@w%iejApLF@&>yC$E($Ck#aN(~wGl%C# zonD5A==7Aoe?L+5;^zx{!9ICL-lfuT@QC~T@wRSY;}MA2ENi8GkJ=YLa80V`MCgf%aL~1?QdNP)|DA-W@r^3sJVzkA-F#%%Psi zI{!R`|5hPm9Et!$K!O(nD9oxuO0cEy24mV-u+Fl~JZF>pBEqR@Yqg-)vGv}LC^5uo zeln-&9thRjM!xoKDYh_F2?xvk?z{3Wineu~K=yEoU8?mOTuB<5+WR5vpNeE1@APam z3iTTsh<1n6Nx4{AW<1=Iu&!Ah{?#A<*xX+YVU=57{dUs9Sq%{ys$p$Wag0875-NYr zck?F456C~h^$J?fdFK|1ELosi;%fnVIW!d13};GtgEx*wHaz|`U~d0%b1C>z${pk2 zxIqdfD0@4Bk}u*fb*@SMbzMggbOZ%Qdgi|Dr}HTVJo~IHsaz+4b>)h7bi-<5kT*nt`m{gPPS6+kD$Rle(pj^Q;M_ z(8=9{r2-Jc`yfkd@}bb4BhVr*P91m?)r3soN!whI8N-9>xBcfqRQxo= z;E@)D!)pr>=Yv(Z+#IJRW~bWO*@mlEnD%Y@^hsBtqJ{Qy3sR~aJC;uQI|np$hP@0` zgWDJoxyp@Bg$5=GB#q0(gB^V_bqVyfn0fULE4)K_Jjb#EDjiv;6rrfk31dDbjWYA8q!S* z814NuK$q)6LN^P)d$fE$L0N(aerNOUdZiXH(%_2c*xWz}+7o$Y6zkK~7A``IRd(Ap z#=OU4<_$(`CY0ggfv7`|h!?8&DKuIn^JFz#=`-ox@y&_qrtq!=hwhL@Wn+h`nl@Uk zU+)oug07`>&D1-c*yBv>GS*seki$-SW^$iG$8uKolM2P{dk1Q3bmB@p?KWsbhku2& zJHt#g;|K(QQ_m(EWr~ganfq{>9it>X@#t5mV4H&`v7%{me*SB3V z6XTCJuO^DT??L$Cm?0Zuw%jA3SW(ZmiYSq|Uz{qCoC3x9-+txRI}rwC7~JmPl|%W? zd=%hjh`%~*8BH6}YIZdp7ta)`GtR49Ckw6-cc}{1t=8og8Z}+)Z_vBDIPOWI7NW?n zdjdee=Pcyk;#brbiTlY$N=Yi`G>vUsyqQHMN`mjZ`Zg!*2SOIjYY_}z_<*yTM3b*_ z<0Ptl;+C1g-oTKKo8dDADa01+kdAngnWc1pAJdg+z0^?VRQ-9j=hYpkx!4S~WR5 zoM=C^QET>0LU7ZqhUik0_Ljt`60isog`%YuV9Tx6UO1^9Qy69#35K7ehDI59nerTb zmMp&?wtnB&4s0q?Bj#VQNyjeF43dZGVbe{WK1nBwfwkVSiCVQ|_kTRMp<(XkwjZ?m z+*SZBag#n&;u8jASKnd)DwO~cRl%VZmIZpZp3pyMq*YXN5c0&=LmH`y+N!2uVNJ%N z3;DYu$nnQI<#K{&5D|W(YNoigr~Q8JJ+xsu(Lxgilya~1Z=2VX_%q<1WOqVk^xc6c z+%$39fsb!3oDbY4)H1OI0^O`Nt7hY?_11&ADOtcA5ybSmx$x=Z12vWo(Bin&3_U`S z>OTmAObrM=;tx&e-Sl>hX-7oW>Fo&5``YO|Loif|Qvkb*-_15~hJeT_I~fKj8-YgE zn<}r=NPLkQ93w`Tc28A*73{Kfv_mSdtt??&t7?eBiMWlZxr9Z24w~}b;z=*si0}Or z1nkw+(w8S=>GIlbK4;H#Id{hCIJJZZe3(lav)i2X8||G*ervSaI7}*hj9Ozc^v&m5 zm%WeKxBKcQ^Q)`w!GGnZ)d45pj>Uby(qpQVZ|xZJv#Xw+wu$67S4|Z`I%3@i*E8O$c@IEPk!XT zp_dVG?{}B2Z#Ki^PW7r&J#2tiI%Sb-5={ef&y;_hi-U{Nmw6MTT1*@#6p5S!xwyE% zI0V&H)^ht2g<~pX4tB+*q)f!c5%7p;h>eTG`?NT2qdp(_Cape$)b{+6b(*WZli&5w z8-v`DYQb)Q{Abmtb1%?mpb*IVSFxf>vm#AX1kTCG$SC9O+u29)RrKW8{Ds3(n7?3= zlxCM@W)8uk02N}vQQ~=Fx%*dt7{A^RF);H2n18D1j)W+_p|-hcS7;&Z!w-@DvDRSu zz%{EkG}x_bqff)#5V9l?YS4GK*d8T;=X1pbwl zc3~l~^X4^RHm;Gr-SL}lcLwJ_d8K@!SoIci@5&n*W(&wjHis?wH zLF#hqRkme8m7tGbWtXNe>@`6}yUh3_4j(X-1Yxj@^oOGQp)V4aQ?l8$;q-CiXnDsb zuWgo^h4);5Zr}eb%dX)z!L|AsEYq7zU}OQ}7A>iIIwPMkyMH>1cb2jLoLBHK(oZvtA*FZ^L7 zXT$n5%s#S-Tv}&oBW9fu-%UxMaIjL}w6!(rJ8+wP-Qho!$G-`wlUNzZe0wlS?Z8l> zOZ{%l)R%@_Q8BAu#d^``jf%mG|9~+tR^vE|3JVN`xCa6JG@Uq~W!3xRl~{IYy&e2>-8W;yz)_&NyxjtcAB;y9=$-gN}O*>($2f;cFd(lHa0K)c!%BZ(Gd>~ zpWS*!-t&kpexrVj?Yvz{7U1A%p;N1)%_y-t%W^%dFlNS3YQnjkQX1v&!t6BzGM5@5 z8k77dpU#btYt+5Mp_{vR^HPkARYN-$vhhHyptIRfPKAbdZ*0ucMwF%Wz~`u?^-rua zg{tc~XdzqPHJJs4RajG6MPNQrzh?jb`tkG^oeOGh8g2<5e`|Wc*IW#ueAk!1yya6} zeXv#?8oySNUeXK(zXrN;jVU0S+9 z07X*H1<>S54FF{}jbmg!fLug_eom6-`qlW{Eob@Ij4)a&&4za6%1MWh5opj%41otI z*pMpL@W`xji&OD835U%Fp=K>oV9#7qBkI+zTKh%vhI$V*5>7YQ%LF{}*iCuNx3`Rv zfclYN2x`AyJ=PugeO>ka(>ih3;#l#{LD!|5j$yRYAxj~Q4X!&EP8PvBU2|Y$?6K6OQ<3m% zSCy-yL2b&Q{?|kAWa|~Q&im*~jtnbjgD`Hdb6~h^_~0w<&6R`---Ll0(fu3wTaM_} z!ei)JLTlUZ-g^SknpPMQP+z}v+Wo+f5H`)_FgSme5NtM+yPbKFwSUdFR_T#XTK9t$ zH}PAGg-MBD4o;1aUn+Siap8{38kmA~yiF?vPow2F?)AvU!w*a`IVaxp$l|w&kI;+E z7g=rdF6yywcAs9?Lhe>JeY~|A&WPTMxaS&kxPI1geIU0@%*l93hiAGR6^Hv|jPm{} z&$-y1jf1@6bTKLDrcR>hV*t}=LUBDdo1$zcGg^2uzDO@Za_V^|^2F2Ia?Lgf33O(w zl|#a=JHqfC+mn^fTZ9hJQqmH>us~yE{3*G+-C)z~oRq-ZR!U}M!2j&1B6%|L;D`|EZb`115_Oa-FCCD1aVG*W9*!(7SC{u1I*+-*0Gs(pKsJr zR0$nRX8<6qcj#py5xaB-(!i~7FOEd>A#3w}r6hJZFkCo!=n%yb76_8D({v~GCYr`~ zG(d;F^-h?xvW2r!E5vRLx0Wg()@sTZ{q;DIh_dBBLp|&fx>jeZ#_&vPTpu%&l!TaF zd&>3sgDq`DT2Yt3&nPpX{RIcw2i$C2tF_vFqAHl-+P=5P+;EK9WOgenD!SbFuC`y#@6HDp9<-9xfHe4_LxqWY ztG7W3Ni(QuR|^Qe4hnu+G3n|+2BZr?MEBQq&0O(ZWzn&-Y4Hv`d}XKIg6Ek0^y1UG zZyd`Msb>gp&d1ovPe z_NF@Va&ZsB-HX1{G3?lZ)OPkcD-ST$o@5#lG^87|rm$!Ag*)uI&^&!JSA8#O$v7*z zbj1ZOO=6tXr-w;`L>G9(?NS4+YMW6g0k%pEy4r*$=xWFDJ;!w=#uf=H{{t{{U)2JZ z2<#OsJ*{imFdMf~(SDWNws~Eg5F7j5L0M!_BIH1lQ)SLt-$4#J7fci$eKHaXkL~3( zz&dSwnhS#!xMiU*jtg7}YWSl(MQ*j4>x`|w`$96&=Dce=skClp+L*0=)0fwD#9{L# zhT5lEfI869liNFcOAl9dD%Lf>4n*DPK3@>H*>?Xeiq?akUbx?fd0*Zsmm_C47%#+@ zl8`Pp`NiciE{ld6TkWE}ee2#{I<|i`(gduz%Ls^D*CIU*!~J4P9UL#;mtG6y-P^u} zhZzOl!tIQ&s2zB#lNJO?%)?L$<-OJoXhHk*yp?GV#xL5hN6()ZzmCt`voYr-n75_(pe9#T2W^Lq%Gbv4nc$fcSyVgh~LzK^{`C~O^KYSV>>qB(Sy8RyWNt6NI+aMyA zkO}XA+p~+s##3AGz%g6+HGyb8a1UXd$6I43wDNL7+WV3b;0Ay@=EIseTcxwhx>!m^*v7R3Hd%SnZ|=! zj7@;u+MIk~+Zq0S-{68v^qli#iHL*SiLJ=HN&dgqcKg2wZX5Rh(+PaYM=xA z0>wv_Ex*DXea8gu>CURnbB7KucQ(F2yu3duqQ)e~M0~55bxA_!j%h@+x6lD4c?N%n z{vk0^5#?!(lVzUq;Ir=BCS1Lo^z$N z2_1e%#br;|jv? zz!*I+-TA$$G1^l#AW&0TrC{3o6}@>+h>;tKc;$M~Qg|jrSjGWiOMtalg@JJM@N);| z@WboFf`o)ZGpYWe40ZbI=DZ(wEAn3asKI%KOWal31tU^8%~)e!lvAlXW3@MwT(!HL z>DdrsmI(>gXNigS8bfF72xz|%*_XjgSaHrIx!%B`hx$s+0{05S^0tV@^{8Aqj581S zYatVmd=I(WfH99b(`8Nw)H6Y}@1)sqBj*Bl@p)~|^Rhg<@0IC;&9$WkINDt2xIYc#9QK+Y zIz*&S=M=!ttj(!hH4hCW=mkzytvmxF-Cq)=pJsUmo(l;MU5$Cwvo2wUPuLXt59$w=A3#)93-XrF|_X_N^Q zoE&_ZOM20iGl{$(o>HmVli`~k+|=Cx+>ZMX%BfY@BJGJ(OJPk)G#kD zdPl2PxmR6Cw$D9prj?vt(CZ$%jo+W2H3+m?nDFx$M=51F`v}L zz_s!H!pFmGTS%>T5Gm3wL&g&6pBmum@P7Ce7h|`up%XkEF&w*HLPEx$wO09lVa*L6 z43SvC(;oF-n_QBlcoM7ty@D~i*nr{Uh>kP3ek{+NG#B?G*JvQSO@K>5_cx3Zl1h@ zi_&n06QXj}k9p}A3604HZ0|g}y9mOuA6w6v6>Jl~=ZqX_{xa(JL0Sp-aXIYuR41Q@ zZ7ukZ)l@(-sev`Ok)%d*y>wRVi`DGRX+Eys&RyuGgLdf~J4kA#V~B%PmFKMQG!`g4 zUEV@M+Bx2wyjcpwK%4XtSYTa+nQ-a+*{rJN%kjtWIC-9H#C7S+KK;t6RTL2uY`q9t z*Z?o~&#E>ySZl6)4<%oyO8VsPu&tBQ?HpN~P`0DB@UtRbktX2ASM^n1K+2yhkc44nL zRUO~4zb#hx*&P%pMGhZA;%zk!6x;Utj6=p2gBw@sV!emtVu={VK*#u<-~IbE90Fw= zN}kVzgMBZNcLv@0)HMi8dCG7l%(NF`i&N^}!?A;Y+(sdR_%66{wl3DEL@F+)X|>bU zix`RmY)L7tx6Zh_tuLG~o{Ie~l4dZu(}tnehP5tZ6AF2z!7iNbRi6jOha^J?Fa{+% zFcbIt-|cW7CD$5d9%*0?MVZ>aJ8Gw})`lb=n+YEkYfE;>J3E4S)ny9BNM)WXc=N$d z9~xBYeGHx7aJNR&>3wRSal!o3c%CG>fz~y{KO*5MI?5g4#+0@RkL@{pd_VP-L?7A` z9jVwfOOZfD*9+n;fw92yh?Bj3?zsnQ9ns1Q0n1Dk^YhYNZyGv1m(a;mwi)pfQ?wJQ zviTrVUM^GSz%~FUO{|aj9%>hDtPhNj74Kx+oCdyX2W{Lq2rXoyfyo}|-@Jzx)IiwB zH}Xo>_E8s7TlIIe!gVDBRvr%9a8jot_oz9iz?H#s?GKKzUy|9661~2jf3vRkitB2y zLwqRhQOvM%0{(!|Rsom|aSqIN3T7V|-EAaIE>=U#sYDqCEg~AIdIiqwyZ$8}v9~Lu zP#!78ENr9vZc;d8XSV;)sEsgB#kn3J_3iZNh6m+MO1>y%_Tv-FYhtpq3;7+4zs>-} zUN7BUhG%L#l&PsF7bBq>Gy~Bjj|6uQv8V(3XpN&_8=7A0mcW;4R&h|Hk%)B|P z7;>j}Ol|E9S`ppPukmFh_>oiraxx**JA>OI2?Fb!ZfE@BWBwc*) z?Zv9kPCLy3`ymzT9+Td7lmS_9qoUpB05uVjn~Z6P&46cXT_`Nb6`L6-GlWN7ovWOe z0=bAVnytI!hbhdr!1=p`ApMH`2TF;qzY~ecU;`3CmZUYX2`ON2h4Tnij%|Spz%a6R z00F3K=8BSYmXV5`7FhFXV-A}&F4Y-?9FTeGYOhO_`-hz8>ONr=*+-L=&)Fe6w6lkD zZ>rfiBDnR~57>(5{iU_a49>1?%sEpF#?lYnq9=Y4i<)}mQdAr1HsaeMv3-xfcPgmv zN`yON_!-4WN0l})0?H^R@;+|jnjMaU=SJ`PK>e$0e9g5kzw1O zaO|Q*6M3|tUB(K}W znWAl0CfOybUBHdhlRjU>tN1iR-n{bj?f+HXsYjb#bNFLz=hO2*|{YlKho zT+H9^=@d->1cj7uU*M8d+|CONCoFZmx8f(fQm9R);7e2Hl<&^L9ZEhcy$kvElZI48 zKv{P*a_x6q2f?K#kWg=!cPo(m%y?k`*r<*3^kT#c#`Xm{$_=~n0tdQZv6&nhOCr-oCOV)fF_c{xdO!BqMh~2GSQsu?=4dux4XxBV<;@or5oRJE z3w4YPHoYizZ<(Cp>4|FSc|roBZ3O-KQu}we(40G+$nU$g$$l2V*DQYDP!3<^B#!W2b?eYjp&ECmS0#T9>;VWDp$=eVqpZ zdH~w}!ks*mnv;~st?TntBNG9OumhO=etyX4arQu1&@n@CrTzVt1|3qwokjbu1l8QN zPPPKY?!8lqQvnp~?RI=Q!TFO-Gm$s4+1FFKzh6*e#2?hs8HM9lxP9y{06b17>Y;4z zeXxr6aIse2(x>>fXJ4AQuXwRQn;V9)dSGe?L~sqLygvq<1-elekpb`;L?%Spdtx<* zTzTMov3>w}g}rsrA({3qjG(o0PMvC0b8j7iClEq|JHA18pKPsPI>!MUoJ-20)O?)2 zwD1`3nX=76L+tHu*WxOdc$kA%!IAr}8>OdRpjK>#pNS)14i9qe>a4UT=2O0U3wKBo z-+$_T;yHDf3AfD~QP^m7i#Q4MR1!!&fR0Iu^m&U?e6w?5H`a(EOlsI8zsSKY4w_Z% zL~8IPaEP}??b@tKa#ZBTN;_rw=ASw_{&gXiU|R}aN$$95Ms#AsVAPe$WW_DO{J15hlb}iSa^}7cfTcsf+Z?V;Pg>k?Y(KwriMMD5@a99X~hCv(jSo`W%tb;D$8Z0&P~k|P`tx*z^rRuys^vhCw(9g-oi0GV}%}@cC7${ zuCN<_&*M`}pIYlEk<4aVZ=vOTx~tA^aV#VEdKcB(@Ok{vVX)2Zs?QLE5JL4En2N6o zLCIW(KSq=J#WSBeyP$uw!t(}r^qVm%WK5AquX`pVMd`o?T)@A?oyrxy915fT+Mxq~2U2Yz^*M7%XoU5LvrD*Cd%B#SS_dyn zph`XJItK|d(GvmI`FjTyzRJamAgK{ zfQd`|`BzAy3)3iw-&PDrNqheuaKdP^JFW{p=v-yI&H#)$)Ng~FH9hV;>c^7C%8Pc( zTPyW^A^o*$q|Ym#E;QjI|K{*_2^dIiW{3|vo+S=@GQ#bZqmeNBGFzGsKndk7_n!5l*(tgW8b1uCx z&^k}R9bBP`Nsae>)l^wrcjIdp#`54B;b4+9Jqn8m~c ze^uqe+$mZy;lroS-_hKpci%keTpdYox$VpYm{0B`X%^nQEcgO>Ri_HIJ@T-@coJn z2UZG`WJEaZQ1LM=MpZQ^ox8^-fETsgaUnP+DetfYF<&qUZZ}T z^kpxE@I(+gTDC7LIA2Y<$}vJLx&6^|%k0DJP6)-g3a|S{cL6EF@Bx08Q4CrxRp!;y zOHI&toeDsXYIGY99SxxcK-3RPkAZdv_z=x@T;#yGY; zg%#RE>_!c9Y9~5XM@sWOc^#(^i7lHL*e*d&WF9uR3&B{fLO3V+WqFg=ZR5tPzvj-A zrfLqeqV#?+L8-8qN&gTAu}!b(+4owv9*zw%)__b7echB$Apei=Vi%IQ4(G?1XJO6S z?!XC;pOI1z>V@9<#VDxbTw{qz$k->G?z^~03{wjCbhM!s>Z2dvk~)mrCKLkQ)@jc zx~G?`ds|Py!b4I_V^+>c@ol|tqJMkmUo+Z&8b_Vz3Q$p_z6G-h8OR1R?-Ck0v=qOYvEl_jM)w(@;rKS&G z$&gYjJ7yvz z8jd#e(#cL*r_~nlT3u!f%Kw5r%XtG^ZdVAE_TH54hM6uLS|??-vua3z3oCD==_XKf zHnx=OthnMw+04kXCLjiYRXq6S2I%(smG5y9F@kD~Y&oX={A*-X{s7;aR1K5v8qx)p zZx&HwRi(eu8u}+KWAL}GfP2-VeYT4wNf8Q*3HoeoGvoiW0_DF7P5z$)n5=-fyrg6w ztN!^Vlohup)@OBXod38oEBjPPD@Tu2R>Ga_T_*Jr)0ud@ZhHjr{iyFgfGwh z9y8wIoX9C`%gQNfh2HK{Radvmsd8~U?GPj6+B)a%7-`x|uYP^$urPSX6ImH;8}X@e zx1k0A-@eOAztuX7!(0sh@cY59e0)J-NkhFhh;s2j1 zANjwSm-1ib_5T;DVw{L&7xy%_KR}?+f`$3{c?zpKOCG+%?L%(}R&>izCSNWkuL+H0 zz=+=;OA!x2uo!*G0ABi0)eD;#><7d9Q&d#1sw#lrlyz2R<>jht-wazX6+wl@zPw$z z)#;uq3o6sstn1DT$X85#x0NDLJUW;iR|WXwf1ao6}e?-ip8XF~mxZ{&4Y$2)@;J7@MovTB#~-HEXiWU`9w3%VShK^wnFU)6eC<|=Jfw-VF2ni+_~ zopJ_<-&D|kij5f4PivvX)~Or2Rro@cUjQ%Z&ktv1?zffE-WjnXl^Y9Xbqy{A!B#%zqtXG&8#;|DjARr6Z zzViL>RYOz5RVgXl4WE5mK8djJWkG-&_kQ;d=9}<{-GIxU^jZ5Y5vH^r!m0yK+4;Ag zM8J$iy4E=H-A>N^LwbFPNi%ArCAW4Ynb^HQllH z5`4DS;8<7?=h=pVc^Li2j_+u{Zl-dt9{!{k$_SDS?#gQ!KuW*9Ef()p?m?`Qj+VtoZa0avQ6`^ zYT`)l)aj0wY3^~PaA!i|^aXg~kHdfZ_nQk(Kgww9 z$)u5tOGT%-|JMpB8_&)oDi&~L)#{m6G=(u-HWr7vzOLuW@88Xx31?l$M1f;77ks1U-3naQ!Sc-s+-b6Y9A}xUw5K&M< zXn_P0l88tG1QH-50YbCz7;k^fD>K^4{@W0ra_?=NOTKgZuD;Lrq%4ga zQNFRf)U*qlc03AVb)Qn2*@u~&k=C_Y+{mxzHq!3@rvD&K4Gs1DKZ7tf+0NhJ{|D}qNotD(dfUJ0Q6F#kD~Xq_QV=%bENmWv zTzGS}zJB%6KFF)-_}B-cg`Wcq1PS0&%5LseZJdE!=2 z9cTXY(+XlVHR4fkMT<$pK?k+|&i9oF+k>5NxNZAh#6NKtu79A1@lB%HrfmKwIqc`t1PHziWU&!t?lmE`O%PYuHAN|FVlhVswZ%M;1^X2by((tkKiy-^z zl`BtvP!Ow5{xgZuNGbU}L5MxOx^9qT4R@I;Ley`QMWL?epEOMZ!sRCz?CQNWcju~AOQ^)@9^9hs$CR83SD#dPP+b% zVKQT+?9~TElmp*OqcbMl#`Ywz^TQ%)sK{E0F;d(ffZ)W3f5*amf{~6XG2UgfoQsySMwL(oT@30?L!`CTV`M7iga?B3*$eEC8p4%Eib6R`af2^%f?CjO9jLEPo$9Z=p6JFJTs?8a z>x_TrNid4+QZ2+*H)2Xi%>s|VU*jzRdgn#_vHZRKt+{d&7{lp};WayrzjVX7;o-%i zU(0BUsg%+DXG!p}sV%Pwg;I|F=;eXl9b%Tio{Y4WitHG4lm#&?MmK;Y$mD_d4<4k4 zWlht|Pz{Y|dc@VTY7Vt^X(~`$-U^vSsgEl&1QGi0KX|Y|IE!Ww^vKow437Ft(+`uC zH)w2m+$xeu6yR>vX){1EHv;^N|027KV*!Gtp&p)q)-j zx75ex6opHvKJj}ORrlPLp|oUd{w^hA4b!NXhOTgl8>`PyD_pR?0Zugo4vy}@2loW~ zq1GCaf(DlRy+J|ueo^WvU*VB&pS!23esG?oAcLB>W}mvI2EG`Z%a|wTH2e!{Z^?YL z&78_te3M(P+1S*PN2jf;h;HA`qkQ|UKI}``hC&9EWEG&``Ar=O#m0F<73u4`hVBQG zx{${f8FEA$@v-__b!vZYYJM>CXIcy~Wiw;1#(|UM56DwH$!8nQ8Mp!y>$4x7I8lv4*r z4PU(!dEmh(TVX)!E?bufcZ%HK;TghvipK8-w@t8R&nO{0L%5;r?gi=S2sz4NsG&gl zmm-;wTMGB9zP|g&_J+$lLeFJKYw6^@`@A_}O{5p>b0JtO=<=OGTXEi-iu@Y1J?)|A zM4}ZA=;-M8}l@*3On@fj77$JCU`tzY9P_rg5!(`1U%cjnIlY8*6bEiyPN^Oz% zQD)GzVRtUka2>t!uirs_$_BkCJ(Wttr*|q=?~My+Je`4n#mhanelGI&i&#dW`Ke_2 zrd#JDg#3j(%DciFIMIcUki6r<2bOi;wC=(5E>-8{vC+@dow-;*V zBSv6GT-~6FpEXguEEV7g)DAzTf-}(|_pH7*c0LN5Ax!eB{b-+jEPNc=kio~VEgDrP zTO^L3#8YqWP+VR96-3;9Gu{Hn5Gh)t@ia)ZXJL{1CA3cj8eetoY{m;kCgV^ia)V00 zySvLK^1aJ>8v*^>T9CKxfXT|v?tlAYKBW$>3m)7K^HeH+pbG#5d^YrHWW&(0rsJ>C zc+fS5q9-lSH)w9Zm){%P)R7382fEhsEQ3?l^+7v^C-pudM9kaMkzdzooUFNXHYCVJ z_;om=^WZhpr(g#~qfYFfy8~#Ka(UH%pl+Q%JUoA;5e(mJ8acHmxBZuaw!HcytBFSC z3rAROiB3{h&1oGSov08yM()p)CY!7imlV5BtHQ&ScYAHmuY=ya2y(vRCdfa!frkLhx2XO?f3ZE z{J$K#xibUj4exI%SLBb%|G{IVw|A_mYwl`=}TH_V`wn zxnJ9)?Ag*};yYdY;>^EX>Ba6h3Vt{ohPcLFJRUzJWxxWx!ZkECi9c8i6^=)xocbD9 zP`vEF1}H}Ah)%tKuu-Z2ns+r`->JjgYbgWNT z+!0RPNjn60p)|GbeClZNOG`ShG+>_Nczk&v6&wouob$^Mzt;Lu#ysy#>H1rK4};0w zEUQ6Q?jARz;71|K9Kz<5mv5J2(6voCW+o3bhFXEY0;v5OHGpV z;HD_ATUUJ2Mg=Zu0OT064B;qh6{9E-cJqF}t}>`|_F?a=Ta&TPcrUjYf7NPn18v}6 z0mP|u{~akQPX#zXyOXf&4D*NPYaiznZ;}^YFUDmAmo!~WvgH&N*mgb9S0NxTWA6H< z0el-t-ToU52F)9(E37|(HAV3df+3Z_KSCpyWU(#-C=*z6RF7AQ($GcyMoU0Qq`V3k zO>4=mTdg`|q;u^E^|7S+cP-(O*_9b+i_b!VWSK?2RVk1LT+0!sWlUp4r8 zocwzKNP zqBgg&W^7e*1wKwS{3F$WIu1^|csmdI04mOr%bg0EO-_fG3BM_HEm6S%v#_tT2MUCj z6<~bk>rNNxl7A%3A{a( zJ16UxOs+nknqAiu9@wKX9`Eoe!o4QYrWu>unLfK3IJCyJ%h?x8{P_jEvHwMREZobZ zn*K8re+IA~e-@$9CadL@mD??jYigdC^8E@I78b5asewErDaUzIx-1mpAVLZXdH-!+ zU~kn<+PvQj(`MdypGvEnTx@We>C{u#(vAq_dnCstW_I6FW=xC@VyDg0(8{%ZfQlQA zexhFQ)Y?QaeP@PePY*1p5zy{k(}5l4Zz0X5nKp%#S@*^%A73mD91nrT-%SRnc)5JV zK@|e4EGn(%r)!v4MZN=Ga3pi~lWN9SL7v{lG+=yptxRZ&YlQJ%c(P{(Jz_5U5%RHW zlB>7O*!Y1PQMqADBKujJPE%6tZ6Qs^ZZI|=2(RrJj_YR!47X5xEOe)H=aJr^=5cbp zw;zVSjd}XmTxp=ApiA;d5YI}!<{Aw=U-(d#aeyLx%szh@5hP^JY)zv_p1;dz=f)B{ zOzjc`@$+B$&a&dU2?E&sO5d7fNmCbZp^WP})&oHRsB;X^Oq}}l+sw4?d6YkC`R@_0 zZuX1d%rNuYU3c(a6NI_+dt|m2kQF}#J6B@5DqI#V*xsT2>t#uWLRfcR7`|HMUCD8x zbPxDtfUjU{I2b{I{gv#Fg6YN@HpzaR>f+x|VWPjh0AajtxR&61pM*>qE`HNSTPHT0 ztc1j8a}Fp0vG^9xgIc_VsD71Mf+VmzNn6yH^srhj{M5?#Qx#2B_k3bGU1T)?b$`M} zgYKM(XZRQ>B>A|;kb9eH1a*J(1Lv%~Bm7GH(%7t7@s}WOWIgWYNFbG-HqVa)bact3KfmWgL(3pA z?l77{T!Evc+CYDJyKzr#ja~ohLEPQxK-*BWT57<~dIY(1hP}OBHEPC27}vU(`_-7} z2=MYvDFis>MDueg!{JEn^QFfEpEA&O7)l&JVu}xAKW7B!-6h*T?$)coVf`_yT8#~Y zo$Q)L2Gu!>eg~za$xcw+u61K784#O5p~qb+cJf2%zcxH{v9Q`}$Dk+7X(EvJ8p_Ie zJ>{)SFrm=oX)k$w-pngxZ>0lCgPbH+E?c7O@;X{d9{cfgbNH~S;9}s_Ml7i8%mLHj%xcQOF5*^SNL4WXy zIRj|By~aLt;sc!=Fm!%1?;UO7{8$K=f^;hUv%oR7+vM%+^+|PJdX~jJY0QiR1=Rh@ zr-xoYEX7G7t%yvs2WP&>xSjhF`byo@`R#}rFsQ>{J-0KL$Uczxhk}gSq_kiyuS}A^ zPx^L)ToPO{6%1JVTV=~)lYBXAnQl&rHBXmMA)&gji&`b90ShQaMm~5Q=u-6(AN<_FXQi%8SfAGL>y#pVT}dBiDz515`3FFn(k4vv0v5 zDTY_4#r9P~);Q&2MyJ{4bgEt>(uW=d9y!AWoxWrH6d97irA)WJi2eSNJHX+%CmckP zp7=Yl8xw-DMqnJ~oF=wxez>mcBtIze>gB4*8Vu#Mk>e~E<@rStEU3D-OUqp&Pv{!n zI8xEI$uupjU3N%H6Vgsp!&Y~B_D=;YA8j*irll=tR8VR%_UHe6yhD$qu2j*7l4G?# z7Y(;W?ffV&$tojnTu&0!3nzPLsqClfGrxOelye41HF4rorI5&E-)~bSZ*R7HNr4&a zYz+N`QUY!*TSZRa$ohV5Oe!Z^?aG&#wUJQcfr$~B11^I@d|D6}?gy~|P?H8>T2%O} znBJMy&9bg1BZ45wdK0bs*Vf)HE9H(4Jx8AoONGuXJ zNLhKMI{L=oLB>y?=nVc!?$_`P+%0Prtv!h-u-le3-Q9l~qy>YGSP@ge-izoVQ_tAe zi9}mM(9#*gjM4$61%s);T3UTx&i82i>JgJ0I}~H*w*ox@B6e(O(*C?r%N;)MX9Tlv z5&NmS2DFKg2Eatteypp_p_>heE$2J_z~DOn@%7stReFM1UAG%a6y79!>o z;gqXAnQu4{?G>YTmB5BS!7(4LRpM(7I`qI)2PW(%y8B}o(?zD&-zJHDyT?yg5fTX!nLI=xqQu`CHPzRM|voJbMYDyTIuD-z{xAMStPs&XWlsg_OFZLGZB}AtK zoS;{;b|JBKrj=z@(vw+%EV#!QTww;Lt#s%gubt3CWIXP1S-Ht`i_SxWr&3?%o9NV~ zh)Svy9w;4jEogC;>P9wHmWg~GXLpj#?J2J}OYlFxY$Uw4UGXXK^qCdiMVXH|}St^B<3*8|e5>wS~i!8U)pscYb311wH1?$Zy; z;BOuEOVjK5NvYuE8(S&iLept};`4A`A~50gnnxamS;2=0Bw~IH|noJIM{xw?Hem>QT}+ zYH2sdmip|vMcu;Z-fY~{8JpXw z;|9I4a`^^HelfiZY2M>Eq#xj+2WE&VL48M)Bw8hUbtP}Rlgh(EUC}3-w9r6d%Aze9p0yf7en+2oBA5a4Y>Ox-fIl& z&yjbh*3CacUE+zyqxt%7wYMKTkLr1}ciQp&1TK;qy5qWa_cwor%$!J8F>^rS>aIF% zqnPM}m_~U96Gz=%pV87x%mbG=ILz4nwKh#Q_;fmoC3R{JJsdx>B&A22F3+wnGjIGL zgU{{MUl`Xbd&~rnl`L9EX8}&dKLdzH0@-(Q##hPaX!NF*zxM}BPx{S1WP|(zw3dJAeOaH3#s9C`+9<@h;k2(BtDl3YLr#myDK)c&=`0S!?ODMW4mS z)rOpgj~e)3DJ8+?yVSD%k@aIV0`)ym=0+ErnIqZq+*e9EDgBEvZF47F995tFR$LEN zqZ-f;=yzc8(SoRK47{)(SbP;4an)8zU{_HOC|32liNSAidt(ks)@MYHA;LAKrDRMI z7EI-zDu%~flUK`ctq<6_Ww+f;7}heh{K1D9MsjR*$DFj%Kpt-Kwy;ea4gBz@pbpY2 zBQ4DDQ_}AM&OoaS@y)dM13UIgb1ujg`($uOxpIYft9wO&1pg{aO%=0{mq;Kt1@g7Rf2J6TLa6+4Wl2>U!JGuE)M-_WU zzG_(4bVphN*GxtKicg^QW@@gu;KeR8zBvuFEcws{0RN%dGhKuZF<$o6p+gO$V3Yhj zwQXb01af!}xuqgIqS6#@A9UY1CLw)ui*XNH`}h5Z7uL9C7iD+63z8D;;W;?DY!Wj0 z96`)EmIvWFfGDh8YP)q_SJ#Sx2>%<=N<|$v-uPM6;Gz_~E7z|x+LLQ&?^0T9DLd9m!=X!UaX727#h?9VmRN`Ci82V zR7RaB0@Q7j7NEZx)@m)S+3yhK<}42D>q%=xST2p_P;l{uPxjvun@XGuNcrfOL*K6ADS$slR)q zEL!VsJ5^S>-ZhDI?0W<-wV_3Y_YjcFr_CTkiT?!d7*3})en92H#5m8dEH=S45tG6BFpla zi(?BkO}|`J2jLEls?cZ95i0O2&~;6pJDzfqA?HdT5p@uO#a5_&zDOJ&1nW@EH& zcvkmSZi+2LyA2g_2llBCd`pZhzcrmue3fyuY-88TT47f=%HDp&`yF8>=@}$6k zEu?=Nz5jV66UU2f+>Q(qwB&eJY%42?#e)YjpA-?o>qi%~D7Q#*8dqANlKL$T4V6|y zE@p)Vc2hOaC|y2XUnjC-$4ciFeG+v|7`Q(j8x8%5`GtzG$HuDue)_T=<@J|xxb+d? z($w>|!DNErV zM8{cqDYWZe9%G?STS}{u(RsOQVkGt{ld+3Kcbh#I0t5F2 z?1R=dpVc}a6$Hi4PQwo6yO(1tDd(-ICXIp>*BTpBxWQt_r))qxR!@A-D#PNn+L_pr#~}IWv!3~0O%g39K=iX-R%0l*QRIbSWAzUKCD7@; z2yd&5enpFpz`T`F854GYTIJRt_#B_gpX{;%pAN@fDl5s>nZ!4KWk5%)r_xU&o`>UC ze)u9z?VX-ujq7AypTFpad_VJ0=7J^PUba5<#mhx906PDuv~)y!xtENIURtu*=h<)E?Ifx}HVBxU zSqZ`39K_YWMtLDFw}tQtT|s0u%Tr-9i2kY~nw8Y$Qg)YKfgX#W+ODc-cGd^o3@{7h zUu(4wOVF$o)^N%^3o)06Ewpdc?9L&D+%5^KCYSIlXGiA!Rl+Y>u-$iC?>2!!gzj)h~jpl1Hb2 z8o0J70NTN>JGU~T6^@cI14_=xlOo&yNThDyH>%lOyOcb8p<`M(a{M+y+!kGL9V)pr zRWovx|8-MjkgX~03QH3AB!8t6LM+?MIqT>0KVi>>G0~ z*|UbO&z(?YZa1r4a?Z;idA=eYDWlk*=pK8YmEr$Tk90}grIH(SGO~B5;Y)~oJcPwd z-?5SXe5>!>dxFwytmf()oz`Tf2Yph-?L&wUqTQp zId_mI}`Sq$P;RXcYehNyiF+C)QR|^DE>`-Dd=|y@laHpIt<%iVMlWlsf^$I z?Ju7cv`?N%Eh`hU_z;ceNZ-RagF{{v*ZQ0a_>NjEvocNjo))`MN_^dO=B4yJch~*Z z>-QQNeC^`J$LJ_72REP>IZG*7T#RT@ zlX{GYj!8s?vw1$e4>g_`Lv|Fhc$>M!F9~wua#*008fwWug5vOB<|aFYXk*iNC6{qHHhc5^{roj9C~6+ z*ub1=xvuu>mTSHW+b@V((nJ5LJFh#n@1KAFyAt&OWIX<71pa3P{$~XK&lrKbuceK2 zT%|abpG|sfBTx(|W|y+jSDVATehN~a8nyw@iW601FH6k{{YUSP+|Ml%F_+yc5w-pl zDYgCf6Mb^#;b`=D^3PriTd#iaBmP9{p20~)r9P{t9y2qe;2L!?!8m<>!`y3;^`LDx&%g3$| z1(0lU52@59XTPk)tni2Q>VkN;bnAg688fl2`D}wY->4C9RvQ$8v*~LCTmX?{zL_dCXh`{MxzTqjQx{# zXmdmL$>7~tX=xKu-PgDG5y`m}&kWIXk1>rH z6Dq7r@z8Ey=v$#e96_{`5>D|<%vuW;7d-rUtqSmabCqCel`=Trb4j(}&e%+=F{-;+ zFgz{SusM3I8Q!MA#vVg*=5gB%r!Lp7 zt%!!uBEmtZkK%D)Gd|Z0lGBy<3bkpLUOXks@~1~~!@pVQ^b#tcLu^^WgD|s(vzmkp z_36c-I8KvabC0+q%nV)W#x)Zmk4Wyl>PqFw4rIH60UZswg&klYik$23M`KJQZ0T|9)-&~^QOi5&ocPVXsDie= z!ozQtgUI8(8Rfkr>ZceUuRtcr#F@{{>s!U0xn`?fMlI5(gJ9n@U2+DtH&DFVx7|(3 z#|9!+XbZ*!5$zc5^g$o>Z-7fPIp>oVVwTZC6-H!W=7MMwLBlVOX?H#v&H=4iwf)5UHdxB(9r zz>DGgt-oybL<+SF<+hm(7#rT0Q}c{yj+uHS8AD;t;nOOhWAF7XS@HP6-cM#Z9stv) z@b2llgAahHwUvqrky0Xrc=V;5H2YjApW3$y;=9xU@*2ADLEoG9$gHhK7qqo_;`~Jl ztIVxhcN2PV;wd$qu=wAq-R<^DKiUBV;25Ihcv&r*;Z#bnax9pONq@62Dt7Y`z^^!E zpzMKE{&m!u9VOTe;tzupz^hh`w_WrRt?m{ySdL7oglFU{ zR9{NiFV>#=Gx7_ZLRG5AH+ww%b}~Eq%Nckh3>^KtR=1tv@0!o z`GQwfFKjC*YFXqH7kjV9R-_qkNx6z_@g7F#Ypa$@^kF`ECvFB<%2>%J>^EIp^nvr! zWU3dHco(4$UdcD%_nr7clm~){ZAMyN-uaS3XMphDsR{9dy3(R;jF_#W7n8XrAiM%Q z_yznW30e2j@!UUnjf~8`in0)FQ<+e@#J_;E0@E@?I_zQ4qjWiYCj-IAFHUjUE&B;X2vm z<4NJUtK&W&RXY#V@cS`vj7p>!f)dBK@e z#>N+!$~9pbNm0r6w8oq)K8_z2*QxD3MLQr=zYdE>oD$dfpfT9$a8#1uqJF zA@u~t<}$6QJe_Q?3EY4S8L6tT7u_~H$i|$fMm#YVg!H?y`>C4)qHn5jdv!%fje(|* z7UmkYVE-n>J~qOSwu69f4X81VWUMYMi$?!o=3+$4ziaUTyZKNmq3IU&nA`KRt91Cn zG+7zn3k>{{Q)0s29v+7#(*rtNxVL#Nb8A_>%p7_CqTBDyRK}ufI5ybRXh$@4<(NB6 z*LRq26@h!qjzle=Fax0&S2aLE{k_5%d?vpaz>ZS762rD2R$26^(7YuDgq5gHSBa0G zxIJK`a5DCt8+%Xvs()lm_=%%p_O(OUB(sbe79)K*$UTaQRt#h0taJs?exI)L&Iu$% zVZ)=pZ-t~-!Sq?&UTl0lZw7dH)s$w61ZBzR*<{b+?jXsZupym!SbxW3mAOdz40IVJ z`_#+ahJgtyKa!(np!U(dH)`|U%!-?$m^ywSn+_A#^%nT0_?~ya5ki)e-8WT?Pn;fo zZG&blZ@0mL?bJW70h@vRuNZ zNaf#JK*$(qYWm%=v@=02QI4%X+WMWuLC~P_O$<7Rd})i9dti?!htNDh7MB1EN|nT< z<{q@bKdT~?NUjK6f6^dn;6Jy@2!r z>GG#Jfq`amNZQdUd4O!+-|xe235GLyaf2@1tPiIgpDTIqdW!pF zPFO+D-!l(A$&G%V`+Cp=i?jZ-4c}jg6{EPoQ_b#`4i=w@n_9O|S*FSo6`1j0)S-JQ zKyOg5mQcyN6XPfft2^f9^kb{XvEys9{H4v3%nqFlvlNR{oj0GjCc?VnISsEO3Yt|-Sk1;M z-b<{rY0EmuKwwYa+O)GBo+#_(S>(=xJ8^{N-E8Ta?B5)KwKI)IN65*%zo;)-^uFX3 zsG8qJZkpOJemg9}9*E3(vdm>ea^Ox(LOp900W!X*-mNsQBJEMNvLHNukbkphsMUMe zv3h0~R#Moqgm6$1q*hlH$y=*{Q!9(ICz?LK9`6WsrIF?H2Hhq4e|8#oKvirb1&tpE z&n~jlXQ#z^sbcYEVsJ)YrG^>KCn$9`>9E^v+jV8br5?RmVf?Cz;fn~oRzWp>XKNg6 z^sV>)#~(TeLjvnYoQ*y{yTzV)n(8(cZ^Lx8V=;TxnE|DE>CY<bck01*FenYH+KDgaD_hcQ7nrc^;o*+g}ENR`D2BB)guM9M`bRiS8(36+-Cv zg+ZFe>@$w_53_3|441W1d5u6jPv<(%sE~?Cvd^?+1i^RYo`GL8HJofng-3iIvDM_E z4qdeHI4I_V{oGxdMkZI+A5Hj&|Nm)~W&^f(Cuo*jz6u|g+oLB{6lhPCHZGYfs;kqx zZg0QmxQ>pjR8+z^Rm$ysyi4`;0SYDx5g(|pxg96y?&@3euHJ@25_9$y%@L&X+r5yH z7T`|^GG+PRWQuoI%nxL8gx?Z7S)V%*-1E8}%k3!#ce)Y;a*GRwz}W7!_8_PQ<)g6CK1~ppS>+ouihu++lLJr^iyhnh&|_ zSUT*F$|{eYV{558CUkCKhqKkM9YJ{c2#1UTfAMZJ=Aj%QWNWDX!B*2W&Ekh z(Q03d8OYH`y`Jr+s1JOWa?#EB4oycJsQ5Rb&+TZFFb}P=oo#iBkuea?5*Ia5a8q#4 zE11t7Dx>+O0Xkbcbx@e(NueqA@8vjZeB;DZx^!~Z`l6`YGH9@e^(m9%r+HGYJZ?7I zL}w0|8En0?rafdF&=&U5w$q#S@v8~@drdFLCDfbemjliWs}cY++x zy>cWC0bxT=oo0AyS9-Bu0H_|XKJ0+78#+l@^1~gKM$|dFixJFbaV;8e#5xajxa}6{3tOl#}-?nf@o92 zK7mH;d#O1Vn)yO$OId?Y)%re!guaos;H;@Dk!F6MUhp%~Yv6Y^GWDb5em-Nfk|)t4Z{&*C*q9BP4ZI^GLL;6ObzYz{%*b0V#8~6Z{HD9JSk_dZZ)v7I zi{m_XYPgU%BNV(}h*X;e4ix}V{!E)VjXDN$?Z~F-KO;>%3dX>PDmee1ggFcy@l_QX}YE+i@o(;X3W6O9x$;iE+X0(^R>>&JA~pF)$xd<&iQ z`e()#sEgAU0hB?4ajSsgUB4^fgxc}QuGq*X?eSwbn!Ehs)ZsVX+|;^eBu z_r$KzydATv8OtJ&_AYybRDl@+_@R_~nib{_SoBRFKnF2Xzs zW8#AqHiA&sW96$fQ3^esy; zh925L1y~N3l?BGCWa9{{UOQ^k11uzR*Uc1Cvenv5b;0fw5Vl$uBx~l2T+TF>rS&$) zNZ`wbw6*2m@vm7Lju{is<+r4LBc!t+_lr9K32SJxu$0d6K?2BPd$9hdPs4fr3Tm^%w zc(Bdn4yJg^x7iFDslAP_;789;Gb9UJFVKCe^DrG6olu?v3M@uhWUuHkG@;^<5@WB( zZKxAb;-Wu15_=#}p8cd;JrvkeV^gS>0wjr+B_61;*s*P9hzw2%5`OH^Trw5GaaEy$FtD98+! zuw}7DUklgTaG{V0nHrr#2Wrb{dBt=?v?Ecs$UqFovJt6deobFwr4#b3`PM5}?SWWC zS&fmIjixyreh_3E|CA{|^+_-b2HtefJ0cT~bi!NI8Qkz;mz?#T@2E{u)ai$#n$Uc5 zvORy8q|7@WOrNze?bcOOx;ui_^oEU&y6KDemy+hR(M9oT`>TV8X;o}WhT_}wr0Swe z`It6wC>{R3IWTi&DLYElb*(uveo48G&G8Wo<=j0;r7YfdPk?U@$OQBv7@b(s+g*;W zsGJqgplQIW?3?vSb4k#&KQhK{>6?$a9H*H}>h~>8Ij9AonV?Txvs`Pr0Oh#rMjFFB@mwo71WA6FZZSyV_s#lSfRpaStl_gA?jlw(WUy<&M6j z%>j3#+l>{$Vc8XPdix;Z%6>{OOioh&Mk9mCNz6>|mF2IsQlN6pDgNI4l=fT*jFMZ* z^;W=%!+Qe}{a#|jQ2FVI5!OR3TbpKchMR`_uDjLx@eNDhy|k4f3)%FlCsM#&U9SK> za+}<2I1Jln(3?2YTke_~?s1UU0y0NkwHVe!geThaQ>rn?Awk5nfRy0#k|V~sFQx*VTKdRS<{* zKL@0EbS5_RU*;`Csc|i|+nK`eF4N%xGux8ILH-yCcL}vik$jfo@Qy5Pq!1#Gz%7qn z5|~nzb%fyxqui?&YW~t@%{*T4>xC!Fm|OcR?aeTTQzKf{i+zuE`6GptLEt_0&KPSi zQ=zlQpswbEP%o5I<>}Ybn@e)^-i1;m^k-O5-TX^?$k{7!`^OkU)IOfmNJ=x?x!HB? z!&+A(h#s8M$-GXBTwW&wAdZm<;JbtCO>3$)v}-ny+T~ZO&p;*}!mDj;?y*X?FvSp} z`971QpLdCUoi3x|n+woQo4_5NxfH;~dW*WKWd!S{aJGuw4JM0Mo7ii1(X_^s+~vrx zW*J#R>^Sb|9RZlMzaHTglY4O{IuD52){q^z-PCJJ6*sKuA_+7HteNDE8+5Dc#B{=o zTH^cyOG31gVOYg->IgHIayZP)c=nm0743QqL#hPLMxX8%Xy)N}x z(3k>vID%bX$Q+G}vO5-Ap3;bHoPy?s&+zqj7$tq*H83RS zxF~e;!xV0auRC1)fTk|$n+*y#n|7nFeA8u3OUUs=6rqrD({Qg>nT98GQ|~@6$^#nDp+~Gl-o5R9Oi<#w|Dk! z^YJmBd4h)BJA8A3AN%EXls5c4q%j6`85ntz?8u$SoiCfb>Q^w{*j42z>j@$H$1Xbh zqS^BX*^4)G=k=+;&&uDHd>hbrChJSjeQOkTDKH#~Vclq@(TR8jGE=-_o#>oAia13x zthD@ogTyTELHpgP)XV!I=sR3i5;$~Jbp59JTp=xo|AD!eHutz?nuCH$vuqZIWEv?M zetq4g^Ey+OX)@_Ee|&>6o-ANBW2%g$-Ky}*cM+x*ko^k8sAD+KIU9&n1#~u zZoVkDF)A@>I$aq~TDZYk(N^2N^PR`}Ee(b`mXiC*X+BJY2e`982~(=dsDs}H-r z{TAgE^4<*NcVl11@}78L)6TY#o|epU_UJR_^N^kCqP9tG65sziZZl~2KDa$Aq#J6) z_faGx=?FfP2~OetIT2rGcDKo)=tgKI_w?z#C~| zlh-0gIV&x9>aj~c#h@lW z4SDL&Vzo=I(oQg;?{ZpTxc(-%j6y|0OCFG0s zdj!`_$baWRaVB%d!*2^H95(p+S6kl5vWMeZ{wxK4_;58rb~R;8Z4uh1(DLQQvQh+? z5ui1{aoAJT5beDv?PI+9@jM(`mlMWKj^G9DrskQgu9?NsvBt3|V$cy4mE26VAa%#C z#=~@rlo?&t4-y;nSgAQ7weC`y=9fH^QrxBZI!o5+#TMoz+7#|a4#7A4QQ62QB#KGLX>pTD{kJk9FtxYxFuYrlH{yZ6ug zlzb9@${|INT#VL z*F$VjxdS8P&^_CLIxb)8ReS6ex$;f)CT(8bv)q&1JLq%|aSkhM)V(DKk zxj%k9;=`wKJ8n@!W||D@7Ms+rmvQKEq|;qbN#shzAJ4$wBS}kZUYA*fI@njvs#8Tv z=+$@lSmhp@{L00TG!T1LBHv71RguhbgYw|vIzjMc*xF^smaH;ZhDw`_cP_6Xtw%AS zONGCwA+dvhrQca3)S#EW_rTK)VM-w}hZX>SA0Fm_B@!Uld|lBAS&I~jc9OGsYe&4zJ?Qo@&=5N(c{|c5dI(}*QHT(1p zx4O1I=$7!X;|t8N43GUD+6+5UELSuN;iB;q6B)puopCLMUixtNUbB@2E1P2>)o|$T zjq?HY-Q#z8nCgLmz>F!RE0t;f3!8(|ZPlO0bg*X&0J%%Kjagn^PqAD*dkqt9Avob zEke3;w&wm+V9trkhxAFi(7+Tun{=uEm=-pTUaqWK$1+LGRB?gqH+V?4_`Wk1{wno7 zak$-me3o?qG@k;)^!_s_zP7ggB1X61GEJ)YIzuF;#Ih?Q`e^&gG7;&hzG{BDQ>k>O7-NClJ0Z249({mKn zdb+_LUMvt-M+AXS+Wz@?R7V67v^BBDq9?7pAk_TU?2D$mgT1HJD#>RsO+6h{b3ZPM z`OkW@X08R@9)iG~ocXZ8G=8R(E<|_;iFW&7W9!@g9{m29!SlnW*8IhT)zQ2SKP;vAV;lTd< zp`6mR&7|;FsSMSN##hdmiPz*Pbd8kNQKUdkM-DvemXa_GcDeVaAa)&?2T9+V9PlK4 zIPW60*l*9d?!Sf#SQpit$_tUx*fGOVPjPkXy@(q?sIO<#(|(zmJm^eTkPPQzD2ZV*h<)MhJ7AsxUaJAbl);hEu&K`!VMhy zl&gFq>qyW2OB2ZX2S!%7DE zfs+U0%kOJfi?GN0vQ|F;RJpu0QsWAg?y__ZY zYW`iUNwAMkjJ?pFS+bDnus9>l%kMUvhX~Vc_LdP}bl0UNQ|)+}FGM9o6_#Bp1?$!h zq33yZ>|nJzKxpuQDwRn|U5wy_2EMj0J`dlEbIG%-LK`kA zVG+T5jq`jevLiFnNyRk*y$Z-{ z^r5>47O?4ys!K#8QHry5}WHxwOSMdJyb;d-d z_`K~?!V{lXdRy*Cw?OY>w#_l?n0f$7*x93!0PaHb0KKrj6;-OP`{YNUAJEZ8S&zEP zr)FTQ34%;4r?e5qH5~pNvD8^>8h=l)b*nm{HeJ~2hSsq41#3PR`ukr(I_DaI!;P>XAeFUwJ8~x z2^rcbm_|{>N2h|lYK$%qgh`+NYQ$vr9Vzd;rSl~Hs0 z0N=buU5*{X&L-BRZE+O%y_ah50$?QG*k6Pzafnne$?bf_48$OC#N8N0sB@Kc=4XDD zDOA^S$V+~aN+FUe`*4{J#-R;`DQvk z4_!Yp-*X+OM`?&MXTtInWlrURbq1Y0+k*L6mK_yV zBfG78P^Zz>P7Q;R-*DHRm?+8mOMaP>o2+xfwqbvzerUg+`OQQB$k*@HO+a7KV>Cjs zPd)P@Pd%0TZEk(qt}G9JK@p?-Rrc~bzgrKae6>mQLh`QHEFs_%8;-CgNQ= z(=58CrJ>~(`lP4%0fW^P^$0S&n*z&S+0Mc8HnVkh$o;k>(VjYt zR_iQVT)?7v2md@u&F_4f&hi1X+q~eoxJR^bZ%N76&h}_+AD_%}AR8YQ;NFS{G=+y` z_X|xE3)D0quzsu1O--582Rj|gUZNfpIrb)bymN1?AK2v2?1#Zda{S7q)VT6a)noLQ zOG!&#Kh$yl^zX$ziT2B4Mkhi;+AaENM~ADeBAlerX2ci8xNguQp?$#3lv8N@^4!CQ zrTC>+woM5Q2Ld=w!}U?2MIA4~c4LubO`Br~(Wgh(4-QYRw35~|e z^so+zCP|T<& zn3RgVv@8i-%2Ow>dK^n&%^N$HB(nYFF5oWHd=!4q>TF{*4T(=NfQwPxHvSizT=TPi zqgS_*qh|?j_EafIof<3CN6M7;bspUhciz~1rMuxpMy90Fm>(jVK9cuOu?o|)7LzOY zq4mfaN@rR1h@NS1hix@^0N3(F?9!D&u=aMGj-qs z@GYs#rPkH)kbaH$;yLulAp)^zyx5_BHiQv9T!!w}{CX;^7VH%|VF_3Vm_FesMUHPT zKxZsG)&hfgnV+WF1Fd7zl7rW|4pkkS3k~c?kePP^?MD;YPK|*D^uA9{y^^F(cj*{~ zrci)a32X*9_+r@Bs|38)B?=)!Nw05C6I9iU+v?sq0zoS=oGw0qUDjT$aft1~4V5#W zjkpKgwxx>Uc6P42AuGcZo&87bJtV(5OM^~%0Lf*Cp0?lDp$S1@)&1ZBR3p%d+#J0& z^b(;mO=hUd+H81LGO8(IZPHx(;;SfQ?y{({L%z}i4|$tA!%37|W!V;q%vZ;cEgstT z(I8~SZZ_5fL@3&s?h~e{@o)@f_2U4iKCa=??^2nlhn!sO4%Vp^gtl-&C2_7W#V5?E z6%)Dli5CW0lus>elr$cIF#*&1t~IF)4@#i5MVh{_)wJvDE?f)*|Bd37b$6CO*}~Pu z!?#d(5AlZ#41&_URvkLgZ2;4tB%v7*FM~;KQ~{p5HV0&8Z)zZy^!Sp0$XpBzX2>~F z_HLpn++|4$N|91*mpXc4`}~$BTIBbzkL}CX-zI74g!(mhw4<(b{jnu=amrnQ?j>#V zb{of6e{vUozU1XA|Ex%q8K`9=Zfk`Wkp;W~=R5H0~=YV?P z`{>5`-`=^iO~P$sqKN{h(s6iBW4hIlldYrAM8gcNgDrk}2}f`0sTrQN4oX~ve7K2v zI{dj&2F$a{d4HzdE8N8)PL}$pwSTIGl0@90eiO&)2mn7TNd5MckCIfSF0~+e|DdI7 z6KdI`FBR6_El*zWl?b{k!`%A3WDpd0E(P5SxJjq28O%hr#oLUvFX)6`ES*#%&8aXT z2gGwnLv|dEd&Jbhna&B;jIPVWYebwta4MPWhzY*tPROj6igGWOJmgO`C9Q#}Xn5o! z=@xwVB3FHC7}3LKFBY)&qK}h=CXCc;1uGaKJ~&T);Q&}@2J4HUxu45x7q6I&Z-w() z$NHI#WP|BL4pz`Qh;omWH3?h?rKj^ZuJ`~p{=fx(SbK~T40ACN-A4)PfftKjm5l$| z{4w;((n}P8F_9z6Y&0ZX8lik&3@MNDrl8clrN;jl%@6vxWLcTxMe2<*2PuhMA&;e7AFzwdSc9*exIze8I1T*2VIQQa7eFn);OYY_H<~_FyiS!ZJMMB;T=5 zf|{2=i*W?GIkFz>6j|ryJ$DSdT(bU*TY0zOTExbk%p>#S%&2!p>}G!2_!+`l6&={m zb-XiPTtL*eay=qA)TPjqN`ck`1e%SZTkT5QdYI?rmh;=DuP5|?QErK%8mgY zwLEfR5CXMJlI&V1?6ZFmse5tGg*4|@KmS35sq*2i8|(g}&?;RA-&1StCZ`<^#<@-) zy(k<3R;Tv_au0=L2&XgYk8;~`VEHBfoLhR?cqMh(XL7BTVJ@7VC!I7jE+aAU8FP}Zoe8|FfJGWD5g&2?;y0cX($Iq5G4RoS~XjI8NLS(3vG6*xAL5Y?H&QBPpJ9)*B zD@Jqs8$*&n4R;JO#O+ER`!GoWTC-Q9h!NeNvT&t+s`uV zjiu%CQhbT$H-MaT!5l>_Yp4UZ6 ztW1vU`dg@qS`<9fe>DGEm_*)vCyNK$0ektxzJ5F_w&f3x3A2;pl-d~O27P(C30TtCU!61n-?OAvSxM=8_mz#`M1`|!Vz_(+RsUi6TLgr z9rC|DcJl32*Rra&m1mZl1)bCl`CaFo{)EN&n)jpAMaIw-tE(J?d_!x;VaA8b(tV@~ z@axUPXXl$>M|Aq>$+2Mapc2VARsg~T51$5C&^tys$Zm0A4zAtwCrJ$N&-~De+$MiT5qY;}=D2&V<)U9EK zR7H(?dBXS;v3xkF?{3jcaKeeMVq7#dW;1#_0QYtTx0X6D1 z+nN!{tyrA6{0$vx`LZsGkgT-)8kOcdMGN!pR0WpxI3$rEik6w!MYGPziOWBG2|eij zA2l@dE~jJ9{~xwZ&6XQ`$}#VtL!aRCXA%kK`f2*RKe2_DiFX5T z*g17oAX-Hg!|F(nu$(2%dM~aW%gA{N1|!j=Qe}YrilKw&H#Gn3J)ms8944E$pPH)l zgT@}fd5jnFyzbB1^g$7AyL5;NVX*Fq&We8fC9YSt^I8J`DUqu#=|Lu)xVTAl`KO^Q z1#+4-9yec^&E8%ukaspE`R;V_$~qI(Cup=r#qFpv|5JU2+?)&~?7gd$81t(jNvO20 zI|$c08B!T8Sm8MwmWXi)DoGHHcxBTx<-OAb@2KL0P5e~^AnCP=8o%SddlyLj8@=-u zJBef+-hx0guxzv;m-;tH^g@=SNX)uELOE+x~vxRLV`x}}iqvV5R^4*Xb_ zRtU?q6aU1E$TvIG&9WW-bOp1#m4LYDVAssOPUbVGZ<}MZ3*%T>YpwkH^*u^hQol&{ z$vSNm@u2ExiQCX-znTOUNXjyuMF|Ucw+o4NLgWj!N3HvuY~P2RTUU`P%USdp>p>kD zR+JocbWvaH>bU`S8OEr?Ug_qZjKy_Jw;z1L?dy*GRQR&B~J z7e9|zz3nIWEP-LQW&qDnP=DuyTuYPbYWRb2)lXc*I1e-y;&*JLc4ETvQU)EiT5W-& zV>2#0Lc>cicxN4Zi)JJFR0;ryg?o*z%wAoxQ(D_@(+c$v*S3l>+GHG&S=+t^C;oAD0?8KS*h_|8(u_)egf3C_ZdV?+`Y;Y8E7s*)x%{^B;yT$sr zp@+T8Zs=VA`loQlk5{UWnCLZP{7Znq(!jqmB-o}756?5ne1a3rK-^@YKh`L zRi?IO{#OB2^v{eh4rQ{P4xSISpy~Cm4GAgFSd7?(p8u{9sq}=5T?r;+@pg5UWqvY$$ ze1{qzfeREW4_^fi1MuZ*1TofTqq=pLUx)v}g?3+82uN<|`-O0?dKJp5u1g{1>rH4# z4WKe|AoAxj`z_V1xkN(Oe@JKs%aj6dx2R()^wJW^kU?N7d>w@UQzdrQ$oU+-i^XCdlNdR9t8#GD$! ztwJgzw9t+U!Hxs=4TI(Dn!~r%;~uD@AOka2MQ#Z5mCu({OK;mnuup2&-+pBy7k&<7 zLrt?B^J@RJI-0u`Q`E5~fvA;(1SEFgWi3ZOX|<3Z6@RwR`zelG@$9dFIk;YCvaLP<3ott;p(yu9KZy*e0yKkc3 z1QI_jt96vGAb+lICfk*BzDL+pK|$zmf(}^X@UsSUj8Y~GDx6ll1|@^ zv$rw+;}jwyB5?)>_j_{f7cK4phQ7yb^PrSQ%_RKlOx)(?LL*+2yGug(=JD@Jyi|CO1}u}Bhp{conf!r zac_{YEGaju^_*;#!2X2gNZSj*ymqFT$J(9j-P zk7vB>7o@{*SzVpPlW}L%D*iTh?!){6_0`It4b|RC)UmQO&yR;fv*kXz$mrHeS3r8x z?)_n>C%o0$sBefh{(__CYdOwI+j<*ps4`N1stVQ`PrF8@X;i`@iDc;_YtMOqpY%v+ z9Gi5Jrt<2<*k}LtAzcOBOv384GTT_fxxtsFIJO+@gF4{*6Frc#*E)!$Ns&hOS#ySb_zcE>koF)b89p z5#*WOl9gS=&>I0o#l@O#y}wW*Rj#S6jm31f$dMWe@_Xh_OFJoWmwk$u`Z}eo@iu9X)c!(96boy2`gX*pE%uk|Q~PPgT)=X*Ku#S$UR>e&@H!v{#HX1oj|Ac|&djGBS;Z@{gAY3F41s7zErZ2` zWyTeB`1*w+1jvZwkNoSOZD!)=^njvV#+HL{V~vyBx*6(b`Cx9*Xv{E(65>%h2#Cq= zkx`fD=0&B_AGr)2?-`KzNt{Gt!rs)>6kBMyP0SNRTt_fk*X~hR< zgA7bGogP;Af>>sjZ#06?uB0O)&*Y}N8wM9jLj{WJ%{}KTsyo1*4YsI01Uh5lte(F` zy`4_t86GH-2l z>-kjldu!#zjaaBe|CvTGRm^Eqo#FfeZI=lMhF!J?=lvy-w}$Jp!t`iAUlU(4LltyF zv_`8{!JkhJKS4B>CHYvZlv~XK(h|CxOtmoYX|AvQj&Y0#5o)aN{za}FitER;%uM^W z0Cdsa*5$|6)9~B3vRrs~I*z`iLrxIY52oL8Xge&=l zeQZ$spcMQDZeStRVc-EoMA#>PC*mo_onZ52=z+}gSmf3TKX!q5v_N z%7Lwh2^XEJ)Gpq>Nm#$gzeJ*)C{nB&In{Dv=|s0#WJBvH1%}dCtkEff4_coTKtFQ% z_ACd49O@3@gxJW3+>??0DvhR6|)A`2jU!H$a6dJ4C2vIqX<1r$|Chz82}{?yNP^I85YnUc89Z zHZbgb)cI{Sc@-R5Bp`~l*fJ9GhF}-1Ua9@L$Fs1a*N~)C_)Yd$t*ghAu!CgVW`M8d zj=v$n(EKyt+4fnvt)Sbvz@GF}Fq1K5pV#4Bm~4DjAVkwdps0Z~VJnBBVo=*-7##Y# zoBqsj(_dpq=YL{n~>;3f59c{iz` z!kvKas%vpYZ|7DuyqT*769KT2HUB5Mp;9QiggdEU8spR)AVANkG~?bMokkmcq>?FX z966Ov({sOc;|t5TR__F|&SKKs{cwfb9-?Kn(`UQ`BFikRd(k%f9xgOhVWB$(IRWhb z90qO_%JiYX&n#AHQY-dLTKqegf(A4wZuwwa?;I|7+t(uzG%UYX(3$d9M1HdZ_nJIj zq&;!PIgdNOppqR1Ek#z2uV@mMh&;(=xoGx;%yMLXy8%g(u6Xq>k3(J7V2t zzAAy#J?raCJ%?{&%dzur$+BV6Mdw_=Isd87)A#8g=JisaMaoXIWX=zKvrdh2DNUL7 zw_wz+x-Xmznd2fn?PPwl;IU&Tr`#50^TohPI`+Lrt;B2_z0?s>K}KZsjj zIQ9Esd7qu-MDJd?uO%fTOXeW?6s)6`p^>#a`#M3%x^z0gBEi;raL%-r2i6I+Vz}@4 z5NI(&rm{4V(tGw5?(>xQYNE0OLz3^rXWYgv-SEo(Xnn8frBqpXG_kSMbAniulMCbc^(}^Gyj6FO$Jy`4r2l>0O%d3;&bANGxnftePEcmV z#l?A(FbK<^o}hmD_|>B%cvpT`PvKbe+`T^|QqBvZvtVr6c>?aU4#JwjfDq7P#PZpsW?egJd&$zHQZ~ zM(+lHmarc8-l>Y9@A(snW-~JDNpFctS~p|~7S-mK-fAHFmc_;zB-lWr?lO~4-14$GwQ2itfi z`o#bz_>mQ|d2Kw*G+xs^W0gH~K#~ z1J#~<=r_2N`h0w)J6j8PcDJ|EhL0aVe((;lX+5apQ}cGRK4$qg;=dQ0-4oS<4iBwY z82@hXmPq_8xYfy{PAGM~Iyd*9T_W>6uK!x?8qb*ZfHdE^d_GXaVqj8v^wk5u^9l+C zc%=#s6wx%@h^mNBU@OzDu;zk{H#9m>B%A$eW##KGLV6+D3J&t_~&nX7~lc za&i{eSYG?g4qW~BsLID@CY*U@^q>BrwOV0$o?wyIrzH0dy*z$dTu3J6?fs%AUnyy7 zK`O8At|o*>=5E(lA_@Z)b|?Yqi@U>lj`}8fW@6Z}#iX8oq~poM8k|i}Hyi6Z*Rkdj z?gGzCIoZp!XW`g1D)M&l z>nxNR*8;#u$Ym>G)F_+FS#etW(f$?SSo^tzPHV@4ojli&w<_K(TMV1;44X$fY2ib=e5vxW627vPzdz-z+uNBzZF}Ae zt%r3GpG%&0?nE_0Y-%sN)b1XK`4Ww4FV>XtDNh*4UjgbX@(-ThsD0|T6J_nzn}d4F zzBO)i$~e_+Pu8LNROSVrXW7g+#1vt`uXfVR=L{a*Wo%gxpPEYH2wz} zK0Gy*ANBr0@3I_JzTfVHx`A-T&xaLlv6aGz3s6lSX=_*S*@Y0>%hiy((>81RCMX$O zcIcwd(MN3!+z+v)E)|0XsqGFT@aOTn^5dR*g3RmJ>SGl?lXK+(%U;&Zi__#23`N^q+oP z>SVv|JHj8&cQ==@f${aO`U5%m$U{1at-~q@4Ss&*<4?9O*NUu>q%z`Uzk%m&&!?T4 zC&RbI{@ytJ*Ka>#5`2Ha&+w$d0U@1&GlzG7f+jsbqERrS(7Zb`pGx8JrQOnte8~rX z{rvwgn8{}yhkug|%#7$z3hq=M4K|0wWN5B`xRAX)J>i``pSHVQ zb)(_jN#!M1?GR!(ZVR0rY*Q2=Bq$kO?tcXyZ@at5_(E)v&D3J9PDQm)BjPH6;X7fH z(VkUtt$ocho#NkHJfpESIX<%WyUW!h-K?qV5;lTkm_e&d&KW4>7OW{8s2BKcfop2zd8q?ptA zo_<4m9%}K!wb;y&xa))+1{q!YDdMNS$j9f6So|?eWWY_l7MXF~Nx9;cmK4$^HhAJi z^zj;ogR}K|)++wjY;x6jl9NL0G_O<#Y;0c`bdOq>l*xkMk=aafr$*%`^m}WI zgs@EUDRnAN`bsp?p(^yLFFLlIA1Ta=zd83*ezE_RR7^pmLQI!^sd0HAbNzdOSjgfP zH!xLLy^yI9xzTq>CGz8|t?#s}Gwk>p*LSNrV25}9;zi29&LKl6cXzF*TC`6pn?}Uw ze&w8I`cD&v?}{=PX#{_}yheqIsA%~wmg^Ftw8gMhtJ1?vooVlJ?uJq19557Gu~J}a zvqW*nNz_4uXQDe+?3dMFSdY|)tc^#KlDx@{Sl&IH7~{~SmOBv0@O#+0n!$PD?##k+ z$|<8y|k z({n0fKv)ajeOkomni-|4ocY-W*PJHcLCX^rsZ**5i|B}%m5p}qR-T@G8~Lz9x_+ZD zW`62ae8zgW)le#Ac2k_cQzL~X)kki6A zhkaKBuiC|yT}_dkkFL_P-C!DC8rT&|f50>k!03bc2K9!sfCnn;P}#95)`L1oeejw) z&3s~2e`19&G!9_gG=->+r_n29qe*S)8@@#o98fqzW9y!?LVulc-4+?^PiT8Bz12Z}5IY;5*2XR@ zaD+i*-dN-9$knD8m+XL16$ever!z9Fg@_zpH6?~@dY+B5S!ttjSs+cm=`HzzPM;2L zD?cDi?OYBbQ>%wJ^vIj2!xOeL=vHv94c7v8cj8wGd z_FZ0p8DCQ}V)>n+Hk3_+Uor&Xg_n0JiE=fG4G})$OyV|xq#0XR4BX)dur-4*Fu{e>Et}-usooJ2gPD(h^aBW# z*G|7I+UZ`V&r7SEFaV!3Gt zaXFC-Fe&euP<97Tz_9(tLniS4kHqv}RVu7;YPp_vFKc)D)p=>}>+^%?a(k$PD1v?C2&SF*`W?m^RPs3#tq_&=Q*8!LBz zx`zO5kp4nb(0ST3%+|aE^;Yn=7X=?x^(9Vf2b*EtpexOWL5QxCDI&8xnMCN!X7=0CUMQOw_nMttiD&IZ2BfjSQ{^U zjflay(fX!%HHTMeR9UjdVeVIx-pQ%hkU(--JCK-}j%aFHE7Q5VfWt>wv;#NcikWAsE@kLXA^*m$qk$}s0auWI|6Oim&Oid?0bT3%H(Nm_QCd7YH2Kc~@C zsB(AN4v`!+qXT*s!|G6Qo({sq7N zTXAcR_kYj&1>8M}o!?D<4ELj*p8FNh@w1wsd2x#$ zj*48_+ggoC3-+Rqy9MrOOO#Yf6xy+s>+mUTAD_yfC#hK#W{kr?xI2%^e?NYJ_>zGP z0FT25^_|UCFKepxs}8e6SlWJYJ3i zu$M3Sc(csoHb2_Y@qod|=y7aZOrz~p_4*?F6|X0Oti@7MB)vfG4D!P@#PC`}n&;4C zoydE)4Cu*DL!Y)<#Xv1Kf;o>;YBV#HSV|OHExTxicWd|l!LTa6KLAfnbLUQPTu2`U zgNxQlre|H0Y;P~x3I_T&Jdi@qNRsfpv@WPCJDI#s_ZW|RxdB1f8>9w63w%xiFKl_x z1+qaQovYf+?|#vP+THhv5d;ur=c_}S{aj8{oA}|yok?YuM$q;Wrf-}#=G0rRBrgc^ zrjSPxm1k?y5StF?^8^R{8nP-Mmo07OJ_8RmC?`k+QYS zRFm_L!aOD?>N`C(uI{i*7EZQqna@I(txhQxp_qB2t!PmP?0|JgC7Wi_6C?n%RCGYz>9Z5kZHlw*+ zVmKMTo;Mq6dwZ^=_zv)cIk26Y(tqSjpD<~v>`a?_>c<>mZ*TXc1*IT|q4O1+zU3kk zWIOf4cLrY%i} z{1#^Lz$Y;Etw=_O^=n+fOW*1pTR#p}Z!b4VgosE2G6PQH##v_I$ zc+S`|%{GWQJ2ZM2$&Ek%q|h%=vM$LIW8dFZ-@gPa@4pi`lwf8uWZu{8 z={OPN7>;|5ia%cjq6!!%{DplNuys$S>h*e-rDe?lPUiE=eJOo)PN~N4ec!FPH*I+F zF0D)tj9z7ZUuDuY=)w^u2G*J~poO`1Ns5ZTF@0Q*&7J`iWry5&l0mGlFL|};a61(F zBqfR7g`gZsRpfLx>Z~8|4GJeMi~|LLnaw4^WBn(iWKY~F4yKp(F#(>`L%_1xCPvm9 zCFbM=?z}0s4mke!3ZTMPgRJcy}F% zmZ~;sRumk@)+1aY*tCXTyFFy?KYmjG%x0`FkZ^Swlt<4tK7IdjK zL2$;rK&e=TzEmVh1$ijst7TqoTR)Rma)Wn^;dJwHBQ2w~by&LR$FU_<`9C5j9$B&N zh2#c8KAT5Q#{}(D4S8wVvReOwPlZL0D*ThJxo=;cruWwjM4_ES3N7_FL`I!WKV+%+ zlF5m=j;kT2Om=9wjvX*PjfRGw?GOW{Jl~IvxbG5zn7aKv2C5`MJ~ws&z%ZzW9OA9e z>bhpvLBsTzrRUF_QLGxYxHZPLsS2VFVw6f1|&aFoo#4a39lj~ zw;E-S;`q#LdAjOomt@DOUIXlrWOq|%_(A3$kbDU3mO3GJCr<;>b#)+MNUQt8FgG{OJv!{&e*3?g(%hXc@N9dySdcey6*L)3IxnAs z%$kSt%F^)VJ~iufpKu)9zV^nqpSJdnUv8kjNEQ)pYilz(H1WD^#5AC~V^vMF+5OG9 z&3S1julTh9Xb9W*A3gfCkao1%MYO8rxINr2dk@4{InY7edhVp*+)(d9eNJ?tq-Um- zKG~pDUpa2H)&}L0CFV?Ce<>DtAX*@TYL(Apmt3~xg=%aDMF)s17t|W|PXJ}|nH~Ev zcT;bW1SmjiJkqh=WHUr+{H|1<$D3o1L;IJ3;2xhR%NJ?SSKVndmS71HS1Lzw_Lv)| zK;^1q3u-Y7S|r!|Nqp}fnv$)LJzRx@ZnbaWoZ-n?$E?vDuQ`*%uCl#1Nr%VRZRb=r z*P$=c{Yd^f@FsC&&Bq7Agv~K8ihm}UZ8=3lxeoEt#+0x0k8PS5cckQuf22}XwA86) z_ocwxbi?$Di~Qy~=aY$QFsv~vmPQ&*?{avkW)r~)x2hxj^Uoc=oO|(9vhO$TdmOJ8l`WQ@0pby@CXgY|2`h0Y;1S2^!2)? z>2S-sSrd;P(MtzlE|s^Zn%_ju-_gqL+b87{8UEWk6S|Y-VuZRHp6JDiB&fBAH)^yQ zVqfxy^}nAu3(aYpvG88#iJu? zJ!nEN{jt&dfkB<;>z;_(J@L=5C+Q(N9vt_%?#(S4X%A!!uV*RF|vNUCVub9!o8V6Ant{eXmAEXw&S=FBpFO$NRfIEM0tZzjFc}dY&e>Krj`_(*+w(lT zQs%^KH6Z&-Eur+)1iR`cp~{cX%Ro#>wR73q5_;Jo0BOtq?kF zu-G#04=llywbUsZ5g0DdAgax>s~f&S$hxP z?brVXVsF2kJmzU{Q6FY8`X}eOcZ0#;RLQ1?@5oS;Fu4Bf$!F)s8V~Tj3FZyO$M+`X zf8*{w!4E+mWu2&knbASu?Y)nKkPw=XK8UA4E9-1zdN|qy@f3 zlq2Naf5b(9!!hGs4d8(6ev5%MhKrh; zm;IC9-$af(O80z5xhVAFMHIp#B`OBX*l+kR`$e<*b%`>>D809g74RTn={P88(~O_e~X)qZIL zqS@0(PQ82LK5!>Xkmp&*%0261=Eo|)h2NL?yMq~>E_)x>k*&Fgr%h^9k+<&>h>eL+ zFk%Ak_l(vqPl%p zke>d#%A$nyE+;2Pd!oV70hm(0@>)QAia~nit;0t@+qgQ7@}=~Q41a1$j2gtTozyjf zUKy+EtD4*-ESXMwQ{rf!Gn*T;I6X%c8}4P9bu7P?L%Um30uDFUF|eBN-)~veSIbyK z3CERRCZo46?Z4_vCIOqIji~|=;Axf>{1LEhUFT}N*!>W0owke__fret|6(>u~8 z>#QjZA$ReyqpYu4-4#UOKs~av<^0=PH?Sbh^wXz+3ovhz{?=p_l9udpdONUPUdzjr4FME1u(>K zzdLdS*ms*sC2X<<_Acc%@bgB5JRKx&?^&IU1E=N->%@4IOj|Uwk<~yF0DS}UGxAGutz>` zNiRvk!1bT2FK+JSFVcW_5@ggUj*D*RUDAi1)hlT^iWr&Qlx4|sh9mL*hItGtrKJ1>lT#R_octx>ow-cLZ2vJu z=gx;M-|&}Eq%Vk=UC*~asc=CTBC)o4lU?{o z27BO2@1~bHK{)4RAvx4-?~3`d=S9k!I#qdyPGss-sHeNM)NgXX=8<>_wzZ848e`>> zC{q2XuZ7+T@@(k2fkjs%pNR!zv&*7Gm4Ub7juY*rCBsd$#Obe_oUGaJT@5rU-gFV` z#8+!1E#h?kl*E_yxs3ljfyE87Nj~DfY&Zuu&4($h-Ua0UBk%Wkzw{?o9ZP(7bwaZIIH%Q~wQQH{@dy|z>OuWkVP4JSx>`UT4AAdH1bG~!d zrGD&^H)*A(G5(qH!4bN4vP)?@w}B)H{Q;$0F^8@6HS&-CaWaR$@}A-G7E1`PNc!IO zMZ&UsojTf7&0Ss4C9f&aTyEQaeDhIGdl#_BI@_Sq#H+p&f|lDjtcOEek%(dm_S@G0 zu`=b(s-y?qa5viR7bN$tvdst5VjdqKbNlp}g~3;8e#?INe1S5zeC0J}8$)~p244>& z=UM_alh>`K3J+vUoDyz@R9aR_4Blk3QjgQcH!;Y7`m`4bjCa4#^(7BZ+FA=)hL2f# z}J|g0KxBWAV&az9cWXrEp>jb~rgAP*vB0Yb8VuyUQZl?RCw#@_Cr| zwM%0s&wha^0+aR5hwL`_(s*tAS4B%(L!U-#-S6V;RZ!8`2KS1DF=%&zgiPQ0^Cwj% z5AYH1=rrD}fQ$@syy`jD+xM{>teGZDb%(%vRiW2$56f6SAFWrO{H$Uuo}<8nA!U=3 zh+rOlb3P%yZyAC%;LfDmo2nBpuCu3?@J>)Lnlf(6IWktiDPPng(~Zeo2@@V(@vSoM z>!@MM?smXg7z?{V4VP9NJyZe?Adn@0%&N=#H;!3f-~nAeog%d5E$h{TxYI)oI!A_A zq+;k0u89?ei5v%pRblkb=+XK?d*L4qioaB<$LmGy;wBZdpzH~obX)7pJ$J@bdl3Gy z4I)2GI+kI}vLxc+QUVlOSmb6uvFSZTH9uO8DyPP6x8nB3yzGA=3szxchv8LiSHm}Wi51n~VC^~e&0Gx(HKRrWzL?!ndXP`UJ@@DH^Fy`u z<&S+?kQ$(k+J5M|4~$fpzQY<2n8MX`FlH$UW91QVKID;<{Dj2 z(+`dLGRV=vCv#~B91VWZU~D8w^^AMmWU_fxPAtZ^kOuxt=Ye*tJjUDz^M>7Xh<4&D zZuc3m-*vS)zVNm2#pTwXai4@t7wyE-f`>Non+O}RorTcFqbtZqdz)%Dp8eg?;Xml#SdHFNu2Nt&q@kMl^_XVV~{Es0ym;^PBXSknSv-w7A{K=O~6^cjFtHh86?YXiV_PMYm>e6As~1!!DW`{&z&*E6Qe zIscUPZRr|3>$vVb%4*!V!9bilts3F9ipbq9+y53&LCTuWjh$euds7xDJad*LCX?Wu zXOOeHtH)^V-^|aYNcJ4vKijqpprXSmzB&b?O&IZUv&pqYpTq|6O zWSRCi(zLS^wkRA+88sI}6|aCxq>+Qqu3hEcrS1|Yz6sGtC6TB zrebxQRCe%P!6+*}RN6aySL!1OSI36=hB^BTb<}m#b`uL`H0i&&q}zr5q$kN1HG)9e zui_8co{X!gV9@CpOFfKi2y7fSnN%sujs4a6kO^Y=tO6>yvb5}&6LY%eCe`ILq)1@w zo`O_Tu0TLKjrz&OWzs&YL&fltrf%J&oUgiJIEu1nA8i_4}HN;4ZmIj5UN%0*1(7oZ=#qvsiJm<88X4%_0_Du1DNs7&l+_3zgAfw=PZe?ZQG$Z43|? zCIQX`5jPT|O0nd%*>2S^I@M>Ny*R*QsK8Z%4O&Zs5S5tgpGiRKsS3M6>*zzSnQjlg zA`6=y5@<4(nr;^-`}90;$wdP3Pa%>PSaDX3RDH5?*&})+NZ7)|>vqF&?EL$!9r=?> z1eynfDYGv5qSob_d4-RD`R;Lk9zQ!`%3%{4Q?PB$`eKzYOB@*ub3b`!0H-U&#(Y2ssr*(BFJ;Kkb?~h6S{CuwJT(YdP!dOi z=&S~uWK5BgTo1}E9uS#Be9$6ooav2SoTsf>w_Un_(Bc*az4^6m7Bg7HZg?gq=EY!q zi%vKT;im5;BZw_ob>^!rOX1g(GY)Z~eK*L)U3!@V9^S&FP4JGofkUbHFf`;KwX{r< zmzJXc0{d2Lv3m7hJ^MMc>7gIERf*jRwA8dA;k0?QLPA?ncYZ1Q-OD)PSyeJ-zFG4$ z5WY=k@nkx4^*x>ki8Yr)909rV6+AtN8Z{S$xa6Q}U!O4)zA}{OT}_o8q3yJ(%<2ir z?z7W8$cB6CAYp>YkyNO+@z~og0yEURXm5w_Xt{Inyd&|{h>30&zk@a5t@V08Ha~53 zIyX(wQfFtZwrAMJGe?M4vaCQ3%Yz%18W4dJ42_nnoW86QWBI_J6BQsh=QW}|N(kClwSo^F7aE`2ZejV*+e!?M>tbE9XP8XZR} z5;;m*eXy*{GM)HdS|)2dPrTtsVNl|Nx9chgi>3E6WAl&Kd&3(MBPi!KC_q9ym=ouo zFapDwyUq3sxpb`*4jY}+%4wjXMYKw`aLy(Yy3=Cy&=6d`jB7)zl&=2zfu3aDO!oe^ zz64V# z-s&q4b!!D&!*7!@d8iC0M2)227NV+UL;)L(@LnpKCtnAt3MZgd!IEW5(qe|}X@wT? z&FGwA&;(1r=D4ZtV9s4@9aoxDxjefUhGsyU+8`(?n!)Mq1wMjI`QbN`ooczgw8)I% z?T@rNEDtMH4-!t&y@x#pWO64ryh^XE_DL)N{`T9<$jIQ~=GFi}+UL%l>o2p>#fek3 zy>8mFiFVNqRko`XBk{10+}Vhx*nno96FRusDM17|UM}xK3JVj|o?2i)i);k>l`tCJ z=4>C)Sw&y{T=Q9I4?pq<5YM2ltd$HWmL(>}>SqCFukVLy%`}UB_tsLevzuy;_d~1D zLWu+{VVDR2;R{PkK|lg7&)q*X#QEf3sCZG{+qZ8UuBz$Gd8yA)&|T`2JlZB-E<7p# z@XFmgw%w&InO1UBymp6gVi!*%>BygsmI&G_Ho+p6)lmC+E(^3>?%0F~`bg;wq{4k` zXm^%|`z}a#)&$|;?cnjprSv8lxq9O%OZIHoY9*}jHSm#_X{imPZpQC7EdqPCbU&y} zKK4Ll0~rcbmQnTW$ka;*?<9(Fr_~nPJsp~BgT!$<6Ug+*mTZOnC%WKmXpmfBzGL+t z5oVw17e=CRqr_hTuAR<#@0#=q1E<(Q1br=0hmKIpT9~@R>9VC29ewy%O-jr#G5aPh zWwts3XyrDOr4x7JFGb=kSEJ*Uo1eFBZ;F$0-`dY`^gn9iXmwNw^|5q604s4;jv^{q z69e&$;;yBnylB0!v^HvBgyktCj8KMqDRhw|&B!}^0s^l0_9(~+OO_e@Y+uajSBquwIrA_4K=2liw(bm^T2xI13FFJ2xQSGg*XOIrNOY()RHXJ}bmS@V&LF~Hq z)YVf43k(8d{gx@D9hQc-nx4w+Y;no7UMTzvr6RALHr2P`*TpXBY8fWIol?#PG;(=E z?is83UZlx2`C}-HJOw)5MHs8nv>PeS*`kPxrQsEjM&Rvn@z{fUSv$l}&7i4I7044) zU1PrL#ZM`c)vDfW5_(PNGQ~}FLt}tvr*yODFAr{V?qlV@e&qt-_kR+xyFteur5hSm zZdpJDlp|dJ|4zT_fA9FEkp>*2@8scVkIyHo$n+>Z)OUL!v@s~E-i&N{2Oq3n{i6c=)emCe=0tOC5a3o-CG70DD+50?ZV zBe8Bz`>Bm);nJfCFpB3rJG5Z8?PnP9%X0BD1PIVE_tXNg(iC%Blp3Wb?q>@c<92rF z4oLD0|DWdURaxir$#v?2Za(U63H@!npMOm08MzalJKTJn9JDpXE;m>2l$ylu5oW$; z!XRfq7!^dXv+G{Vn9S)kTT-3vvpcChSO?8&#ZISTpeFjNr)X)C;cw@l zfNwrQ^y1{-=TdRS=Q;U&4(ntVNrZf8QrR^KS#fipdUaEjt_OA{sgKF~e20rLc)iNF zdUxBCUfS-dXm66mjqn0xl|j*^!zRNTcM)Eq4(I&Brc2SFakiSNtxao)Cg@MiDnsZ6 zeAQBxWTECWH9#$*}&X zWN~=Q;Ug3;jXH9fGne88%j8M*L+={YZ(^x_+l)(IA?6G8`k|$>gZAA0!9P|LW5Fe) zClV_c1z#Dg6;1H7euoC^lqoRuS}|?)dUU^9)g2Xb0DK(z?bOoE;8TW z;kgEqRdF%J6SXvGg-z$?saZQAO`du((lBBdi23)x@DuPTnC-`C5ATNX|hG6R?;5DCFYJP7_ozT>(%CA3!pg*iHBQ-5WR~I zXV@BCgt_pT;)rUWFS`k=4&IF5xz8t5UIL$gQOYL>Bz>0Mt8logC!YEuQk82w757V} z-^Mz1!rfabrQCv@-(AP2AH{+X%qC_=28=<8*W z-7jl4*x-}J%~dXa!<>;BiTN(Q?^nXaiuYbQjPvjZT@tLG#$zOkA}cN#z=+=?R11tP zsyEpS3J7n7Sh5C}6A|J*nX7Dg!jWD@%;E=b7G?oh=7|3H#DK9v?(!vSsB({>ibsgL zTfEz1Vr{P{!>jjibzi)gK>_1LrJ@Fq^cyI{^p3|0GD+6SsIw@#DN&0Dr1#$MgLv|)S=4>zOHiNZP^zOCiJ;ON9#mtC< z&WA%&*)<8-zzz#TQ{!cfepRO(td%iO6FuL#jBePZhxVL}-s{`?)yK&`clYCY@cbV4 zqWCs5GH&0m+H#VG-ERMy*LSxL)&7XUQ%!9STg!Q7ESt+$-6qKmS!YE)!ZYGm-4Jau z*(Qi$*a|L#o_qcm_Zy-uI(}>UY6Iq={#*vARqv!yNW?hsgxyhho!8F3($&uzOSmhs zzI^4DHO#d)T#}>zNyqBC_2hV(8I#n->krx>J|&*gqJsr-ZUiACu|0XaZ%)V<41{}V zbmYBvL7hd}1C6|8%t-K+80)!%GFGXDl-mIdqY1m`%C$^(@Xw*rYEcE*%yvP-TsvSE zWM2u8Ad*an*V=uC3CLo}(PUWvrIKZC>98{JXEL+u@OGdWIa_zzb4*l|Y_z7S9b5=o z`u@;fMa5#$A~9P%J4^vltlH(Wlzs)xa;uK~c|W@rJ7`4|D#==%PyVecr(pd_yloEx zgxG-3?S}HgREdf;)PY{s&tNSelaKlPZH6y9`Y%N_-HgRFs(%%DSY$zU##7D{5^^@C zL+E>-7^7-&Ni}kEgDO3B9RmH|A_tc+MVt%6?qSjPMk+g zZsu3rppAf07gNUDb-MU)O_$dT;&r=E;$Ys`>Vr4f&k~DMFIB2|>Fu}1{9yR#Ac5YJ zWL?`XyQV$}H3L6`h$LMPT6KSrjqs#;4I`Lapk1|^IBD}%%w0rN3K?f*EWE9krGsDL zY7y@B6m%h6B}>_K(Wy0fta?J12Snp(FB-^&El@&hcZxsOvrc5`!GNcgGuUZx(-xV# zPYl}8`QdlPYL4+-nB7}8=N=W74OEHen@6Rx)~QK#=mH`JLm%usBQDXyO3Lng-I7Zx z*48HoDEyetv4gOmQRfAd?XQ#llg4?Aw_jFl&(<6n z%mtq+T`gg=xVr7VKFCq_KC|GyxL~*Z*m*Uy2$M`@w4VY5*!nzfcLU}UK?lw|BP^Nd zT$A}x&Pv$G`CarQ>@V)y;B8D&H6FuVz0e&suG_Q`9)YdQT4)T?SuoC$>9a5mb!WIy z-ruj~KzUe8&&v`!%ai5~z{55b-!6%@YQ1!DtN!Ys)j%=AU*&xAL0XK_1AQ)6j9r9Y z25VdQe$fuwn>>jW;rFcssGMLF z%|W&=vbz!Im`J~crRtA$A&hZnAyphOuWig@=z27wX{Pb%H!T=?L^bbOn|su_@_TI? zqk_xp+5f;XPeV9*|AZ`7FK0{;>hs;|9K&o^dhXU$=cUyQ`vN`#3G55*4py#{Hr`!gz*_UeHStw9Uq0`(l5Q$*%i|1-_P zO@wbeJ}HiCAqMzZr+kuK?K<0$FvVwxDe1d7?wIDW@{-`vp|JQqh^6N~p{yI9o}4oz z+FKMiFtnZDU3yr}09re==!lOM+>sY1U+7KMn20h%htYxB1p8FbgZ8qS=Mo-8#w=ip z8ohPu@Lg`DuDTZC9hsK4mFOXumc%x5$XKEZ;k`m@K+-XLm2W2BUn%RmQ*S9b$Nyqb z7!233pG@i5OxDb)II_&-ct`mhwY^F-KlIM8m)X<{Sw=s_QdwI7YQxywMjRFupBN6l zdd{C@f%A(5zNWzFbzi((&*ED^6whpN1avgeiSrZvQFpl(Tjds^>CRLtN_jd3*#K%5 zfQ<`I+j#9I0s3A}p3GJZ&vy!GfN!2zM~wAEZB<48S~i8A6i{I-b59y}L&Lr6(62Jy zMFM#U7o!XCRlIT(MearfI9EhnZ=7Lh?vP1n3P^^M^(}C;B5&Ca=Evz${N5=&AeXSW zw9=kF_tc}OxYv5b1$0pbf4e-b@z@mopZ`&cwnxaS@ zAM5|H$NXoluYb5i{y$dh|H7OA1ir3UVjgn1i}ta`_huL?+17aydzmc~Qtij9J?{G2 z{ACfUAM<~bMO`F06TFI!as2_ZYkKFObU@UnCnt5=ENs$Mo@CxJTAa}4&SJ~j(hSoU z-greNd;5XM##?sJg;W-?cdyEB_K#ITi5QDy{6>eML&{GcHDUWo`I19|qssL`Bks4R zA%ErSUS?Dow=o^981W{l@Ko-5M0e`r{gYxm49i|*_`r=N1uK zHa~q&IG$E_m9D8j3hcIoB!di_iUX_{)O`@y9vNm|4vy0jEyV!T(TIrJXkn$=pQDKx z#^36dPcp6$`nErBe&yTm)Z8ZOu}Dgz4eXzqo4g66*`60*Nc^_MPYsTgwE9-utUAQf z%arnd&Z;@230%1B<_Y&KH}Cv5{hahRW4Rd-pS-j_-2}q>+~t|KpqSv6U(Y~hi=T`h z?R-?W`MO(o`0?CC!M!_lt%=w3Z)!q95&;5T>Zc+e?e(u;W}qc^Pj#P}hkqwACFj-% z$kaYw>5*#**2&b%d;~lufLeGzB~1T^Qz~mFtj?e1K5Rjp@v8gz_3IKq7@|3`IS)M> zYq`*^WIf`-UUPrx1XQ}Pbt@*~Dz+{+8mA_BR4XH`klG?RIH$HGv)9QcY=mLBpgFXs zYJyeK(HXo0*Ll)sl7j!1D!!?V5|nXxh^S?*e*H40cwfeS-y=ymZ+~~!Ffx#V*W{=g zudjW%=+Gj}rV?Ym6Lx<{r7u^FE3ViPq4Oeld2}30x{|XCECy5{@l(kIBj10CGP!To zUsJAnKH{-YMOEjdB>zYYp3sZNF9?`BYb{Ef@6KIYEk?e3{{=dOB6pEELc3m$pxt2f!43)b6VNNI8nH*$I3Oy(|$c3k65N{zU*0b^9h;P6k0Hz*kd@0W$mzI-3} z;7c={_L%GZq2ldryTS;l_s7*4~-R=uhH@8{kb)Q-a%$7YelQlku@LThyrd zp5=(m;u8H-&1b~@N8iX=MltPGC>{~v{kd( zQA!8B=o0Mxe5!?UVZBKM@@O7|Ud8RxiWF)*l6lvkLS-+!_ zef3^UkSE*ZgwD+esQ9Eb4mC0w-My143=+7WJ<<*BzeB9b^Gb~1b?CbTtJK!dS4wjN zwZc%rHN~ClYU-};O;v~}m%Nx@Z;9IREZFlNF=*FQEv)cv0LWR^9DH!Xd}*+Xx{l=) z7P>buTP@b%bxqee1>ZMb{MrOkNY2FzZgsRV@mlCc9x%IdqVP)mo&tur~>3`b{$rRoe|Y8byNllzgbJmk@Xq`n%#GiZB`N ziMu~{@|mj-0&EMm55JpIPX=+3292gqm?V*zRDZzRT^#KQCSg6vd~ui|!T(~3d&hx^?Z zc4YfzpC^K=k=M|Nl~U;!zPPZ72Gg?zax;r4=*?qtg=i6eFKb^MhO1N|pZCt3BZHR= zU&oVR=e1j_d4CX^&_YPPd_B%8$*%ar1ameqeNlSeNsrjq43@PR>B|uX{vLV7D3~jD zdf@JLy=qwJYhy9sJ&Pr}G_^d8Gv0~F5f&um2~Hl#duX5blp_pUmI(StS|C<{u@alB zm(Z);r=g>ByKn6+pzv17p;Mz!<+?6B>kpQzdf$OQj)fhv-Clix)y_MhJ-L(ZRXK6q z4WRSquq-r&c@+g5PO!^1o0XILuM>qQSG_+Mh+806B6Uw~_nBoEHq<7=x*S{TWD^po zoNJ5gy&oSX=w72A3Ow{i6d$ZfOBqe?_uLo>`}sarMvr4KFpCzP53>gQ+@KiwR3Ffb zF3Z>FId#j!&<6cH!Ycl1ko5g0R@UBa{L$o{Qcq_sgs6dy>QlU4*^3}D2QuyC>+fkD z8WQyc(*nbJ0oRpFXZTla0_c0cz1N#At_?F6H*1{!u(!Rii28H0YxV~ZD6oNll(%f7 zbc2=K=9L`{|6(4;cpc{cV7_5KH7#dOYm?l`V(^U;1*=|fH*WI#{1G}?=T{6a1+OnS zr5w}_!JKBiGnv%tD<4O0q^d@`J4833`xokkoegwinny-rj2*RkK(nHw=XArN^{fHb zQ`6eXUk*GLmiDEz4D&iP{02xJ8#3}##Jr$R72v{lE zoKadlAlsrUe)=wvxmvK07TTdgZTwGDG={GQh~;+`Nxwk6KQc>8YP2+NVf zL}6Pp&4+eNnbfVG1Hjau6|G1E{-KJu^>wkhC-zk$T)=VGPC5?5Rkd|mM@^8J0O04|Wq+af1 zgLgx5wFfl=CSvd?JVVq+w6>OJGkabF3)*D8HFD1my35r;`^>3=9K6k9@683n`^4sx zx8~-#_d3kX+OTOvZx!c#uC}RqIS8= z$K|C%XOsA3LIw1y9ZNx0QAb{(G=~sV=hUVaG1O#)l|f0z+%^FXwnqG9f}TM0*=iY1&8=EsnJ}gX2T56TH0J3;Q@#H?0eI z6Qu0{yT4}avm97;me>Ec?2ESeR8|3CKih+O?<@uW#(Ta2r5>B+W^dn$ zjo(O5uk_KZ0Eoev{*D{=@8o|TB=%kgMVgxNqSZ$bv)%uB+rB(p|It7d`U_tQr@5no~cMKAdTiplKh(wQe4oT%m zkb;`7@bKmCZ*!{E#=PiSWUV=_wyk~7u3WVSifCrL)C1zAVxc-_O%BgK1Bpm?0&_3v zn8A__6ipth-AM+t<)xVxrZ|Eb^5^wETDNqsTc@dNPX6UZU<5LRjqKaL-knJ3&r;)z zj*7AbOye#mAWG^kNgB7@yzy%FFhacZZ8SA!qa0Yr`kMm2-n zHhq~P5^k&cA*`YjkpuN`m__l@unT`psF53SaR7*vxwTij5ej4Y4J62=K9Q0H@R%Qb@{4*n1Ik!!2-6+@QEwcBY)~T`C-dzzdd0?gW>Bfi2noH| zO7kQ2doPXAV`yfo+;h@+q7sDL3ypuUW~V_m@_= z)=qV=3H1&vzAsXiPRY{keqg)c(IjnRiBmnPMn%^_lR}#C3a1~dc-^G-cX0KiJ;1l` zdD-*i@ZC-~mFe>iBMm$5r|D)1eGOb&r+z#eW|m)aHp^7AzX5kVbx2=DDSnQNA4`ZFYV_>u}hLhZyr-egJE71tt2X)gaeLP7wv3 zOq)1)d8m<$U(b`YNxtBK(cBr=A9o~I>;;o9hCJQYY`G6Eo30-cahS*t4!*ECzzl3W z^IsiLpR0F!PFurqMarMg(B_scQ`VZm6yX<0Pt0YGEoB7H~| za`Xh|B5b1L?{Qim$OqCW7}#_7h-j}~NzIef_|>cd%T~;miCuV z{!qGrPX&U=9zL7qR4|9luSg zcN&lAvxaIlsQ;ktK$AK3+v5eU`^OoG22y#F9r;~b8$Hx{y1mslwKpM9%Saa{a)WM= zZ~V=#iv(tyPx|#UG2&&4dD(E5szebr<0)y)-KxPiR#NBgTw(Q`@EJ_9c927d$ShRJ zz%%eR>0k$e!A~9EL4je|75{cU?aVqDVTo~PTeG3?CY*$N;nstHQ)1eXs2e7u;2)@$bd8F15khNO?4>7`V@jv%CpST}oG#NAW9c%IGNVSBl5m-&$!9VicMKXrnbS?3! zz#qnMUtfGdJ|-(=p=#t>)NOM!-@xfABqKi;)u95NLzFqzV%}8CGOx(+JJ1~M#J<2{ ztfdEGBUgmXa)S0VH#oCPiSMnioq1|^e?$se^5qu_kCK>xifq|V!2DfLZC{e`xHZic zerLbC#E;Wc^<}>9V1J=GwrO%%U2o_UcGXyz^h6DY8n``tD5i#i<|T2=6Q%bEC!^){ z)~6jg7eSkbR(kIz>W4dzgmis)z@uA9$oOj#9+g`&e^wvvo4t-b1yVy+fHL?IK8W`F*boNY&wV z#%(EYGyCg2can|3heb&ed}cvO^)5N>xp}84tOryzCmOjfn=HB0KB$&0XhL>#G38C z*N#W6K6y`UKA^_!gh`j-ku~?szwNC76n2AUCFbrZbXwTC$?h+uSUc$Iz{di307=W- zGAQW~b*t`$LzxOiA4~BD-k2i(aofX3<2tD&we#1<>P5q%C${6W8@|sJOhgjRRZ`A+ zy*f7tI^8V>UoQ}-fV&%4ygd4pkFU~&mOT@l6kdtX3)2f04fAqWN~x-`!`8p4fp~P- zit8u?o2Yv)HU#w_;aWaYcekGS>e>JjW_-rqH_${uQ~|s^@@t=eo5$xn*rb;BwbNeD zwf)rVS)s1C%KP4Yx$KqP;2`-vzkci9qGxnY-izCN7f$pwG;C}ybz(1Rjp9y}odH1O2g>84&kw!A7B<1#wdILI3QywcwKips5apcc zeh0`qnp-@Tzt1by;Sm1V9QSzgBI17K?_~=!-HbqzV}5C?UAysam6G+uw1J%u%7aC= zIJe26T~~&;yS$LU{|!+``o$AoH(hAr{?G}}*|-y)n{i1JQ#JE@yB`O7Xhl6?sgRe6 zxpHVp1&4jG=8z7fRJm^3$pxbuHZlGLZYvrMF1w|cw)!%6Kszf|_E($t;`I!XS3Grp>Gj`` zUEwcYj5S>SHx$_^Yp?IC6L1YlTp{UNu12NtA7t&*g|n|nz&D=T!J)_6K)aR(;K}dF zL-G%>Jf;Nxs4PL0_}~cu5gBg#SEMlWf3k@G?{}{G-%(KAab1gxSVd9&6!>wz9x5cX z1H0mD6!^CmbQUg};Qjj%MQN%vT2I^rlsq6_K_YUtdO7p@L1Ob z>=w3(9ch7`AHSRUQP-c(4E_OVTL2;k*Hj&k1b?MG4@l*|-%F=BKx>0|j!_jZ_vFan zKCnp*pjfI2^(G>cwi)j!;PL zS!Tb+k{mDUAVThZcXBZ5Dv3eT6(Y84ilQhMbT*!!9tl25}b;9YhV9K4JtbtU{yLX=e7UnVP55WQxv?QDbE&+Mj zOOo2;*aN`CaiGj+m5@57bP7zA>auoOqeXtao`Ep{N8$&{rsNcnK4_2gQl73xGZ9hE z#K_o#28zmFc}qC4Qg=gz0_h3QUUbf~c5rrE9mD^1*AJ5KaYpphw_W4bDu`RBhlqY^ z)^MO25c~FoAdnWla&QNzvs*oPUl=~8k^|tmfjn{7l{b$bz1O6G@a8NC2OmfuT#NS= zO^y-NKX{+eLDI(4o2wmFo;}li{raW~g^L|Q1w#Wxm!)5UfM5f~)5G$@kX=~Yt;E{F zs{-ICA3H^nmpBF{4MQ{WZf#w1J{H_>MlXe8(UOSBx)T%ScJZ#u!_x(TZ`}9oYr^_+ zT~Zw`$W;(XJ_hi}@79=?0>CdhmYN3v_)!u-IG+efURHTX%>gtIZKjzVZ(U#BdF zpV1RTm_w<9_rd#!q#hd3In_oXAIN zw?^e*F-HkU*HyI9lp*%iJ{=M>HH`G;J)r5ug(Pt95Of>(DN2fo1Qwz5BvbQEx$OrY|4MXc(eIz?`@$D`f$w165@0F!3#)H6GdUir{^$AK4|T+ty@J7JO0=g^fm3#ii?c^{<%e_tQg1_3LT2=;V4s=QfZgqU<(3ZA%GD^XiyVfm!=$vwL zSWpu$=b~(YB8cxJr@{tKe*>QtvnlZbPNdZTVfWfIE#N4Snkaq> zmZH4XTDOxP2u-|;{7ISHA&-DXEiX6rw`XDXc>l};;FS9LfzwfCXGP8e>?Ob&XU*uP z??NYZRs#6%vYeftI%n$fVx&> z6z;ym2E4)9oJ3|Vz@`VfR+K&TH-~w+;TcLUc=s^q=^C^A8Q{$UXf#|YWggnBO$oF7 zQU^r+`!R)I!}o28!SSjN)J$dhlzZYf%* zbFzn-ioZB%sbmZa#Ij@l>aQ=trgEy}ZDjrK0|U)_!F}21yPW;_EF?5>p)47WSB(2d zgEqBZ&J+GMp^>??ZJM#BzV^WiQlDdwp5qoo~u1sqd#GA1!TXG2hgcMwjKut z7C3I?^lPrgWi3nkWGzdvdYWewP6I5}H3~c>L1bILl|6I(pvl`~${9*&b(zJxJ7ZfD z^3p_qgT9jS?nykUVWB{$i;|#CIhH+L7$DEC;RhPLZgFkfMrN>jM=LEHYt&R!uPV+( zGf#M}bjGIx{NJu0&>U&^Y&I~`V;g(w06*^$YH;$17;}w(G`*JJ_$bw`I$N=!QDW)C zYnECQ$t*q|sI45TNC^(c;%TD>p0vkXl#_ZV!Q>-M4a3g8c2WAN1`)fF7dn^j=lS}c z6Z%rzPD4cAGV4%xoPL!(_3Hk8RoT-_Jf}4bvu&@QyH6h@d+B2PMRgsFSy&gy>WBcV zdM04?HS_$)7U{sNu&Tz;o+#k4F~=?`@Chz*3siez)zkexjdSo1E?YD7mXBAcp!dr# z>CbKLMa)gNdUAYxE>v<|o~Btc?YbOW@B65a^rgu1`6u=-nclKazpVN8Jum4rbN)Py znT~vTb(&}}RhYz(>ci`1cjC^iZU0A~BJvg`PILr-%eq|ueEqaD4}IX)X1*+bGfc_N zn`6~awJf2xyBs>B1iB}{dQLawqGd~oCt8De^jiL98I5Jn_-0j+#!lWQe#PrOtA|&9O^h|NS%+->KAO(8$UM@08v0^teQSCr`~iDtHI)_h4@RdcM}z zq_1b&KCi#rTD^E7>6&0nc+g5C6PoV#8iVdFV--*3%=7Cn#o>GbwO4~Q&0R7T+r)mn z)=X)30Z|>;YYukoL*CmaX^AKB6wm6Gn*$aqz zW~JTXfROoFlr@xO4-sHOw!5glfexERRbu`LFGxyi7vt*;^6gSGROKmFf<-_m#r+FlwxZa(^ zZyghjzBk>Ug!*(aeLjC5jgSx)Vf%uQ{9Y0((jUDOyh@Y5KYtRz!1g}yP?v!*ikRP$ zU}f^ENw4b1r9@-Imun57Kj--MvPbPsDQsE4=ehZF_sY^GvegAs2K@@AhYx7_2zfcd zOZaDA^z7xFCeI~5{lL~en5yrxG${D+4QUT;t{6^XOR&A-a?AVz)Slx8?sD=T^z8)) zKU!J_*-;v8b$zK=XIEkG-91*miLcprnAo?6OdmTr1qgXA;$k1{FHxK3Ur~U|T;R7I zU!uKLnyLz@9p3cUr)udyQ%k0mBS#MM5Z^B*lY-wTGURQzg5#yn*(Hoh zid_m~O8U}hTqW0a)Yq@MgG0Xb;vI@$e*fuy^e=6ph7>4nEn3{&ik0H-5ZnnAcPOQ}q__un zx8P9R-7ORi7ThgA`kwQ?=X`%_-Mj9+`6nxDGW(Hv=Gil|KQp^Nsru;V7yo$1=Z~U; z10RT;btH_tf~r}a4ZQo#QY~Fk0r$rRLEpc7Vm5JLx<(@K*KfqhJ0M^vJ~xnkiW5OK0Au$Lj@@j67fEli7T$Fc+zwBhb6 zia-Q^GO5E%yxIKd^cw3;iu!uzVcMuXxzWmGH2C~@u2&v0dDLi;S+dS4o}d;3{@Y{X z*FO;>5hiTKPe}Ag{pSW97*JdE2?MySs#u#8r&{bdNQ>>#_!SQv3Z@oc$D<+~9s(;2)q z8ZL$)(oGdBw4p(D%b?!)K*g-j2q~xrVzw$qH+^>UcyK-|%N!amvw4F`vP_fnJqRDpR5kjTb!fTX;CfpjzrE1j_+gT(Qpj|O=)&=x&t;m$+l=r=TxC48 zT}{bLYU0YsjTxw$jbij7@T++&jI9OJIayOu_SRlC0Y7r3ej=HSnJA*H)YQ}qgD?~x zYq}NlPa>d64^f~9m*xk3FMJZ}qaFGCn>M`3_VkO}cKLFTo7gkW)9ij8hY3AqNoPzY zITGh~d@F?>HCnQwSnZ*7+yZ@?{91ga%bv!Wacr19lrNrrnO8bh@cFo2Q&#b!2#`jV z&+DB#?P*eCg(Txt6Cw6(<3gaV8?QRh_IC!;aZ>Oz&nfF{HSEz4Z3*Nbo>%&RCu2-^ ziu91tQt2q1Q{T8X!v0z;=}ZtEj==aGO)ZfdVXqZZr1-YM-v4>h`XUoJKN z31Z#>SE6*xIt!pya>YsSw0n^}5L=m0JL%W6UV#fzlLWVSx6|Wvn=K4f+Ty8vMP{Lc zgv$`&Ur(Wz{v<;ZyK2l%4>zguwn z{oQENkULjfRbfJm!nC(Z5ZO*{ou%69oq#H5`|5?(bw9>q0F{y)0`AA@jUSneDUlny z?L#c%v@#w&t+c;f773krVr8AqOHUuE0@OJF1rhu*V#$83TJ7@8*+$UCV_RULB{{fW zgd{GFXR{`B>KV`1ik}#ve+%~lJYc84lsv<3nT`yOu5{>d8@gvM?;m~1VObi_vIKca zkNtSm0F}|^+Vsr0_PB*!alsi%D_&)>z~v;k*%T9(q>lP3nHzN0+C@W{F$~=0U0{1L zi1nIV3g1IUN1V>MKUl9(MH~`Z5ee1|)_3)Uu5{_+8lj#3({iy2$Um>%?Ft88 z22RycAIf?j4_EuM8tx!bF7nme!#kjwvR5AfX;oHZ*7(Wv^n9UqJqkU6)dMzo(e}TC zT#o~km)PIAqBp+b43mbc@bKBaZk>Zu%elEc%kyr=lGc#L@ihJ<$r-hii{g6W#~Jr= zWW0Ftc$Uhvqqb`}SZmuYvU)Mx`v9xJ5Qw=vo*d6vn)Llx*yGE#b{E2Ahg%aqB`wkg zYytL9O2p(FpPHJIr)(_i8+6QiPJ>tflO)Ovu+l}{>bO}jt#{Z#VUfu;Z?*G!t z5F}1K_bvP>+$xog(%Wh6 z%;16U9MAkH1I(r2XHxZaKeS$KfAy;2Ae97`gCzHRJ6XS;krM;&-`*6<(fl(e+lBt5wF(b*b9-%cGacY)IQ&M(=xFzcCh<`{AqDvhx%PS?=jrF* z7$EERjYA23Atd%nNJ(3dhV4WF-&*#`Uhv3H~$b&ayX0AGq-?b_wKAbafODWg|WVQb))D*BL z4}>y~R0D}bzv6e;Swup`0G(%KUAzuSXR#faf|h)MrgC2LfueHmK=Ld#J=F^Nd9^*t zhw^GxZzqHe0yK8?RounvB?UBv>Y`U|LIvxV--6Cefhgd?=-#k>*QQdiq5Qr#Y_=6A z;-%J2?MqIrPk$%UZWX_TD~5hzX|Eo12^H$2zmraIS;$l7W2wLYChkdV9{ z%71H^P96hhZo6YE({0Ea`H;2tnfg;Nhz#^Of^d`fy1(e)-!^Wj;4)}_i;aEf92y)- z5!3&pI}DFPP*5)|#`7Qhq7>#E9BCME!}uh`yW^S@hRv$^;{LlhimE%f;40?Q!AEV^N|b04kmeDdPrynO=BxCGXar+KK(kp`&Z2EArS<;qHFBI1;~ z0>O_*-WiB^uyL7~t>q-Dtq8xYLssj$k0Z>KbEmi~k-@^;)HlP5yz?d$zK{7)idX%0 z?y1T3Z6=`My_2OPk}Fqna21l*Y-V(}FXG{gl$26_Z~;$>peNTr9DTn0=40b(gl%%D z%L#{LaGQ7Jj0{M{;o`8`e-TvWEMO1bE~=(X{o#Jk#Ts2Wa{RrW3<+rGm#MDijDi{W zG5$?3e+@E5Ue4;bL?=9p^Vbcp*vs3HW?3;s#IH^Gobc1{JYH4yuQ7f}gAL&ubxpd8 zzi+g)#J_@wQGH{k5wfnUN56E9{FF^+s<^P7fA`Z$TBc{GQ?k;jo1jD>7TGc2E$Xf^ zDIP+;YeF!oudjQSAS;VnI7C6+xlKBni=?+H#Seu5J8xg2^C#p6Dn-E$wv=W{#Ra-SVPEZPk6oY%Vn1Xa%tGYW^W^T zTwO!%ACBuAR|d}7=BVWrp$g*?cX#LL;rHtT6W7$T$RlJeq@b=v3~2Za=U`U&;|w;u zJ+nZmO(;;vo4&`D9+VKsA#xed{d;8V;iZ9Lk#+I%`PJRMORziTlT4ABoutFMUpY-r z73szrzkttx!H2>&-|FSXDw68ADwC;AH4r9kdtqLz zkLPIwTV}1%(Nm!j2$zq>Q?iRggTGO87pb&L@*e1S+0)E}7Ta7npF^6|yx0oa1%CER z495Gub<@zf3cxJ|xtp#)LcN=+Bj)PfIy1$gCe8W$Hs?@)xXB9fgwajE^qnb1^H0}E zpDDUetZ`%p;2Ngh54z*eaM^~r_`q0P6^L;IYdTW395NZ020paBfAR1+ zysb@$Pvgwrmx-zMjrD^_8=Qb;hij@z>N&Lwy4dge=gn+1uNV(o2rhLuJ-tR1_*w51 zsb$euti+C1*}31deIm~0>!nKCz7r%7yIl&mo$m5MP~=x1T~v6i)jqg0P*Gy1OIC1Y zp#b3cf$wq4Tg<#FyUfpinz@~ADdKl`CpqlC^Z~d&rAKhAifcaMt1bEthFfL3SlYvP znVQy9xPLbs4u6@ho!T7utpxn)I{bu3Ra}ZcV4nG~H>*Z=;oJm*vdL#t=Yb+-(*rRoHnP=26&3)$sxe+WBROK`p)Iy7d70yex zUUX}tSsIi%zaO)E$dxxU*mr}Hh3++d>qKDDHZ{1>jI6eSQKa#fGOzs`%8N3CQ!Qsw zB}@b8G4n)Q#JR`ML74idUbB}TEZPK5n`#0~M>7RV^LhFNJdyI|I9WKF=3Rz*gj|1> ztM+kvc2*_4H>H&u2y$Fx0X$D@V5EANP=%qNnqaANm@0jRF36$2dhY8vAfJYf3=cK+U0{aqLr+x6ccx64SPjd$ zhhF46+YyNgl>v@bxNsx|)#M`mHKow4+l!l2#-O?U6oX;MsF_tihnJ1yt!8)uL|JAM zCB$Wmbuim5MqVnx+(7Q%39Auf)gDS$B7uF?1Fq9zh?`u4Gw$`Ptzox~w9YGsh*!O) zo~`D?nzj4*pPOk~ef6;_zW@#gCvRB|Hu#)8JxcK*zsskj>ko%Lwn_Fuckg7+NOtC0 zoSxkX(u{(fw-N1Bqf!bxqhfA%*TSr4^z6}-)9y~wEXP{0slve+EAs(Y0y#Shz_#y# zb!y!efxD;@jHvXVb3d%tQD=+n?HwNhabZ>!&UY%f~Dg7dcsYC2cpy45a2b=ta^KVQMqp6wJeyZQ5XHT`r;Jx?Lh3AmA^CX8k(> zFikAOtX>vT=b?IQG+Uyb*divt{KqvoLCM#IiK}S{mw0DzOMq_~PQjavG8g0_0 zSfM^Uma>*Py+uw=OHl8!8GnN>?t+_!CJYvHoW&-bAD#Y66A^@zmZC1cA-FmIE6n&q zTJTq%;N(^#pGiZvs<>=X}b0sJ(;UCq7$WhH(D)4g~`BwZ+pL zWuvNHFNUW!qlggao9GCd*|6DAcbbQqvi0;*o?UV!PrB8&08Z6Tf3*;t9O)M#DOtF}vUUD%*md?l-^w3JR(_hke=y z)jH+Z3XTQKtO<5_5!ZIHJwRa3O@(Xku{(Vc9hBh7nCXY}+a|6UprzrW*=|3;AO(p=9d^vEVzTNma(bYk~W_ zImLFuUf3(I?geBUn0mHqFv$8Y_?=-x zGkN*9%GG!?5B~hZ696(0sLq@Z5=93Rvk~KuRBEH?j7_-@N}a(AhH{2cnZT#E{(DjE$lR4q7>-4I)F`v_GBpDx)x zf~fMwmdk7wA5z#$H8In=E4}WC_L@{MDTM3px)<}joVWo`OlqyQ=#=AcVryJJp$)^; zI!#~ohYLSAeDN_O6+-g07ao9_PP@xAU!4fT%uNL$?w;thuS6qcZ%hw_UmG9tm#B@r zSOUsj^gmD6tkX?*jAlFCAb8J<6WGWZXUWJ~1lRerM?KKmAmc+wIE5q~^l^H5nUNyq z@zjISjyZ&_X>INT#M1^4)-TZ__r&jdgehohS2Nu z6XH0I1bfY;$eVK97U`AmX`2HXE%*tWl(9MH;#9A4`0yKt3c;>8599EVs61n}|Ct}8HR7O$3lBV)X#jRBL$svVVAwK?dE9`9U-?Yo7Zz`tKHMZwtyzH|;cUK*F@vK{RC zKC@*@?ZI#yHImm>hd_crscqzd!)wu{YGJgbwPfIX+wCQ9``A~K_HE7>MSG_AVCDm(DiNO@}nW-ZXudlkxJ@&*6)1-5Yk7f_{ahvs6z4 zwMFiZ@?Cp$X+98$*<3Frajpwy(0Q%j3ff46v&+h$*N8A@bc>7I>@rmdlRSxT;5!xe0>%^*)ZDc-6O z&-1uT$c#EwToKU}OLrJ;iom>5d+k_2SVk!kqY~x36UryqoH<)&rt?{y>atk(!)^14 zX>3jrWlR8DA#IGa_6rdoKcpEt*luH-_uKT`B-s8d=>}g1-wo?nXWi!S-*oKM)79#* zsUZ~DIZS;({6m{;Vt?6fzJ#}NuX=|lXyWdV*tJ)%H+`-&igRohr-|ZC4?kSZMtp0V zW0tb*R77}KPjFGG@do{z-qGPyij<6oN%+dA(ZX7c-0{hsV0tCkM&4E8W$?RYy35I% z$`lWIurRYY;fV)Xy`MVK zR69g@Zq+|f#J!sG2|Hd_=uJ|3v2t;#80U4t*vS!l{#pfo-J$v0)`kO=W907B89P=$ zg4nkPGJSx2=T)fdZ$B1K*axL^+l~|;yvmE5D^c^s0!)3428lu=7|ohL(q^}(-yF#1 zR9V3|MpL`3Tz~c_$&12Qa}_!)wKgpAdBojPm9eJ{3bH)m$L-uks%pYIQb`4SMVSek z#4~`e>F-1MU7u>1+O|Jgw4b}Ak(V_MaYTq%y*CTFj|(vZ>Tju+{Gvms7Rcgq4r@K3 z!qADu=y$H2e`C#L;1jWTq)8$Cynx%?f5!A}Tx3b-L>Hj&Txxi|^O~-yg5*cv-Gp0q)ABHJ zehi$mn1`xcRlbe{tprO7HHXJK+4t6z`>Riv87#+&C)RQ?!bmy}Wc&);9Y3N*O30Cj zV?_QsPYSuR|BNN;peMQ?UaINd6)grtHIExFEEB%C_jxJ9Hie!rL(;Xip7av*GN_Fq zd@W$Rom27lAMZ_Pv~1>r?YVkvCL#9e>AU{EJ{ z+1=R)-7Dr`?39lz5Fh8`js{h2Nia6YPzts2amn2 zlqGPEjAJW}cZ;QxF%?yk;(6@=mUY^d$sVwr%v!OzrItxDqXKJyFU2pknL%1I->lSN zrdi5m8l>3|iR>6@ieOjjQGZ=P{MTt_=9qp$cl7&W^%^SWmMCW}!NY3!p6W=G6!?6<_@L4QI_`0?jqX`VIO9RkJItGfl}v^-wz-Ft#k za_t~3yfOLs*c!DuXz(pt6|skILK^ja5jdUqFzZtNFuH6}7Ph2Lpcd>{L9#hctK)p- zvHfl>2+r&BP4)F`P@&Yzy2st|OxU*XE{l03ER}!FXNEi3gD*aONu}7k#_Sw7PNZ?^ zy01*_Hnc~_(~lJUEq~6r+n~}WhGe<6L`0V*7I`ZZ>uI>wBnH`&h8)kgktXAht_C$A z49QITM?>*{Pxa)hR*MoG-=vlg4dbaeE-MWbhT)n}@la8;HT|f??e&x{9C^q*zXto7 zzh8D2+w@ly**A*x+*xW+O5cTCd?6_+Dwh>WuIv9jxx+)(D%`?tM`NpUse~?uZY9{K zFW%A3a8{j2x=Ak1-(sl;sE_k{- zftPUK)a=fsb4U)pMp?X-Is0v zo$dVH$rkFc8NXNj(oK!oHSKmy9XLPgjCHy2hU-)4fZ+4IuC_I=m>;sv6ZHvVfNHRm z>}h8tfJ?Ia>$tAj@`-cu?uWVJ0cN-x$$(W`v^ryea$eY6t9+O3HJ=|9Hg@`~bO0az zy@Tn}^!u7$(O?hhr%tLLFNTCd+;r|T)c9QqNsBfwwhp$&WSY6$${=8!Dw7>j9i5C_ z7UdCR8cEfYkGXFt>{N?#_OMeN!0O8jT-(wCxYSw`%GBJZSqg>JcBoEY;s>I0wd0)b z-(#mhe-6^VTDg}5s_mM_IhEeD`23unSZ*=2>^Hv8P}8|w^GuVm9ret8y^AHDJYezu zyQySSa6>(ECy2Q7;Q1((UvqftIOTe_d~8CfIuv+EkJedZtwR;9K3 zwjzPe6s+_3idpADYRoI(kJfx=UJg-^)dNdvCFGEINEfMcR5RiFc;?gdO^8LIq?O$n z0%ftdXhrLF`v`#n==NJcM1Ow)?A8OQDXVLD3o5MHG7;@j4r>{1`pgev#93bJKt#+ys z(iYOoT}U}b+t_et$Si?9Q#0{XvD5P?{R+4Y3=AW zh*Bwh;~ga?0F{BfXU-&>|1%*{EATh($(M6`PZ+GTQNX~d#rpjGXZSgZx0Jr9)*c5V|( zdD!krG#ld<{pcI%=t=wnNfJdAsXj@L$LJMY8$S;FLT$tZ6r-?D zyQ9t1)hG1BCsZeT;El&G3L06vaD%ULrGB*-Wqa`w^JMQ=zj$-98fh`% zQYhgyLv4;~l!9P5?*W7=AWlR@x63Ms4nE;iB0nsuvhEykV#>sHO z_5N-_fe zf{OBMu$~*KFi-8VWr;dU>A=>VDNBh6ZH;texI|O;o?}$g&sUSfLCmYEZV|;Y_Z{GO zHgtL@!e<32#)edHU1H5bx(k>H7U?8E-YlTAz>aOnaV;z150;~Os)UGa z+{XM3`V~|7ifY1h9tY2y_?I{tUiNtP*is>3rwgr3+3{C9Tjj*&l<1%g)Atu@ThK3_ zrtZ%*H5SiWlBe`v2q^Hm_&B*R=M|=*t2Jb^HImc^OP&k196~Mi0dmcx$EteXm!=F7 z9~T-e@Km*Y%c5(=TScgkO(Z{SONwiU$S`8k^-m;hm3mGUHb>=3nChf$)y|-MP$ucd z?ZutePUJ{?CZUzp#f#!Bs$o^rQPFDiiMvM#6&A=27X4=8ajl^2=i)1!?iu{p%UowS ze*zNAmo5Y3AD3(4B)y81d){ZdX-#RGzR9~-(|Lg=%T&y0r_j7mm!EnmBQ@i#vNPIL zJ3Ljzf@qnICsu8-Ydz=pTi~DNzc69y zf+KK*b^8XuUs1z89X`P(6+GvT+-ptkh3kVN97x(9qna7{)!IdsP!m~9S8Zw-agg3L z8ItQ{L+KBTel((hWjLiS0qzL z_5^E`M`Ra-KhI=sbIfB+#^53@D4_+tg@NYCrbBC4=&*P37J)rELr_)Jy#GVmH%JG& z<@V^JpW$|o$)AaxmkOB>``Y7h*1+_PP?xah{hp`7*>9A3 zsv-S^RJrzxb<3AUj)EveCSg#~w!m%8&J6y@$*V(I>Y}BEw_?xs7sE-H-r6l0ehQZD z8{zj~&ttO?;(3QO0C`+ML#RneRE{n*0rrLQ>}gqad6|H|u|>NS#qU*j428Irzuttp zNiwM{#8<#?OuRW5?T)I7_>Z(YsB-i)Uc}tqF7k_6xe7wPi^Au~Dxv=PrcyP{ z!3WwZ2%D8MuRN2h)o{zdpZZv?@DaqUUkDQCWqSH^(`wpllb02KP%Dls0THBK1jSNe zK3iCMdfEsa@X}bX>dGo1g#$V5lDc$(}=}XJ%MqQq2KPYWqLg3RUefnu{Z9i<%4s z1JU}VrIqs1(q|$0>CD(k1im&X6VvIoo9=C;0i{Jv=X2a)#=`lsgI0(@56pq%omn}m z;7tx(#3kNMa`Wwk4nNCNdb?op7Tx&I(Qy0Ex(?FdfTia#6Mo~oj}Kmh0zQ{HDqgDPn{48VY(|WGx&x$@|wwKPJ zhsDBo7S7-GHhkU>D>bG%cg6^rrR}BD*Ac?u4z7#PC+bH}bg)tg?_-}lK(MTV-tA*@ zyGH8o-`#)p&F6C~vER|97B6Y38MXhiO>pFeNWo-0EM^Zn9!RCEX}&aD%3d~SW95Uf z&FIv44t#@koh(nmOmD%R7=>`tcv^pqy&Qv~RYk9JMW8CqVTkAEY5eP8xYFdSqyBaHjn`&5%2zP!>PT(RKDv%S}gCl23N_F~fPT7z*bm;~dM3 zTD_cs)OxnL$yJrY$Ar=-6wMb|Z3@($mAjyx)*q_Y-&`JoV&7RW!T9gS_l|qES8^Cc zm+#%8qQZf``@gzy2)+z$vYBG@!-L~Dsb|w#miQcyuIj_db`dPBki5B0y{CU70AuPJ}qu>aKO^1<)hK?@S zG|w)8wX=5 ztYG?WH|7Fgy&>1%N(oUYUSKTiyicPTE089L<ST|R7lp}*kxD66&4+xgS;bX{^!^)J zp;P1AyM3_=$q21)Q>Lh)wKGvJV|nC)sMP*{%nEr2uCMSEJ>Cx{G`im-W;k%c=h$&i zT2rsiaAdur>;4VfME~{e7c!a!3Q;&w_rXeUu$m9}hej&kG5CkCIiY1ZmfGOg{4ap# z%l{kk^dHbC-H3y5nw6YxWTRyt279DuNdG~jHdF|?ZBhN(GvqOq?5PenzkPe+O!waa zlfz-lWtM88^6ooK9LcI0^KwAT+jsABM*0QY7(_^D{>?d^yn2B_+I4q*TIsx}o|BhX zPQs!iLUk3Mj)^m$?W^2CCT~@4fykf)X{$hcw{!hkGm7 zrY$-)^P?2nq;seyL`nJsmq~;bKbh1Ub7zcB59j_AKvX&|1msPN9yG3V}UZ zKIFWn@#~!Cfha=`DL|^H_&@###qni>Oh$v)W+r=mMwW&z;~&mXqW)@us6+Z8x5>S( z{G64Fi^o+J{ewi*Pn#ouDn%XstOTQqo2JtEM$GnpLzXL3A;P!&QxZoUfNAFucjW{P zPL1~~_>3!M`d0c+qove5&j~*_8KN;3jwm+ZU`C?*%e1WM;)=ClV(jz-^|IlFw&p>r z�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 literal 0 HcmV?d00001 diff --git a/var/config/.gitkeep b/var/config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/var/downloads/.gitkeep b/var/downloads/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/var/tmp/.gitkeep b/var/tmp/.gitkeep new file mode 100644 index 00000000..e69de29b