From 0b8da2b524732f6865882f41068a408f463cd8d3 Mon Sep 17 00:00:00 2001 From: Vlad Stan Date: Mon, 30 Sep 2024 14:53:38 +0300 Subject: [PATCH] [feat] Nostr Login (#2703) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --------- Co-authored-by: dni ⚡ --- .env.example | 2 +- lnbits/commands.py | 17 +- lnbits/core/crud.py | 86 +- lnbits/core/helpers.py | 9 + lnbits/core/migrations.py | 10 + lnbits/core/models.py | 17 +- lnbits/core/services.py | 5 +- .../core/templates/admin/_tab_security.html | 34 + lnbits/core/templates/admin/index.html | 1 + lnbits/core/templates/core/account.html | 73 +- lnbits/core/templates/core/index.html | 23 +- lnbits/core/views/api.py | 9 +- lnbits/core/views/auth_api.py | 130 +- lnbits/core/views/generic.py | 4 +- lnbits/decorators.py | 46 +- lnbits/settings.py | 22 + lnbits/static/bundle.min.js | 18 +- lnbits/static/i18n/en.js | 4 + lnbits/static/images/logos/nostr.svg | 6 + lnbits/static/js/account.js | 61 +- lnbits/static/js/admin.js | 11 + lnbits/static/js/base.js | 11 + lnbits/static/js/index.js | 74 + lnbits/static/vendor.json | 1 + lnbits/static/vendor/nostr.bundle.js | 6342 +++++++++++++++++ lnbits/utils/nostr.py | 190 + lnbits/wallets/nwc.py | 156 +- package-lock.json | 351 +- package.json | 5 +- tests/api/test_auth.py | 858 +++ tests/conftest.py | 20 +- 31 files changed, 8281 insertions(+), 315 deletions(-) create mode 100644 lnbits/static/images/logos/nostr.svg create mode 100644 lnbits/static/vendor/nostr.bundle.js create mode 100644 lnbits/utils/nostr.py create mode 100644 tests/api/test_auth.py diff --git a/.env.example b/.env.example index 90ea0d1c7..1ce551c7b 100644 --- a/.env.example +++ b/.env.example @@ -140,7 +140,7 @@ BREEZ_GREENLIGHT_DEVICE_CERT="/path/to/breezsdk/device.crt" # or BASE64/HEXSTRI # Secret Key: will default to the hash of the super user. It is strongly recommended that you set your own value. AUTH_SECRET_KEY="" AUTH_TOKEN_EXPIRE_MINUTES=525600 -# Possible authorization methods: user-id-only, username-password, google-auth, github-auth, keycloak-auth +# Possible authorization methods: user-id-only, username-password, nostr-auth-nip98, google-auth, github-auth, keycloak-auth AUTH_ALLOWED_METHODS="user-id-only, username-password" # Set this flag if HTTP is used for OAuth # OAUTHLIB_INSECURE_TRANSPORT="1" diff --git a/lnbits/commands.py b/lnbits/commands.py index bf9a1b936..a7ff11018 100644 --- a/lnbits/commands.py +++ b/lnbits/commands.py @@ -4,7 +4,6 @@ import time from functools import wraps from pathlib import Path from typing import List, Optional, Tuple -from urllib.parse import urlparse import click import httpx @@ -30,7 +29,7 @@ from lnbits.core.extensions.models import ( ExtensionRelease, InstallableExtension, ) -from lnbits.core.helpers import migrate_databases +from lnbits.core.helpers import is_valid_url, migrate_databases from lnbits.core.models import Payment, PaymentState from lnbits.core.services import check_admin_settings from lnbits.core.views.extension_api import ( @@ -328,7 +327,7 @@ async def extensions_update( if extension and all_extensions: click.echo("Only one of extension ID or the '--all' flag must be specified") return - if url and not _is_url(url): + if url and not is_valid_url(url): click.echo(f"Invalid '--url' option value: {url}") return @@ -402,7 +401,7 @@ async def extensions_install( ): """Install a extension""" click.echo(f"Installing {extension}... {repo_index}") - if url and not _is_url(url): + if url and not is_valid_url(url): click.echo(f"Invalid '--url' option value: {url}") return @@ -430,7 +429,7 @@ async def extensions_uninstall( """Uninstall a extension""" click.echo(f"Uninstalling '{extension}'...") - if url and not _is_url(url): + if url and not is_valid_url(url): click.echo(f"Invalid '--url' option value: {url}") return @@ -659,11 +658,3 @@ async def _is_lnbits_started(url: Optional[str]): return True except Exception: return False - - -def _is_url(url): - try: - result = urlparse(url) - return all([result.scheme, result.netloc]) - except ValueError: - return False diff --git a/lnbits/core/crud.py b/lnbits/core/crud.py index a1dff24bd..7917ec2e2 100644 --- a/lnbits/core/crud.py +++ b/lnbits/core/crud.py @@ -31,6 +31,7 @@ from .models import ( PaymentHistoryPoint, TinyURL, UpdateUserPassword, + UpdateUserPubkey, User, UserConfig, Wallet, @@ -41,6 +42,7 @@ from .models import ( async def create_account( user_id: Optional[str] = None, username: Optional[str] = None, + pubkey: Optional[str] = None, email: Optional[str] = None, password: Optional[str] = None, user_config: Optional[UserConfig] = None, @@ -52,14 +54,17 @@ async def create_account( now_ph = db.timestamp_placeholder("now") await (conn or db).execute( f""" - INSERT INTO accounts (id, username, pass, email, extra, created_at, updated_at) - VALUES (:user, :username, :password, :email, :extra, {now_ph}, {now_ph}) + INSERT INTO accounts + (id, username, pass, email, pubkey, extra, created_at, updated_at) + VALUES + (:user, :username, :password, :email, :pubkey, :extra, {now_ph}, {now_ph}) """, { "user": user_id, "username": username, "password": password, "email": email, + "pubkey": pubkey, "extra": extra, "now": now, }, @@ -88,7 +93,7 @@ async def update_account( if username: assert not user.username or username == user.username, "Cannot change username." account = await get_account_by_username(username) - assert not account or account.id == user_id, "Username already in exists." + assert not account or account.id == user_id, "Username already exists." username = user.username or username email = user.email or email @@ -161,7 +166,7 @@ async def get_account( ) -> Optional[User]: row = await (conn or db).fetchone( """ - SELECT id, email, username, created_at, updated_at, extra + SELECT id, email, username, pubkey, created_at, updated_at, extra FROM accounts WHERE id = :id """, {"id": user_id}, @@ -210,28 +215,56 @@ async def verify_user_password(user_id: str, password: str) -> bool: return pwd_context.verify(password, existing_password) -# TODO: , conn: Optional[Connection] = None ??, maybe also not a crud function -async def update_user_password(data: UpdateUserPassword) -> Optional[User]: - assert data.password == data.password_repeat, "Passwords do not match." +async def update_user_password(data: UpdateUserPassword, last_login_time: int) -> User: - # old accounts do not have a pasword - if await get_user_password(data.user_id): - assert data.password_old, "Missing old password" - old_pwd_ok = await verify_user_password(data.user_id, data.password_old) - assert old_pwd_ok, "Invalid credentials." + assert 0 <= time() - last_login_time <= settings.auth_credetials_update_threshold, ( + "You can only update your credentials in the first" + f" {settings.auth_credetials_update_threshold} seconds after login." + " Please login again!" + ) + assert data.password == data.password_repeat, "Passwords do not match." pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") - now = int(time()) - now_ph = db.timestamp_placeholder("now") await db.execute( f""" - UPDATE accounts SET pass = :pass, updated_at = {now_ph} + UPDATE accounts + SET pass = :pass, updated_at = {db.timestamp_placeholder("now")} WHERE id = :user """, { "pass": pwd_context.hash(data.password), - "now": now, + "now": int(time()), + "user": data.user_id, + }, + ) + + user = await get_user(data.user_id) + assert user, "Updated account couldn't be retrieved" + return user + + +async def update_user_pubkey(data: UpdateUserPubkey, last_login_time: int) -> User: + + assert 0 <= time() - last_login_time <= settings.auth_credetials_update_threshold, ( + "You can only update your credentials in the first" + f" {settings.auth_credetials_update_threshold} seconds after login." + " Please login again!" + ) + + user = await get_account_by_pubkey(data.pubkey) + if user: + assert user.id == data.user_id, "Public key already in use." + + await db.execute( + f""" + UPDATE accounts + SET pubkey = :pubkey, updated_at = {db.timestamp_placeholder("now")} + WHERE id = :user + """, + { + "pubkey": data.pubkey, + "now": int(time()), "user": data.user_id, }, ) @@ -246,7 +279,7 @@ async def get_account_by_username( ) -> Optional[User]: row = await (conn or db).fetchone( """ - SELECT id, username, email, created_at, updated_at + SELECT id, username, pubkey, email, created_at, updated_at FROM accounts WHERE username = :username """, {"username": username}, @@ -255,12 +288,26 @@ async def get_account_by_username( return User(**row) if row else None +async def get_account_by_pubkey( + pubkey: str, conn: Optional[Connection] = None +) -> Optional[User]: + row = await (conn or db).fetchone( + """ + SELECT id, username, pubkey, email, created_at, updated_at + FROM accounts WHERE pubkey = :pubkey + """, + {"pubkey": pubkey}, + ) + + return User(**row) if row else None + + async def get_account_by_email( email: str, conn: Optional[Connection] = None ) -> Optional[User]: row = await (conn or db).fetchone( """ - SELECT id, username, email, created_at, updated_at + SELECT id, username, pubkey, email, created_at, updated_at FROM accounts WHERE email = :email """, {"email": email}, @@ -281,7 +328,7 @@ async def get_account_by_username_or_email( async def get_user(user_id: str, conn: Optional[Connection] = None) -> Optional[User]: user = await (conn or db).fetchone( """ - SELECT id, email, username, pass, extra, created_at, updated_at + SELECT id, email, username, pubkey, pass, extra, created_at, updated_at FROM accounts WHERE id = :id """, {"id": user_id}, @@ -306,6 +353,7 @@ async def get_user(user_id: str, conn: Optional[Connection] = None) -> Optional[ id=user["id"], email=user["email"], username=user["username"], + pubkey=user["pubkey"], extensions=[ e for e in extensions if User.is_extension_for_user(e[0], user["id"]) ], diff --git a/lnbits/core/helpers.py b/lnbits/core/helpers.py index 5f6968c0b..5d2dd286f 100644 --- a/lnbits/core/helpers.py +++ b/lnbits/core/helpers.py @@ -1,6 +1,7 @@ import importlib import re from typing import Any +from urllib.parse import urlparse from uuid import UUID from loguru import logger @@ -103,3 +104,11 @@ async def migrate_databases(): logger.exception(f"Error migrating extension {ext.code}: {e}") logger.info("✔️ All migrations done.") + + +def is_valid_url(url): + try: + result = urlparse(url) + return all([result.scheme, result.netloc]) + except ValueError: + return False diff --git a/lnbits/core/migrations.py b/lnbits/core/migrations.py index d3ca75f74..24d09056a 100644 --- a/lnbits/core/migrations.py +++ b/lnbits/core/migrations.py @@ -543,3 +543,13 @@ async def m021_add_success_failed_to_apipayments(db): ) # TODO: drop column in next release # await db.execute("ALTER TABLE apipayments DROP COLUMN pending") + + +async def m022_add_pubkey_to_accounts(db): + """ + Adds pubkey column to accounts. + """ + try: + await db.execute("ALTER TABLE accounts ADD COLUMN pubkey TEXT") + except OperationalError: + pass diff --git a/lnbits/core/models.py b/lnbits/core/models.py index a2f9b4ed1..9c36e7e33 100644 --- a/lnbits/core/models.py +++ b/lnbits/core/models.py @@ -138,6 +138,7 @@ class User(BaseModel): id: str email: Optional[str] = None username: Optional[str] = None + pubkey: Optional[str] = None extensions: list[str] = [] wallets: list[Wallet] = [] admin: bool = False @@ -182,10 +183,15 @@ class UpdateUser(BaseModel): class UpdateUserPassword(BaseModel): user_id: str + password_old: Optional[str] = None password: str = Query(default=..., min_length=8, max_length=50) password_repeat: str = Query(default=..., min_length=8, max_length=50) - password_old: Optional[str] = Query(default=None, min_length=8, max_length=50) - username: Optional[str] = Query(default=..., min_length=2, max_length=20) + username: str = Query(default=..., min_length=2, max_length=20) + + +class UpdateUserPubkey(BaseModel): + user_id: str + pubkey: str = Query(default=..., max_length=64) class UpdateSuperuserPassword(BaseModel): @@ -203,6 +209,13 @@ class LoginUsernamePassword(BaseModel): password: str +class AccessTokenPayload(BaseModel): + sub: str + usr: Optional[str] = None + email: Optional[str] = None + auth_time: Optional[int] = 0 + + class PaymentState(str, Enum): PENDING = "pending" SUCCESS = "success" diff --git a/lnbits/core/services.py b/lnbits/core/services.py index 7a9468d91..b51011d3a 100644 --- a/lnbits/core/services.py +++ b/lnbits/core/services.py @@ -826,6 +826,7 @@ async def create_user_account( user_id: Optional[str] = None, email: Optional[str] = None, username: Optional[str] = None, + pubkey: Optional[str] = None, password: Optional[str] = None, wallet_name: Optional[str] = None, user_config: Optional[UserConfig] = None, @@ -847,7 +848,9 @@ async def create_user_account( pwd_context = CryptContext(schemes=["bcrypt"], deprecated="auto") password = pwd_context.hash(password) if password else None - account = await create_account(user_id, username, email, password, user_config) + account = await create_account( + user_id, username, pubkey, email, password, user_config + ) wallet = await create_wallet(user_id=account.id, wallet_name=wallet_name) account.wallets = [wallet] diff --git a/lnbits/core/templates/admin/_tab_security.html b/lnbits/core/templates/admin/_tab_security.html index dde50c014..0d8e363cd 100644 --- a/lnbits/core/templates/admin/_tab_security.html +++ b/lnbits/core/templates/admin/_tab_security.html @@ -24,6 +24,40 @@ + + Nostr Auth + +
+
+ + + +
+
+
+ +
+
+
+
diff --git a/lnbits/core/templates/core/account.html b/lnbits/core/templates/core/account.html index a58d27086..c7ce79b11 100644 --- a/lnbits/core/templates/core/account.html +++ b/lnbits/core/templates/core/account.html @@ -26,7 +26,9 @@ -
+
+ +
@@ -44,11 +46,18 @@
- + - - - + + + +
+

+ +

+
+ + +
+ + +
@@ -137,6 +169,15 @@ class="q-mb-md" > + + @@ -236,11 +276,10 @@ diff --git a/lnbits/core/templates/core/index.html b/lnbits/core/templates/core/index.html index a6eeb635c..28f9d9261 100644 --- a/lnbits/core/templates/core/index.html +++ b/lnbits/core/templates/core/index.html @@ -230,7 +230,28 @@ v-if="authAction === 'login' && authMethod === 'username-password'" >
- {% if "google-auth" in LNBITS_AUTH_METHODS %} + {% if "nostr-auth-nip98" in LNBITS_AUTH_METHODS %} +
+ + + + +
+ +
+
+
+ {%endif%} {% if "google-auth" in LNBITS_AUTH_METHODS %}
dict: + return { + "server_time": int(time()), + "up_time": int(time() - settings.server_startup_time), + "version": settings.version, + } @api_router.get( diff --git a/lnbits/core/views/auth_api.py b/lnbits/core/views/auth_api.py index df8c277e1..a0b6e72b3 100644 --- a/lnbits/core/views/auth_api.py +++ b/lnbits/core/views/auth_api.py @@ -1,4 +1,7 @@ +import base64 import importlib +import json +from time import time from typing import Callable, Optional from fastapi import APIRouter, Depends, HTTPException, Request, status @@ -13,7 +16,7 @@ from starlette.status import ( ) from lnbits.core.services import create_user_account -from lnbits.decorators import check_user_exists +from lnbits.decorators import access_token_payload, check_user_exists from lnbits.helpers import ( create_access_token, decrypt_internal_message, @@ -22,23 +25,29 @@ from lnbits.helpers import ( is_valid_username, ) from lnbits.settings import AuthMethods, settings +from lnbits.utils.nostr import normalize_public_key, verify_event from ..crud import ( get_account, get_account_by_email, + get_account_by_pubkey, get_account_by_username_or_email, get_user, + get_user_password, update_account, update_user_password, + update_user_pubkey, verify_user_password, ) from ..models import ( + AccessTokenPayload, CreateUser, LoginUsernamePassword, LoginUsr, UpdateSuperuserPassword, UpdateUser, UpdateUserPassword, + UpdateUserPubkey, User, UserConfig, ) @@ -66,7 +75,7 @@ async def login(data: LoginUsernamePassword) -> JSONResponse: if not await verify_user_password(user.id, data.password): raise HTTPException(HTTP_401_UNAUTHORIZED, "Invalid credentials.") - return _auth_success_response(user.username, user.id) + return _auth_success_response(user.username, user.id, user.email) except HTTPException as exc: raise exc except Exception as exc: @@ -74,6 +83,30 @@ async def login(data: LoginUsernamePassword) -> JSONResponse: raise HTTPException(HTTP_500_INTERNAL_SERVER_ERROR, "Cannot login.") from exc +@auth_router.post("/nostr", description="Login via Nostr") +async def nostr_login(request: Request) -> JSONResponse: + if not settings.is_auth_method_allowed(AuthMethods.nostr_auth_nip98): + raise HTTPException(HTTP_401_UNAUTHORIZED, "Login with Nostr Auth not allowed.") + + try: + event = _nostr_nip98_event(request) + + user = await get_account_by_pubkey(event["pubkey"]) + if not user: + user = await create_user_account( + pubkey=event["pubkey"], user_config=UserConfig(provider="nostr") + ) + + return _auth_success_response(user.username or "", user.id, user.email) + except HTTPException as exc: + raise exc + except AssertionError as exc: + raise HTTPException(HTTP_401_UNAUTHORIZED, str(exc)) from exc + except Exception as exc: + logger.warning(exc) + raise HTTPException(HTTP_500_INTERNAL_SERVER_ERROR, "Cannot login.") from exc + + @auth_router.post("/usr", description="Login via the User ID") async def login_usr(data: LoginUsr) -> JSONResponse: if not settings.is_auth_method_allowed(AuthMethods.user_id_only): @@ -84,7 +117,7 @@ async def login_usr(data: LoginUsr) -> JSONResponse: if not user: raise HTTPException(HTTP_401_UNAUTHORIZED, "User ID does not exist.") - return _auth_success_response(user.username or "", user.id) + return _auth_success_response(user.username or "", user.id, user.email) except HTTPException as exc: raise exc except Exception as exc: @@ -168,7 +201,7 @@ async def register(data: CreateUser) -> JSONResponse: user = await create_user_account( email=data.email, username=data.username, password=data.password ) - return _auth_success_response(user.username) + return _auth_success_response(user.username, user.id, user.email) except ValueError as exc: raise HTTPException(HTTP_403_FORBIDDEN, str(exc)) from exc @@ -181,17 +214,46 @@ async def register(data: CreateUser) -> JSONResponse: @auth_router.put("/password") async def update_password( - data: UpdateUserPassword, user: User = Depends(check_user_exists) + data: UpdateUserPassword, + user: User = Depends(check_user_exists), + payload: AccessTokenPayload = Depends(access_token_payload), ) -> Optional[User]: - if not settings.is_auth_method_allowed(AuthMethods.username_and_password): - raise HTTPException( - HTTP_401_UNAUTHORIZED, "Auth by 'Username and Password' not allowed." - ) if data.user_id != user.id: raise HTTPException(HTTP_400_BAD_REQUEST, "Invalid user ID.") try: - return await update_user_password(data) + if data.username and not user.username: + await update_account(user_id=user.id, username=data.username) + + # old accounts do not have a pasword + if await get_user_password(data.user_id): + assert data.password_old, "Missing old password" + old_pwd_ok = await verify_user_password(data.user_id, data.password_old) + assert old_pwd_ok, "Invalid credentials." + + return await update_user_password(data, payload.auth_time or 0) + except AssertionError as exc: + raise HTTPException(HTTP_403_FORBIDDEN, str(exc)) from exc + except Exception as exc: + logger.debug(exc) + raise HTTPException( + HTTP_500_INTERNAL_SERVER_ERROR, "Cannot update user password." + ) from exc + + +@auth_router.put("/pubkey") +async def update_pubkey( + data: UpdateUserPubkey, + user: User = Depends(check_user_exists), + payload: AccessTokenPayload = Depends(access_token_payload), +) -> Optional[User]: + if data.user_id != user.id: + raise HTTPException(HTTP_400_BAD_REQUEST, "Invalid user ID.") + + try: + data.pubkey = normalize_public_key(data.pubkey) + return await update_user_pubkey(data, payload.auth_time or 0) + except AssertionError as exc: raise HTTPException(HTTP_403_FORBIDDEN, str(exc)) from exc except Exception as exc: @@ -239,9 +301,9 @@ async def first_install(data: UpdateSuperuserPassword) -> JSONResponse: password_repeat=data.password_repeat, username=data.username, ) - await update_user_password(super_user) + user = await update_user_password(super_user, int(time())) settings.first_install = False - return _auth_success_response(username=super_user.username) + return _auth_success_response(user.username, user.id, user.email) except AssertionError as exc: raise HTTPException(HTTP_403_FORBIDDEN, str(exc)) from exc except Exception as exc: @@ -288,9 +350,10 @@ def _auth_success_response( user_id: Optional[str] = None, email: Optional[str] = None, ) -> JSONResponse: - access_token = create_access_token( - data={"sub": username or "", "usr": user_id, "email": email} + payload = AccessTokenPayload( + sub=username or "", usr=user_id, email=email, auth_time=int(time()) ) + access_token = create_access_token(data=payload.dict()) response = JSONResponse({"access_token": access_token, "token_type": "bearer"}) response.set_cookie("cookie_access_token", access_token, httponly=True) response.set_cookie("is_lnbits_user_authorized", "true") @@ -300,7 +363,8 @@ def _auth_success_response( def _auth_redirect_response(path: str, email: str) -> RedirectResponse: - access_token = create_access_token(data={"sub": "" or "", "email": email}) + payload = AccessTokenPayload(sub="" or "", email=email, auth_time=int(time())) + access_token = create_access_token(data=payload.dict()) response = RedirectResponse(path) response.set_cookie("cookie_access_token", access_token, httponly=True) response.set_cookie("is_lnbits_user_authorized", "true") @@ -349,3 +413,39 @@ def _find_auth_provider_class(provider: str) -> Callable: pass raise ValueError(f"No SSO provider found for '{provider}'.") + + +def _nostr_nip98_event(request: Request) -> dict: + auth_header = request.headers.get("Authorization") + assert auth_header, "Nostr Auth header missing." + + scheme, token = auth_header.split() + assert scheme.lower() == "nostr", "Authorization header is not nostr." + + event = None + try: + event_json = base64.b64decode(token.encode("ascii")) + event = json.loads(event_json) + except Exception as exc: + logger.warning(exc) + + assert event, "Nostr login event cannot be parsed." + + assert verify_event(event), "Nostr login event is not valid." + + assert event["kind"] == 27_235, "Invalid event kind." + auth_threshold = settings.auth_credetials_update_threshold + assert ( + abs(time() - event["created_at"]) < auth_threshold + ), f"More than {auth_threshold} seconds have passed since the event was signed." + + method: Optional[str] = next((v for k, v in event["tags"] if k == "method"), None) + assert method, "Tag 'method' is missing." + assert method.upper() == "POST", "Incorrect value for tag 'method'." + + url = next((v for k, v in event["tags"] if k == "u"), None) + assert url, "Tag 'u' for URL is missing." + accepted_urls = [f"{u}/nostr" for u in settings.nostr_absolute_request_urls] + assert url in accepted_urls, f"Incorrect value for tag 'u': '{url}'." + + return event diff --git a/lnbits/core/views/generic.py b/lnbits/core/views/generic.py index c06adba21..4b725151c 100644 --- a/lnbits/core/views/generic.py +++ b/lnbits/core/views/generic.py @@ -209,9 +209,7 @@ async def account( return template_renderer().TemplateResponse( request, "core/account.html", - { - "user": user.dict(), - }, + {"user": user.dict()}, ) diff --git a/lnbits/decorators.py b/lnbits/decorators.py index 4581eab54..6e9e32911 100644 --- a/lnbits/decorators.py +++ b/lnbits/decorators.py @@ -18,7 +18,13 @@ from lnbits.core.crud import ( get_user_active_extensions_ids, get_wallet_for_key, ) -from lnbits.core.models import KeyType, SimpleStatus, User, WalletTypeInfo +from lnbits.core.models import ( + AccessTokenPayload, + KeyType, + SimpleStatus, + User, + WalletTypeInfo, +) from lnbits.db import Filter, Filters, TFilterModel from lnbits.settings import AuthMethods, settings @@ -162,6 +168,16 @@ async def optional_user_id( return None +async def access_token_payload( + access_token: Annotated[Optional[str], Depends(check_access_token)], +) -> AccessTokenPayload: + if not access_token: + raise HTTPException(HTTPStatus.UNAUTHORIZED, "Missing access token.") + + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + return AccessTokenPayload(**payload) + + async def check_admin(user: Annotated[User, Depends(check_user_exists)]) -> User: if user.id != settings.super_user and user.id not in settings.lnbits_admin_users: raise HTTPException( @@ -245,17 +261,17 @@ async def _check_user_extension_access(user_id: str, current_path: str): ) -async def _get_account_from_token(access_token): +async def _get_account_from_token(access_token) -> Optional[User]: try: - payload = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) - if "sub" in payload and payload.get("sub"): - return await get_account_by_username(str(payload.get("sub"))) - if "usr" in payload and payload.get("usr"): - return await get_account(str(payload.get("usr"))) - if "email" in payload and payload.get("email"): - return await get_account_by_email(str(payload.get("email"))) + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + user = await _get_user_from_jwt_payload(payload) + if not user: + raise HTTPException( + HTTPStatus.UNAUTHORIZED, "Data missing for access token." + ) + + return user - raise HTTPException(HTTPStatus.UNAUTHORIZED, "Data missing for access token.") except jwt.ExpiredSignatureError as exc: raise HTTPException( HTTPStatus.UNAUTHORIZED, "Session expired.", {"token-expired": "true"} @@ -263,3 +279,13 @@ async def _get_account_from_token(access_token): except jwt.PyJWTError as exc: logger.debug(exc) raise HTTPException(HTTPStatus.UNAUTHORIZED, "Invalid access token.") from exc + + +async def _get_user_from_jwt_payload(payload) -> Optional[User]: + if "sub" in payload and payload.get("sub"): + return await get_account_by_username(str(payload.get("sub"))) + if "usr" in payload and payload.get("usr"): + return await get_account(str(payload.get("usr"))) + if "email" in payload and payload.get("email"): + return await get_account_by_email(str(payload.get("email"))) + return None diff --git a/lnbits/settings.py b/lnbits/settings.py index 91c2a1e05..c55f88e04 100644 --- a/lnbits/settings.py +++ b/lnbits/settings.py @@ -429,10 +429,22 @@ class NodeUISettings(LNbitsSettings): class AuthMethods(Enum): user_id_only = "user-id-only" username_and_password = "username-password" + nostr_auth_nip98 = "nostr-auth-nip98" google_auth = "google-auth" github_auth = "github-auth" keycloak_auth = "keycloak-auth" + @classmethod + def all(cls): + return [ + AuthMethods.user_id_only.value, + AuthMethods.username_and_password.value, + AuthMethods.nostr_auth_nip98.value, + AuthMethods.google_auth.value, + AuthMethods.github_auth.value, + AuthMethods.keycloak_auth.value, + ] + class AuthSettings(LNbitsSettings): auth_token_expire_minutes: int = Field(default=525600) @@ -443,11 +455,20 @@ class AuthSettings(LNbitsSettings): AuthMethods.username_and_password.value, ] ) + # How many seconds after login the user is allowed to update its credentials. + # A fresh login is required afterwards. + auth_credetials_update_threshold: int = Field(default=120) def is_auth_method_allowed(self, method: AuthMethods): return method.value in self.auth_allowed_methods +class NostrAuthSettings(LNbitsSettings): + nostr_absolute_request_urls: list[str] = Field( + default=["http://127.0.0.1:5000", "http://localhost:5000"] + ) + + class GoogleAuthSettings(LNbitsSettings): google_client_id: str = Field(default="") google_client_secret: str = Field(default="") @@ -475,6 +496,7 @@ class EditableSettings( WebPushSettings, NodeUISettings, AuthSettings, + NostrAuthSettings, GoogleAuthSettings, GitHubAuthSettings, KeycloakAuthSettings, diff --git a/lnbits/static/bundle.min.js b/lnbits/static/bundle.min.js index c5901873e..18f4eaec9 100644 --- a/lnbits/static/bundle.min.js +++ b/lnbits/static/bundle.min.js @@ -3,42 +3,42 @@ //! authors : Tim Wood, Iskren Chernev, Moment.js contributors //! license : MIT //! momentjs.com -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,(function(){"use strict";var e,t;function n(){return e.apply(null,arguments)}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function o(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(r(e,t))return!1;return!0}function s(e){return void 0===e}function l(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,a=[],i=e.length;for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+a}var A=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,L=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,O={},N={};function R(e,t,n,a){var i=a;"string"==typeof a&&(i=function(){return this[a]()}),e&&(N[e]=i),t&&(N[t[0]]=function(){return P(i.apply(this,arguments),t[1],t[2])}),n&&(N[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function z(e,t){return e.isValid()?(t=q(t,e.localeData()),O[t]=O[t]||function(e){var t,n,a,i=e.match(A);for(t=0,n=i.length;t=0&&L.test(e);)e=e.replace(L,a),L.lastIndex=0,n-=1;return e}var I={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function D(e){return"string"==typeof e?I[e]||I[e.toLowerCase()]:void 0}function j(e){var t,n,a={};for(n in e)r(e,n)&&(t=D(n))&&(a[t]=e[n]);return a}var $={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var F,B=/\d/,V=/\d\d/,H=/\d{3}/,U=/\d{4}/,W=/[+-]?\d{6}/,Y=/\d\d?/,Q=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,G=/\d{1,3}/,Z=/\d{1,4}/,X=/[+-]?\d{1,6}/,J=/\d+/,ee=/[+-]?\d+/,te=/Z|[+-]\d\d:?\d\d/gi,ne=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ie=/^[1-9]\d?/,re=/^([1-9]\d|\d)/;function oe(e,t,n){F[e]=T(t)?t:function(e,a){return e&&n?n:t}}function se(e,t){return r(F,e)?F[e](t._strict,t._locale):new RegExp(le(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,i){return t||n||a||i}))))}function le(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ue(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function ce(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=ue(t)),n}F={};var de={};function he(e,t){var n,a,i=t;for("string"==typeof e&&(e=[e]),l(t)&&(i=function(e,n){n[t]=ce(e)}),a=e.length,n=0;n68?1900:2e3)};var Te,Me=Ee("FullYear",!0);function Ee(e,t){return function(a){return null!=a?(Ae(this,e,a),n.updateOffset(this,t),this):Pe(this,e)}}function Pe(e,t){if(!e.isValid())return NaN;var n=e._d,a=e._isUTC;switch(t){case"Milliseconds":return a?n.getUTCMilliseconds():n.getMilliseconds();case"Seconds":return a?n.getUTCSeconds():n.getSeconds();case"Minutes":return a?n.getUTCMinutes():n.getMinutes();case"Hours":return a?n.getUTCHours():n.getHours();case"Date":return a?n.getUTCDate():n.getDate();case"Day":return a?n.getUTCDay():n.getDay();case"Month":return a?n.getUTCMonth():n.getMonth();case"FullYear":return a?n.getUTCFullYear():n.getFullYear();default:return NaN}}function Ae(e,t,n){var a,i,r,o,s;if(e.isValid()&&!isNaN(n)){switch(a=e._d,i=e._isUTC,t){case"Milliseconds":return void(i?a.setUTCMilliseconds(n):a.setMilliseconds(n));case"Seconds":return void(i?a.setUTCSeconds(n):a.setSeconds(n));case"Minutes":return void(i?a.setUTCMinutes(n):a.setMinutes(n));case"Hours":return void(i?a.setUTCHours(n):a.setHours(n));case"Date":return void(i?a.setUTCDate(n):a.setDate(n));case"FullYear":break;default:return}r=n,o=e.month(),s=29!==(s=e.date())||1!==o||me(r)?s:28,i?a.setUTCFullYear(r,o,s):a.setFullYear(r,o,s)}}function Le(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,a=(t%(n=12)+n)%n;return e+=(t-a)/12,1===a?me(e)?29:28:31-a%7%2}Te=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0?(s=new Date(e+400,t,n,a,i,r,o),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,a,i,r,o),s}function Be(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Ve(e,t,n){var a=7+t-n;return-((7+Be(e,0,a).getUTCDay()-t)%7)+a-1}function He(e,t,n,a,i){var r,o,s=1+7*(t-1)+(7+n-a)%7+Ve(e,a,i);return s<=0?o=Ce(r=e-1)+s:s>Ce(e)?(r=e+1,o=s-Ce(e)):(r=e,o=s),{year:r,dayOfYear:o}}function Ue(e,t,n){var a,i,r=Ve(e.year(),t,n),o=Math.floor((e.dayOfYear()-r-1)/7)+1;return o<1?a=o+We(i=e.year()-1,t,n):o>We(e.year(),t,n)?(a=o-We(e.year(),t,n),i=e.year()+1):(i=e.year(),a=o),{week:a,year:i}}function We(e,t,n){var a=Ve(e,t,n),i=Ve(e+1,t,n);return(Ce(e)-a+i)/7}R("w",["ww",2],"wo","week"),R("W",["WW",2],"Wo","isoWeek"),oe("w",Y,ie),oe("ww",Y,V),oe("W",Y,ie),oe("WW",Y,V),pe(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=ce(e)}));function Ye(e,t){return e.slice(t,7).concat(e.slice(0,t))}R("d",0,"do","day"),R("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),R("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),R("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),R("e",0,0,"weekday"),R("E",0,0,"isoWeekday"),oe("d",Y),oe("e",Y),oe("E",Y),oe("dd",(function(e,t){return t.weekdaysMinRegex(e)})),oe("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),oe("dddd",(function(e,t){return t.weekdaysRegex(e)})),pe(["dd","ddd","dddd"],(function(e,t,n,a){var i=n._locale.weekdaysParse(e,a,n._strict);null!=i?t.d=i:p(n).invalidWeekday=e})),pe(["d","e","E"],(function(e,t,n,a){t[a]=ce(e)}));var Qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ke="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ge="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ze=ae,Xe=ae,Je=ae;function et(e,t,n){var a,i,r,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)r=h([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Te.call(this._weekdaysParse,o))?i:null:"ddd"===t?-1!==(i=Te.call(this._shortWeekdaysParse,o))?i:null:-1!==(i=Te.call(this._minWeekdaysParse,o))?i:null:"dddd"===t?-1!==(i=Te.call(this._weekdaysParse,o))||-1!==(i=Te.call(this._shortWeekdaysParse,o))||-1!==(i=Te.call(this._minWeekdaysParse,o))?i:null:"ddd"===t?-1!==(i=Te.call(this._shortWeekdaysParse,o))||-1!==(i=Te.call(this._weekdaysParse,o))||-1!==(i=Te.call(this._minWeekdaysParse,o))?i:null:-1!==(i=Te.call(this._minWeekdaysParse,o))||-1!==(i=Te.call(this._weekdaysParse,o))||-1!==(i=Te.call(this._shortWeekdaysParse,o))?i:null}function tt(){function e(e,t){return t.length-e.length}var t,n,a,i,r,o=[],s=[],l=[],u=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),a=le(this.weekdaysMin(n,"")),i=le(this.weekdaysShort(n,"")),r=le(this.weekdays(n,"")),o.push(a),s.push(i),l.push(r),u.push(a),u.push(i),u.push(r);o.sort(e),s.sort(e),l.sort(e),u.sort(e),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function nt(){return this.hours()%12||12}function at(e,t){R(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function it(e,t){return t._meridiemParse}R("H",["HH",2],0,"hour"),R("h",["hh",2],0,nt),R("k",["kk",2],0,(function(){return this.hours()||24})),R("hmm",0,0,(function(){return""+nt.apply(this)+P(this.minutes(),2)})),R("hmmss",0,0,(function(){return""+nt.apply(this)+P(this.minutes(),2)+P(this.seconds(),2)})),R("Hmm",0,0,(function(){return""+this.hours()+P(this.minutes(),2)})),R("Hmmss",0,0,(function(){return""+this.hours()+P(this.minutes(),2)+P(this.seconds(),2)})),at("a",!0),at("A",!1),oe("a",it),oe("A",it),oe("H",Y,re),oe("h",Y,ie),oe("k",Y,ie),oe("HH",Y,V),oe("hh",Y,V),oe("kk",Y,V),oe("hmm",Q),oe("hmmss",K),oe("Hmm",Q),oe("Hmmss",K),he(["H","HH"],be),he(["k","kk"],(function(e,t,n){var a=ce(e);t[be]=24===a?0:a})),he(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),he(["h","hh"],(function(e,t,n){t[be]=ce(e),p(n).bigHour=!0})),he("hmm",(function(e,t,n){var a=e.length-2;t[be]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a)),p(n).bigHour=!0})),he("hmmss",(function(e,t,n){var a=e.length-4,i=e.length-2;t[be]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a,2)),t[we]=ce(e.substr(i)),p(n).bigHour=!0})),he("Hmm",(function(e,t,n){var a=e.length-2;t[be]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a))})),he("Hmmss",(function(e,t,n){var a=e.length-4,i=e.length-2;t[be]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a,2)),t[we]=ce(e.substr(i))}));var rt=Ee("Hours",!0);var ot,st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Oe,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Qe,weekdaysMin:Ge,weekdaysShort:Ke,meridiemParse:/[ap]\.?m?\.?/i},lt={},ut={};function ct(e,t){var n,a=Math.min(e.length,t.length);for(n=0;n0;){if(a=ht(i.slice(0,t).join("-")))return a;if(n&&n.length>=t&&ct(i,n)>=t-1)break;t--}r++}return ot}(e)}function vt(e){var t,n=e._a;return n&&-2===p(e).overflow&&(t=n[ge]<0||n[ge]>11?ge:n[_e]<1||n[_e]>Le(n[ve],n[ge])?_e:n[be]<0||n[be]>24||24===n[be]&&(0!==n[ye]||0!==n[we]||0!==n[ke])?be:n[ye]<0||n[ye]>59?ye:n[we]<0||n[we]>59?we:n[ke]<0||n[ke]>999?ke:-1,p(e)._overflowDayOfYear&&(t_e)&&(t=_e),p(e)._overflowWeeks&&-1===t&&(t=xe),p(e)._overflowWeekday&&-1===t&&(t=Se),p(e).overflow=t),e}var gt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bt=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],wt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],kt=/^\/?Date\((-?\d+)/i,xt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ct(e){var t,n,a,i,r,o,s=e._i,l=gt.exec(s)||_t.exec(s),u=yt.length,c=wt.length;if(l){for(p(e).iso=!0,t=0,n=u;t7)&&(l=!0)):(r=e._locale._week.dow,o=e._locale._week.doy,u=Ue(Nt(),r,o),n=Et(t.gg,e._a[ve],u.year),a=Et(t.w,u.week),null!=t.d?((i=t.d)<0||i>6)&&(l=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(l=!0)):i=r);a<1||a>We(n,r,o)?p(e)._overflowWeeks=!0:null!=l?p(e)._overflowWeekday=!0:(s=He(n,a,i,r,o),e._a[ve]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(o=Et(e._a[ve],i[ve]),(e._dayOfYear>Ce(o)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),a=Be(o,0,e._dayOfYear),e._a[ge]=a.getUTCMonth(),e._a[_e]=a.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=i[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[be]&&0===e._a[ye]&&0===e._a[we]&&0===e._a[ke]&&(e._nextDay=!0,e._a[be]=0),e._d=(e._useUTC?Be:Fe).apply(null,s),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[be]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(p(e).weekdayMismatch=!0)}}function At(e){if(e._f!==n.ISO_8601)if(e._f!==n.RFC_2822){e._a=[],p(e).empty=!0;var t,a,i,r,o,s,l,u=""+e._i,c=u.length,d=0;for(l=(i=q(e._f,e._locale).match(A)||[]).length,t=0;t0&&p(e).unusedInput.push(o),u=u.slice(u.indexOf(a)+a.length),d+=a.length),N[r]?(a?p(e).empty=!1:p(e).unusedTokens.push(r),fe(r,a,e)):e._strict&&!a&&p(e).unusedTokens.push(r);p(e).charsLeftOver=c-d,u.length>0&&p(e).unusedInput.push(u),e._a[be]<=12&&!0===p(e).bigHour&&e._a[be]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[be]=function(e,t,n){var a;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((a=e.isPM(n))&&t<12&&(t+=12),a||12!==t||(t=0),t):t}(e._locale,e._a[be],e._meridiem),null!==(s=p(e).era)&&(e._a[ve]=e._locale.erasConvertYear(s,e._a[ve])),Pt(e),vt(e)}else Mt(e);else Ct(e)}function Lt(e){var t=e._i,r=e._f;return e._locale=e._locale||mt(e._l),null===t||void 0===r&&""===t?m({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),y(t)?new b(vt(t)):(u(t)?e._d=t:a(r)?function(e){var t,n,a,i,r,o,s=!1,l=e._f.length;if(0===l)return p(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis?this:e:m()}));function qt(e,t){var n,i;if(1===t.length&&a(t[0])&&(t=t[0]),!t.length)return Nt();for(n=t[0],i=1;i=0?new Date(e+400,t,n)-hn:new Date(e,t,n).valueOf()}function mn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-hn:Date.UTC(e,t,n)}function vn(e,t){return t.erasAbbrRegex(e)}function gn(){var e,t,n,a,i,r=[],o=[],s=[],l=[],u=this.eras();for(e=0,t=u.length;e(r=We(e,a,i))&&(t=r),yn.call(this,e,t,n,a,i))}function yn(e,t,n,a,i){var r=He(e,t,n,a,i),o=Be(r.year,0,r.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}R("N",0,0,"eraAbbr"),R("NN",0,0,"eraAbbr"),R("NNN",0,0,"eraAbbr"),R("NNNN",0,0,"eraName"),R("NNNNN",0,0,"eraNarrow"),R("y",["y",1],"yo","eraYear"),R("y",["yy",2],0,"eraYear"),R("y",["yyy",3],0,"eraYear"),R("y",["yyyy",4],0,"eraYear"),oe("N",vn),oe("NN",vn),oe("NNN",vn),oe("NNNN",(function(e,t){return t.erasNameRegex(e)})),oe("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),he(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,a){var i=n._locale.erasParse(e,a,n._strict);i?p(n).era=i:p(n).invalidEra=e})),oe("y",J),oe("yy",J),oe("yyy",J),oe("yyyy",J),oe("yo",(function(e,t){return t._eraYearOrdinalRegex||J})),he(["y","yy","yyy","yyyy"],ve),he(["yo"],(function(e,t,n,a){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[ve]=n._locale.eraYearOrdinalParse(e,i):t[ve]=parseInt(e,10)})),R(0,["gg",2],0,(function(){return this.weekYear()%100})),R(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),_n("gggg","weekYear"),_n("ggggg","weekYear"),_n("GGGG","isoWeekYear"),_n("GGGGG","isoWeekYear"),oe("G",ee),oe("g",ee),oe("GG",Y,V),oe("gg",Y,V),oe("GGGG",Z,U),oe("gggg",Z,U),oe("GGGGG",X,W),oe("ggggg",X,W),pe(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,a){t[a.substr(0,2)]=ce(e)})),pe(["gg","GG"],(function(e,t,a,i){t[i]=n.parseTwoDigitYear(e)})),R("Q",0,"Qo","quarter"),oe("Q",B),he("Q",(function(e,t){t[ge]=3*(ce(e)-1)})),R("D",["DD",2],"Do","date"),oe("D",Y,ie),oe("DD",Y,V),oe("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),he(["D","DD"],_e),he("Do",(function(e,t){t[_e]=ce(e.match(Y)[0])}));var wn=Ee("Date",!0);R("DDD",["DDDD",3],"DDDo","dayOfYear"),oe("DDD",G),oe("DDDD",H),he(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=ce(e)})),R("m",["mm",2],0,"minute"),oe("m",Y,re),oe("mm",Y,V),he(["m","mm"],ye);var kn=Ee("Minutes",!1);R("s",["ss",2],0,"second"),oe("s",Y,re),oe("ss",Y,V),he(["s","ss"],we);var xn,Sn,Cn=Ee("Seconds",!1);for(R("S",0,0,(function(){return~~(this.millisecond()/100)})),R(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),R(0,["SSS",3],0,"millisecond"),R(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),R(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),R(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),R(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),R(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),R(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),oe("S",G,B),oe("SS",G,V),oe("SSS",G,H),xn="SSSS";xn.length<=9;xn+="S")oe(xn,J);function Tn(e,t){t[ke]=ce(1e3*("0."+e))}for(xn="S";xn.length<=9;xn+="S")he(xn,Tn);Sn=Ee("Milliseconds",!1),R("z",0,0,"zoneAbbr"),R("zz",0,0,"zoneName");var Mn=b.prototype;function En(e){return e}Mn.add=en,Mn.calendar=function(e,t){1===arguments.length&&(arguments[0]?an(arguments[0])?(e=arguments[0],t=void 0):function(e){var t,n=i(e)&&!o(e),a=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;tn.valueOf():n.valueOf()9999?z(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):T(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",z(n,"Z")):z(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Mn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,a="moment",i="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=i+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(Mn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Mn.toJSON=function(){return this.isValid()?this.toISOString():null},Mn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Mn.unix=function(){return Math.floor(this.valueOf()/1e3)},Mn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Mn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Mn.eraName=function(){var e,t,n,a=this.localeData().eras();for(e=0,t=a.length;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},Mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Mn.isUtc=Wt,Mn.isUTC=Wt,Mn.zoneAbbr=function(){return this._isUTC?"UTC":""},Mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Mn.dates=k("dates accessor is deprecated. Use date instead.",wn),Mn.months=k("months accessor is deprecated. Use month instead",je),Mn.years=k("years accessor is deprecated. Use year instead",Me),Mn.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),Mn.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e,t={};return _(t,this),(t=Lt(t))._a?(e=t._isUTC?h(t._a):Nt(t._a),this._isDSTShifted=this.isValid()&&function(e,t,n){var a,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),o=0;for(a=0;a0):this._isDSTShifted=!1,this._isDSTShifted}));var Pn=E.prototype;function An(e,t,n,a){var i=mt(),r=h().set(a,t);return i[n](r,e)}function Ln(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||"",null!=t)return An(e,t,n,"month");var a,i=[];for(a=0;a<12;a++)i[a]=An(e,a,n,"month");return i}function On(e,t,n,a){"boolean"==typeof e?(l(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,l(t)&&(n=t,t=void 0),t=t||"");var i,r=mt(),o=e?r._week.dow:0,s=[];if(null!=n)return An(t,(n+o)%7,a,"day");for(i=0;i<7;i++)s[i]=An(t,(i+o)%7,a,"day");return s}Pn.calendar=function(e,t,n){var a=this._calendar[e]||this._calendar.sameElse;return T(a)?a.call(t,n):a},Pn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(A).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},Pn.invalidDate=function(){return this._invalidDate},Pn.ordinal=function(e){return this._ordinal.replace("%d",e)},Pn.preparse=En,Pn.postformat=En,Pn.relativeTime=function(e,t,n,a){var i=this._relativeTime[n];return T(i)?i(e,t,n,a):i.replace(/%d/i,e)},Pn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return T(n)?n(t):n.replace(/%s/i,t)},Pn.set=function(e){var t,n;for(n in e)r(e,n)&&(T(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Pn.eras=function(e,t){var a,i,r,o=this._eras||mt("en")._eras;for(a=0,i=o.length;a=0)return l[a]},Pn.erasConvertYear=function(e,t){var a=e.since<=e.until?1:-1;return void 0===t?n(e.since).year():n(e.since).year()+(t-e.offset)*a},Pn.erasAbbrRegex=function(e){return r(this,"_erasAbbrRegex")||gn.call(this),e?this._erasAbbrRegex:this._erasRegex},Pn.erasNameRegex=function(e){return r(this,"_erasNameRegex")||gn.call(this),e?this._erasNameRegex:this._erasRegex},Pn.erasNarrowRegex=function(e){return r(this,"_erasNarrowRegex")||gn.call(this),e?this._erasNarrowRegex:this._erasRegex},Pn.months=function(e,t){return e?a(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Re).test(t)?"format":"standalone"][e.month()]:a(this._months)?this._months:this._months.standalone},Pn.monthsShort=function(e,t){return e?a(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Re.test(t)?"format":"standalone"][e.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Pn.monthsParse=function(e,t,n){var a,i,r;if(this._monthsParseExact)return Ie.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(i=h([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[a]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e))return a;if(n&&"MMM"===t&&this._shortMonthsParse[a].test(e))return a;if(!n&&this._monthsParse[a].test(e))return a}},Pn.monthsRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||$e.call(this),e?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=qe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Pn.monthsShortRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||$e.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=ze),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Pn.week=function(e){return Ue(e,this._week.dow,this._week.doy).week},Pn.firstDayOfYear=function(){return this._week.doy},Pn.firstDayOfWeek=function(){return this._week.dow},Pn.weekdays=function(e,t){var n=a(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ye(n,this._week.dow):e?n[e.day()]:n},Pn.weekdaysMin=function(e){return!0===e?Ye(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Pn.weekdaysShort=function(e){return!0===e?Ye(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Pn.weekdaysParse=function(e,t,n){var a,i,r;if(this._weekdaysParseExact)return et.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(i=h([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[a]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}},Pn.weekdaysRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=Ze),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Pn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Xe),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Pn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Je),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Pn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Pn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},pt("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===ce(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),n.lang=k("moment.lang is deprecated. Use moment.locale instead.",pt),n.langData=k("moment.langData is deprecated. Use moment.localeData instead.",mt);var Nn=Math.abs;function Rn(e,t,n,a){var i=Kt(t,n);return e._milliseconds+=a*i._milliseconds,e._days+=a*i._days,e._months+=a*i._months,e._bubble()}function zn(e){return e<0?Math.floor(e):Math.ceil(e)}function qn(e){return 4800*e/146097}function In(e){return 146097*e/4800}function Dn(e){return function(){return this.as(e)}}var jn=Dn("ms"),$n=Dn("s"),Fn=Dn("m"),Bn=Dn("h"),Vn=Dn("d"),Hn=Dn("w"),Un=Dn("M"),Wn=Dn("Q"),Yn=Dn("y"),Qn=jn;function Kn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Gn=Kn("milliseconds"),Zn=Kn("seconds"),Xn=Kn("minutes"),Jn=Kn("hours"),ea=Kn("days"),ta=Kn("months"),na=Kn("years");var aa=Math.round,ia={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ra(e,t,n,a,i){return i.relativeTime(t||1,!!n,e,a)}var oa=Math.abs;function sa(e){return(e>0)-(e<0)||+e}function la(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,a,i,r,o,s,l=oa(this._milliseconds)/1e3,u=oa(this._days),c=oa(this._months),d=this.asSeconds();return d?(e=ue(l/60),t=ue(e/60),l%=60,e%=60,n=ue(c/12),c%=12,a=l?l.toFixed(3).replace(/\.?0+$/,""):"",i=d<0?"-":"",r=sa(this._months)!==sa(d)?"-":"",o=sa(this._days)!==sa(d)?"-":"",s=sa(this._milliseconds)!==sa(d)?"-":"",i+"P"+(n?r+n+"Y":"")+(c?r+c+"M":"")+(u?o+u+"D":"")+(t||e||l?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(l?s+a+"S":"")):"P0D"}var ua=Dt.prototype;return ua.isValid=function(){return this._isValid},ua.abs=function(){var e=this._data;return this._milliseconds=Nn(this._milliseconds),this._days=Nn(this._days),this._months=Nn(this._months),e.milliseconds=Nn(e.milliseconds),e.seconds=Nn(e.seconds),e.minutes=Nn(e.minutes),e.hours=Nn(e.hours),e.months=Nn(e.months),e.years=Nn(e.years),this},ua.add=function(e,t){return Rn(this,e,t,1)},ua.subtract=function(e,t){return Rn(this,e,t,-1)},ua.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=D(e))||"quarter"===e||"year"===e)switch(t=this._days+a/864e5,n=this._months+qn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(In(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},ua.asMilliseconds=jn,ua.asSeconds=$n,ua.asMinutes=Fn,ua.asHours=Bn,ua.asDays=Vn,ua.asWeeks=Hn,ua.asMonths=Un,ua.asQuarters=Wn,ua.asYears=Yn,ua.valueOf=Qn,ua._bubble=function(){var e,t,n,a,i,r=this._milliseconds,o=this._days,s=this._months,l=this._data;return r>=0&&o>=0&&s>=0||r<=0&&o<=0&&s<=0||(r+=864e5*zn(In(s)+o),o=0,s=0),l.milliseconds=r%1e3,e=ue(r/1e3),l.seconds=e%60,t=ue(e/60),l.minutes=t%60,n=ue(t/60),l.hours=n%24,o+=ue(n/24),s+=i=ue(qn(o)),o-=zn(In(i)),a=ue(s/12),s%=12,l.days=o,l.months=s,l.years=a,this},ua.clone=function(){return Kt(this)},ua.get=function(e){return e=D(e),this.isValid()?this[e+"s"]():NaN},ua.milliseconds=Gn,ua.seconds=Zn,ua.minutes=Xn,ua.hours=Jn,ua.days=ea,ua.weeks=function(){return ue(this.days()/7)},ua.months=ta,ua.years=na,ua.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,a,i=!1,r=ia;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(i=e),"object"==typeof t&&(r=Object.assign({},ia,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1)),a=function(e,t,n,a){var i=Kt(e).abs(),r=aa(i.as("s")),o=aa(i.as("m")),s=aa(i.as("h")),l=aa(i.as("d")),u=aa(i.as("M")),c=aa(i.as("w")),d=aa(i.as("y")),h=r<=n.ss&&["s",r]||r0,h[4]=a,ra.apply(null,h)}(this,!i,r,n=this.localeData()),i&&(a=n.pastFuture(+this,a)),n.postformat(a)},ua.toISOString=la,ua.toString=la,ua.toJSON=la,ua.locale=on,ua.localeData=ln,ua.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",la),ua.lang=sn,R("X",0,0,"unix"),R("x",0,0,"valueOf"),oe("x",ee),oe("X",/[+-]?\d+(\.\d{1,3})?/),he("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),he("x",(function(e,t,n){n._d=new Date(ce(e))})), +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,(function(){"use strict";var e,t;function n(){return e.apply(null,arguments)}function a(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function o(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(r(e,t))return!1;return!0}function s(e){return void 0===e}function l(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function c(e,t){var n,a=[],i=e.length;for(n=0;n>>0;for(t=0;t0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+a}var P=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,L=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,O={},N={};function R(e,t,n,a){var i=a;"string"==typeof a&&(i=function(){return this[a]()}),e&&(N[e]=i),t&&(N[t[0]]=function(){return M(i.apply(this,arguments),t[1],t[2])}),n&&(N[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function I(e,t){return e.isValid()?(t=z(t,e.localeData()),O[t]=O[t]||function(e){var t,n,a,i=e.match(P);for(t=0,n=i.length;t=0&&L.test(e);)e=e.replace(L,a),L.lastIndex=0,n-=1;return e}var q={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function D(e){return"string"==typeof e?q[e]||q[e.toLowerCase()]:void 0}function j(e){var t,n,a={};for(n in e)r(e,n)&&(t=D(n))&&(a[t]=e[n]);return a}var $={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var B,F=/\d/,V=/\d\d/,U=/\d{3}/,H=/\d{4}/,W=/[+-]?\d{6}/,Y=/\d\d?/,Q=/\d\d\d\d?/,K=/\d\d\d\d\d\d?/,G=/\d{1,3}/,Z=/\d{1,4}/,J=/[+-]?\d{1,6}/,X=/\d+/,ee=/[+-]?\d+/,te=/Z|[+-]\d\d:?\d\d/gi,ne=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,ie=/^[1-9]\d?/,re=/^([1-9]\d|\d)/;function oe(e,t,n){B[e]=E(t)?t:function(e,a){return e&&n?n:t}}function se(e,t){return r(B,e)?B[e](t._strict,t._locale):new RegExp(le(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,i){return t||n||a||i}))))}function le(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ue(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function ce(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=ue(t)),n}B={};var de={};function he(e,t){var n,a,i=t;for("string"==typeof e&&(e=[e]),l(t)&&(i=function(e,n){n[t]=ce(e)}),a=e.length,n=0;n68?1900:2e3)};var Ee,Te=Ae("FullYear",!0);function Ae(e,t){return function(a){return null!=a?(Pe(this,e,a),n.updateOffset(this,t),this):Me(this,e)}}function Me(e,t){if(!e.isValid())return NaN;var n=e._d,a=e._isUTC;switch(t){case"Milliseconds":return a?n.getUTCMilliseconds():n.getMilliseconds();case"Seconds":return a?n.getUTCSeconds():n.getSeconds();case"Minutes":return a?n.getUTCMinutes():n.getMinutes();case"Hours":return a?n.getUTCHours():n.getHours();case"Date":return a?n.getUTCDate():n.getDate();case"Day":return a?n.getUTCDay():n.getDay();case"Month":return a?n.getUTCMonth():n.getMonth();case"FullYear":return a?n.getUTCFullYear():n.getFullYear();default:return NaN}}function Pe(e,t,n){var a,i,r,o,s;if(e.isValid()&&!isNaN(n)){switch(a=e._d,i=e._isUTC,t){case"Milliseconds":return void(i?a.setUTCMilliseconds(n):a.setMilliseconds(n));case"Seconds":return void(i?a.setUTCSeconds(n):a.setSeconds(n));case"Minutes":return void(i?a.setUTCMinutes(n):a.setMinutes(n));case"Hours":return void(i?a.setUTCHours(n):a.setHours(n));case"Date":return void(i?a.setUTCDate(n):a.setDate(n));case"FullYear":break;default:return}r=n,o=e.month(),s=29!==(s=e.date())||1!==o||me(r)?s:28,i?a.setUTCFullYear(r,o,s):a.setFullYear(r,o,s)}}function Le(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,a=(t%(n=12)+n)%n;return e+=(t-a)/12,1===a?me(e)?29:28:31-a%7%2}Ee=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0?(s=new Date(e+400,t,n,a,i,r,o),isFinite(s.getFullYear())&&s.setFullYear(e)):s=new Date(e,t,n,a,i,r,o),s}function Fe(e){var t,n;return e<100&&e>=0?((n=Array.prototype.slice.call(arguments))[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function Ve(e,t,n){var a=7+t-n;return-((7+Fe(e,0,a).getUTCDay()-t)%7)+a-1}function Ue(e,t,n,a,i){var r,o,s=1+7*(t-1)+(7+n-a)%7+Ve(e,a,i);return s<=0?o=Ce(r=e-1)+s:s>Ce(e)?(r=e+1,o=s-Ce(e)):(r=e,o=s),{year:r,dayOfYear:o}}function He(e,t,n){var a,i,r=Ve(e.year(),t,n),o=Math.floor((e.dayOfYear()-r-1)/7)+1;return o<1?a=o+We(i=e.year()-1,t,n):o>We(e.year(),t,n)?(a=o-We(e.year(),t,n),i=e.year()+1):(i=e.year(),a=o),{week:a,year:i}}function We(e,t,n){var a=Ve(e,t,n),i=Ve(e+1,t,n);return(Ce(e)-a+i)/7}R("w",["ww",2],"wo","week"),R("W",["WW",2],"Wo","isoWeek"),oe("w",Y,ie),oe("ww",Y,V),oe("W",Y,ie),oe("WW",Y,V),pe(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=ce(e)}));function Ye(e,t){return e.slice(t,7).concat(e.slice(0,t))}R("d",0,"do","day"),R("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),R("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),R("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),R("e",0,0,"weekday"),R("E",0,0,"isoWeekday"),oe("d",Y),oe("e",Y),oe("E",Y),oe("dd",(function(e,t){return t.weekdaysMinRegex(e)})),oe("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),oe("dddd",(function(e,t){return t.weekdaysRegex(e)})),pe(["dd","ddd","dddd"],(function(e,t,n,a){var i=n._locale.weekdaysParse(e,a,n._strict);null!=i?t.d=i:p(n).invalidWeekday=e})),pe(["d","e","E"],(function(e,t,n,a){t[a]=ce(e)}));var Qe="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ke="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Ge="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Ze=ae,Je=ae,Xe=ae;function et(e,t,n){var a,i,r,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)r=h([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ee.call(this._weekdaysParse,o))?i:null:"ddd"===t?-1!==(i=Ee.call(this._shortWeekdaysParse,o))?i:null:-1!==(i=Ee.call(this._minWeekdaysParse,o))?i:null:"dddd"===t?-1!==(i=Ee.call(this._weekdaysParse,o))||-1!==(i=Ee.call(this._shortWeekdaysParse,o))||-1!==(i=Ee.call(this._minWeekdaysParse,o))?i:null:"ddd"===t?-1!==(i=Ee.call(this._shortWeekdaysParse,o))||-1!==(i=Ee.call(this._weekdaysParse,o))||-1!==(i=Ee.call(this._minWeekdaysParse,o))?i:null:-1!==(i=Ee.call(this._minWeekdaysParse,o))||-1!==(i=Ee.call(this._weekdaysParse,o))||-1!==(i=Ee.call(this._shortWeekdaysParse,o))?i:null}function tt(){function e(e,t){return t.length-e.length}var t,n,a,i,r,o=[],s=[],l=[],u=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),a=le(this.weekdaysMin(n,"")),i=le(this.weekdaysShort(n,"")),r=le(this.weekdays(n,"")),o.push(a),s.push(i),l.push(r),u.push(a),u.push(i),u.push(r);o.sort(e),s.sort(e),l.sort(e),u.sort(e),this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function nt(){return this.hours()%12||12}function at(e,t){R(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function it(e,t){return t._meridiemParse}R("H",["HH",2],0,"hour"),R("h",["hh",2],0,nt),R("k",["kk",2],0,(function(){return this.hours()||24})),R("hmm",0,0,(function(){return""+nt.apply(this)+M(this.minutes(),2)})),R("hmmss",0,0,(function(){return""+nt.apply(this)+M(this.minutes(),2)+M(this.seconds(),2)})),R("Hmm",0,0,(function(){return""+this.hours()+M(this.minutes(),2)})),R("Hmmss",0,0,(function(){return""+this.hours()+M(this.minutes(),2)+M(this.seconds(),2)})),at("a",!0),at("A",!1),oe("a",it),oe("A",it),oe("H",Y,re),oe("h",Y,ie),oe("k",Y,ie),oe("HH",Y,V),oe("hh",Y,V),oe("kk",Y,V),oe("hmm",Q),oe("hmmss",K),oe("Hmm",Q),oe("Hmmss",K),he(["H","HH"],_e),he(["k","kk"],(function(e,t,n){var a=ce(e);t[_e]=24===a?0:a})),he(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),he(["h","hh"],(function(e,t,n){t[_e]=ce(e),p(n).bigHour=!0})),he("hmm",(function(e,t,n){var a=e.length-2;t[_e]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a)),p(n).bigHour=!0})),he("hmmss",(function(e,t,n){var a=e.length-4,i=e.length-2;t[_e]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a,2)),t[we]=ce(e.substr(i)),p(n).bigHour=!0})),he("Hmm",(function(e,t,n){var a=e.length-2;t[_e]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a))})),he("Hmmss",(function(e,t,n){var a=e.length-4,i=e.length-2;t[_e]=ce(e.substr(0,a)),t[ye]=ce(e.substr(a,2)),t[we]=ce(e.substr(i))}));var rt=Ae("Hours",!0);var ot,st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Oe,monthsShort:Ne,week:{dow:0,doy:6},weekdays:Qe,weekdaysMin:Ge,weekdaysShort:Ke,meridiemParse:/[ap]\.?m?\.?/i},lt={},ut={};function ct(e,t){var n,a=Math.min(e.length,t.length);for(n=0;n0;){if(a=ht(i.slice(0,t).join("-")))return a;if(n&&n.length>=t&&ct(i,n)>=t-1)break;t--}r++}return ot}(e)}function gt(e){var t,n=e._a;return n&&-2===p(e).overflow&&(t=n[ve]<0||n[ve]>11?ve:n[be]<1||n[be]>Le(n[ge],n[ve])?be:n[_e]<0||n[_e]>24||24===n[_e]&&(0!==n[ye]||0!==n[we]||0!==n[ke])?_e:n[ye]<0||n[ye]>59?ye:n[we]<0||n[we]>59?we:n[ke]<0||n[ke]>999?ke:-1,p(e)._overflowDayOfYear&&(tbe)&&(t=be),p(e)._overflowWeeks&&-1===t&&(t=xe),p(e)._overflowWeekday&&-1===t&&(t=Se),p(e).overflow=t),e}var vt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,bt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,yt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],wt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],kt=/^\/?Date\((-?\d+)/i,xt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Ct(e){var t,n,a,i,r,o,s=e._i,l=vt.exec(s)||bt.exec(s),u=yt.length,c=wt.length;if(l){for(p(e).iso=!0,t=0,n=u;t7)&&(l=!0)):(r=e._locale._week.dow,o=e._locale._week.doy,u=He(Nt(),r,o),n=At(t.gg,e._a[ge],u.year),a=At(t.w,u.week),null!=t.d?((i=t.d)<0||i>6)&&(l=!0):null!=t.e?(i=t.e+r,(t.e<0||t.e>6)&&(l=!0)):i=r);a<1||a>We(n,r,o)?p(e)._overflowWeeks=!0:null!=l?p(e)._overflowWeekday=!0:(s=Ue(n,a,i,r,o),e._a[ge]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(o=At(e._a[ge],i[ge]),(e._dayOfYear>Ce(o)||0===e._dayOfYear)&&(p(e)._overflowDayOfYear=!0),a=Fe(o,0,e._dayOfYear),e._a[ve]=a.getUTCMonth(),e._a[be]=a.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=i[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[_e]&&0===e._a[ye]&&0===e._a[we]&&0===e._a[ke]&&(e._nextDay=!0,e._a[_e]=0),e._d=(e._useUTC?Fe:Be).apply(null,s),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[_e]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(p(e).weekdayMismatch=!0)}}function Pt(e){if(e._f!==n.ISO_8601)if(e._f!==n.RFC_2822){e._a=[],p(e).empty=!0;var t,a,i,r,o,s,l,u=""+e._i,c=u.length,d=0;for(l=(i=z(e._f,e._locale).match(P)||[]).length,t=0;t0&&p(e).unusedInput.push(o),u=u.slice(u.indexOf(a)+a.length),d+=a.length),N[r]?(a?p(e).empty=!1:p(e).unusedTokens.push(r),fe(r,a,e)):e._strict&&!a&&p(e).unusedTokens.push(r);p(e).charsLeftOver=c-d,u.length>0&&p(e).unusedInput.push(u),e._a[_e]<=12&&!0===p(e).bigHour&&e._a[_e]>0&&(p(e).bigHour=void 0),p(e).parsedDateParts=e._a.slice(0),p(e).meridiem=e._meridiem,e._a[_e]=function(e,t,n){var a;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((a=e.isPM(n))&&t<12&&(t+=12),a||12!==t||(t=0),t):t}(e._locale,e._a[_e],e._meridiem),null!==(s=p(e).era)&&(e._a[ge]=e._locale.erasConvertYear(s,e._a[ge])),Mt(e),gt(e)}else Tt(e);else Ct(e)}function Lt(e){var t=e._i,r=e._f;return e._locale=e._locale||mt(e._l),null===t||void 0===r&&""===t?m({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),y(t)?new _(gt(t)):(u(t)?e._d=t:a(r)?function(e){var t,n,a,i,r,o,s=!1,l=e._f.length;if(0===l)return p(e).invalidFormat=!0,void(e._d=new Date(NaN));for(i=0;ithis?this:e:m()}));function zt(e,t){var n,i;if(1===t.length&&a(t[0])&&(t=t[0]),!t.length)return Nt();for(n=t[0],i=1;i=0?new Date(e+400,t,n)-hn:new Date(e,t,n).valueOf()}function mn(e,t,n){return e<100&&e>=0?Date.UTC(e+400,t,n)-hn:Date.UTC(e,t,n)}function gn(e,t){return t.erasAbbrRegex(e)}function vn(){var e,t,n,a,i,r=[],o=[],s=[],l=[],u=this.eras();for(e=0,t=u.length;e(r=We(e,a,i))&&(t=r),yn.call(this,e,t,n,a,i))}function yn(e,t,n,a,i){var r=Ue(e,t,n,a,i),o=Fe(r.year,0,r.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}R("N",0,0,"eraAbbr"),R("NN",0,0,"eraAbbr"),R("NNN",0,0,"eraAbbr"),R("NNNN",0,0,"eraName"),R("NNNNN",0,0,"eraNarrow"),R("y",["y",1],"yo","eraYear"),R("y",["yy",2],0,"eraYear"),R("y",["yyy",3],0,"eraYear"),R("y",["yyyy",4],0,"eraYear"),oe("N",gn),oe("NN",gn),oe("NNN",gn),oe("NNNN",(function(e,t){return t.erasNameRegex(e)})),oe("NNNNN",(function(e,t){return t.erasNarrowRegex(e)})),he(["N","NN","NNN","NNNN","NNNNN"],(function(e,t,n,a){var i=n._locale.erasParse(e,a,n._strict);i?p(n).era=i:p(n).invalidEra=e})),oe("y",X),oe("yy",X),oe("yyy",X),oe("yyyy",X),oe("yo",(function(e,t){return t._eraYearOrdinalRegex||X})),he(["y","yy","yyy","yyyy"],ge),he(["yo"],(function(e,t,n,a){var i;n._locale._eraYearOrdinalRegex&&(i=e.match(n._locale._eraYearOrdinalRegex)),n._locale.eraYearOrdinalParse?t[ge]=n._locale.eraYearOrdinalParse(e,i):t[ge]=parseInt(e,10)})),R(0,["gg",2],0,(function(){return this.weekYear()%100})),R(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),bn("gggg","weekYear"),bn("ggggg","weekYear"),bn("GGGG","isoWeekYear"),bn("GGGGG","isoWeekYear"),oe("G",ee),oe("g",ee),oe("GG",Y,V),oe("gg",Y,V),oe("GGGG",Z,H),oe("gggg",Z,H),oe("GGGGG",J,W),oe("ggggg",J,W),pe(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,a){t[a.substr(0,2)]=ce(e)})),pe(["gg","GG"],(function(e,t,a,i){t[i]=n.parseTwoDigitYear(e)})),R("Q",0,"Qo","quarter"),oe("Q",F),he("Q",(function(e,t){t[ve]=3*(ce(e)-1)})),R("D",["DD",2],"Do","date"),oe("D",Y,ie),oe("DD",Y,V),oe("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),he(["D","DD"],be),he("Do",(function(e,t){t[be]=ce(e.match(Y)[0])}));var wn=Ae("Date",!0);R("DDD",["DDDD",3],"DDDo","dayOfYear"),oe("DDD",G),oe("DDDD",U),he(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=ce(e)})),R("m",["mm",2],0,"minute"),oe("m",Y,re),oe("mm",Y,V),he(["m","mm"],ye);var kn=Ae("Minutes",!1);R("s",["ss",2],0,"second"),oe("s",Y,re),oe("ss",Y,V),he(["s","ss"],we);var xn,Sn,Cn=Ae("Seconds",!1);for(R("S",0,0,(function(){return~~(this.millisecond()/100)})),R(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),R(0,["SSS",3],0,"millisecond"),R(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),R(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),R(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),R(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),R(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),R(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),oe("S",G,F),oe("SS",G,V),oe("SSS",G,U),xn="SSSS";xn.length<=9;xn+="S")oe(xn,X);function En(e,t){t[ke]=ce(1e3*("0."+e))}for(xn="S";xn.length<=9;xn+="S")he(xn,En);Sn=Ae("Milliseconds",!1),R("z",0,0,"zoneAbbr"),R("zz",0,0,"zoneName");var Tn=_.prototype;function An(e){return e}Tn.add=en,Tn.calendar=function(e,t){1===arguments.length&&(arguments[0]?an(arguments[0])?(e=arguments[0],t=void 0):function(e){var t,n=i(e)&&!o(e),a=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"];for(t=0;tn.valueOf():n.valueOf()9999?I(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",I(n,"Z")):I(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Tn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e,t,n,a="moment",i="";return this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",i="Z"),e="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=i+'[")]',this.format(e+t+"-MM-DD[T]HH:mm:ss.SSS"+n)},"undefined"!=typeof Symbol&&null!=Symbol.for&&(Tn[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),Tn.toJSON=function(){return this.isValid()?this.toISOString():null},Tn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Tn.unix=function(){return Math.floor(this.valueOf()/1e3)},Tn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Tn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Tn.eraName=function(){var e,t,n,a=this.localeData().eras();for(e=0,t=a.length;ethis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Tn.isLocal=function(){return!!this.isValid()&&!this._isUTC},Tn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Tn.isUtc=Wt,Tn.isUTC=Wt,Tn.zoneAbbr=function(){return this._isUTC?"UTC":""},Tn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Tn.dates=k("dates accessor is deprecated. Use date instead.",wn),Tn.months=k("months accessor is deprecated. Use month instead",je),Tn.years=k("years accessor is deprecated. Use year instead",Te),Tn.zone=k("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),Tn.isDSTShifted=k("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e,t={};return b(t,this),(t=Lt(t))._a?(e=t._isUTC?h(t._a):Nt(t._a),this._isDSTShifted=this.isValid()&&function(e,t,n){var a,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),o=0;for(a=0;a0):this._isDSTShifted=!1,this._isDSTShifted}));var Mn=A.prototype;function Pn(e,t,n,a){var i=mt(),r=h().set(a,t);return i[n](r,e)}function Ln(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||"",null!=t)return Pn(e,t,n,"month");var a,i=[];for(a=0;a<12;a++)i[a]=Pn(e,a,n,"month");return i}function On(e,t,n,a){"boolean"==typeof e?(l(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,l(t)&&(n=t,t=void 0),t=t||"");var i,r=mt(),o=e?r._week.dow:0,s=[];if(null!=n)return Pn(t,(n+o)%7,a,"day");for(i=0;i<7;i++)s[i]=Pn(t,(i+o)%7,a,"day");return s}Mn.calendar=function(e,t,n){var a=this._calendar[e]||this._calendar.sameElse;return E(a)?a.call(t,n):a},Mn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.match(P).map((function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e})).join(""),this._longDateFormat[e])},Mn.invalidDate=function(){return this._invalidDate},Mn.ordinal=function(e){return this._ordinal.replace("%d",e)},Mn.preparse=An,Mn.postformat=An,Mn.relativeTime=function(e,t,n,a){var i=this._relativeTime[n];return E(i)?i(e,t,n,a):i.replace(/%d/i,e)},Mn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return E(n)?n(t):n.replace(/%s/i,t)},Mn.set=function(e){var t,n;for(n in e)r(e,n)&&(E(t=e[n])?this[n]=t:this["_"+n]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Mn.eras=function(e,t){var a,i,r,o=this._eras||mt("en")._eras;for(a=0,i=o.length;a=0)return l[a]},Mn.erasConvertYear=function(e,t){var a=e.since<=e.until?1:-1;return void 0===t?n(e.since).year():n(e.since).year()+(t-e.offset)*a},Mn.erasAbbrRegex=function(e){return r(this,"_erasAbbrRegex")||vn.call(this),e?this._erasAbbrRegex:this._erasRegex},Mn.erasNameRegex=function(e){return r(this,"_erasNameRegex")||vn.call(this),e?this._erasNameRegex:this._erasRegex},Mn.erasNarrowRegex=function(e){return r(this,"_erasNarrowRegex")||vn.call(this),e?this._erasNarrowRegex:this._erasRegex},Mn.months=function(e,t){return e?a(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Re).test(t)?"format":"standalone"][e.month()]:a(this._months)?this._months:this._months.standalone},Mn.monthsShort=function(e,t){return e?a(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Re.test(t)?"format":"standalone"][e.month()]:a(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Mn.monthsParse=function(e,t,n){var a,i,r;if(this._monthsParseExact)return qe.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(i=h([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[a]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e))return a;if(n&&"MMM"===t&&this._shortMonthsParse[a].test(e))return a;if(!n&&this._monthsParse[a].test(e))return a}},Mn.monthsRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||$e.call(this),e?this._monthsStrictRegex:this._monthsRegex):(r(this,"_monthsRegex")||(this._monthsRegex=ze),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Mn.monthsShortRegex=function(e){return this._monthsParseExact?(r(this,"_monthsRegex")||$e.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(r(this,"_monthsShortRegex")||(this._monthsShortRegex=Ie),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Mn.week=function(e){return He(e,this._week.dow,this._week.doy).week},Mn.firstDayOfYear=function(){return this._week.doy},Mn.firstDayOfWeek=function(){return this._week.dow},Mn.weekdays=function(e,t){var n=a(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?Ye(n,this._week.dow):e?n[e.day()]:n},Mn.weekdaysMin=function(e){return!0===e?Ye(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Mn.weekdaysShort=function(e){return!0===e?Ye(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Mn.weekdaysParse=function(e,t,n){var a,i,r;if(this._weekdaysParseExact)return et.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(i=h([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[a]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[a]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}},Mn.weekdaysRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(r(this,"_weekdaysRegex")||(this._weekdaysRegex=Ze),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Mn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(r(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Je),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Mn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(r(this,"_weekdaysRegex")||tt.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(r(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Xe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Mn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Mn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},pt("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===ce(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),n.lang=k("moment.lang is deprecated. Use moment.locale instead.",pt),n.langData=k("moment.langData is deprecated. Use moment.localeData instead.",mt);var Nn=Math.abs;function Rn(e,t,n,a){var i=Kt(t,n);return e._milliseconds+=a*i._milliseconds,e._days+=a*i._days,e._months+=a*i._months,e._bubble()}function In(e){return e<0?Math.floor(e):Math.ceil(e)}function zn(e){return 4800*e/146097}function qn(e){return 146097*e/4800}function Dn(e){return function(){return this.as(e)}}var jn=Dn("ms"),$n=Dn("s"),Bn=Dn("m"),Fn=Dn("h"),Vn=Dn("d"),Un=Dn("w"),Hn=Dn("M"),Wn=Dn("Q"),Yn=Dn("y"),Qn=jn;function Kn(e){return function(){return this.isValid()?this._data[e]:NaN}}var Gn=Kn("milliseconds"),Zn=Kn("seconds"),Jn=Kn("minutes"),Xn=Kn("hours"),ea=Kn("days"),ta=Kn("months"),na=Kn("years");var aa=Math.round,ia={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function ra(e,t,n,a,i){return i.relativeTime(t||1,!!n,e,a)}var oa=Math.abs;function sa(e){return(e>0)-(e<0)||+e}function la(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,a,i,r,o,s,l=oa(this._milliseconds)/1e3,u=oa(this._days),c=oa(this._months),d=this.asSeconds();return d?(e=ue(l/60),t=ue(e/60),l%=60,e%=60,n=ue(c/12),c%=12,a=l?l.toFixed(3).replace(/\.?0+$/,""):"",i=d<0?"-":"",r=sa(this._months)!==sa(d)?"-":"",o=sa(this._days)!==sa(d)?"-":"",s=sa(this._milliseconds)!==sa(d)?"-":"",i+"P"+(n?r+n+"Y":"")+(c?r+c+"M":"")+(u?o+u+"D":"")+(t||e||l?"T":"")+(t?s+t+"H":"")+(e?s+e+"M":"")+(l?s+a+"S":"")):"P0D"}var ua=Dt.prototype;return ua.isValid=function(){return this._isValid},ua.abs=function(){var e=this._data;return this._milliseconds=Nn(this._milliseconds),this._days=Nn(this._days),this._months=Nn(this._months),e.milliseconds=Nn(e.milliseconds),e.seconds=Nn(e.seconds),e.minutes=Nn(e.minutes),e.hours=Nn(e.hours),e.months=Nn(e.months),e.years=Nn(e.years),this},ua.add=function(e,t){return Rn(this,e,t,1)},ua.subtract=function(e,t){return Rn(this,e,t,-1)},ua.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=D(e))||"quarter"===e||"year"===e)switch(t=this._days+a/864e5,n=this._months+zn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(qn(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},ua.asMilliseconds=jn,ua.asSeconds=$n,ua.asMinutes=Bn,ua.asHours=Fn,ua.asDays=Vn,ua.asWeeks=Un,ua.asMonths=Hn,ua.asQuarters=Wn,ua.asYears=Yn,ua.valueOf=Qn,ua._bubble=function(){var e,t,n,a,i,r=this._milliseconds,o=this._days,s=this._months,l=this._data;return r>=0&&o>=0&&s>=0||r<=0&&o<=0&&s<=0||(r+=864e5*In(qn(s)+o),o=0,s=0),l.milliseconds=r%1e3,e=ue(r/1e3),l.seconds=e%60,t=ue(e/60),l.minutes=t%60,n=ue(t/60),l.hours=n%24,o+=ue(n/24),s+=i=ue(zn(o)),o-=In(qn(i)),a=ue(s/12),s%=12,l.days=o,l.months=s,l.years=a,this},ua.clone=function(){return Kt(this)},ua.get=function(e){return e=D(e),this.isValid()?this[e+"s"]():NaN},ua.milliseconds=Gn,ua.seconds=Zn,ua.minutes=Jn,ua.hours=Xn,ua.days=ea,ua.weeks=function(){return ue(this.days()/7)},ua.months=ta,ua.years=na,ua.humanize=function(e,t){if(!this.isValid())return this.localeData().invalidDate();var n,a,i=!1,r=ia;return"object"==typeof e&&(t=e,e=!1),"boolean"==typeof e&&(i=e),"object"==typeof t&&(r=Object.assign({},ia,t),null!=t.s&&null==t.ss&&(r.ss=t.s-1)),a=function(e,t,n,a){var i=Kt(e).abs(),r=aa(i.as("s")),o=aa(i.as("m")),s=aa(i.as("h")),l=aa(i.as("d")),u=aa(i.as("M")),c=aa(i.as("w")),d=aa(i.as("y")),h=r<=n.ss&&["s",r]||r0,h[4]=a,ra.apply(null,h)}(this,!i,r,n=this.localeData()),i&&(a=n.pastFuture(+this,a)),n.postformat(a)},ua.toISOString=la,ua.toString=la,ua.toJSON=la,ua.locale=on,ua.localeData=ln,ua.toIsoString=k("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",la),ua.lang=sn,R("X",0,0,"unix"),R("x",0,0,"valueOf"),oe("x",ee),oe("X",/[+-]?\d+(\.\d{1,3})?/),he("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e))})),he("x",(function(e,t,n){n._d=new Date(ce(e))})), //! moment.js -n.version="2.30.1",e=Nt,n.fn=Mn,n.min=function(){return qt("isBefore",[].slice.call(arguments,0))},n.max=function(){return qt("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=h,n.unix=function(e){return Nt(1e3*e)},n.months=function(e,t){return Ln(e,t,"months")},n.isDate=u,n.locale=pt,n.invalid=m,n.duration=Kt,n.isMoment=y,n.weekdays=function(e,t,n){return On(e,t,n,"weekdays")},n.parseZone=function(){return Nt.apply(null,arguments).parseZone()},n.localeData=mt,n.isDuration=jt,n.monthsShort=function(e,t){return Ln(e,t,"monthsShort")},n.weekdaysMin=function(e,t,n){return On(e,t,n,"weekdaysMin")},n.defineLocale=ft,n.updateLocale=function(e,t){if(null!=t){var n,a,i=st;null!=lt[e]&&null!=lt[e].parentLocale?lt[e].set(M(lt[e]._config,t)):(null!=(a=ht(e))&&(i=a._config),t=M(i,t),null==a&&(t.abbr=e),(n=new E(t)).parentLocale=lt[e],lt[e]=n),pt(e)}else null!=lt[e]&&(null!=lt[e].parentLocale?(lt[e]=lt[e].parentLocale,e===pt()&&pt(e)):null!=lt[e]&&delete lt[e]);return lt[e]},n.locales=function(){return x(lt)},n.weekdaysShort=function(e,t,n){return On(e,t,n,"weekdaysShort")},n.normalizeUnits=D,n.relativeTimeRounding=function(e){return void 0===e?aa:"function"==typeof e&&(aa=e,!0)},n.relativeTimeThreshold=function(e,t){return void 0!==ia[e]&&(void 0===t?ia[e]:(ia[e]=t,"s"===e&&(ia.ss=t-1),!0))},n.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=Mn,n.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},n})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e._,a=e._=t();a.noConflict=function(){return e._=n,a}}())}(this,(function(){var e="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},n=Array.prototype,a=Object.prototype,i="undefined"!=typeof Symbol?Symbol.prototype:null,r=n.push,o=n.slice,s=a.toString,l=a.hasOwnProperty,u="undefined"!=typeof ArrayBuffer,c="undefined"!=typeof DataView,d=Array.isArray,h=Object.keys,p=Object.create,f=u&&ArrayBuffer.isView,m=isNaN,v=isFinite,g=!{toString:null}.propertyIsEnumerable("toString"),_=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],b=Math.pow(2,53)-1;function y(e,t){return t=null==t?e.length-1:+t,function(){for(var n=Math.max(arguments.length-t,0),a=Array(n),i=0;i=0&&n<=b}}function Y(e){return function(t){return null==t?void 0:t[e]}}var Q=Y("byteLength"),K=W(Q),G=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var Z=u?function(e){return f?f(e)&&!j(e):K(e)&&G.test(s.call(e))}:U(!1),X=Y("length");function J(e,t){t=function(e){for(var t={},n=e.length,a=0;a":">",'"':""","'":"'","`":"`"},Ve=Fe(Be),He=Fe(ye(Be)),Ue=ne.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},We=/(.)^/,Ye={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qe=/\\|'|\r|\n|\u2028|\u2029/g;function Ke(e){return"\\"+Ye[e]}var Ge=/^\s*(\w|\$)+\s*$/;var Ze=0;function Xe(e,t,n,a,i){if(!(a instanceof t))return e.apply(n,i);var r=Te(e.prototype),o=e.apply(r,i);return w(o)?o:r}var Je=y((function(e,t){var n=Je.placeholder,a=function(){for(var i=0,r=t.length,o=Array(r),s=0;s1)nt(s,t-1,n,a),i=a.length;else for(var l=0,u=s.length;l0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}}var lt=Je(st,2);function ut(e,t,n){t=Ie(t,n);for(var a,i=ee(e),r=0,o=i.length;r0?0:i-1;r>=0&&r0?s=r>=0?r:Math.max(r+l,s):l=r>=0?Math.min(r+1,l):r+l+1;else if(n&&r&&l)return a[r=n(a,i)]===i?r:-1;if(i!=i)return(r=t(o.call(a,s,l),H))>=0?r+s:-1;for(r=e>0?s:l-1;r>=0&&r=3;return function(t,n,a,i){var r=!tt(t)&&ee(t),o=(r||t).length,s=e>0?0:o-1;for(i||(a=t[r?r[s]:s],s+=e);s>=0&&s=0}var Mt=y((function(e,t,n){var a,i;return R(t)?i=t:(t=Ee(t),a=t.slice(0,-1),t=t[t.length-1]),bt(e,(function(e){var r=i;if(!r){if(a&&a.length&&(e=Pe(e,a)),null==e)return;r=e[t]}return null==r?r:r.apply(e,n)}))}));function Et(e,t){return bt(e,Ne(t))}function Pt(e,t,n){var a,i,r=-1/0,o=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=tt(e)?e:be(e)).length;sr&&(r=a);else t=Ie(t,n),_t(e,(function(e,n,a){((i=t(e,n,a))>o||i===-1/0&&r===-1/0)&&(r=e,o=i)}));return r}var At=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Lt(e){return e?$(e)?o.call(e):C(e)?e.match(At):tt(e)?bt(e,Le):be(e):[]}function Ot(e,t,n){if(null==t||n)return tt(e)||(e=be(e)),e[je(e.length-1)];var a=Lt(e),i=X(a);t=Math.max(Math.min(t,i),0);for(var r=i-1,o=0;o1&&(a=Re(a,t[1])),t=se(e)):(a=Dt,t=nt(t,!1,!1),e=Object(e));for(var i=0,r=t.length;i1&&(n=t[1])):(t=bt(nt(t,!1,!1),String),a=function(e,n){return!Tt(t,n)}),jt(e,a,n)}));function Ft(e,t,n){return o.call(e,0,Math.max(0,e.length-(null==t||n?1:t)))}function Bt(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[0]:Ft(e,e.length-t)}function Vt(e,t,n){return o.call(e,null==t||n?1:t)}var Ht=y((function(e,t){return t=nt(t,!0,!0),xt(e,(function(e){return!Tt(t,e)}))})),Ut=y((function(e,t){return Ht(e,t)}));function Wt(e,t,n,a){x(t)||(a=n,n=t,t=!1),null!=n&&(n=Ie(n,a));for(var i=[],r=[],o=0,s=X(e);ot?(a&&(clearTimeout(a),a=null),s=u,o=e.apply(i,r),a||(i=r=null)):a||!1===n.trailing||(a=setTimeout(l,c)),o};return u.cancel=function(){clearTimeout(a),s=0,a=i=r=null},u},debounce:function(e,t,n){var a,i,r,o,s,l=function(){var u=$e()-i;t>u?a=setTimeout(l,t-u):(a=null,n||(o=e.apply(s,r)),a||(r=s=null))},u=y((function(u){return s=this,r=u,i=$e(),a||(a=setTimeout(l,t),n&&(o=e.apply(s,r))),o}));return u.cancel=function(){clearTimeout(a),a=r=s=null},u},wrap:function(e,t){return Je(t,e)},negate:ot,compose:function(){var e=arguments,t=e.length-1;return function(){for(var n=t,a=e[t].apply(this,arguments);n--;)a=e[n].call(this,a);return a}},after:function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},before:st,once:lt,findKey:ut,findIndex:dt,findLastIndex:ht,sortedIndex:pt,indexOf:mt,lastIndexOf:vt,find:gt,detect:gt,findWhere:function(e,t){return gt(e,Oe(t))},each:_t,forEach:_t,map:bt,collect:bt,reduce:wt,foldl:wt,inject:wt,reduceRight:kt,foldr:kt,filter:xt,select:xt,reject:function(e,t,n){return xt(e,ot(Ie(t)),n)},every:St,all:St,some:Ct,any:Ct,contains:Tt,includes:Tt,include:Tt,invoke:Mt,pluck:Et,where:function(e,t){return xt(e,Oe(t))},max:Pt,min:function(e,t,n){var a,i,r=1/0,o=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=tt(e)?e:be(e)).length;sa||void 0===n)return 1;if(n=0;--r){var o=this.tryEntries[r],s=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),u=a.call(o,"finallyLoc");if(l&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),A(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var i=a.arg;A(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,a){return this.delegate={iterator:O(t),resultName:n,nextLoc:a},"next"===this.method&&(this.arg=e),g}},t}function u(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function d(t){return function(){return new e(t.apply(this,arguments))}}function h(e,t,n,a,i,r,o){try{var s=e[r](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,i)}function p(e){return function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function o(e){h(r,a,i,o,s,"next",e)}function s(e){h(r,a,i,o,s,"throw",e)}o(void 0)}))}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,a=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,r=void 0!==i&&i;if(null!=e)if("object"!==c(e)&&(e=[e]),O(e))for(n=0,a=e.length;n0;)if(t===(n=a[i]).toLowerCase())return n;return null}var X="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,J=function(e){return!N(e)&&e!==X};var ee,te=(ee="undefined"!=typeof Uint8Array&&E(Uint8Array),function(e){return ee&&e instanceof ee}),ne=A("HTMLFormElement"),ae=function(){var e=Object.prototype.hasOwnProperty;return function(t,n){return e.call(t,n)}}(),ie=A("RegExp"),re=function(e,t){var n=Object.getOwnPropertyDescriptors(e),a={};G(n,(function(n,i){var r;!1!==(r=t(n,i,e))&&(a[i]=r||n)})),Object.defineProperties(e,a)},oe="abcdefghijklmnopqrstuvwxyz",se="0123456789",le={DIGIT:se,ALPHA:oe,ALPHA_DIGIT:oe+oe.toUpperCase()+se};var ue,ce,de,he,pe=A("AsyncFunction"),fe=(ue="function"==typeof setImmediate,ce=q(X.postMessage),ue?setImmediate:ce?(de="axios@".concat(Math.random()),he=[],X.addEventListener("message",(function(e){var t=e.source,n=e.data;t===X&&n===de&&he.length&&he.shift()()}),!1),function(e){he.push(e),X.postMessage(de,"*")}):function(e){return setTimeout(e)}),me="undefined"!=typeof queueMicrotask?queueMicrotask.bind(X):"undefined"!=typeof process&&process.nextTick||fe,ve={isArray:O,isArrayBuffer:R,isBuffer:function(e){return null!==e&&!N(e)&&null!==e.constructor&&!N(e.constructor)&&q(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||q(e.append)&&("formdata"===(t=P(e))||"object"===t&&q(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&R(e.buffer)},isString:z,isNumber:I,isBoolean:function(e){return!0===e||!1===e},isObject:D,isPlainObject:j,isReadableStream:W,isRequest:Y,isResponse:Q,isHeaders:K,isUndefined:N,isDate:$,isFile:F,isBlob:B,isRegExp:ie,isFunction:q,isStream:function(e){return D(e)&&q(e.pipe)},isURLSearchParams:H,isTypedArray:te,isFileList:V,forEach:G,merge:function e(){for(var t=(J(this)&&this||{}).caseless,n={},a=function(a,i){var r=t&&Z(n,i)||i;j(n[r])&&j(a)?n[r]=e(n[r],a):j(a)?n[r]=e({},a):O(a)?n[r]=a.slice():n[r]=a},i=0,r=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,n,a){e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:function(e,t,n,a){var i,r,o,s={};if(t=t||{},null==e)return t;do{for(r=(i=Object.getOwnPropertyNames(e)).length;r-- >0;)o=i[r],a&&!a(o,e,t)||s[o]||(t[o]=e[o],s[o]=!0);e=!1!==n&&E(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:P,kindOfTest:A,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var a=e.indexOf(t,n);return-1!==a&&a===n},toArray:function(e){if(!e)return null;if(O(e))return e;var t=e.length;if(!I(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},forEachEntry:function(e,t){for(var n,a=(e&&e[Symbol.iterator]).call(e);(n=a.next())&&!n.done;){var i=n.value;t.call(e,i[0],i[1])}},matchAll:function(e,t){for(var n,a=[];null!==(n=e.exec(t));)a.push(n);return a},isHTMLForm:ne,hasOwnProperty:ae,hasOwnProp:ae,reduceDescriptors:re,freezeMethods:function(e){re(e,(function(t,n){if(q(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;var a=e[n];q(a)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:function(e,t){var n={},a=function(e){e.forEach((function(e){n[e]=!0}))};return O(e)?a(e):a(String(e).split(t)),n},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:Z,global:X,isContextDefined:J,ALPHABET:le,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:le.ALPHA_DIGIT,n="",a=t.length;e--;)n+=t[Math.random()*a|0];return n},isSpecCompliantForm:function(e){return!!(e&&q(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(n,a){if(D(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[a]=n;var i=O(n)?[]:{};return G(n,(function(t,n){var r=e(t,a+1);!N(r)&&(i[n]=r)})),t[a]=void 0,i}}return n}(e,0)},isAsyncFn:pe,isThenable:function(e){return e&&(D(e)||q(e))&&q(e.then)&&q(e.catch)},setImmediate:fe,asap:me};function ge(e,t,n,a,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),a&&(this.request=a),i&&(this.response=i,this.status=i.status?i.status:null)}ve.inherits(ge,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ve.toJSONObject(this.config),code:this.code,status:this.status}}});var _e=ge.prototype,be={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){be[e]={value:e}})),Object.defineProperties(ge,be),Object.defineProperty(_e,"isAxiosError",{value:!0}),ge.from=function(e,t,n,a,i,r){var o=Object.create(_e);return ve.toFlatObject(e,o,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),ge.call(o,e.message,t,n,a,i),o.cause=e,o.name=e.name,r&&Object.assign(o,r),o};function ye(e){return ve.isPlainObject(e)||ve.isArray(e)}function we(e){return ve.endsWith(e,"[]")?e.slice(0,-2):e}function ke(e,t,n){return e?e.concat(t).map((function(e,t){return e=we(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}var xe=ve.toFlatObject(ve,{},null,(function(e){return/^is[A-Z]/.test(e)}));function Se(e,t,n){if(!ve.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var a=(n=ve.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ve.isUndefined(t[e])}))).metaTokens,i=n.visitor||u,r=n.dots,o=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&ve.isSpecCompliantForm(t);if(!ve.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(ve.isDate(e))return e.toISOString();if(!s&&ve.isBlob(e))throw new ge("Blob is not supported. Use a Buffer instead.");return ve.isArrayBuffer(e)||ve.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,i){var s=e;if(e&&!i&&"object"===c(e))if(ve.endsWith(n,"{}"))n=a?n:n.slice(0,-2),e=JSON.stringify(e);else if(ve.isArray(e)&&function(e){return ve.isArray(e)&&!e.some(ye)}(e)||(ve.isFileList(e)||ve.endsWith(n,"[]"))&&(s=ve.toArray(e)))return n=we(n),s.forEach((function(e,a){!ve.isUndefined(e)&&null!==e&&t.append(!0===o?ke([n],a,r):null===o?n:n+"[]",l(e))})),!1;return!!ye(e)||(t.append(ke(i,n,r),l(e)),!1)}var d=[],h=Object.assign(xe,{defaultVisitor:u,convertValue:l,isVisitable:ye});if(!ve.isObject(e))throw new TypeError("data must be an object");return function e(n,a){if(!ve.isUndefined(n)){if(-1!==d.indexOf(n))throw Error("Circular reference detected in "+a.join("."));d.push(n),ve.forEach(n,(function(n,r){!0===(!(ve.isUndefined(n)||null===n)&&i.call(t,n,ve.isString(r)?r.trim():r,a,h))&&e(n,a?a.concat(r):[r])})),d.pop()}}(e),t}function Ce(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Te(e,t){this._pairs=[],e&&Se(e,this,t)}var Me=Te.prototype;function Ee(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Pe(e,t,n){if(!t)return e;var a,i=n&&n.encode||Ee,r=n&&n.serialize;if(a=r?r(t,n):ve.isURLSearchParams(t)?t.toString():new Te(t,n).toString(i)){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}Me.append=function(e,t){this._pairs.push([e,t])},Me.toString=function(e){var t=e?function(t){return e.call(this,t,Ce)}:Ce;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Ae=function(){function e(){f(this,e),this.handlers=[]}return v(e,[{key:"use",value:function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ve.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Oe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Te,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ne="undefined"!=typeof window&&"undefined"!=typeof document,Re="object"===("undefined"==typeof navigator?"undefined":c(navigator))&&navigator||void 0,ze=Ne&&(!Re||["ReactNative","NativeScript","NS"].indexOf(Re.product)<0),qe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Ie=Ne&&window.location.href||"http://localhost",De=s(s({},Object.freeze({__proto__:null,hasBrowserEnv:Ne,hasStandardBrowserWebWorkerEnv:qe,hasStandardBrowserEnv:ze,navigator:Re,origin:Ie})),Oe);function je(e){function t(e,n,a,i){var r=e[i++];if("__proto__"===r)return!0;var o=Number.isFinite(+r),s=i>=e.length;return r=!r&&ve.isArray(a)?a.length:r,s?(ve.hasOwnProp(a,r)?a[r]=[a[r],n]:a[r]=n,!o):(a[r]&&ve.isObject(a[r])||(a[r]=[]),t(e,n,a[r],i)&&ve.isArray(a[r])&&(a[r]=function(e){var t,n,a={},i=Object.keys(e),r=i.length;for(t=0;t-1,r=ve.isObject(e);if(r&&ve.isHTMLForm(e)&&(e=new FormData(e)),ve.isFormData(e))return i?JSON.stringify(je(e)):e;if(ve.isArrayBuffer(e)||ve.isBuffer(e)||ve.isStream(e)||ve.isFile(e)||ve.isBlob(e)||ve.isReadableStream(e))return e;if(ve.isArrayBufferView(e))return e.buffer;if(ve.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(r){if(a.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Se(e,new De.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,a){return De.isNode&&ve.isBuffer(e)?(this.append(t,e.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=ve.isFileList(e))||a.indexOf("multipart/form-data")>-1){var o=this.env&&this.env.FormData;return Se(n?{"files[]":e}:e,o&&new o,this.formSerializer)}}return r||i?(t.setContentType("application/json",!1),function(e,t,n){if(ve.isString(e))try{return(t||JSON.parse)(e),ve.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||$e.transitional,n=t&&t.forcedJSONParsing,a="json"===this.responseType;if(ve.isResponse(e)||ve.isReadableStream(e))return e;if(e&&ve.isString(e)&&(n&&!this.responseType||a)){var i=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw ge.from(e,ge.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ve.forEach(["delete","get","head","post","put","patch"],(function(e){$e.headers[e]={}}));var Fe=$e,Be=ve.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ve=Symbol("internals");function He(e){return e&&String(e).trim().toLowerCase()}function Ue(e){return!1===e||null==e?e:ve.isArray(e)?e.map(Ue):String(e)}function We(e,t,n,a,i){return ve.isFunction(a)?a.call(this,t,n):(i&&(t=n),ve.isString(t)?ve.isString(a)?-1!==t.indexOf(a):ve.isRegExp(a)?a.test(t):void 0:void 0)}var Ye=function(){function e(t){f(this,e),t&&this.set(t)}return v(e,[{key:"set",value:function(e,t,n){var a=this;function i(e,t,n){var i=He(t);if(!i)throw new Error("header name must be a non-empty string");var r=ve.findKey(a,i);(!r||void 0===a[r]||!0===n||void 0===n&&!1!==a[r])&&(a[r||t]=Ue(e))}var r=function(e,t){return ve.forEach(e,(function(e,n){return i(e,n,t)}))};if(ve.isPlainObject(e)||e instanceof this.constructor)r(e,t);else if(ve.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))r(function(e){var t,n,a,i={};return e&&e.split("\n").forEach((function(e){a=e.indexOf(":"),t=e.substring(0,a).trim().toLowerCase(),n=e.substring(a+1).trim(),!t||i[t]&&Be[t]||("set-cookie"===t?i[t]?i[t].push(n):i[t]=[n]:i[t]=i[t]?i[t]+", "+n:n)})),i}(e),t);else if(ve.isHeaders(e)){var o,s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=k(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,i=function(){};return{s:i,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}(e.entries());try{for(s.s();!(o=s.n()).done;){var l=_(o.value,2),u=l[0];i(l[1],u,n)}}catch(e){s.e(e)}finally{s.f()}}else null!=e&&i(t,e,n);return this}},{key:"get",value:function(e,t){if(e=He(e)){var n=ve.findKey(this,e);if(n){var a=this[n];if(!t)return a;if(!0===t)return function(e){for(var t,n=Object.create(null),a=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=a.exec(e);)n[t[1]]=t[2];return n}(a);if(ve.isFunction(t))return t.call(this,a,n);if(ve.isRegExp(t))return t.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=He(e)){var n=ve.findKey(this,e);return!(!n||void 0===this[n]||t&&!We(0,this[n],n,t))}return!1}},{key:"delete",value:function(e,t){var n=this,a=!1;function i(e){if(e=He(e)){var i=ve.findKey(n,e);!i||t&&!We(0,n[i],i,t)||(delete n[i],a=!0)}}return ve.isArray(e)?e.forEach(i):i(e),a}},{key:"clear",value:function(e){for(var t=Object.keys(this),n=t.length,a=!1;n--;){var i=t[n];e&&!We(0,this[i],i,e,!0)||(delete this[i],a=!0)}return a}},{key:"normalize",value:function(e){var t=this,n={};return ve.forEach(this,(function(a,i){var r=ve.findKey(n,i);if(r)return t[r]=Ue(a),void delete t[i];var o=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))}(i):String(i).trim();o!==i&&delete t[i],t[o]=Ue(a),n[o]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,n=new Array(t),a=0;a1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,a=0,i=function(e,t){e=e||10;var n,a=new Array(e),i=new Array(e),r=0,o=0;return t=void 0!==t?t:1e3,function(s){var l=Date.now(),u=i[o];n||(n=l),a[r]=s,i[r]=l;for(var c=o,d=0;c!==r;)d+=a[c++],c%=e;if((r=(r+1)%e)===o&&(o=(o+1)%e),!(l-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=r,n=null,a&&(clearTimeout(a),a=null),e.apply(null,t)};return[function(){for(var e=Date.now(),t=e-i,s=arguments.length,l=new Array(s),u=0;u=r?o(l,e):(n=l,a||(a=setTimeout((function(){a=null,o(n)}),r-t)))},function(){return n&&o(n)}]}((function(n){var r=n.loaded,o=n.lengthComputable?n.total:void 0,s=r-a,l=i(s);a=r;var u=g({loaded:r,total:o,progress:o?r/o:void 0,bytes:s,rate:l||void 0,estimated:l&&o&&r<=o?(o-r)/l:void 0,event:n,lengthComputable:null!=o},t?"download":"upload",!0);e(u)}),n)},et=function(e,t){var n=null!=e;return[function(a){return t[0]({lengthComputable:n,total:e,loaded:a})},t[1]]},tt=function(e){return function(){for(var t=arguments.length,n=new Array(t),a=0;a1?t-1:0),a=1;a1?"since :\n"+s.map(Mt).join("\n"):" "+Mt(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function At(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ze(null,e)}function Lt(e){return At(e),e.headers=Qe.from(e.headers),e.data=Ke.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Pt(e.adapter||Fe.adapter)(e).then((function(t){return At(e),t.data=Ke.call(e,e.transformResponse,t),t.headers=Qe.from(t.headers),t}),(function(t){return Ge(t)||(At(e),t&&t.response&&(t.response.data=Ke.call(e,e.transformResponse,t.response),t.response.headers=Qe.from(t.response.headers))),Promise.reject(t)}))}var Ot="1.7.7",Nt={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Nt[e]=function(n){return c(n)===e||"a"+(t<1?"n ":" ")+e}}));var Rt={};Nt.transitional=function(e,t,n){function a(e,t){return"[Axios v1.7.7] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,i,r){if(!1===e)throw new ge(a(i," has been removed"+(t?" in "+t:"")),ge.ERR_DEPRECATED);return t&&!Rt[i]&&(Rt[i]=!0,console.warn(a(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,r)}};var zt={assertOptions:function(e,t,n){if("object"!==c(e))throw new ge("options must be an object",ge.ERR_BAD_OPTION_VALUE);for(var a=Object.keys(e),i=a.length;i-- >0;){var r=a[i],o=t[r];if(o){var s=e[r],l=void 0===s||o(s,r,e);if(!0!==l)throw new ge("option "+r+" must be "+l,ge.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ge("Unknown option "+r,ge.ERR_BAD_OPTION)}},validators:Nt},qt=zt.validators,It=function(){function e(t){f(this,e),this.defaults=t,this.interceptors={request:new Ae,response:new Ae}}var t;return v(e,[{key:"request",value:(t=p(l().mark((function e(t,n){var a,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,n);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){Error.captureStackTrace?Error.captureStackTrace(a={}):a=new Error,i=a.stack?a.stack.replace(/^.+\n/,""):"";try{e.t0.stack?i&&!String(e.t0.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+i):e.t0.stack=i}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var n=t=ot(this.defaults,t),a=n.transitional,i=n.paramsSerializer,r=n.headers;void 0!==a&&zt.assertOptions(a,{silentJSONParsing:qt.transitional(qt.boolean),forcedJSONParsing:qt.transitional(qt.boolean),clarifyTimeoutError:qt.transitional(qt.boolean)},!1),null!=i&&(ve.isFunction(i)?t.paramsSerializer={serialize:i}:zt.assertOptions(i,{encode:qt.function,serialize:qt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();var o=r&&ve.merge(r.common,r[t.method]);r&&ve.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete r[e]})),t.headers=Qe.concat(o,r);var s=[],l=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(l=l&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));var u,c=[];this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));var d,h=0;if(!l){var p=[Lt.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,c),d=p.length,u=Promise.resolve(t);h0;)a._listeners[t](e);a._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){a.subscribe(e),t=e})).then(e);return n.cancel=function(){a.unsubscribe(t)},n},t((function(e,t,i){a.reason||(a.reason=new Ze(e,t,i),n(a.reason))}))}return v(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}},{key:"toAbortSignal",value:function(){var e=this,t=new AbortController,n=function(e){t.abort(e)};return this.subscribe(n),t.signal.unsubscribe=function(){return e.unsubscribe(n)},t.signal}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}(),$t=jt;var Ft={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ft).forEach((function(e){var t=_(e,2),n=t[0],a=t[1];Ft[a]=n}));var Bt=Ft;var Vt=function e(t){var n=new Dt(t),a=C(Dt.prototype.request,n);return ve.extend(a,Dt.prototype,n,{allOwnKeys:!0}),ve.extend(a,n,null,{allOwnKeys:!0}),a.create=function(n){return e(ot(t,n))},a}(Fe);return Vt.Axios=Dt,Vt.CanceledError=Ze,Vt.CancelToken=$t,Vt.isCancel=Ge,Vt.VERSION=Ot,Vt.toFormData=Se,Vt.AxiosError=ge,Vt.Cancel=Vt.CanceledError,Vt.all=function(e){return Promise.all(e)},Vt.spread=function(e){return function(t){return e.apply(null,t)}},Vt.isAxiosError=function(e){return ve.isObject(e)&&!0===e.isAxiosError},Vt.mergeConfig=ot,Vt.AxiosHeaders=Qe,Vt.formToJSON=function(e){return je(ve.isHTMLForm(e)?new FormData(e):e)},Vt.getAdapter=Pt,Vt.HttpStatusCode=Bt,Vt.default=Vt,Vt})); +n.version="2.30.1",e=Nt,n.fn=Tn,n.min=function(){return zt("isBefore",[].slice.call(arguments,0))},n.max=function(){return zt("isAfter",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=h,n.unix=function(e){return Nt(1e3*e)},n.months=function(e,t){return Ln(e,t,"months")},n.isDate=u,n.locale=pt,n.invalid=m,n.duration=Kt,n.isMoment=y,n.weekdays=function(e,t,n){return On(e,t,n,"weekdays")},n.parseZone=function(){return Nt.apply(null,arguments).parseZone()},n.localeData=mt,n.isDuration=jt,n.monthsShort=function(e,t){return Ln(e,t,"monthsShort")},n.weekdaysMin=function(e,t,n){return On(e,t,n,"weekdaysMin")},n.defineLocale=ft,n.updateLocale=function(e,t){if(null!=t){var n,a,i=st;null!=lt[e]&&null!=lt[e].parentLocale?lt[e].set(T(lt[e]._config,t)):(null!=(a=ht(e))&&(i=a._config),t=T(i,t),null==a&&(t.abbr=e),(n=new A(t)).parentLocale=lt[e],lt[e]=n),pt(e)}else null!=lt[e]&&(null!=lt[e].parentLocale?(lt[e]=lt[e].parentLocale,e===pt()&&pt(e)):null!=lt[e]&&delete lt[e]);return lt[e]},n.locales=function(){return x(lt)},n.weekdaysShort=function(e,t,n){return On(e,t,n,"weekdaysShort")},n.normalizeUnits=D,n.relativeTimeRounding=function(e){return void 0===e?aa:"function"==typeof e&&(aa=e,!0)},n.relativeTimeThreshold=function(e,t){return void 0!==ia[e]&&(void 0===t?ia[e]:(ia[e]=t,"s"===e&&(ia.ss=t-1),!0))},n.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},n.prototype=Tn,n.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},n})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e._,a=e._=t();a.noConflict=function(){return e._=n,a}}())}(this,(function(){var e="1.13.7",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},n=Array.prototype,a=Object.prototype,i="undefined"!=typeof Symbol?Symbol.prototype:null,r=n.push,o=n.slice,s=a.toString,l=a.hasOwnProperty,u="undefined"!=typeof ArrayBuffer,c="undefined"!=typeof DataView,d=Array.isArray,h=Object.keys,p=Object.create,f=u&&ArrayBuffer.isView,m=isNaN,g=isFinite,v=!{toString:null}.propertyIsEnumerable("toString"),b=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],_=Math.pow(2,53)-1;function y(e,t){return t=null==t?e.length-1:+t,function(){for(var n=Math.max(arguments.length-t,0),a=Array(n),i=0;i=0&&n<=_}}function Y(e){return function(t){return null==t?void 0:t[e]}}var Q=Y("byteLength"),K=W(Q),G=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var Z=u?function(e){return f?f(e)&&!j(e):K(e)&&G.test(s.call(e))}:H(!1),J=Y("length");function X(e,t){t=function(e){for(var t={},n=e.length,a=0;a":">",'"':""","'":"'","`":"`"},Ve=Be(Fe),Ue=Be(ye(Fe)),He=ne.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},We=/(.)^/,Ye={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},Qe=/\\|'|\r|\n|\u2028|\u2029/g;function Ke(e){return"\\"+Ye[e]}var Ge=/^\s*(\w|\$)+\s*$/;var Ze=0;function Je(e,t,n,a,i){if(!(a instanceof t))return e.apply(n,i);var r=Ee(e.prototype),o=e.apply(r,i);return w(o)?o:r}var Xe=y((function(e,t){var n=Xe.placeholder,a=function(){for(var i=0,r=t.length,o=Array(r),s=0;s1)nt(s,t-1,n,a),i=a.length;else for(var l=0,u=s.length;l0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}}var lt=Xe(st,2);function ut(e,t,n){t=qe(t,n);for(var a,i=ee(e),r=0,o=i.length;r0?0:i-1;r>=0&&r0?s=r>=0?r:Math.max(r+l,s):l=r>=0?Math.min(r+1,l):r+l+1;else if(n&&r&&l)return a[r=n(a,i)]===i?r:-1;if(i!=i)return(r=t(o.call(a,s,l),U))>=0?r+s:-1;for(r=e>0?s:l-1;r>=0&&r=3;return function(t,n,a,i){var r=!tt(t)&&ee(t),o=(r||t).length,s=e>0?0:o-1;for(i||(a=t[r?r[s]:s],s+=e);s>=0&&s=0}var Tt=y((function(e,t,n){var a,i;return R(t)?i=t:(t=Ae(t),a=t.slice(0,-1),t=t[t.length-1]),_t(e,(function(e){var r=i;if(!r){if(a&&a.length&&(e=Me(e,a)),null==e)return;r=e[t]}return null==r?r:r.apply(e,n)}))}));function At(e,t){return _t(e,Ne(t))}function Mt(e,t,n){var a,i,r=-1/0,o=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=tt(e)?e:_e(e)).length;sr&&(r=a);else t=qe(t,n),bt(e,(function(e,n,a){((i=t(e,n,a))>o||i===-1/0&&r===-1/0)&&(r=e,o=i)}));return r}var Pt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function Lt(e){return e?$(e)?o.call(e):C(e)?e.match(Pt):tt(e)?_t(e,Le):_e(e):[]}function Ot(e,t,n){if(null==t||n)return tt(e)||(e=_e(e)),e[je(e.length-1)];var a=Lt(e),i=J(a);t=Math.max(Math.min(t,i),0);for(var r=i-1,o=0;o1&&(a=Re(a,t[1])),t=se(e)):(a=Dt,t=nt(t,!1,!1),e=Object(e));for(var i=0,r=t.length;i1&&(n=t[1])):(t=_t(nt(t,!1,!1),String),a=function(e,n){return!Et(t,n)}),jt(e,a,n)}));function Bt(e,t,n){return o.call(e,0,Math.max(0,e.length-(null==t||n?1:t)))}function Ft(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:null==t||n?e[0]:Bt(e,e.length-t)}function Vt(e,t,n){return o.call(e,null==t||n?1:t)}var Ut=y((function(e,t){return t=nt(t,!0,!0),xt(e,(function(e){return!Et(t,e)}))})),Ht=y((function(e,t){return Ut(e,t)}));function Wt(e,t,n,a){x(t)||(a=n,n=t,t=!1),null!=n&&(n=qe(n,a));for(var i=[],r=[],o=0,s=J(e);ot?(a&&(clearTimeout(a),a=null),s=u,o=e.apply(i,r),a||(i=r=null)):a||!1===n.trailing||(a=setTimeout(l,c)),o};return u.cancel=function(){clearTimeout(a),s=0,a=i=r=null},u},debounce:function(e,t,n){var a,i,r,o,s,l=function(){var u=$e()-i;t>u?a=setTimeout(l,t-u):(a=null,n||(o=e.apply(s,r)),a||(r=s=null))},u=y((function(u){return s=this,r=u,i=$e(),a||(a=setTimeout(l,t),n&&(o=e.apply(s,r))),o}));return u.cancel=function(){clearTimeout(a),a=r=s=null},u},wrap:function(e,t){return Xe(t,e)},negate:ot,compose:function(){var e=arguments,t=e.length-1;return function(){for(var n=t,a=e[t].apply(this,arguments);n--;)a=e[n].call(this,a);return a}},after:function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},before:st,once:lt,findKey:ut,findIndex:dt,findLastIndex:ht,sortedIndex:pt,indexOf:mt,lastIndexOf:gt,find:vt,detect:vt,findWhere:function(e,t){return vt(e,Oe(t))},each:bt,forEach:bt,map:_t,collect:_t,reduce:wt,foldl:wt,inject:wt,reduceRight:kt,foldr:kt,filter:xt,select:xt,reject:function(e,t,n){return xt(e,ot(qe(t)),n)},every:St,all:St,some:Ct,any:Ct,contains:Et,includes:Et,include:Et,invoke:Tt,pluck:At,where:function(e,t){return xt(e,Oe(t))},max:Mt,min:function(e,t,n){var a,i,r=1/0,o=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,l=(e=tt(e)?e:_e(e)).length;sa||void 0===n)return 1;if(n=0;--r){var o=this.tryEntries[r],s=o.completion;if("root"===o.tryLoc)return i("end");if(o.tryLoc<=this.prev){var l=a.call(o,"catchLoc"),u=a.call(o,"finallyLoc");if(l&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&a.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),P(n),v}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var a=n.completion;if("throw"===a.type){var i=a.arg;P(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,a){return this.delegate={iterator:O(t),resultName:n,nextLoc:a},"next"===this.method&&(this.arg=e),v}},t}function u(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function d(t){return function(){return new e(t.apply(this,arguments))}}function h(e,t,n,a,i,r,o){try{var s=e[r](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,i)}function p(e){return function(){var t=this,n=arguments;return new Promise((function(a,i){var r=e.apply(t,n);function o(e){h(r,a,i,o,s,"next",e)}function s(e){h(r,a,i,o,s,"throw",e)}o(void 0)}))}}function f(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,a=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:{}).allOwnKeys,r=void 0!==i&&i;if(null!=e)if("object"!==c(e)&&(e=[e]),O(e))for(n=0,a=e.length;n0;)if(t===(n=a[i]).toLowerCase())return n;return null}var J="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,X=function(e){return!N(e)&&e!==J};var ee,te=(ee="undefined"!=typeof Uint8Array&&A(Uint8Array),function(e){return ee&&e instanceof ee}),ne=P("HTMLFormElement"),ae=function(){var e=Object.prototype.hasOwnProperty;return function(t,n){return e.call(t,n)}}(),ie=P("RegExp"),re=function(e,t){var n=Object.getOwnPropertyDescriptors(e),a={};G(n,(function(n,i){var r;!1!==(r=t(n,i,e))&&(a[i]=r||n)})),Object.defineProperties(e,a)},oe="abcdefghijklmnopqrstuvwxyz",se="0123456789",le={DIGIT:se,ALPHA:oe,ALPHA_DIGIT:oe+oe.toUpperCase()+se};var ue,ce,de,he,pe=P("AsyncFunction"),fe=(ue="function"==typeof setImmediate,ce=z(J.postMessage),ue?setImmediate:ce?(de="axios@".concat(Math.random()),he=[],J.addEventListener("message",(function(e){var t=e.source,n=e.data;t===J&&n===de&&he.length&&he.shift()()}),!1),function(e){he.push(e),J.postMessage(de,"*")}):function(e){return setTimeout(e)}),me="undefined"!=typeof queueMicrotask?queueMicrotask.bind(J):"undefined"!=typeof process&&process.nextTick||fe,ge={isArray:O,isArrayBuffer:R,isBuffer:function(e){return null!==e&&!N(e)&&null!==e.constructor&&!N(e.constructor)&&z(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||z(e.append)&&("formdata"===(t=M(e))||"object"===t&&z(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&R(e.buffer)},isString:I,isNumber:q,isBoolean:function(e){return!0===e||!1===e},isObject:D,isPlainObject:j,isReadableStream:W,isRequest:Y,isResponse:Q,isHeaders:K,isUndefined:N,isDate:$,isFile:B,isBlob:F,isRegExp:ie,isFunction:z,isStream:function(e){return D(e)&&z(e.pipe)},isURLSearchParams:U,isTypedArray:te,isFileList:V,forEach:G,merge:function e(){for(var t=(X(this)&&this||{}).caseless,n={},a=function(a,i){var r=t&&Z(n,i)||i;j(n[r])&&j(a)?n[r]=e(n[r],a):j(a)?n[r]=e({},a):O(a)?n[r]=a.slice():n[r]=a},i=0,r=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{}).allOwnKeys}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,n,a){e.prototype=Object.create(t.prototype,a),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},toFlatObject:function(e,t,n,a){var i,r,o,s={};if(t=t||{},null==e)return t;do{for(r=(i=Object.getOwnPropertyNames(e)).length;r-- >0;)o=i[r],a&&!a(o,e,t)||s[o]||(t[o]=e[o],s[o]=!0);e=!1!==n&&A(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},kindOf:M,kindOfTest:P,endsWith:function(e,t,n){e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;var a=e.indexOf(t,n);return-1!==a&&a===n},toArray:function(e){if(!e)return null;if(O(e))return e;var t=e.length;if(!q(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n},forEachEntry:function(e,t){for(var n,a=(e&&e[Symbol.iterator]).call(e);(n=a.next())&&!n.done;){var i=n.value;t.call(e,i[0],i[1])}},matchAll:function(e,t){for(var n,a=[];null!==(n=e.exec(t));)a.push(n);return a},isHTMLForm:ne,hasOwnProperty:ae,hasOwnProp:ae,reduceDescriptors:re,freezeMethods:function(e){re(e,(function(t,n){if(z(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;var a=e[n];z(a)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+n+"'")}))}))},toObjectSet:function(e,t){var n={},a=function(e){e.forEach((function(e){n[e]=!0}))};return O(e)?a(e):a(String(e).split(t)),n},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:Z,global:J,isContextDefined:X,ALPHABET:le,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:le.ALPHA_DIGIT,n="",a=t.length;e--;)n+=t[Math.random()*a|0];return n},isSpecCompliantForm:function(e){return!!(e&&z(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(n,a){if(D(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[a]=n;var i=O(n)?[]:{};return G(n,(function(t,n){var r=e(t,a+1);!N(r)&&(i[n]=r)})),t[a]=void 0,i}}return n}(e,0)},isAsyncFn:pe,isThenable:function(e){return e&&(D(e)||z(e))&&z(e.then)&&z(e.catch)},setImmediate:fe,asap:me};function ve(e,t,n,a,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),a&&(this.request=a),i&&(this.response=i,this.status=i.status?i.status:null)}ge.inherits(ve,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ge.toJSONObject(this.config),code:this.code,status:this.status}}});var be=ve.prototype,_e={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){_e[e]={value:e}})),Object.defineProperties(ve,_e),Object.defineProperty(be,"isAxiosError",{value:!0}),ve.from=function(e,t,n,a,i,r){var o=Object.create(be);return ge.toFlatObject(e,o,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),ve.call(o,e.message,t,n,a,i),o.cause=e,o.name=e.name,r&&Object.assign(o,r),o};function ye(e){return ge.isPlainObject(e)||ge.isArray(e)}function we(e){return ge.endsWith(e,"[]")?e.slice(0,-2):e}function ke(e,t,n){return e?e.concat(t).map((function(e,t){return e=we(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}var xe=ge.toFlatObject(ge,{},null,(function(e){return/^is[A-Z]/.test(e)}));function Se(e,t,n){if(!ge.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var a=(n=ge.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ge.isUndefined(t[e])}))).metaTokens,i=n.visitor||u,r=n.dots,o=n.indexes,s=(n.Blob||"undefined"!=typeof Blob&&Blob)&&ge.isSpecCompliantForm(t);if(!ge.isFunction(i))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(ge.isDate(e))return e.toISOString();if(!s&&ge.isBlob(e))throw new ve("Blob is not supported. Use a Buffer instead.");return ge.isArrayBuffer(e)||ge.isTypedArray(e)?s&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function u(e,n,i){var s=e;if(e&&!i&&"object"===c(e))if(ge.endsWith(n,"{}"))n=a?n:n.slice(0,-2),e=JSON.stringify(e);else if(ge.isArray(e)&&function(e){return ge.isArray(e)&&!e.some(ye)}(e)||(ge.isFileList(e)||ge.endsWith(n,"[]"))&&(s=ge.toArray(e)))return n=we(n),s.forEach((function(e,a){!ge.isUndefined(e)&&null!==e&&t.append(!0===o?ke([n],a,r):null===o?n:n+"[]",l(e))})),!1;return!!ye(e)||(t.append(ke(i,n,r),l(e)),!1)}var d=[],h=Object.assign(xe,{defaultVisitor:u,convertValue:l,isVisitable:ye});if(!ge.isObject(e))throw new TypeError("data must be an object");return function e(n,a){if(!ge.isUndefined(n)){if(-1!==d.indexOf(n))throw Error("Circular reference detected in "+a.join("."));d.push(n),ge.forEach(n,(function(n,r){!0===(!(ge.isUndefined(n)||null===n)&&i.call(t,n,ge.isString(r)?r.trim():r,a,h))&&e(n,a?a.concat(r):[r])})),d.pop()}}(e),t}function Ce(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Ee(e,t){this._pairs=[],e&&Se(e,this,t)}var Te=Ee.prototype;function Ae(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Me(e,t,n){if(!t)return e;var a,i=n&&n.encode||Ae,r=n&&n.serialize;if(a=r?r(t,n):ge.isURLSearchParams(t)?t.toString():new Ee(t,n).toString(i)){var o=e.indexOf("#");-1!==o&&(e=e.slice(0,o)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}Te.append=function(e,t){this._pairs.push([e,t])},Te.toString=function(e){var t=e?function(t){return e.call(this,t,Ce)}:Ce;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Pe=function(){function e(){f(this,e),this.handlers=[]}return g(e,[{key:"use",value:function(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ge.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Oe={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Ee,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},Ne="undefined"!=typeof window&&"undefined"!=typeof document,Re="object"===("undefined"==typeof navigator?"undefined":c(navigator))&&navigator||void 0,Ie=Ne&&(!Re||["ReactNative","NativeScript","NS"].indexOf(Re.product)<0),ze="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,qe=Ne&&window.location.href||"http://localhost",De=s(s({},Object.freeze({__proto__:null,hasBrowserEnv:Ne,hasStandardBrowserWebWorkerEnv:ze,hasStandardBrowserEnv:Ie,navigator:Re,origin:qe})),Oe);function je(e){function t(e,n,a,i){var r=e[i++];if("__proto__"===r)return!0;var o=Number.isFinite(+r),s=i>=e.length;return r=!r&&ge.isArray(a)?a.length:r,s?(ge.hasOwnProp(a,r)?a[r]=[a[r],n]:a[r]=n,!o):(a[r]&&ge.isObject(a[r])||(a[r]=[]),t(e,n,a[r],i)&&ge.isArray(a[r])&&(a[r]=function(e){var t,n,a={},i=Object.keys(e),r=i.length;for(t=0;t-1,r=ge.isObject(e);if(r&&ge.isHTMLForm(e)&&(e=new FormData(e)),ge.isFormData(e))return i?JSON.stringify(je(e)):e;if(ge.isArrayBuffer(e)||ge.isBuffer(e)||ge.isStream(e)||ge.isFile(e)||ge.isBlob(e)||ge.isReadableStream(e))return e;if(ge.isArrayBufferView(e))return e.buffer;if(ge.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(r){if(a.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return Se(e,new De.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,a){return De.isNode&&ge.isBuffer(e)?(this.append(t,e.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((n=ge.isFileList(e))||a.indexOf("multipart/form-data")>-1){var o=this.env&&this.env.FormData;return Se(n?{"files[]":e}:e,o&&new o,this.formSerializer)}}return r||i?(t.setContentType("application/json",!1),function(e,t,n){if(ge.isString(e))try{return(t||JSON.parse)(e),ge.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(n||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||$e.transitional,n=t&&t.forcedJSONParsing,a="json"===this.responseType;if(ge.isResponse(e)||ge.isReadableStream(e))return e;if(e&&ge.isString(e)&&(n&&!this.responseType||a)){var i=!(t&&t.silentJSONParsing)&&a;try{return JSON.parse(e)}catch(e){if(i){if("SyntaxError"===e.name)throw ve.from(e,ve.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ge.forEach(["delete","get","head","post","put","patch"],(function(e){$e.headers[e]={}}));var Be=$e,Fe=ge.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Ve=Symbol("internals");function Ue(e){return e&&String(e).trim().toLowerCase()}function He(e){return!1===e||null==e?e:ge.isArray(e)?e.map(He):String(e)}function We(e,t,n,a,i){return ge.isFunction(a)?a.call(this,t,n):(i&&(t=n),ge.isString(t)?ge.isString(a)?-1!==t.indexOf(a):ge.isRegExp(a)?a.test(t):void 0:void 0)}var Ye=function(){function e(t){f(this,e),t&&this.set(t)}return g(e,[{key:"set",value:function(e,t,n){var a=this;function i(e,t,n){var i=Ue(t);if(!i)throw new Error("header name must be a non-empty string");var r=ge.findKey(a,i);(!r||void 0===a[r]||!0===n||void 0===n&&!1!==a[r])&&(a[r||t]=He(e))}var r=function(e,t){return ge.forEach(e,(function(e,n){return i(e,n,t)}))};if(ge.isPlainObject(e)||e instanceof this.constructor)r(e,t);else if(ge.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))r(function(e){var t,n,a,i={};return e&&e.split("\n").forEach((function(e){a=e.indexOf(":"),t=e.substring(0,a).trim().toLowerCase(),n=e.substring(a+1).trim(),!t||i[t]&&Fe[t]||("set-cookie"===t?i[t]?i[t].push(n):i[t]=[n]:i[t]=i[t]?i[t]+", "+n:n)})),i}(e),t);else if(ge.isHeaders(e)){var o,s=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=k(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var a=0,i=function(){};return{s:i,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,r=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw r}}}}(e.entries());try{for(s.s();!(o=s.n()).done;){var l=b(o.value,2),u=l[0];i(l[1],u,n)}}catch(e){s.e(e)}finally{s.f()}}else null!=e&&i(t,e,n);return this}},{key:"get",value:function(e,t){if(e=Ue(e)){var n=ge.findKey(this,e);if(n){var a=this[n];if(!t)return a;if(!0===t)return function(e){for(var t,n=Object.create(null),a=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=a.exec(e);)n[t[1]]=t[2];return n}(a);if(ge.isFunction(t))return t.call(this,a,n);if(ge.isRegExp(t))return t.exec(a);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=Ue(e)){var n=ge.findKey(this,e);return!(!n||void 0===this[n]||t&&!We(0,this[n],n,t))}return!1}},{key:"delete",value:function(e,t){var n=this,a=!1;function i(e){if(e=Ue(e)){var i=ge.findKey(n,e);!i||t&&!We(0,n[i],i,t)||(delete n[i],a=!0)}}return ge.isArray(e)?e.forEach(i):i(e),a}},{key:"clear",value:function(e){for(var t=Object.keys(this),n=t.length,a=!1;n--;){var i=t[n];e&&!We(0,this[i],i,e,!0)||(delete this[i],a=!0)}return a}},{key:"normalize",value:function(e){var t=this,n={};return ge.forEach(this,(function(a,i){var r=ge.findKey(n,i);if(r)return t[r]=He(a),void delete t[i];var o=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n}))}(i):String(i).trim();o!==i&&delete t[i],t[o]=He(a),n[o]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,n=new Array(t),a=0;a1?n-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:3,a=0,i=function(e,t){e=e||10;var n,a=new Array(e),i=new Array(e),r=0,o=0;return t=void 0!==t?t:1e3,function(s){var l=Date.now(),u=i[o];n||(n=l),a[r]=s,i[r]=l;for(var c=o,d=0;c!==r;)d+=a[c++],c%=e;if((r=(r+1)%e)===o&&(o=(o+1)%e),!(l-n1&&void 0!==arguments[1]?arguments[1]:Date.now();i=r,n=null,a&&(clearTimeout(a),a=null),e.apply(null,t)};return[function(){for(var e=Date.now(),t=e-i,s=arguments.length,l=new Array(s),u=0;u=r?o(l,e):(n=l,a||(a=setTimeout((function(){a=null,o(n)}),r-t)))},function(){return n&&o(n)}]}((function(n){var r=n.loaded,o=n.lengthComputable?n.total:void 0,s=r-a,l=i(s);a=r;var u=v({loaded:r,total:o,progress:o?r/o:void 0,bytes:s,rate:l||void 0,estimated:l&&o&&r<=o?(o-r)/l:void 0,event:n,lengthComputable:null!=o},t?"download":"upload",!0);e(u)}),n)},et=function(e,t){var n=null!=e;return[function(a){return t[0]({lengthComputable:n,total:e,loaded:a})},t[1]]},tt=function(e){return function(){for(var t=arguments.length,n=new Array(t),a=0;a1?t-1:0),a=1;a1?"since :\n"+s.map(Tt).join("\n"):" "+Tt(s[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function Pt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ze(null,e)}function Lt(e){return Pt(e),e.headers=Qe.from(e.headers),e.data=Ke.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Mt(e.adapter||Be.adapter)(e).then((function(t){return Pt(e),t.data=Ke.call(e,e.transformResponse,t),t.headers=Qe.from(t.headers),t}),(function(t){return Ge(t)||(Pt(e),t&&t.response&&(t.response.data=Ke.call(e,e.transformResponse,t.response),t.response.headers=Qe.from(t.response.headers))),Promise.reject(t)}))}var Ot="1.7.7",Nt={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Nt[e]=function(n){return c(n)===e||"a"+(t<1?"n ":" ")+e}}));var Rt={};Nt.transitional=function(e,t,n){function a(e,t){return"[Axios v1.7.7] Transitional option '"+e+"'"+t+(n?". "+n:"")}return function(n,i,r){if(!1===e)throw new ve(a(i," has been removed"+(t?" in "+t:"")),ve.ERR_DEPRECATED);return t&&!Rt[i]&&(Rt[i]=!0,console.warn(a(i," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,i,r)}};var It={assertOptions:function(e,t,n){if("object"!==c(e))throw new ve("options must be an object",ve.ERR_BAD_OPTION_VALUE);for(var a=Object.keys(e),i=a.length;i-- >0;){var r=a[i],o=t[r];if(o){var s=e[r],l=void 0===s||o(s,r,e);if(!0!==l)throw new ve("option "+r+" must be "+l,ve.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ve("Unknown option "+r,ve.ERR_BAD_OPTION)}},validators:Nt},zt=It.validators,qt=function(){function e(t){f(this,e),this.defaults=t,this.interceptors={request:new Pe,response:new Pe}}var t;return g(e,[{key:"request",value:(t=p(l().mark((function e(t,n){var a,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,n);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){Error.captureStackTrace?Error.captureStackTrace(a={}):a=new Error,i=a.stack?a.stack.replace(/^.+\n/,""):"";try{e.t0.stack?i&&!String(e.t0.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+i):e.t0.stack=i}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,n){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var n=t=ot(this.defaults,t),a=n.transitional,i=n.paramsSerializer,r=n.headers;void 0!==a&&It.assertOptions(a,{silentJSONParsing:zt.transitional(zt.boolean),forcedJSONParsing:zt.transitional(zt.boolean),clarifyTimeoutError:zt.transitional(zt.boolean)},!1),null!=i&&(ge.isFunction(i)?t.paramsSerializer={serialize:i}:It.assertOptions(i,{encode:zt.function,serialize:zt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();var o=r&&ge.merge(r.common,r[t.method]);r&&ge.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete r[e]})),t.headers=Qe.concat(o,r);var s=[],l=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(l=l&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));var u,c=[];this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));var d,h=0;if(!l){var p=[Lt.bind(this),void 0];for(p.unshift.apply(p,s),p.push.apply(p,c),d=p.length,u=Promise.resolve(t);h0;)a._listeners[t](e);a._listeners=null}})),this.promise.then=function(e){var t,n=new Promise((function(e){a.subscribe(e),t=e})).then(e);return n.cancel=function(){a.unsubscribe(t)},n},t((function(e,t,i){a.reason||(a.reason=new Ze(e,t,i),n(a.reason))}))}return g(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}},{key:"toAbortSignal",value:function(){var e=this,t=new AbortController,n=function(e){t.abort(e)};return this.subscribe(n),t.signal.unsubscribe=function(){return e.unsubscribe(n)},t.signal}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}(),$t=jt;var Bt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bt).forEach((function(e){var t=b(e,2),n=t[0],a=t[1];Bt[a]=n}));var Ft=Bt;var Vt=function e(t){var n=new Dt(t),a=C(Dt.prototype.request,n);return ge.extend(a,Dt.prototype,n,{allOwnKeys:!0}),ge.extend(a,n,null,{allOwnKeys:!0}),a.create=function(n){return e(ot(t,n))},a}(Be);return Vt.Axios=Dt,Vt.CanceledError=Ze,Vt.CancelToken=$t,Vt.isCancel=Ge,Vt.VERSION=Ot,Vt.toFormData=Se,Vt.AxiosError=ve,Vt.Cancel=Vt.CanceledError,Vt.all=function(e){return Promise.all(e)},Vt.spread=function(e){return function(t){return e.apply(null,t)}},Vt.isAxiosError=function(e){return ge.isObject(e)&&!0===e.isAxiosError},Vt.mergeConfig=ot,Vt.AxiosHeaders=Qe,Vt.formToJSON=function(e){return je(ge.isHTMLForm(e)?new FormData(e):e)},Vt.getAdapter=Mt,Vt.HttpStatusCode=Ft,Vt.default=Vt,Vt})); /** * vue v3.5.8 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/ -var Vue=function(e){"use strict";var t,n;let a,i,r,o,s,l,u,c,d,h,p,f;/*! #__NO_SIDE_EFFECTS__ */function m(e){let t=Object.create(null);for(let n of e.split(","))t[n]=1;return e=>e in t}let v={},g=[],_=()=>{},b=()=>!1,y=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||97>e.charCodeAt(2)),w=e=>e.startsWith("onUpdate:"),k=Object.assign,x=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},S=Object.prototype.hasOwnProperty,C=(e,t)=>S.call(e,t),T=Array.isArray,M=e=>"[object Map]"===q(e),E=e=>"[object Set]"===q(e),P=e=>"[object Date]"===q(e),A=e=>"function"==typeof e,L=e=>"string"==typeof e,O=e=>"symbol"==typeof e,N=e=>null!==e&&"object"==typeof e,R=e=>(N(e)||A(e))&&A(e.then)&&A(e.catch),z=Object.prototype.toString,q=e=>z.call(e),I=e=>q(e).slice(8,-1),D=e=>"[object Object]"===q(e),j=e=>L(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,$=m(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),F=m("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),B=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},V=/-(\w)/g,H=B((e=>e.replace(V,((e,t)=>t?t.toUpperCase():"")))),U=/\B([A-Z])/g,W=B((e=>e.replace(U,"-$1").toLowerCase())),Y=B((e=>e.charAt(0).toUpperCase()+e.slice(1))),Q=B((e=>e?`on${Y(e)}`:"")),K=(e,t)=>!Object.is(e,t),G=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},X=e=>{let t=parseFloat(e);return isNaN(t)?e:t},J=e=>{let t=L(e)?Number(e):NaN;return isNaN(t)?e:t},ee=()=>a||(a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}),te=m("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function ne(e){if(T(e)){let t={};for(let n=0;n{if(e){let n=e.split(ie);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function se(e){let t="";if(L(e))t=e;else if(T(e))for(let n=0;npe(e,t)))}let me=e=>!(!e||!0!==e.__v_isRef),ve=e=>L(e)?e:null==e?"":T(e)||N(e)&&(e.toString===z||!A(e.toString))?me(e)?ve(e.value):JSON.stringify(e,ge,2):String(e),ge=(e,t)=>me(t)?ge(e,t.value):M(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],a)=>(e[_e(t,a)+" =>"]=n,e)),{})}:E(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>_e(e)))}:O(t)?_e(t):!N(t)||T(t)||D(t)?t:String(t),_e=(e,t="")=>{var n;return O(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};class be{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=i,!e&&i&&(this.index=(i.scopes||(i.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)){for(;o;){let t=o;for(o=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}}function Ce(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Te(e,t=!1){let n,a=e.depsTail,i=a;for(;i;){let e=i.prevDep;-1===i.version?(i===a&&(a=e),Pe(i,t),function(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}(i)):n=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=n,e.depsTail=a}function Me(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ee(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ee(e){if(4&e.flags&&!(16&e.flags)||(e.flags&=-17,e.globalVersion===ze))return;e.globalVersion=ze;let t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Me(e))return void(e.flags&=-3);let n=r,a=Ae;r=e,Ae=!0;try{Ce(e);let n=e.fn(e._value);(0===t.version||K(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{r=n,Ae=a,Te(e,!0),e.flags&=-3}}function Pe(e,t=!1){let{dep:n,prevSub:a,nextSub:i}=e;if(a&&(a.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a),!n.subs)if(n.computed){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Pe(e,!0)}else!n.map||t||(n.map.delete(n.key),n.map.size||De.delete(n.target))}let Ae=!0,Le=[];function Oe(){Le.push(Ae),Ae=!1}function Ne(){let e=Le.pop();Ae=void 0===e||e}function Re(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=r;r=void 0;try{t()}finally{r=e}}}let ze=0;class qe{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ie{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.target=void 0,this.map=void 0,this.key=void 0}track(e){if(!r||!Ae||r===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==r)t=this.activeLink=new qe(r,this),r.deps?(t.prevDep=r.depsTail,r.depsTail.nextDep=t,r.depsTail=t):r.deps=r.depsTail=t,4&r.flags&&function e(t){let n=t.dep.computed;if(n&&!t.dep.subs){n.flags|=20;for(let t=n.deps;t;t=t.nextDep)e(t)}let a=t.dep.subs;a!==t&&(t.prevSub=a,a&&(a.nextSub=t)),t.dep.subs=t}(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=r.depsTail,t.nextDep=void 0,r.depsTail.nextDep=t,r.depsTail=t,r.deps===t&&(r.deps=e)}return t}trigger(e){this.version++,ze++,this.notify(e)}notify(e){ke++;try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Se()}}}let De=new WeakMap,je=Symbol(""),$e=Symbol(""),Fe=Symbol("");function Be(e,t,n){if(Ae&&r){let t=De.get(e);t||De.set(e,t=new Map);let a=t.get(n);a||(t.set(n,a=new Ie),a.target=e,a.map=t,a.key=n),a.track()}}function Ve(e,t,n,a,i,r){let o=De.get(e);if(!o)return void ze++;let s=e=>{e&&e.trigger()};if(ke++,"clear"===t)o.forEach(s);else{let i=T(e),r=i&&j(n);if(i&&"length"===n){let e=Number(a);o.forEach(((t,n)=>{("length"===n||n===Fe||!O(n)&&n>=e)&&s(t)}))}else switch(void 0!==n&&s(o.get(n)),r&&s(o.get(Fe)),t){case"add":i?r&&s(o.get("length")):(s(o.get(je)),M(e)&&s(o.get($e)));break;case"delete":!i&&(s(o.get(je)),M(e)&&s(o.get($e)));break;case"set":M(e)&&s(o.get(je))}}Se()}function He(e){let t=Bt(e);return t===e?t:(Be(t,0,Fe),$t(e)?t:t.map(Ht))}function Ue(e){return Be(e=Bt(e),0,Fe),e}let We={__proto__:null,[Symbol.iterator](){return Ye(this,Symbol.iterator,Ht)},concat(...e){return He(this).concat(...e.map((e=>T(e)?He(e):e)))},entries(){return Ye(this,"entries",(e=>(e[1]=Ht(e[1]),e)))},every(e,t){return Ke(this,"every",e,t,void 0,arguments)},filter(e,t){return Ke(this,"filter",e,t,(e=>e.map(Ht)),arguments)},find(e,t){return Ke(this,"find",e,t,Ht,arguments)},findIndex(e,t){return Ke(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ke(this,"findLast",e,t,Ht,arguments)},findLastIndex(e,t){return Ke(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ke(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ze(this,"includes",e)},indexOf(...e){return Ze(this,"indexOf",e)},join(e){return He(this).join(e)},lastIndexOf(...e){return Ze(this,"lastIndexOf",e)},map(e,t){return Ke(this,"map",e,t,void 0,arguments)},pop(){return Xe(this,"pop")},push(...e){return Xe(this,"push",e)},reduce(e,...t){return Ge(this,"reduce",e,t)},reduceRight(e,...t){return Ge(this,"reduceRight",e,t)},shift(){return Xe(this,"shift")},some(e,t){return Ke(this,"some",e,t,void 0,arguments)},splice(...e){return Xe(this,"splice",e)},toReversed(){return He(this).toReversed()},toSorted(e){return He(this).toSorted(e)},toSpliced(...e){return He(this).toSpliced(...e)},unshift(...e){return Xe(this,"unshift",e)},values(){return Ye(this,"values",Ht)}};function Ye(e,t,n){let a=Ue(e),i=a[t]();return a===e||$t(e)||(i._next=i.next,i.next=()=>{let e=i._next();return e.value&&(e.value=n(e.value)),e}),i}let Qe=Array.prototype;function Ke(e,t,n,a,i,r){let o=Ue(e),s=o!==e&&!$t(e),l=o[t];if(l!==Qe[t]){let t=l.apply(e,r);return s?Ht(t):t}let u=n;o!==e&&(s?u=function(t,a){return n.call(this,Ht(t),a,e)}:n.length>2&&(u=function(t,a){return n.call(this,t,a,e)}));let c=l.call(o,u,a);return s&&i?i(c):c}function Ge(e,t,n,a){let i=Ue(e),r=n;return i!==e&&($t(e)?n.length>3&&(r=function(t,a,i){return n.call(this,t,a,i,e)}):r=function(t,a,i){return n.call(this,t,Ht(a),i,e)}),i[t](r,...a)}function Ze(e,t,n){let a=Bt(e);Be(a,0,Fe);let i=a[t](...n);return-1!==i&&!1!==i||!Ft(n[0])?i:(n[0]=Bt(n[0]),a[t](...n))}function Xe(e,t,n=[]){Oe(),ke++;let a=Bt(e)[t].apply(e,n);return Se(),Ne(),a}let Je=m("__proto__,__v_isRef,__isVue"),et=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(O));function tt(e){O(e)||(e=String(e));let t=Bt(this);return Be(t,0,e),t.hasOwnProperty(e)}class nt{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){let a=this._isReadonly,i=this._isShallow;if("__v_isReactive"===t)return!a;if("__v_isReadonly"===t)return a;if("__v_isShallow"===t)return i;if("__v_raw"===t)return n===(a?i?Nt:Ot:i?Lt:At).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let r=T(e);if(!a){let e;if(r&&(e=We[t]))return e;if("hasOwnProperty"===t)return tt}let o=Reflect.get(e,t,Wt(e)?e:n);return(O(t)?et.has(t):Je(t))?o:(a||Be(e,0,t),i?o:Wt(o)?r&&j(t)?o:o.value:N(o)?a?qt(o):Rt(o):o)}}class at extends nt{constructor(e=!1){super(!1,e)}set(e,t,n,a){let i=e[t];if(!this._isShallow){let t=jt(i);if($t(n)||jt(n)||(i=Bt(i),n=Bt(n)),!T(e)&&Wt(i)&&!Wt(n))return!t&&(i.value=n,!0)}let r=T(e)&&j(t)?Number(t)e,ct=e=>Reflect.getPrototypeOf(e);function dt(e,t,n=!1,a=!1){let i=Bt(e=e.__v_raw),r=Bt(t);n||(K(t,r)&&Be(i,0,t),Be(i,0,r));let{has:o}=ct(i),s=a?ut:n?Ut:Ht;return o.call(i,t)?s(e.get(t)):o.call(i,r)?s(e.get(r)):void(e!==i&&e.get(t))}function ht(e,t=!1){let n=this.__v_raw,a=Bt(n),i=Bt(e);return t||(K(e,i)&&Be(a,0,e),Be(a,0,i)),e===i?n.has(e):n.has(e)||n.has(i)}function pt(e,t=!1){return e=e.__v_raw,t||Be(Bt(e),0,je),Reflect.get(e,"size",e)}function ft(e,t=!1){t||$t(e)||jt(e)||(e=Bt(e));let n=Bt(this);return ct(n).has.call(n,e)||(n.add(e),Ve(n,"add",e,e)),this}function mt(e,t,n=!1){n||$t(t)||jt(t)||(t=Bt(t));let a=Bt(this),{has:i,get:r}=ct(a),o=i.call(a,e);o||(e=Bt(e),o=i.call(a,e));let s=r.call(a,e);return a.set(e,t),o?K(t,s)&&Ve(a,"set",e,t):Ve(a,"add",e,t),this}function vt(e){let t=Bt(this),{has:n,get:a}=ct(t),i=n.call(t,e);i||(e=Bt(e),i=n.call(t,e)),a&&a.call(t,e);let r=t.delete(e);return i&&Ve(t,"delete",e,void 0),r}function gt(){let e=Bt(this),t=0!==e.size,n=e.clear();return t&&Ve(e,"clear",void 0,void 0),n}function _t(e,t){return function(n,a){let i=this,r=i.__v_raw,o=Bt(r),s=t?ut:e?Ut:Ht;return e||Be(o,0,je),r.forEach(((e,t)=>n.call(a,s(e),s(t),i)))}}function bt(e,t,n){return function(...a){let i=this.__v_raw,r=Bt(i),o=M(r),s="entries"===e||e===Symbol.iterator&&o,l=i[e](...a),u=n?ut:t?Ut:Ht;return t||Be(r,0,"keys"===e&&o?$e:je),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function yt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}let[wt,kt,xt,St]=function(){let e={get(e){return dt(this,e)},get size(){return pt(this)},has:ht,add:ft,set:mt,delete:vt,clear:gt,forEach:_t(!1,!1)},t={get(e){return dt(this,e,!1,!0)},get size(){return pt(this)},has:ht,add(e){return ft.call(this,e,!0)},set(e,t){return mt.call(this,e,t,!0)},delete:vt,clear:gt,forEach:_t(!1,!0)},n={get(e){return dt(this,e,!0)},get size(){return pt(this,!0)},has(e){return ht.call(this,e,!0)},add:yt("add"),set:yt("set"),delete:yt("delete"),clear:yt("clear"),forEach:_t(!0,!1)},a={get(e){return dt(this,e,!0,!0)},get size(){return pt(this,!0)},has(e){return ht.call(this,e,!0)},add:yt("add"),set:yt("set"),delete:yt("delete"),clear:yt("clear"),forEach:_t(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{e[i]=bt(i,!1,!1),n[i]=bt(i,!0,!1),t[i]=bt(i,!1,!0),a[i]=bt(i,!0,!0)})),[e,n,t,a]}();function Ct(e,t){let n=t?e?St:xt:e?kt:wt;return(t,a,i)=>"__v_isReactive"===a?!e:"__v_isReadonly"===a?e:"__v_raw"===a?t:Reflect.get(C(n,a)&&a in t?n:t,a,i)}let Tt={get:Ct(!1,!1)},Mt={get:Ct(!1,!0)},Et={get:Ct(!0,!1)},Pt={get:Ct(!0,!0)},At=new WeakMap,Lt=new WeakMap,Ot=new WeakMap,Nt=new WeakMap;function Rt(e){return jt(e)?e:It(e,!1,rt,Tt,At)}function zt(e){return It(e,!1,st,Mt,Lt)}function qt(e){return It(e,!0,ot,Et,Ot)}function It(e,t,n,a,i){if(!N(e)||e.__v_raw&&(!t||!e.__v_isReactive))return e;let r=i.get(e);if(r)return r;let o=e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(I(e));if(0===o)return e;let s=new Proxy(e,2===o?a:n);return i.set(e,s),s}function Dt(e){return jt(e)?Dt(e.__v_raw):!(!e||!e.__v_isReactive)}function jt(e){return!(!e||!e.__v_isReadonly)}function $t(e){return!(!e||!e.__v_isShallow)}function Ft(e){return!!e&&!!e.__v_raw}function Bt(e){let t=e&&e.__v_raw;return t?Bt(t):e}function Vt(e){return!C(e,"__v_skip")&&Object.isExtensible(e)&&Z(e,"__v_skip",!0),e}let Ht=e=>N(e)?Rt(e):e,Ut=e=>N(e)?qt(e):e;function Wt(e){return!!e&&!0===e.__v_isRef}function Yt(e){return Kt(e,!1)}function Qt(e){return Kt(e,!0)}function Kt(e,t){return Wt(e)?e:new Gt(e,t)}class Gt{constructor(e,t){this.dep=new Ie,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Bt(e),this._value=t?e:Ht(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||$t(e)||jt(e);K(e=n?e:Bt(e),t)&&(this._rawValue=e,this._value=n?e:Ht(e),this.dep.trigger())}}function Zt(e){return Wt(e)?e.value:e}let Xt={get:(e,t,n)=>"__v_raw"===t?e:Zt(Reflect.get(e,t,n)),set:(e,t,n,a)=>{let i=e[t];return Wt(i)&&!Wt(n)?(i.value=n,!0):Reflect.set(e,t,n,a)}};function Jt(e){return Dt(e)?e:new Proxy(e,Xt)}class en{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Ie,{get:n,set:a}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=a}get value(){return this._value=this._get()}set value(e){this._set(e)}}function tn(e){return new en(e)}class nn{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){let e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){var e,t,n;return e=Bt(this._object),t=this._key,null==(n=De.get(e))?void 0:n.get(t)}}class an{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function rn(e,t,n){let a=e[t];return Wt(a)?a:new nn(e,t,n)}class on{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ie(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ze-1,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&r!==this)return xe(this),!0}get value(){let e=this.dep.track();return Ee(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}let sn={},ln=new WeakMap;function un(e,t=!1,n=p){if(n){let t=ln.get(n);t||ln.set(n,t=[]),t.push(e)}}function cn(e,t=1/0,n){if(t<=0||!N(e)||e.__v_skip||(n=n||new Set).has(e))return e;if(n.add(e),t--,Wt(e))cn(e.value,t,n);else if(T(e))for(let a=0;a{cn(e,t,n)}));else if(D(e)){for(let a in e)cn(e[a],t,n);for(let a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&cn(e[a],t,n)}return e}function dn(e,t,n,a){try{return a?e(...a):e()}catch(e){pn(e,t,n)}}function hn(e,t,n,a){if(A(e)){let i=dn(e,t,n,a);return i&&R(i)&&i.catch((e=>{pn(e,t,n)})),i}if(T(e)){let i=[];for(let r=0;r=Pn(n)?vn.push(e):vn.splice(function(e){let t=fn?gn+1:0,n=vn.length;for(;t>>1,i=vn[a],r=Pn(i);rPn(e)-Pn(t)));if(_n.length=0,bn)return void bn.push(...e);for(yn=0,bn=e;ynnull==e.id?2&e.flags?-1:1/0:e.id,An=null,Ln=null;function On(e){let t=An;return An=e,Ln=e&&e.type.__scopeId||null,t}function Nn(e,t=An,n){if(!t||e._n)return e;let a=(...n)=>{let i;a._d&&sr(-1);let r=On(t);try{i=e(...n)}finally{On(r),a._d&&sr(1)}return i};return a._n=!0,a._c=!0,a._d=!0,a}function Rn(e,t,n,a){let i=e.dirs,r=t&&t.dirs;for(let o=0;oe.__isTeleport,In=e=>e&&(e.disabled||""===e.disabled),Dn=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,jn=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,$n=(e,t)=>{let n=e&&e.to;return L(n)?t?t(n):null:n};function Fn(e,t,n,{o:{insert:a},m:i},r=2){0===r&&a(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:l,children:u,props:c}=e,d=2===r;if(d&&a(o,t,n),(!d||In(c))&&16&l)for(let e=0;e{e.isMounted=!0})),Aa((()=>{e.isUnmounting=!0})),e}let Yn=[Function,Array],Qn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Yn,onEnter:Yn,onAfterEnter:Yn,onEnterCancelled:Yn,onBeforeLeave:Yn,onLeave:Yn,onAfterLeave:Yn,onLeaveCancelled:Yn,onBeforeAppear:Yn,onAppear:Yn,onAfterAppear:Yn,onAppearCancelled:Yn},Kn=e=>{let t=e.subTree;return t.component?Kn(t.component):t};function Gn(e){let t=e[0];if(e.length>1)for(let n of e)if(n.type!==er){t=n;break}return t}let Zn={name:"BaseTransition",props:Qn,setup(e,{slots:t}){let n=Mr(),a=Wn();return()=>{let i=t.default&&aa(t.default(),!0);if(!i||!i.length)return;let r=Gn(i),o=Bt(e),{mode:s}=o;if(a.isLeaving)return ea(r);let l=ta(r);if(!l)return ea(r);let u=Jn(l,o,a,n,(e=>u=e));l.type!==er&&na(l,u);let c=n.subTree,d=c&&ta(c);if(d&&d.type!==er&&!dr(l,d)&&Kn(n).type!==er){let e=Jn(d,o,a,n);if(na(d,e),"out-in"===s&&l.type!==er)return a.isLeaving=!0,e.afterLeave=()=>{a.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave},ea(r);"in-out"===s&&l.type!==er&&(e.delayLeave=(e,t,n)=>{Xn(a,d)[String(d.key)]=d,e[Hn]=()=>{t(),e[Hn]=void 0,delete u.delayedLeave},u.delayedLeave=n})}return r}}};function Xn(e,t){let{leavingVNodes:n}=e,a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function Jn(e,t,n,a,i){let{appear:r,mode:o,persisted:s=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:v,onAppear:g,onAfterAppear:_,onAppearCancelled:b}=t,y=String(e.key),w=Xn(n,e),k=(e,t)=>{e&&hn(e,a,9,t)},x=(e,t)=>{let n=t[1];k(e,t),T(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:o,persisted:s,beforeEnter(t){let a=l;if(!n.isMounted){if(!r)return;a=v||l}t[Hn]&&t[Hn](!0);let i=w[y];i&&dr(e,i)&&i.el[Hn]&&i.el[Hn](),k(a,[t])},enter(e){let t=u,a=c,i=d;if(!n.isMounted){if(!r)return;t=g||u,a=_||c,i=b||d}let o=!1,s=e[Un]=t=>{o||(o=!0,k(t?i:a,[e]),S.delayedLeave&&S.delayedLeave(),e[Un]=void 0)};t?x(t,[e,s]):s()},leave(t,a){let i=String(e.key);if(t[Un]&&t[Un](!0),n.isUnmounting)return a();k(h,[t]);let r=!1,o=t[Hn]=n=>{r||(r=!0,a(),k(n?m:f,[t]),t[Hn]=void 0,w[i]!==e||delete w[i])};w[i]=e,p?x(p,[t,o]):o()},clone(e){let r=Jn(e,t,n,a,i);return i&&i(r),r}};return S}function ea(e){if(ga(e))return(e=gr(e)).children=null,e}function ta(e){if(!ga(e))return qn(e.type)&&e.children?Gn(e.children):e;let{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&A(n.default))return n.default()}}function na(e,t){6&e.shapeFlag&&e.component?(e.transition=t,na(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function aa(e,t=!1,n){let a=[],i=0;for(let r=0;r1)for(let e=0;eoa(e,t&&(T(t)?t[r]:t),n,a,i)));if(ma(a)&&!i)return;let r=4&a.shapeFlag?Ir(a.component):a.el,o=i?null:r,{i:s,r:l}=e,u=t&&t.r,c=s.refs===v?s.refs={}:s.refs,d=s.setupState,h=Bt(d),p=d===v?()=>!1:e=>C(h,e);if(null!=u&&u!==l&&(L(u)?(c[u]=null,p(u)&&(d[u]=null)):Wt(u)&&(u.value=null)),A(l))dn(l,s,12,[o,c]);else{let t=L(l),a=Wt(l);if(t||a){let s=()=>{if(e.f){let n=t?p(l)?d[l]:c[l]:l.value;i?T(n)&&x(n,r):T(n)?n.includes(r)||n.push(r):t?(c[l]=[r],p(l)&&(d[l]=c[l])):(l.value=[r],e.k&&(c[e.k]=l.value))}else t?(c[l]=o,p(l)&&(d[l]=o)):a&&(l.value=o,e.k&&(c[e.k]=o))};o?(s.id=-1,xi(s,n)):s()}}}let sa=!1,la=()=>{sa||(console.error("Hydration completed but contains mismatches."),sa=!0)},ua=e=>{if(1===e.nodeType){if((e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e))return"svg";if((e=>e.namespaceURI.includes("MathML"))(e))return"mathml"}},ca=e=>8===e.nodeType;function da(e){let{mt:t,p:n,o:{patchProp:a,createText:i,nextSibling:r,parentNode:o,remove:s,insert:l,createComment:u}}=e,c=(n,a,s,u,_,b=!1)=>{b=b||!!a.dynamicChildren;let y=ca(n)&&"["===n.data,w=()=>f(n,a,s,u,_,y),{type:k,ref:x,shapeFlag:S,patchFlag:C}=a,T=n.nodeType;a.el=n,-2===C&&(b=!1,a.dynamicChildren=null);let M=null;switch(k){case Ji:3!==T?""===a.children?(l(a.el=i(""),o(n),n),M=n):M=w():(n.data!==a.children&&(la(),n.data=a.children),M=r(n));break;case er:g(n)?(M=r(n),v(a.el=n.content.firstChild,n,s)):M=8!==T||y?w():r(n);break;case tr:if(y&&(T=(n=r(n)).nodeType),1===T||3===T){M=n;let e=!a.children.length;for(let t=0;t{o=o||!!t.dynamicChildren;let{type:l,props:u,patchFlag:c,shapeFlag:d,dirs:p,transition:f}=t,m="input"===l||"option"===l;if(m||-1!==c){let l;p&&Rn(t,null,n,"created");let _=!1;if(g(e)){_=Ei(i,f)&&n&&n.vnode.props&&n.vnode.props.appear;let a=e.content.firstChild;_&&f.beforeEnter(a),v(a,e,n),t.el=e=a}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let a=h(e.firstChild,t,e,n,i,r,o);for(;a;){fa(e,1)||la();let t=a;a=a.nextSibling,s(t)}}else if(8&d){let n=t.children;"\n"===n[0]&&("PRE"===e.tagName||"TEXTAREA"===e.tagName)&&(n=n.slice(1)),e.textContent!==n&&(fa(e,0)||la(),e.textContent=t.children)}if(u)if(m||!o||48&c){let t=e.tagName.includes("-");for(let i in u)(m&&(i.endsWith("value")||"indeterminate"===i)||y(i)&&!$(i)||"."===i[0]||t)&&a(e,i,null,u[i],void 0,n)}else if(u.onClick)a(e,"onClick",null,u.onClick,void 0,n);else if(4&c&&Dt(u.style))for(let e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&xr(l,n,t),p&&Rn(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||p||_)&&Gi((()=>{l&&xr(l,n,t),_&&f.enter(e),p&&Rn(t,null,n,"mounted")}),i)}return e.nextSibling},h=(e,t,a,o,s,u,d)=>{d=d||!!t.dynamicChildren;let h=t.children,p=h.length;for(let t=0;t{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=o(e),p=h(r(e),t,d,n,a,i,s);return p&&ca(p)&&"]"===p.data?r(t.anchor=p):(la(),l(t.anchor=u("]"),d,p),p)},f=(e,t,a,i,l,u)=>{if(fa(e.parentElement,1)||la(),t.el=null,u){let t=m(e);for(;;){let n=r(e);if(!n||n===t)break;s(n)}}let c=r(e),d=o(e);return s(e),n(null,t,d,c,a,i,ua(d),l),c},m=(e,t="[",n="]")=>{let a=0;for(;e;)if((e=r(e))&&ca(e)&&(e.data===t&&a++,e.data===n)){if(0===a)return r(e);a--}return e},v=(e,t,n)=>{let a=t.parentNode;a&&a.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},g=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),En(),void(t._vnode=e);c(t.firstChild,e,null,null,null),En(),t._vnode=e},c]}let ha="data-allow-mismatch",pa={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function fa(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(ha);)e=e.parentElement;let n=e&&e.getAttribute(ha);if(null==n)return!1;if(""===n)return!0;{let e=n.split(",");return!(0!==t||!e.includes("children"))||n.split(",").includes(pa[t])}}let ma=e=>!!e.type.__asyncLoader;function va(e,t){let{ref:n,props:a,children:i,ce:r}=t.vnode,o=mr(e,a,i);return o.ref=n,o.ce=r,delete t.vnode.ce,o}let ga=e=>e.type.__isKeepAlive;function _a(e,t){return T(e)?e.some((e=>_a(e,t))):L(e)?e.split(",").includes(t):!!(e=>"[object RegExp]"===q(e))(e)&&(e.lastIndex=0,e.test(t))}function ba(e,t){wa(e,"a",t)}function ya(e,t){wa(e,"da",t)}function wa(e,t,n=Tr){let a=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Sa(t,a,n),n){let e=n.parent;for(;e&&e.parent;)ga(e.parent.vnode)&&function(e,t,n,a){let i=Sa(t,e,a,!0);La((()=>{x(a[t],i)}),n)}(a,t,n,e),e=e.parent}}function ka(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function xa(e){return 128&e.shapeFlag?e.ssContent:e}function Sa(e,t,n=Tr,a=!1){if(n){let i=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...a)=>{Oe();let i=Er(n),r=hn(t,n,e,a);return i(),Ne(),r});return a?i.unshift(r):i.push(r),r}}let Ca=e=>(t,n=Tr)=>{Lr&&"sp"!==e||Sa(e,((...e)=>t(...e)),n)},Ta=Ca("bm"),Ma=Ca("m"),Ea=Ca("bu"),Pa=Ca("u"),Aa=Ca("bum"),La=Ca("um"),Oa=Ca("sp"),Na=Ca("rtg"),Ra=Ca("rtc");function za(e,t=Tr){Sa("ec",e,t)}let qa="components",Ia=Symbol.for("v-ndc");function Da(e,t,n=!0,a=!1){let i=An||Tr;if(i){let n=i.type;if(e===qa){let e=Dr(n,!1);if(e&&(e===t||e===H(t)||e===Y(H(t))))return n}let r=ja(i[e]||n[e],t)||ja(i.appContext[e],t);return!r&&a?n:r}}function ja(e,t){return e&&(e[t]||e[H(t)]||e[Y(H(t))])}let $a=e=>e?Ar(e)?Ir(e):$a(e.parent):null,Fa=k(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>$a(e.parent),$root:e=>$a(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ka(e),$forceUpdate:e=>e.f||(e.f=()=>{Sn(e.update)}),$nextTick:e=>e.n||(e.n=xn.bind(e.proxy)),$watch:e=>zi.bind(e)}),Ba=(e,t)=>e!==v&&!e.__isScriptSetup&&C(e,t),Va={get({_:e},t){let n,a,i;if("__v_skip"===t)return!0;let{ctx:r,setupState:o,data:s,props:l,accessCache:u,type:c,appContext:d}=e;if("$"!==t[0]){let a=u[t];if(void 0!==a)switch(a){case 1:return o[t];case 2:return s[t];case 4:return r[t];case 3:return l[t]}else{if(Ba(o,t))return u[t]=1,o[t];if(s!==v&&C(s,t))return u[t]=2,s[t];if((n=e.propsOptions[0])&&C(n,t))return u[t]=3,l[t];if(r!==v&&C(r,t))return u[t]=4,r[t];Ya&&(u[t]=0)}}let h=Fa[t];return h?("$attrs"===t&&Be(e.attrs,0,""),h(e)):(a=c.__cssModules)&&(a=a[t])?a:r!==v&&C(r,t)?(u[t]=4,r[t]):C(i=d.config.globalProperties,t)?i[t]:void 0},set({_:e},t,n){let{data:a,setupState:i,ctx:r}=e;return Ba(i,t)?(i[t]=n,!0):a!==v&&C(a,t)?(a[t]=n,!0):!(C(e.props,t)||"$"===t[0]&&t.slice(1)in e||(r[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:i,propsOptions:r}},o){let s;return!!n[o]||e!==v&&C(e,o)||Ba(t,o)||(s=r[0])&&C(s,o)||C(a,o)||C(Fa,o)||C(i.config.globalProperties,o)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:C(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Ha=k({},Va,{get(e,t){if(t!==Symbol.unscopables)return Va.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!te(t)});function Ua(){let e=Mr();return e.setupContext||(e.setupContext=qr(e))}function Wa(e){return T(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let Ya=!0;function Qa(e,t,n){hn(T(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ka(e){let t,n=e.type,{mixins:a,extends:i}=n,{mixins:r,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,l=o.get(n);return l?t=l:r.length||a||i?(t={},r.length&&r.forEach((e=>Ga(t,e,s,!0))),Ga(t,n,s)):t=n,N(n)&&o.set(n,t),t}function Ga(e,t,n,a=!1){let{mixins:i,extends:r}=t;for(let o in r&&Ga(e,r,n,!0),i&&i.forEach((t=>Ga(e,t,n,!0))),t)if(a&&"expose"===o);else{let a=Za[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}let Za={data:Xa,props:ni,emits:ni,methods:ti,computed:ti,beforeCreate:ei,created:ei,beforeMount:ei,mounted:ei,beforeUpdate:ei,updated:ei,beforeDestroy:ei,beforeUnmount:ei,destroyed:ei,unmounted:ei,activated:ei,deactivated:ei,errorCaptured:ei,serverPrefetch:ei,components:ti,directives:ti,watch:function(e,t){if(!e)return t;if(!t)return e;let n=k(Object.create(null),e);for(let a in t)n[a]=ei(e[a],t[a]);return n},provide:Xa,inject:function(e,t){return ti(Ja(e),Ja(t))}};function Xa(e,t){return t?e?function(){return k(A(e)?e.call(this,this):e,A(t)?t.call(this,this):t)}:t:e}function Ja(e){if(T(e)){let t={};for(let n=0;n1)return n&&A(t)?t.call(a&&a.proxy):t}}let li={},ui=()=>Object.create(li),ci=e=>Object.getPrototypeOf(e)===li;function di(e,t,n,a){let i,[r,o]=e.propsOptions,s=!1;if(t)for(let l in t){let u;if($(l))continue;let c=t[l];r&&C(r,u=H(l))?o&&o.includes(u)?(i||(i={}))[u]=c:n[u]=c:ji(e.emitsOptions,l)||l in a&&c===a[l]||(a[l]=c,s=!0)}if(o){let t=Bt(n),a=i||v;for(let i=0;i"_"===e[0]||"$stable"===e,vi=e=>T(e)?e.map(br):[br(e)],gi=(e,t,n)=>{if(t._n)return t;let a=Nn(((...e)=>vi(t(...e))),n);return a._c=!1,a},_i=(e,t,n)=>{let a=e._ctx;for(let n in e){if(mi(n))continue;let i=e[n];if(A(i))t[n]=gi(0,i,a);else if(null!=i){let e=vi(i);t[n]=()=>e}}},bi=(e,t)=>{let n=vi(t);e.slots.default=()=>n},yi=(e,t,n)=>{for(let a in t)(n||"_"!==a)&&(e[a]=t[a])},wi=(e,t,n)=>{let a=e.slots=ui();if(32&e.vnode.shapeFlag){let e=t._;e?(yi(a,t,n),n&&Z(a,"_",e,!0)):_i(t,a)}else t&&bi(e,t)},ki=(e,t,n)=>{let{vnode:a,slots:i}=e,r=!0,o=v;if(32&a.shapeFlag){let e=t._;e?n&&1===e?r=!1:yi(i,t,n):(r=!t.$stable,_i(t,i)),o=t}else t&&(bi(e,t),o={default:1});if(r)for(let e in i)mi(e)||null!=o[e]||delete i[e]},xi=Gi;function Si(e){return Ci(e,da)}function Ci(e,t){var n;let a,i;ee().__VUE__=!0;let{insert:r,remove:o,patchProp:s,createElement:u,createText:c,createComment:d,setText:h,setElementText:p,parentNode:f,nextSibling:m,setScopeId:b=_,insertStaticContent:y}=e,w=(e,t,n,a=null,i=null,r=null,o,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!dr(e,t)&&(a=ie(e),X(e,i,r,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);let{type:u,ref:c,shapeFlag:d}=t;switch(u){case Ji:x(e,t,n,a);break;case er:S(e,t,n,a);break;case tr:null==e&&M(t,n,a,o);break;case Xi:D(e,t,n,a,i,r,o,s,l);break;default:1&d?E(e,t,n,a,i,r,o,s,l):6&d?j(e,t,n,a,i,r,o,s,l):(64&d||128&d)&&u.process(e,t,n,a,i,r,o,s,l,se)}null!=c&&i&&oa(c,e&&e.ref,r,t||e,!t)},x=(e,t,n,a)=>{if(null==e)r(t.el=c(t.children),n,a);else{let n=t.el=e.el;t.children!==e.children&&h(n,t.children)}},S=(e,t,n,a)=>{null==e?r(t.el=d(t.children||""),n,a):t.el=e.el},M=(e,t,n,a)=>{[e.el,e.anchor]=y(e.children,t,n,a,e.el,e.anchor)},E=(e,t,n,a,i,r,o,s,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?P(t,n,a,i,r,o,s,l):z(e,t,i,r,o,s,l)},P=(e,t,n,a,i,o,l,c)=>{let d,h,{props:f,shapeFlag:m,transition:v,dirs:g}=e;if(d=e.el=u(e.type,o,f&&f.is,f),8&m?p(d,e.children):16&m&&O(e.children,d,null,a,i,Ti(e,o),l,c),g&&Rn(e,null,a,"created"),L(d,e,e.scopeId,l,a),f){for(let e in f)"value"===e||$(e)||s(d,e,null,f[e],o,a);"value"in f&&s(d,"value",null,f.value,o),(h=f.onVnodeBeforeMount)&&xr(h,a,e)}g&&Rn(e,null,a,"beforeMount");let _=Ei(i,v);_&&v.beforeEnter(d),r(d,t,n),((h=f&&f.onVnodeMounted)||_||g)&&xi((()=>{h&&xr(h,a,e),_&&v.enter(d),g&&Rn(e,null,a,"mounted")}),i)},L=(e,t,n,a,i)=>{if(n&&b(e,n),a)for(let t=0;t{for(let u=l;u{let l,u=t.el=e.el,{patchFlag:c,dynamicChildren:d,dirs:h}=t;c|=16&e.patchFlag;let f=e.props||v,m=t.props||v;if(n&&Mi(n,!1),(l=m.onVnodeBeforeUpdate)&&xr(l,n,t,e),h&&Rn(t,e,n,"beforeUpdate"),n&&Mi(n,!0),(f.innerHTML&&null==m.innerHTML||f.textContent&&null==m.textContent)&&p(u,""),d?q(e.dynamicChildren,d,u,n,a,Ti(t,i),r):o||Y(e,t,u,null,n,a,Ti(t,i),r,!1),c>0){if(16&c)I(u,f,m,n,i);else if(2&c&&f.class!==m.class&&s(u,"class",null,m.class,i),4&c&&s(u,"style",f.style,m.style,i),8&c){let e=t.dynamicProps;for(let t=0;t{l&&xr(l,n,t,e),h&&Rn(t,e,n,"updated")}),a)},q=(e,t,n,a,i,r,o)=>{for(let s=0;s{if(t!==n){if(t!==v)for(let r in t)$(r)||r in n||s(e,r,t[r],null,i,a);for(let r in n){if($(r))continue;let o=n[r],l=t[r];o!==l&&"value"!==r&&s(e,r,l,o,i,a)}"value"in n&&s(e,"value",t.value,n.value,i)}},D=(e,t,n,a,i,o,s,l,u)=>{let d=t.el=e?e.el:c(""),h=t.anchor=e?e.anchor:c(""),{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(l=l?l.concat(m):m),null==e?(r(d,n,a),r(h,n,a),O(t.children||[],n,h,i,o,s,l,u)):p>0&&64&p&&f&&e.dynamicChildren?(q(e.dynamicChildren,f,n,i,o,s,l),(null!=t.key||i&&t===i.subTree)&&Pi(e,t,!0)):Y(e,t,n,h,i,o,s,l,u)},j=(e,t,n,a,i,r,o,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?i.ctx.activate(t,n,a,o,l):F(t,n,a,i,r,o,l):B(e,t,l)},F=(e,t,n,a,i,r,o)=>{let s=e.component=function(e,t,n){let a=e.type,i=(t?t.appContext:e.appContext)||Sr,r={uid:Cr++,vnode:e,type:a,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new be(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:function e(t,n,a=!1){let i=a?pi:n.propsCache,r=i.get(t);if(r)return r;let o=t.props,s={},l=[],u=!1;if(!A(t)){let i=t=>{u=!0;let[a,i]=e(t,n,!0);k(s,a),i&&l.push(...i)};!a&&n.mixins.length&&n.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}if(!o&&!u)return N(t)&&i.set(t,g),g;if(T(o))for(let e=0;e{let a=e(t,n,!0);a&&(l=!0,k(s,a))};!a&&n.mixins.length&&n.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}return o||l?(T(o)?o.forEach((e=>s[e]=null)):k(s,o),N(t)&&i.set(t,s),s):(N(t)&&i.set(t,null),null)}(a,i),emit:null,emitted:null,propsDefaults:v,inheritAttrs:a.inheritAttrs,ctx:v,data:v,props:v,attrs:v,slots:v,refs:v,setupState:v,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Di.bind(null,r),e.ce&&e.ce(r),r}(e,a,i);ga(e)&&(s.ctx.renderer=se),function(e,t=!1,n=!1){t&&l(t);let{props:a,children:i}=e.vnode,r=Ar(e);(function(e,t,n,a=!1){let i={},r=ui();for(let n in e.propsDefaults=Object.create(null),di(e,t,i,r),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=a?i:zt(i):e.type.props?e.props=i:e.props=r,e.attrs=r})(e,a,r,t),wi(e,i,n),r&&function(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Va);let{setup:a}=n;if(a){let n=e.setupContext=a.length>1?qr(e):null,i=Er(e);Oe();let r=dn(a,e,0,[e.props,n]);if(Ne(),i(),R(r)){if(ma(e)||ra(e),r.then(Pr,Pr),t)return r.then((n=>{Or(e,n,t)})).catch((t=>{pn(t,e,0)}));e.asyncDep=r}else Or(e,r,t)}else Rr(e,t)}(e,t),t&&l(!1)}(s,!1,o),s.asyncDep?(i&&i.registerDep(s,V,o),e.el||S(null,s.subTree=mr(er),t,n)):V(s,e,t,n,i,r,o)},B=(e,t,n)=>{let a=t.component=e.component;if(function(e,t,n){let{props:a,children:i,component:r}=e,{props:o,children:s,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return(!!i||!!s)&&(!s||!s.$stable)||a!==o&&(a?!o||Vi(a,o,u):!!o);if(1024&l)return!0;if(16&l)return a?Vi(a,o,u):!!o;if(8&l){let e=t.dynamicProps;for(let t=0;t{let l=()=>{if(e.isMounted){let t,{next:n,bu:a,u:i,parent:u,vnode:c}=e;{let t=function e(t){let n=t.subTree.component;if(n)return n.asyncDep&&!n.asyncResolved?n:e(n)}(e);if(t)return n&&(n.el=c.el,U(e,n,s)),void t.asyncDep.then((()=>{e.isUnmounted||l()}))}let d=n;Mi(e,!1),n?(n.el=c.el,U(e,n,s)):n=c,a&&G(a),(t=n.props&&n.props.onVnodeBeforeUpdate)&&xr(t,u,n,c),Mi(e,!0);let h=$i(e),p=e.subTree;e.subTree=h,w(p,h,f(p.el),ie(p),e,r,o),n.el=h.el,null===d&&Hi(e,h.el),i&&xi(i,r),(t=n.props&&n.props.onVnodeUpdated)&&xi((()=>xr(t,u,n,c)),r)}else{let s,{el:l,props:u}=t,{bm:c,m:d,parent:h,root:p,type:f}=e,m=ma(t);if(Mi(e,!1),c&&G(c),!m&&(s=u&&u.onVnodeBeforeMount)&&xr(s,h,t),Mi(e,!0),l&&i){let t=()=>{e.subTree=$i(e),i(l,e.subTree,e,r,null)};m&&f.__asyncHydrate?f.__asyncHydrate(l,e,t):t()}else{p.ce&&p.ce._injectChildStyle(f);let i=e.subTree=$i(e);w(null,i,n,a,e,r,o),t.el=i.el}if(d&&xi(d,r),!m&&(s=u&&u.onVnodeMounted)){let e=t;xi((()=>xr(s,h,e)),r)}(256&t.shapeFlag||h&&ma(h.vnode)&&256&h.vnode.shapeFlag)&&e.a&&xi(e.a,r),e.isMounted=!0,t=n=a=null}};e.scope.on();let u=e.effect=new we(l);e.scope.off();let c=e.update=u.run.bind(u),d=e.job=u.runIfDirty.bind(u);d.i=e,d.id=e.uid,u.scheduler=()=>Sn(d),Mi(e,!0),c()},U=(e,t,n)=>{t.component=e;let a=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,a){let{props:i,attrs:r,vnode:{patchFlag:o}}=e,s=Bt(i),[l]=e.propsOptions,u=!1;if(!(a||o>0)||16&o){let a;for(let o in di(e,t,i,r)&&(u=!0),s)t&&(C(t,o)||(a=W(o))!==o&&C(t,a))||(l?n&&(void 0!==n[o]||void 0!==n[a])&&(i[o]=hi(l,s,o,void 0,e,!0)):delete i[o]);if(r!==s)for(let e in r)t&&C(t,e)||(delete r[e],u=!0)}else if(8&o){let n=e.vnode.dynamicProps;for(let a=0;a{let u=e&&e.children,c=e?e.shapeFlag:0,d=t.children,{patchFlag:h,shapeFlag:f}=t;if(h>0){if(128&h)return void K(u,d,n,a,i,r,o,s,l);if(256&h)return void Q(u,d,n,a,i,r,o,s,l)}8&f?(16&c&&ae(u,i,r),d!==u&&p(n,d)):16&c?16&f?K(u,d,n,a,i,r,o,s,l):ae(u,i,r,!0):(8&c&&p(n,""),16&f&&O(d,n,a,i,r,o,s,l))},Q=(e,t,n,a,i,r,o,s,l)=>{let u;t=t||g;let c=(e=e||g).length,d=t.length,h=Math.min(c,d);for(u=0;ud?ae(e,i,r,!0,!1,h):O(t,n,a,i,r,o,s,l,h)},K=(e,t,n,a,i,r,o,s,l)=>{let u=0,c=t.length,d=e.length-1,h=c-1;for(;u<=d&&u<=h;){let a=e[u],c=t[u]=l?yr(t[u]):br(t[u]);if(!dr(a,c))break;w(a,c,n,null,i,r,o,s,l),u++}for(;u<=d&&u<=h;){let a=e[d],u=t[h]=l?yr(t[h]):br(t[h]);if(!dr(a,u))break;w(a,u,n,null,i,r,o,s,l),d--,h--}if(u>d){if(u<=h){let e=h+1,d=eh)for(;u<=d;)X(e[u],i,r,!0),u++;else{let p,f=u,m=u,v=new Map;for(u=m;u<=h;u++){let e=t[u]=l?yr(t[u]):br(t[u]);null!=e.key&&v.set(e.key,u)}let _=0,b=h-m+1,y=!1,k=0,x=Array(b);for(u=0;u=b)X(c,i,r,!0);else{if(null!=c.key)a=v.get(c.key);else for(p=m;p<=h;p++)if(0===x[p-m]&&dr(c,t[p])){a=p;break}void 0===a?X(c,i,r,!0):(x[a-m]=u+1,a>=k?k=a:y=!0,w(c,t[a],n,null,i,r,o,s,l),_++)}}let S=y?function(e){let t,n,a,i,r,o=e.slice(),s=[0],l=e.length;for(t=0;t>1]]0&&(o[t]=s[a-1]),s[a]=t)}}for(a=s.length,i=s[a-1];a-- >0;)s[a]=i,i=o[i];return s}(x):g;for(p=S.length-1,u=b-1;u>=0;u--){let e=m+u,d=t[e],h=e+1{let{el:o,type:s,transition:l,children:u,shapeFlag:c}=e;if(6&c)Z(e.component.subTree,t,n,a);else if(128&c)e.suspense.move(t,n,a);else if(64&c)s.move(e,t,n,se);else if(s!==Xi)if(s!==tr)if(2!==a&&1&c&&l)if(0===a)l.beforeEnter(o),r(o,t,n),xi((()=>l.enter(o)),i);else{let{leave:e,delayLeave:a,afterLeave:i}=l,s=()=>r(o,t,n),u=()=>{e(o,(()=>{s(),i&&i()}))};a?a(o,s,u):u()}else r(o,t,n);else(({el:e,anchor:t},n,a)=>{let i;for(;e&&e!==t;)i=m(e),r(e,n,a),e=i;r(t,n,a)})(e,t,n);else{r(o,t,n);for(let e=0;e{let r,{type:o,props:s,ref:l,children:u,dynamicChildren:c,shapeFlag:d,patchFlag:h,dirs:p,cacheIndex:f}=e;if(-2===h&&(i=!1),null!=l&&oa(l,null,n,e,!0),null!=f&&(t.renderCache[f]=void 0),256&d)return void t.ctx.deactivate(e);let m=1&d&&p,v=!ma(e);if(v&&(r=s&&s.onVnodeBeforeUnmount)&&xr(r,t,e),6&d)ne(e.component,n,a);else{if(128&d)return void e.suspense.unmount(n,a);m&&Rn(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,n,se,a):c&&!c.hasOnce&&(o!==Xi||h>0&&64&h)?ae(c,t,n,!1,!0):(o===Xi&&384&h||!i&&16&d)&&ae(u,t,n),a&&J(e)}(v&&(r=s&&s.onVnodeUnmounted)||m)&&xi((()=>{r&&xr(r,t,e),m&&Rn(e,null,t,"unmounted")}),n)},J=e=>{let{type:t,el:n,anchor:a,transition:i}=e;if(t===Xi)return void te(n,a);if(t===tr)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=m(e),o(e),e=n;o(t)})(e);let r=()=>{o(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){let{leave:t,delayLeave:a}=i,o=()=>t(n,r);a?a(e.el,r,o):o()}else r()},te=(e,t)=>{let n;for(;e!==t;)n=m(e),o(e),e=n;o(t)},ne=(e,t,n)=>{let{bum:a,scope:i,job:r,subTree:o,um:s,m:l,a:u}=e;Ai(l),Ai(u),a&&G(a),i.stop(),r&&(r.flags|=8,X(o,e,t,n)),s&&xi(s,t),xi((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},ae=(e,t,n,a=!1,i=!1,r=0)=>{for(let o=r;o{if(6&e.shapeFlag)return ie(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();let t=m(e.anchor||e.el),n=t&&t[zn];return n?m(n):t},re=!1,oe=(e,t,n)=>{null==e?t._vnode&&X(t._vnode,null,null,!0):w(t._vnode||null,e,t,null,null,null,n),t._vnode=e,re||(re=!0,Mn(),En(),re=!1)},se={p:w,um:X,m:Z,r:J,mt:F,mc:O,pc:Y,pbc:q,n:ie,o:e};return t&&([a,i]=t(se)),{render:oe,hydrate:a,createApp:(n=a,function(e,t=null){A(e)||(e=k({},e)),null==t||N(t)||(t=null);let a=ai(),i=new WeakSet,r=[],o=!1,s=a.app={_uid:ii++,_component:e,_props:t,_container:null,_context:a,_instance:null,version:Br,get config(){return a.config},set config(e){},use:(e,...t)=>(i.has(e)||(e&&A(e.install)?(i.add(e),e.install(s,...t)):A(e)&&(i.add(e),e(s,...t))),s),mixin:e=>(a.mixins.includes(e)||a.mixins.push(e),s),component:(e,t)=>t?(a.components[e]=t,s):a.components[e],directive:(e,t)=>t?(a.directives[e]=t,s):a.directives[e],mount(i,r,l){if(!o){let u=s._ceVNode||mr(e,t);return u.appContext=a,!0===l?l="svg":!1===l&&(l=void 0),r&&n?n(u,i):oe(u,i,l),o=!0,s._container=i,i.__vue_app__=s,Ir(u.component)}},onUnmount(e){r.push(e)},unmount(){o&&(hn(r,s._instance,16),oe(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(a.provides[e]=t,s),runWithContext(e){let t=ri;ri=s;try{return e()}finally{ri=t}}};return s})}}function Ti({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Mi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ei(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Pi(e,t,n=!1){let a=e.children,i=t.children;if(T(a)&&T(i))for(let e=0;ehn(e,u,t,n);let c=!1;return"post"===o?l.scheduler=e=>{xi(e,u&&u.suspense)}:"sync"!==o&&(c=!0,l.scheduler=(e,t)=>{t?e():Sn(e)}),l.augmentJob=e=>{t&&(e.flags|=4),c&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))},function(e,t,n=v){let a,r,o,s,{immediate:l,deep:u,once:c,scheduler:d,augmentJob:h,call:f}=n,m=e=>u?e:$t(e)||!1===u||0===u?cn(e,1):cn(e),g=!1,b=!1;if(Wt(e)?(r=()=>e.value,g=$t(e)):Dt(e)?(r=()=>m(e),g=!0):T(e)?(b=!0,g=e.some((e=>Dt(e)||$t(e))),r=()=>e.map((e=>Wt(e)?e.value:Dt(e)?m(e):A(e)?f?f(e,2):e():void 0))):r=A(e)?t?f?()=>f(e,2):e:()=>{if(o){Oe();try{o()}finally{Ne()}}let t=p;p=a;try{return f?f(e,3,[s]):e(s)}finally{p=t}}:_,t&&u){let e=r,t=!0===u?1/0:u;r=()=>cn(e(),t)}let y=i,w=()=>{a.stop(),y&&x(y.effects,a)};if(c&&t){let e=t;t=(...t)=>{e(...t),w()}}let k=b?Array(e.length).fill(sn):sn,S=e=>{if(1&a.flags&&(a.dirty||e))if(t){let e=a.run();if(u||g||(b?e.some(((e,t)=>K(e,k[t]))):K(e,k))){o&&o();let n=p;p=a;try{let n=[e,k===sn?void 0:b&&k[0]===sn?[]:k,s];f?f(t,3,n):t(...n),k=e}finally{p=n}}}else a.run()};return h&&h(S),(a=new we(r)).scheduler=d?()=>d(S,!1):S,s=e=>un(e,!1,a),o=a.onStop=()=>{let e=ln.get(a);if(e){if(f)f(e,4);else for(let t of e)t();ln.delete(a)}},t?l?S(!0):k=a.run():d?d(S.bind(null,!0),!0):a.run(),w.pause=a.pause.bind(a),w.resume=a.resume.bind(a),w.stop=w,w}(e,t,l)}function zi(e,t,n){let a,i=this.proxy,r=L(e)?e.includes(".")?qi(i,e):()=>i[e]:e.bind(i,i);A(t)?a=t:(a=t.handler,n=t);let o=Er(this),s=Ri(r,a.bind(i),n);return o(),s}function qi(e,t){let n=t.split(".");return()=>{let t=e;for(let e=0;e"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${H(t)}Modifiers`]||e[`${W(t)}Modifiers`];function Di(e,t,...n){let a;if(e.isUnmounted)return;let i=e.vnode.props||v,r=n,o=t.startsWith("update:"),s=o&&Ii(i,t.slice(7));s&&(s.trim&&(r=n.map((e=>L(e)?e.trim():e))),s.number&&(r=n.map(X)));let l=i[a=Q(t)]||i[a=Q(H(t))];!l&&o&&(l=i[a=Q(W(t))]),l&&hn(l,e,6,r);let u=i[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,hn(u,e,6,r)}}function ji(e,t){return!(!e||!y(t))&&(C(e,(t=t.slice(2).replace(/Once$/,""))[0].toLowerCase()+t.slice(1))||C(e,W(t))||C(e,t))}function $i(e){let t,n,{type:a,vnode:i,proxy:r,withProxy:o,propsOptions:[s],slots:l,attrs:u,emit:c,render:d,renderCache:h,props:p,data:f,setupState:m,ctx:v,inheritAttrs:g}=e,_=On(e);try{if(4&i.shapeFlag){let e=o||r;t=br(d.call(e,e,h,p,m,f,v)),n=u}else t=br(a.length>1?a(p,{attrs:u,slots:l,emit:c}):a(p,null)),n=a.props?u:Fi(u)}catch(n){nr.length=0,pn(n,e,1),t=mr(er)}let b=t;if(n&&!1!==g){let e=Object.keys(n),{shapeFlag:t}=b;e.length&&7&t&&(s&&e.some(w)&&(n=Bi(n,s)),b=gr(b,n,!1,!0))}return i.dirs&&((b=gr(b,null,!1,!0)).dirs=b.dirs?b.dirs.concat(i.dirs):i.dirs),i.transition&&na(b,i.transition),t=b,On(_),t}let Fi=e=>{let t;for(let n in e)("class"===n||"style"===n||y(n))&&((t||(t={}))[n]=e[n]);return t},Bi=(e,t)=>{let n={};for(let a in e)w(a)&&a.slice(9)in t||(n[a]=e[a]);return n};function Vi(e,t,n){let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!0;for(let i=0;ie.__isSuspense,Wi=0;function Yi(e,t){let n=e.props&&e.props[t];A(n)&&n()}function Qi(e,t,n,a,i,r,o,s,l,u,c=!1){let d,{p:h,m:p,um:f,n:m,o:{parentNode:v,remove:g}}=u,_=function(e){let t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);_&&t&&t.pendingBranch&&(d=t.pendingId,t.deps++);let b=e.props?J(e.props.timeout):void 0,y=r,w={vnode:e,parent:t,parentComponent:n,namespace:o,container:a,hiddenContainer:i,deps:0,pendingId:Wi++,timeout:"number"==typeof b?b:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:a,activeBranch:i,pendingBranch:o,pendingId:s,effects:l,parentComponent:u,container:c}=w,h=!1;w.isHydrating?w.isHydrating=!1:e||((h=i&&o.transition&&"out-in"===o.transition.mode)&&(i.transition.afterLeave=()=>{s===w.pendingId&&(p(o,c,r===y?m(i):r,0),Tn(l))}),i&&(v(i.el)===c&&(r=m(i)),f(i,u,w,!0)),h||p(o,c,r,0)),Zi(w,o),w.pendingBranch=null,w.isInFallback=!1;let g=w.parent,b=!1;for(;g;){if(g.pendingBranch){g.effects.push(...l),b=!0;break}g=g.parent}b||h||Tn(l),w.effects=[],_&&t&&t.pendingBranch&&d===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),Yi(a,"onResolve")},fallback(e){if(!w.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:a,container:i,namespace:r}=w;Yi(t,"onFallback");let o=m(n),u=()=>{w.isInFallback&&(h(null,e,i,o,a,null,r,s,l),Zi(w,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),w.isInFallback=!0,f(n,a,null,!0),c||u()},move(e,t,n){w.activeBranch&&p(w.activeBranch,e,t,n),w.container=e},next:()=>w.activeBranch&&m(w.activeBranch),registerDep(e,t,n){let a=!!w.pendingBranch;a&&w.deps++;let i=e.vnode.el;e.asyncDep.catch((t=>{pn(t,e,0)})).then((r=>{if(e.isUnmounted||w.isUnmounted||w.pendingId!==e.suspenseId)return;e.asyncResolved=!0;let{vnode:s}=e;Or(e,r,!1),i&&(s.el=i);let l=!i&&e.subTree.el;t(e,s,v(i||e.subTree.el),i?null:m(e.subTree),w,o,n),l&&g(l),Hi(e,s.el),a&&0==--w.deps&&w.resolve()}))},unmount(e,t){w.isUnmounted=!0,w.activeBranch&&f(w.activeBranch,n,e,t),w.pendingBranch&&f(w.pendingBranch,n,e,t)}};return w}function Ki(e){let t;if(A(e)){let n=or&&e._c;n&&(e._d=!1,ir()),e=e(),n&&(e._d=!0,t=ar,rr())}return T(e)&&(e=function(e){let t;for(let n=0;nt!==e))),e}function Gi(e,t){t&&t.pendingBranch?T(e)?t.effects.push(...e):t.effects.push(e):Tn(e)}function Zi(e,t){e.activeBranch=t;let{vnode:n,parentComponent:a}=e,i=t.el;for(;!i&&t.component;)i=(t=t.component.subTree).el;n.el=i,a&&a.subTree===n&&(a.vnode.el=i,Hi(a,i))}let Xi=Symbol.for("v-fgt"),Ji=Symbol.for("v-txt"),er=Symbol.for("v-cmt"),tr=Symbol.for("v-stc"),nr=[],ar=null;function ir(e=!1){nr.push(ar=e?null:[])}function rr(){nr.pop(),ar=nr[nr.length-1]||null}let or=1;function sr(e){or+=e,e<0&&ar&&(ar.hasOnce=!0)}function lr(e){return e.dynamicChildren=or>0?ar||g:null,rr(),or>0&&ar&&ar.push(e),e}function ur(e,t,n,a,i){return lr(mr(e,t,n,a,i,!0))}function cr(e){return!!e&&!0===e.__v_isVNode}function dr(e,t){return e.type===t.type&&e.key===t.key}let hr=({key:e})=>null!=e?e:null,pr=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?L(e)||Wt(e)||A(e)?{i:An,r:e,k:t,f:!!n}:e:null);function fr(e,t=null,n=null,a=0,i=null,r=(e===Xi?0:1),o=!1,s=!1){let l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hr(t),ref:t&&pr(t),scopeId:Ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:a,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:An};return s?(wr(l,n),128&r&&e.normalize(l)):n&&(l.shapeFlag|=L(n)?8:16),or>0&&!o&&ar&&(l.patchFlag>0||6&r)&&32!==l.patchFlag&&ar.push(l),l}let mr=function(e,t=null,n=null,a=0,i=null,r=!1){var o;if(e&&e!==Ia||(e=er),cr(e)){let a=gr(e,t,!0);return n&&wr(a,n),or>0&&!r&&ar&&(6&a.shapeFlag?ar[ar.indexOf(e)]=a:ar.push(a)),a.patchFlag=-2,a}if(A(o=e)&&"__vccOpts"in o&&(e=e.__vccOpts),t){let{class:e,style:n}=t=vr(t);e&&!L(e)&&(t.class=se(e)),N(n)&&(Ft(n)&&!T(n)&&(n=k({},n)),t.style=ne(n))}return fr(e,t,n,a,i,L(e)?1:Ui(e)?128:qn(e)?64:N(e)?4:A(e)?2:0,r,!0)};function vr(e){return e?Ft(e)||ci(e)?k({},e):e:null}function gr(e,t,n=!1,a=!1){let{props:i,ref:r,patchFlag:o,children:s,transition:l}=e,u=t?kr(i||{},t):i,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&hr(u),ref:t&&t.ref?n&&r?T(r)?r.concat(pr(t)):[r,pr(t)]:pr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Xi?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&gr(e.ssContent),ssFallback:e.ssFallback&&gr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&a&&na(c,l.clone(c)),c}function _r(e=" ",t=0){return mr(Ji,null,e,t)}function br(e){return null==e||"boolean"==typeof e?mr(er):T(e)?mr(Xi,null,e.slice()):"object"==typeof e?yr(e):mr(Ji,null,String(e))}function yr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:gr(e)}function wr(e,t){let n=0,{shapeFlag:a}=e;if(null==t)t=null;else if(T(t))n=16;else if("object"==typeof t){if(65&a){let n=t.default;return void(n&&(n._c&&(n._d=!1),wr(e,n()),n._c&&(n._d=!0)))}{n=32;let a=t._;a||ci(t)?3===a&&An&&(1===An.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=An}}else A(t)?(t={default:t,_ctx:An},n=32):(t=String(t),64&a?(n=16,t=[_r(t)]):n=8);e.children=t,e.shapeFlag|=n}function kr(...e){let t={};for(let n=0;nTr||An;s=e=>{Tr=e},l=e=>{Lr=e};let Er=e=>{let t=Tr;return s(e),e.scope.on(),()=>{e.scope.off(),s(t)}},Pr=()=>{Tr&&Tr.scope.off(),s(null)};function Ar(e){return 4&e.vnode.shapeFlag}let Lr=!1;function Or(e,t,n){A(t)?e.render=t:N(t)&&(e.setupState=Jt(t)),Rr(e,n)}function Nr(e){u=e,c=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Ha))}}function Rr(e,t,n){let a=e.type;if(!e.render){if(!t&&u&&!a.render){let t=a.template||Ka(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:r,compilerOptions:o}=a,s=k(k({isCustomElement:n,delimiters:r},i),o);a.render=u(t,s)}}e.render=a.render||_,c&&c(e)}{let t=Er(e);Oe();try{!function(e){let t=Ka(e),n=e.proxy,a=e.ctx;Ya=!1,t.beforeCreate&&Qa(t.beforeCreate,e,"bc");let{data:i,computed:r,methods:o,watch:s,provide:l,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:f,activated:m,deactivated:v,beforeDestroy:g,beforeUnmount:b,destroyed:y,unmounted:w,render:k,renderTracked:x,renderTriggered:S,errorCaptured:C,serverPrefetch:M,expose:E,inheritAttrs:P,components:O,directives:R,filters:z}=t;if(u&&function(e,t){for(let n in T(e)&&(e=Ja(e)),e){let a,i=e[n];Wt(a=N(i)?"default"in i?si(i.from||n,i.default,!0):si(i.from||n):si(i))?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e}):t[n]=a}}(u,a,null),o)for(let e in o){let t=o[e];A(t)&&(a[e]=t.bind(n))}if(i){let t=i.call(n,n);N(t)&&(e.data=Rt(t))}if(Ya=!0,r)for(let e in r){let t=r[e],i=A(t)?t.bind(n,n):A(t.get)?t.get.bind(n,n):_,o=jr({get:i,set:!A(t)&&A(t.set)?t.set.bind(n):_});Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e})}if(s)for(let e in s)!function e(t,n,a,i){let r=i.includes(".")?qi(a,i):()=>a[i];if(L(t)){let e=n[t];A(e)&&Ri(r,e,void 0)}else if(A(t)){Ri(r,t.bind(a),void 0)}else if(N(t))if(T(t))t.forEach((t=>e(t,n,a,i)));else{let e=A(t.handler)?t.handler.bind(a):n[t.handler];A(e)&&Ri(r,e,t)}}(s[e],a,n,e);if(l){let e=A(l)?l.call(n):l;Reflect.ownKeys(e).forEach((t=>{oi(t,e[t])}))}function q(e,t){T(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(c&&Qa(c,e,"c"),q(Ta,d),q(Ma,h),q(Ea,p),q(Pa,f),q(ba,m),q(ya,v),q(za,C),q(Ra,x),q(Na,S),q(Aa,b),q(La,w),q(Oa,M),T(E))if(E.length){let t=e.exposed||(e.exposed={});E.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===_&&(e.render=k),null!=P&&(e.inheritAttrs=P),O&&(e.components=O),R&&(e.directives=R)}(e)}finally{Ne(),t()}}}let zr={get:(e,t)=>(Be(e,0,""),e[t])};function qr(e){return{attrs:new Proxy(e.attrs,zr),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function Ir(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Jt(Vt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in Fa?Fa[n](e):void 0,has:(e,t)=>t in e||t in Fa})):e.proxy}function Dr(e,t=!0){return A(e)?e.displayName||e.name:e.name||t&&e.__name}let jr=(e,t)=>function(e,t,n=!1){let a,i;return A(e)?a=e:(a=e.get,i=e.set),new on(a,i,n)}(e,0,Lr);function $r(e,t,n){let a=arguments.length;return 2!==a?(a>3?n=Array.prototype.slice.call(arguments,2):3===a&&cr(n)&&(n=[n]),mr(e,t,n)):!N(t)||T(t)?mr(e,null,t):cr(t)?mr(e,null,[t]):mr(e,t)}function Fr(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&ar&&ar.push(e),!0}let Br="3.5.8",Vr="undefined"!=typeof window&&window.trustedTypes;if(Vr)try{f=Vr.createPolicy("vue",{createHTML:e=>e})}catch(e){}let Hr=f?e=>f.createHTML(e):e=>e,Ur="undefined"!=typeof document?document:null,Wr=Ur&&Ur.createElement("template"),Yr="transition",Qr="animation",Kr=Symbol("_vtc"),Gr={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Zr=k({},Qn,Gr),Xr=((t=(e,{slots:t})=>$r(Zn,to(e),t)).displayName="Transition",t.props=Zr,t),Jr=(e,t=[])=>{T(e)?e.forEach((e=>e(...t))):e&&e(...t)},eo=e=>!!e&&(T(e)?e.some((e=>e.length>1)):e.length>1);function to(e){let t={};for(let n in e)n in Gr||(t[n]=e[n]);if(!1===e.css)return t;let{name:n="v",type:a,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:u=o,appearToClass:c=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=function(e){if(null==e)return null;if(N(e))return[J(e.enter),J(e.leave)];{let t=J(e);return[t,t]}}(i),m=f&&f[0],v=f&&f[1],{onBeforeEnter:g,onEnter:_,onEnterCancelled:b,onLeave:y,onLeaveCancelled:w,onBeforeAppear:x=g,onAppear:S=_,onAppearCancelled:C=b}=t,T=(e,t,n)=>{ao(e,t?c:s),ao(e,t?u:o),n&&n()},M=(e,t)=>{e._isLeaving=!1,ao(e,d),ao(e,p),ao(e,h),t&&t()},E=e=>(t,n)=>{let i=e?S:_,o=()=>T(t,e,n);Jr(i,[t,o]),io((()=>{ao(t,e?l:r),no(t,e?c:s),eo(i)||oo(t,a,m,o)}))};return k(t,{onBeforeEnter(e){Jr(g,[e]),no(e,r),no(e,o)},onBeforeAppear(e){Jr(x,[e]),no(e,l),no(e,u)},onEnter:E(!1),onAppear:E(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>M(e,t);no(e,d),no(e,h),co(),io((()=>{e._isLeaving&&(ao(e,d),no(e,p),eo(y)||oo(e,a,v,n))})),Jr(y,[e,n])},onEnterCancelled(e){T(e,!1),Jr(b,[e])},onAppearCancelled(e){T(e,!0),Jr(C,[e])},onLeaveCancelled(e){M(e),Jr(w,[e])}})}function no(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[Kr]||(e[Kr]=new Set)).add(t)}function ao(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));let n=e[Kr];n&&(n.delete(t),n.size||(e[Kr]=void 0))}function io(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let ro=0;function oo(e,t,n,a){let i=e._endId=++ro,r=()=>{i===e._endId&&a()};if(null!=n)return setTimeout(r,n);let{type:o,timeout:s,propCount:l}=so(e,t);if(!o)return a();let u=o+"end",c=0,d=()=>{e.removeEventListener(u,h),r()},h=t=>{t.target===e&&++c>=l&&d()};setTimeout((()=>{c(n[e]||"").split(", "),i=a(`${Yr}Delay`),r=a(`${Yr}Duration`),o=lo(i,r),s=a(`${Qr}Delay`),l=a(`${Qr}Duration`),u=lo(s,l),c=null,d=0,h=0;return t===Yr?o>0&&(c=Yr,d=o,h=r.length):t===Qr?u>0&&(c=Qr,d=u,h=l.length):h=(c=(d=Math.max(o,u))>0?o>u?Yr:Qr:null)?c===Yr?r.length:l.length:0,{type:c,timeout:d,propCount:h,hasTransform:c===Yr&&/\b(transform|all)(,|$)/.test(a(`${Yr}Property`).toString())}}function lo(e,t){for(;e.lengthuo(t)+uo(e[n]))))}function uo(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function co(){return document.body.offsetHeight}let ho=Symbol("_vod"),po=Symbol("_vsh");function fo(e,t){e.style.display=t?e[ho]:"none",e[po]=!t}let mo=Symbol("");function vo(e,t){if(1===e.nodeType){let n=e.style,a="";for(let e in t)n.setProperty(`--${e}`,t[e]),a+=`--${e}: ${t[e]};`;n[mo]=a}}let go=/(^|;)\s*display\s*:/,_o=/\s*!important$/;function bo(e,t,n){if(T(n))n.forEach((n=>bo(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{let a=function(e,t){let n=wo[t];if(n)return n;let a=H(t);if("filter"!==a&&a in e)return wo[t]=a;a=Y(a);for(let n=0;n111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&123>e.charCodeAt(2),Ao={};/*! #__NO_SIDE_EFFECTS__ */function Lo(e,t,n){let a=ia(e,t);D(a)&&k(a,t);class i extends No{constructor(e){super(a,e,n)}}return i.def=a,i}let Oo="undefined"!=typeof HTMLElement?HTMLElement:class{};class No extends Oo{constructor(e,t={},n=us){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==us?this._root=this.shadowRoot:!1!==e.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let e=this;for(;e=e&&(e.parentNode||e.host);)if(e instanceof No){this._parent=e;break}this._instance||(this._resolved?(this._setParent(),this._update()):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then((()=>{this._pendingResolve=void 0,this._resolveDef()})):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._instance.provides=e._instance.provides)}disconnectedCallback(){this._connected=!1,xn((()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)}))}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{for(let t of e)this._setAttr(t.attributeName)})),this._ob.observe(this,{attributes:!0});let e=(e,t=!1)=>{let n;this._resolved=!0,this._pendingResolve=void 0;let{props:a,styles:i}=e;if(a&&!T(a))for(let e in a){let t=a[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=J(this._props[e])),(n||(n=Object.create(null)))[H(e)]=!0)}this._numberProps=n,t&&this._resolveProps(e),this.shadowRoot&&this._applyStyles(i),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then((t=>e(this._def=t,!0))):e(this._def)}_mount(e){this._app=this._createApp(e),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)C(this,e)||Object.defineProperty(this,e,{get:()=>Zt(t[e])})}_resolveProps(e){let{props:t}=e,n=T(t)?t:Object.keys(t||{});for(let e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(H))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!0)}})}_setAttr(e){if(e.startsWith("data-v-"))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):Ao,a=H(e);t&&this._numberProps&&this._numberProps[a]&&(n=J(n)),this._setProp(a,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,a=!1){t!==this._props[e]&&(t===Ao?delete this._props[e]:(this._props[e]=t,"key"===e&&this._app&&(this._app._ceVNode.key=t)),a&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(W(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(W(e),t+""):t||this.removeAttribute(W(e))))}_update(){ls(this._createVNode(),this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=mr(this._def,k(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,D(t[0])?k({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),W(e)!==e&&t(W(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let n=this._nonce;for(let t=e.length-1;t>=0;t--){let a=document.createElement("style");n&&a.setAttribute("nonce",n),a.textContent=e[t],this.shadowRoot.prepend(a)}}_parseSlots(){let e,t=this._slots={};for(;e=this.firstChild;){let n=1===e.nodeType&&e.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(e),this.removeChild(e)}}_renderSlots(){let e=(this._teleportTarget||this).querySelectorAll("slot"),t=this._instance.type.__scopeId;for(let n=0;n{if(!n.length)return;let t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){let a=e.cloneNode(),i=e[Kr];i&&i.forEach((e=>{e.split(/\s+/).forEach((e=>e&&a.classList.remove(e)))})),n.split(/\s+/).forEach((e=>e&&a.classList.add(e))),a.style.display="none";let r=1===t.nodeType?t:t.parentNode;r.appendChild(a);let{hasTransform:o}=so(a);return r.removeChild(a),o}(n[0].el,i.vnode.el,t))return;n.forEach($o),n.forEach(Fo);let a=n.filter(Bo);co(),a.forEach((e=>{let n=e.el,a=n.style;no(n,t),a.transform=a.webkitTransform=a.transitionDuration="";let i=n[Io]=e=>{(!e||e.target===n)&&(!e||/transform$/.test(e.propertyName))&&(n.removeEventListener("transitionend",i),n[Io]=null,ao(n,t))};n.addEventListener("transitionend",i)}))})),()=>{let o=Bt(e),s=to(o),l=o.tag||Xi;if(n=[],a)for(let e=0;e{let t=e.props["onUpdate:modelValue"]||!1;return T(t)?e=>G(t,e):t};function Ho(e){e.target.composing=!0}function Uo(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}let Wo=Symbol("_assign"),Yo={created(e,{modifiers:{lazy:t,trim:n,number:a}},i){e[Wo]=Vo(i);let r=a||i.props&&"number"===i.props.type;So(e,t?"change":"input",(t=>{if(t.target.composing)return;let a=e.value;n&&(a=a.trim()),r&&(a=X(a)),e[Wo](a)})),n&&So(e,"change",(()=>{e.value=e.value.trim()})),t||(So(e,"compositionstart",Ho),So(e,"compositionend",Uo),So(e,"change",Uo))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:i,number:r}},o){if(e[Wo]=Vo(o),e.composing)return;let s=null==t?"":t;(!r&&"number"!==e.type||/^0\d/.test(e.value)?e.value:X(e.value))===s||document.activeElement===e&&"range"!==e.type&&(a&&t===n||i&&e.value.trim()===s)||(e.value=s)}},Qo={deep:!0,created(e,t,n){e[Wo]=Vo(n),So(e,"change",(()=>{let t=e._modelValue,n=Jo(e),a=e.checked,i=e[Wo];if(T(t)){let e=fe(t,n),r=-1!==e;if(a&&!r)i(t.concat(n));else if(!a&&r){let n=[...t];n.splice(e,1),i(n)}}else if(E(t)){let e=new Set(t);a?e.add(n):e.delete(n),i(e)}else i(es(e,a))}))},mounted:Ko,beforeUpdate(e,t,n){e[Wo]=Vo(n),Ko(e,t,n)}};function Ko(e,{value:t},n){let a;e._modelValue=t,a=T(t)?fe(t,n.props.value)>-1:E(t)?t.has(n.props.value):pe(t,es(e,!0)),e.checked!==a&&(e.checked=a)}let Go={created(e,{value:t},n){e.checked=pe(t,n.props.value),e[Wo]=Vo(n),So(e,"change",(()=>{e[Wo](Jo(e))}))},beforeUpdate(e,{value:t,oldValue:n},a){e[Wo]=Vo(a),t!==n&&(e.checked=pe(t,a.props.value))}},Zo={deep:!0,created(e,{value:t,modifiers:{number:n}},a){let i=E(t);So(e,"change",(()=>{let t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?X(Jo(e)):Jo(e)));e[Wo](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,xn((()=>{e._assigning=!1}))})),e[Wo]=Vo(a)},mounted(e,{value:t}){Xo(e,t)},beforeUpdate(e,t,n){e[Wo]=Vo(n)},updated(e,{value:t}){e._assigning||Xo(e,t)}};function Xo(e,t,n){let a=e.multiple,i=T(t);if(!a||i||E(t)){for(let n=0,r=e.options.length;nString(e)===String(o))):fe(t,o)>-1}else r.selected=t.has(o);else if(pe(Jo(r),t))return void(e.selectedIndex!==n&&(e.selectedIndex=n))}a||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Jo(e){return"_value"in e?e._value:e.value}function es(e,t){let n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}function ts(e,t,n,a,i){let r=function(e,t){switch(e){case"SELECT":return Zo;case"TEXTAREA":return Yo;default:switch(t){case"checkbox":return Qo;case"radio":return Go;default:return Yo}}}(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,a)}let ns=["ctrl","shift","alt","meta"],as={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ns.some((n=>e[`${n}Key`]&&!t.includes(n)))},is={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},rs=k({patchProp:(e,t,n,a,i,r)=>{let o="svg"===i;"class"===t?function(e,t,n){let a=e[Kr];a&&(t=(t?[t,...a]:[...a]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,a,o):"style"===t?function(e,t,n){let a=e.style,i=L(n),r=!1;if(n&&!i){if(t)if(L(t))for(let e of t.split(";")){let t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&bo(a,t,"")}else for(let e in t)null==n[e]&&bo(a,e,"");for(let e in n)"display"===e&&(r=!0),bo(a,e,n[e])}else if(i){if(t!==n){let e=a[mo];e&&(n+=";"+e),a.cssText=n,r=go.test(n)}}else t&&e.removeAttribute("style");ho in e&&(e[ho]=r?a.display:"",e[po]&&(a.display="none"))}(e,n,a):y(t)?w(t)||function(e,t,n,a,i=null){let r=e[Co]||(e[Co]={}),o=r[t];if(a&&o)o.value=a;else{let[n,s]=function(e){let t;if(To.test(e)){let n;for(t={};n=e.match(To);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):W(e.slice(2)),t]}(t);a?So(e,n,r[t]=function(e,t){let n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();hn(function(e,t){if(!T(t))return t;{let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}}(e,n.value),t,5,[e])};return n.value=e,n.attached=Mo||(Eo.then((()=>Mo=0)),Mo=Date.now()),n}(a,i),s):o&&(function(e,t,n,a){e.removeEventListener(t,n,a)}(e,n,o,s),r[t]=void 0)}}(e,t,0,a,r):("."===t[0]?(t=t.slice(1),0):"^"===t[0]?(t=t.slice(1),1):!function(e,t,n,a){if(a)return!!("innerHTML"===t||"textContent"===t||t in e&&Po(t)&&A(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"form"===t||"list"===t&&"INPUT"===e.tagName||"type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){let t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return!(Po(t)&&L(n)||!(t in e)&&(!e._isVueCE||!/[A-Z]/.test(t)&&L(n)))}(e,t,a,o))?("true-value"===t?e._trueValue=a:"false-value"===t&&(e._falseValue=a),xo(e,t,a,o)):(function(e,t,n){if("innerHTML"===t||"textContent"===t)return void(null!=n&&(e[t]="innerHTML"===t?Hr(n):n));let a=e.tagName;if("value"===t&&"PROGRESS"!==a&&!a.includes("-")){let i="OPTION"===a?e.getAttribute("value")||"":e.value,r=null==n?"checkbox"===e.type?"on":"":String(n);return i===r&&"_value"in e||(e.value=r),null==n&&e.removeAttribute(t),void(e._value=n)}let i=!1;if(""===n||null==n){let a=typeof e[t];var r;if("boolean"===a)n=!!(r=n)||""===r;else null==n&&"string"===a?(n="",i=!0):"number"===a&&(n=0,i=!0)}try{e[t]=n}catch(e){}i&&e.removeAttribute(t)}(e,t,a),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||xo(e,t,a,o,0,"value"!==t))}},{insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{let i="svg"===t?Ur.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?Ur.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?Ur.createElement(e,{is:n}):Ur.createElement(e);return"select"===e&&a&&null!=a.multiple&&i.setAttribute("multiple",a.multiple),i},createText:e=>Ur.createTextNode(e),createComment:e=>Ur.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ur.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,i,r){let o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==r&&(i=i.nextSibling););else{Wr.innerHTML=Hr("svg"===a?`${e}`:"mathml"===a?`${e}`:e);let i=Wr.content;if("svg"===a||"mathml"===a){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}}),os=!1;function ss(){return d=os?d:Si(rs),os=!0,d}let ls=(...e)=>{(d||(d=Ci(rs))).render(...e)},us=(...e)=>{let t=(d||(d=Ci(rs))).createApp(...e),{mount:n}=t;return t.mount=e=>{let a=hs(e);if(!a)return;let i=t._component;A(i)||i.render||i.template||(i.template=a.innerHTML),1===a.nodeType&&(a.textContent="");let r=n(a,!1,ds(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t},cs=(...e)=>{let t=ss().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=hs(e);if(t)return n(t,!0,ds(t))},t};function ds(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function hs(e){return L(e)?document.querySelector(e):e}let ps=Symbol(""),fs=Symbol(""),ms=Symbol(""),vs=Symbol(""),gs=Symbol(""),_s=Symbol(""),bs=Symbol(""),ys=Symbol(""),ws=Symbol(""),ks=Symbol(""),xs=Symbol(""),Ss=Symbol(""),Cs=Symbol(""),Ts=Symbol(""),Ms=Symbol(""),Es=Symbol(""),Ps=Symbol(""),As=Symbol(""),Ls=Symbol(""),Os=Symbol(""),Ns=Symbol(""),Rs=Symbol(""),zs=Symbol(""),qs=Symbol(""),Is=Symbol(""),Ds=Symbol(""),js=Symbol(""),$s=Symbol(""),Fs=Symbol(""),Bs=Symbol(""),Vs=Symbol(""),Hs=Symbol(""),Us=Symbol(""),Ws=Symbol(""),Ys=Symbol(""),Qs=Symbol(""),Ks=Symbol(""),Gs=Symbol(""),Zs=Symbol(""),Xs={[ps]:"Fragment",[fs]:"Teleport",[ms]:"Suspense",[vs]:"KeepAlive",[gs]:"BaseTransition",[_s]:"openBlock",[bs]:"createBlock",[ys]:"createElementBlock",[ws]:"createVNode",[ks]:"createElementVNode",[xs]:"createCommentVNode",[Ss]:"createTextVNode",[Cs]:"createStaticVNode",[Ts]:"resolveComponent",[Ms]:"resolveDynamicComponent",[Es]:"resolveDirective",[Ps]:"resolveFilter",[As]:"withDirectives",[Ls]:"renderList",[Os]:"renderSlot",[Ns]:"createSlots",[Rs]:"toDisplayString",[zs]:"mergeProps",[qs]:"normalizeClass",[Is]:"normalizeStyle",[Ds]:"normalizeProps",[js]:"guardReactiveProps",[$s]:"toHandlers",[Fs]:"camelize",[Bs]:"capitalize",[Vs]:"toHandlerKey",[Hs]:"setBlockTracking",[Us]:"pushScopeId",[Ws]:"popScopeId",[Ys]:"withCtx",[Qs]:"unref",[Ks]:"isRef",[Gs]:"withMemo",[Zs]:"isMemoSame"},Js={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function el(e,t,n,a,i,r,o,s=!1,l=!1,u=!1,c=Js){return e&&(s?(e.helper(_s),e.helper(e.inSSR||u?bs:ys)):e.helper(e.inSSR||u?ws:ks),o&&e.helper(As)),{type:13,tag:t,props:n,children:a,patchFlag:i,dynamicProps:r,directives:o,isBlock:s,disableTracking:l,isComponent:u,loc:c}}function tl(e,t=Js){return{type:17,loc:t,elements:e}}function nl(e,t=Js){return{type:15,loc:t,properties:e}}function al(e,t){return{type:16,loc:Js,key:L(e)?il(e,!0):e,value:t}}function il(e,t=!1,n=Js,a=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:a}}function rl(e,t=Js){return{type:8,loc:t,children:e}}function ol(e,t=[],n=Js){return{type:14,loc:n,callee:e,arguments:t}}function sl(e,t,n=!1,a=!1,i=Js){return{type:18,params:e,returns:t,newline:n,isSlot:a,loc:i}}function ll(e,t,n,a=!0){return{type:19,test:e,consequent:t,alternate:n,newline:a,loc:Js}}function ul(e,{helper:t,removeHelper:n,inSSR:a}){var i,r;e.isBlock||(e.isBlock=!0,n((i=e.isComponent,a||i?ws:ks)),t(_s),t((r=e.isComponent,a||r?bs:ys)))}let cl=new Uint8Array([123,123]),dl=new Uint8Array([125,125]);function hl(e){return e>=97&&e<=122||e>=65&&e<=90}function pl(e){return 32===e||10===e||9===e||12===e||13===e}function fl(e){return 47===e||62===e||pl(e)}function ml(e){let t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function wl(e){switch(e){case"Teleport":case"teleport":return fs;case"Suspense":case"suspense":return ms;case"KeepAlive":case"keep-alive":return vs;case"BaseTransition":case"base-transition":return gs}}let kl=/^\d|[^\$\w\xA0-\uFFFF]/,xl=e=>!kl.test(e),Sl=/[A-Za-z_$\xA0-\uFFFF]/,Cl=/[\.\?\w$\xA0-\uFFFF]/,Tl=/\s+[.[]\s*|\s*[.[]\s+/g,Ml=e=>4===e.type?e.content:e.loc.source,El=e=>{let t=Ml(e).trim().replace(Tl,(e=>e.trim())),n=0,a=[],i=0,r=0,o=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;function Al(e,t,n=!1){for(let a=0;a4===e.key.type&&e.key.content===a))}return n}function $l(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}let Fl=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,Bl={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:b,isPreTag:b,isIgnoreNewlineTag:b,isCustomElement:b,onError:gl,onWarn:_l,comments:!1,prefixIdentifiers:!1},Vl=Bl,Hl=null,Ul="",Wl=null,Yl=null,Ql="",Kl=-1,Gl=-1,Zl=0,Xl=!1,Jl=null,eu=[],tu=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=cl,this.delimiterClose=dl,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=cl,this.delimiterClose=dl}getPos(e){let t=1,n=e+1;for(let a=this.newlines.length-1;a>=0;a--){let i=this.newlines[a];if(e>i){t=a+2,n=e-i;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){let e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){let t=this.sequenceIndex===this.currentSequence.length;if(t?fl(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||pl(e)){let t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===vl.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(eu,{onerr:gu,ontext(e,t){ou(iu(e,t),e,t)},ontextentity(e,t,n){ou(e,t,n)},oninterpolation(e,t){if(Xl)return ou(iu(e,t),e,t);let n=e+tu.delimiterOpen.length,a=t-tu.delimiterClose.length;for(;pl(Ul.charCodeAt(n));)n++;for(;pl(Ul.charCodeAt(a-1));)a--;let i=iu(n,a);i.includes("&")&&(i=Vl.decodeEntities(i,!1)),pu({type:5,content:vu(i,!1,fu(n,a)),loc:fu(e,t)})},onopentagname(e,t){let n=iu(e,t);Wl={type:1,tag:n,ns:Vl.getNamespace(n,eu[0],Vl.ns),tagType:0,props:[],children:[],loc:fu(e-1,t),codegenNode:void 0}},onopentagend(e){ru(e)},onclosetag(e,t){let n=iu(e,t);if(!Vl.isVoidTag(n)){let e=!1;for(let a=0;a0&&eu[0].loc.start.offset;for(let e=0;e<=a;e++)su(eu.shift(),t,e(7===e.type?e.rawName:e.name)===t))},onattribend(e,t){Wl&&Yl&&(mu(Yl.loc,t),0!==e&&(Ql.includes("&")&&(Ql=Vl.decodeEntities(Ql,!0)),6===Yl.type?("class"===Yl.name&&(Ql=hu(Ql).trim()),Yl.value={type:2,content:Ql,loc:1===e?fu(Kl,Gl):fu(Kl-1,Gl+1)},tu.inSFCRoot&&"template"===Wl.tag&&"lang"===Yl.name&&Ql&&"html"!==Ql&&tu.enterRCDATA(ml("{let i=t.start.offset+n;return vu(e,!1,fu(i,i+e.length),0,a?1:0)},s={source:o(r.trim(),n.indexOf(r,i.length)),value:void 0,key:void 0,index:void 0,finalized:!1},l=i.trim().replace(au,"").trim(),u=i.indexOf(l),c=l.match(nu);if(c){let e;l=l.replace(nu,"").trim();let t=c[1].trim();if(t&&(e=n.indexOf(t,u+l.length),s.key=o(t,e,!0)),c[2]){let a=c[2].trim();a&&(s.index=o(a,n.indexOf(a,s.key?e+t.length:u+l.length),!0))}}return l&&(s.value=o(l,u,!0)),s}(Yl.exp)))),(7!==Yl.type||"pre"!==Yl.name)&&Wl.props.push(Yl)),Ql="",Kl=Gl=-1},oncomment(e,t){Vl.comments&&pu({type:3,content:iu(e,t),loc:fu(e-4,t+3)})},onend(){let e=Ul.length;for(let t=0;t64&&n<91||wl(e)||Vl.isBuiltInComponent&&Vl.isBuiltInComponent(e)||Vl.isNativeTag&&!Vl.isNativeTag(e))return!0;for(let e=0;e=0;)n--;return n}let uu=new Set(["if","else","else-if","for","slot"]),cu=/\r\n/g;function du(e,t){let n="preserve"!==Vl.whitespace,a=!1;for(let t=0;t1)for(let a=0;a{n--};for(;nt===e:t=>e.test(t);return(e,a)=>{if(1===e.type){let{props:i}=e;if(3===e.tagType&&i.some(Rl))return;let r=[];for(let o=0;o`${Xs[e]}: _${Xs[e]}`;function Mu(e,t,{helper:n,push:a,newline:i,isTS:r}){let o=n("component"===t?Ts:Es);for(let n=0;n3;t.push("["),n&&t.indent(),Pu(e,t,n),n&&t.deindent(),t.push("]")}function Pu(e,t,n=!1,a=!0){let{push:i,newline:r}=t;for(let o=0;oe||"null"))}([o,s,l,n,c]),t),a(")"),h&&a(")"),d&&(a(", "),Au(d,t),a(")"))}(e,t);break;case 14:!function(e,t){let{push:n,helper:a,pure:i}=t,r=L(e.callee)?e.callee:a(e.callee);i&&n(Cu),n(r+"(",-2,e),Pu(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){let{push:n,indent:a,deindent:i,newline:r}=t,{properties:o}=e;if(!o.length)return void n("{}",-2,e);let s=o.length>1;n(s?"{":"{ "),s&&a();for(let e=0;e "),(l||s)&&(n("{"),a()),o?(l&&n("return "),T(o)?Eu(o,t):Au(o,t)):s&&Au(s,t),(l||s)&&(i(),n("}")),u&&n(")")}(e,t);break;case 19:!function(e,t){let{test:n,consequent:a,alternate:i,newline:r}=e,{push:o,indent:s,deindent:l,newline:u}=t;if(4===n.type){let e=!xl(n.content);e&&o("("),Lu(n,t),e&&o(")")}else o("("),Au(n,t),o(")");r&&s(),t.indentLevel++,r||o(" "),o("? "),Au(a,t),t.indentLevel--,r&&u(),r||o(" "),o(": ");let c=19===i.type;!c&&t.indentLevel++,Au(i,t),!c&&t.indentLevel--,r&&l(!0)}(e,t);break;case 20:!function(e,t){let{push:n,helper:a,indent:i,deindent:r,newline:o}=t,{needPauseTracking:s,needArraySpread:l}=e;l&&n("[...("),n(`_cache[${e.index}] || (`),s&&(i(),n(`${a(Hs)}(-1),`),o(),n("(")),n(`_cache[${e.index}] = `),Au(e.value,t),s&&(n(`).cacheIndex = ${e.index},`),o(),n(`${a(Hs)}(1),`),o(),n(`_cache[${e.index}]`),r()),n(")"),l&&n(")]")}(e,t);break;case 21:Pu(e.body,t,!0,!1)}}function Lu(e,t){let{content:n,isStatic:a}=e;t.push(a?JSON.stringify(n):n,-3,e)}function Ou(e,t){for(let n=0;nfunction(e,t,n,a){if(!("else"===t.name||t.exp&&t.exp.content.trim())){let a=t.exp?t.exp.loc:e.loc;n.onError(bl(28,t.loc)),t.exp=il("true",!1,a)}if("if"===t.name){let i=Ru(e,t),r={type:9,loc:e.loc,branches:[i]};if(n.replaceNode(r),a)return a(r,i,!0)}else{let i=n.parent.children,r=i.indexOf(e);for(;r-- >=-1;){let o=i[r];if(!(o&&3===o.type||o&&2===o.type&&!o.content.trim().length)){if(o&&9===o.type){"else-if"===t.name&&void 0===o.branches[o.branches.length-1].condition&&n.onError(bl(30,e.loc)),n.removeNode();let i=Ru(e,t);o.branches.push(i);let r=a&&a(o,i,!1);xu(i,n),r&&r(),n.currentNode=null}else n.onError(bl(30,e.loc));break}n.removeNode(o)}}}(e,t,n,((e,t,a)=>{let i=n.parent.children,r=i.indexOf(e),o=0;for(;r-- >=0;){let e=i[r];e&&9===e.type&&(o+=e.branches.length)}return()=>{a?e.codegenNode=zu(t,o,n):(function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode)).alternate=zu(t,o+e.branches.length-1,n)}}))));function Ru(e,t){let n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!Al(e,"for")?e.children:[e],userKey:Ll(e,"key"),isTemplateIf:n}}function zu(e,t,n){return e.condition?ll(e.condition,qu(e,t,n),ol(n.helper(xs),['""',"true"])):qu(e,t,n)}function qu(e,t,n){let{helper:a}=n,i=al("key",il(`${t}`,!1,Js,2)),{children:r}=e,o=r[0];if(1!==r.length||1!==o.type){if(1!==r.length||11!==o.type)return el(n,a(ps),nl([i]),r,64,void 0,void 0,!0,!1,!1,e.loc);{let e=o.codegenNode;return Dl(e,i,n),e}}{let e=o.codegenNode,t=14===e.type&&e.callee===Gs?e.arguments[1].returns:e;return 13===t.type&&ul(t,n),Dl(t,i,n),e}}let Iu=(e,t,n)=>{let{modifiers:a,loc:i}=e,r=e.arg,{exp:o}=e;if(o&&4===o.type&&!o.content.trim()&&(o=void 0),!o){if(4!==r.type||!r.isStatic)return n.onError(bl(52,r.loc)),{props:[al(r,il("",!0,i))]};Du(e),o=e.exp}return 4!==r.type?(r.children.unshift("("),r.children.push(') || ""')):r.isStatic||(r.content=`${r.content} || ""`),a.some((e=>"camel"===e.content))&&(4===r.type?r.isStatic?r.content=H(r.content):r.content=`${n.helperString(Fs)}(${r.content})`:(r.children.unshift(`${n.helperString(Fs)}(`),r.children.push(")"))),!n.inSSR&&(a.some((e=>"prop"===e.content))&&ju(r,"."),a.some((e=>"attr"===e.content))&&ju(r,"^")),{props:[al(r,o)]}},Du=(e,t)=>{let n=e.arg,a=H(n.content);e.exp=il(a,!1,n.loc)},ju=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},$u=Su("for",((e,t,n)=>{let{helper:a,removeHelper:i}=n;return function(e,t,n,a){if(!t.exp)return void n.onError(bl(31,t.loc));let i=t.forParseResult;if(!i)return void n.onError(bl(32,t.loc));Fu(i);let{addIdentifiers:r,removeIdentifiers:o,scopes:s}=n,{source:l,value:u,key:c,index:d}=i,h={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:d,parseResult:i,children:zl(e)?e.children:[e]};n.replaceNode(h),s.vFor++;let p=a&&a(h);return()=>{s.vFor--,p&&p()}}(e,t,n,(t=>{let r=ol(a(Ls),[t.source]),o=zl(e),s=Al(e,"memo"),l=Ll(e,"key",!1,!0);l&&7===l.type&&!l.exp&&Du(l);let u=l&&(6===l.type?l.value?il(l.value.content,!0):void 0:l.exp),c=l&&u?al("key",u):null,d=4===t.source.type&&t.source.constType>0,h=d?64:l?128:256;return t.codegenNode=el(n,a(ps),void 0,r,h,void 0,void 0,!0,!d,!1,e.loc),()=>{let l,{children:h}=t,p=1!==h.length||1!==h[0].type,f=ql(e)?e:o&&1===e.children.length&&ql(e.children[0])?e.children[0]:null;if(f)l=f.codegenNode,o&&c&&Dl(l,c,n);else if(p)l=el(n,a(ps),c?nl([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1);else{var m,v,g,_,b,y,w,k;l=h[0].codegenNode,o&&c&&Dl(l,c,n),!d!==l.isBlock&&(l.isBlock?(i(_s),i((m=n.inSSR,v=l.isComponent,m||v?bs:ys))):i((g=n.inSSR,_=l.isComponent,g||_?ws:ks))),l.isBlock=!d,l.isBlock?(a(_s),a((b=n.inSSR,y=l.isComponent,b||y?bs:ys))):a((w=n.inSSR,k=l.isComponent,w||k?ws:ks))}if(s){let e=sl(Bu(t.parseResult,[il("_cached")]));e.body={type:21,body:[rl(["const _memo = (",s.exp,")"]),rl(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(Zs)}(_cached, _memo)) return _cached`]),rl(["const _item = ",l]),il("_item.memo = _memo"),il("return _item")],loc:Js},r.arguments.push(e,il("_cache"),il(String(n.cached.length))),n.cached.push(null)}else r.arguments.push(sl(Bu(t.parseResult),l,!0))}}))}));function Fu(e,t){e.finalized||(e.finalized=!0)}function Bu({value:e,key:t,index:n},a=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||il("_".repeat(t+1),!1)))}([e,t,n,...a])}let Vu=il("undefined",!1),Hu=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){let n=Al(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},Uu=(e,t,n,a)=>sl(e,n,!1,!0,n.length?n[0].loc:a);function Wu(e,t,n){let a=[al("name",e),al("fn",t)];return null!=n&&a.push(al("key",il(String(n),!0))),nl(a)}let Yu=new WeakMap,Qu=(e,t)=>function(){let n,a,i,r,o;if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;let{tag:s,props:l}=e,u=1===e.tagType,c=u?function(e,t,n=!1){let{tag:a}=e,i=Zu(a),r=Ll(e,"is",!1,!0);if(r)if(i){let e;if(6===r.type?e=r.value&&il(r.value.content,!0):(e=r.exp)||(e=il("is",!1,r.arg.loc)),e)return ol(t.helper(Ms),[e])}else 6===r.type&&r.value.content.startsWith("vue:")&&(a=r.value.content.slice(4));let o=wl(a)||t.isBuiltInComponent(a);return o?(n||t.helper(o),o):(t.helper(Ts),t.components.add(a),$l(a,"component"))}(e,t):`"${s}"`,d=N(c)&&c.callee===Ms,h=0,p=d||c===fs||c===ms||!u&&("svg"===s||"foreignObject"===s||"math"===s);if(l.length>0){let a=Ku(e,t,void 0,u,d);n=a.props,h=a.patchFlag,r=a.dynamicPropNames;let i=a.directives;o=i&&i.length?tl(i.map((e=>function(e,t){let n=[],a=Yu.get(e);a?n.push(t.helperString(a)):(t.helper(Es),t.directives.add(e.name),n.push($l(e.name,"directive")));let{loc:i}=e;if(e.exp&&n.push(e.exp),e.arg&&(e.exp||n.push("void 0"),n.push(e.arg)),Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));let t=il("true",!1,i);n.push(nl(e.modifiers.map((e=>al(e,t))),i))}return tl(n,e.loc)}(e,t)))):void 0,a.shouldUseBlock&&(p=!0)}if(e.children.length>0)if(c===vs&&(p=!0,h|=1024),u&&c!==fs&&c!==vs){let{slots:n,hasDynamicSlots:i}=function(e,t,n=Uu){t.helper(Ys);let{children:a,loc:i}=e,r=[],o=[],s=t.scopes.vSlot>0||t.scopes.vFor>0,l=Al(e,"slot",!0);if(l){let{arg:e,exp:t}=l;e&&!yl(e)&&(s=!0),r.push(al(e||il("default",!0),n(t,void 0,a,i)))}let u=!1,c=!1,d=[],h=new Set,p=0;for(let e=0;eal("default",n(e,void 0,t,i));u?d.length&&d.some((e=>function e(t){return 2!==t.type&&12!==t.type||(2===t.type?!!t.content.trim():e(t.content))}(e)))&&(c?t.onError(bl(39,d[0].loc)):r.push(e(void 0,d))):r.push(e(void 0,a))}let f=s?2:function e(t){for(let n=0;n0,f=!1,m=0,v=!1,g=!1,_=!1,b=!1,w=!1,k=!1,x=[],S=e=>{c.length&&(d.push(nl(Gu(c),l)),c=[]),e&&d.push(e)},C=()=>{t.scopes.vFor>0&&c.push(al(il("ref_for",!0),il("true")))},T=({key:e,value:n})=>{if(yl(e)){let r=e.content,o=y(r);o&&(!a||i)&&"onclick"!==r.toLowerCase()&&"onUpdate:modelValue"!==r&&!$(r)&&(b=!0),o&&$(r)&&(k=!0),o&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&bu(n,t)>0||("ref"===r?v=!0:"class"===r?g=!0:"style"===r?_=!0:"key"===r||x.includes(r)||x.push(r),a&&("class"===r||"style"===r)&&!x.includes(r)&&x.push(r))}else w=!0};for(let i=0;i"prop"===e.content))&&(m|=32);let y=t.directiveTransforms[n];if(y){let{props:n,needRuntime:a}=y(o,e,t);r||n.forEach(T),b&&i&&!yl(i)?S(nl(n,l)):c.push(...n),a&&(h.push(o),O(a)&&Yu.set(o,a))}else!F(n)&&(h.push(o),p&&(f=!0))}}if(d.length?(S(),o=d.length>1?ol(t.helper(zs),d,l):d[0]):c.length&&(o=nl(Gu(c),l)),w?m|=16:(g&&!a&&(m|=2),_&&!a&&(m|=4),x.length&&(m|=8),b&&(m|=32)),!f&&(0===m||32===m)&&(v||k||h.length>0)&&(m|=512),!t.inSSR&&o)switch(o.type){case 15:let e=-1,n=-1,a=!1;for(let t=0;t{if(ql(e)){let{children:n,loc:a}=e,{slotName:i,slotProps:r}=function(e,t){let n,a='"default"',i=[];for(let t=0;t0){let{props:a,directives:r}=Ku(e,t,i,!1,!1);n=a,r.length&&t.onError(bl(36,r[0].loc))}return{slotName:a,slotProps:n}}(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",i,"{}","undefined","true"],s=2;r&&(o[2]=r,s=3),n.length&&(o[3]=sl([],n,!1,!1,a),s=4),t.scopeId&&!t.slotted&&(s=5),o.splice(s),e.codegenNode=ol(t.helper(Os),o,a)}},Ju=(e,t,n,a)=>{let i,{loc:r,modifiers:o,arg:s}=e;if(e.exp||o.length,4===s.type)if(s.isStatic){let e=s.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`),i=il(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?Q(H(e)):`on:${e}`,!0,s.loc)}else i=rl([`${n.helperString(Vs)}(`,s,")"]);else(i=s).children.unshift(`${n.helperString(Vs)}(`),i.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){let e=El(l),t=!(e||(e=>Pl.test(Ml(e)))(l)),n=l.content.includes(";");(t||u&&e)&&(l=rl([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[al(i,l||il("() => {}",!1,r))]};return a&&(c=a(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach((e=>e.key.isHandlerKey=!0)),c},ec=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{let n,a=e.children,i=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])))))for(let e=0;e{if(1===e.type&&Al(e,"once",!0)&&!tc.has(e)&&!t.inVOnce&&!t.inSSR)return tc.add(e),t.inVOnce=!0,t.helper(Hs),()=>{t.inVOnce=!1;let e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}},ac=(e,t,n)=>{let a,{exp:i,arg:r}=e;if(!i)return n.onError(bl(41,e.loc)),ic();let o=i.loc.source.trim(),s=4===i.type?i.content:o,l=n.bindingMetadata[o];if("props"===l||"props-aliased"===l)return i.loc,ic();if(!s.trim()||!El(i))return n.onError(bl(42,i.loc)),ic();let u=r||il("modelValue",!0),c=r?yl(r)?`onUpdate:${H(r.content)}`:rl(['"onUpdate:" + ',r]):"onUpdate:modelValue";a=rl([`${n.isTS?"($event: any)":"$event"} => ((`,i,") = $event)"]);let d=[al(u,e.exp),al(c,a)];if(e.modifiers.length&&1===t.tagType){let t=e.modifiers.map((e=>e.content)).map((e=>(xl(e)?e:JSON.stringify(e))+": true")).join(", "),n=r?yl(r)?`${r.content}Modifiers`:rl([r,' + "Modifiers"']):"modelModifiers";d.push(al(n,il(`{ ${t} }`,!1,e.loc,2)))}return ic(d)};function ic(e=[]){return{props:e}}let rc=new WeakSet,oc=(e,t)=>{if(1===e.type){let n=Al(e,"memo");if(n&&!rc.has(e))return rc.add(e),()=>{let a=e.codegenNode||t.currentNode.codegenNode;a&&13===a.type&&(1!==e.tagType&&ul(a,t),e.codegenNode=ol(t.helper(Gs),[n.exp,sl(void 0,a),"_cache",String(t.cached.length)]),t.cached.push(null))}}},sc=Symbol(""),lc=Symbol(""),uc=Symbol(""),cc=Symbol(""),dc=Symbol(""),hc=Symbol(""),pc=Symbol(""),fc=Symbol(""),mc=Symbol(""),vc=Symbol("");!function(e){Object.getOwnPropertySymbols(e).forEach((t=>{Xs[t]=e[t]}))}({[sc]:"vModelRadio",[lc]:"vModelCheckbox",[uc]:"vModelText",[cc]:"vModelSelect",[dc]:"vModelDynamic",[hc]:"withModifiers",[pc]:"withKeys",[fc]:"vShow",[mc]:"Transition",[vc]:"TransitionGroup"});let gc={parseMode:"html",isVoidTag:de,isNativeTag:e=>le(e)||ue(e)||ce(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return h||(h=document.createElement("div")),t?(h.innerHTML=`
`,h.children[0].getAttribute("foo")):(h.innerHTML=e,h.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?mc:"TransitionGroup"===e||"transition-group"===e?vc:void 0,getNamespace(e,t,n){let a=t?t.ns:n;if(t&&2===a)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(a=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(a=0);else t&&1===a&&("foreignObject"===t.tag||"desc"===t.tag||"title"===t.tag)&&(a=0);if(0===a){if("svg"===e)return 1;if("math"===e)return 2}return a}},_c=(e,t)=>il(JSON.stringify(oe(e)),!1,t,3),bc=m("passive,once,capture"),yc=m("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),wc=m("left,right"),kc=m("onkeyup,onkeydown,onkeypress"),xc=(e,t)=>yl(e)&&"onclick"===e.content.toLowerCase()?il(t,!0):4!==e.type?rl(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,Sc=(e,t)=>{1===e.type&&0===e.tagType&&("script"===e.tag||"style"===e.tag)&&t.removeNode()},Cc=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:il("style",!0,t.loc),exp:_c(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],Tc={cloak:()=>({props:[]}),html:(e,t,n)=>{let{exp:a,loc:i}=e;return a||n.onError(bl(53,i)),t.children.length&&(n.onError(bl(54,i)),t.children.length=0),{props:[al(il("innerHTML",!0,i),a||il("",!0))]}},text:(e,t,n)=>{let{exp:a,loc:i}=e;return a||n.onError(bl(55,i)),t.children.length&&(n.onError(bl(56,i)),t.children.length=0),{props:[al(il("textContent",!0),a?bu(a,n)>0?a:ol(n.helperString(Rs),[a],i):il("",!0))]}},model:(e,t,n)=>{let a=ac(e,t,n);if(!a.props.length||1===t.tagType)return a;e.arg&&n.onError(bl(58,e.arg.loc));let{tag:i}=t,r=n.isCustomElement(i);if("input"===i||"textarea"===i||"select"===i||r){let o=uc,s=!1;if("input"===i||r){let a=Ll(t,"type");if(a){if(7===a.type)o=dc;else if(a.value)switch(a.value.content){case"radio":o=sc;break;case"checkbox":o=lc;break;case"file":s=!0,n.onError(bl(59,e.loc))}}else t.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))&&(o=dc)}else"select"===i&&(o=cc);s||(a.needRuntime=n.helper(o))}else n.onError(bl(57,e.loc));return a.props=a.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),a},on:(e,t,n)=>Ju(e,t,n,(t=>{let{modifiers:a}=e;if(!a.length)return t;let{key:i,value:r}=t.props[0],{keyModifiers:o,nonKeyModifiers:s,eventOptionModifiers:l}=((e,t)=>{let n=[],a=[],i=[];for(let r=0;r{let{exp:a,loc:i}=e;return!a&&n.onError(bl(61,i)),{props:[],needRuntime:n.helper(fc)}}},Mc=new WeakMap;function Ec(e,t){let n;if(!L(e)){if(!e.nodeType)return _;e=e.innerHTML}let a=e,i=((n=Mc.get(null!=t?t:v))||(n=Object.create(null),Mc.set(null!=t?t:v,n)),n),r=i[a];if(r)return r;if("#"===e[0]){let t=document.querySelector(e);e=t?t.innerHTML:""}let o=k({hoistStatic:!0,onError:void 0,onWarn:_},t);o.isCustomElement||"undefined"==typeof customElements||(o.isCustomElement=e=>!!customElements.get(e));let{code:s}=function(e,t={}){return function(e,t={}){let n=t.onError||gl,a="module"===t.mode;!0===t.prefixIdentifiers?n(bl(47)):a&&n(bl(48)),t.cacheHandlers&&n(bl(49)),t.scopeId&&!a&&n(bl(50));let i=k({},t,{prefixIdentifiers:!1}),r=L(e)?function(e,t){if(tu.reset(),Wl=null,Yl=null,Ql="",Kl=-1,Gl=-1,eu.length=0,Ul=e,Vl=k({},Bl),t){let e;for(e in t)null!=t[e]&&(Vl[e]=t[e])}tu.mode="html"===Vl.parseMode?1:"sfc"===Vl.parseMode?2:0,tu.inXML=1===Vl.ns||2===Vl.ns;let n=t&&t.delimiters;n&&(tu.delimiterOpen=ml(n[0]),tu.delimiterClose=ml(n[1]));let a=Hl=function(e,t=""){return{type:0,source:t,children:[],helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:Js}}(0,e);return tu.parse(Ul),a.loc=fu(0,e.length),a.children=du(a.children),Hl=null,a}(e,i):e,[o,s]=[[nc,Nu,oc,$u,Xu,Qu,Hu,ec],{on:Ju,bind:Iu,model:ac}];return function(e,t){let n=function(e,{filename:t="",prefixIdentifiers:n=!1,hoistStatic:a=!1,hmr:i=!1,cacheHandlers:r=!1,nodeTransforms:o=[],directiveTransforms:s={},transformHoist:l=null,isBuiltInComponent:u=_,isCustomElement:c=_,expressionPlugins:d=[],scopeId:h=null,slotted:p=!0,ssr:f=!1,inSSR:m=!1,ssrCssVars:g="",bindingMetadata:b=v,inline:y=!1,isTS:w=!1,onError:k=gl,onWarn:x=_l,compatConfig:S}){let C=t.replace(/\?.*$/,"").match(/([^/\\]+)\.\w+$/),T={filename:t,selfName:C&&Y(H(C[1])),prefixIdentifiers:n,hoistStatic:a,hmr:i,cacheHandlers:r,nodeTransforms:o,directiveTransforms:s,transformHoist:l,isBuiltInComponent:u,isCustomElement:c,expressionPlugins:d,scopeId:h,slotted:p,ssr:f,inSSR:m,ssrCssVars:g,bindingMetadata:b,inline:y,isTS:w,onError:k,onWarn:x,compatConfig:S,root:e,helpers:new Map,components:new Set,directives:new Set,hoists:[],imports:[],cached:[],constantCache:new WeakMap,temps:0,identifiers:Object.create(null),scopes:{vFor:0,vSlot:0,vPre:0,vOnce:0},parent:null,grandParent:null,currentNode:e,childIndex:0,inVOnce:!1,helper(e){let t=T.helpers.get(e)||0;return T.helpers.set(e,t+1),e},removeHelper(e){let t=T.helpers.get(e);if(t){let n=t-1;n?T.helpers.set(e,n):T.helpers.delete(e)}},helperString:e=>`_${Xs[T.helper(e)]}`,replaceNode(e){T.parent.children[T.childIndex]=T.currentNode=e},removeNode(e){let t=T.parent.children,n=e?t.indexOf(e):T.currentNode?T.childIndex:-1;e&&e!==T.currentNode?T.childIndex>n&&(T.childIndex--,T.onNodeRemoved()):(T.currentNode=null,T.onNodeRemoved()),T.parent.children.splice(n,1)},onNodeRemoved:_,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){L(e)&&(e=il(e)),T.hoists.push(e);let t=il(`_hoisted_${T.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1){let n=function(e,t,n=!1){return{type:20,index:e,value:t,needPauseTracking:n,needArraySpread:!1,loc:Js}}(T.cached.length,e,t);return T.cached.push(n),n}};return T}(e,t);xu(e,n),t.hoistStatic&&function e(t,n,a,i=!1,r=!1){let{children:o}=t,s=[];for(let n=0;n0){if(e>=2){l.codegenNode.patchFlag=-1,s.push(l);continue}}else{let e=l.codegenNode;if(13===e.type){let t=e.patchFlag;if((void 0===t||512===t||1===t)&&wu(l,a)>=2){let t=ku(l);t&&(e.props=a.hoist(t))}e.dynamicProps&&(e.dynamicProps=a.hoist(e.dynamicProps))}}}else if(12===l.type&&(i?0:bu(l,a))>=2){s.push(l);continue}if(1===l.type){let n=1===l.tagType;n&&a.scopes.vSlot++,e(l,t,a,!1,r),n&&a.scopes.vSlot--}else if(11===l.type)e(l,t,a,1===l.children.length,!0);else if(9===l.type)for(let n=0;ne.key===t||e.key.content===t));return n&&n.value}}s.length&&a.transformHoist&&a.transformHoist(o,a,t)}(e,void 0,n,_u(e,e.children[0])),t.ssr||function(e,t){let{helper:n}=t,{children:a}=e;if(1===a.length){let n=a[0];if(_u(e,n)&&n.codegenNode){let a=n.codegenNode;13===a.type&&ul(a,t),e.codegenNode=a}else e.codegenNode=n}else a.length>1&&(e.codegenNode=el(t,n(ps),void 0,e.children,64,void 0,void 0,!0,void 0,!1))}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0}(r,k({},i,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:k({},s,t.directiveTransforms||{})})),function(e,t={}){let n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:a=!1,filename:i="template.vue.html",scopeId:r=null,optimizeImports:o=!1,runtimeGlobalName:s="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:d=!1,inSSR:h=!1}){let p={mode:t,prefixIdentifiers:n,sourceMap:a,filename:i,scopeId:r,optimizeImports:o,runtimeGlobalName:s,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:d,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${Xs[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);let{mode:a,push:i,prefixIdentifiers:r,indent:o,deindent:s,newline:l,scopeId:u,ssr:c}=n,d=Array.from(e.helpers),h=d.length>0,p=!r&&"module"!==a;if(function(e,t){let{ssr:n,prefixIdentifiers:a,push:i,newline:r,runtimeModuleName:o,runtimeGlobalName:s,ssrRuntimeModuleName:l}=t,u=Array.from(e.helpers);if(u.length>0&&(i(`const _Vue = ${s}\n`,-1),e.hoists.length)){i(`const { ${[ws,ks,xs,Ss,Cs].filter((e=>u.includes(e))).map(Tu).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;let{push:n,newline:a}=t;a();for(let i=0;i0)&&l()),e.directives.length&&(Mu(e.directives,"directive",n),e.temps>0&&l()),e.temps>0){i("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(i("\n",0),l()),c||i("return "),e.codegenNode?Au(e.codegenNode,n):i("null"),p&&(s(),i("}")),s(),i("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}(r,i)}(e,k({},gc,t,{nodeTransforms:[Sc,...Cc,...t.nodeTransforms||[]],directiveTransforms:k({},Tc,t.directiveTransforms||{}),transformHoist:null}))}(e,o),l=Function(s)();return l._rc=!0,i[a]=l}return Nr(Ec),e.BaseTransition=Zn,e.BaseTransitionPropsValidators=Qn,e.Comment=er,e.DeprecationTypes=null,e.EffectScope=be,e.ErrorCodes={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},e.ErrorTypeStrings=null,e.Fragment=Xi,e.KeepAlive={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Mr(),a=n.ctx,i=new Map,r=new Set,o=null,s=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=a,h=d("div");function p(e){ka(e),c(e,n,s,!0)}function f(e){i.forEach(((t,n)=>{let a=Dr(t.type);a&&!e(a)&&m(n)}))}function m(e){let t=i.get(e);!t||o&&dr(t,o)?o&&ka(o):p(t),i.delete(e),r.delete(e)}a.activate=(e,t,n,a,i)=>{let r=e.component;u(e,t,n,0,s),l(r.vnode,e,t,n,r,s,a,e.slotScopeIds,i),xi((()=>{r.isDeactivated=!1,r.a&&G(r.a);let t=e.props&&e.props.onVnodeMounted;t&&xr(t,r.parent,e)}),s)},a.deactivate=e=>{let t=e.component;Ai(t.m),Ai(t.a),u(e,h,null,1,s),xi((()=>{t.da&&G(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&xr(n,t.parent,e),t.isDeactivated=!0}),s)},Ri((()=>[e.include,e.exclude]),(([e,t])=>{e&&f((t=>_a(e,t))),t&&f((e=>!_a(t,e)))}),{flush:"post",deep:!0});let v=null,g=()=>{null!=v&&(Ui(n.subTree.type)?xi((()=>{i.set(v,xa(n.subTree))}),n.subTree.suspense):i.set(v,xa(n.subTree)))};return Ma(g),Pa(g),Aa((()=>{i.forEach((e=>{let{subTree:t,suspense:a}=n,i=xa(t);if(e.type!==i.type||e.key!==i.key)p(e);else{ka(i);let e=i.component.da;e&&xi(e,a)}}))})),()=>{if(v=null,!t.default)return o=null;let n=t.default(),a=n[0];if(n.length>1)return o=null,n;if(!(cr(a)&&(4&a.shapeFlag||128&a.shapeFlag)))return o=null,a;let s=xa(a);if(s.type===er)return o=null,s;let l=s.type,u=Dr(ma(s)?s.type.__asyncResolved||{}:l),{include:c,exclude:d,max:h}=e;if(c&&(!u||!_a(c,u))||d&&u&&_a(d,u))return s.shapeFlag&=-257,o=s,a;let p=null==s.key?l:s.key,f=i.get(p);return s.el&&(s=gr(s),128&a.shapeFlag&&(a.ssContent=s)),v=p,f?(s.el=f.el,s.component=f.component,s.transition&&na(s,s.transition),s.shapeFlag|=512,r.delete(p),r.add(p)):(r.add(p),h&&r.size>parseInt(h,10)&&m(r.values().next().value)),s.shapeFlag|=256,o=s,Ui(a.type)?a:s}}},e.ReactiveEffect=we,e.Static=tr,e.Suspense={name:"Suspense",__isSuspense:!0,process(e,t,n,a,i,r,o,s,l,u){if(null==e)!function(e,t,n,a,i,r,o,s,l){let{p:u,o:{createElement:c}}=l,d=c("div"),h=e.suspense=Qi(e,i,a,t,d,n,r,o,s,l);u(null,h.pendingBranch=e.ssContent,d,null,a,h,r,o),h.deps>0?(Yi(e,"onPending"),Yi(e,"onFallback"),u(null,e.ssFallback,t,n,a,null,r,o),Zi(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,a,i,r,o,s,l,u);else{if(r&&r.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,a,i,r,o,s,{p:l,um:u,o:{createElement:c}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:v,isHydrating:g}=d;if(m)d.pendingBranch=h,dr(h,m)?(l(m,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0?d.resolve():v&&!g&&(l(f,p,n,a,i,null,r,o,s),Zi(d,p))):(d.pendingId=Wi++,g?(d.isHydrating=!1,d.activeBranch=m):u(m,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),v?(l(null,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0?d.resolve():(l(f,p,n,a,i,null,r,o,s),Zi(d,p))):f&&dr(h,f)?(l(f,h,n,a,i,d,r,o,s),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0&&d.resolve()));else if(f&&dr(h,f))l(f,h,n,a,i,d,r,o,s),Zi(d,h);else if(Yi(t,"onPending"),d.pendingBranch=h,512&h.shapeFlag?d.pendingId=h.component.suspenseId:d.pendingId=Wi++,l(null,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout((()=>{d.pendingId===t&&d.fallback(p)}),e):0===e&&d.fallback(p)}}(e,t,n,a,i,o,s,l,u)}},hydrate:function(e,t,n,a,i,r,o,s,l){let u=t.suspense=Qi(t,a,n,e.parentNode,document.createElement("div"),null,i,r,o,s,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,r,o);return 0===u.deps&&u.resolve(!1,!0),c},normalize:function(e){let{shapeFlag:t,children:n}=e,a=32&t;e.ssContent=Ki(a?n.default:n),e.ssFallback=a?Ki(n.fallback):mr(er)}},e.Teleport={name:"Teleport",__isTeleport:!0,process(e,t,n,a,i,r,o,s,l,u){let{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:v}}=u,g=In(t.props),{shapeFlag:_,children:b,dynamicChildren:y}=t;if(null==e){let e=t.el=m(""),u=t.anchor=m("");p(e,n,a),p(u,n,a);let d=(e,t)=>{16&_&&(i&&i.isCE&&(i.ce._teleportTarget=e),c(b,e,t,i,r,o,s,l))},h=()=>{let e=t.target=$n(t.props,f),n=Vn(e,t,m,p);e&&("svg"!==o&&Dn(e)?o="svg":"mathml"!==o&&jn(e)&&(o="mathml"),g||(d(e,n),Bn(t)))};g&&(d(n,u),Bn(t)),(e=>e&&(e.defer||""===e.defer))(t.props)?xi(h,r):h()}else{t.el=e.el,t.targetStart=e.targetStart;let a=t.anchor=e.anchor,c=t.target=e.target,p=t.targetAnchor=e.targetAnchor,m=In(e.props),v=m?n:c;if("svg"===o||Dn(c)?o="svg":("mathml"===o||jn(c))&&(o="mathml"),y?(h(e.dynamicChildren,y,v,i,r,o,s),Pi(e,t,!0)):l||d(e,t,v,m?a:p,i,r,o,s,!1),g)m?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Fn(t,n,a,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=$n(t.props,f);e&&Fn(t,e,null,u,0)}else m&&Fn(t,c,p,u,1);Bn(t)}},remove(e,t,n,{um:a,o:{remove:i}},r){let{shapeFlag:o,children:s,anchor:l,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(i(u),i(c)),r&&i(l),16&o){let e=r||!In(h);for(let i=0;ie[a]});return n},e.createRenderer=function(e){return Ci(e)},e.createSSRApp=cs,e.createSlots=function(e,t){for(let n=0;n{let t=a.fn(...e);return t&&(t.key=a.key),t}:a.fn)}return e},e.createStaticVNode=function(e,t){let n=mr(tr,null,e);return n.staticCount=t,n},e.createTextVNode=_r,e.createVNode=mr,e.customRef=tn,e.defineAsyncComponent=/*! #__NO_SIDE_EFFECTS__ */function(e){let t;A(e)&&(e={loader:e});let{loader:n,loadingComponent:a,errorComponent:i,delay:r=200,hydrate:o,timeout:s,suspensible:l=!0,onError:u}=e,c=null,d=0,h=()=>{let e;return c||(e=c=n().catch((e=>{if(e=e instanceof Error?e:Error(String(e)),u)return new Promise(((t,n)=>{u(e,(()=>t((d++,c=null,h()))),(()=>n(e)),d+1)}));throw e})).then((n=>e!==c&&c?c:(n&&(n.__esModule||"Module"===n[Symbol.toStringTag])&&(n=n.default),t=n,n))))};return ia({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(e,n,a){let i=o?()=>{let t=o(a,(t=>function(e,t){if(ca(e)&&"["===e.data){let n=1,a=e.nextSibling;for(;a;){if(1===a.nodeType){if(!1===t(a))break}else if(ca(a))if("]"===a.data){if(0==--n)break}else"["===a.data&&n++;a=a.nextSibling}}else t(e)}(e,t)));t&&(n.bum||(n.bum=[])).push(t)}:a;t?i():h().then((()=>!n.isUnmounted&&i()))},get __asyncResolved(){return t},setup(){let e=Tr;if(ra(e),t)return()=>va(t,e);let n=t=>{c=null,pn(t,e,13,!i)};if(l&&e.suspense)return h().then((t=>()=>va(t,e))).catch((e=>(n(e),()=>i?mr(i,{error:e}):null)));let o=Yt(!1),u=Yt(),d=Yt(!!r);return r&&setTimeout((()=>{d.value=!1}),r),null!=s&&setTimeout((()=>{if(!o.value&&!u.value){let e=Error(`Async component timed out after ${s}ms.`);n(e),u.value=e}}),s),h().then((()=>{o.value=!0,e.parent&&ga(e.parent.vnode)&&e.parent.update()})).catch((e=>{n(e),u.value=e})),()=>o.value&&t?va(t,e):u.value&&i?mr(i,{error:u.value}):a&&!d.value?mr(a):void 0}})},e.defineComponent=ia,e.defineCustomElement=Lo,e.defineEmits=function(){return null},e.defineExpose=function(e){},e.defineModel=function(){},e.defineOptions=function(e){},e.defineProps=function(){return null},e.defineSSRCustomElement=(e,t)=>Lo(e,t,cs),e.defineSlots=function(){return null},e.devtools=void 0,e.effect=function(e,t){e.effect instanceof we&&(e=e.effect.fn);let n=new we(e);t&&k(n,t);try{n.run()}catch(e){throw n.stop(),e}let a=n.run.bind(n);return a.effect=n,a},e.effectScope=function(e){return new be(e)},e.getCurrentInstance=Mr,e.getCurrentScope=function(){return i},e.getCurrentWatcher=function(){return p},e.getTransitionRawChildren=aa,e.guardReactiveProps=vr,e.h=$r,e.handleError=pn,e.hasInjectionContext=function(){return!!(Tr||An||ri)},e.hydrate=(...e)=>{ss().hydrate(...e)},e.hydrateOnIdle=(e=1e4)=>t=>{let n=requestIdleCallback(t,{timeout:e});return()=>cancelIdleCallback(n)},e.hydrateOnInteraction=(e=[])=>(t,n)=>{L(e)&&(e=[e]);let a=!1,i=e=>{a||(a=!0,r(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},r=()=>{n((t=>{for(let n of e)t.removeEventListener(n,i)}))};return n((t=>{for(let n of e)t.addEventListener(n,i,{once:!0})})),r},e.hydrateOnMediaQuery=e=>t=>{if(e){let n=matchMedia(e);if(!n.matches)return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t);t()}},e.hydrateOnVisible=e=>(t,n)=>{let a=new IntersectionObserver((e=>{for(let n of e)if(n.isIntersecting){a.disconnect(),t();break}}),e);return n((e=>{if(e instanceof Element){if(function(e){let{top:t,left:n,bottom:a,right:i}=e.getBoundingClientRect(),{innerHeight:r,innerWidth:o}=window;return(t>0&&t0&&a0&&n0&&ia.disconnect()},e.initCustomFormatter=function(){},e.initDirectivesForSSR=_,e.inject=si,e.isMemoSame=Fr,e.isProxy=Ft,e.isReactive=Dt,e.isReadonly=jt,e.isRef=Wt,e.isRuntimeOnly=()=>!u,e.isShallow=$t,e.isVNode=cr,e.markRaw=Vt,e.mergeDefaults=function(e,t){let n=Wa(e);for(let e in t){if(e.startsWith("__skip"))continue;let a=n[e];a?T(a)||A(a)?a=n[e]={type:a,default:t[e]}:a.default=t[e]:null===a&&(a=n[e]={default:t[e]}),a&&t[`__skip_${e}`]&&(a.skipFactory=!0)}return n},e.mergeModels=function(e,t){return e&&t?T(e)&&T(t)?e.concat(t):k({},Wa(e),Wa(t)):e||t},e.mergeProps=kr,e.nextTick=xn,e.normalizeClass=se,e.normalizeProps=function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!L(t)&&(e.class=se(t)),n&&(e.style=ne(n)),e},e.normalizeStyle=ne,e.onActivated=ba,e.onBeforeMount=Ta,e.onBeforeUnmount=Aa,e.onBeforeUpdate=Ea,e.onDeactivated=ya,e.onErrorCaptured=za,e.onMounted=Ma,e.onRenderTracked=Ra,e.onRenderTriggered=Na,e.onScopeDispose=function(e,t=!1){i&&i.cleanups.push(e)},e.onServerPrefetch=Oa,e.onUnmounted=La,e.onUpdated=Pa,e.onWatcherCleanup=un,e.openBlock=ir,e.popScopeId=function(){Ln=null},e.provide=oi,e.proxyRefs=Jt,e.pushScopeId=function(e){Ln=e},e.queuePostFlushCb=Tn,e.reactive=Rt,e.readonly=qt,e.ref=Yt,e.registerRuntimeCompiler=Nr,e.render=ls,e.renderList=function(e,t,n,a){let i,r=n&&n[a],o=T(e);if(o||L(e)){let n=!1;o&&Dt(e)&&(n=!$t(e),e=Ue(e)),i=Array(e.length);for(let a=0,o=e.length;at(e,n,void 0,r&&r[n])));else{let n=Object.keys(e);i=Array(n.length);for(let a=0,o=n.length;a!cr(t)||!(t.type===er||t.type===Xi&&!e(t.children))))?t:null}(r(n)),s=ur(Xi,{key:(n.key||o&&o.key||`_${t}`)+(!o&&a?"_fb":"")},o||(a?a():[]),o&&1===e._?64:-2);return!i&&s.scopeId&&(s.slotScopeIds=[s.scopeId+"-s"]),r&&r._c&&(r._d=!0),s},e.resolveComponent=function(e,t){return Da(qa,e,!0,t)||e},e.resolveDirective=function(e){return Da("directives",e)},e.resolveDynamicComponent=function(e){return L(e)?Da(qa,e,!1)||e:e||Ia},e.resolveFilter=null,e.resolveTransitionHooks=Jn,e.setBlockTracking=sr,e.setDevtoolsHook=_,e.setTransitionHooks=na,e.shallowReactive=zt,e.shallowReadonly=function(e){return It(e,!0,lt,Pt,Nt)},e.shallowRef=Qt,e.ssrContextKey=Li,e.ssrUtils=null,e.stop=function(e){e.effect.stop()},e.toDisplayString=ve,e.toHandlerKey=Q,e.toHandlers=function(e,t){let n={};for(let a in e)n[t&&/[A-Z]/.test(a)?`on:${a}`:Q(a)]=e[a];return n},e.toRaw=Bt,e.toRef=function(e,t,n){return Wt(e)?e:A(e)?new an(e):N(e)&&arguments.length>1?rn(e,t,n):Yt(e)},e.toRefs=function(e){let t=T(e)?Array(e.length):{};for(let n in e)t[n]=rn(e,n);return t},e.toValue=function(e){return A(e)?e():Zt(e)},e.transformVNodeArgs=function(e){},e.triggerRef=function(e){e.dep&&e.dep.trigger()},e.unref=Zt,e.useAttrs=function(){return Ua().attrs},e.useCssModule=function(e="$style"){return v},e.useCssVars=function(e){let t=Mr();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>vo(e,n)))},a=()=>{let a=e(t.proxy);t.ce?vo(t.ce,a):function e(t,n){if(128&t.shapeFlag){let a=t.suspense;t=a.activeBranch,a.pendingBranch&&!a.isHydrating&&a.effects.push((()=>{e(a.activeBranch,n)}))}for(;t.component;)t=t.component.subTree;if(1&t.shapeFlag&&t.el)vo(t.el,n);else if(t.type===Xi)t.children.forEach((t=>e(t,n)));else if(t.type===tr){let{el:e,anchor:a}=t;for(;e&&(vo(e,n),e!==a);)e=e.nextSibling}}(t.subTree,a),n(a)};Ta((()=>{Oi(a)})),Ma((()=>{let e=new MutationObserver(a);e.observe(t.subTree.el.parentNode,{childList:!0}),La((()=>e.disconnect()))}))},e.useHost=Ro,e.useId=function(){let e=Mr();if(e)return(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++},e.useModel=function(e,t,n=v){let a=Mr(),i=H(t),r=W(t),o=Ii(e,t),s=tn(((o,s)=>{let l,u,c=v;return Ni((()=>{let n=e[t];K(l,n)&&(l=n,s())})),{get:()=>(o(),n.get?n.get(l):l),set(e){let o=n.set?n.set(e):e;if(!(K(o,l)||c!==v&&K(e,c)))return;let d=a.vnode.props;d&&(t in d||i in d||r in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${r}`in d)||(l=e,s()),a.emit(`update:${t}`,o),K(e,o)&&K(e,c)&&!K(o,u)&&s(),c=e,u=o}}}));return s[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||v:s,done:!1}:{done:!0}}},s},e.useSSRContext=()=>{},e.useShadowRoot=function(){let e=Ro();return e&&e.shadowRoot},e.useSlots=function(){return Ua().slots},e.useTemplateRef=function(e){let t=Mr(),n=Qt(null);return t&&Object.defineProperty(t.refs===v?t.refs={}:t.refs,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e}),n},e.useTransitionState=Wn,e.vModelCheckbox=Qo,e.vModelDynamic={created(e,t,n){ts(e,t,n,null,"created")},mounted(e,t,n){ts(e,t,n,null,"mounted")},beforeUpdate(e,t,n,a){ts(e,t,n,a,"beforeUpdate")},updated(e,t,n,a){ts(e,t,n,a,"updated")}},e.vModelRadio=Go,e.vModelSelect=Zo,e.vModelText=Yo,e.vShow={beforeMount(e,{value:t},{transition:n}){e[ho]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):fo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),fo(e,!0),a.enter(e)):a.leave(e,(()=>{fo(e,!1)})):fo(e,t))},beforeUnmount(e,{value:t}){fo(e,t)}},e.version=Br,e.warn=_,e.watch=function(e,t,n){return Ri(e,t,n)},e.watchEffect=function(e,t){return Ri(e,null,t)},e.watchPostEffect=Oi,e.watchSyncEffect=Ni,e.withAsyncContext=function(e){let t=Mr(),n=e();return Pr(),R(n)&&(n=n.catch((e=>{throw Er(t),e}))),[n,()=>Er(t)]},e.withCtx=Nn,e.withDefaults=function(e,t){return null},e.withDirectives=function(e,t){if(null===An)return e;let n=Ir(An),a=e.dirs||(e.dirs=[]);for(let e=0;e{let n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=n=>{if(!("key"in n))return;let a=W(n.key);return t.some((e=>e===a||is[e]===a))?e(n):void 0})},e.withMemo=function(e,t,n,a){let i=n[a];if(i&&Fr(i,e))return i;let r=t();return r.memo=e.slice(),r.cacheIndex=a,n[a]=r},e.withModifiers=(e,t)=>{let n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=(n,...a)=>{for(let e=0;eNn,e}({}); +var Vue=function(e){"use strict";var t,n;let a,i,r,o,s,l,u,c,d,h,p,f;/*! #__NO_SIDE_EFFECTS__ */function m(e){let t=Object.create(null);for(let n of e.split(","))t[n]=1;return e=>e in t}let g={},v=[],b=()=>{},_=()=>!1,y=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||97>e.charCodeAt(2)),w=e=>e.startsWith("onUpdate:"),k=Object.assign,x=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},S=Object.prototype.hasOwnProperty,C=(e,t)=>S.call(e,t),E=Array.isArray,T=e=>"[object Map]"===z(e),A=e=>"[object Set]"===z(e),M=e=>"[object Date]"===z(e),P=e=>"function"==typeof e,L=e=>"string"==typeof e,O=e=>"symbol"==typeof e,N=e=>null!==e&&"object"==typeof e,R=e=>(N(e)||P(e))&&P(e.then)&&P(e.catch),I=Object.prototype.toString,z=e=>I.call(e),q=e=>z(e).slice(8,-1),D=e=>"[object Object]"===z(e),j=e=>L(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,$=m(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),B=m("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),F=e=>{let t=Object.create(null);return n=>t[n]||(t[n]=e(n))},V=/-(\w)/g,U=F((e=>e.replace(V,((e,t)=>t?t.toUpperCase():"")))),H=/\B([A-Z])/g,W=F((e=>e.replace(H,"-$1").toLowerCase())),Y=F((e=>e.charAt(0).toUpperCase()+e.slice(1))),Q=F((e=>e?`on${Y(e)}`:"")),K=(e,t)=>!Object.is(e,t),G=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:a,value:n})},J=e=>{let t=parseFloat(e);return isNaN(t)?e:t},X=e=>{let t=L(e)?Number(e):NaN;return isNaN(t)?e:t},ee=()=>a||(a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}),te=m("Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol");function ne(e){if(E(e)){let t={};for(let n=0;n{if(e){let n=e.split(ie);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function se(e){let t="";if(L(e))t=e;else if(E(e))for(let n=0;npe(e,t)))}let me=e=>!(!e||!0!==e.__v_isRef),ge=e=>L(e)?e:null==e?"":E(e)||N(e)&&(e.toString===I||!P(e.toString))?me(e)?ge(e.value):JSON.stringify(e,ve,2):String(e),ve=(e,t)=>me(t)?ve(e,t.value):T(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,[t,n],a)=>(e[be(t,a)+" =>"]=n,e)),{})}:A(t)?{[`Set(${t.size})`]:[...t.values()].map((e=>be(e)))}:O(t)?be(t):!N(t)||E(t)||D(t)?t:String(t),be=(e,t="")=>{var n;return O(e)?`Symbol(${null!=(n=e.description)?n:t})`:e};class _e{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=i,!e&&i&&(this.index=(i.scopes||(i.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0)){for(;o;){let t=o;for(o=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,1&t.flags)try{t.trigger()}catch(t){e||(e=t)}t=n}}if(e)throw e}}function Ce(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ee(e,t=!1){let n,a=e.depsTail,i=a;for(;i;){let e=i.prevDep;-1===i.version?(i===a&&(a=e),Me(i,t),function(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}(i)):n=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=e}e.deps=n,e.depsTail=a}function Te(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ae(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ae(e){if(4&e.flags&&!(16&e.flags)||(e.flags&=-17,e.globalVersion===Ie))return;e.globalVersion=Ie;let t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Te(e))return void(e.flags&=-3);let n=r,a=Pe;r=e,Pe=!0;try{Ce(e);let n=e.fn(e._value);(0===t.version||K(n,e._value))&&(e._value=n,t.version++)}catch(e){throw t.version++,e}finally{r=n,Pe=a,Ee(e,!0),e.flags&=-3}}function Me(e,t=!1){let{dep:n,prevSub:a,nextSub:i}=e;if(a&&(a.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=a,e.nextSub=void 0),n.subs===e&&(n.subs=a),!n.subs)if(n.computed){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Me(e,!0)}else!n.map||t||(n.map.delete(n.key),n.map.size||De.delete(n.target))}let Pe=!0,Le=[];function Oe(){Le.push(Pe),Pe=!1}function Ne(){let e=Le.pop();Pe=void 0===e||e}function Re(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=r;r=void 0;try{t()}finally{r=e}}}let Ie=0;class ze{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class qe{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.target=void 0,this.map=void 0,this.key=void 0}track(e){if(!r||!Pe||r===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==r)t=this.activeLink=new ze(r,this),r.deps?(t.prevDep=r.depsTail,r.depsTail.nextDep=t,r.depsTail=t):r.deps=r.depsTail=t,4&r.flags&&function e(t){let n=t.dep.computed;if(n&&!t.dep.subs){n.flags|=20;for(let t=n.deps;t;t=t.nextDep)e(t)}let a=t.dep.subs;a!==t&&(t.prevSub=a,a&&(a.nextSub=t)),t.dep.subs=t}(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=r.depsTail,t.nextDep=void 0,r.depsTail.nextDep=t,r.depsTail=t,r.deps===t&&(r.deps=e)}return t}trigger(e){this.version++,Ie++,this.notify(e)}notify(e){ke++;try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Se()}}}let De=new WeakMap,je=Symbol(""),$e=Symbol(""),Be=Symbol("");function Fe(e,t,n){if(Pe&&r){let t=De.get(e);t||De.set(e,t=new Map);let a=t.get(n);a||(t.set(n,a=new qe),a.target=e,a.map=t,a.key=n),a.track()}}function Ve(e,t,n,a,i,r){let o=De.get(e);if(!o)return void Ie++;let s=e=>{e&&e.trigger()};if(ke++,"clear"===t)o.forEach(s);else{let i=E(e),r=i&&j(n);if(i&&"length"===n){let e=Number(a);o.forEach(((t,n)=>{("length"===n||n===Be||!O(n)&&n>=e)&&s(t)}))}else switch(void 0!==n&&s(o.get(n)),r&&s(o.get(Be)),t){case"add":i?r&&s(o.get("length")):(s(o.get(je)),T(e)&&s(o.get($e)));break;case"delete":!i&&(s(o.get(je)),T(e)&&s(o.get($e)));break;case"set":T(e)&&s(o.get(je))}}Se()}function Ue(e){let t=Ft(e);return t===e?t:(Fe(t,0,Be),$t(e)?t:t.map(Ut))}function He(e){return Fe(e=Ft(e),0,Be),e}let We={__proto__:null,[Symbol.iterator](){return Ye(this,Symbol.iterator,Ut)},concat(...e){return Ue(this).concat(...e.map((e=>E(e)?Ue(e):e)))},entries(){return Ye(this,"entries",(e=>(e[1]=Ut(e[1]),e)))},every(e,t){return Ke(this,"every",e,t,void 0,arguments)},filter(e,t){return Ke(this,"filter",e,t,(e=>e.map(Ut)),arguments)},find(e,t){return Ke(this,"find",e,t,Ut,arguments)},findIndex(e,t){return Ke(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ke(this,"findLast",e,t,Ut,arguments)},findLastIndex(e,t){return Ke(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ke(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ze(this,"includes",e)},indexOf(...e){return Ze(this,"indexOf",e)},join(e){return Ue(this).join(e)},lastIndexOf(...e){return Ze(this,"lastIndexOf",e)},map(e,t){return Ke(this,"map",e,t,void 0,arguments)},pop(){return Je(this,"pop")},push(...e){return Je(this,"push",e)},reduce(e,...t){return Ge(this,"reduce",e,t)},reduceRight(e,...t){return Ge(this,"reduceRight",e,t)},shift(){return Je(this,"shift")},some(e,t){return Ke(this,"some",e,t,void 0,arguments)},splice(...e){return Je(this,"splice",e)},toReversed(){return Ue(this).toReversed()},toSorted(e){return Ue(this).toSorted(e)},toSpliced(...e){return Ue(this).toSpliced(...e)},unshift(...e){return Je(this,"unshift",e)},values(){return Ye(this,"values",Ut)}};function Ye(e,t,n){let a=He(e),i=a[t]();return a===e||$t(e)||(i._next=i.next,i.next=()=>{let e=i._next();return e.value&&(e.value=n(e.value)),e}),i}let Qe=Array.prototype;function Ke(e,t,n,a,i,r){let o=He(e),s=o!==e&&!$t(e),l=o[t];if(l!==Qe[t]){let t=l.apply(e,r);return s?Ut(t):t}let u=n;o!==e&&(s?u=function(t,a){return n.call(this,Ut(t),a,e)}:n.length>2&&(u=function(t,a){return n.call(this,t,a,e)}));let c=l.call(o,u,a);return s&&i?i(c):c}function Ge(e,t,n,a){let i=He(e),r=n;return i!==e&&($t(e)?n.length>3&&(r=function(t,a,i){return n.call(this,t,a,i,e)}):r=function(t,a,i){return n.call(this,t,Ut(a),i,e)}),i[t](r,...a)}function Ze(e,t,n){let a=Ft(e);Fe(a,0,Be);let i=a[t](...n);return-1!==i&&!1!==i||!Bt(n[0])?i:(n[0]=Ft(n[0]),a[t](...n))}function Je(e,t,n=[]){Oe(),ke++;let a=Ft(e)[t].apply(e,n);return Se(),Ne(),a}let Xe=m("__proto__,__v_isRef,__isVue"),et=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(O));function tt(e){O(e)||(e=String(e));let t=Ft(this);return Fe(t,0,e),t.hasOwnProperty(e)}class nt{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){let a=this._isReadonly,i=this._isShallow;if("__v_isReactive"===t)return!a;if("__v_isReadonly"===t)return a;if("__v_isShallow"===t)return i;if("__v_raw"===t)return n===(a?i?Nt:Ot:i?Lt:Pt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let r=E(e);if(!a){let e;if(r&&(e=We[t]))return e;if("hasOwnProperty"===t)return tt}let o=Reflect.get(e,t,Wt(e)?e:n);return(O(t)?et.has(t):Xe(t))?o:(a||Fe(e,0,t),i?o:Wt(o)?r&&j(t)?o:o.value:N(o)?a?zt(o):Rt(o):o)}}class at extends nt{constructor(e=!1){super(!1,e)}set(e,t,n,a){let i=e[t];if(!this._isShallow){let t=jt(i);if($t(n)||jt(n)||(i=Ft(i),n=Ft(n)),!E(e)&&Wt(i)&&!Wt(n))return!t&&(i.value=n,!0)}let r=E(e)&&j(t)?Number(t)e,ct=e=>Reflect.getPrototypeOf(e);function dt(e,t,n=!1,a=!1){let i=Ft(e=e.__v_raw),r=Ft(t);n||(K(t,r)&&Fe(i,0,t),Fe(i,0,r));let{has:o}=ct(i),s=a?ut:n?Ht:Ut;return o.call(i,t)?s(e.get(t)):o.call(i,r)?s(e.get(r)):void(e!==i&&e.get(t))}function ht(e,t=!1){let n=this.__v_raw,a=Ft(n),i=Ft(e);return t||(K(e,i)&&Fe(a,0,e),Fe(a,0,i)),e===i?n.has(e):n.has(e)||n.has(i)}function pt(e,t=!1){return e=e.__v_raw,t||Fe(Ft(e),0,je),Reflect.get(e,"size",e)}function ft(e,t=!1){t||$t(e)||jt(e)||(e=Ft(e));let n=Ft(this);return ct(n).has.call(n,e)||(n.add(e),Ve(n,"add",e,e)),this}function mt(e,t,n=!1){n||$t(t)||jt(t)||(t=Ft(t));let a=Ft(this),{has:i,get:r}=ct(a),o=i.call(a,e);o||(e=Ft(e),o=i.call(a,e));let s=r.call(a,e);return a.set(e,t),o?K(t,s)&&Ve(a,"set",e,t):Ve(a,"add",e,t),this}function gt(e){let t=Ft(this),{has:n,get:a}=ct(t),i=n.call(t,e);i||(e=Ft(e),i=n.call(t,e)),a&&a.call(t,e);let r=t.delete(e);return i&&Ve(t,"delete",e,void 0),r}function vt(){let e=Ft(this),t=0!==e.size,n=e.clear();return t&&Ve(e,"clear",void 0,void 0),n}function bt(e,t){return function(n,a){let i=this,r=i.__v_raw,o=Ft(r),s=t?ut:e?Ht:Ut;return e||Fe(o,0,je),r.forEach(((e,t)=>n.call(a,s(e),s(t),i)))}}function _t(e,t,n){return function(...a){let i=this.__v_raw,r=Ft(i),o=T(r),s="entries"===e||e===Symbol.iterator&&o,l=i[e](...a),u=n?ut:t?Ht:Ut;return t||Fe(r,0,"keys"===e&&o?$e:je),{next(){let{value:e,done:t}=l.next();return t?{value:e,done:t}:{value:s?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function yt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}let[wt,kt,xt,St]=function(){let e={get(e){return dt(this,e)},get size(){return pt(this)},has:ht,add:ft,set:mt,delete:gt,clear:vt,forEach:bt(!1,!1)},t={get(e){return dt(this,e,!1,!0)},get size(){return pt(this)},has:ht,add(e){return ft.call(this,e,!0)},set(e,t){return mt.call(this,e,t,!0)},delete:gt,clear:vt,forEach:bt(!1,!0)},n={get(e){return dt(this,e,!0)},get size(){return pt(this,!0)},has(e){return ht.call(this,e,!0)},add:yt("add"),set:yt("set"),delete:yt("delete"),clear:yt("clear"),forEach:bt(!0,!1)},a={get(e){return dt(this,e,!0,!0)},get size(){return pt(this,!0)},has(e){return ht.call(this,e,!0)},add:yt("add"),set:yt("set"),delete:yt("delete"),clear:yt("clear"),forEach:bt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((i=>{e[i]=_t(i,!1,!1),n[i]=_t(i,!0,!1),t[i]=_t(i,!1,!0),a[i]=_t(i,!0,!0)})),[e,n,t,a]}();function Ct(e,t){let n=t?e?St:xt:e?kt:wt;return(t,a,i)=>"__v_isReactive"===a?!e:"__v_isReadonly"===a?e:"__v_raw"===a?t:Reflect.get(C(n,a)&&a in t?n:t,a,i)}let Et={get:Ct(!1,!1)},Tt={get:Ct(!1,!0)},At={get:Ct(!0,!1)},Mt={get:Ct(!0,!0)},Pt=new WeakMap,Lt=new WeakMap,Ot=new WeakMap,Nt=new WeakMap;function Rt(e){return jt(e)?e:qt(e,!1,rt,Et,Pt)}function It(e){return qt(e,!1,st,Tt,Lt)}function zt(e){return qt(e,!0,ot,At,Ot)}function qt(e,t,n,a,i){if(!N(e)||e.__v_raw&&(!t||!e.__v_isReactive))return e;let r=i.get(e);if(r)return r;let o=e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(q(e));if(0===o)return e;let s=new Proxy(e,2===o?a:n);return i.set(e,s),s}function Dt(e){return jt(e)?Dt(e.__v_raw):!(!e||!e.__v_isReactive)}function jt(e){return!(!e||!e.__v_isReadonly)}function $t(e){return!(!e||!e.__v_isShallow)}function Bt(e){return!!e&&!!e.__v_raw}function Ft(e){let t=e&&e.__v_raw;return t?Ft(t):e}function Vt(e){return!C(e,"__v_skip")&&Object.isExtensible(e)&&Z(e,"__v_skip",!0),e}let Ut=e=>N(e)?Rt(e):e,Ht=e=>N(e)?zt(e):e;function Wt(e){return!!e&&!0===e.__v_isRef}function Yt(e){return Kt(e,!1)}function Qt(e){return Kt(e,!0)}function Kt(e,t){return Wt(e)?e:new Gt(e,t)}class Gt{constructor(e,t){this.dep=new qe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Ft(e),this._value=t?e:Ut(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||$t(e)||jt(e);K(e=n?e:Ft(e),t)&&(this._rawValue=e,this._value=n?e:Ut(e),this.dep.trigger())}}function Zt(e){return Wt(e)?e.value:e}let Jt={get:(e,t,n)=>"__v_raw"===t?e:Zt(Reflect.get(e,t,n)),set:(e,t,n,a)=>{let i=e[t];return Wt(i)&&!Wt(n)?(i.value=n,!0):Reflect.set(e,t,n,a)}};function Xt(e){return Dt(e)?e:new Proxy(e,Jt)}class en{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new qe,{get:n,set:a}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=a}get value(){return this._value=this._get()}set value(e){this._set(e)}}function tn(e){return new en(e)}class nn{constructor(e,t,n){this._object=e,this._key=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){let e=this._object[this._key];return this._value=void 0===e?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){var e,t,n;return e=Ft(this._object),t=this._key,null==(n=De.get(e))?void 0:n.get(t)}}class an{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function rn(e,t,n){let a=e[t];return Wt(a)?a:new nn(e,t,n)}class on{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new qe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ie-1,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&r!==this)return xe(this),!0}get value(){let e=this.dep.track();return Ae(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}let sn={},ln=new WeakMap;function un(e,t=!1,n=p){if(n){let t=ln.get(n);t||ln.set(n,t=[]),t.push(e)}}function cn(e,t=1/0,n){if(t<=0||!N(e)||e.__v_skip||(n=n||new Set).has(e))return e;if(n.add(e),t--,Wt(e))cn(e.value,t,n);else if(E(e))for(let a=0;a{cn(e,t,n)}));else if(D(e)){for(let a in e)cn(e[a],t,n);for(let a of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,a)&&cn(e[a],t,n)}return e}function dn(e,t,n,a){try{return a?e(...a):e()}catch(e){pn(e,t,n)}}function hn(e,t,n,a){if(P(e)){let i=dn(e,t,n,a);return i&&R(i)&&i.catch((e=>{pn(e,t,n)})),i}if(E(e)){let i=[];for(let r=0;r=Mn(n)?gn.push(e):gn.splice(function(e){let t=fn?vn+1:0,n=gn.length;for(;t>>1,i=gn[a],r=Mn(i);rMn(e)-Mn(t)));if(bn.length=0,_n)return void _n.push(...e);for(yn=0,_n=e;yn<_n.length;yn++){let e=_n[yn];4&e.flags&&(e.flags&=-2),8&e.flags||e(),e.flags&=-2}_n=null,yn=0}}let Mn=e=>null==e.id?2&e.flags?-1:1/0:e.id,Pn=null,Ln=null;function On(e){let t=Pn;return Pn=e,Ln=e&&e.type.__scopeId||null,t}function Nn(e,t=Pn,n){if(!t||e._n)return e;let a=(...n)=>{let i;a._d&&sr(-1);let r=On(t);try{i=e(...n)}finally{On(r),a._d&&sr(1)}return i};return a._n=!0,a._c=!0,a._d=!0,a}function Rn(e,t,n,a){let i=e.dirs,r=t&&t.dirs;for(let o=0;oe.__isTeleport,qn=e=>e&&(e.disabled||""===e.disabled),Dn=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,jn=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,$n=(e,t)=>{let n=e&&e.to;return L(n)?t?t(n):null:n};function Bn(e,t,n,{o:{insert:a},m:i},r=2){0===r&&a(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:l,children:u,props:c}=e,d=2===r;if(d&&a(o,t,n),(!d||qn(c))&&16&l)for(let e=0;e{e.isMounted=!0})),Pa((()=>{e.isUnmounting=!0})),e}let Yn=[Function,Array],Qn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Yn,onEnter:Yn,onAfterEnter:Yn,onEnterCancelled:Yn,onBeforeLeave:Yn,onLeave:Yn,onAfterLeave:Yn,onLeaveCancelled:Yn,onBeforeAppear:Yn,onAppear:Yn,onAfterAppear:Yn,onAppearCancelled:Yn},Kn=e=>{let t=e.subTree;return t.component?Kn(t.component):t};function Gn(e){let t=e[0];if(e.length>1)for(let n of e)if(n.type!==er){t=n;break}return t}let Zn={name:"BaseTransition",props:Qn,setup(e,{slots:t}){let n=Tr(),a=Wn();return()=>{let i=t.default&&aa(t.default(),!0);if(!i||!i.length)return;let r=Gn(i),o=Ft(e),{mode:s}=o;if(a.isLeaving)return ea(r);let l=ta(r);if(!l)return ea(r);let u=Xn(l,o,a,n,(e=>u=e));l.type!==er&&na(l,u);let c=n.subTree,d=c&&ta(c);if(d&&d.type!==er&&!dr(l,d)&&Kn(n).type!==er){let e=Xn(d,o,a,n);if(na(d,e),"out-in"===s&&l.type!==er)return a.isLeaving=!0,e.afterLeave=()=>{a.isLeaving=!1,8&n.job.flags||n.update(),delete e.afterLeave},ea(r);"in-out"===s&&l.type!==er&&(e.delayLeave=(e,t,n)=>{Jn(a,d)[String(d.key)]=d,e[Un]=()=>{t(),e[Un]=void 0,delete u.delayedLeave},u.delayedLeave=n})}return r}}};function Jn(e,t){let{leavingVNodes:n}=e,a=n.get(t.type);return a||(a=Object.create(null),n.set(t.type,a)),a}function Xn(e,t,n,a,i){let{appear:r,mode:o,persisted:s=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:v,onAfterAppear:b,onAppearCancelled:_}=t,y=String(e.key),w=Jn(n,e),k=(e,t)=>{e&&hn(e,a,9,t)},x=(e,t)=>{let n=t[1];k(e,t),E(e)?e.every((e=>e.length<=1))&&n():e.length<=1&&n()},S={mode:o,persisted:s,beforeEnter(t){let a=l;if(!n.isMounted){if(!r)return;a=g||l}t[Un]&&t[Un](!0);let i=w[y];i&&dr(e,i)&&i.el[Un]&&i.el[Un](),k(a,[t])},enter(e){let t=u,a=c,i=d;if(!n.isMounted){if(!r)return;t=v||u,a=b||c,i=_||d}let o=!1,s=e[Hn]=t=>{o||(o=!0,k(t?i:a,[e]),S.delayedLeave&&S.delayedLeave(),e[Hn]=void 0)};t?x(t,[e,s]):s()},leave(t,a){let i=String(e.key);if(t[Hn]&&t[Hn](!0),n.isUnmounting)return a();k(h,[t]);let r=!1,o=t[Un]=n=>{r||(r=!0,a(),k(n?m:f,[t]),t[Un]=void 0,w[i]!==e||delete w[i])};w[i]=e,p?x(p,[t,o]):o()},clone(e){let r=Xn(e,t,n,a,i);return i&&i(r),r}};return S}function ea(e){if(va(e))return(e=vr(e)).children=null,e}function ta(e){if(!va(e))return zn(e.type)&&e.children?Gn(e.children):e;let{shapeFlag:t,children:n}=e;if(n){if(16&t)return n[0];if(32&t&&P(n.default))return n.default()}}function na(e,t){6&e.shapeFlag&&e.component?(e.transition=t,na(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function aa(e,t=!1,n){let a=[],i=0;for(let r=0;r1)for(let e=0;eoa(e,t&&(E(t)?t[r]:t),n,a,i)));if(ma(a)&&!i)return;let r=4&a.shapeFlag?qr(a.component):a.el,o=i?null:r,{i:s,r:l}=e,u=t&&t.r,c=s.refs===g?s.refs={}:s.refs,d=s.setupState,h=Ft(d),p=d===g?()=>!1:e=>C(h,e);if(null!=u&&u!==l&&(L(u)?(c[u]=null,p(u)&&(d[u]=null)):Wt(u)&&(u.value=null)),P(l))dn(l,s,12,[o,c]);else{let t=L(l),a=Wt(l);if(t||a){let s=()=>{if(e.f){let n=t?p(l)?d[l]:c[l]:l.value;i?E(n)&&x(n,r):E(n)?n.includes(r)||n.push(r):t?(c[l]=[r],p(l)&&(d[l]=c[l])):(l.value=[r],e.k&&(c[e.k]=l.value))}else t?(c[l]=o,p(l)&&(d[l]=o)):a&&(l.value=o,e.k&&(c[e.k]=o))};o?(s.id=-1,xi(s,n)):s()}}}let sa=!1,la=()=>{sa||(console.error("Hydration completed but contains mismatches."),sa=!0)},ua=e=>{if(1===e.nodeType){if((e=>e.namespaceURI.includes("svg")&&"foreignObject"!==e.tagName)(e))return"svg";if((e=>e.namespaceURI.includes("MathML"))(e))return"mathml"}},ca=e=>8===e.nodeType;function da(e){let{mt:t,p:n,o:{patchProp:a,createText:i,nextSibling:r,parentNode:o,remove:s,insert:l,createComment:u}}=e,c=(n,a,s,u,b,_=!1)=>{_=_||!!a.dynamicChildren;let y=ca(n)&&"["===n.data,w=()=>f(n,a,s,u,b,y),{type:k,ref:x,shapeFlag:S,patchFlag:C}=a,E=n.nodeType;a.el=n,-2===C&&(_=!1,a.dynamicChildren=null);let T=null;switch(k){case Xi:3!==E?""===a.children?(l(a.el=i(""),o(n),n),T=n):T=w():(n.data!==a.children&&(la(),n.data=a.children),T=r(n));break;case er:v(n)?(T=r(n),g(a.el=n.content.firstChild,n,s)):T=8!==E||y?w():r(n);break;case tr:if(y&&(E=(n=r(n)).nodeType),1===E||3===E){T=n;let e=!a.children.length;for(let t=0;t{o=o||!!t.dynamicChildren;let{type:l,props:u,patchFlag:c,shapeFlag:d,dirs:p,transition:f}=t,m="input"===l||"option"===l;if(m||-1!==c){let l;p&&Rn(t,null,n,"created");let b=!1;if(v(e)){b=Ai(i,f)&&n&&n.vnode.props&&n.vnode.props.appear;let a=e.content.firstChild;b&&f.beforeEnter(a),g(a,e,n),t.el=e=a}if(16&d&&(!u||!u.innerHTML&&!u.textContent)){let a=h(e.firstChild,t,e,n,i,r,o);for(;a;){fa(e,1)||la();let t=a;a=a.nextSibling,s(t)}}else if(8&d){let n=t.children;"\n"===n[0]&&("PRE"===e.tagName||"TEXTAREA"===e.tagName)&&(n=n.slice(1)),e.textContent!==n&&(fa(e,0)||la(),e.textContent=t.children)}if(u)if(m||!o||48&c){let t=e.tagName.includes("-");for(let i in u)(m&&(i.endsWith("value")||"indeterminate"===i)||y(i)&&!$(i)||"."===i[0]||t)&&a(e,i,null,u[i],void 0,n)}else if(u.onClick)a(e,"onClick",null,u.onClick,void 0,n);else if(4&c&&Dt(u.style))for(let e in u.style)u.style[e];(l=u&&u.onVnodeBeforeMount)&&xr(l,n,t),p&&Rn(t,null,n,"beforeMount"),((l=u&&u.onVnodeMounted)||p||b)&&Gi((()=>{l&&xr(l,n,t),b&&f.enter(e),p&&Rn(t,null,n,"mounted")}),i)}return e.nextSibling},h=(e,t,a,o,s,u,d)=>{d=d||!!t.dynamicChildren;let h=t.children,p=h.length;for(let t=0;t{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=o(e),p=h(r(e),t,d,n,a,i,s);return p&&ca(p)&&"]"===p.data?r(t.anchor=p):(la(),l(t.anchor=u("]"),d,p),p)},f=(e,t,a,i,l,u)=>{if(fa(e.parentElement,1)||la(),t.el=null,u){let t=m(e);for(;;){let n=r(e);if(!n||n===t)break;s(n)}}let c=r(e),d=o(e);return s(e),n(null,t,d,c,a,i,ua(d),l),c},m=(e,t="[",n="]")=>{let a=0;for(;e;)if((e=r(e))&&ca(e)&&(e.data===t&&a++,e.data===n)){if(0===a)return r(e);a--}return e},g=(e,t,n)=>{let a=t.parentNode;a&&a.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},v=e=>1===e.nodeType&&"TEMPLATE"===e.tagName;return[(e,t)=>{if(!t.hasChildNodes())return n(null,e,t),An(),void(t._vnode=e);c(t.firstChild,e,null,null,null),An(),t._vnode=e},c]}let ha="data-allow-mismatch",pa={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function fa(e,t){if(0===t||1===t)for(;e&&!e.hasAttribute(ha);)e=e.parentElement;let n=e&&e.getAttribute(ha);if(null==n)return!1;if(""===n)return!0;{let e=n.split(",");return!(0!==t||!e.includes("children"))||n.split(",").includes(pa[t])}}let ma=e=>!!e.type.__asyncLoader;function ga(e,t){let{ref:n,props:a,children:i,ce:r}=t.vnode,o=mr(e,a,i);return o.ref=n,o.ce=r,delete t.vnode.ce,o}let va=e=>e.type.__isKeepAlive;function ba(e,t){return E(e)?e.some((e=>ba(e,t))):L(e)?e.split(",").includes(t):!!(e=>"[object RegExp]"===z(e))(e)&&(e.lastIndex=0,e.test(t))}function _a(e,t){wa(e,"a",t)}function ya(e,t){wa(e,"da",t)}function wa(e,t,n=Er){let a=e.__wdc||(e.__wdc=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(Sa(t,a,n),n){let e=n.parent;for(;e&&e.parent;)va(e.parent.vnode)&&function(e,t,n,a){let i=Sa(t,e,a,!0);La((()=>{x(a[t],i)}),n)}(a,t,n,e),e=e.parent}}function ka(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function xa(e){return 128&e.shapeFlag?e.ssContent:e}function Sa(e,t,n=Er,a=!1){if(n){let i=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...a)=>{Oe();let i=Ar(n),r=hn(t,n,e,a);return i(),Ne(),r});return a?i.unshift(r):i.push(r),r}}let Ca=e=>(t,n=Er)=>{Lr&&"sp"!==e||Sa(e,((...e)=>t(...e)),n)},Ea=Ca("bm"),Ta=Ca("m"),Aa=Ca("bu"),Ma=Ca("u"),Pa=Ca("bum"),La=Ca("um"),Oa=Ca("sp"),Na=Ca("rtg"),Ra=Ca("rtc");function Ia(e,t=Er){Sa("ec",e,t)}let za="components",qa=Symbol.for("v-ndc");function Da(e,t,n=!0,a=!1){let i=Pn||Er;if(i){let n=i.type;if(e===za){let e=Dr(n,!1);if(e&&(e===t||e===U(t)||e===Y(U(t))))return n}let r=ja(i[e]||n[e],t)||ja(i.appContext[e],t);return!r&&a?n:r}}function ja(e,t){return e&&(e[t]||e[U(t)]||e[Y(U(t))])}let $a=e=>e?Pr(e)?qr(e):$a(e.parent):null,Ba=k(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>$a(e.parent),$root:e=>$a(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ka(e),$forceUpdate:e=>e.f||(e.f=()=>{Sn(e.update)}),$nextTick:e=>e.n||(e.n=xn.bind(e.proxy)),$watch:e=>Ii.bind(e)}),Fa=(e,t)=>e!==g&&!e.__isScriptSetup&&C(e,t),Va={get({_:e},t){let n,a,i;if("__v_skip"===t)return!0;let{ctx:r,setupState:o,data:s,props:l,accessCache:u,type:c,appContext:d}=e;if("$"!==t[0]){let a=u[t];if(void 0!==a)switch(a){case 1:return o[t];case 2:return s[t];case 4:return r[t];case 3:return l[t]}else{if(Fa(o,t))return u[t]=1,o[t];if(s!==g&&C(s,t))return u[t]=2,s[t];if((n=e.propsOptions[0])&&C(n,t))return u[t]=3,l[t];if(r!==g&&C(r,t))return u[t]=4,r[t];Ya&&(u[t]=0)}}let h=Ba[t];return h?("$attrs"===t&&Fe(e.attrs,0,""),h(e)):(a=c.__cssModules)&&(a=a[t])?a:r!==g&&C(r,t)?(u[t]=4,r[t]):C(i=d.config.globalProperties,t)?i[t]:void 0},set({_:e},t,n){let{data:a,setupState:i,ctx:r}=e;return Fa(i,t)?(i[t]=n,!0):a!==g&&C(a,t)?(a[t]=n,!0):!(C(e.props,t)||"$"===t[0]&&t.slice(1)in e||(r[t]=n,0))},has({_:{data:e,setupState:t,accessCache:n,ctx:a,appContext:i,propsOptions:r}},o){let s;return!!n[o]||e!==g&&C(e,o)||Fa(t,o)||(s=r[0])&&C(s,o)||C(a,o)||C(Ba,o)||C(i.config.globalProperties,o)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:C(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Ua=k({},Va,{get(e,t){if(t!==Symbol.unscopables)return Va.get(e,t,e)},has:(e,t)=>"_"!==t[0]&&!te(t)});function Ha(){let e=Tr();return e.setupContext||(e.setupContext=zr(e))}function Wa(e){return E(e)?e.reduce(((e,t)=>(e[t]=null,e)),{}):e}let Ya=!0;function Qa(e,t,n){hn(E(e)?e.map((e=>e.bind(t.proxy))):e.bind(t.proxy),t,n)}function Ka(e){let t,n=e.type,{mixins:a,extends:i}=n,{mixins:r,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,l=o.get(n);return l?t=l:r.length||a||i?(t={},r.length&&r.forEach((e=>Ga(t,e,s,!0))),Ga(t,n,s)):t=n,N(n)&&o.set(n,t),t}function Ga(e,t,n,a=!1){let{mixins:i,extends:r}=t;for(let o in r&&Ga(e,r,n,!0),i&&i.forEach((t=>Ga(e,t,n,!0))),t)if(a&&"expose"===o);else{let a=Za[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}let Za={data:Ja,props:ni,emits:ni,methods:ti,computed:ti,beforeCreate:ei,created:ei,beforeMount:ei,mounted:ei,beforeUpdate:ei,updated:ei,beforeDestroy:ei,beforeUnmount:ei,destroyed:ei,unmounted:ei,activated:ei,deactivated:ei,errorCaptured:ei,serverPrefetch:ei,components:ti,directives:ti,watch:function(e,t){if(!e)return t;if(!t)return e;let n=k(Object.create(null),e);for(let a in t)n[a]=ei(e[a],t[a]);return n},provide:Ja,inject:function(e,t){return ti(Xa(e),Xa(t))}};function Ja(e,t){return t?e?function(){return k(P(e)?e.call(this,this):e,P(t)?t.call(this,this):t)}:t:e}function Xa(e){if(E(e)){let t={};for(let n=0;n1)return n&&P(t)?t.call(a&&a.proxy):t}}let li={},ui=()=>Object.create(li),ci=e=>Object.getPrototypeOf(e)===li;function di(e,t,n,a){let i,[r,o]=e.propsOptions,s=!1;if(t)for(let l in t){let u;if($(l))continue;let c=t[l];r&&C(r,u=U(l))?o&&o.includes(u)?(i||(i={}))[u]=c:n[u]=c:ji(e.emitsOptions,l)||l in a&&c===a[l]||(a[l]=c,s=!0)}if(o){let t=Ft(n),a=i||g;for(let i=0;i"_"===e[0]||"$stable"===e,gi=e=>E(e)?e.map(_r):[_r(e)],vi=(e,t,n)=>{if(t._n)return t;let a=Nn(((...e)=>gi(t(...e))),n);return a._c=!1,a},bi=(e,t,n)=>{let a=e._ctx;for(let n in e){if(mi(n))continue;let i=e[n];if(P(i))t[n]=vi(0,i,a);else if(null!=i){let e=gi(i);t[n]=()=>e}}},_i=(e,t)=>{let n=gi(t);e.slots.default=()=>n},yi=(e,t,n)=>{for(let a in t)(n||"_"!==a)&&(e[a]=t[a])},wi=(e,t,n)=>{let a=e.slots=ui();if(32&e.vnode.shapeFlag){let e=t._;e?(yi(a,t,n),n&&Z(a,"_",e,!0)):bi(t,a)}else t&&_i(e,t)},ki=(e,t,n)=>{let{vnode:a,slots:i}=e,r=!0,o=g;if(32&a.shapeFlag){let e=t._;e?n&&1===e?r=!1:yi(i,t,n):(r=!t.$stable,bi(t,i)),o=t}else t&&(_i(e,t),o={default:1});if(r)for(let e in i)mi(e)||null!=o[e]||delete i[e]},xi=Gi;function Si(e){return Ci(e,da)}function Ci(e,t){var n;let a,i;ee().__VUE__=!0;let{insert:r,remove:o,patchProp:s,createElement:u,createText:c,createComment:d,setText:h,setElementText:p,parentNode:f,nextSibling:m,setScopeId:_=b,insertStaticContent:y}=e,w=(e,t,n,a=null,i=null,r=null,o,s=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!dr(e,t)&&(a=ie(e),J(e,i,r,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);let{type:u,ref:c,shapeFlag:d}=t;switch(u){case Xi:x(e,t,n,a);break;case er:S(e,t,n,a);break;case tr:null==e&&T(t,n,a,o);break;case Ji:D(e,t,n,a,i,r,o,s,l);break;default:1&d?A(e,t,n,a,i,r,o,s,l):6&d?j(e,t,n,a,i,r,o,s,l):(64&d||128&d)&&u.process(e,t,n,a,i,r,o,s,l,se)}null!=c&&i&&oa(c,e&&e.ref,r,t||e,!t)},x=(e,t,n,a)=>{if(null==e)r(t.el=c(t.children),n,a);else{let n=t.el=e.el;t.children!==e.children&&h(n,t.children)}},S=(e,t,n,a)=>{null==e?r(t.el=d(t.children||""),n,a):t.el=e.el},T=(e,t,n,a)=>{[e.el,e.anchor]=y(e.children,t,n,a,e.el,e.anchor)},A=(e,t,n,a,i,r,o,s,l)=>{"svg"===t.type?o="svg":"math"===t.type&&(o="mathml"),null==e?M(t,n,a,i,r,o,s,l):I(e,t,i,r,o,s,l)},M=(e,t,n,a,i,o,l,c)=>{let d,h,{props:f,shapeFlag:m,transition:g,dirs:v}=e;if(d=e.el=u(e.type,o,f&&f.is,f),8&m?p(d,e.children):16&m&&O(e.children,d,null,a,i,Ei(e,o),l,c),v&&Rn(e,null,a,"created"),L(d,e,e.scopeId,l,a),f){for(let e in f)"value"===e||$(e)||s(d,e,null,f[e],o,a);"value"in f&&s(d,"value",null,f.value,o),(h=f.onVnodeBeforeMount)&&xr(h,a,e)}v&&Rn(e,null,a,"beforeMount");let b=Ai(i,g);b&&g.beforeEnter(d),r(d,t,n),((h=f&&f.onVnodeMounted)||b||v)&&xi((()=>{h&&xr(h,a,e),b&&g.enter(d),v&&Rn(e,null,a,"mounted")}),i)},L=(e,t,n,a,i)=>{if(n&&_(e,n),a)for(let t=0;t{for(let u=l;u{let l,u=t.el=e.el,{patchFlag:c,dynamicChildren:d,dirs:h}=t;c|=16&e.patchFlag;let f=e.props||g,m=t.props||g;if(n&&Ti(n,!1),(l=m.onVnodeBeforeUpdate)&&xr(l,n,t,e),h&&Rn(t,e,n,"beforeUpdate"),n&&Ti(n,!0),(f.innerHTML&&null==m.innerHTML||f.textContent&&null==m.textContent)&&p(u,""),d?z(e.dynamicChildren,d,u,n,a,Ei(t,i),r):o||Y(e,t,u,null,n,a,Ei(t,i),r,!1),c>0){if(16&c)q(u,f,m,n,i);else if(2&c&&f.class!==m.class&&s(u,"class",null,m.class,i),4&c&&s(u,"style",f.style,m.style,i),8&c){let e=t.dynamicProps;for(let t=0;t{l&&xr(l,n,t,e),h&&Rn(t,e,n,"updated")}),a)},z=(e,t,n,a,i,r,o)=>{for(let s=0;s{if(t!==n){if(t!==g)for(let r in t)$(r)||r in n||s(e,r,t[r],null,i,a);for(let r in n){if($(r))continue;let o=n[r],l=t[r];o!==l&&"value"!==r&&s(e,r,l,o,i,a)}"value"in n&&s(e,"value",t.value,n.value,i)}},D=(e,t,n,a,i,o,s,l,u)=>{let d=t.el=e?e.el:c(""),h=t.anchor=e?e.anchor:c(""),{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=t;m&&(l=l?l.concat(m):m),null==e?(r(d,n,a),r(h,n,a),O(t.children||[],n,h,i,o,s,l,u)):p>0&&64&p&&f&&e.dynamicChildren?(z(e.dynamicChildren,f,n,i,o,s,l),(null!=t.key||i&&t===i.subTree)&&Mi(e,t,!0)):Y(e,t,n,h,i,o,s,l,u)},j=(e,t,n,a,i,r,o,s,l)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?i.ctx.activate(t,n,a,o,l):B(t,n,a,i,r,o,l):F(e,t,l)},B=(e,t,n,a,i,r,o)=>{let s=e.component=function(e,t,n){let a=e.type,i=(t?t.appContext:e.appContext)||Sr,r={uid:Cr++,vnode:e,type:a,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new _e(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:function e(t,n,a=!1){let i=a?pi:n.propsCache,r=i.get(t);if(r)return r;let o=t.props,s={},l=[],u=!1;if(!P(t)){let i=t=>{u=!0;let[a,i]=e(t,n,!0);k(s,a),i&&l.push(...i)};!a&&n.mixins.length&&n.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}if(!o&&!u)return N(t)&&i.set(t,v),v;if(E(o))for(let e=0;e{let a=e(t,n,!0);a&&(l=!0,k(s,a))};!a&&n.mixins.length&&n.mixins.forEach(i),t.extends&&i(t.extends),t.mixins&&t.mixins.forEach(i)}return o||l?(E(o)?o.forEach((e=>s[e]=null)):k(s,o),N(t)&&i.set(t,s),s):(N(t)&&i.set(t,null),null)}(a,i),emit:null,emitted:null,propsDefaults:g,inheritAttrs:a.inheritAttrs,ctx:g,data:g,props:g,attrs:g,slots:g,refs:g,setupState:g,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Di.bind(null,r),e.ce&&e.ce(r),r}(e,a,i);va(e)&&(s.ctx.renderer=se),function(e,t=!1,n=!1){t&&l(t);let{props:a,children:i}=e.vnode,r=Pr(e);(function(e,t,n,a=!1){let i={},r=ui();for(let n in e.propsDefaults=Object.create(null),di(e,t,i,r),e.propsOptions[0])n in i||(i[n]=void 0);n?e.props=a?i:It(i):e.type.props?e.props=i:e.props=r,e.attrs=r})(e,a,r,t),wi(e,i,n),r&&function(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Va);let{setup:a}=n;if(a){let n=e.setupContext=a.length>1?zr(e):null,i=Ar(e);Oe();let r=dn(a,e,0,[e.props,n]);if(Ne(),i(),R(r)){if(ma(e)||ra(e),r.then(Mr,Mr),t)return r.then((n=>{Or(e,n,t)})).catch((t=>{pn(t,e,0)}));e.asyncDep=r}else Or(e,r,t)}else Rr(e,t)}(e,t),t&&l(!1)}(s,!1,o),s.asyncDep?(i&&i.registerDep(s,V,o),e.el||S(null,s.subTree=mr(er),t,n)):V(s,e,t,n,i,r,o)},F=(e,t,n)=>{let a=t.component=e.component;if(function(e,t,n){let{props:a,children:i,component:r}=e,{props:o,children:s,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&l>=0))return(!!i||!!s)&&(!s||!s.$stable)||a!==o&&(a?!o||Vi(a,o,u):!!o);if(1024&l)return!0;if(16&l)return a?Vi(a,o,u):!!o;if(8&l){let e=t.dynamicProps;for(let t=0;t{let l=()=>{if(e.isMounted){let t,{next:n,bu:a,u:i,parent:u,vnode:c}=e;{let t=function e(t){let n=t.subTree.component;if(n)return n.asyncDep&&!n.asyncResolved?n:e(n)}(e);if(t)return n&&(n.el=c.el,H(e,n,s)),void t.asyncDep.then((()=>{e.isUnmounted||l()}))}let d=n;Ti(e,!1),n?(n.el=c.el,H(e,n,s)):n=c,a&&G(a),(t=n.props&&n.props.onVnodeBeforeUpdate)&&xr(t,u,n,c),Ti(e,!0);let h=$i(e),p=e.subTree;e.subTree=h,w(p,h,f(p.el),ie(p),e,r,o),n.el=h.el,null===d&&Ui(e,h.el),i&&xi(i,r),(t=n.props&&n.props.onVnodeUpdated)&&xi((()=>xr(t,u,n,c)),r)}else{let s,{el:l,props:u}=t,{bm:c,m:d,parent:h,root:p,type:f}=e,m=ma(t);if(Ti(e,!1),c&&G(c),!m&&(s=u&&u.onVnodeBeforeMount)&&xr(s,h,t),Ti(e,!0),l&&i){let t=()=>{e.subTree=$i(e),i(l,e.subTree,e,r,null)};m&&f.__asyncHydrate?f.__asyncHydrate(l,e,t):t()}else{p.ce&&p.ce._injectChildStyle(f);let i=e.subTree=$i(e);w(null,i,n,a,e,r,o),t.el=i.el}if(d&&xi(d,r),!m&&(s=u&&u.onVnodeMounted)){let e=t;xi((()=>xr(s,h,e)),r)}(256&t.shapeFlag||h&&ma(h.vnode)&&256&h.vnode.shapeFlag)&&e.a&&xi(e.a,r),e.isMounted=!0,t=n=a=null}};e.scope.on();let u=e.effect=new we(l);e.scope.off();let c=e.update=u.run.bind(u),d=e.job=u.runIfDirty.bind(u);d.i=e,d.id=e.uid,u.scheduler=()=>Sn(d),Ti(e,!0),c()},H=(e,t,n)=>{t.component=e;let a=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,a){let{props:i,attrs:r,vnode:{patchFlag:o}}=e,s=Ft(i),[l]=e.propsOptions,u=!1;if(!(a||o>0)||16&o){let a;for(let o in di(e,t,i,r)&&(u=!0),s)t&&(C(t,o)||(a=W(o))!==o&&C(t,a))||(l?n&&(void 0!==n[o]||void 0!==n[a])&&(i[o]=hi(l,s,o,void 0,e,!0)):delete i[o]);if(r!==s)for(let e in r)t&&C(t,e)||(delete r[e],u=!0)}else if(8&o){let n=e.vnode.dynamicProps;for(let a=0;a{let u=e&&e.children,c=e?e.shapeFlag:0,d=t.children,{patchFlag:h,shapeFlag:f}=t;if(h>0){if(128&h)return void K(u,d,n,a,i,r,o,s,l);if(256&h)return void Q(u,d,n,a,i,r,o,s,l)}8&f?(16&c&&ae(u,i,r),d!==u&&p(n,d)):16&c?16&f?K(u,d,n,a,i,r,o,s,l):ae(u,i,r,!0):(8&c&&p(n,""),16&f&&O(d,n,a,i,r,o,s,l))},Q=(e,t,n,a,i,r,o,s,l)=>{let u;t=t||v;let c=(e=e||v).length,d=t.length,h=Math.min(c,d);for(u=0;ud?ae(e,i,r,!0,!1,h):O(t,n,a,i,r,o,s,l,h)},K=(e,t,n,a,i,r,o,s,l)=>{let u=0,c=t.length,d=e.length-1,h=c-1;for(;u<=d&&u<=h;){let a=e[u],c=t[u]=l?yr(t[u]):_r(t[u]);if(!dr(a,c))break;w(a,c,n,null,i,r,o,s,l),u++}for(;u<=d&&u<=h;){let a=e[d],u=t[h]=l?yr(t[h]):_r(t[h]);if(!dr(a,u))break;w(a,u,n,null,i,r,o,s,l),d--,h--}if(u>d){if(u<=h){let e=h+1,d=eh)for(;u<=d;)J(e[u],i,r,!0),u++;else{let p,f=u,m=u,g=new Map;for(u=m;u<=h;u++){let e=t[u]=l?yr(t[u]):_r(t[u]);null!=e.key&&g.set(e.key,u)}let b=0,_=h-m+1,y=!1,k=0,x=Array(_);for(u=0;u<_;u++)x[u]=0;for(u=f;u<=d;u++){let a,c=e[u];if(b>=_)J(c,i,r,!0);else{if(null!=c.key)a=g.get(c.key);else for(p=m;p<=h;p++)if(0===x[p-m]&&dr(c,t[p])){a=p;break}void 0===a?J(c,i,r,!0):(x[a-m]=u+1,a>=k?k=a:y=!0,w(c,t[a],n,null,i,r,o,s,l),b++)}}let S=y?function(e){let t,n,a,i,r,o=e.slice(),s=[0],l=e.length;for(t=0;t>1]]0&&(o[t]=s[a-1]),s[a]=t)}}for(a=s.length,i=s[a-1];a-- >0;)s[a]=i,i=o[i];return s}(x):v;for(p=S.length-1,u=_-1;u>=0;u--){let e=m+u,d=t[e],h=e+1{let{el:o,type:s,transition:l,children:u,shapeFlag:c}=e;if(6&c)Z(e.component.subTree,t,n,a);else if(128&c)e.suspense.move(t,n,a);else if(64&c)s.move(e,t,n,se);else if(s!==Ji)if(s!==tr)if(2!==a&&1&c&&l)if(0===a)l.beforeEnter(o),r(o,t,n),xi((()=>l.enter(o)),i);else{let{leave:e,delayLeave:a,afterLeave:i}=l,s=()=>r(o,t,n),u=()=>{e(o,(()=>{s(),i&&i()}))};a?a(o,s,u):u()}else r(o,t,n);else(({el:e,anchor:t},n,a)=>{let i;for(;e&&e!==t;)i=m(e),r(e,n,a),e=i;r(t,n,a)})(e,t,n);else{r(o,t,n);for(let e=0;e{let r,{type:o,props:s,ref:l,children:u,dynamicChildren:c,shapeFlag:d,patchFlag:h,dirs:p,cacheIndex:f}=e;if(-2===h&&(i=!1),null!=l&&oa(l,null,n,e,!0),null!=f&&(t.renderCache[f]=void 0),256&d)return void t.ctx.deactivate(e);let m=1&d&&p,g=!ma(e);if(g&&(r=s&&s.onVnodeBeforeUnmount)&&xr(r,t,e),6&d)ne(e.component,n,a);else{if(128&d)return void e.suspense.unmount(n,a);m&&Rn(e,null,t,"beforeUnmount"),64&d?e.type.remove(e,t,n,se,a):c&&!c.hasOnce&&(o!==Ji||h>0&&64&h)?ae(c,t,n,!1,!0):(o===Ji&&384&h||!i&&16&d)&&ae(u,t,n),a&&X(e)}(g&&(r=s&&s.onVnodeUnmounted)||m)&&xi((()=>{r&&xr(r,t,e),m&&Rn(e,null,t,"unmounted")}),n)},X=e=>{let{type:t,el:n,anchor:a,transition:i}=e;if(t===Ji)return void te(n,a);if(t===tr)return void(({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=m(e),o(e),e=n;o(t)})(e);let r=()=>{o(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){let{leave:t,delayLeave:a}=i,o=()=>t(n,r);a?a(e.el,r,o):o()}else r()},te=(e,t)=>{let n;for(;e!==t;)n=m(e),o(e),e=n;o(t)},ne=(e,t,n)=>{let{bum:a,scope:i,job:r,subTree:o,um:s,m:l,a:u}=e;Pi(l),Pi(u),a&&G(a),i.stop(),r&&(r.flags|=8,J(o,e,t,n)),s&&xi(s,t),xi((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},ae=(e,t,n,a=!1,i=!1,r=0)=>{for(let o=r;o{if(6&e.shapeFlag)return ie(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();let t=m(e.anchor||e.el),n=t&&t[In];return n?m(n):t},re=!1,oe=(e,t,n)=>{null==e?t._vnode&&J(t._vnode,null,null,!0):w(t._vnode||null,e,t,null,null,null,n),t._vnode=e,re||(re=!0,Tn(),An(),re=!1)},se={p:w,um:J,m:Z,r:X,mt:B,mc:O,pc:Y,pbc:z,n:ie,o:e};return t&&([a,i]=t(se)),{render:oe,hydrate:a,createApp:(n=a,function(e,t=null){P(e)||(e=k({},e)),null==t||N(t)||(t=null);let a=ai(),i=new WeakSet,r=[],o=!1,s=a.app={_uid:ii++,_component:e,_props:t,_container:null,_context:a,_instance:null,version:Fr,get config(){return a.config},set config(e){},use:(e,...t)=>(i.has(e)||(e&&P(e.install)?(i.add(e),e.install(s,...t)):P(e)&&(i.add(e),e(s,...t))),s),mixin:e=>(a.mixins.includes(e)||a.mixins.push(e),s),component:(e,t)=>t?(a.components[e]=t,s):a.components[e],directive:(e,t)=>t?(a.directives[e]=t,s):a.directives[e],mount(i,r,l){if(!o){let u=s._ceVNode||mr(e,t);return u.appContext=a,!0===l?l="svg":!1===l&&(l=void 0),r&&n?n(u,i):oe(u,i,l),o=!0,s._container=i,i.__vue_app__=s,qr(u.component)}},onUnmount(e){r.push(e)},unmount(){o&&(hn(r,s._instance,16),oe(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(a.provides[e]=t,s),runWithContext(e){let t=ri;ri=s;try{return e()}finally{ri=t}}};return s})}}function Ei({type:e,props:t},n){return"svg"===n&&"foreignObject"===e||"mathml"===n&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ti({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ai(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Mi(e,t,n=!1){let a=e.children,i=t.children;if(E(a)&&E(i))for(let e=0;ehn(e,u,t,n);let c=!1;return"post"===o?l.scheduler=e=>{xi(e,u&&u.suspense)}:"sync"!==o&&(c=!0,l.scheduler=(e,t)=>{t?e():Sn(e)}),l.augmentJob=e=>{t&&(e.flags|=4),c&&(e.flags|=2,u&&(e.id=u.uid,e.i=u))},function(e,t,n=g){let a,r,o,s,{immediate:l,deep:u,once:c,scheduler:d,augmentJob:h,call:f}=n,m=e=>u?e:$t(e)||!1===u||0===u?cn(e,1):cn(e),v=!1,_=!1;if(Wt(e)?(r=()=>e.value,v=$t(e)):Dt(e)?(r=()=>m(e),v=!0):E(e)?(_=!0,v=e.some((e=>Dt(e)||$t(e))),r=()=>e.map((e=>Wt(e)?e.value:Dt(e)?m(e):P(e)?f?f(e,2):e():void 0))):r=P(e)?t?f?()=>f(e,2):e:()=>{if(o){Oe();try{o()}finally{Ne()}}let t=p;p=a;try{return f?f(e,3,[s]):e(s)}finally{p=t}}:b,t&&u){let e=r,t=!0===u?1/0:u;r=()=>cn(e(),t)}let y=i,w=()=>{a.stop(),y&&x(y.effects,a)};if(c&&t){let e=t;t=(...t)=>{e(...t),w()}}let k=_?Array(e.length).fill(sn):sn,S=e=>{if(1&a.flags&&(a.dirty||e))if(t){let e=a.run();if(u||v||(_?e.some(((e,t)=>K(e,k[t]))):K(e,k))){o&&o();let n=p;p=a;try{let n=[e,k===sn?void 0:_&&k[0]===sn?[]:k,s];f?f(t,3,n):t(...n),k=e}finally{p=n}}}else a.run()};return h&&h(S),(a=new we(r)).scheduler=d?()=>d(S,!1):S,s=e=>un(e,!1,a),o=a.onStop=()=>{let e=ln.get(a);if(e){if(f)f(e,4);else for(let t of e)t();ln.delete(a)}},t?l?S(!0):k=a.run():d?d(S.bind(null,!0),!0):a.run(),w.pause=a.pause.bind(a),w.resume=a.resume.bind(a),w.stop=w,w}(e,t,l)}function Ii(e,t,n){let a,i=this.proxy,r=L(e)?e.includes(".")?zi(i,e):()=>i[e]:e.bind(i,i);P(t)?a=t:(a=t.handler,n=t);let o=Ar(this),s=Ri(r,a.bind(i),n);return o(),s}function zi(e,t){let n=t.split(".");return()=>{let t=e;for(let e=0;e"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${U(t)}Modifiers`]||e[`${W(t)}Modifiers`];function Di(e,t,...n){let a;if(e.isUnmounted)return;let i=e.vnode.props||g,r=n,o=t.startsWith("update:"),s=o&&qi(i,t.slice(7));s&&(s.trim&&(r=n.map((e=>L(e)?e.trim():e))),s.number&&(r=n.map(J)));let l=i[a=Q(t)]||i[a=Q(U(t))];!l&&o&&(l=i[a=Q(W(t))]),l&&hn(l,e,6,r);let u=i[a+"Once"];if(u){if(e.emitted){if(e.emitted[a])return}else e.emitted={};e.emitted[a]=!0,hn(u,e,6,r)}}function ji(e,t){return!(!e||!y(t))&&(C(e,(t=t.slice(2).replace(/Once$/,""))[0].toLowerCase()+t.slice(1))||C(e,W(t))||C(e,t))}function $i(e){let t,n,{type:a,vnode:i,proxy:r,withProxy:o,propsOptions:[s],slots:l,attrs:u,emit:c,render:d,renderCache:h,props:p,data:f,setupState:m,ctx:g,inheritAttrs:v}=e,b=On(e);try{if(4&i.shapeFlag){let e=o||r;t=_r(d.call(e,e,h,p,m,f,g)),n=u}else t=_r(a.length>1?a(p,{attrs:u,slots:l,emit:c}):a(p,null)),n=a.props?u:Bi(u)}catch(n){nr.length=0,pn(n,e,1),t=mr(er)}let _=t;if(n&&!1!==v){let e=Object.keys(n),{shapeFlag:t}=_;e.length&&7&t&&(s&&e.some(w)&&(n=Fi(n,s)),_=vr(_,n,!1,!0))}return i.dirs&&((_=vr(_,null,!1,!0)).dirs=_.dirs?_.dirs.concat(i.dirs):i.dirs),i.transition&&na(_,i.transition),t=_,On(b),t}let Bi=e=>{let t;for(let n in e)("class"===n||"style"===n||y(n))&&((t||(t={}))[n]=e[n]);return t},Fi=(e,t)=>{let n={};for(let a in e)w(a)&&a.slice(9)in t||(n[a]=e[a]);return n};function Vi(e,t,n){let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!0;for(let i=0;ie.__isSuspense,Wi=0;function Yi(e,t){let n=e.props&&e.props[t];P(n)&&n()}function Qi(e,t,n,a,i,r,o,s,l,u,c=!1){let d,{p:h,m:p,um:f,n:m,o:{parentNode:g,remove:v}}=u,b=function(e){let t=e.props&&e.props.suspensible;return null!=t&&!1!==t}(e);b&&t&&t.pendingBranch&&(d=t.pendingId,t.deps++);let _=e.props?X(e.props.timeout):void 0,y=r,w={vnode:e,parent:t,parentComponent:n,namespace:o,container:a,hiddenContainer:i,deps:0,pendingId:Wi++,timeout:"number"==typeof _?_:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:a,activeBranch:i,pendingBranch:o,pendingId:s,effects:l,parentComponent:u,container:c}=w,h=!1;w.isHydrating?w.isHydrating=!1:e||((h=i&&o.transition&&"out-in"===o.transition.mode)&&(i.transition.afterLeave=()=>{s===w.pendingId&&(p(o,c,r===y?m(i):r,0),En(l))}),i&&(g(i.el)===c&&(r=m(i)),f(i,u,w,!0)),h||p(o,c,r,0)),Zi(w,o),w.pendingBranch=null,w.isInFallback=!1;let v=w.parent,_=!1;for(;v;){if(v.pendingBranch){v.effects.push(...l),_=!0;break}v=v.parent}_||h||En(l),w.effects=[],b&&t&&t.pendingBranch&&d===t.pendingId&&(t.deps--,0!==t.deps||n||t.resolve()),Yi(a,"onResolve")},fallback(e){if(!w.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:a,container:i,namespace:r}=w;Yi(t,"onFallback");let o=m(n),u=()=>{w.isInFallback&&(h(null,e,i,o,a,null,r,s,l),Zi(w,e))},c=e.transition&&"out-in"===e.transition.mode;c&&(n.transition.afterLeave=u),w.isInFallback=!0,f(n,a,null,!0),c||u()},move(e,t,n){w.activeBranch&&p(w.activeBranch,e,t,n),w.container=e},next:()=>w.activeBranch&&m(w.activeBranch),registerDep(e,t,n){let a=!!w.pendingBranch;a&&w.deps++;let i=e.vnode.el;e.asyncDep.catch((t=>{pn(t,e,0)})).then((r=>{if(e.isUnmounted||w.isUnmounted||w.pendingId!==e.suspenseId)return;e.asyncResolved=!0;let{vnode:s}=e;Or(e,r,!1),i&&(s.el=i);let l=!i&&e.subTree.el;t(e,s,g(i||e.subTree.el),i?null:m(e.subTree),w,o,n),l&&v(l),Ui(e,s.el),a&&0==--w.deps&&w.resolve()}))},unmount(e,t){w.isUnmounted=!0,w.activeBranch&&f(w.activeBranch,n,e,t),w.pendingBranch&&f(w.pendingBranch,n,e,t)}};return w}function Ki(e){let t;if(P(e)){let n=or&&e._c;n&&(e._d=!1,ir()),e=e(),n&&(e._d=!0,t=ar,rr())}return E(e)&&(e=function(e){let t;for(let n=0;nt!==e))),e}function Gi(e,t){t&&t.pendingBranch?E(e)?t.effects.push(...e):t.effects.push(e):En(e)}function Zi(e,t){e.activeBranch=t;let{vnode:n,parentComponent:a}=e,i=t.el;for(;!i&&t.component;)i=(t=t.component.subTree).el;n.el=i,a&&a.subTree===n&&(a.vnode.el=i,Ui(a,i))}let Ji=Symbol.for("v-fgt"),Xi=Symbol.for("v-txt"),er=Symbol.for("v-cmt"),tr=Symbol.for("v-stc"),nr=[],ar=null;function ir(e=!1){nr.push(ar=e?null:[])}function rr(){nr.pop(),ar=nr[nr.length-1]||null}let or=1;function sr(e){or+=e,e<0&&ar&&(ar.hasOnce=!0)}function lr(e){return e.dynamicChildren=or>0?ar||v:null,rr(),or>0&&ar&&ar.push(e),e}function ur(e,t,n,a,i){return lr(mr(e,t,n,a,i,!0))}function cr(e){return!!e&&!0===e.__v_isVNode}function dr(e,t){return e.type===t.type&&e.key===t.key}let hr=({key:e})=>null!=e?e:null,pr=({ref:e,ref_key:t,ref_for:n})=>("number"==typeof e&&(e=""+e),null!=e?L(e)||Wt(e)||P(e)?{i:Pn,r:e,k:t,f:!!n}:e:null);function fr(e,t=null,n=null,a=0,i=null,r=(e===Ji?0:1),o=!1,s=!1){let l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hr(t),ref:t&&pr(t),scopeId:Ln,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:a,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Pn};return s?(wr(l,n),128&r&&e.normalize(l)):n&&(l.shapeFlag|=L(n)?8:16),or>0&&!o&&ar&&(l.patchFlag>0||6&r)&&32!==l.patchFlag&&ar.push(l),l}let mr=function(e,t=null,n=null,a=0,i=null,r=!1){var o;if(e&&e!==qa||(e=er),cr(e)){let a=vr(e,t,!0);return n&&wr(a,n),or>0&&!r&&ar&&(6&a.shapeFlag?ar[ar.indexOf(e)]=a:ar.push(a)),a.patchFlag=-2,a}if(P(o=e)&&"__vccOpts"in o&&(e=e.__vccOpts),t){let{class:e,style:n}=t=gr(t);e&&!L(e)&&(t.class=se(e)),N(n)&&(Bt(n)&&!E(n)&&(n=k({},n)),t.style=ne(n))}return fr(e,t,n,a,i,L(e)?1:Hi(e)?128:zn(e)?64:N(e)?4:P(e)?2:0,r,!0)};function gr(e){return e?Bt(e)||ci(e)?k({},e):e:null}function vr(e,t,n=!1,a=!1){let{props:i,ref:r,patchFlag:o,children:s,transition:l}=e,u=t?kr(i||{},t):i,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&hr(u),ref:t&&t.ref?n&&r?E(r)?r.concat(pr(t)):[r,pr(t)]:pr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ji?-1===o?16:16|o:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vr(e.ssContent),ssFallback:e.ssFallback&&vr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&a&&na(c,l.clone(c)),c}function br(e=" ",t=0){return mr(Xi,null,e,t)}function _r(e){return null==e||"boolean"==typeof e?mr(er):E(e)?mr(Ji,null,e.slice()):"object"==typeof e?yr(e):mr(Xi,null,String(e))}function yr(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:vr(e)}function wr(e,t){let n=0,{shapeFlag:a}=e;if(null==t)t=null;else if(E(t))n=16;else if("object"==typeof t){if(65&a){let n=t.default;return void(n&&(n._c&&(n._d=!1),wr(e,n()),n._c&&(n._d=!0)))}{n=32;let a=t._;a||ci(t)?3===a&&Pn&&(1===Pn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=Pn}}else P(t)?(t={default:t,_ctx:Pn},n=32):(t=String(t),64&a?(n=16,t=[br(t)]):n=8);e.children=t,e.shapeFlag|=n}function kr(...e){let t={};for(let n=0;nEr||Pn;s=e=>{Er=e},l=e=>{Lr=e};let Ar=e=>{let t=Er;return s(e),e.scope.on(),()=>{e.scope.off(),s(t)}},Mr=()=>{Er&&Er.scope.off(),s(null)};function Pr(e){return 4&e.vnode.shapeFlag}let Lr=!1;function Or(e,t,n){P(t)?e.render=t:N(t)&&(e.setupState=Xt(t)),Rr(e,n)}function Nr(e){u=e,c=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Ua))}}function Rr(e,t,n){let a=e.type;if(!e.render){if(!t&&u&&!a.render){let t=a.template||Ka(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:r,compilerOptions:o}=a,s=k(k({isCustomElement:n,delimiters:r},i),o);a.render=u(t,s)}}e.render=a.render||b,c&&c(e)}{let t=Ar(e);Oe();try{!function(e){let t=Ka(e),n=e.proxy,a=e.ctx;Ya=!1,t.beforeCreate&&Qa(t.beforeCreate,e,"bc");let{data:i,computed:r,methods:o,watch:s,provide:l,inject:u,created:c,beforeMount:d,mounted:h,beforeUpdate:p,updated:f,activated:m,deactivated:g,beforeDestroy:v,beforeUnmount:_,destroyed:y,unmounted:w,render:k,renderTracked:x,renderTriggered:S,errorCaptured:C,serverPrefetch:T,expose:A,inheritAttrs:M,components:O,directives:R,filters:I}=t;if(u&&function(e,t){for(let n in E(e)&&(e=Xa(e)),e){let a,i=e[n];Wt(a=N(i)?"default"in i?si(i.from||n,i.default,!0):si(i.from||n):si(i))?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e}):t[n]=a}}(u,a,null),o)for(let e in o){let t=o[e];P(t)&&(a[e]=t.bind(n))}if(i){let t=i.call(n,n);N(t)&&(e.data=Rt(t))}if(Ya=!0,r)for(let e in r){let t=r[e],i=P(t)?t.bind(n,n):P(t.get)?t.get.bind(n,n):b,o=jr({get:i,set:!P(t)&&P(t.set)?t.set.bind(n):b});Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>o.value,set:e=>o.value=e})}if(s)for(let e in s)!function e(t,n,a,i){let r=i.includes(".")?zi(a,i):()=>a[i];if(L(t)){let e=n[t];P(e)&&Ri(r,e,void 0)}else if(P(t)){Ri(r,t.bind(a),void 0)}else if(N(t))if(E(t))t.forEach((t=>e(t,n,a,i)));else{let e=P(t.handler)?t.handler.bind(a):n[t.handler];P(e)&&Ri(r,e,t)}}(s[e],a,n,e);if(l){let e=P(l)?l.call(n):l;Reflect.ownKeys(e).forEach((t=>{oi(t,e[t])}))}function z(e,t){E(t)?t.forEach((t=>e(t.bind(n)))):t&&e(t.bind(n))}if(c&&Qa(c,e,"c"),z(Ea,d),z(Ta,h),z(Aa,p),z(Ma,f),z(_a,m),z(ya,g),z(Ia,C),z(Ra,x),z(Na,S),z(Pa,_),z(La,w),z(Oa,T),E(A))if(A.length){let t=e.exposed||(e.exposed={});A.forEach((e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t})}))}else e.exposed||(e.exposed={});k&&e.render===b&&(e.render=k),null!=M&&(e.inheritAttrs=M),O&&(e.components=O),R&&(e.directives=R)}(e)}finally{Ne(),t()}}}let Ir={get:(e,t)=>(Fe(e,0,""),e[t])};function zr(e){return{attrs:new Proxy(e.attrs,Ir),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function qr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Xt(Vt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in Ba?Ba[n](e):void 0,has:(e,t)=>t in e||t in Ba})):e.proxy}function Dr(e,t=!0){return P(e)?e.displayName||e.name:e.name||t&&e.__name}let jr=(e,t)=>function(e,t,n=!1){let a,i;return P(e)?a=e:(a=e.get,i=e.set),new on(a,i,n)}(e,0,Lr);function $r(e,t,n){let a=arguments.length;return 2!==a?(a>3?n=Array.prototype.slice.call(arguments,2):3===a&&cr(n)&&(n=[n]),mr(e,t,n)):!N(t)||E(t)?mr(e,null,t):cr(t)?mr(e,null,[t]):mr(e,t)}function Br(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e0&&ar&&ar.push(e),!0}let Fr="3.5.8",Vr="undefined"!=typeof window&&window.trustedTypes;if(Vr)try{f=Vr.createPolicy("vue",{createHTML:e=>e})}catch(e){}let Ur=f?e=>f.createHTML(e):e=>e,Hr="undefined"!=typeof document?document:null,Wr=Hr&&Hr.createElement("template"),Yr="transition",Qr="animation",Kr=Symbol("_vtc"),Gr={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Zr=k({},Qn,Gr),Jr=((t=(e,{slots:t})=>$r(Zn,to(e),t)).displayName="Transition",t.props=Zr,t),Xr=(e,t=[])=>{E(e)?e.forEach((e=>e(...t))):e&&e(...t)},eo=e=>!!e&&(E(e)?e.some((e=>e.length>1)):e.length>1);function to(e){let t={};for(let n in e)n in Gr||(t[n]=e[n]);if(!1===e.css)return t;let{name:n="v",type:a,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:u=o,appearToClass:c=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,f=function(e){if(null==e)return null;if(N(e))return[X(e.enter),X(e.leave)];{let t=X(e);return[t,t]}}(i),m=f&&f[0],g=f&&f[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:_,onLeave:y,onLeaveCancelled:w,onBeforeAppear:x=v,onAppear:S=b,onAppearCancelled:C=_}=t,E=(e,t,n)=>{ao(e,t?c:s),ao(e,t?u:o),n&&n()},T=(e,t)=>{e._isLeaving=!1,ao(e,d),ao(e,p),ao(e,h),t&&t()},A=e=>(t,n)=>{let i=e?S:b,o=()=>E(t,e,n);Xr(i,[t,o]),io((()=>{ao(t,e?l:r),no(t,e?c:s),eo(i)||oo(t,a,m,o)}))};return k(t,{onBeforeEnter(e){Xr(v,[e]),no(e,r),no(e,o)},onBeforeAppear(e){Xr(x,[e]),no(e,l),no(e,u)},onEnter:A(!1),onAppear:A(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>T(e,t);no(e,d),no(e,h),co(),io((()=>{e._isLeaving&&(ao(e,d),no(e,p),eo(y)||oo(e,a,g,n))})),Xr(y,[e,n])},onEnterCancelled(e){E(e,!1),Xr(_,[e])},onAppearCancelled(e){E(e,!0),Xr(C,[e])},onLeaveCancelled(e){T(e),Xr(w,[e])}})}function no(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.add(t))),(e[Kr]||(e[Kr]=new Set)).add(t)}function ao(e,t){t.split(/\s+/).forEach((t=>t&&e.classList.remove(t)));let n=e[Kr];n&&(n.delete(t),n.size||(e[Kr]=void 0))}function io(e){requestAnimationFrame((()=>{requestAnimationFrame(e)}))}let ro=0;function oo(e,t,n,a){let i=e._endId=++ro,r=()=>{i===e._endId&&a()};if(null!=n)return setTimeout(r,n);let{type:o,timeout:s,propCount:l}=so(e,t);if(!o)return a();let u=o+"end",c=0,d=()=>{e.removeEventListener(u,h),r()},h=t=>{t.target===e&&++c>=l&&d()};setTimeout((()=>{c(n[e]||"").split(", "),i=a(`${Yr}Delay`),r=a(`${Yr}Duration`),o=lo(i,r),s=a(`${Qr}Delay`),l=a(`${Qr}Duration`),u=lo(s,l),c=null,d=0,h=0;return t===Yr?o>0&&(c=Yr,d=o,h=r.length):t===Qr?u>0&&(c=Qr,d=u,h=l.length):h=(c=(d=Math.max(o,u))>0?o>u?Yr:Qr:null)?c===Yr?r.length:l.length:0,{type:c,timeout:d,propCount:h,hasTransform:c===Yr&&/\b(transform|all)(,|$)/.test(a(`${Yr}Property`).toString())}}function lo(e,t){for(;e.lengthuo(t)+uo(e[n]))))}function uo(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function co(){return document.body.offsetHeight}let ho=Symbol("_vod"),po=Symbol("_vsh");function fo(e,t){e.style.display=t?e[ho]:"none",e[po]=!t}let mo=Symbol("");function go(e,t){if(1===e.nodeType){let n=e.style,a="";for(let e in t)n.setProperty(`--${e}`,t[e]),a+=`--${e}: ${t[e]};`;n[mo]=a}}let vo=/(^|;)\s*display\s*:/,bo=/\s*!important$/;function _o(e,t,n){if(E(n))n.forEach((n=>_o(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{let a=function(e,t){let n=wo[t];if(n)return n;let a=U(t);if("filter"!==a&&a in e)return wo[t]=a;a=Y(a);for(let n=0;n111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&123>e.charCodeAt(2),Po={};/*! #__NO_SIDE_EFFECTS__ */function Lo(e,t,n){let a=ia(e,t);D(a)&&k(a,t);class i extends No{constructor(e){super(a,e,n)}}return i.def=a,i}let Oo="undefined"!=typeof HTMLElement?HTMLElement:class{};class No extends Oo{constructor(e,t={},n=us){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._ob=null,this.shadowRoot&&n!==us?this._root=this.shadowRoot:!1!==e.shadowRoot?(this.attachShadow({mode:"open"}),this._root=this.shadowRoot):this._root=this,this._def.__asyncLoader||this._resolveProps(this._def)}connectedCallback(){if(!this.isConnected)return;this.shadowRoot||this._parseSlots(),this._connected=!0;let e=this;for(;e=e&&(e.parentNode||e.host);)if(e instanceof No){this._parent=e;break}this._instance||(this._resolved?(this._setParent(),this._update()):e&&e._pendingResolve?this._pendingResolve=e._pendingResolve.then((()=>{this._pendingResolve=void 0,this._resolveDef()})):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._instance.provides=e._instance.provides)}disconnectedCallback(){this._connected=!1,xn((()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null)}))}_resolveDef(){if(this._pendingResolve)return;for(let e=0;e{for(let t of e)this._setAttr(t.attributeName)})),this._ob.observe(this,{attributes:!0});let e=(e,t=!1)=>{let n;this._resolved=!0,this._pendingResolve=void 0;let{props:a,styles:i}=e;if(a&&!E(a))for(let e in a){let t=a[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=X(this._props[e])),(n||(n=Object.create(null)))[U(e)]=!0)}this._numberProps=n,t&&this._resolveProps(e),this.shadowRoot&&this._applyStyles(i),this._mount(e)},t=this._def.__asyncLoader;t?this._pendingResolve=t().then((t=>e(this._def=t,!0))):e(this._def)}_mount(e){this._app=this._createApp(e),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)C(this,e)||Object.defineProperty(this,e,{get:()=>Zt(t[e])})}_resolveProps(e){let{props:t}=e,n=E(t)?t:Object.keys(t||{});for(let e of Object.keys(this))"_"!==e[0]&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(U))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!0)}})}_setAttr(e){if(e.startsWith("data-v-"))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):Po,a=U(e);t&&this._numberProps&&this._numberProps[a]&&(n=X(n)),this._setProp(a,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,a=!1){t!==this._props[e]&&(t===Po?delete this._props[e]:(this._props[e]=t,"key"===e&&this._app&&(this._app._ceVNode.key=t)),a&&this._instance&&this._update(),n&&(!0===t?this.setAttribute(W(e),""):"string"==typeof t||"number"==typeof t?this.setAttribute(W(e),t+""):t||this.removeAttribute(W(e))))}_update(){ls(this._createVNode(),this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=mr(this._def,k(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,D(t[0])?k({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),W(e)!==e&&t(W(e),n)},this._setParent()}),t}_applyStyles(e,t){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let n=this._nonce;for(let t=e.length-1;t>=0;t--){let a=document.createElement("style");n&&a.setAttribute("nonce",n),a.textContent=e[t],this.shadowRoot.prepend(a)}}_parseSlots(){let e,t=this._slots={};for(;e=this.firstChild;){let n=1===e.nodeType&&e.getAttribute("slot")||"default";(t[n]||(t[n]=[])).push(e),this.removeChild(e)}}_renderSlots(){let e=(this._teleportTarget||this).querySelectorAll("slot"),t=this._instance.type.__scopeId;for(let n=0;n{if(!n.length)return;let t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,n){let a=e.cloneNode(),i=e[Kr];i&&i.forEach((e=>{e.split(/\s+/).forEach((e=>e&&a.classList.remove(e)))})),n.split(/\s+/).forEach((e=>e&&a.classList.add(e))),a.style.display="none";let r=1===t.nodeType?t:t.parentNode;r.appendChild(a);let{hasTransform:o}=so(a);return r.removeChild(a),o}(n[0].el,i.vnode.el,t))return;n.forEach($o),n.forEach(Bo);let a=n.filter(Fo);co(),a.forEach((e=>{let n=e.el,a=n.style;no(n,t),a.transform=a.webkitTransform=a.transitionDuration="";let i=n[qo]=e=>{(!e||e.target===n)&&(!e||/transform$/.test(e.propertyName))&&(n.removeEventListener("transitionend",i),n[qo]=null,ao(n,t))};n.addEventListener("transitionend",i)}))})),()=>{let o=Ft(e),s=to(o),l=o.tag||Ji;if(n=[],a)for(let e=0;e{let t=e.props["onUpdate:modelValue"]||!1;return E(t)?e=>G(t,e):t};function Uo(e){e.target.composing=!0}function Ho(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}let Wo=Symbol("_assign"),Yo={created(e,{modifiers:{lazy:t,trim:n,number:a}},i){e[Wo]=Vo(i);let r=a||i.props&&"number"===i.props.type;So(e,t?"change":"input",(t=>{if(t.target.composing)return;let a=e.value;n&&(a=a.trim()),r&&(a=J(a)),e[Wo](a)})),n&&So(e,"change",(()=>{e.value=e.value.trim()})),t||(So(e,"compositionstart",Uo),So(e,"compositionend",Ho),So(e,"change",Ho))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:a,trim:i,number:r}},o){if(e[Wo]=Vo(o),e.composing)return;let s=null==t?"":t;(!r&&"number"!==e.type||/^0\d/.test(e.value)?e.value:J(e.value))===s||document.activeElement===e&&"range"!==e.type&&(a&&t===n||i&&e.value.trim()===s)||(e.value=s)}},Qo={deep:!0,created(e,t,n){e[Wo]=Vo(n),So(e,"change",(()=>{let t=e._modelValue,n=Xo(e),a=e.checked,i=e[Wo];if(E(t)){let e=fe(t,n),r=-1!==e;if(a&&!r)i(t.concat(n));else if(!a&&r){let n=[...t];n.splice(e,1),i(n)}}else if(A(t)){let e=new Set(t);a?e.add(n):e.delete(n),i(e)}else i(es(e,a))}))},mounted:Ko,beforeUpdate(e,t,n){e[Wo]=Vo(n),Ko(e,t,n)}};function Ko(e,{value:t},n){let a;e._modelValue=t,a=E(t)?fe(t,n.props.value)>-1:A(t)?t.has(n.props.value):pe(t,es(e,!0)),e.checked!==a&&(e.checked=a)}let Go={created(e,{value:t},n){e.checked=pe(t,n.props.value),e[Wo]=Vo(n),So(e,"change",(()=>{e[Wo](Xo(e))}))},beforeUpdate(e,{value:t,oldValue:n},a){e[Wo]=Vo(a),t!==n&&(e.checked=pe(t,a.props.value))}},Zo={deep:!0,created(e,{value:t,modifiers:{number:n}},a){let i=A(t);So(e,"change",(()=>{let t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>n?J(Xo(e)):Xo(e)));e[Wo](e.multiple?i?new Set(t):t:t[0]),e._assigning=!0,xn((()=>{e._assigning=!1}))})),e[Wo]=Vo(a)},mounted(e,{value:t}){Jo(e,t)},beforeUpdate(e,t,n){e[Wo]=Vo(n)},updated(e,{value:t}){e._assigning||Jo(e,t)}};function Jo(e,t,n){let a=e.multiple,i=E(t);if(!a||i||A(t)){for(let n=0,r=e.options.length;nString(e)===String(o))):fe(t,o)>-1}else r.selected=t.has(o);else if(pe(Xo(r),t))return void(e.selectedIndex!==n&&(e.selectedIndex=n))}a||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Xo(e){return"_value"in e?e._value:e.value}function es(e,t){let n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}function ts(e,t,n,a,i){let r=function(e,t){switch(e){case"SELECT":return Zo;case"TEXTAREA":return Yo;default:switch(t){case"checkbox":return Qo;case"radio":return Go;default:return Yo}}}(e.tagName,n.props&&n.props.type)[i];r&&r(e,t,n,a)}let ns=["ctrl","shift","alt","meta"],as={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>ns.some((n=>e[`${n}Key`]&&!t.includes(n)))},is={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},rs=k({patchProp:(e,t,n,a,i,r)=>{let o="svg"===i;"class"===t?function(e,t,n){let a=e[Kr];a&&(t=(t?[t,...a]:[...a]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,a,o):"style"===t?function(e,t,n){let a=e.style,i=L(n),r=!1;if(n&&!i){if(t)if(L(t))for(let e of t.split(";")){let t=e.slice(0,e.indexOf(":")).trim();null==n[t]&&_o(a,t,"")}else for(let e in t)null==n[e]&&_o(a,e,"");for(let e in n)"display"===e&&(r=!0),_o(a,e,n[e])}else if(i){if(t!==n){let e=a[mo];e&&(n+=";"+e),a.cssText=n,r=vo.test(n)}}else t&&e.removeAttribute("style");ho in e&&(e[ho]=r?a.display:"",e[po]&&(a.display="none"))}(e,n,a):y(t)?w(t)||function(e,t,n,a,i=null){let r=e[Co]||(e[Co]={}),o=r[t];if(a&&o)o.value=a;else{let[n,s]=function(e){let t;if(Eo.test(e)){let n;for(t={};n=e.match(Eo);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):W(e.slice(2)),t]}(t);a?So(e,n,r[t]=function(e,t){let n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();hn(function(e,t){if(!E(t))return t;{let n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}}(e,n.value),t,5,[e])};return n.value=e,n.attached=To||(Ao.then((()=>To=0)),To=Date.now()),n}(a,i),s):o&&(function(e,t,n,a){e.removeEventListener(t,n,a)}(e,n,o,s),r[t]=void 0)}}(e,t,0,a,r):("."===t[0]?(t=t.slice(1),0):"^"===t[0]?(t=t.slice(1),1):!function(e,t,n,a){if(a)return!!("innerHTML"===t||"textContent"===t||t in e&&Mo(t)&&P(n));if("spellcheck"===t||"draggable"===t||"translate"===t||"form"===t||"list"===t&&"INPUT"===e.tagName||"type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){let t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}return!(Mo(t)&&L(n)||!(t in e)&&(!e._isVueCE||!/[A-Z]/.test(t)&&L(n)))}(e,t,a,o))?("true-value"===t?e._trueValue=a:"false-value"===t&&(e._falseValue=a),xo(e,t,a,o)):(function(e,t,n){if("innerHTML"===t||"textContent"===t)return void(null!=n&&(e[t]="innerHTML"===t?Ur(n):n));let a=e.tagName;if("value"===t&&"PROGRESS"!==a&&!a.includes("-")){let i="OPTION"===a?e.getAttribute("value")||"":e.value,r=null==n?"checkbox"===e.type?"on":"":String(n);return i===r&&"_value"in e||(e.value=r),null==n&&e.removeAttribute(t),void(e._value=n)}let i=!1;if(""===n||null==n){let a=typeof e[t];var r;if("boolean"===a)n=!!(r=n)||""===r;else null==n&&"string"===a?(n="",i=!0):"number"===a&&(n=0,i=!0)}try{e[t]=n}catch(e){}i&&e.removeAttribute(t)}(e,t,a),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||xo(e,t,a,o,0,"value"!==t))}},{insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,a)=>{let i="svg"===t?Hr.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?Hr.createElementNS("http://www.w3.org/1998/Math/MathML",e):n?Hr.createElement(e,{is:n}):Hr.createElement(e);return"select"===e&&a&&null!=a.multiple&&i.setAttribute("multiple",a.multiple),i},createText:e=>Hr.createTextNode(e),createComment:e=>Hr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Hr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,a,i,r){let o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==r&&(i=i.nextSibling););else{Wr.innerHTML=Ur("svg"===a?`${e}`:"mathml"===a?`${e}`:e);let i=Wr.content;if("svg"===a||"mathml"===a){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}}),os=!1;function ss(){return d=os?d:Si(rs),os=!0,d}let ls=(...e)=>{(d||(d=Ci(rs))).render(...e)},us=(...e)=>{let t=(d||(d=Ci(rs))).createApp(...e),{mount:n}=t;return t.mount=e=>{let a=hs(e);if(!a)return;let i=t._component;P(i)||i.render||i.template||(i.template=a.innerHTML),1===a.nodeType&&(a.textContent="");let r=n(a,!1,ds(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t},cs=(...e)=>{let t=ss().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=hs(e);if(t)return n(t,!0,ds(t))},t};function ds(e){return e instanceof SVGElement?"svg":"function"==typeof MathMLElement&&e instanceof MathMLElement?"mathml":void 0}function hs(e){return L(e)?document.querySelector(e):e}let ps=Symbol(""),fs=Symbol(""),ms=Symbol(""),gs=Symbol(""),vs=Symbol(""),bs=Symbol(""),_s=Symbol(""),ys=Symbol(""),ws=Symbol(""),ks=Symbol(""),xs=Symbol(""),Ss=Symbol(""),Cs=Symbol(""),Es=Symbol(""),Ts=Symbol(""),As=Symbol(""),Ms=Symbol(""),Ps=Symbol(""),Ls=Symbol(""),Os=Symbol(""),Ns=Symbol(""),Rs=Symbol(""),Is=Symbol(""),zs=Symbol(""),qs=Symbol(""),Ds=Symbol(""),js=Symbol(""),$s=Symbol(""),Bs=Symbol(""),Fs=Symbol(""),Vs=Symbol(""),Us=Symbol(""),Hs=Symbol(""),Ws=Symbol(""),Ys=Symbol(""),Qs=Symbol(""),Ks=Symbol(""),Gs=Symbol(""),Zs=Symbol(""),Js={[ps]:"Fragment",[fs]:"Teleport",[ms]:"Suspense",[gs]:"KeepAlive",[vs]:"BaseTransition",[bs]:"openBlock",[_s]:"createBlock",[ys]:"createElementBlock",[ws]:"createVNode",[ks]:"createElementVNode",[xs]:"createCommentVNode",[Ss]:"createTextVNode",[Cs]:"createStaticVNode",[Es]:"resolveComponent",[Ts]:"resolveDynamicComponent",[As]:"resolveDirective",[Ms]:"resolveFilter",[Ps]:"withDirectives",[Ls]:"renderList",[Os]:"renderSlot",[Ns]:"createSlots",[Rs]:"toDisplayString",[Is]:"mergeProps",[zs]:"normalizeClass",[qs]:"normalizeStyle",[Ds]:"normalizeProps",[js]:"guardReactiveProps",[$s]:"toHandlers",[Bs]:"camelize",[Fs]:"capitalize",[Vs]:"toHandlerKey",[Us]:"setBlockTracking",[Hs]:"pushScopeId",[Ws]:"popScopeId",[Ys]:"withCtx",[Qs]:"unref",[Ks]:"isRef",[Gs]:"withMemo",[Zs]:"isMemoSame"},Xs={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function el(e,t,n,a,i,r,o,s=!1,l=!1,u=!1,c=Xs){return e&&(s?(e.helper(bs),e.helper(e.inSSR||u?_s:ys)):e.helper(e.inSSR||u?ws:ks),o&&e.helper(Ps)),{type:13,tag:t,props:n,children:a,patchFlag:i,dynamicProps:r,directives:o,isBlock:s,disableTracking:l,isComponent:u,loc:c}}function tl(e,t=Xs){return{type:17,loc:t,elements:e}}function nl(e,t=Xs){return{type:15,loc:t,properties:e}}function al(e,t){return{type:16,loc:Xs,key:L(e)?il(e,!0):e,value:t}}function il(e,t=!1,n=Xs,a=0){return{type:4,loc:n,content:e,isStatic:t,constType:t?3:a}}function rl(e,t=Xs){return{type:8,loc:t,children:e}}function ol(e,t=[],n=Xs){return{type:14,loc:n,callee:e,arguments:t}}function sl(e,t,n=!1,a=!1,i=Xs){return{type:18,params:e,returns:t,newline:n,isSlot:a,loc:i}}function ll(e,t,n,a=!0){return{type:19,test:e,consequent:t,alternate:n,newline:a,loc:Xs}}function ul(e,{helper:t,removeHelper:n,inSSR:a}){var i,r;e.isBlock||(e.isBlock=!0,n((i=e.isComponent,a||i?ws:ks)),t(bs),t((r=e.isComponent,a||r?_s:ys)))}let cl=new Uint8Array([123,123]),dl=new Uint8Array([125,125]);function hl(e){return e>=97&&e<=122||e>=65&&e<=90}function pl(e){return 32===e||10===e||9===e||12===e||13===e}function fl(e){return 47===e||62===e||pl(e)}function ml(e){let t=new Uint8Array(e.length);for(let n=0;n4===e.type&&e.isStatic;function wl(e){switch(e){case"Teleport":case"teleport":return fs;case"Suspense":case"suspense":return ms;case"KeepAlive":case"keep-alive":return gs;case"BaseTransition":case"base-transition":return vs}}let kl=/^\d|[^\$\w\xA0-\uFFFF]/,xl=e=>!kl.test(e),Sl=/[A-Za-z_$\xA0-\uFFFF]/,Cl=/[\.\?\w$\xA0-\uFFFF]/,El=/\s+[.[]\s*|\s*[.[]\s+/g,Tl=e=>4===e.type?e.content:e.loc.source,Al=e=>{let t=Tl(e).trim().replace(El,(e=>e.trim())),n=0,a=[],i=0,r=0,o=null;for(let e=0;e|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;function Pl(e,t,n=!1){for(let a=0;a4===e.key.type&&e.key.content===a))}return n}function $l(e,t){return`_${t}_${e.replace(/[^\w]/g,((t,n)=>"-"===t?"_":e.charCodeAt(n).toString()))}`}let Bl=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/,Fl={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:_,isPreTag:_,isIgnoreNewlineTag:_,isCustomElement:_,onError:vl,onWarn:bl,comments:!1,prefixIdentifiers:!1},Vl=Fl,Ul=null,Hl="",Wl=null,Yl=null,Ql="",Kl=-1,Gl=-1,Zl=0,Jl=!1,Xl=null,eu=[],tu=new class{constructor(e,t){this.stack=e,this.cbs=t,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=cl,this.delimiterClose=dl,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return 2===this.mode&&0===this.stack.length}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=cl,this.delimiterClose=dl}getPos(e){let t=1,n=e+1;for(let a=this.newlines.length-1;a>=0;a--){let i=this.newlines[a];if(e>i){t=a+2,n=e-i;break}}return{column:n,line:t,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){60===e?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):this.inVPre||e!==this.delimiterOpen[0]||(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){let e=this.index+1-this.delimiterOpen.length;e>this.sectionStart&&this.cbs.ontext(this.sectionStart,e),this.state=3,this.sectionStart=e}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){let t=this.sequenceIndex===this.currentSequence.length;if(t?fl(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.inRCDATA=!1;this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(62===e||pl(e)){let t=this.index-this.currentSequence.length;if(this.sectionStart=e||(28===this.state?this.currentSequence===gl.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):6===this.state||11===this.state||18===this.state||17===this.state||12===this.state||13===this.state||14===this.state||15===this.state||16===this.state||20===this.state||19===this.state||21===this.state||9===this.state||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,t){}}(eu,{onerr:vu,ontext(e,t){ou(iu(e,t),e,t)},ontextentity(e,t,n){ou(e,t,n)},oninterpolation(e,t){if(Jl)return ou(iu(e,t),e,t);let n=e+tu.delimiterOpen.length,a=t-tu.delimiterClose.length;for(;pl(Hl.charCodeAt(n));)n++;for(;pl(Hl.charCodeAt(a-1));)a--;let i=iu(n,a);i.includes("&")&&(i=Vl.decodeEntities(i,!1)),pu({type:5,content:gu(i,!1,fu(n,a)),loc:fu(e,t)})},onopentagname(e,t){let n=iu(e,t);Wl={type:1,tag:n,ns:Vl.getNamespace(n,eu[0],Vl.ns),tagType:0,props:[],children:[],loc:fu(e-1,t),codegenNode:void 0}},onopentagend(e){ru(e)},onclosetag(e,t){let n=iu(e,t);if(!Vl.isVoidTag(n)){let e=!1;for(let a=0;a0&&eu[0].loc.start.offset;for(let e=0;e<=a;e++)su(eu.shift(),t,e(7===e.type?e.rawName:e.name)===t))},onattribend(e,t){Wl&&Yl&&(mu(Yl.loc,t),0!==e&&(Ql.includes("&")&&(Ql=Vl.decodeEntities(Ql,!0)),6===Yl.type?("class"===Yl.name&&(Ql=hu(Ql).trim()),Yl.value={type:2,content:Ql,loc:1===e?fu(Kl,Gl):fu(Kl-1,Gl+1)},tu.inSFCRoot&&"template"===Wl.tag&&"lang"===Yl.name&&Ql&&"html"!==Ql&&tu.enterRCDATA(ml("{let i=t.start.offset+n;return gu(e,!1,fu(i,i+e.length),0,a?1:0)},s={source:o(r.trim(),n.indexOf(r,i.length)),value:void 0,key:void 0,index:void 0,finalized:!1},l=i.trim().replace(au,"").trim(),u=i.indexOf(l),c=l.match(nu);if(c){let e;l=l.replace(nu,"").trim();let t=c[1].trim();if(t&&(e=n.indexOf(t,u+l.length),s.key=o(t,e,!0)),c[2]){let a=c[2].trim();a&&(s.index=o(a,n.indexOf(a,s.key?e+t.length:u+l.length),!0))}}return l&&(s.value=o(l,u,!0)),s}(Yl.exp)))),(7!==Yl.type||"pre"!==Yl.name)&&Wl.props.push(Yl)),Ql="",Kl=Gl=-1},oncomment(e,t){Vl.comments&&pu({type:3,content:iu(e,t),loc:fu(e-4,t+3)})},onend(){let e=Hl.length;for(let t=0;t64&&n<91||wl(e)||Vl.isBuiltInComponent&&Vl.isBuiltInComponent(e)||Vl.isNativeTag&&!Vl.isNativeTag(e))return!0;for(let e=0;e=0;)n--;return n}let uu=new Set(["if","else","else-if","for","slot"]),cu=/\r\n/g;function du(e,t){let n="preserve"!==Vl.whitespace,a=!1;for(let t=0;t1)for(let a=0;a{n--};for(;nt===e:t=>e.test(t);return(e,a)=>{if(1===e.type){let{props:i}=e;if(3===e.tagType&&i.some(Rl))return;let r=[];for(let o=0;o`${Js[e]}: _${Js[e]}`;function Tu(e,t,{helper:n,push:a,newline:i,isTS:r}){let o=n("component"===t?Es:As);for(let n=0;n3;t.push("["),n&&t.indent(),Mu(e,t,n),n&&t.deindent(),t.push("]")}function Mu(e,t,n=!1,a=!0){let{push:i,newline:r}=t;for(let o=0;oe||"null"))}([o,s,l,n,c]),t),a(")"),h&&a(")"),d&&(a(", "),Pu(d,t),a(")"))}(e,t);break;case 14:!function(e,t){let{push:n,helper:a,pure:i}=t,r=L(e.callee)?e.callee:a(e.callee);i&&n(Cu),n(r+"(",-2,e),Mu(e.arguments,t),n(")")}(e,t);break;case 15:!function(e,t){let{push:n,indent:a,deindent:i,newline:r}=t,{properties:o}=e;if(!o.length)return void n("{}",-2,e);let s=o.length>1;n(s?"{":"{ "),s&&a();for(let e=0;e "),(l||s)&&(n("{"),a()),o?(l&&n("return "),E(o)?Au(o,t):Pu(o,t)):s&&Pu(s,t),(l||s)&&(i(),n("}")),u&&n(")")}(e,t);break;case 19:!function(e,t){let{test:n,consequent:a,alternate:i,newline:r}=e,{push:o,indent:s,deindent:l,newline:u}=t;if(4===n.type){let e=!xl(n.content);e&&o("("),Lu(n,t),e&&o(")")}else o("("),Pu(n,t),o(")");r&&s(),t.indentLevel++,r||o(" "),o("? "),Pu(a,t),t.indentLevel--,r&&u(),r||o(" "),o(": ");let c=19===i.type;!c&&t.indentLevel++,Pu(i,t),!c&&t.indentLevel--,r&&l(!0)}(e,t);break;case 20:!function(e,t){let{push:n,helper:a,indent:i,deindent:r,newline:o}=t,{needPauseTracking:s,needArraySpread:l}=e;l&&n("[...("),n(`_cache[${e.index}] || (`),s&&(i(),n(`${a(Us)}(-1),`),o(),n("(")),n(`_cache[${e.index}] = `),Pu(e.value,t),s&&(n(`).cacheIndex = ${e.index},`),o(),n(`${a(Us)}(1),`),o(),n(`_cache[${e.index}]`),r()),n(")"),l&&n(")]")}(e,t);break;case 21:Mu(e.body,t,!0,!1)}}function Lu(e,t){let{content:n,isStatic:a}=e;t.push(a?JSON.stringify(n):n,-3,e)}function Ou(e,t){for(let n=0;nfunction(e,t,n,a){if(!("else"===t.name||t.exp&&t.exp.content.trim())){let a=t.exp?t.exp.loc:e.loc;n.onError(_l(28,t.loc)),t.exp=il("true",!1,a)}if("if"===t.name){let i=Ru(e,t),r={type:9,loc:e.loc,branches:[i]};if(n.replaceNode(r),a)return a(r,i,!0)}else{let i=n.parent.children,r=i.indexOf(e);for(;r-- >=-1;){let o=i[r];if(!(o&&3===o.type||o&&2===o.type&&!o.content.trim().length)){if(o&&9===o.type){"else-if"===t.name&&void 0===o.branches[o.branches.length-1].condition&&n.onError(_l(30,e.loc)),n.removeNode();let i=Ru(e,t);o.branches.push(i);let r=a&&a(o,i,!1);xu(i,n),r&&r(),n.currentNode=null}else n.onError(_l(30,e.loc));break}n.removeNode(o)}}}(e,t,n,((e,t,a)=>{let i=n.parent.children,r=i.indexOf(e),o=0;for(;r-- >=0;){let e=i[r];e&&9===e.type&&(o+=e.branches.length)}return()=>{a?e.codegenNode=Iu(t,o,n):(function(e){for(;;)if(19===e.type){if(19!==e.alternate.type)return e;e=e.alternate}else 20===e.type&&(e=e.value)}(e.codegenNode)).alternate=Iu(t,o+e.branches.length-1,n)}}))));function Ru(e,t){let n=3===e.tagType;return{type:10,loc:e.loc,condition:"else"===t.name?void 0:t.exp,children:n&&!Pl(e,"for")?e.children:[e],userKey:Ll(e,"key"),isTemplateIf:n}}function Iu(e,t,n){return e.condition?ll(e.condition,zu(e,t,n),ol(n.helper(xs),['""',"true"])):zu(e,t,n)}function zu(e,t,n){let{helper:a}=n,i=al("key",il(`${t}`,!1,Xs,2)),{children:r}=e,o=r[0];if(1!==r.length||1!==o.type){if(1!==r.length||11!==o.type)return el(n,a(ps),nl([i]),r,64,void 0,void 0,!0,!1,!1,e.loc);{let e=o.codegenNode;return Dl(e,i,n),e}}{let e=o.codegenNode,t=14===e.type&&e.callee===Gs?e.arguments[1].returns:e;return 13===t.type&&ul(t,n),Dl(t,i,n),e}}let qu=(e,t,n)=>{let{modifiers:a,loc:i}=e,r=e.arg,{exp:o}=e;if(o&&4===o.type&&!o.content.trim()&&(o=void 0),!o){if(4!==r.type||!r.isStatic)return n.onError(_l(52,r.loc)),{props:[al(r,il("",!0,i))]};Du(e),o=e.exp}return 4!==r.type?(r.children.unshift("("),r.children.push(') || ""')):r.isStatic||(r.content=`${r.content} || ""`),a.some((e=>"camel"===e.content))&&(4===r.type?r.isStatic?r.content=U(r.content):r.content=`${n.helperString(Bs)}(${r.content})`:(r.children.unshift(`${n.helperString(Bs)}(`),r.children.push(")"))),!n.inSSR&&(a.some((e=>"prop"===e.content))&&ju(r,"."),a.some((e=>"attr"===e.content))&&ju(r,"^")),{props:[al(r,o)]}},Du=(e,t)=>{let n=e.arg,a=U(n.content);e.exp=il(a,!1,n.loc)},ju=(e,t)=>{4===e.type?e.isStatic?e.content=t+e.content:e.content=`\`${t}\${${e.content}}\``:(e.children.unshift(`'${t}' + (`),e.children.push(")"))},$u=Su("for",((e,t,n)=>{let{helper:a,removeHelper:i}=n;return function(e,t,n,a){if(!t.exp)return void n.onError(_l(31,t.loc));let i=t.forParseResult;if(!i)return void n.onError(_l(32,t.loc));Bu(i);let{addIdentifiers:r,removeIdentifiers:o,scopes:s}=n,{source:l,value:u,key:c,index:d}=i,h={type:11,loc:t.loc,source:l,valueAlias:u,keyAlias:c,objectIndexAlias:d,parseResult:i,children:Il(e)?e.children:[e]};n.replaceNode(h),s.vFor++;let p=a&&a(h);return()=>{s.vFor--,p&&p()}}(e,t,n,(t=>{let r=ol(a(Ls),[t.source]),o=Il(e),s=Pl(e,"memo"),l=Ll(e,"key",!1,!0);l&&7===l.type&&!l.exp&&Du(l);let u=l&&(6===l.type?l.value?il(l.value.content,!0):void 0:l.exp),c=l&&u?al("key",u):null,d=4===t.source.type&&t.source.constType>0,h=d?64:l?128:256;return t.codegenNode=el(n,a(ps),void 0,r,h,void 0,void 0,!0,!d,!1,e.loc),()=>{let l,{children:h}=t,p=1!==h.length||1!==h[0].type,f=zl(e)?e:o&&1===e.children.length&&zl(e.children[0])?e.children[0]:null;if(f)l=f.codegenNode,o&&c&&Dl(l,c,n);else if(p)l=el(n,a(ps),c?nl([c]):void 0,e.children,64,void 0,void 0,!0,void 0,!1);else{var m,g,v,b,_,y,w,k;l=h[0].codegenNode,o&&c&&Dl(l,c,n),!d!==l.isBlock&&(l.isBlock?(i(bs),i((m=n.inSSR,g=l.isComponent,m||g?_s:ys))):i((v=n.inSSR,b=l.isComponent,v||b?ws:ks))),l.isBlock=!d,l.isBlock?(a(bs),a((_=n.inSSR,y=l.isComponent,_||y?_s:ys))):a((w=n.inSSR,k=l.isComponent,w||k?ws:ks))}if(s){let e=sl(Fu(t.parseResult,[il("_cached")]));e.body={type:21,body:[rl(["const _memo = (",s.exp,")"]),rl(["if (_cached",...u?[" && _cached.key === ",u]:[],` && ${n.helperString(Zs)}(_cached, _memo)) return _cached`]),rl(["const _item = ",l]),il("_item.memo = _memo"),il("return _item")],loc:Xs},r.arguments.push(e,il("_cache"),il(String(n.cached.length))),n.cached.push(null)}else r.arguments.push(sl(Fu(t.parseResult),l,!0))}}))}));function Bu(e,t){e.finalized||(e.finalized=!0)}function Fu({value:e,key:t,index:n},a=[]){return function(e){let t=e.length;for(;t--&&!e[t];);return e.slice(0,t+1).map(((e,t)=>e||il("_".repeat(t+1),!1)))}([e,t,n,...a])}let Vu=il("undefined",!1),Uu=(e,t)=>{if(1===e.type&&(1===e.tagType||3===e.tagType)){let n=Pl(e,"slot");if(n)return n.exp,t.scopes.vSlot++,()=>{t.scopes.vSlot--}}},Hu=(e,t,n,a)=>sl(e,n,!1,!0,n.length?n[0].loc:a);function Wu(e,t,n){let a=[al("name",e),al("fn",t)];return null!=n&&a.push(al("key",il(String(n),!0))),nl(a)}let Yu=new WeakMap,Qu=(e,t)=>function(){let n,a,i,r,o;if(1!==(e=t.currentNode).type||0!==e.tagType&&1!==e.tagType)return;let{tag:s,props:l}=e,u=1===e.tagType,c=u?function(e,t,n=!1){let{tag:a}=e,i=Zu(a),r=Ll(e,"is",!1,!0);if(r)if(i){let e;if(6===r.type?e=r.value&&il(r.value.content,!0):(e=r.exp)||(e=il("is",!1,r.arg.loc)),e)return ol(t.helper(Ts),[e])}else 6===r.type&&r.value.content.startsWith("vue:")&&(a=r.value.content.slice(4));let o=wl(a)||t.isBuiltInComponent(a);return o?(n||t.helper(o),o):(t.helper(Es),t.components.add(a),$l(a,"component"))}(e,t):`"${s}"`,d=N(c)&&c.callee===Ts,h=0,p=d||c===fs||c===ms||!u&&("svg"===s||"foreignObject"===s||"math"===s);if(l.length>0){let a=Ku(e,t,void 0,u,d);n=a.props,h=a.patchFlag,r=a.dynamicPropNames;let i=a.directives;o=i&&i.length?tl(i.map((e=>function(e,t){let n=[],a=Yu.get(e);a?n.push(t.helperString(a)):(t.helper(As),t.directives.add(e.name),n.push($l(e.name,"directive")));let{loc:i}=e;if(e.exp&&n.push(e.exp),e.arg&&(e.exp||n.push("void 0"),n.push(e.arg)),Object.keys(e.modifiers).length){e.arg||(e.exp||n.push("void 0"),n.push("void 0"));let t=il("true",!1,i);n.push(nl(e.modifiers.map((e=>al(e,t))),i))}return tl(n,e.loc)}(e,t)))):void 0,a.shouldUseBlock&&(p=!0)}if(e.children.length>0)if(c===gs&&(p=!0,h|=1024),u&&c!==fs&&c!==gs){let{slots:n,hasDynamicSlots:i}=function(e,t,n=Hu){t.helper(Ys);let{children:a,loc:i}=e,r=[],o=[],s=t.scopes.vSlot>0||t.scopes.vFor>0,l=Pl(e,"slot",!0);if(l){let{arg:e,exp:t}=l;e&&!yl(e)&&(s=!0),r.push(al(e||il("default",!0),n(t,void 0,a,i)))}let u=!1,c=!1,d=[],h=new Set,p=0;for(let e=0;eal("default",n(e,void 0,t,i));u?d.length&&d.some((e=>function e(t){return 2!==t.type&&12!==t.type||(2===t.type?!!t.content.trim():e(t.content))}(e)))&&(c?t.onError(_l(39,d[0].loc)):r.push(e(void 0,d))):r.push(e(void 0,a))}let f=s?2:function e(t){for(let n=0;n0,f=!1,m=0,g=!1,v=!1,b=!1,_=!1,w=!1,k=!1,x=[],S=e=>{c.length&&(d.push(nl(Gu(c),l)),c=[]),e&&d.push(e)},C=()=>{t.scopes.vFor>0&&c.push(al(il("ref_for",!0),il("true")))},E=({key:e,value:n})=>{if(yl(e)){let r=e.content,o=y(r);o&&(!a||i)&&"onclick"!==r.toLowerCase()&&"onUpdate:modelValue"!==r&&!$(r)&&(_=!0),o&&$(r)&&(k=!0),o&&14===n.type&&(n=n.arguments[0]),20===n.type||(4===n.type||8===n.type)&&_u(n,t)>0||("ref"===r?g=!0:"class"===r?v=!0:"style"===r?b=!0:"key"===r||x.includes(r)||x.push(r),a&&("class"===r||"style"===r)&&!x.includes(r)&&x.push(r))}else w=!0};for(let i=0;i"prop"===e.content))&&(m|=32);let y=t.directiveTransforms[n];if(y){let{props:n,needRuntime:a}=y(o,e,t);r||n.forEach(E),_&&i&&!yl(i)?S(nl(n,l)):c.push(...n),a&&(h.push(o),O(a)&&Yu.set(o,a))}else!B(n)&&(h.push(o),p&&(f=!0))}}if(d.length?(S(),o=d.length>1?ol(t.helper(Is),d,l):d[0]):c.length&&(o=nl(Gu(c),l)),w?m|=16:(v&&!a&&(m|=2),b&&!a&&(m|=4),x.length&&(m|=8),_&&(m|=32)),!f&&(0===m||32===m)&&(g||k||h.length>0)&&(m|=512),!t.inSSR&&o)switch(o.type){case 15:let e=-1,n=-1,a=!1;for(let t=0;t{if(zl(e)){let{children:n,loc:a}=e,{slotName:i,slotProps:r}=function(e,t){let n,a='"default"',i=[];for(let t=0;t0){let{props:a,directives:r}=Ku(e,t,i,!1,!1);n=a,r.length&&t.onError(_l(36,r[0].loc))}return{slotName:a,slotProps:n}}(e,t),o=[t.prefixIdentifiers?"_ctx.$slots":"$slots",i,"{}","undefined","true"],s=2;r&&(o[2]=r,s=3),n.length&&(o[3]=sl([],n,!1,!1,a),s=4),t.scopeId&&!t.slotted&&(s=5),o.splice(s),e.codegenNode=ol(t.helper(Os),o,a)}},Xu=(e,t,n,a)=>{let i,{loc:r,modifiers:o,arg:s}=e;if(e.exp||o.length,4===s.type)if(s.isStatic){let e=s.content;e.startsWith("vue:")&&(e=`vnode-${e.slice(4)}`),i=il(0!==t.tagType||e.startsWith("vnode")||!/[A-Z]/.test(e)?Q(U(e)):`on:${e}`,!0,s.loc)}else i=rl([`${n.helperString(Vs)}(`,s,")"]);else(i=s).children.unshift(`${n.helperString(Vs)}(`),i.children.push(")");let l=e.exp;l&&!l.content.trim()&&(l=void 0);let u=n.cacheHandlers&&!l&&!n.inVOnce;if(l){let e=Al(l),t=!(e||(e=>Ml.test(Tl(e)))(l)),n=l.content.includes(";");(t||u&&e)&&(l=rl([`${t?"$event":"(...args)"} => ${n?"{":"("}`,l,n?"}":")"]))}let c={props:[al(i,l||il("() => {}",!1,r))]};return a&&(c=a(c)),u&&(c.props[0].value=n.cache(c.props[0].value)),c.props.forEach((e=>e.key.isHandlerKey=!0)),c},ec=(e,t)=>{if(0===e.type||1===e.type||11===e.type||10===e.type)return()=>{let n,a=e.children,i=!1;for(let e=0;e7===e.type&&!t.directiveTransforms[e.name])))))for(let e=0;e{if(1===e.type&&Pl(e,"once",!0)&&!tc.has(e)&&!t.inVOnce&&!t.inSSR)return tc.add(e),t.inVOnce=!0,t.helper(Us),()=>{t.inVOnce=!1;let e=t.currentNode;e.codegenNode&&(e.codegenNode=t.cache(e.codegenNode,!0))}},ac=(e,t,n)=>{let a,{exp:i,arg:r}=e;if(!i)return n.onError(_l(41,e.loc)),ic();let o=i.loc.source.trim(),s=4===i.type?i.content:o,l=n.bindingMetadata[o];if("props"===l||"props-aliased"===l)return i.loc,ic();if(!s.trim()||!Al(i))return n.onError(_l(42,i.loc)),ic();let u=r||il("modelValue",!0),c=r?yl(r)?`onUpdate:${U(r.content)}`:rl(['"onUpdate:" + ',r]):"onUpdate:modelValue";a=rl([`${n.isTS?"($event: any)":"$event"} => ((`,i,") = $event)"]);let d=[al(u,e.exp),al(c,a)];if(e.modifiers.length&&1===t.tagType){let t=e.modifiers.map((e=>e.content)).map((e=>(xl(e)?e:JSON.stringify(e))+": true")).join(", "),n=r?yl(r)?`${r.content}Modifiers`:rl([r,' + "Modifiers"']):"modelModifiers";d.push(al(n,il(`{ ${t} }`,!1,e.loc,2)))}return ic(d)};function ic(e=[]){return{props:e}}let rc=new WeakSet,oc=(e,t)=>{if(1===e.type){let n=Pl(e,"memo");if(n&&!rc.has(e))return rc.add(e),()=>{let a=e.codegenNode||t.currentNode.codegenNode;a&&13===a.type&&(1!==e.tagType&&ul(a,t),e.codegenNode=ol(t.helper(Gs),[n.exp,sl(void 0,a),"_cache",String(t.cached.length)]),t.cached.push(null))}}},sc=Symbol(""),lc=Symbol(""),uc=Symbol(""),cc=Symbol(""),dc=Symbol(""),hc=Symbol(""),pc=Symbol(""),fc=Symbol(""),mc=Symbol(""),gc=Symbol("");!function(e){Object.getOwnPropertySymbols(e).forEach((t=>{Js[t]=e[t]}))}({[sc]:"vModelRadio",[lc]:"vModelCheckbox",[uc]:"vModelText",[cc]:"vModelSelect",[dc]:"vModelDynamic",[hc]:"withModifiers",[pc]:"withKeys",[fc]:"vShow",[mc]:"Transition",[gc]:"TransitionGroup"});let vc={parseMode:"html",isVoidTag:de,isNativeTag:e=>le(e)||ue(e)||ce(e),isPreTag:e=>"pre"===e,isIgnoreNewlineTag:e=>"pre"===e||"textarea"===e,decodeEntities:function(e,t=!1){return h||(h=document.createElement("div")),t?(h.innerHTML=`
`,h.children[0].getAttribute("foo")):(h.innerHTML=e,h.textContent)},isBuiltInComponent:e=>"Transition"===e||"transition"===e?mc:"TransitionGroup"===e||"transition-group"===e?gc:void 0,getNamespace(e,t,n){let a=t?t.ns:n;if(t&&2===a)if("annotation-xml"===t.tag){if("svg"===e)return 1;t.props.some((e=>6===e.type&&"encoding"===e.name&&null!=e.value&&("text/html"===e.value.content||"application/xhtml+xml"===e.value.content)))&&(a=0)}else/^m(?:[ions]|text)$/.test(t.tag)&&"mglyph"!==e&&"malignmark"!==e&&(a=0);else t&&1===a&&("foreignObject"===t.tag||"desc"===t.tag||"title"===t.tag)&&(a=0);if(0===a){if("svg"===e)return 1;if("math"===e)return 2}return a}},bc=(e,t)=>il(JSON.stringify(oe(e)),!1,t,3),_c=m("passive,once,capture"),yc=m("stop,prevent,self,ctrl,shift,alt,meta,exact,middle"),wc=m("left,right"),kc=m("onkeyup,onkeydown,onkeypress"),xc=(e,t)=>yl(e)&&"onclick"===e.content.toLowerCase()?il(t,!0):4!==e.type?rl(["(",e,`) === "onClick" ? "${t}" : (`,e,")"]):e,Sc=(e,t)=>{1===e.type&&0===e.tagType&&("script"===e.tag||"style"===e.tag)&&t.removeNode()},Cc=[e=>{1===e.type&&e.props.forEach(((t,n)=>{6===t.type&&"style"===t.name&&t.value&&(e.props[n]={type:7,name:"bind",arg:il("style",!0,t.loc),exp:bc(t.value.content,t.loc),modifiers:[],loc:t.loc})}))}],Ec={cloak:()=>({props:[]}),html:(e,t,n)=>{let{exp:a,loc:i}=e;return a||n.onError(_l(53,i)),t.children.length&&(n.onError(_l(54,i)),t.children.length=0),{props:[al(il("innerHTML",!0,i),a||il("",!0))]}},text:(e,t,n)=>{let{exp:a,loc:i}=e;return a||n.onError(_l(55,i)),t.children.length&&(n.onError(_l(56,i)),t.children.length=0),{props:[al(il("textContent",!0),a?_u(a,n)>0?a:ol(n.helperString(Rs),[a],i):il("",!0))]}},model:(e,t,n)=>{let a=ac(e,t,n);if(!a.props.length||1===t.tagType)return a;e.arg&&n.onError(_l(58,e.arg.loc));let{tag:i}=t,r=n.isCustomElement(i);if("input"===i||"textarea"===i||"select"===i||r){let o=uc,s=!1;if("input"===i||r){let a=Ll(t,"type");if(a){if(7===a.type)o=dc;else if(a.value)switch(a.value.content){case"radio":o=sc;break;case"checkbox":o=lc;break;case"file":s=!0,n.onError(_l(59,e.loc))}}else t.props.some((e=>!(7!==e.type||"bind"!==e.name||e.arg&&4===e.arg.type&&e.arg.isStatic)))&&(o=dc)}else"select"===i&&(o=cc);s||(a.needRuntime=n.helper(o))}else n.onError(_l(57,e.loc));return a.props=a.props.filter((e=>!(4===e.key.type&&"modelValue"===e.key.content))),a},on:(e,t,n)=>Xu(e,t,n,(t=>{let{modifiers:a}=e;if(!a.length)return t;let{key:i,value:r}=t.props[0],{keyModifiers:o,nonKeyModifiers:s,eventOptionModifiers:l}=((e,t)=>{let n=[],a=[],i=[];for(let r=0;r{let{exp:a,loc:i}=e;return!a&&n.onError(_l(61,i)),{props:[],needRuntime:n.helper(fc)}}},Tc=new WeakMap;function Ac(e,t){let n;if(!L(e)){if(!e.nodeType)return b;e=e.innerHTML}let a=e,i=((n=Tc.get(null!=t?t:g))||(n=Object.create(null),Tc.set(null!=t?t:g,n)),n),r=i[a];if(r)return r;if("#"===e[0]){let t=document.querySelector(e);e=t?t.innerHTML:""}let o=k({hoistStatic:!0,onError:void 0,onWarn:b},t);o.isCustomElement||"undefined"==typeof customElements||(o.isCustomElement=e=>!!customElements.get(e));let{code:s}=function(e,t={}){return function(e,t={}){let n=t.onError||vl,a="module"===t.mode;!0===t.prefixIdentifiers?n(_l(47)):a&&n(_l(48)),t.cacheHandlers&&n(_l(49)),t.scopeId&&!a&&n(_l(50));let i=k({},t,{prefixIdentifiers:!1}),r=L(e)?function(e,t){if(tu.reset(),Wl=null,Yl=null,Ql="",Kl=-1,Gl=-1,eu.length=0,Hl=e,Vl=k({},Fl),t){let e;for(e in t)null!=t[e]&&(Vl[e]=t[e])}tu.mode="html"===Vl.parseMode?1:"sfc"===Vl.parseMode?2:0,tu.inXML=1===Vl.ns||2===Vl.ns;let n=t&&t.delimiters;n&&(tu.delimiterOpen=ml(n[0]),tu.delimiterClose=ml(n[1]));let a=Ul=function(e,t=""){return{type:0,source:t,children:[],helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:Xs}}(0,e);return tu.parse(Hl),a.loc=fu(0,e.length),a.children=du(a.children),Ul=null,a}(e,i):e,[o,s]=[[nc,Nu,oc,$u,Ju,Qu,Uu,ec],{on:Xu,bind:qu,model:ac}];return function(e,t){let n=function(e,{filename:t="",prefixIdentifiers:n=!1,hoistStatic:a=!1,hmr:i=!1,cacheHandlers:r=!1,nodeTransforms:o=[],directiveTransforms:s={},transformHoist:l=null,isBuiltInComponent:u=b,isCustomElement:c=b,expressionPlugins:d=[],scopeId:h=null,slotted:p=!0,ssr:f=!1,inSSR:m=!1,ssrCssVars:v="",bindingMetadata:_=g,inline:y=!1,isTS:w=!1,onError:k=vl,onWarn:x=bl,compatConfig:S}){let C=t.replace(/\?.*$/,"").match(/([^/\\]+)\.\w+$/),E={filename:t,selfName:C&&Y(U(C[1])),prefixIdentifiers:n,hoistStatic:a,hmr:i,cacheHandlers:r,nodeTransforms:o,directiveTransforms:s,transformHoist:l,isBuiltInComponent:u,isCustomElement:c,expressionPlugins:d,scopeId:h,slotted:p,ssr:f,inSSR:m,ssrCssVars:v,bindingMetadata:_,inline:y,isTS:w,onError:k,onWarn:x,compatConfig:S,root:e,helpers:new Map,components:new Set,directives:new Set,hoists:[],imports:[],cached:[],constantCache:new WeakMap,temps:0,identifiers:Object.create(null),scopes:{vFor:0,vSlot:0,vPre:0,vOnce:0},parent:null,grandParent:null,currentNode:e,childIndex:0,inVOnce:!1,helper(e){let t=E.helpers.get(e)||0;return E.helpers.set(e,t+1),e},removeHelper(e){let t=E.helpers.get(e);if(t){let n=t-1;n?E.helpers.set(e,n):E.helpers.delete(e)}},helperString:e=>`_${Js[E.helper(e)]}`,replaceNode(e){E.parent.children[E.childIndex]=E.currentNode=e},removeNode(e){let t=E.parent.children,n=e?t.indexOf(e):E.currentNode?E.childIndex:-1;e&&e!==E.currentNode?E.childIndex>n&&(E.childIndex--,E.onNodeRemoved()):(E.currentNode=null,E.onNodeRemoved()),E.parent.children.splice(n,1)},onNodeRemoved:b,addIdentifiers(e){},removeIdentifiers(e){},hoist(e){L(e)&&(e=il(e)),E.hoists.push(e);let t=il(`_hoisted_${E.hoists.length}`,!1,e.loc,2);return t.hoisted=e,t},cache(e,t=!1){let n=function(e,t,n=!1){return{type:20,index:e,value:t,needPauseTracking:n,needArraySpread:!1,loc:Xs}}(E.cached.length,e,t);return E.cached.push(n),n}};return E}(e,t);xu(e,n),t.hoistStatic&&function e(t,n,a,i=!1,r=!1){let{children:o}=t,s=[];for(let n=0;n0){if(e>=2){l.codegenNode.patchFlag=-1,s.push(l);continue}}else{let e=l.codegenNode;if(13===e.type){let t=e.patchFlag;if((void 0===t||512===t||1===t)&&wu(l,a)>=2){let t=ku(l);t&&(e.props=a.hoist(t))}e.dynamicProps&&(e.dynamicProps=a.hoist(e.dynamicProps))}}}else if(12===l.type&&(i?0:_u(l,a))>=2){s.push(l);continue}if(1===l.type){let n=1===l.tagType;n&&a.scopes.vSlot++,e(l,t,a,!1,r),n&&a.scopes.vSlot--}else if(11===l.type)e(l,t,a,1===l.children.length,!0);else if(9===l.type)for(let n=0;ne.key===t||e.key.content===t));return n&&n.value}}s.length&&a.transformHoist&&a.transformHoist(o,a,t)}(e,void 0,n,bu(e,e.children[0])),t.ssr||function(e,t){let{helper:n}=t,{children:a}=e;if(1===a.length){let n=a[0];if(bu(e,n)&&n.codegenNode){let a=n.codegenNode;13===a.type&&ul(a,t),e.codegenNode=a}else e.codegenNode=n}else a.length>1&&(e.codegenNode=el(t,n(ps),void 0,e.children,64,void 0,void 0,!0,void 0,!1))}(e,n),e.helpers=new Set([...n.helpers.keys()]),e.components=[...n.components],e.directives=[...n.directives],e.imports=n.imports,e.hoists=n.hoists,e.temps=n.temps,e.cached=n.cached,e.transformed=!0}(r,k({},i,{nodeTransforms:[...o,...t.nodeTransforms||[]],directiveTransforms:k({},s,t.directiveTransforms||{})})),function(e,t={}){let n=function(e,{mode:t="function",prefixIdentifiers:n="module"===t,sourceMap:a=!1,filename:i="template.vue.html",scopeId:r=null,optimizeImports:o=!1,runtimeGlobalName:s="Vue",runtimeModuleName:l="vue",ssrRuntimeModuleName:u="vue/server-renderer",ssr:c=!1,isTS:d=!1,inSSR:h=!1}){let p={mode:t,prefixIdentifiers:n,sourceMap:a,filename:i,scopeId:r,optimizeImports:o,runtimeGlobalName:s,runtimeModuleName:l,ssrRuntimeModuleName:u,ssr:c,isTS:d,inSSR:h,source:e.source,code:"",column:1,line:1,offset:0,indentLevel:0,pure:!1,map:void 0,helper:e=>`_${Js[e]}`,push(e,t=-2,n){p.code+=e},indent(){f(++p.indentLevel)},deindent(e=!1){e?--p.indentLevel:f(--p.indentLevel)},newline(){f(p.indentLevel)}};function f(e){p.push("\n"+" ".repeat(e),0)}return p}(e,t);t.onContextCreated&&t.onContextCreated(n);let{mode:a,push:i,prefixIdentifiers:r,indent:o,deindent:s,newline:l,scopeId:u,ssr:c}=n,d=Array.from(e.helpers),h=d.length>0,p=!r&&"module"!==a;if(function(e,t){let{ssr:n,prefixIdentifiers:a,push:i,newline:r,runtimeModuleName:o,runtimeGlobalName:s,ssrRuntimeModuleName:l}=t,u=Array.from(e.helpers);if(u.length>0&&(i(`const _Vue = ${s}\n`,-1),e.hoists.length)){i(`const { ${[ws,ks,xs,Ss,Cs].filter((e=>u.includes(e))).map(Eu).join(", ")} } = _Vue\n`,-1)}(function(e,t){if(!e.length)return;t.pure=!0;let{push:n,newline:a}=t;a();for(let i=0;i0)&&l()),e.directives.length&&(Tu(e.directives,"directive",n),e.temps>0&&l()),e.temps>0){i("let ");for(let t=0;t0?", ":""}_temp${t}`)}return(e.components.length||e.directives.length||e.temps)&&(i("\n",0),l()),c||i("return "),e.codegenNode?Pu(e.codegenNode,n):i("null"),p&&(s(),i("}")),s(),i("}"),{ast:e,code:n.code,preamble:"",map:n.map?n.map.toJSON():void 0}}(r,i)}(e,k({},vc,t,{nodeTransforms:[Sc,...Cc,...t.nodeTransforms||[]],directiveTransforms:k({},Ec,t.directiveTransforms||{}),transformHoist:null}))}(e,o),l=Function(s)();return l._rc=!0,i[a]=l}return Nr(Ac),e.BaseTransition=Zn,e.BaseTransitionPropsValidators=Qn,e.Comment=er,e.DeprecationTypes=null,e.EffectScope=_e,e.ErrorCodes={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},e.ErrorTypeStrings=null,e.Fragment=Ji,e.KeepAlive={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Tr(),a=n.ctx,i=new Map,r=new Set,o=null,s=n.suspense,{renderer:{p:l,m:u,um:c,o:{createElement:d}}}=a,h=d("div");function p(e){ka(e),c(e,n,s,!0)}function f(e){i.forEach(((t,n)=>{let a=Dr(t.type);a&&!e(a)&&m(n)}))}function m(e){let t=i.get(e);!t||o&&dr(t,o)?o&&ka(o):p(t),i.delete(e),r.delete(e)}a.activate=(e,t,n,a,i)=>{let r=e.component;u(e,t,n,0,s),l(r.vnode,e,t,n,r,s,a,e.slotScopeIds,i),xi((()=>{r.isDeactivated=!1,r.a&&G(r.a);let t=e.props&&e.props.onVnodeMounted;t&&xr(t,r.parent,e)}),s)},a.deactivate=e=>{let t=e.component;Pi(t.m),Pi(t.a),u(e,h,null,1,s),xi((()=>{t.da&&G(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&xr(n,t.parent,e),t.isDeactivated=!0}),s)},Ri((()=>[e.include,e.exclude]),(([e,t])=>{e&&f((t=>ba(e,t))),t&&f((e=>!ba(t,e)))}),{flush:"post",deep:!0});let g=null,v=()=>{null!=g&&(Hi(n.subTree.type)?xi((()=>{i.set(g,xa(n.subTree))}),n.subTree.suspense):i.set(g,xa(n.subTree)))};return Ta(v),Ma(v),Pa((()=>{i.forEach((e=>{let{subTree:t,suspense:a}=n,i=xa(t);if(e.type!==i.type||e.key!==i.key)p(e);else{ka(i);let e=i.component.da;e&&xi(e,a)}}))})),()=>{if(g=null,!t.default)return o=null;let n=t.default(),a=n[0];if(n.length>1)return o=null,n;if(!(cr(a)&&(4&a.shapeFlag||128&a.shapeFlag)))return o=null,a;let s=xa(a);if(s.type===er)return o=null,s;let l=s.type,u=Dr(ma(s)?s.type.__asyncResolved||{}:l),{include:c,exclude:d,max:h}=e;if(c&&(!u||!ba(c,u))||d&&u&&ba(d,u))return s.shapeFlag&=-257,o=s,a;let p=null==s.key?l:s.key,f=i.get(p);return s.el&&(s=vr(s),128&a.shapeFlag&&(a.ssContent=s)),g=p,f?(s.el=f.el,s.component=f.component,s.transition&&na(s,s.transition),s.shapeFlag|=512,r.delete(p),r.add(p)):(r.add(p),h&&r.size>parseInt(h,10)&&m(r.values().next().value)),s.shapeFlag|=256,o=s,Hi(a.type)?a:s}}},e.ReactiveEffect=we,e.Static=tr,e.Suspense={name:"Suspense",__isSuspense:!0,process(e,t,n,a,i,r,o,s,l,u){if(null==e)!function(e,t,n,a,i,r,o,s,l){let{p:u,o:{createElement:c}}=l,d=c("div"),h=e.suspense=Qi(e,i,a,t,d,n,r,o,s,l);u(null,h.pendingBranch=e.ssContent,d,null,a,h,r,o),h.deps>0?(Yi(e,"onPending"),Yi(e,"onFallback"),u(null,e.ssFallback,t,n,a,null,r,o),Zi(h,e.ssFallback)):h.resolve(!1,!0)}(t,n,a,i,r,o,s,l,u);else{if(r&&r.deps>0&&!e.suspense.isInFallback)return t.suspense=e.suspense,t.suspense.vnode=t,void(t.el=e.el);!function(e,t,n,a,i,r,o,s,{p:l,um:u,o:{createElement:c}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let h=t.ssContent,p=t.ssFallback,{activeBranch:f,pendingBranch:m,isInFallback:g,isHydrating:v}=d;if(m)d.pendingBranch=h,dr(h,m)?(l(m,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0?d.resolve():g&&!v&&(l(f,p,n,a,i,null,r,o,s),Zi(d,p))):(d.pendingId=Wi++,v?(d.isHydrating=!1,d.activeBranch=m):u(m,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=c("div"),g?(l(null,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0?d.resolve():(l(f,p,n,a,i,null,r,o,s),Zi(d,p))):f&&dr(h,f)?(l(f,h,n,a,i,d,r,o,s),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0&&d.resolve()));else if(f&&dr(h,f))l(f,h,n,a,i,d,r,o,s),Zi(d,h);else if(Yi(t,"onPending"),d.pendingBranch=h,512&h.shapeFlag?d.pendingId=h.component.suspenseId:d.pendingId=Wi++,l(null,h,d.hiddenContainer,null,i,d,r,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout((()=>{d.pendingId===t&&d.fallback(p)}),e):0===e&&d.fallback(p)}}(e,t,n,a,i,o,s,l,u)}},hydrate:function(e,t,n,a,i,r,o,s,l){let u=t.suspense=Qi(t,a,n,e.parentNode,document.createElement("div"),null,i,r,o,s,!0),c=l(e,u.pendingBranch=t.ssContent,n,u,r,o);return 0===u.deps&&u.resolve(!1,!0),c},normalize:function(e){let{shapeFlag:t,children:n}=e,a=32&t;e.ssContent=Ki(a?n.default:n),e.ssFallback=a?Ki(n.fallback):mr(er)}},e.Teleport={name:"Teleport",__isTeleport:!0,process(e,t,n,a,i,r,o,s,l,u){let{mc:c,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=u,v=qn(t.props),{shapeFlag:b,children:_,dynamicChildren:y}=t;if(null==e){let e=t.el=m(""),u=t.anchor=m("");p(e,n,a),p(u,n,a);let d=(e,t)=>{16&b&&(i&&i.isCE&&(i.ce._teleportTarget=e),c(_,e,t,i,r,o,s,l))},h=()=>{let e=t.target=$n(t.props,f),n=Vn(e,t,m,p);e&&("svg"!==o&&Dn(e)?o="svg":"mathml"!==o&&jn(e)&&(o="mathml"),v||(d(e,n),Fn(t)))};v&&(d(n,u),Fn(t)),(e=>e&&(e.defer||""===e.defer))(t.props)?xi(h,r):h()}else{t.el=e.el,t.targetStart=e.targetStart;let a=t.anchor=e.anchor,c=t.target=e.target,p=t.targetAnchor=e.targetAnchor,m=qn(e.props),g=m?n:c;if("svg"===o||Dn(c)?o="svg":("mathml"===o||jn(c))&&(o="mathml"),y?(h(e.dynamicChildren,y,g,i,r,o,s),Mi(e,t,!0)):l||d(e,t,g,m?a:p,i,r,o,s,!1),v)m?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Bn(t,n,a,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=$n(t.props,f);e&&Bn(t,e,null,u,0)}else m&&Bn(t,c,p,u,1);Fn(t)}},remove(e,t,n,{um:a,o:{remove:i}},r){let{shapeFlag:o,children:s,anchor:l,targetStart:u,targetAnchor:c,target:d,props:h}=e;if(d&&(i(u),i(c)),r&&i(l),16&o){let e=r||!qn(h);for(let i=0;ie[a]});return n},e.createRenderer=function(e){return Ci(e)},e.createSSRApp=cs,e.createSlots=function(e,t){for(let n=0;n{let t=a.fn(...e);return t&&(t.key=a.key),t}:a.fn)}return e},e.createStaticVNode=function(e,t){let n=mr(tr,null,e);return n.staticCount=t,n},e.createTextVNode=br,e.createVNode=mr,e.customRef=tn,e.defineAsyncComponent=/*! #__NO_SIDE_EFFECTS__ */function(e){let t;P(e)&&(e={loader:e});let{loader:n,loadingComponent:a,errorComponent:i,delay:r=200,hydrate:o,timeout:s,suspensible:l=!0,onError:u}=e,c=null,d=0,h=()=>{let e;return c||(e=c=n().catch((e=>{if(e=e instanceof Error?e:Error(String(e)),u)return new Promise(((t,n)=>{u(e,(()=>t((d++,c=null,h()))),(()=>n(e)),d+1)}));throw e})).then((n=>e!==c&&c?c:(n&&(n.__esModule||"Module"===n[Symbol.toStringTag])&&(n=n.default),t=n,n))))};return ia({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(e,n,a){let i=o?()=>{let t=o(a,(t=>function(e,t){if(ca(e)&&"["===e.data){let n=1,a=e.nextSibling;for(;a;){if(1===a.nodeType){if(!1===t(a))break}else if(ca(a))if("]"===a.data){if(0==--n)break}else"["===a.data&&n++;a=a.nextSibling}}else t(e)}(e,t)));t&&(n.bum||(n.bum=[])).push(t)}:a;t?i():h().then((()=>!n.isUnmounted&&i()))},get __asyncResolved(){return t},setup(){let e=Er;if(ra(e),t)return()=>ga(t,e);let n=t=>{c=null,pn(t,e,13,!i)};if(l&&e.suspense)return h().then((t=>()=>ga(t,e))).catch((e=>(n(e),()=>i?mr(i,{error:e}):null)));let o=Yt(!1),u=Yt(),d=Yt(!!r);return r&&setTimeout((()=>{d.value=!1}),r),null!=s&&setTimeout((()=>{if(!o.value&&!u.value){let e=Error(`Async component timed out after ${s}ms.`);n(e),u.value=e}}),s),h().then((()=>{o.value=!0,e.parent&&va(e.parent.vnode)&&e.parent.update()})).catch((e=>{n(e),u.value=e})),()=>o.value&&t?ga(t,e):u.value&&i?mr(i,{error:u.value}):a&&!d.value?mr(a):void 0}})},e.defineComponent=ia,e.defineCustomElement=Lo,e.defineEmits=function(){return null},e.defineExpose=function(e){},e.defineModel=function(){},e.defineOptions=function(e){},e.defineProps=function(){return null},e.defineSSRCustomElement=(e,t)=>Lo(e,t,cs),e.defineSlots=function(){return null},e.devtools=void 0,e.effect=function(e,t){e.effect instanceof we&&(e=e.effect.fn);let n=new we(e);t&&k(n,t);try{n.run()}catch(e){throw n.stop(),e}let a=n.run.bind(n);return a.effect=n,a},e.effectScope=function(e){return new _e(e)},e.getCurrentInstance=Tr,e.getCurrentScope=function(){return i},e.getCurrentWatcher=function(){return p},e.getTransitionRawChildren=aa,e.guardReactiveProps=gr,e.h=$r,e.handleError=pn,e.hasInjectionContext=function(){return!!(Er||Pn||ri)},e.hydrate=(...e)=>{ss().hydrate(...e)},e.hydrateOnIdle=(e=1e4)=>t=>{let n=requestIdleCallback(t,{timeout:e});return()=>cancelIdleCallback(n)},e.hydrateOnInteraction=(e=[])=>(t,n)=>{L(e)&&(e=[e]);let a=!1,i=e=>{a||(a=!0,r(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},r=()=>{n((t=>{for(let n of e)t.removeEventListener(n,i)}))};return n((t=>{for(let n of e)t.addEventListener(n,i,{once:!0})})),r},e.hydrateOnMediaQuery=e=>t=>{if(e){let n=matchMedia(e);if(!n.matches)return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t);t()}},e.hydrateOnVisible=e=>(t,n)=>{let a=new IntersectionObserver((e=>{for(let n of e)if(n.isIntersecting){a.disconnect(),t();break}}),e);return n((e=>{if(e instanceof Element){if(function(e){let{top:t,left:n,bottom:a,right:i}=e.getBoundingClientRect(),{innerHeight:r,innerWidth:o}=window;return(t>0&&t0&&a0&&n0&&ia.disconnect()},e.initCustomFormatter=function(){},e.initDirectivesForSSR=b,e.inject=si,e.isMemoSame=Br,e.isProxy=Bt,e.isReactive=Dt,e.isReadonly=jt,e.isRef=Wt,e.isRuntimeOnly=()=>!u,e.isShallow=$t,e.isVNode=cr,e.markRaw=Vt,e.mergeDefaults=function(e,t){let n=Wa(e);for(let e in t){if(e.startsWith("__skip"))continue;let a=n[e];a?E(a)||P(a)?a=n[e]={type:a,default:t[e]}:a.default=t[e]:null===a&&(a=n[e]={default:t[e]}),a&&t[`__skip_${e}`]&&(a.skipFactory=!0)}return n},e.mergeModels=function(e,t){return e&&t?E(e)&&E(t)?e.concat(t):k({},Wa(e),Wa(t)):e||t},e.mergeProps=kr,e.nextTick=xn,e.normalizeClass=se,e.normalizeProps=function(e){if(!e)return null;let{class:t,style:n}=e;return t&&!L(t)&&(e.class=se(t)),n&&(e.style=ne(n)),e},e.normalizeStyle=ne,e.onActivated=_a,e.onBeforeMount=Ea,e.onBeforeUnmount=Pa,e.onBeforeUpdate=Aa,e.onDeactivated=ya,e.onErrorCaptured=Ia,e.onMounted=Ta,e.onRenderTracked=Ra,e.onRenderTriggered=Na,e.onScopeDispose=function(e,t=!1){i&&i.cleanups.push(e)},e.onServerPrefetch=Oa,e.onUnmounted=La,e.onUpdated=Ma,e.onWatcherCleanup=un,e.openBlock=ir,e.popScopeId=function(){Ln=null},e.provide=oi,e.proxyRefs=Xt,e.pushScopeId=function(e){Ln=e},e.queuePostFlushCb=En,e.reactive=Rt,e.readonly=zt,e.ref=Yt,e.registerRuntimeCompiler=Nr,e.render=ls,e.renderList=function(e,t,n,a){let i,r=n&&n[a],o=E(e);if(o||L(e)){let n=!1;o&&Dt(e)&&(n=!$t(e),e=He(e)),i=Array(e.length);for(let a=0,o=e.length;at(e,n,void 0,r&&r[n])));else{let n=Object.keys(e);i=Array(n.length);for(let a=0,o=n.length;a!cr(t)||!(t.type===er||t.type===Ji&&!e(t.children))))?t:null}(r(n)),s=ur(Ji,{key:(n.key||o&&o.key||`_${t}`)+(!o&&a?"_fb":"")},o||(a?a():[]),o&&1===e._?64:-2);return!i&&s.scopeId&&(s.slotScopeIds=[s.scopeId+"-s"]),r&&r._c&&(r._d=!0),s},e.resolveComponent=function(e,t){return Da(za,e,!0,t)||e},e.resolveDirective=function(e){return Da("directives",e)},e.resolveDynamicComponent=function(e){return L(e)?Da(za,e,!1)||e:e||qa},e.resolveFilter=null,e.resolveTransitionHooks=Xn,e.setBlockTracking=sr,e.setDevtoolsHook=b,e.setTransitionHooks=na,e.shallowReactive=It,e.shallowReadonly=function(e){return qt(e,!0,lt,Mt,Nt)},e.shallowRef=Qt,e.ssrContextKey=Li,e.ssrUtils=null,e.stop=function(e){e.effect.stop()},e.toDisplayString=ge,e.toHandlerKey=Q,e.toHandlers=function(e,t){let n={};for(let a in e)n[t&&/[A-Z]/.test(a)?`on:${a}`:Q(a)]=e[a];return n},e.toRaw=Ft,e.toRef=function(e,t,n){return Wt(e)?e:P(e)?new an(e):N(e)&&arguments.length>1?rn(e,t,n):Yt(e)},e.toRefs=function(e){let t=E(e)?Array(e.length):{};for(let n in e)t[n]=rn(e,n);return t},e.toValue=function(e){return P(e)?e():Zt(e)},e.transformVNodeArgs=function(e){},e.triggerRef=function(e){e.dep&&e.dep.trigger()},e.unref=Zt,e.useAttrs=function(){return Ha().attrs},e.useCssModule=function(e="$style"){return g},e.useCssVars=function(e){let t=Tr();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach((e=>go(e,n)))},a=()=>{let a=e(t.proxy);t.ce?go(t.ce,a):function e(t,n){if(128&t.shapeFlag){let a=t.suspense;t=a.activeBranch,a.pendingBranch&&!a.isHydrating&&a.effects.push((()=>{e(a.activeBranch,n)}))}for(;t.component;)t=t.component.subTree;if(1&t.shapeFlag&&t.el)go(t.el,n);else if(t.type===Ji)t.children.forEach((t=>e(t,n)));else if(t.type===tr){let{el:e,anchor:a}=t;for(;e&&(go(e,n),e!==a);)e=e.nextSibling}}(t.subTree,a),n(a)};Ea((()=>{Oi(a)})),Ta((()=>{let e=new MutationObserver(a);e.observe(t.subTree.el.parentNode,{childList:!0}),La((()=>e.disconnect()))}))},e.useHost=Ro,e.useId=function(){let e=Tr();if(e)return(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++},e.useModel=function(e,t,n=g){let a=Tr(),i=U(t),r=W(t),o=qi(e,t),s=tn(((o,s)=>{let l,u,c=g;return Ni((()=>{let n=e[t];K(l,n)&&(l=n,s())})),{get:()=>(o(),n.get?n.get(l):l),set(e){let o=n.set?n.set(e):e;if(!(K(o,l)||c!==g&&K(e,c)))return;let d=a.vnode.props;d&&(t in d||i in d||r in d)&&(`onUpdate:${t}`in d||`onUpdate:${i}`in d||`onUpdate:${r}`in d)||(l=e,s()),a.emit(`update:${t}`,o),K(e,o)&&K(e,c)&&!K(o,u)&&s(),c=e,u=o}}}));return s[Symbol.iterator]=()=>{let e=0;return{next:()=>e<2?{value:e++?o||g:s,done:!1}:{done:!0}}},s},e.useSSRContext=()=>{},e.useShadowRoot=function(){let e=Ro();return e&&e.shadowRoot},e.useSlots=function(){return Ha().slots},e.useTemplateRef=function(e){let t=Tr(),n=Qt(null);return t&&Object.defineProperty(t.refs===g?t.refs={}:t.refs,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e}),n},e.useTransitionState=Wn,e.vModelCheckbox=Qo,e.vModelDynamic={created(e,t,n){ts(e,t,n,null,"created")},mounted(e,t,n){ts(e,t,n,null,"mounted")},beforeUpdate(e,t,n,a){ts(e,t,n,a,"beforeUpdate")},updated(e,t,n,a){ts(e,t,n,a,"updated")}},e.vModelRadio=Go,e.vModelSelect=Zo,e.vModelText=Yo,e.vShow={beforeMount(e,{value:t},{transition:n}){e[ho]="none"===e.style.display?"":e.style.display,n&&t?n.beforeEnter(e):fo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:a}){!t!=!n&&(a?t?(a.beforeEnter(e),fo(e,!0),a.enter(e)):a.leave(e,(()=>{fo(e,!1)})):fo(e,t))},beforeUnmount(e,{value:t}){fo(e,t)}},e.version=Fr,e.warn=b,e.watch=function(e,t,n){return Ri(e,t,n)},e.watchEffect=function(e,t){return Ri(e,null,t)},e.watchPostEffect=Oi,e.watchSyncEffect=Ni,e.withAsyncContext=function(e){let t=Tr(),n=e();return Mr(),R(n)&&(n=n.catch((e=>{throw Ar(t),e}))),[n,()=>Ar(t)]},e.withCtx=Nn,e.withDefaults=function(e,t){return null},e.withDirectives=function(e,t){if(null===Pn)return e;let n=qr(Pn),a=e.dirs||(e.dirs=[]);for(let e=0;e{let n=e._withKeys||(e._withKeys={}),a=t.join(".");return n[a]||(n[a]=n=>{if(!("key"in n))return;let a=W(n.key);return t.some((e=>e===a||is[e]===a))?e(n):void 0})},e.withMemo=function(e,t,n,a){let i=n[a];if(i&&Br(i,e))return i;let r=t();return r.memo=e.slice(),r.cacheIndex=a,n[a]=r},e.withModifiers=(e,t)=>{let n=e._withMods||(e._withMods={}),a=t.join(".");return n[a]||(n[a]=(n,...a)=>{for(let e=0;eNn,e}({}); /*! * Quasar Framework v2.17.0 * (c) 2015-present Razvan Stoenescu * Released under the MIT License. - */(()=>{var e=Object.defineProperty,t=(t,n)=>{for(var a in n)e(t,a,{get:n[a],enumerable:!0})},{h:n,ref:a,computed:i,watch:r,isRef:o,toRaw:s,unref:l,reactive:u,shallowReactive:c,nextTick:d,onActivated:h,onDeactivated:p,onBeforeMount:f,onMounted:m,onBeforeUnmount:v,onUnmounted:g,onBeforeUpdate:_,onUpdated:b,inject:y,provide:w,getCurrentInstance:k,markRaw:x,Transition:S,TransitionGroup:C,KeepAlive:T,Teleport:M,useSSRContext:E,withDirectives:P,vShow:A,defineComponent:L,createApp:O}=window.Vue;function N(e,t,n,a){return Object.defineProperty(e,t,{get:n,set:a,enumerable:!0}),e}function R(e,t){for(let n in t)N(e,n,t[n]);return e}var z,q=a(!1);var I="ontouchstart"in window||window.navigator.maxTouchPoints>0;var D=navigator.userAgent||navigator.vendor||window.opera,j={userAgent:D,is:function(e){let t=e.toLowerCase(),n=function(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}(t),a=function(e,t){let n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[4]||n[2]||"0",platform:t[0]||""}}(t,n),i={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};a.browser&&(i[a.browser]=!0,i.version=a.version,i.versionNumber=parseInt(a.version,10)),a.platform&&(i[a.platform]=!0);let r=i.android||i.ios||i.bb||i.blackberry||i.ipad||i.iphone||i.ipod||i.kindle||i.playbook||i.silk||i["windows phone"];if(!0===r||-1!==t.indexOf("mobile")?i.mobile=!0:i.desktop=!0,i["windows phone"]&&(i.winphone=!0,delete i["windows phone"]),i.edga||i.edgios||i.edg?(i.edge=!0,a.browser="edge"):i.crios?(i.chrome=!0,a.browser="chrome"):i.fxios&&(i.firefox=!0,a.browser="firefox"),(i.ipod||i.ipad||i.iphone)&&(i.ios=!0),i.vivaldi&&(a.browser="vivaldi",i.vivaldi=!0),(i.chrome||i.opr||i.safari||i.vivaldi||!0===i.mobile&&!0!==i.ios&&!0!==r)&&(i.webkit=!0),i.opr&&(a.browser="opera",i.opera=!0),i.safari&&(i.blackberry||i.bb?(a.browser="blackberry",i.blackberry=!0):i.playbook?(a.browser="playbook",i.playbook=!0):i.android?(a.browser="android",i.android=!0):i.kindle?(a.browser="kindle",i.kindle=!0):i.silk&&(a.browser="silk",i.silk=!0)),i.name=a.browser,i.platform=a.platform,-1!==t.indexOf("electron"))i.electron=!0;else if(-1!==document.location.href.indexOf("-extension://"))i.bex=!0;else{if(void 0!==window.Capacitor?(i.capacitor=!0,i.nativeMobile=!0,i.nativeMobileWrapper="capacitor"):(void 0!==window._cordovaNative||void 0!==window.cordova)&&(i.cordova=!0,i.nativeMobile=!0,i.nativeMobileWrapper="cordova"),!0===q.value&&(z={is:{...i}}),!0===I&&!0===i.mac&&(!0===i.desktop&&!0===i.safari||!0===i.nativeMobile&&!0!==i.android&&!0!==i.ios&&!0!==i.ipad)){delete i.mac,delete i.desktop;let e=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(i,{mobile:!0,ios:!0,platform:e,[e]:!0})}!0!==i.mobile&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete i.desktop,i.mobile=!0)}return i}(D),has:{touch:I},within:{iframe:window.self!==window.top}},$={install(e){let{$q:t}=e;!0===q.value?(e.onSSRHydrated.push((()=>{Object.assign(t.platform,j),q.value=!1})),t.platform=u(this)):t.platform=this}};{let e;N(j.has,"webStorage",(()=>{if(void 0!==e)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1})),Object.assign($,j),!0===q.value&&(Object.assign($,z,{has:{touch:!1,webStorage:!1},within:{iframe:!1}}),z=null)}var F=$;function B(e){return x(L(e))}function V(e){return x(e)}var H=(e,t)=>{let n=u(e);for(let a in e)N(t,a,(()=>n[a]),(e=>{n[a]=e}));return t},U={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{let e=Object.defineProperty({},"passive",{get(){Object.assign(U,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function W(){}function Y(e){return 0===e.button}function Q(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function K(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();let t=[],n=e.target;for(;n;){if(t.push(n),"HTML"===n.tagName)return t.push(document),t.push(window),t;n=n.parentElement}}function G(e){e.stopPropagation()}function Z(e){!1!==e.cancelable&&e.preventDefault()}function X(e){!1!==e.cancelable&&e.preventDefault(),e.stopPropagation()}function J(e,t){if(void 0===e||!0===t&&!0===e.__dragPrevented)return;let n=!0===t?e=>{e.__dragPrevented=!0,e.addEventListener("dragstart",Z,U.notPassiveCapture)}:e=>{delete e.__dragPrevented,e.removeEventListener("dragstart",Z,U.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function ee(e,t,n){let a=`__q_${t}_evt`;e[a]=void 0!==e[a]?e[a].concat(n):n,n.forEach((t=>{t[0].addEventListener(t[1],e[t[2]],U[t[3]])}))}function te(e,t){let n=`__q_${t}_evt`;void 0!==e[n]&&(e[n].forEach((t=>{t[0].removeEventListener(t[1],e[t[2]],U[t[3]])})),e[n]=void 0)}var ne={listenOpts:U,leftClick:Y,middleClick:function(e){return 1===e.button},rightClick:function(e){return 2===e.button},position:Q,getEventPath:K,getMouseWheelDistance:function(e){let t=e.deltaX,n=e.deltaY;if((t||n)&&e.deltaMode){let a=1===e.deltaMode?40:800;t*=a,n*=a}return e.shiftKey&&!t&&([n,t]=[t,n]),{x:t,y:n}},stop:G,prevent:Z,stopAndPrevent:X,preventDraggable:J};function ae(e,t=250,n){let a=null;function i(){let i=arguments;null!==a?clearTimeout(a):!0===n&&e.apply(this,i),a=setTimeout((()=>{a=null,!0!==n&&e.apply(this,i)}),t)}return i.cancel=()=>{null!==a&&clearTimeout(a)},i}var ie=["sm","md","lg","xl"],{passive:re}=U,oe=H({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:W,setDebounce:W,install({$q:e,onSSRHydrated:t}){if(e.screen=this,!0===this.__installed)return void(void 0!==e.config.screen&&(!1===e.config.screen.bodyClasses?document.body.classList.remove(`screen--${this.name}`):this.__update(!0)));let{visualViewport:n}=window,a=n||window,i=document.scrollingElement||document.documentElement,r=void 0===n||!0===j.is.mobile?()=>[Math.max(window.innerWidth,i.clientWidth),Math.max(window.innerHeight,i.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-i.clientWidth,n.height*n.scale+window.innerHeight-i.clientHeight],o=void 0!==e.config.screen&&!0===e.config.screen.bodyClasses;this.__update=e=>{let[t,n]=r();if(n!==this.height&&(this.height=n),t!==this.width)this.width=t;else if(!0!==e)return;let a=this.sizes;this.gt.xs=t>=a.sm,this.gt.sm=t>=a.md,this.gt.md=t>=a.lg,this.gt.lg=t>=a.xl,this.lt.sm=t{ie.forEach((t=>{void 0!==e[t]&&(l[t]=e[t])}))},this.setDebounce=e=>{u=e};let c=()=>{let e=getComputedStyle(document.body);e.getPropertyValue("--q-size-sm")&&ie.forEach((t=>{this.sizes[t]=parseInt(e.getPropertyValue(`--q-size-${t}`),10)})),this.setSizes=e=>{ie.forEach((t=>{e[t]&&(this.sizes[t]=e[t])})),this.__update(!0)},this.setDebounce=e=>{void 0!==s&&a.removeEventListener("resize",s,re),s=e>0?ae(this.__update,e):this.__update,a.addEventListener("resize",s,re)},this.setDebounce(u),0!==Object.keys(l).length?(this.setSizes(l),l=void 0):this.__update(),!0===o&&"xs"===this.name&&document.body.classList.add("screen--xs")};!0===q.value?t.push(c):c()}}),se=H({isActive:!1,mode:!1},{__media:void 0,set(e){se.mode=e,"auto"===e?(void 0===se.__media&&(se.__media=window.matchMedia("(prefers-color-scheme: dark)"),se.__updateMedia=()=>{se.set("auto")},se.__media.addListener(se.__updateMedia)),e=se.__media.matches):void 0!==se.__media&&(se.__media.removeListener(se.__updateMedia),se.__media=void 0),se.isActive=!0===e,document.body.classList.remove("body--"+(!0===e?"light":"dark")),document.body.classList.add("body--"+(!0===e?"dark":"light"))},toggle(){se.set(!1===se.isActive)},install({$q:e,ssrContext:t}){let{dark:n}=e.config;e.dark=this,!0!==this.__installed&&this.set(void 0!==n&&n)}}),le=se;function ue(e,t,n=document.body){if("string"!=typeof e)throw new TypeError("Expected a string as propName");if("string"!=typeof t)throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}var ce=!1;function de(e){ce=!0===e.isComposing}function he(e){return!0===ce||e!==Object(e)||!0===e.isComposing||!0===e.qKeyEvent}function pe(e,t){return!0!==he(e)&&[].concat(t).includes(e.keyCode)}function fe(e){return!0===e.ios?"ios":!0===e.android?"android":void 0}var me={install(e){if(!0!==this.__installed){if(!0===q.value)!function(){let{is:e}=j,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(!0!==e.nativeMobile&&!0!==e.electron&&!0!==e.bex)if(!0===e.desktop)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(!0===e.mobile){n.delete("desktop"),n.add("mobile"),n.delete("platform-ios"),n.delete("platform-android");let t=fe(e);void 0!==t&&n.add(`platform-${t}`)}!0===j.has.touch&&(n.delete("no-touch"),n.add("touch")),!0===j.within.iframe&&n.add("within-iframe");let a=Array.from(n).join(" ");t!==a&&(document.body.className=a)}();else{let{$q:t}=e;void 0!==t.config.brand&&function(e){for(let t in e)ue(t,e[t])}(t.config.brand);let n=function({is:e,has:t,within:n},a){let i=[!0===e.desktop?"desktop":"mobile",(!1===t.touch?"no-":"")+"touch"];if(!0===e.mobile){let t=fe(e);void 0!==t&&i.push("platform-"+t)}if(!0===e.nativeMobile){let t=e.nativeMobileWrapper;i.push(t),i.push("native-mobile"),!0===e.ios&&(void 0===a[t]||!1!==a[t].iosStatusBarPadding)&&i.push("q-ios-padding")}else!0===e.electron?i.push("electron"):!0===e.bex&&i.push("bex");return!0===n.iframe&&i.push("within-iframe"),i}(j,t.config);document.body.classList.add.apply(document.body.classList,n)}!0===j.is.ios&&document.body.addEventListener("touchstart",W),window.addEventListener("keydown",de,!0)}}},ve=()=>!0;function ge(e){return"string"==typeof e&&""!==e&&"/"!==e&&"#/"!==e}function _e(e){return!0===e.startsWith("#")&&(e=e.substring(1)),!1===e.startsWith("/")&&(e="/"+e),!0===e.endsWith("/")&&(e=e.substring(0,e.length-1)),"#"+e}var be={__history:[],add:W,remove:W,install({$q:e}){if(!0===this.__installed)return;let{cordova:t,capacitor:n}=j.is;if(!0!==t&&!0!==n)return;let a=e.config[!0===t?"cordova":"capacitor"];if(void 0!==a&&!1===a.backButton||!0===n&&(void 0===window.Capacitor||void 0===window.Capacitor.Plugins.App))return;this.add=e=>{void 0===e.condition&&(e.condition=ve),this.__history.push(e)},this.remove=e=>{let t=this.__history.indexOf(e);t>=0&&this.__history.splice(t,1)};let i=function(e){if(!1===e.backButtonExit)return()=>!1;if("*"===e.backButtonExit)return ve;let t=["#/"];return!0===Array.isArray(e.backButtonExit)&&t.push(...e.backButtonExit.filter(ge).map(_e)),()=>t.includes(window.location.hash)}(Object.assign({backButtonExit:!0},a)),r=()=>{if(this.__history.length){let e=this.__history[this.__history.length-1];!0===e.condition()&&(this.__history.pop(),e.handler())}else!0===i()?navigator.app.exitApp():window.history.back()};!0===t?document.addEventListener("deviceready",(()=>{document.addEventListener("backbutton",r,!1)})):window.Capacitor.Plugins.App.addListener("backButton",r)}},ye={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days"},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>1===e?"1 record selected.":(0===e?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function we(){let e=!0===Array.isArray(navigator.languages)&&0!==navigator.languages.length?navigator.languages[0]:navigator.language;if("string"==typeof e)return e.split(/[-_]/).map(((e,t)=>0===t?e.toLowerCase():t>1||e.length<4?e.toUpperCase():e[0].toUpperCase()+e.slice(1).toLowerCase())).join("-")}var ke=H({__qLang:{}},{getLocale:we,set(e=ye,t){let n={...e,rtl:!0===e.rtl,getLocale:we};if(n.set=ke.set,void 0===ke.__langConfig||!0!==ke.__langConfig.noHtmlAttrs){let e=document.documentElement;e.setAttribute("dir",!0===n.rtl?"rtl":"ltr"),e.setAttribute("lang",n.isoName)}Object.assign(ke.__qLang,n)},install({$q:e,lang:t,ssrContext:n}){e.lang=ke.__qLang,ke.__langConfig=e.config.lang,!0===this.__installed?void 0!==t&&this.set(t):(this.props=new Proxy(this.__qLang,{get(){return Reflect.get(...arguments)},ownKeys:e=>Reflect.ownKeys(e).filter((e=>"set"!==e&&"getLocale"!==e))}),this.set(t||ye))}}),xe=ke,Se={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},Ce=H({iconMapFn:null,__qIconSet:{}},{set(e,t){let n={...e};n.set=Ce.set,Object.assign(Ce.__qIconSet,n)},install({$q:e,iconSet:t,ssrContext:n}){void 0!==e.config.iconMapFn&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__qIconSet,N(e,"iconMapFn",(()=>this.iconMapFn),(e=>{this.iconMapFn=e})),!0===this.__installed?void 0!==t&&this.set(t):(this.props=new Proxy(this.__qIconSet,{get(){return Reflect.get(...arguments)},ownKeys:e=>Reflect.ownKeys(e).filter((e=>"set"!==e))}),this.set(t||Se))}}),Te=Ce,Me="_q_t_",Ee="_q_s_",Pe="_q_l_",Ae="_q_pc_",Le="_q_f_",Oe="_q_fo_",Ne="_q_tabs_",Re="_q_u_";function ze(){}var qe={},Ie=!1;function De(e,t){if(e===t)return!0;if(null!==e&&null!==t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;let n,a;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(a=n;0!=a--;)if(!0!==De(e[a],t[a]))return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let n=e.entries();for(a=n.next();!0!==a.done;){if(!0!==t.has(a.value[0]))return!1;a=n.next()}for(n=e.entries(),a=n.next();!0!==a.done;){if(!0!==De(a.value[1],t.get(a.value[0])))return!1;a=n.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;let n=e.entries();for(a=n.next();!0!==a.done;){if(!0!==t.has(a.value[0]))return!1;a=n.next()}return!0}if(null!=e.buffer&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(a=n;0!=a--;)if(e[a]!==t[a])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();let i=Object.keys(e).filter((t=>void 0!==e[t]));if(n=i.length,n!==Object.keys(t).filter((e=>void 0!==t[e])).length)return!1;for(a=n;0!=a--;){let n=i[a];if(!0!==De(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function je(e){return null!==e&&"object"==typeof e&&!0!==Array.isArray(e)}function $e(e){return"[object Date]"===Object.prototype.toString.call(e)}function Fe(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function Be(e){return"number"==typeof e&&isFinite(e)}var Ve={deepEqual:De,object:je,date:$e,regexp:Fe,number:Be},He=[F,me,le,oe,be,xe,Te];function Ue(e,t){let n=O(e);n.config.globalProperties=t.config.globalProperties;let{reload:a,...i}=t._context;return Object.assign(n._context,i),n}function We(e,t){t.forEach((t=>{t.install(e),t.__installed=!0}))}var Ye=function(e,t={}){let n={version:"2.17.0"};!1===Ie?(void 0!==t.config&&Object.assign(qe,t.config),n.config={...qe},Ie=!0):n.config=t.config||{},function(e,t,n){e.config.globalProperties.$q=n.$q,e.provide("_q_",n.$q),We(n,He),void 0!==t.components&&Object.values(t.components).forEach((t=>{!0===je(t)&&void 0!==t.name&&e.component(t.name,t)})),void 0!==t.directives&&Object.values(t.directives).forEach((t=>{!0===je(t)&&void 0!==t.name&&e.directive(t.name,t)})),void 0!==t.plugins&&We(n,Object.values(t.plugins).filter((e=>"function"==typeof e.install&&!1===He.includes(e)))),!0===q.value&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach((e=>{e()})),n.$q.onSSRHydrated=()=>{}})}(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},Qe={};t(Qe,{QAjaxBar:()=>st,QAvatar:()=>Lt,QBadge:()=>Nt,QBanner:()=>qt,QBar:()=>It,QBreadcrumbs:()=>Qt,QBreadcrumbsEl:()=>nn,QBtn:()=>Pn,QBtnDropdown:()=>ai,QBtnGroup:()=>An,QBtnToggle:()=>li,QCard:()=>ui,QCardActions:()=>di,QCardSection:()=>ci,QCarousel:()=>Li,QCarouselControl:()=>Ni,QCarouselSlide:()=>Oi,QChatMessage:()=>Ri,QCheckbox:()=>$i,QChip:()=>Bi,QCircularProgress:()=>Wi,QColor:()=>Dr,QDate:()=>Lo,QDialog:()=>Zo,QDrawer:()=>Xo,QEditor:()=>_s,QExpansionItem:()=>Ts,QFab:()=>Os,QFabAction:()=>zs,QField:()=>Us,QFile:()=>Xs,QFooter:()=>Js,QForm:()=>el,QFormChildMixin:()=>tl,QHeader:()=>nl,QIcon:()=>At,QImg:()=>rl,QInfiniteScroll:()=>sl,QInnerLoading:()=>ll,QInput:()=>_l,QIntersection:()=>xl,QItem:()=>rs,QItemLabel:()=>bs,QItemSection:()=>os,QKnob:()=>El,QLayout:()=>Ol,QLinearProgress:()=>iu,QList:()=>Cl,QMarkupTable:()=>Rl,QMenu:()=>Qa,QNoSsr:()=>zl,QOptionGroup:()=>Fl,QPage:()=>Bl,QPageContainer:()=>Vl,QPageScroller:()=>Wl,QPageSticky:()=>Yl,QPagination:()=>Kl,QParallax:()=>Xl,QPopupEdit:()=>eu,QPopupProxy:()=>tu,QPullToRefresh:()=>ou,QRadio:()=>ql,QRange:()=>cu,QRating:()=>du,QResizeObserver:()=>lr,QResponsive:()=>hu,QRouteTab:()=>qc,QScrollArea:()=>_u,QScrollObserver:()=>Ll,QSelect:()=>Ru,QSeparator:()=>xs,QSkeleton:()=>Iu,QSlideItem:()=>ju,QSlideTransition:()=>ys,QSlider:()=>ir,QSpace:()=>$u,QSpinner:()=>on,QSpinnerAudio:()=>Fu,QSpinnerBall:()=>Bu,QSpinnerBars:()=>Vu,QSpinnerBox:()=>Hu,QSpinnerClock:()=>Uu,QSpinnerComment:()=>Wu,QSpinnerCube:()=>Yu,QSpinnerDots:()=>Qu,QSpinnerFacebook:()=>Ku,QSpinnerGears:()=>Gu,QSpinnerGrid:()=>Zu,QSpinnerHearts:()=>Xu,QSpinnerHourglass:()=>Ju,QSpinnerInfinity:()=>ec,QSpinnerIos:()=>tc,QSpinnerOrbit:()=>nc,QSpinnerOval:()=>ac,QSpinnerPie:()=>ic,QSpinnerPuff:()=>rc,QSpinnerRadio:()=>oc,QSpinnerRings:()=>sc,QSpinnerTail:()=>lc,QSplitter:()=>uc,QStep:()=>pc,QStepper:()=>mc,QStepperNavigation:()=>vc,QTab:()=>gr,QTabPanel:()=>br,QTabPanels:()=>_r,QTable:()=>Nc,QTabs:()=>hr,QTd:()=>zc,QTh:()=>gc,QTime:()=>Dc,QTimeline:()=>jc,QTimelineEntry:()=>$c,QToggle:()=>Il,QToolbar:()=>Fc,QToolbarTitle:()=>Bc,QTooltip:()=>is,QTr:()=>Rc,QTree:()=>Hc,QUploader:()=>td,QUploaderAddTrigger:()=>nd,QVideo:()=>ad,QVirtualScroll:()=>wc});var Ke=["B","KB","MB","GB","TB","PB"];function Ge(e,t=1){let n=0;for(;parseInt(e,10)>=1024&&n=t?a:new Array(t-a.length+1).join(n)+a}var tt={humanStorageSize:Ge,capitalize:Ze,between:Xe,normalizeToInterval:Je,pad:et},nt=XMLHttpRequest,at=nt.prototype.open,it=["top","right","bottom","left"],rt=[],ot=0;var st=B({name:"QAjaxBar",props:{position:{type:String,default:"top",validator:e=>it.includes(e)},size:{type:String,default:"2px"},color:String,skipHijack:Boolean,reverse:Boolean,hijackFilter:Function},emits:["start","stop"],setup(e,{emit:t}){let r,o,{proxy:s}=k(),l=a(0),u=a(!1),c=a(!0),d=0,h=null,p=i((()=>`q-loading-bar q-loading-bar--${e.position}`+(void 0!==e.color?` bg-${e.color}`:"")+(!0===c.value?"":" no-transition"))),f=i((()=>"top"===e.position||"bottom"===e.position)),g=i((()=>!0===f.value?"height":"width")),_=i((()=>{let t=u.value,n=function({p:e,pos:t,active:n,horiz:a,reverse:i,dir:r}){let o=1,s=1;return!0===a?(!0===i&&(o=-1),"bottom"===t&&(s=-1),{transform:`translate3d(${o*(e-100)}%,${n?0:-200*s}%,0)`}):(!0===i&&(s=-1),"right"===t&&(o=-1),{transform:`translate3d(${n?0:r*o*-200}%,${s*(e-100)}%,0)`})}({p:l.value,pos:e.position,active:t,horiz:f.value,reverse:!0===s.$q.lang.rtl&&["top","bottom"].includes(e.position)?!1===e.reverse:e.reverse,dir:!0===s.$q.lang.rtl?-1:1});return n[g.value]=e.size,n.opacity=t?1:0,n})),b=i((()=>!0===u.value?{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":l.value}:{"aria-hidden":"true"}));function y(e=300){let n=r;return r=Math.max(0,e)||0,d++,d>1?(0===n&&e>0?S():null!==h&&n>0&&e<=0&&(clearTimeout(h),h=null),d):(null!==h&&clearTimeout(h),t("start"),l.value=0,h=setTimeout((()=>{h=null,c.value=!0,e>0&&S()}),!0===u._value?500:1),!0!==u._value&&(u.value=!0,c.value=!1),d)}function w(e){return d>0&&(l.value=function(e,t){return"number"!=typeof t&&(t=e<25?3*Math.random()+3:e<65?3*Math.random():e<85?2*Math.random():e<99?.6:0),Xe(e+t,0,100)}(l.value,e)),d}function x(){if(d=Math.max(0,d-1),d>0)return d;null!==h&&(clearTimeout(h),h=null),t("stop");let e=()=>{c.value=!0,l.value=100,h=setTimeout((()=>{h=null,u.value=!1}),1e3)};return 0===l.value?h=setTimeout(e,1):e(),d}function S(){l.value<100&&(h=setTimeout((()=>{h=null,w(),S()}),r))}return m((()=>{!0!==e.skipHijack&&(o=!0,function(e){ot++,rt.push(e),!(ot>1)&&(nt.prototype.open=function(e,t){let n=[];this.addEventListener("loadstart",(()=>{rt.forEach((e=>{(null===e.hijackFilter.value||!0===e.hijackFilter.value(t))&&(e.start(),n.push(e.stop))}))}),{once:!0}),this.addEventListener("loadend",(()=>{n.forEach((e=>{e()}))}),{once:!0}),at.apply(this,arguments)})}({start:y,stop:x,hijackFilter:i((()=>e.hijackFilter||null))}))})),v((()=>{null!==h&&clearTimeout(h),!0===o&&function(e){rt=rt.filter((t=>t.start!==e)),0===(ot=Math.max(0,ot-1))&&(nt.prototype.open=at)}(y)})),Object.assign(s,{start:y,stop:x,increment:w}),()=>n("div",{class:p.value,style:_.value,...b.value})}}),lt={xs:18,sm:24,md:32,lg:38,xl:46},ut={size:String};function ct(e,t=lt){return i((()=>void 0!==e.size?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null))}function dt(e,t){return void 0!==e&&e()||t}function ht(e,t){if(void 0!==e){let t=e();if(null!=t)return t.slice()}return t}function pt(e,t){return void 0!==e?t.concat(e()):t}function ft(e,t){return void 0===e?t:void 0!==t?t.concat(e()):e()}function mt(e,t,a,i,r,o){t.key=i+r;let s=n(e,t,a);return!0===r?P(s,o()):s}var vt="0 0 24 24",gt=e=>e,_t=e=>`ionicons ${e}`,bt={"mdi-":e=>`mdi ${e}`,"icon-":gt,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":_t,"ion-ios":_t,"ion-logo":_t,"iconfont ":gt,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`},yt={o_:"-outlined",r_:"-round",s_:"-sharp"},wt={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},kt=new RegExp("^("+Object.keys(bt).join("|")+")"),xt=new RegExp("^("+Object.keys(yt).join("|")+")"),St=new RegExp("^("+Object.keys(wt).join("|")+")"),Ct=/^[Mm]\s?[-+]?\.?\d/,Tt=/^img:/,Mt=/^svguse:/,Et=/^ion-/,Pt=/^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,At=B({name:"QIcon",props:{...ut,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=ct(e),o=i((()=>"q-icon"+(!0===e.left?" on-left":"")+(!0===e.right?" on-right":"")+(void 0!==e.color?` text-${e.color}`:""))),s=i((()=>{let t,i=e.name;if("none"===i||!i)return{none:!0};if(null!==a.iconMapFn){let e=a.iconMapFn(i);if(void 0!==e){if(void 0===e.icon)return{cls:e.cls,content:void 0!==e.content?e.content:" "};if(i=e.icon,"none"===i||!i)return{none:!0}}}if(!0===Ct.test(i)){let[e,t=vt]=i.split("|");return{svg:!0,viewBox:t,nodes:e.split("&&").map((e=>{let[t,a,i]=e.split("@@");return n("path",{style:a,d:t,transform:i})}))}}if(!0===Tt.test(i))return{img:!0,src:i.substring(4)};if(!0===Mt.test(i)){let[e,t=vt]=i.split("|");return{svguse:!0,src:e.substring(7),viewBox:t}}let r=" ",o=i.match(kt);if(null!==o)t=bt[o[1]](i);else if(!0===Pt.test(i))t=i;else if(!0===Et.test(i))t=`ionicons ion-${!0===a.platform.is.ios?"ios":"md"}${i.substring(3)}`;else if(!0===St.test(i)){t="notranslate material-symbols";let e=i.match(St);null!==e&&(i=i.substring(6),t+=wt[e[1]]),r=i}else{t="notranslate material-icons";let e=i.match(xt);null!==e&&(i=i.substring(2),t+=yt[e[1]]),r=i}return{cls:t,content:r}}));return()=>{let a={class:o.value,style:r.value,"aria-hidden":"true",role:"presentation"};return!0===s.value.none?n(e.tag,a,dt(t.default)):!0===s.value.img?n(e.tag,a,pt(t.default,[n("img",{src:s.value.src})])):!0===s.value.svg?n(e.tag,a,pt(t.default,[n("svg",{viewBox:s.value.viewBox||"0 0 24 24"},s.value.nodes)])):!0===s.value.svguse?n(e.tag,a,pt(t.default,[n("svg",{viewBox:s.value.viewBox},[n("use",{"xlink:href":s.value.src})])])):(void 0!==s.value.cls&&(a.class+=" "+s.value.cls),n(e.tag,a,pt(t.default,[s.value.content])))}}}),Lt=B({name:"QAvatar",props:{...ut,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){let a=ct(e),r=i((()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(!0===e.square?" q-avatar--square":!0===e.rounded?" rounded-borders":""))),o=i((()=>e.fontSize?{fontSize:e.fontSize}:null));return()=>{let i=void 0!==e.icon?[n(At,{name:e.icon})]:void 0;return n("div",{class:r.value,style:a.value},[n("div",{class:"q-avatar__content row flex-center overflow-hidden",style:o.value},ft(t.default,i))])}}}),Ot=["top","middle","bottom"],Nt=B({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>Ot.includes(e)}},setup(e,{slots:t}){let a=i((()=>void 0!==e.align?{verticalAlign:e.align}:null)),r=i((()=>{let t=!0===e.outline&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${!0===e.multiLine?"multi":"single"}-line`+(!0===e.outline?" q-badge--outline":void 0!==e.color?` bg-${e.color}`:"")+(void 0!==t?` text-${t}`:"")+(!0===e.floating?" q-badge--floating":"")+(!0===e.rounded?" q-badge--rounded":"")+(!0===e.transparent?" q-badge--transparent":"")}));return()=>n("div",{class:r.value,style:a.value,role:"status","aria-label":e.label},pt(t.default,void 0!==e.label?[e.label]:[]))}}),Rt={dark:{type:Boolean,default:null}};function zt(e,t){return i((()=>null===e.dark?t.dark.isActive:e.dark))}var qt=B({name:"QBanner",props:{...Rt,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=zt(e,a),o=i((()=>"q-banner row items-center"+(!0===e.dense?" q-banner--dense":"")+(!0===r.value?" q-banner--dark q-dark":"")+(!0===e.rounded?" rounded-borders":""))),s=i((()=>"q-banner__actions row items-center justify-end col-"+(!0===e.inlineActions?"auto":"all")));return()=>{let a=[n("div",{class:"q-banner__avatar col-auto row items-center self-start"},dt(t.avatar)),n("div",{class:"q-banner__content col text-body2"},dt(t.default))],i=dt(t.action);return void 0!==i&&a.push(n("div",{class:s.value},i)),n("div",{class:o.value+(!1===e.inlineActions&&void 0!==i?" q-banner--top-padding":""),role:"alert"},a)}}}),It=B({name:"QBar",props:{...Rt,dense:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=zt(e,a),o=i((()=>`q-bar row no-wrap items-center q-bar--${!0===e.dense?"dense":"standard"} q-bar--${!0===r.value?"dark":"light"}`));return()=>n("div",{class:o.value,role:"toolbar"},dt(t.default))}}),Dt={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},jt=Object.keys(Dt),$t={align:{type:String,validator:e=>jt.includes(e)}};function Ft(e){return i((()=>{let t=void 0===e.align?!0===e.vertical?"stretch":"left":e.align;return`${!0===e.vertical?"items":"justify"}-${Dt[t]}`}))}function Bt(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function Vt(e,t){"symbol"==typeof t.type?!0===Array.isArray(t.children)&&t.children.forEach((t=>{Vt(e,t)})):e.add(t)}function Ht(e){let t=new Set;return e.forEach((e=>{Vt(t,e)})),Array.from(t)}function Ut(e){return void 0!==e.appContext.config.globalProperties.$router}function Wt(e){return!0===e.isUnmounted||!0===e.isDeactivated}var Yt=["",!0],Qt=B({name:"QBreadcrumbs",props:{...$t,separator:{type:String,default:"/"},separatorColor:String,activeColor:{type:String,default:"primary"},gutter:{type:String,validator:e=>["none","xs","sm","md","lg","xl"].includes(e),default:"sm"}},setup(e,{slots:t}){let a=Ft(e),r=i((()=>`flex items-center ${a.value}${"none"===e.gutter?"":` q-gutter-${e.gutter}`}`)),o=i((()=>e.separatorColor?` text-${e.separatorColor}`:"")),s=i((()=>` text-${e.activeColor}`));return()=>{if(void 0===t.default)return;let a=Ht(dt(t.default));if(0===a.length)return;let i=1,l=[],u=a.filter((e=>void 0!==e.type&&"QBreadcrumbsEl"===e.type.name)).length,c=void 0!==t.separator?t.separator:()=>e.separator;return a.forEach((e=>{if(void 0!==e.type&&"QBreadcrumbsEl"===e.type.name){let t=ie===t[n])):1===e.length&&e[0]===t}function Xt(e,t){return!0===Array.isArray(e)?Zt(e,t):!0===Array.isArray(t)?Zt(t,e):e===t}var Jt={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},en={...Jt,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"}};function tn({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){let n=k(),{props:a,proxy:r,emit:o}=n,s=Ut(n),l=i((()=>!0!==a.disable&&void 0!==a.href)),u=i(!0===t?()=>!0===s&&!0!==a.disable&&!0!==l.value&&void 0!==a.to&&null!==a.to&&""!==a.to:()=>!0===s&&!0!==l.value&&void 0!==a.to&&null!==a.to&&""!==a.to),c=i((()=>!0===u.value?b(a.to):null)),d=i((()=>null!==c.value)),h=i((()=>!0===l.value||!0===d.value)),p=i((()=>"a"===a.type||!0===h.value?"a":a.tag||e||"div")),f=i((()=>!0===l.value?{href:a.href,target:a.target}:!0===d.value?{href:c.value.href,target:a.target}:{})),m=i((()=>{if(!1===d.value)return-1;let{matched:e}=c.value,{length:t}=e,n=e[t-1];if(void 0===n)return-1;let a=r.$route.matched;if(0===a.length)return-1;let i=a.findIndex(Gt.bind(null,n));if(-1!==i)return i;let o=Kt(e[t-2]);return t>1&&Kt(n)===o&&a[a.length-1].path!==o?a.findIndex(Gt.bind(null,e[t-2])):i})),v=i((()=>!0===d.value&&-1!==m.value&&function(e,t){for(let n in t){let a=t[n],i=e[n];if("string"==typeof a){if(a!==i)return!1}else if(!1===Array.isArray(i)||i.length!==a.length||a.some(((e,t)=>e!==i[t])))return!1}return!0}(r.$route.params,c.value.params))),g=i((()=>!0===v.value&&m.value===r.$route.matched.length-1&&function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!1===Xt(e[n],t[n]))return!1;return!0}(r.$route.params,c.value.params))),_=i((()=>!0===d.value?!0===g.value?` ${a.exactActiveClass} ${a.activeClass}`:!0===a.exact?"":!0===v.value?` ${a.activeClass}`:"":""));function b(e){try{return r.$router.resolve(e)}catch{}return null}function y(e,{returnRouterError:t,to:n=a.to,replace:i=a.replace}={}){if(!0===a.disable)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||void 0!==e.button&&0!==e.button||"_blank"===a.target)return Promise.resolve(!1);e.preventDefault();let o=r.$router[!0===i?"replace":"push"](n);return!0===t?o:o.then((()=>{})).catch((()=>{}))}return{hasRouterLink:d,hasHrefLink:l,hasLink:h,linkTag:p,resolvedLink:c,linkIsActive:v,linkIsExactActive:g,linkClass:_,linkAttrs:f,getLink:b,navigateToRouterLink:y,navigateOnClick:function(e){if(!0===d.value){let t=t=>y(e,t);o("click",e,t),!0!==e.defaultPrevented&&t()}else o("click",e)}}}var nn=B({name:"QBreadcrumbsEl",props:{...en,label:String,icon:String,tag:{type:String,default:"span"}},emits:["click"],setup(e,{slots:t}){let{linkTag:a,linkAttrs:r,linkClass:o,navigateOnClick:s}=tn(),l=i((()=>({class:"q-breadcrumbs__el q-link flex inline items-center relative-position "+(!0!==e.disable?"q-link--focusable"+o.value:"q-breadcrumbs__el--disable"),...r.value,onClick:s}))),u=i((()=>"q-breadcrumbs__el-icon"+(void 0!==e.label?" q-breadcrumbs__el-icon--with-label":"")));return()=>{let i=[];return void 0!==e.icon&&i.push(n(At,{class:u.value,name:e.icon})),void 0!==e.label&&i.push(e.label),n(a.value,{...l.value},pt(t.default,i))}}}),an={size:{type:[String,Number],default:"1em"},color:String};function rn(e){return{cSize:i((()=>e.size in lt?`${lt[e.size]}px`:e.size)),classes:i((()=>"q-spinner"+(e.color?` text-${e.color}`:"")))}}var on=B({name:"QSpinner",props:{...an,thickness:{type:Number,default:5}},setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[n("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function sn(e){if(e===window)return{top:0,left:0};let{top:t,left:n}=e.getBoundingClientRect();return{top:t,left:n}}function ln(e){return e===window?window.innerHeight:e.getBoundingClientRect().height}function un(e,t){let n=e.style;for(let e in t)n[e]=t[e]}function cn(e,t){if(null==e||!0===e.contains(t))return!0;for(let n=e.nextElementSibling;null!==n;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}var dn={offset:sn,style:function(e,t){return window.getComputedStyle(e).getPropertyValue(t)},height:ln,width:function(e){return e===window?window.innerWidth:e.getBoundingClientRect().width},css:un,cssBatch:function(e,t){e.forEach((e=>un(e,t)))},ready:function(e){if("function"==typeof e){if("loading"!==document.readyState)return e();document.addEventListener("DOMContentLoaded",e,!1)}}};function hn(e,t=250){let n,a=!1;return function(){return!1===a&&(a=!0,setTimeout((()=>{a=!1}),t),n=e.apply(this,arguments)),n}}function pn(e,t,n,a){!0===n.modifiers.stop&&G(e);let i=n.modifiers.color,r=n.modifiers.center;r=!0===r||!0===a;let o=document.createElement("span"),s=document.createElement("span"),l=Q(e),{left:u,top:c,width:d,height:h}=t.getBoundingClientRect(),p=Math.sqrt(d*d+h*h),f=p/2,m=(d-p)/2+"px",v=r?m:l.left-u-f+"px",g=(h-p)/2+"px",_=r?g:l.top-c-f+"px";s.className="q-ripple__inner",un(s,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${v},${_},0) scale3d(.2,.2,1)`,opacity:0}),o.className="q-ripple"+(i?" text-"+i:""),o.setAttribute("dir","ltr"),o.appendChild(s),t.appendChild(o);let b=()=>{o.remove(),clearTimeout(y)};n.abort.push(b);let y=setTimeout((()=>{s.classList.add("q-ripple__inner--enter"),s.style.transform=`translate3d(${m},${g},0) scale3d(1,1,1)`,s.style.opacity=.2,y=setTimeout((()=>{s.classList.remove("q-ripple__inner--enter"),s.classList.add("q-ripple__inner--leave"),s.style.opacity=0,y=setTimeout((()=>{o.remove(),n.abort.splice(n.abort.indexOf(b),1)}),275)}),250)}),50)}function fn(e,{modifiers:t,value:n,arg:a}){let i=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:!0===i.early,stop:!0===i.stop,center:!0===i.center,color:i.color||a,keyCodes:[].concat(i.keyCodes||13)}}var mn=V({name:"ripple",beforeMount(e,t){let n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(!1===n.ripple)return;let a={cfg:n,enabled:!1!==t.value,modifiers:{},abort:[],start(t){!0===a.enabled&&!0!==t.qSkipRipple&&t.type===(!0===a.modifiers.early?"pointerdown":"click")&&pn(t,e,a,!0===t.qKeyEvent)},keystart:hn((t=>{!0===a.enabled&&!0!==t.qSkipRipple&&!0===pe(t,a.modifiers.keyCodes)&&t.type==="key"+(!0===a.modifiers.early?"down":"up")&&pn(t,e,a,!0)}),300)};fn(a,t),e.__qripple=a,ee(a,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){let n=e.__qripple;void 0!==n&&(n.enabled=!1!==t.value,!0===n.enabled&&Object(t.value)===t.value&&fn(n,t))}},beforeUnmount(e){let t=e.__qripple;void 0!==t&&(t.abort.forEach((e=>{e()})),te(t,"main"),delete e._qripple)}}),vn={none:0,xs:4,sm:8,md:16,lg:24,xl:32},gn={xs:8,sm:10,md:14,lg:20,xl:24},_n=["button","submit","reset"],bn=/[^\s]\/[^\s]/,yn=["flat","outline","push","unelevated"];function wn(e,t){return!0===e.flat?"flat":!0===e.outline?"outline":!0===e.push?"push":!0===e.unelevated?"unelevated":t}function kn(e){let t=wn(e);return void 0!==t?{[t]:!0}:{}}var xn={...ut,...Jt,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...yn.reduce(((e,t)=>(e[t]=Boolean)&&e),{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...$t.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},Sn={...xn,round:Boolean};var{passiveCapture:Cn}=U,Tn=null,Mn=null,En=null,Pn=B({name:"QBtn",props:{...Sn,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:r}){let o,{proxy:s}=k(),{classes:l,style:u,innerClasses:c,attributes:d,hasLink:h,linkTag:p,navigateOnClick:f,isActionable:m}=function(e){let t=ct(e,gn),n=Ft(e),{hasRouterLink:a,hasLink:r,linkTag:o,linkAttrs:s,navigateOnClick:l}=tn({fallbackTag:"button"}),u=i((()=>{let n=!1===e.fab&&!1===e.fabMini?t.value:{};return void 0!==e.padding?Object.assign({},n,{padding:e.padding.split(/\s+/).map((e=>e in vn?vn[e]+"px":e)).join(" "),minWidth:"0",minHeight:"0"}):n})),c=i((()=>!0===e.rounded||!0===e.fab||!0===e.fabMini)),d=i((()=>!0!==e.disable&&!0!==e.loading)),h=i((()=>!0===d.value?e.tabindex||0:-1)),p=i((()=>wn(e,"standard"))),f=i((()=>{let t={tabindex:h.value};return!0===r.value?Object.assign(t,s.value):!0===_n.includes(e.type)&&(t.type=e.type),"a"===o.value?(!0===e.disable?t["aria-disabled"]="true":void 0===t.href&&(t.role="button"),!0!==a.value&&!0===bn.test(e.type)&&(t.type=e.type)):!0===e.disable&&(t.disabled="",t["aria-disabled"]="true"),!0===e.loading&&void 0!==e.percentage&&Object.assign(t,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t}));return{classes:i((()=>{let t;void 0!==e.color?t=!0===e.flat||!0===e.outline?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(t=`text-${e.textColor}`);let n=!0===e.round?"round":"rectangle"+(!0===c.value?" q-btn--rounded":!0===e.square?" q-btn--square":"");return`q-btn--${p.value} q-btn--${n}`+(void 0!==t?" "+t:"")+(!0===d.value?" q-btn--actionable q-focusable q-hoverable":!0===e.disable?" disabled":"")+(!0===e.fab?" q-btn--fab":!0===e.fabMini?" q-btn--fab-mini":"")+(!0===e.noCaps?" q-btn--no-uppercase":"")+(!0===e.dense?" q-btn--dense":"")+(!0===e.stretch?" no-border-radius self-stretch":"")+(!0===e.glossy?" glossy":"")+(e.square?" q-btn--square":"")})),style:u,innerClasses:i((()=>n.value+(!0===e.stack?" column":" row")+(!0===e.noWrap?" no-wrap text-no-wrap":"")+(!0===e.loading?" q-btn__content--hidden":""))),attributes:f,hasLink:r,linkTag:o,navigateOnClick:l,isActionable:d}}(e),g=a(null),_=a(null),b=null,y=null,w=i((()=>void 0!==e.label&&null!==e.label&&""!==e.label)),x=i((()=>!0!==e.disable&&!1!==e.ripple&&{keyCodes:!0===h.value?[13,32]:[13],...!0===e.ripple?{}:e.ripple})),C=i((()=>({center:e.round}))),T=i((()=>{let t=Math.max(0,Math.min(100,e.percentage));return t>0?{transition:"transform 0.6s",transform:`translateX(${t-100}%)`}:{}})),M=i((()=>{if(!0===e.loading)return{onMousedown:q,onTouchstart:q,onClick:q,onKeydown:q,onKeyup:q};if(!0===m.value){let t={onClick:A,onKeydown:L,onMousedown:N};if(!0===s.$q.platform.has.touch){t[`onTouchstart${void 0!==e.onTouchstart?"":"Passive"}`]=O}return t}return{onClick:X}})),E=i((()=>({ref:g,class:"q-btn q-btn-item non-selectable no-outline "+l.value,style:u.value,...d.value,...M.value})));function A(t){if(null!==g.value){if(void 0!==t){if(!0===t.defaultPrevented)return;let n=document.activeElement;if("submit"===e.type&&n!==document.body&&!1===g.value.contains(n)&&!1===n.contains(g.value)){g.value.focus();let e=()=>{document.removeEventListener("keydown",X,!0),document.removeEventListener("keyup",e,Cn),null!==g.value&&g.value.removeEventListener("blur",e,Cn)};document.addEventListener("keydown",X,!0),document.addEventListener("keyup",e,Cn),g.value.addEventListener("blur",e,Cn)}}f(t)}}function L(e){null!==g.value&&(r("keydown",e),!0===pe(e,[13,32])&&Mn!==g.value&&(null!==Mn&&z(),!0!==e.defaultPrevented&&(g.value.focus(),Mn=g.value,g.value.classList.add("q-btn--active"),document.addEventListener("keyup",R,!0),g.value.addEventListener("blur",R,Cn)),X(e)))}function O(e){null!==g.value&&(r("touchstart",e),!0!==e.defaultPrevented&&(Tn!==g.value&&(null!==Tn&&z(),Tn=g.value,b=e.target,b.addEventListener("touchcancel",R,Cn),b.addEventListener("touchend",R,Cn)),o=!0,null!==y&&clearTimeout(y),y=setTimeout((()=>{y=null,o=!1}),200)))}function N(e){null!==g.value&&(e.qSkipRipple=!0===o,r("mousedown",e),!0!==e.defaultPrevented&&En!==g.value&&(null!==En&&z(),En=g.value,g.value.classList.add("q-btn--active"),document.addEventListener("mouseup",R,Cn)))}function R(e){if(null!==g.value&&(void 0===e||"blur"!==e.type||document.activeElement!==g.value)){if(void 0!==e&&"keyup"===e.type){if(Mn===g.value&&!0===pe(e,[13,32])){let t=new MouseEvent("click",e);t.qKeyEvent=!0,!0===e.defaultPrevented&&Z(t),!0===e.cancelBubble&&G(t),g.value.dispatchEvent(t),X(e),e.qKeyEvent=!0}r("keyup",e)}z()}}function z(e){let t=_.value;!0!==e&&(Tn===g.value||En===g.value)&&null!==t&&t!==document.activeElement&&(t.setAttribute("tabindex",-1),t.focus()),Tn===g.value&&(null!==b&&(b.removeEventListener("touchcancel",R,Cn),b.removeEventListener("touchend",R,Cn)),Tn=b=null),En===g.value&&(document.removeEventListener("mouseup",R,Cn),En=null),Mn===g.value&&(document.removeEventListener("keyup",R,!0),null!==g.value&&g.value.removeEventListener("blur",R,Cn),Mn=null),null!==g.value&&g.value.classList.remove("q-btn--active")}function q(e){X(e),e.qSkipRipple=!0}return v((()=>{z(!0)})),Object.assign(s,{click:e=>{!0===m.value&&A(e)}}),()=>{let a=[];void 0!==e.icon&&a.push(n(At,{name:e.icon,left:!0!==e.stack&&!0===w.value,role:"img"})),!0===w.value&&a.push(n("span",{class:"block"},[e.label])),a=pt(t.default,a),void 0!==e.iconRight&&!1===e.round&&a.push(n(At,{name:e.iconRight,right:!0!==e.stack&&!0===w.value,role:"img"}));let i=[n("span",{class:"q-focus-helper",ref:_})];return!0===e.loading&&void 0!==e.percentage&&i.push(n("span",{class:"q-btn__progress absolute-full overflow-hidden"+(!0===e.darkPercentage?" q-btn__progress--dark":"")},[n("span",{class:"q-btn__progress-indicator fit block",style:T.value})])),i.push(n("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+c.value},a)),null!==e.loading&&i.push(n(S,{name:"q-transition--fade"},(()=>!0===e.loading?[n("span",{key:"loading",class:"absolute-full flex flex-center"},void 0!==t.loading?t.loading():[n(on)])]:null))),P(n(p.value,E.value,i),[[mn,x.value,void 0,C.value]])}}}),An=B({name:"QBtnGroup",props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let a=i((()=>{let t=["unelevated","outline","flat","rounded","square","push","stretch","glossy"].filter((t=>!0===e[t])).map((e=>`q-btn-group--${e}`)).join(" ");return"q-btn-group row no-wrap"+(0!==t.length?" "+t:"")+(!0===e.spread?" q-btn-group--spread":" inline")}));return()=>n("div",{class:a.value},dt(t.default))}});function Ln(){if(void 0!==window.getSelection){let e=window.getSelection();void 0!==e.empty?e.empty():void 0!==e.removeAllRanges&&(e.removeAllRanges(),!0!==F.is.mobile&&e.addRange(document.createRange()))}else void 0!==document.selection&&document.selection.empty()}var On={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},Nn={...On,contextMenu:Boolean};function Rn({showing:e,avoidEmit:t,configureAnchorEl:n}){let{props:i,proxy:o,emit:s}=k(),l=a(null),u=null;function c(e){return null!==l.value&&(void 0===e||void 0===e.touches||e.touches.length<=1)}let h={};function p(){te(h,"anchor")}function f(){if(!1===i.target||""===i.target||null===o.$el.parentNode)l.value=null;else if(!0===i.target)!function(e){for(l.value=e;l.value.classList.contains("q-anchor--skip");)l.value=l.value.parentNode;n()}(o.$el.parentNode);else{let e=i.target;if("string"==typeof i.target)try{e=document.querySelector(i.target)}catch{e=void 0}null!=e?(l.value=e.$el||e,n()):(l.value=null,console.error(`Anchor: target "${i.target}" not found`))}}return void 0===n&&(Object.assign(h,{hide(e){o.hide(e)},toggle(e){o.toggle(e),e.qAnchorHandled=!0},toggleKey(e){!0===pe(e,13)&&h.toggle(e)},contextClick(e){o.hide(e),Z(e),d((()=>{o.show(e),e.qAnchorHandled=!0}))},prevent:Z,mobileTouch(e){if(h.mobileCleanup(e),!0!==c(e))return;o.hide(e),l.value.classList.add("non-selectable");let t=e.target;ee(h,"anchor",[[t,"touchmove","mobileCleanup","passive"],[t,"touchend","mobileCleanup","passive"],[t,"touchcancel","mobileCleanup","passive"],[l.value,"contextmenu","prevent","notPassive"]]),u=setTimeout((()=>{u=null,o.show(e),e.qAnchorHandled=!0}),300)},mobileCleanup(t){l.value.classList.remove("non-selectable"),null!==u&&(clearTimeout(u),u=null),!0===e.value&&void 0!==t&&Ln()}}),n=function(e=i.contextMenu){if(!0===i.noParentEvent||null===l.value)return;let t;t=!0===e?!0===o.$q.platform.is.mobile?[[l.value,"touchstart","mobileTouch","passive"]]:[[l.value,"mousedown","hide","passive"],[l.value,"contextmenu","contextClick","notPassive"]]:[[l.value,"click","toggle","passive"],[l.value,"keyup","toggleKey","passive"]],ee(h,"anchor",t)}),r((()=>i.contextMenu),(e=>{null!==l.value&&(p(),n(e))})),r((()=>i.target),(()=>{null!==l.value&&p(),f()})),r((()=>i.noParentEvent),(e=>{null!==l.value&&(!0===e?p():n())})),m((()=>{f(),!0!==t&&!0===i.modelValue&&null===l.value&&s("update:modelValue",!1)})),v((()=>{null!==u&&clearTimeout(u),p()})),{anchorEl:l,canShow:c,anchorEvents:h}}function zn(e,t){let n,i=a(null);function o(e,t){let a=(void 0!==t?"add":"remove")+"EventListener",i=void 0!==t?t:n;e!==window&&e[a]("scroll",i,U.passive),window[a]("scroll",i,U.passive),n=t}function s(){null!==i.value&&(o(i.value),i.value=null)}let l=r((()=>e.noParentEvent),(()=>{null!==i.value&&(s(),t())}));return v(l),{localScrollTarget:i,unconfigureScrollTarget:s,changeScrollEvent:o}}var qn={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},In=["beforeShow","show","beforeHide","hide"];function Dn({showing:e,canShow:t,hideOnRouteChange:n,handleShow:a,handleHide:i,processOnMount:o}){let s,l=k(),{props:u,emit:c,proxy:h}=l;function p(e){if(!0===u.disable||void 0!==e&&!0===e.qAnchorHandled||void 0!==t&&!0!==t(e))return;let n=void 0!==u["onUpdate:modelValue"];!0===n&&(c("update:modelValue",!0),s=e,d((()=>{s===e&&(s=void 0)}))),(null===u.modelValue||!1===n)&&f(e)}function f(t){!0!==e.value&&(e.value=!0,c("beforeShow",t),void 0!==a?a(t):c("show",t))}function v(e){if(!0===u.disable)return;let t=void 0!==u["onUpdate:modelValue"];!0===t&&(c("update:modelValue",!1),s=e,d((()=>{s===e&&(s=void 0)}))),(null===u.modelValue||!1===t)&&g(e)}function g(t){!1!==e.value&&(e.value=!1,c("beforeHide",t),void 0!==i?i(t):c("hide",t))}function _(t){!0===u.disable&&!0===t?void 0!==u["onUpdate:modelValue"]&&c("update:modelValue",!1):!0===t!==e.value&&(!0===t?f:g)(s)}r((()=>u.modelValue),_),void 0!==n&&!0===Ut(l)&&r((()=>h.$route.fullPath),(()=>{!0===n.value&&!0===e.value&&v()})),!0===o&&m((()=>{_(u.modelValue)}));let b={show:p,hide:v,toggle:function(t){!0===e.value?v(t):p(t)}};return Object.assign(h,b),b}var jn=[],$n=[];function Fn(e){$n=$n.filter((t=>t!==e))}function Bn(e){Fn(e),0===$n.length&&0!==jn.length&&(jn[jn.length-1](),jn=[])}function Vn(e){0===$n.length?e():jn.push(e)}var Hn=[],Un=[],Wn=1,Yn=document.body;function Qn(e,t){let n=document.createElement("div");if(n.id=void 0!==t?`q-portal--${t}--${Wn++}`:e,void 0!==qe.globalNodes){let e=qe.globalNodes.class;void 0!==e&&(n.className=e)}return Yn.appendChild(n),Hn.push(n),Un.push(t),n}function Kn(e){let t=Hn.indexOf(e);Hn.splice(t,1),Un.splice(t,1),e.remove()}var Gn=[];function Zn(e,t){do{if("QMenu"===e.$options.name){if(e.hide(t),!0===e.$props.separateClosePopup)return Bt(e)}else if(!0===e.__qPortal){let n=Bt(e);return void 0!==n&&"QPopupProxy"===n.$options.name?(e.hide(t),n):e}e=Bt(e)}while(null!=e)}var Xn=B({name:"QPortal",setup:(e,{slots:t})=>()=>t.default()});function Jn(e,t,i,r){let o=a(!1),s=a(!1),l=null,u={},c="dialog"===r&&function(e){for(e=e.parent;null!=e;){if("QGlobalDialog"===e.type.name)return!0;if("QDialog"===e.type.name||"QMenu"===e.type.name)return!1;e=e.parent}return!1}(e);function d(t){if(s.value=!1,!0!==t)return;Bn(u),o.value=!1;let n=Gn.indexOf(e.proxy);-1!==n&&Gn.splice(n,1),null!==l&&(Kn(l),l=null)}return g((()=>{d(!0)})),e.proxy.__qPortal=!0,N(e.proxy,"contentEl",(()=>t.value)),{showPortal:function(t){if(!0===t)return Bn(u),void(s.value=!0);s.value=!1,!1===o.value&&(!1===c&&null===l&&(l=Qn(!1,r)),o.value=!0,Gn.push(e.proxy),function(e){Fn(e),$n.push(e)}(u))},hidePortal:d,portalIsActive:o,portalIsAccessible:s,renderPortal:()=>!0===c?i():!0===o.value?[n(M,{to:l},n(Xn,i))]:void 0}}var ea={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function ta(e,t=()=>{},n=()=>{}){return{transitionProps:i((()=>{let a=`q-transition--${e.transitionShow||t()}`,i=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${a}-enter-from`,enterActiveClass:`${a}-enter-active`,enterToClass:`${a}-enter-to`,leaveFromClass:`${i}-leave-from`,leaveActiveClass:`${i}-leave-active`,leaveToClass:`${i}-leave-to`}})),transitionStyle:i((()=>`--q-transition-duration: ${e.transitionDuration}ms`))}}function na(){let e,t=k();function n(){e=void 0}return p(n),v(n),{removeTick:n,registerTick(n){e=n,d((()=>{e===n&&(!1===Wt(t)&&e(),e=void 0)}))}}}function aa(){let e=null,t=k();function n(){null!==e&&(clearTimeout(e),e=null)}return p(n),v(n),{removeTimeout:n,registerTimeout(a,i){n(),!1===Wt(t)&&(e=setTimeout((()=>{e=null,a()}),i))}}}var ia,ra=[Element,String],oa=[null,document,document.body,document.scrollingElement,document.documentElement];function sa(e,t){let n=function(e){if(null==e)return;if("string"==typeof e)try{return document.querySelector(e)||void 0}catch{return}let t=l(e);return t?t.$el||t:void 0}(t);if(void 0===n){if(null==e)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return oa.includes(n)?window:n}function la(e){return(e===window?document.body:e).scrollHeight}function ua(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function ca(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function da(e,t,n=0){let a=void 0===arguments[3]?performance.now():arguments[3],i=ua(e);n<=0?i!==t&&pa(e,t):requestAnimationFrame((r=>{let o=r-a,s=i+(t-i)/Math.max(o,n)*o;pa(e,s),s!==t&&da(e,t,n-o,r)}))}function ha(e,t,n=0){let a=void 0===arguments[3]?performance.now():arguments[3],i=ca(e);n<=0?i!==t&&fa(e,t):requestAnimationFrame((r=>{let o=r-a,s=i+(t-i)/Math.max(o,n)*o;fa(e,s),s!==t&&ha(e,t,n-o,r)}))}function pa(e,t){e!==window?e.scrollTop=t:window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t)}function fa(e,t){e!==window?e.scrollLeft=t:window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)}function ma(e,t,n){n?da(e,t,n):pa(e,t)}function va(e,t,n){n?ha(e,t,n):fa(e,t)}function ga(){if(void 0!==ia)return ia;let e=document.createElement("p"),t=document.createElement("div");un(e,{width:"100%",height:"200px"}),un(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);let n=e.offsetWidth;t.style.overflow="scroll";let a=e.offsetWidth;return n===a&&(a=t.clientWidth),t.remove(),ia=n-a}function _a(e,t=!0){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&(t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"])))}var ba,ya={getScrollTarget:sa,getScrollHeight:la,getScrollWidth:function(e){return(e===window?document.body:e).scrollWidth},getVerticalScrollPosition:ua,getHorizontalScrollPosition:ca,animVerticalScrollTo:da,animHorizontalScrollTo:ha,setVerticalScrollPosition:ma,setHorizontalScrollPosition:va,getScrollbarWidth:ga,hasScrollbar:_a},wa=[];function ka(e){ba=27===e.keyCode}function xa(){!0===ba&&(ba=!1)}function Sa(e){!0===ba&&(ba=!1,!0===pe(e,27)&&wa[wa.length-1](e))}function Ca(e){window[e]("keydown",ka),window[e]("blur",xa),window[e]("keyup",Sa),ba=!1}function Ta(e){!0===j.is.desktop&&(wa.push(e),1===wa.length&&Ca("addEventListener"))}function Ma(e){let t=wa.indexOf(e);-1!==t&&(wa.splice(t,1),0===wa.length&&Ca("removeEventListener"))}var Ea=[];function Pa(e){Ea[Ea.length-1](e)}function Aa(e){!0===j.is.desktop&&(Ea.push(e),1===Ea.length&&document.body.addEventListener("focusin",Pa))}function La(e){let t=Ea.indexOf(e);-1!==t&&(Ea.splice(t,1),0===Ea.length&&document.body.removeEventListener("focusin",Pa))}var Oa,Na,Ra=null,{notPassiveCapture:za}=U,qa=[];function Ia(e){null!==Ra&&(clearTimeout(Ra),Ra=null);let t=e.target;if(void 0===t||8===t.nodeType||!0===t.classList.contains("no-pointer-events"))return;let n=Gn.length-1;for(;n>=0;){let e=Gn[n].$;if("QTooltip"!==e.type.name){if("QDialog"!==e.type.name)break;if(!0!==e.props.seamless)return;n--}else n--}for(let n=qa.length-1;n>=0;n--){let a=qa[n];if(null!==a.anchorEl.value&&!1!==a.anchorEl.value.contains(t)||t!==document.body&&(null===a.innerRef.value||!1!==a.innerRef.value.contains(t)))return;e.qClickOutside=!0,a.onClickOutside(e)}}function Da(e){qa.push(e),1===qa.length&&(document.addEventListener("mousedown",Ia,za),document.addEventListener("touchstart",Ia,za))}function ja(e){let t=qa.findIndex((t=>t===e));-1!==t&&(qa.splice(t,1),0===qa.length&&(null!==Ra&&(clearTimeout(Ra),Ra=null),document.removeEventListener("mousedown",Ia,za),document.removeEventListener("touchstart",Ia,za)))}function $a(e){let t=e.split(" ");return 2===t.length&&(!0!==["top","center","bottom"].includes(t[0])?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):!0===["left","middle","right","start","end"].includes(t[1])||(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1))}function Fa(e){return!e||!(2!==e.length||"number"!=typeof e[0]||"number"!=typeof e[1])}var Ba={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};function Va(e,t){let n=e.split(" ");return{vertical:n[0],horizontal:Ba[`${n[1]}#${!0===t?"rtl":"ltr"}`]}}function Ha(e,t,n,a){return{top:e[n.vertical]-t[a.vertical],left:e[n.horizontal]-t[a.horizontal]}}function Ua(e,t=0){if(null===e.targetEl||null===e.anchorEl||t>5)return;if(0===e.targetEl.offsetHeight||0===e.targetEl.offsetWidth)return void setTimeout((()=>{Ua(e,t+1)}),10);let{targetEl:n,offset:a,anchorEl:i,anchorOrigin:r,selfOrigin:o,absoluteOffset:s,fit:l,cover:u,maxHeight:c,maxWidth:d}=e;if(!0===j.is.ios&&void 0!==window.visualViewport){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==Oa&&(e.setProperty("--q-pe-left",t+"px"),Oa=t),n!==Na&&(e.setProperty("--q-pe-top",n+"px"),Na=n)}let{scrollLeft:h,scrollTop:p}=n,f=void 0===s?function(e,t){let{top:n,left:a,right:i,bottom:r,width:o,height:s}=e.getBoundingClientRect();return void 0!==t&&(n-=t[1],a-=t[0],r+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:r,height:s,left:a,right:i,width:o,middle:a+(i-a)/2,center:n+(r-n)/2}}(i,!0===u?[0,0]:a):function(e,t,n){let{top:a,left:i}=e.getBoundingClientRect();return a+=t.top,i+=t.left,void 0!==n&&(a+=n[1],i+=n[0]),{top:a,bottom:a+1,height:1,left:i,right:i+1,width:1,middle:i,center:a}}(i,s,a);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:c,visibility:"visible"});let{offsetWidth:m,offsetHeight:v}=n,{elWidth:g,elHeight:_}=!0===l||!0===u?{elWidth:Math.max(f.width,m),elHeight:!0===u?Math.max(f.height,v):v}:{elWidth:m,elHeight:v},b={maxWidth:d,maxHeight:c};(!0===l||!0===u)&&(b.minWidth=f.width+"px",!0===u&&(b.minHeight=f.height+"px")),Object.assign(n.style,b);let y=function(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}(g,_),w=Ha(f,y,r,o);if(void 0===s||void 0===a)Wa(w,f,y,r,o);else{let{top:e,left:t}=w;Wa(w,f,y,r,o);let n=!1;if(w.top!==e){n=!0;let e=2*a[1];f.center=f.top-=e,f.bottom-=e+2}if(w.left!==t){n=!0;let e=2*a[0];f.middle=f.left-=e,f.right-=e+2}!0===n&&(w=Ha(f,y,r,o),Wa(w,f,y,r,o))}b={top:w.top+"px",left:w.left+"px"},void 0!==w.maxHeight&&(b.maxHeight=w.maxHeight+"px",f.height>w.maxHeight&&(b.minHeight=b.maxHeight)),void 0!==w.maxWidth&&(b.maxWidth=w.maxWidth+"px",f.width>w.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==h&&(n.scrollLeft=h)}function Wa(e,t,n,a,i){let r=n.bottom,o=n.right,s=ga(),l=window.innerHeight-s,u=document.body.clientWidth;if(e.top<0||e.top+r>l)if("center"===i.vertical)e.top=t[a.vertical]>l/2?Math.max(0,l-r):0,e.maxHeight=Math.min(r,l);else if(t[a.vertical]>l/2){let n=Math.min(l,"center"===a.vertical?t.center:a.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(r,n),e.top=Math.max(0,n-r)}else e.top=Math.max(0,"center"===a.vertical?t.center:a.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(r,l-e.top);if(e.left<0||e.left+o>u)if(e.maxWidth=Math.min(o,u),"middle"===i.horizontal)e.left=t[a.horizontal]>u/2?Math.max(0,u-o):0;else if(t[a.horizontal]>u/2){let n=Math.min(u,"middle"===a.horizontal?t.middle:a.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,"middle"===a.horizontal?t.middle:a.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,u-e.left)}["left","middle","right"].forEach((e=>{Ba[`${e}#ltr`]=e,Ba[`${e}#rtl`]=e}));var Ya,Qa=B({name:"QMenu",inheritAttrs:!1,props:{...Nn,...qn,...Rt,...ea,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:$a},self:{type:String,validator:$a},offset:{type:Array,validator:Fa},scrollTarget:ra,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...In,"click","escapeKey"],setup(e,{slots:t,emit:o,attrs:s}){let l,u,c,d=null,h=k(),{proxy:p}=h,{$q:f}=p,m=a(null),g=a(!1),_=i((()=>!0!==e.persistent&&!0!==e.noRouteDismiss)),b=zt(e,f),{registerTick:y,removeTick:w}=na(),{registerTimeout:x}=aa(),{transitionProps:C,transitionStyle:T}=ta(e),{localScrollTarget:M,changeScrollEvent:E,unconfigureScrollTarget:P}=zn(e,H),{anchorEl:A,canShow:L}=Rn({showing:g}),{hide:O}=Dn({showing:g,canShow:L,handleShow:function(t){if(d=!1===e.noRefocus?document.activeElement:null,Aa(W),N(),H(),l=void 0,void 0!==t&&(e.touchPosition||e.contextMenu)){let e=Q(t);if(void 0!==e.left){let{top:t,left:n}=A.value.getBoundingClientRect();l={left:e.left-n,top:e.top-t}}}void 0===u&&(u=r((()=>f.screen.width+"|"+f.screen.height+"|"+e.self+"|"+e.anchor+"|"+f.lang.rtl),K)),!0!==e.noFocus&&document.activeElement.blur(),y((()=>{K(),!0!==e.noFocus&&B()})),x((()=>{!0===f.platform.is.ios&&(c=e.autoClose,m.value.click()),K(),N(!0),o("show",t)}),e.transitionDuration)},handleHide:function(t){w(),R(),V(!0),null!==d&&(void 0===t||!0!==t.qClickOutside)&&(((t&&0===t.type.indexOf("key")?d.closest('[tabindex]:not([tabindex^="-"])'):void 0)||d).focus(),d=null),x((()=>{R(!0),o("hide",t)}),e.transitionDuration)},hideOnRouteChange:_,processOnMount:!0}),{showPortal:N,hidePortal:R,renderPortal:z}=Jn(h,m,(function(){return n(S,C.value,(()=>!0===g.value?n("div",{role:"menu",...s,ref:m,tabindex:-1,class:["q-menu q-position-engine scroll"+j.value,s.class],style:[s.style,T.value],...$.value},dt(t.default)):null))}),"menu"),q={anchorEl:A,innerRef:m,onClickOutside(t){if(!0!==e.persistent&&!0===g.value)return O(t),("touchstart"===t.type||t.target.classList.contains("q-dialog__backdrop"))&&X(t),!0}},I=i((()=>Va(e.anchor||(!0===e.cover?"center middle":"bottom start"),f.lang.rtl))),D=i((()=>!0===e.cover?I.value:Va(e.self||"top start",f.lang.rtl))),j=i((()=>(!0===e.square?" q-menu--square":"")+(!0===b.value?" q-menu--dark q-dark":""))),$=i((()=>!0===e.autoClose?{onClick:U}:{})),F=i((()=>!0===g.value&&!0!==e.persistent));function B(){Vn((()=>{let e=m.value;e&&!0!==e.contains(document.activeElement)&&(e=e.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||e.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||e.querySelector("[autofocus], [data-autofocus]")||e,e.focus({preventScroll:!0}))}))}function V(e){l=void 0,void 0!==u&&(u(),u=void 0),(!0===e||!0===g.value)&&(La(W),P(),ja(q),Ma(Y)),!0!==e&&(d=null)}function H(){(null!==A.value||void 0!==e.scrollTarget)&&(M.value=sa(A.value,e.scrollTarget),E(M.value,K))}function U(e){!0!==c?(Zn(p,e),o("click",e)):c=!1}function W(t){!0===F.value&&!0!==e.noFocus&&!0!==cn(m.value,t.target)&&B()}function Y(e){o("escapeKey"),O(e)}function K(){Ua({targetEl:m.value,offset:e.offset,anchorEl:A.value,anchorOrigin:I.value,selfOrigin:D.value,absoluteOffset:l,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}return r(F,(e=>{!0===e?(Ta(Y),Da(q)):(Ma(Y),ja(q))})),v(V),Object.assign(p,{focus:B,updatePosition:K}),z}}),Ka=0,Ga=new Array(256);for(let e=0;e<256;e++)Ga[e]=(e+256).toString(16).substring(1);var Za=(()=>{let e=typeof crypto<"u"?crypto:typeof window<"u"?window.crypto||window.msCrypto:void 0;if(void 0!==e){if(void 0!==e.randomBytes)return e.randomBytes;if(void 0!==e.getRandomValues)return t=>{let n=new Uint8Array(t);return e.getRandomValues(n),n}}return e=>{let t=[];for(let n=e;n>0;n--)t.push(Math.floor(256*Math.random()));return t}})(),Xa=4096;function Ja(){(void 0===Ya||Ka+16>Xa)&&(Ka=0,Ya=Za(Xa));let e=Array.prototype.slice.call(Ya,Ka,Ka+=16);return e[6]=15&e[6]|64,e[8]=63&e[8]|128,Ga[e[0]]+Ga[e[1]]+Ga[e[2]]+Ga[e[3]]+"-"+Ga[e[4]]+Ga[e[5]]+"-"+Ga[e[6]]+Ga[e[7]]+"-"+Ga[e[8]]+Ga[e[9]]+"-"+Ga[e[10]]+Ga[e[11]]+Ga[e[12]]+Ga[e[13]]+Ga[e[14]]+Ga[e[15]]}function ei(e,t){return e??(!0===t?`f_${Ja()}`:null)}function ti({getValue:e,required:t=!0}={}){if(!0===q.value){let n=a(void 0!==e?function(e){return e??null}(e()):null);return!0===t&&null===n.value&&m((()=>{n.value=`f_${Ja()}`})),void 0!==e&&r(e,(e=>{n.value=ei(e,t)})),n}return void 0!==e?i((()=>ei(e(),t))):a(`f_${Ja()}`)}var ni=Object.keys(xn);var ai=B({name:"QBtnDropdown",props:{...xn,...ea,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,menuAnchor:{type:String,default:"bottom end"},menuSelf:{type:String,default:"top end"},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:["update:modelValue","click","beforeShow","show","beforeHide","hide"],setup(e,{slots:t,emit:o}){let{proxy:s}=k(),l=a(e.modelValue),u=a(null),c=ti(),d=i((()=>{let t={"aria-expanded":!0===l.value?"true":"false","aria-haspopup":"true","aria-controls":c.value,"aria-label":e.toggleAriaLabel||s.$q.lang.label[!0===l.value?"collapse":"expand"](e.label)};return(!0===e.disable||!1===e.split&&!0===e.disableMainBtn||!0===e.disableDropdown)&&(t["aria-disabled"]="true"),t})),h=i((()=>"q-btn-dropdown__arrow"+(!0===l.value&&!1===e.noIconAnimation?" rotate-180":"")+(!1===e.split?" q-btn-dropdown__arrow-container":""))),p=i((()=>kn(e))),f=i((()=>function(e){return ni.reduce(((t,n)=>{let a=e[n];return void 0!==a&&(t[n]=a),t}),{})}(e)));function v(e){l.value=!0,o("beforeShow",e)}function g(e){o("show",e),o("update:modelValue",!0)}function _(e){l.value=!1,o("beforeHide",e)}function b(e){o("hide",e),o("update:modelValue",!1)}function y(e){o("click",e)}function w(e){G(e),S(),o("click",e)}function x(e){null!==u.value&&u.value.show(e)}function S(e){null!==u.value&&u.value.hide(e)}return r((()=>e.modelValue),(e=>{null!==u.value&&u.value[e?"show":"hide"]()})),r((()=>e.split),S),Object.assign(s,{show:x,hide:S,toggle:function(e){null!==u.value&&u.value.toggle(e)}}),m((()=>{!0===e.modelValue&&x()})),()=>{let a=[n(At,{class:h.value,name:e.dropdownIcon||s.$q.iconSet.arrow.dropdown})];return!0!==e.disableDropdown&&a.push(n(Qa,{ref:u,id:c.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:v,onShow:g,onBeforeHide:_,onHide:b},t.default)),!1===e.split?n(Pn,{class:"q-btn-dropdown q-btn-dropdown--simple",...f.value,...d.value,disable:!0===e.disable||!0===e.disableMainBtn,noWrap:!0,round:!1,onClick:y},{default:()=>dt(t.label,[]).concat(a),loading:t.loading}):n(An,{class:"q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item",rounded:e.rounded,square:e.square,...p.value,glossy:e.glossy,stretch:e.stretch},(()=>[n(Pn,{class:"q-btn-dropdown--current",...f.value,disable:!0===e.disable||!0===e.disableMainBtn,noWrap:!0,round:!1,onClick:w},{default:t.label,loading:t.loading}),n(Pn,{class:"q-btn-dropdown__arrow-container q-anchor--skip",...d.value,...p.value,disable:!0===e.disable||!0===e.disableDropdown,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},(()=>a))]))}}}),ii={name:String};function ri(e){return i((()=>({type:"hidden",name:e.name,value:e.modelValue})))}function oi(e={}){return(t,a,i)=>{t[a](n("input",{class:"hidden"+(i||""),...e.value}))}}function si(e){return i((()=>e.name||e.for))}var li=B({name:"QBtnToggle",props:{...ii,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every((e=>("label"in e||"icon"in e||"slot"in e)&&"value"in e))},color:String,textColor:String,toggleColor:{type:String,default:"primary"},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","clear","click"],setup(e,{slots:t,emit:a}){let r=i((()=>void 0!==e.options.find((t=>t.value===e.modelValue)))),o=oi(i((()=>({type:"hidden",name:e.name,value:e.modelValue})))),s=i((()=>kn(e))),l=i((()=>({rounded:e.rounded,dense:e.dense,...s.value}))),u=i((()=>e.options.map(((t,n)=>{let{attrs:i,value:r,slot:o,...s}=t;return{slot:o,props:{key:n,"aria-pressed":r===e.modelValue?"true":"false",...i,...s,...l.value,disable:!0===e.disable||!0===s.disable,color:r===e.modelValue?c(s,"toggleColor"):c(s,"color"),textColor:r===e.modelValue?c(s,"toggleTextColor"):c(s,"textColor"),noCaps:!0===c(s,"noCaps"),noWrap:!0===c(s,"noWrap"),size:c(s,"size"),padding:c(s,"padding"),ripple:c(s,"ripple"),stack:!0===c(s,"stack"),stretch:!0===c(s,"stretch"),onClick(n){!function(t,n,i){!0!==e.readonly&&(e.modelValue===t?!0===e.clearable&&(a("update:modelValue",null,null),a("clear")):a("update:modelValue",t,n),a("click",i))}(r,t,n)}}}}))));function c(t,n){return void 0===t[n]?e[n]:t[n]}function d(){let a=u.value.map((e=>n(Pn,e.props,void 0!==e.slot?t[e.slot]:void 0)));return void 0!==e.name&&!0!==e.disable&&!0===r.value&&o(a,"push"),pt(t.default,a)}return()=>n(An,{class:"q-btn-toggle",...s.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},d)}}),ui=B({name:"QCard",props:{...Rt,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=zt(e,a),o=i((()=>"q-card"+(!0===r.value?" q-card--dark q-dark":"")+(!0===e.bordered?" q-card--bordered":"")+(!0===e.square?" q-card--square no-border-radius":"")+(!0===e.flat?" q-card--flat no-shadow":"")));return()=>n(e.tag,{class:o.value},dt(t.default))}}),ci=B({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){let a=i((()=>"q-card__section q-card__section--"+(!0===e.horizontal?"horiz row no-wrap":"vert")));return()=>n(e.tag,{class:a.value},dt(t.default))}}),di=B({name:"QCardActions",props:{...$t,vertical:Boolean},setup(e,{slots:t}){let a=Ft(e),r=i((()=>`q-card__actions ${a.value} q-card__actions--${!0===e.vertical?"vert column":"horiz row"}`));return()=>n("div",{class:r.value},dt(t.default))}}),hi={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},pi=Object.keys(hi);function fi(e){let t={};for(let n of pi)!0===e[n]&&(t[n]=!0);return 0===Object.keys(t).length?hi:(!0===t.horizontal?t.left=t.right=!0:!0===t.left&&!0===t.right&&(t.horizontal=!0),!0===t.vertical?t.up=t.down=!0:!0===t.up&&!0===t.down&&(t.vertical=!0),!0===t.horizontal&&!0===t.vertical&&(t.all=!0),t)}hi.all=!0;var mi=["INPUT","TEXTAREA"];function vi(e,t){return void 0===t.event&&void 0!==e.target&&!0!==e.target.draggable&&"function"==typeof t.handler&&!1===mi.includes(e.target.nodeName.toUpperCase())&&(void 0===e.qClonedBy||-1===e.qClonedBy.indexOf(t.uid))}function gi(e){let t=[.06,6,50];return"string"==typeof e&&e.length&&e.split(":").forEach(((e,n)=>{let a=parseFloat(e);a&&(t[n]=a)})),t}var _i=V({name:"touch-swipe",beforeMount(e,{value:t,arg:n,modifiers:a}){if(!0!==a.mouse&&!0!==j.has.touch)return;let i=!0===a.mouseCapture?"Capture":"",r={handler:t,sensitivity:gi(n),direction:fi(a),noop:W,mouseStart(e){vi(e,r)&&Y(e)&&(ee(r,"temp",[[document,"mousemove","move",`notPassive${i}`],[document,"mouseup","end","notPassiveCapture"]]),r.start(e,!0))},touchStart(e){if(vi(e,r)){let t=e.target;ee(r,"temp",[[t,"touchmove","move","notPassiveCapture"],[t,"touchcancel","end","notPassiveCapture"],[t,"touchend","end","notPassiveCapture"]]),r.start(e)}},start(t,n){!0===j.is.firefox&&J(e,!0);let a=Q(t);r.event={x:a.left,y:a.top,time:Date.now(),mouse:!0===n,dir:!1}},move(e){if(void 0===r.event)return;if(!1!==r.event.dir)return void X(e);let t=Date.now()-r.event.time;if(0===t)return;let n=Q(e),a=n.left-r.event.x,i=Math.abs(a),o=n.top-r.event.y,s=Math.abs(o);if(!0!==r.event.mouse){if(ir.sensitivity[0]&&(r.event.dir=o<0?"up":"down"),!0===r.direction.horizontal&&i>s&&s<100&&l>r.sensitivity[0]&&(r.event.dir=a<0?"left":"right"),!0===r.direction.up&&ir.sensitivity[0]&&(r.event.dir="up"),!0===r.direction.down&&i0&&i<100&&u>r.sensitivity[0]&&(r.event.dir="down"),!0===r.direction.left&&i>s&&a<0&&s<100&&l>r.sensitivity[0]&&(r.event.dir="left"),!0===r.direction.right&&i>s&&a>0&&s<100&&l>r.sensitivity[0]&&(r.event.dir="right"),!1!==r.event.dir?(X(e),!0===r.event.mouse&&(document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Ln(),r.styleCleanup=e=>{r.styleCleanup=void 0,document.body.classList.remove("non-selectable");let t=()=>{document.body.classList.remove("no-pointer-events--children")};!0===e?setTimeout(t,50):t()}),r.handler({evt:e,touch:!0!==r.event.mouse,mouse:r.event.mouse,direction:r.event.dir,duration:t,distance:{x:i,y:s}})):r.end(e)},end(t){void 0!==r.event&&(te(r,"temp"),!0===j.is.firefox&&J(e,!1),void 0!==r.styleCleanup&&r.styleCleanup(!0),void 0!==t&&!1!==r.event.dir&&X(t),r.event=void 0)}};if(e.__qtouchswipe=r,!0===a.mouse){let t=!0===a.mouseCapture||!0===a.mousecapture?"Capture":"";ee(r,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===j.has.touch&&ee(r,"main",[[e,"touchstart","touchStart","passive"+(!0===a.capture?"Capture":"")],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){let n=e.__qtouchswipe;void 0!==n&&(t.oldValue!==t.value&&("function"!=typeof t.value&&n.end(),n.handler=t.value),n.direction=fi(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;void 0!==t&&(te(t,"main"),te(t,"temp"),!0===j.is.firefox&&J(e,!1),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchswipe)}});function bi(){let e=Object.create(null);return{getCache:(t,n)=>void 0===e[t]?e[t]="function"==typeof n?n():n:e[t],setCache(t,n){e[t]=n},hasCache:t=>Object.hasOwnProperty.call(e,t),clearCache(t){void 0!==t?delete e[t]:e=Object.create(null)}}}var yi={name:{required:!0},disable:Boolean},wi={setup:(e,{slots:t})=>()=>n("div",{class:"q-panel scroll",role:"tabpanel"},dt(t.default))},ki={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},xi=["update:modelValue","beforeTransition","transition"];function Si(){let e,t,{props:o,emit:s,proxy:l}=k(),{getCache:u}=bi(),{registerTimeout:c}=aa(),d=a(null),h=a(null);function p(e){let t=!0===o.vertical?"up":"left";A((!0===l.$q.lang.rtl?-1:1)*(e.direction===t?1:-1))}let f=i((()=>[[_i,p,void 0,{horizontal:!0!==o.vertical,vertical:o.vertical,mouse:!0}]])),m=i((()=>o.transitionPrev||"slide-"+(!0===o.vertical?"down":"right"))),v=i((()=>o.transitionNext||"slide-"+(!0===o.vertical?"up":"left"))),g=i((()=>`--q-transition-duration: ${o.transitionDuration}ms`)),_=i((()=>"string"==typeof o.modelValue||"number"==typeof o.modelValue?o.modelValue:String(o.modelValue))),b=i((()=>({include:o.keepAliveInclude,exclude:o.keepAliveExclude,max:o.keepAliveMax}))),y=i((()=>void 0!==o.keepAliveInclude||void 0!==o.keepAliveExclude));function w(){A(1)}function x(){A(-1)}function C(e){s("update:modelValue",e)}function M(e){return null!=e&&""!==e}function E(t){return e.findIndex((e=>e.props.name===t&&""!==e.props.disable&&!0!==e.props.disable))}function P(e){let t=0!==e&&!0===o.animated&&-1!==d.value?"q-transition--"+(-1===e?m.value:v.value):null;h.value!==t&&(h.value=t)}function A(n,a=d.value){let i=a+n;for(;-1!==i&&i{t=!1}));i+=n}!0===o.infinite&&0!==e.length&&-1!==a&&a!==e.length&&A(n,-1===n?e.length:-1)}function L(){let e=E(o.modelValue);return d.value!==e&&(d.value=e),!0}function O(){let t=!0===M(o.modelValue)&&L()&&e[d.value];return!0===o.keepAlive?[n(T,b.value,[n(!0===y.value?u(_.value,(()=>({...wi,name:_.value}))):wi,{key:_.value,style:g.value},(()=>t))])]:[n("div",{class:"q-panel scroll",style:g.value,key:_.value,role:"tabpanel"},[t])]}return r((()=>o.modelValue),((e,n)=>{let a=!0===M(e)?E(e):-1;!0!==t&&P(-1===a?0:a{s("transition",e,n)}),o.transitionDuration))})),Object.assign(l,{next:w,previous:x,goTo:C}),{panelIndex:d,panelDirectives:f,updatePanelsList:function(t){return e=Ht(dt(t.default,[])).filter((e=>null!==e.props&&void 0===e.props.slot&&!0===M(e.props.name))),e.length},updatePanelIndex:L,getPanelContent:function(){if(0!==e.length)return!0===o.animated?[n(S,{name:h.value},O)]:O()},getEnabledPanels:function(){return e.filter((e=>""!==e.props.disable&&!0!==e.props.disable))},getPanels:function(){return e},isValidPanelName:M,keepAliveProps:b,needsUniqueKeepAliveWrapper:y,goToPanelByOffset:A,goToPanel:C,nextPanel:w,previousPanel:x}}var Ci=0,Ti={fullscreen:Boolean,noRouteFullscreenExit:Boolean},Mi=["update:fullscreen","fullscreen"];function Ei(){let e,t,n,i=k(),{props:o,emit:s,proxy:l}=i,u=a(!1);function c(){!0===u.value?h():d()}function d(){!0!==u.value&&(u.value=!0,n=l.$el.parentNode,n.replaceChild(t,l.$el),document.body.appendChild(l.$el),1===++Ci&&document.body.classList.add("q-body--fullscreen-mixin"),e={handler:h},be.add(e))}function h(){!0===u.value&&(void 0!==e&&(be.remove(e),e=void 0),n.replaceChild(l.$el,t),u.value=!1,0===(Ci=Math.max(0,Ci-1))&&(document.body.classList.remove("q-body--fullscreen-mixin"),void 0!==l.$el.scrollIntoView&&setTimeout((()=>{l.$el.scrollIntoView()}))))}return!0===Ut(i)&&r((()=>l.$route.fullPath),(()=>{!0!==o.noRouteFullscreenExit&&h()})),r((()=>o.fullscreen),(e=>{u.value!==e&&c()})),r(u,(e=>{s("update:fullscreen",e),s("fullscreen",e)})),f((()=>{t=document.createElement("span")})),m((()=>{!0===o.fullscreen&&d()})),v(h),Object.assign(l,{toggleFullscreen:c,setFullscreen:d,exitFullscreen:h}),{inFullscreen:u,toggleFullscreen:c}}var Pi=["top","right","bottom","left"],Ai=["regular","flat","outline","push","unelevated"],Li=B({name:"QCarousel",props:{...Rt,...ki,...Ti,transitionPrev:{type:String,default:"fade"},transitionNext:{type:String,default:"fade"},height:String,padding:Boolean,controlColor:String,controlTextColor:String,controlType:{type:String,validator:e=>Ai.includes(e),default:"flat"},autoplay:[Number,Boolean],arrows:Boolean,prevIcon:String,nextIcon:String,navigation:Boolean,navigationPosition:{type:String,validator:e=>Pi.includes(e)},navigationIcon:String,navigationActiveIcon:String,thumbnails:Boolean},emits:[...Mi,...xi],setup(e,{slots:t}){let a,{proxy:{$q:o}}=k(),s=zt(e,o),l=null,{updatePanelsList:u,getPanelContent:c,panelDirectives:d,goToPanel:h,previousPanel:p,nextPanel:f,getEnabledPanels:g,panelIndex:_}=Si(),{inFullscreen:b}=Ei(),y=i((()=>!0!==b.value&&void 0!==e.height?{height:e.height}:{})),w=i((()=>!0===e.vertical?"vertical":"horizontal")),x=i((()=>e.navigationPosition||(!0===e.vertical?"right":"bottom"))),S=i((()=>`q-carousel q-panel-parent q-carousel--with${!0===e.padding?"":"out"}-padding`+(!0===b.value?" fullscreen":"")+(!0===s.value?" q-carousel--dark q-dark":"")+(!0===e.arrows?` q-carousel--arrows-${w.value}`:"")+(!0===e.navigation?` q-carousel--navigation-${x.value}`:""))),C=i((()=>{let t=[e.prevIcon||o.iconSet.carousel[!0===e.vertical?"up":"left"],e.nextIcon||o.iconSet.carousel[!0===e.vertical?"down":"right"]];return!1===e.vertical&&!0===o.lang.rtl?t.reverse():t})),T=i((()=>e.navigationIcon||o.iconSet.carousel.navigationIcon)),M=i((()=>e.navigationActiveIcon||T.value)),E=i((()=>({color:e.controlColor,textColor:e.controlTextColor,round:!0,[e.controlType]:!0,dense:!0})));function P(){let t=!0===Be(e.autoplay)?Math.abs(e.autoplay):5e3;null!==l&&clearTimeout(l),l=setTimeout((()=>{l=null,t>=0?f():p()}),t)}function A(t,a){return n("div",{class:`q-carousel__control q-carousel__navigation no-wrap absolute flex q-carousel__navigation--${t} q-carousel__navigation--${x.value}`+(void 0!==e.controlColor?` text-${e.controlColor}`:"")},[n("div",{class:"q-carousel__navigation-inner flex flex-center no-wrap"},g().map(a))])}return r((()=>e.modelValue),(()=>{e.autoplay&&P()})),r((()=>e.autoplay),(e=>{e?P():null!==l&&(clearTimeout(l),l=null)})),m((()=>{e.autoplay&&P()})),v((()=>{null!==l&&clearTimeout(l)})),()=>(a=u(t),n("div",{class:S.value,style:y.value},[mt("div",{class:"q-carousel__slides-container"},c(),"sl-cont",e.swipeable,(()=>d.value))].concat(function(){let i=[];if(!0===e.navigation){let e=void 0!==t["navigation-icon"]?t["navigation-icon"]:e=>n(Pn,{key:"nav"+e.name,class:`q-carousel__navigation-icon q-carousel__navigation-icon--${!0===e.active?"":"in"}active`,...e.btnProps,onClick:e.onClick}),r=a-1;i.push(A("buttons",((t,n)=>{let a=t.props.name,i=_.value===n;return e({index:n,maxIndex:r,name:a,active:i,btnProps:{icon:!0===i?M.value:T.value,size:"sm",...E.value},onClick:()=>{h(a)}})})))}else if(!0===e.thumbnails){let t=void 0!==e.controlColor?` text-${e.controlColor}`:"";i.push(A("thumbnails",(a=>{let i=a.props;return n("img",{key:"tmb#"+i.name,class:`q-carousel__thumbnail q-carousel__thumbnail--${i.name===e.modelValue?"":"in"}active`+t,src:i.imgSrc||i["img-src"],onClick:()=>{h(i.name)}})})))}return!0===e.arrows&&_.value>=0&&((!0===e.infinite||_.value>0)&&i.push(n("div",{key:"prev",class:`q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${w.value} absolute flex flex-center`},[n(Pn,{icon:C.value[0],...E.value,onClick:p})])),(!0===e.infinite||_.valuee.imgSrc?{backgroundImage:`url("${e.imgSrc}")`}:{}));return()=>n("div",{class:"q-carousel__slide",style:a.value},dt(t.default))}}),Ni=B({name:"QCarouselControl",props:{position:{type:String,default:"bottom-right",validator:e=>["top-right","top-left","bottom-right","bottom-left","top","right","bottom","left"].includes(e)},offset:{type:Array,default:()=>[18,18],validator:e=>2===e.length}},setup(e,{slots:t}){let a=i((()=>`q-carousel__control absolute absolute-${e.position}`)),r=i((()=>({margin:`${e.offset[1]}px ${e.offset[0]}px`})));return()=>n("div",{class:a.value,style:r.value},dt(t.default))}}),Ri=B({name:"QChatMessage",props:{sent:Boolean,label:String,bgColor:String,textColor:String,name:String,avatar:String,text:Array,stamp:String,size:String,labelHtml:Boolean,nameHtml:Boolean,textHtml:Boolean,stampHtml:Boolean},setup(e,{slots:t}){let a=i((()=>!0===e.sent?"sent":"received")),r=i((()=>`q-message-text-content q-message-text-content--${a.value}`+(void 0!==e.textColor?` text-${e.textColor}`:""))),o=i((()=>`q-message-text q-message-text--${a.value}`+(void 0!==e.bgColor?` text-${e.bgColor}`:""))),s=i((()=>"q-message-container row items-end no-wrap"+(!0===e.sent?" reverse":""))),l=i((()=>void 0!==e.size?`col-${e.size}`:"")),u=i((()=>({msg:!0===e.textHtml?"innerHTML":"textContent",stamp:!0===e.stampHtml?"innerHTML":"textContent",name:!0===e.nameHtml?"innerHTML":"textContent",label:!0===e.labelHtml?"innerHTML":"textContent"})));function c(a){return void 0!==t.stamp?[a,n("div",{class:"q-message-stamp"},t.stamp())]:e.stamp?[a,n("div",{class:"q-message-stamp",[u.value.stamp]:e.stamp})]:[a]}function d(e,t){let a=!0===t?e.length>1?e=>e:e=>n("div",[e]):e=>n("div",{[u.value.msg]:e});return e.map(((e,t)=>n("div",{key:t,class:o.value},[n("div",{class:r.value},c(a(e)))])))}return()=>{let i=[];void 0!==t.avatar?i.push(t.avatar()):void 0!==e.avatar&&i.push(n("img",{class:`q-message-avatar q-message-avatar--${a.value}`,src:e.avatar,"aria-hidden":"true"}));let r=[];void 0!==t.name?r.push(n("div",{class:`q-message-name q-message-name--${a.value}`},t.name())):void 0!==e.name&&r.push(n("div",{class:`q-message-name q-message-name--${a.value}`,[u.value.name]:e.name})),void 0!==t.default?r.push(d(Ht(t.default()),!0)):void 0!==e.text&&r.push(d(e.text)),i.push(n("div",{class:l.value},r));let o=[];return void 0!==t.label?o.push(n("div",{class:"q-message-label"},t.label())):void 0!==e.label&&o.push(n("div",{class:"q-message-label",[u.value.label]:e.label})),o.push(n("div",{class:s.value},i)),n("div",{class:`q-message q-message-${a.value}`},o)}}});function zi(e,t){let r=a(null);return{refocusTargetEl:i((()=>!0===e.disable?null:n("span",{ref:r,class:"no-outline",tabindex:-1}))),refocusTarget:function(e){let n=t.value;void 0!==e&&0===e.type.indexOf("key")?null!==n&&document.activeElement!==n&&!0===n.contains(document.activeElement)&&n.focus():null!==r.value&&(void 0===e||null!==n&&!0===n.contains(e.target))&&r.value.focus()}}}var qi={xs:30,sm:35,md:40,lg:50,xl:60},Ii={...Rt,...ut,...ii,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>"tf"===e||"ft"===e},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},Di=["update:modelValue"];function ji(e,t){let{props:r,slots:o,emit:l,proxy:u}=k(),{$q:c}=u,d=zt(r,c),h=a(null),{refocusTargetEl:p,refocusTarget:f}=zi(r,h),m=ct(r,qi),v=i((()=>void 0!==r.val&&Array.isArray(r.modelValue))),g=i((()=>{let e=s(r.val);return!0===v.value?r.modelValue.findIndex((t=>s(t)===e)):-1})),_=i((()=>!0===v.value?-1!==g.value:s(r.modelValue)===s(r.trueValue))),b=i((()=>!0===v.value?-1===g.value:s(r.modelValue)===s(r.falseValue))),y=i((()=>!1===_.value&&!1===b.value)),w=i((()=>!0===r.disable?-1:r.tabindex||0)),x=i((()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(!0===r.disable?" disabled":"")+(!0===d.value?` q-${e}--dark`:"")+(!0===r.dense?` q-${e}--dense`:"")+(!0===r.leftLabel?" reverse":""))),S=i((()=>{let t=!0===_.value?"truthy":!0===b.value?"falsy":"indet",n=void 0===r.color||!0!==r.keepColor&&("toggle"===e?!0!==_.value:!0===b.value)?"":` text-${r.color}`;return`q-${e}__inner relative-position non-selectable q-${e}__inner--${t}${n}`})),C=oi(i((()=>{let e={type:"checkbox"};return void 0!==r.name&&Object.assign(e,{".checked":_.value,"^checked":!0===_.value?"checked":void 0,name:r.name,value:!0===v.value?r.val:r.trueValue}),e}))),T=i((()=>{let t={tabindex:w.value,role:"toggle"===e?"switch":"checkbox","aria-label":r.label,"aria-checked":!0===y.value?"mixed":!0===_.value?"true":"false"};return!0===r.disable&&(t["aria-disabled"]="true"),t}));function M(e){void 0!==e&&(X(e),f(e)),!0!==r.disable&&l("update:modelValue",function(){if(!0===v.value){if(!0===_.value){let e=r.modelValue.slice();return e.splice(g.value,1),e}return r.modelValue.concat([r.val])}if(!0===_.value){if("ft"!==r.toggleOrder||!1===r.toggleIndeterminate)return r.falseValue}else{if(!0!==b.value)return"ft"!==r.toggleOrder?r.trueValue:r.falseValue;if("ft"===r.toggleOrder||!1===r.toggleIndeterminate)return r.trueValue}return r.indeterminateValue}(),e)}function E(e){(13===e.keyCode||32===e.keyCode)&&X(e)}function P(e){(13===e.keyCode||32===e.keyCode)&&M(e)}let A=t(_,y);return Object.assign(u,{toggle:M}),()=>{let t=A();!0!==r.disable&&C(t,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);let a=[n("div",{class:S.value,style:m.value,"aria-hidden":"true"},t)];null!==p.value&&a.push(p.value);let i=void 0!==r.label?pt(o.default,[r.label]):dt(o.default);return void 0!==i&&a.push(n("div",{class:`q-${e}__label q-anchor--skip`},i)),n("div",{ref:h,class:x.value,...T.value,onClick:M,onKeydown:E,onKeyup:P},a)}}var $i=B({name:"QCheckbox",props:Ii,emits:Di,setup(e){let t=n("div",{key:"svg",class:"q-checkbox__bg absolute"},[n("svg",{class:"q-checkbox__svg fit absolute-full",viewBox:"0 0 24 24"},[n("path",{class:"q-checkbox__truthy",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"}),n("path",{class:"q-checkbox__indet",d:"M4,14H20V10H4"})])]);return ji("checkbox",(function(a,r){let o=i((()=>(!0===a.value?e.checkedIcon:!0===r.value?e.indeterminateIcon:e.uncheckedIcon)||null));return()=>null!==o.value?[n("div",{key:"icon",class:"q-checkbox__icon-container absolute-full flex flex-center no-wrap"},[n(At,{class:"q-checkbox__icon",name:o.value})])]:[t]}))}}),Fi={xs:8,sm:10,md:14,lg:20,xl:24},Bi=B({name:"QChip",props:{...Rt,...ut,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:t,emit:a}){let{proxy:{$q:r}}=k(),o=zt(e,r),s=ct(e,Fi),l=i((()=>!0===e.selected||void 0!==e.icon)),u=i((()=>!0===e.selected?e.iconSelected||r.iconSet.chip.selected:e.icon)),c=i((()=>e.iconRemove||r.iconSet.chip.remove)),d=i((()=>!1===e.disable&&(!0===e.clickable||null!==e.selected))),h=i((()=>{let t=!0===e.outline&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(!1===e.outline&&void 0!==e.color?` bg-${e.color}`:"")+(t?` text-${t} q-chip--colored`:"")+(!0===e.disable?" disabled":"")+(!0===e.dense?" q-chip--dense":"")+(!0===e.outline?" q-chip--outline":"")+(!0===e.selected?" q-chip--selected":"")+(!0===d.value?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(!0===e.square?" q-chip--square":"")+(!0===o.value?" q-chip--dark q-dark":"")})),p=i((()=>{let t=!0===e.disable?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0};return{chip:t,remove:{...t,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||r.lang.label.remove}}}));function f(e){13===e.keyCode&&m(e)}function m(t){e.disable||(a("update:selected",!e.selected),a("click",t))}function v(t){(void 0===t.keyCode||13===t.keyCode)&&(X(t),!1===e.disable&&(a("update:modelValue",!1),a("remove")))}return()=>{if(!1===e.modelValue)return;let a={class:h.value,style:s.value};return!0===d.value&&Object.assign(a,p.value.chip,{onClick:m,onKeyup:f}),mt("div",a,function(){let a=[];!0===d.value&&a.push(n("div",{class:"q-focus-helper"})),!0===l.value&&a.push(n(At,{class:"q-chip__icon q-chip__icon--left",name:u.value}));let i=void 0!==e.label?[n("div",{class:"ellipsis"},[e.label])]:void 0;return a.push(n("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},ft(t.default,i))),e.iconRight&&a.push(n(At,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),!0===e.removable&&a.push(n(At,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:c.value,...p.value.remove,onClick:v,onKeyup:v})),a}(),"ripple",!1!==e.ripple&&!0!==e.disable,(()=>[[mn,e.ripple]]))}}}),Vi={...ut,min:{type:Number,default:0},max:{type:Number,default:100},color:String,centerColor:String,trackColor:String,fontSize:String,rounded:Boolean,thickness:{type:Number,default:.2,validator:e=>e>=0&&e<=1},angle:{type:Number,default:0},showValue:Boolean,reverse:Boolean,instantFeedback:Boolean},Hi=100*Math.PI,Ui=Math.round(1e3*Hi)/1e3,Wi=B({name:"QCircularProgress",props:{...Vi,value:{type:Number,default:0},animationSpeed:{type:[String,Number],default:600},indeterminate:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=ct(e),o=i((()=>{let t=(!0===a.lang.rtl?-1:1)*e.angle;return{transform:e.reverse!==(!0===a.lang.rtl)?`scale3d(-1, 1, 1) rotate3d(0, 0, 1, ${-90-t}deg)`:`rotate3d(0, 0, 1, ${t-90}deg)`}})),s=i((()=>!0!==e.instantFeedback&&!0!==e.indeterminate?{transition:`stroke-dashoffset ${e.animationSpeed}ms ease 0s, stroke ${e.animationSpeed}ms ease`}:"")),l=i((()=>100/(1-e.thickness/2))),u=i((()=>`${l.value/2} ${l.value/2} ${l.value} ${l.value}`)),c=i((()=>Xe(e.value,e.min,e.max))),d=i((()=>e.max-e.min)),h=i((()=>e.thickness/2*l.value)),p=i((()=>{let t=(e.max-c.value)/d.value,n=!0===e.rounded&&c.value{let a=[];void 0!==e.centerColor&&"transparent"!==e.centerColor&&a.push(n("circle",{class:`q-circular-progress__center text-${e.centerColor}`,fill:"currentColor",r:50-h.value/2,cx:l.value,cy:l.value})),void 0!==e.trackColor&&"transparent"!==e.trackColor&&a.push(f({cls:"track",thickness:h.value,offset:0,color:e.trackColor})),a.push(f({cls:"circle",thickness:h.value,offset:p.value,color:e.color,rounded:!0===e.rounded?"round":void 0}));let i=[n("svg",{class:"q-circular-progress__svg",style:o.value,viewBox:u.value,"aria-hidden":"true"},a)];return!0===e.showValue&&i.push(n("div",{class:"q-circular-progress__text absolute-full row flex-center content-center",style:{fontSize:e.fontSize}},void 0!==t.default?t.default():[n("div",c.value)])),n("div",{class:`q-circular-progress q-circular-progress--${!0===e.indeterminate?"in":""}determinate`,style:r.value,role:"progressbar","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":!0===e.indeterminate?void 0:c.value},ft(t.internal,i))}}});function Yi(e,t,n){let a,i=Q(e),r=i.left-t.event.x,o=i.top-t.event.y,s=Math.abs(r),l=Math.abs(o),u=t.direction;!0===u.horizontal&&!0!==u.vertical?a=r<0?"left":"right":!0!==u.horizontal&&!0===u.vertical?a=o<0?"up":"down":!0===u.up&&o<0?(a="up",s>l&&(!0===u.left&&r<0?a="left":!0===u.right&&r>0&&(a="right"))):!0===u.down&&o>0?(a="down",s>l&&(!0===u.left&&r<0?a="left":!0===u.right&&r>0&&(a="right"))):!0===u.left&&r<0?(a="left",s0&&(a="down"))):!0===u.right&&r>0&&(a="right",s0&&(a="down")));let c=!1;if(void 0===a&&!1===n){if(!0===t.event.isFirst||void 0===t.event.lastDir)return{};a=t.event.lastDir,c=!0,"left"===a||"right"===a?(i.left-=r,s=0,r=0):(i.top-=o,l=0,o=0)}return{synthetic:c,payload:{evt:e,touch:!0!==t.event.mouse,mouse:!0===t.event.mouse,position:i,direction:a,isFirst:t.event.isFirst,isFinal:!0===n,duration:Date.now()-t.event.time,distance:{x:s,y:l},offset:{x:r,y:o},delta:{x:i.left-t.event.lastX,y:i.top-t.event.lastY}}}}var Qi=0,Ki=V({name:"touch-pan",beforeMount(e,{value:t,modifiers:n}){if(!0!==n.mouse&&!0!==j.has.touch)return;function a(e,t){!0===n.mouse&&!0===t?X(e):(!0===n.stop&&G(e),!0===n.prevent&&Z(e))}let i={uid:"qvtp_"+Qi++,handler:t,modifiers:n,direction:fi(n),noop:W,mouseStart(e){vi(e,i)&&Y(e)&&(ee(i,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),i.start(e,!0))},touchStart(e){if(vi(e,i)){let t=e.target;ee(i,"temp",[[t,"touchmove","move","notPassiveCapture"],[t,"touchcancel","end","passiveCapture"],[t,"touchend","end","passiveCapture"]]),i.start(e)}},start(t,a){if(!0===j.is.firefox&&J(e,!0),i.lastEvt=t,!0===a||!0===n.stop){if(!0!==i.direction.all&&(!0!==a||!0!==i.modifiers.mouseAllDir&&!0!==i.modifiers.mousealldir)){let e=-1!==t.type.indexOf("mouse")?new MouseEvent(t.type,t):new TouchEvent(t.type,t);!0===t.defaultPrevented&&Z(e),!0===t.cancelBubble&&G(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:void 0===t.qClonedBy?[i.uid]:t.qClonedBy.concat(i.uid)}),i.initialEvent={target:t.target,event:e}}G(t)}let{left:r,top:o}=Q(t);i.event={x:r,y:o,time:Date.now(),mouse:!0===a,detected:!1,isFirst:!0,isFinal:!1,lastX:r,lastY:o}},move(e){if(void 0===i.event)return;let t=Q(e),r=t.left-i.event.x,o=t.top-i.event.y;if(0===r&&0===o)return;i.lastEvt=e;let s=!0===i.event.mouse,l=()=>{let t;a(e,s),!0!==n.preserveCursor&&!0!==n.preservecursor&&(t=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),!0===s&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Ln(),i.styleCleanup=e=>{if(i.styleCleanup=void 0,void 0!==t&&(document.documentElement.style.cursor=t),document.body.classList.remove("non-selectable"),!0===s){let t=()=>{document.body.classList.remove("no-pointer-events--children")};void 0!==e?setTimeout((()=>{t(),e()}),50):t()}else void 0!==e&&e()}};if(!0===i.event.detected){!0!==i.event.isFirst&&a(e,i.event.mouse);let{payload:t,synthetic:n}=Yi(e,i,!1);return void(void 0!==t&&(!1===i.handler(t)?i.end(e):(void 0===i.styleCleanup&&!0===i.event.isFirst&&l(),i.event.lastX=t.position.left,i.event.lastY=t.position.top,i.event.lastDir=!0===n?void 0:t.direction,i.event.isFirst=!1)))}if(!0===i.direction.all||!0===s&&(!0===i.modifiers.mouseAllDir||!0===i.modifiers.mousealldir))return l(),i.event.detected=!0,void i.move(e);let u=Math.abs(r),c=Math.abs(o);u!==c&&(!0===i.direction.horizontal&&u>c||!0===i.direction.vertical&&u0||!0===i.direction.left&&u>c&&r<0||!0===i.direction.right&&u>c&&r>0?(i.event.detected=!0,i.move(e)):i.end(e,!0))},end(t,n){if(void 0!==i.event){if(te(i,"temp"),!0===j.is.firefox&&J(e,!1),!0===n)void 0!==i.styleCleanup&&i.styleCleanup(),!0!==i.event.detected&&void 0!==i.initialEvent&&i.initialEvent.target.dispatchEvent(i.initialEvent.event);else if(!0===i.event.detected){!0===i.event.isFirst&&i.handler(Yi(void 0===t?i.lastEvt:t,i).payload);let{payload:e}=Yi(void 0===t?i.lastEvt:t,i,!0),n=()=>{i.handler(e)};void 0!==i.styleCleanup?i.styleCleanup(n):n()}i.event=void 0,i.initialEvent=void 0,i.lastEvt=void 0}}};if(e.__qtouchpan=i,!0===n.mouse){let t=!0===n.mouseCapture||!0===n.mousecapture?"Capture":"";ee(i,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===j.has.touch&&ee(i,"main",[[e,"touchstart","touchStart","passive"+(!0===n.capture?"Capture":"")],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){let n=e.__qtouchpan;void 0!==n&&(t.oldValue!==t.value&&("function"!=typeof value&&n.end(),n.handler=t.value),n.direction=fi(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;void 0!==t&&(void 0!==t.event&&t.end(),te(t,"main"),te(t,"temp"),!0===j.is.firefox&&J(e,!1),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchpan)}}),Gi="q-slider__marker-labels",Zi=e=>({value:e}),Xi=({marker:e})=>n("div",{key:e.value,style:e.style,class:e.classes},e.label),Ji=[34,37,40,33,39,38],er={...Rt,...ii,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:"20px"},trackSize:{type:String,default:"4px"},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:"M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"}},tr=["pan","update:modelValue","change"];function nr({updateValue:e,updatePosition:t,getDragging:r,formAttrs:o}){let{props:s,emit:l,slots:u,proxy:{$q:c}}=k(),d=zt(s,c),h=oi(o),p=a(!1),f=a(!1),m=a(!1),g=a(!1),_=i((()=>!0===s.vertical?"--v":"--h")),b=i((()=>"-"+(!0===s.switchLabelSide?"switched":"standard"))),y=i((()=>!0===s.vertical?!0===s.reverse:s.reverse!==(!0===c.lang.rtl))),w=i((()=>!0===isNaN(s.innerMin)||s.innerMin!0===isNaN(s.innerMax)||s.innerMax>s.max?s.max:s.innerMax)),S=i((()=>!0!==s.disable&&!0!==s.readonly&&w.value{if(0===s.step)return e=>e;let e=(String(s.step).trim().split(".")[1]||"").length;return t=>parseFloat(t.toFixed(e))})),T=i((()=>0===s.step?1:s.step)),M=i((()=>!0===S.value?s.tabindex||0:-1)),E=i((()=>s.max-s.min)),P=i((()=>x.value-w.value)),A=i((()=>X(w.value))),L=i((()=>X(x.value))),O=i((()=>!0===s.vertical?!0===y.value?"bottom":"top":!0===y.value?"right":"left")),N=i((()=>!0===s.vertical?"height":"width")),R=i((()=>!0===s.vertical?"width":"height")),z=i((()=>!0===s.vertical?"vertical":"horizontal")),q=i((()=>{let e={role:"slider","aria-valuemin":w.value,"aria-valuemax":x.value,"aria-orientation":z.value,"data-step":s.step};return!0===s.disable?e["aria-disabled"]="true":!0===s.readonly&&(e["aria-readonly"]="true"),e})),I=i((()=>`q-slider q-slider${_.value} q-slider--${!0===p.value?"":"in"}active inline no-wrap `+(!0===s.vertical?"row":"column")+(!0===s.disable?" disabled":" q-slider--enabled"+(!0===S.value?" q-slider--editable":""))+("both"===m.value?" q-slider--focus":"")+(s.label||!0===s.labelAlways?" q-slider--label":"")+(!0===s.labelAlways?" q-slider--label-always":"")+(!0===d.value?" q-slider--dark":"")+(!0===s.dense?" q-slider--dense q-slider--dense"+_.value:"")));function D(e){let t="q-slider__"+e;return`${t} ${t}${_.value} ${t}${_.value}${b.value}`}function j(e){let t="q-slider__"+e;return`${t} ${t}${_.value}`}let $=i((()=>{let e=s.selectionColor||s.color;return"q-slider__selection absolute"+(void 0!==e?` text-${e}`:"")})),F=i((()=>j("markers")+" absolute overflow-hidden")),B=i((()=>j("track-container"))),V=i((()=>D("pin"))),H=i((()=>D("label"))),U=i((()=>D("text-container"))),W=i((()=>D("marker-labels-container")+(void 0!==s.markerLabelsClass?` ${s.markerLabelsClass}`:""))),Y=i((()=>"q-slider__track relative-position no-outline"+(void 0!==s.trackColor?` bg-${s.trackColor}`:""))),K=i((()=>{let e={[R.value]:s.trackSize};return void 0!==s.trackImg&&(e.backgroundImage=`url(${s.trackImg}) !important`),e})),G=i((()=>"q-slider__inner absolute"+(void 0!==s.innerTrackColor?` bg-${s.innerTrackColor}`:""))),Z=i((()=>{let e=L.value-A.value,t={[O.value]:100*A.value+"%",[N.value]:0===e?"2px":100*e+"%"};return void 0!==s.innerTrackImg&&(t.backgroundImage=`url(${s.innerTrackImg}) !important`),t}));function X(e){return 0===E.value?0:(e-s.min)/E.value}let J=i((()=>!0===Be(s.markers)?s.markers:T.value)),ee=i((()=>{let e=[],t=J.value,n=s.max,a=s.min;do{e.push(a),a+=t}while(a{let e=` ${Gi}${_.value}-`;return Gi+`${e}${!0===s.switchMarkerLabelsSide?"switched":"standard"}${e}${!0===y.value?"rtl":"ltr"}`})),ne=i((()=>!1===s.markerLabels?null:function(e){if(!1===e)return null;if(!0===e)return ee.value.map(Zi);if("function"==typeof e)return ee.value.map((t=>{let n=e(t);return!0===je(n)?{...n,value:t}:{value:t,label:n}}));let t=({value:e})=>e>=s.min&&e<=s.max;return!0===Array.isArray(e)?e.map((e=>!0===je(e)?e:{value:e})).filter(t):Object.keys(e).map((t=>{let n=e[t],a=Number(t);return!0===je(n)?{...n,value:a}:{value:a,label:n}})).filter(t)}(s.markerLabels).map(((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:te.value+(void 0!==e.classes?" "+e.classes:""),style:{...re(e.value),...e.style||{}}}))))),ae=i((()=>({markerList:ne.value,markerMap:oe.value,classes:te.value,getStyle:re}))),ie=i((()=>{let e=0===P.value?"2px":100*J.value/P.value;return{...Z.value,backgroundSize:!0===s.vertical?`2px ${e}%`:`${e}% 2px`}}));function re(e){return{[O.value]:100*(e-s.min)/E.value+"%"}}let oe=i((()=>{if(!1===s.markerLabels)return null;let e={};return ne.value.forEach((t=>{e[t.value]=t})),e}));let se=i((()=>[[Ki,le,void 0,{[z.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]));function le(n){!0===n.isFinal?(void 0!==g.value&&(t(n.evt),!0===n.touch&&e(!0),g.value=void 0,l("pan","end")),p.value=!1,m.value=!1):!0===n.isFirst?(g.value=r(n.evt),t(n.evt),e(),p.value=!0,l("pan","start")):(t(n.evt),e())}function ue(){m.value=!1}function ce(){f.value=!1,p.value=!1,e(!0),ue(),document.removeEventListener("mouseup",ce,!0)}return v((()=>{document.removeEventListener("mouseup",ce,!0)})),{state:{active:p,focus:m,preventFocus:f,dragging:g,editable:S,classes:I,tabindex:M,attributes:q,roundValueFn:C,keyStep:T,trackLen:E,innerMin:w,innerMinRatio:A,innerMax:x,innerMaxRatio:L,positionProp:O,sizeProp:N,isReversed:y},methods:{onActivate:function(n){t(n,r(n)),e(),f.value=!0,p.value=!0,document.addEventListener("mouseup",ce,!0)},onMobileClick:function(n){t(n,r(n)),e(!0)},onBlur:ue,onKeyup:function(t){Ji.includes(t.keyCode)&&e(!0)},getContent:function(e,t,a,i){let r=[];"transparent"!==s.innerTrackColor&&r.push(n("div",{key:"inner",class:G.value,style:Z.value})),"transparent"!==s.selectionColor&&r.push(n("div",{key:"selection",class:$.value,style:e.value})),!1!==s.markers&&r.push(n("div",{key:"marker",class:F.value,style:ie.value})),i(r);let o=[mt("div",{key:"trackC",class:B.value,tabindex:t.value,...a.value},[n("div",{class:Y.value,style:K.value},r)],"slide",S.value,(()=>se.value))];if(!1!==s.markerLabels){o[!0===s.switchMarkerLabelsSide?"unshift":"push"](n("div",{key:"markerL",class:W.value},function(){if(void 0!==u["marker-label-group"])return u["marker-label-group"](ae.value);let e=u["marker-label"]||Xi;return ne.value.map((t=>e({marker:t,...ae.value})))}()))}return o},getThumbRenderFn:function(e){let t=i((()=>!1!==f.value||m.value!==e.focusValue&&"both"!==m.value?"":" q-slider--focus")),a=i((()=>`q-slider__thumb q-slider__thumb${_.value} q-slider__thumb${_.value}-${!0===y.value?"rtl":"ltr"} absolute non-selectable`+t.value+(void 0!==e.thumbColor.value?` text-${e.thumbColor.value}`:""))),r=i((()=>({width:s.thumbSize,height:s.thumbSize,[O.value]:100*e.ratio.value+"%",zIndex:m.value===e.focusValue?2:void 0}))),o=i((()=>void 0!==e.labelColor.value?` text-${e.labelColor.value}`:"")),l=i((()=>function(e){if(!0===s.vertical)return null;let t=c.lang.rtl!==s.reverse?1-e:e;return{transform:`translateX(calc(${2*t-1} * ${s.thumbSize} / 2 + ${50-100*t}%))`}}(e.ratio.value))),u=i((()=>"q-slider__text"+(void 0!==e.labelTextColor.value?` text-${e.labelTextColor.value}`:"")));return()=>{let t=[n("svg",{class:"q-slider__thumb-shape absolute-full",viewBox:"0 0 20 20","aria-hidden":"true"},[n("path",{d:s.thumbPath})]),n("div",{class:"q-slider__focus-ring fit"})];return(!0===s.label||!0===s.labelAlways)&&(t.push(n("div",{class:V.value+" absolute fit no-pointer-events"+o.value},[n("div",{class:H.value,style:{minWidth:s.thumbSize}},[n("div",{class:U.value,style:l.value},[n("span",{class:u.value},e.label.value)])])])),void 0!==s.name&&!0!==s.disable&&h(t,"push")),n("div",{class:a.value,style:r.value,...e.getNodeData()},t)}},convertRatioToModel:function(e){let{min:t,max:n,step:a}=s,i=t+e*(n-t);if(a>0){let e=(i-w.value)%a;i+=(Math.abs(e)>=a/2?(e<0?-1:1)*a:0)-e}return i=C.value(i),Xe(i,w.value,x.value)},convertModelToRatio:X,getDraggingRatio:function(e,t){let n=Q(e),a=!0===s.vertical?Xe((n.top-t.top)/t.height,0,1):Xe((n.left-t.left)/t.width,0,1);return Xe(!0===y.value?1-a:a,A.value,L.value)}}}}var ar=()=>({}),ir=B({name:"QSlider",props:{...er,modelValue:{required:!0,default:null,validator:e=>"number"==typeof e||null===e},labelValue:[String,Number]},emits:tr,setup(e,{emit:t}){let{proxy:{$q:o}}=k(),{state:s,methods:l}=nr({updateValue:_,updatePosition:function(t,n=s.dragging.value){let a=l.getDraggingRatio(t,n);d.value=l.convertRatioToModel(a),c.value=!0!==e.snap||0===e.step?a:l.convertModelToRatio(d.value)},getDragging:function(){return u.value.getBoundingClientRect()},formAttrs:ri(e)}),u=a(null),c=a(0),d=a(0);function h(){d.value=null===e.modelValue?s.innerMin.value:Xe(e.modelValue,s.innerMin.value,s.innerMax.value)}r((()=>`${e.modelValue}|${s.innerMin.value}|${s.innerMax.value}`),h),h();let p=i((()=>l.convertModelToRatio(d.value))),f=i((()=>!0===s.active.value?c.value:p.value)),m=i((()=>{let t={[s.positionProp.value]:100*s.innerMinRatio.value+"%",[s.sizeProp.value]:100*(f.value-s.innerMinRatio.value)+"%"};return void 0!==e.selectionImg&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t})),v=l.getThumbRenderFn({focusValue:!0,getNodeData:ar,ratio:f,label:i((()=>void 0!==e.labelValue?e.labelValue:d.value)),thumbColor:i((()=>e.thumbColor||e.color)),labelColor:i((()=>e.labelColor)),labelTextColor:i((()=>e.labelTextColor))}),g=i((()=>!0!==s.editable.value?{}:!0===o.platform.is.mobile?{onClick:l.onMobileClick}:{onMousedown:l.onActivate,onFocus:b,onBlur:l.onBlur,onKeydown:y,onKeyup:l.onKeyup}));function _(n){d.value!==e.modelValue&&t("update:modelValue",d.value),!0===n&&t("change",d.value)}function b(){s.focus.value=!0}function y(t){if(!Ji.includes(t.keyCode))return;X(t);let n=([34,33].includes(t.keyCode)?10:1)*s.keyStep.value,a=([34,37,40].includes(t.keyCode)?-1:1)*(!0===s.isReversed.value?-1:1)*(!0===e.vertical?-1:1)*n;d.value=Xe(s.roundValueFn.value(d.value+a),s.innerMin.value,s.innerMax.value),_()}return()=>{let t=l.getContent(m,s.tabindex,g,(e=>{e.push(v())}));return n("div",{ref:u,class:s.classes.value+(null===e.modelValue?" q-slider--no-value":""),...s.attributes.value,"aria-valuenow":e.modelValue},t)}}});function rr(){let e=a(!q.value);return!1===e.value&&m((()=>{e.value=!0})),{isHydrated:e}}var or=typeof ResizeObserver<"u",sr=!0===or?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"},lr=B({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(e,{emit:t}){let a,i=null,r={width:-1,height:-1};function o(t){!0===t||0===e.debounce||"0"===e.debounce?s():null===i&&(i=setTimeout(s,e.debounce))}function s(){if(null!==i&&(clearTimeout(i),i=null),a){let{offsetWidth:e,offsetHeight:n}=a;(e!==r.width||n!==r.height)&&(r={width:e,height:n},t("resize",r))}}let{proxy:l}=k();if(l.trigger=o,!0===or){let e,t=n=>{a=l.$el.parentNode,a?(e=new ResizeObserver(o),e.observe(a),s()):!0!==n&&d((()=>{t(!0)}))};return m((()=>{t()})),v((()=>{null!==i&&clearTimeout(i),void 0!==e&&(void 0!==e.disconnect?e.disconnect():a&&e.unobserve(a))})),W}{let e,t=function(){null!==i&&(clearTimeout(i),i=null),void 0!==e&&(void 0!==e.removeEventListener&&e.removeEventListener("resize",o,U.passive),e=void 0)},r=function(){t(),a&&a.contentDocument&&(e=a.contentDocument.defaultView,e.addEventListener("resize",o,U.passive),s())},{isHydrated:u}=rr();return m((()=>{d((()=>{a=l.$el,a&&r()}))})),v(t),()=>{if(!0===u.value)return n("object",{class:"q--avoid-card-border",style:sr.style,tabindex:-1,type:"text/html",data:sr.url,"aria-hidden":"true",onLoad:r})}}}}),ur=!1;{let e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});let t=document.createElement("div");Object.assign(t.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,ur=e.scrollLeft>=0,e.remove()}function cr(e,t,n){let a=!0===n?["left","right"]:["top","bottom"];return`absolute-${!0===t?a[0]:a[1]}${e?` text-${e}`:""}`}var dr=["left","center","right","justify"],hr=B({name:"QTabs",props:{modelValue:[Number,String],align:{type:String,default:"center",validator:e=>dr.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:t,emit:o}){let s,{proxy:l}=k(),{$q:u}=l,{registerTick:c}=na(),{registerTick:d}=na(),{registerTick:f}=na(),{registerTimeout:m,removeTimeout:g}=aa(),{registerTimeout:_,removeTimeout:b}=aa(),y=a(null),x=a(null),S=a(e.modelValue),C=a(!1),T=a(!0),M=a(!1),E=a(!1),P=[],A=a(0),L=a(!1),O=null,N=null,R=i((()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:cr(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps}))),z=i((()=>{let e=A.value,t=S.value;for(let n=0;n`q-tabs__content--align-${!0===C.value?"left":!0===E.value?"justify":e.align}`)),I=i((()=>`q-tabs row no-wrap items-center q-tabs--${!0===C.value?"":"not-"}scrollable q-tabs--${!0===e.vertical?"vertical":"horizontal"} q-tabs__arrows--${!0===e.outsideArrows?"outside":"inside"} q-tabs--mobile-with${!0===e.mobileArrows?"":"out"}-arrows`+(!0===e.dense?" q-tabs--dense":"")+(!0===e.shrink?" col-shrink":"")+(!0===e.stretch?" self-stretch":""))),D=i((()=>"q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position "+q.value+(void 0!==e.contentClass?` ${e.contentClass}`:""))),j=i((()=>!0===e.vertical?{container:"height",content:"offsetHeight",scroll:"scrollHeight"}:{container:"width",content:"offsetWidth",scroll:"scrollWidth"})),$=i((()=>!0!==e.vertical&&!0===u.lang.rtl)),F=i((()=>!1===ur&&!0===$.value));function B({name:t,setCurrent:n,skipEmit:a}){S.value!==t&&(!0!==a&&void 0!==e["onUpdate:modelValue"]&&o("update:modelValue",t),(!0===n||void 0===e["onUpdate:modelValue"])&&(function(t,n){let a=null!=t&&""!==t?P.find((e=>e.name.value===t)):null,i=null!=n&&""!==n?P.find((e=>e.name.value===n)):null;if(!0===re)re=!1;else if(a&&i){let t=a.tabIndicatorRef.value,n=i.tabIndicatorRef.value;null!==O&&(clearTimeout(O),O=null),t.style.transition="none",t.style.transform="none",n.style.transition="none",n.style.transform="none";let r=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=!0===e.vertical?`translate3d(0,${r.top-o.top}px,0) scale3d(1,${o.height?r.height/o.height:1},1)`:`translate3d(${r.left-o.left}px,0,0) scale3d(${o.width?r.width/o.width:1},1,1)`,f((()=>{O=setTimeout((()=>{O=null,n.style.transition="transform .25s cubic-bezier(.4, 0, .2, 1)",n.style.transform="none"}),70)}))}i&&!0===C.value&&U(i.rootRef.value)}(S.value,t),S.value=t))}function V(){c((()=>{H({width:y.value.offsetWidth,height:y.value.offsetHeight})}))}function H(t){if(void 0===j.value||null===x.value)return;let n=t[j.value.container],a=Math.min(x.value[j.value.scroll],Array.prototype.reduce.call(x.value.children,((e,t)=>e+(t[j.value.content]||0)),0)),i=n>0&&a>n;C.value=i,!0===i&&d(W),E.value=n0&&(x.value[!0===e.vertical?"scrollTop":"scrollLeft"]+=Math.ceil(s),W())}function W(){let t=x.value;if(null===t)return;let n=t.getBoundingClientRect(),a=!0===e.vertical?t.scrollTop:Math.abs(t.scrollLeft);!0===$.value?(T.value=Math.ceil(a+n.width)0):(T.value=a>0,M.value=!0===e.vertical?Math.ceil(a+n.height){!0===function(e){let t=x.value,{get:n,set:a}=Z.value,i=!1,r=n(t),o=e=e)&&(i=!0,r=e),a(t,r),W(),i}(e)&&G()}),5)}function Q(){Y(!0===F.value?Number.MAX_SAFE_INTEGER:0)}function K(){Y(!0===F.value?0:Number.MAX_SAFE_INTEGER)}function G(){null!==N&&(clearInterval(N),N=null)}r($,W),r((()=>e.modelValue),(e=>{B({name:e,setCurrent:!0,skipEmit:!0})})),r((()=>e.outsideArrows),V);let Z=i((()=>!0===F.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:!0===e.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}}));function X(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function J(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=P.filter((e=>void 0!==e.routeData&&!0===e.routeData.hasRouterLink.value)),{hash:a,query:i}=l.$route,r=Object.keys(i).length;for(let o of n){let n=!0===o.routeData.exact.value;if(!0!==o.routeData[!0===n?"linkIsExactActive":"linkIsActive"].value)continue;let{hash:s,query:l,matched:u,href:c}=o.routeData.resolvedLink.value,d=Object.keys(l).length;if(!0===n){if(s!==a||d!==r||!1===X(i,l))continue;e=o.name.value;break}if(""!==s&&s!==a||0!==d&&!1===X(l,i))continue;let h={matchedLen:u.length,queryDiff:r-d,hrefLen:c.length-s.length};if(h.matchedLen>t.matchedLen)e=o.name.value,t=h;else if(h.matchedLen===t.matchedLen){if(h.queryDifft.hrefLen&&(e=o.name.value,t=h)}}null!==e||!0!==P.some((e=>void 0===e.routeData&&e.name.value===S.value))?B({name:e,setCurrent:!0}):re=!1}function ee(e){if(g(),!0!==L.value&&null!==y.value&&e.target&&"function"==typeof e.target.closest){let t=e.target.closest(".q-tab");t&&!0===y.value.contains(t)&&(L.value=!0,!0===C.value&&U(t))}}function te(){m((()=>{L.value=!1}),30)}function ne(){!1===oe.avoidRouteWatcher?_(J):b()}function ae(){if(void 0===s){let e=r((()=>l.$route.fullPath),ne);s=()=>{e(),s=void 0}}}let ie,re,oe={currentModel:S,tabProps:R,hasFocus:L,hasActiveTab:z,registerTab:function(e){P.push(e),A.value++,V(),void 0===e.routeData||void 0===l.$route?_((()=>{if(!0===C.value){let e=S.value,t=null!=e&&""!==e?P.find((t=>t.name.value===e)):null;t&&U(t.rootRef.value)}})):(ae(),!0===e.routeData.hasRouterLink.value&&ne())},unregisterTab:function(e){P.splice(P.indexOf(e),1),A.value--,V(),void 0!==s&&void 0!==e.routeData&&(!0===P.every((e=>void 0===e.routeData))&&s(),ne())},verifyRouteModel:ne,updateModel:B,onKbdNavigate:function(t,n){let a=Array.prototype.filter.call(x.value.children,(e=>e===n||e.matches&&!0===e.matches(".q-tab.q-focusable"))),i=a.length;if(0===i)return;if(36===t)return U(a[0]),a[0].focus(),!0;if(35===t)return U(a[i-1]),a[i-1].focus(),!0;let r=t===(!0===e.vertical?38:37),o=t===(!0===e.vertical?40:39),s=!0===r?-1:!0===o?1:void 0;if(void 0!==s){let e=!0===$.value?-1:1,t=a.indexOf(n)+s*e;return t>=0&&t{ie=void 0!==s,se()})),h((()=>{!0===ie&&(ae(),re=!0,ne()),V()})),()=>n("div",{ref:y,class:I.value,role:"tablist",onFocusin:ee,onFocusout:te},[n(lr,{onResize:H}),n("div",{ref:x,class:D.value,onScroll:W},dt(t.default)),n(At,{class:"q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon"+(!0===T.value?"":" q-tabs__arrow--faded"),name:e.leftIcon||u.iconSet.tabs[!0===e.vertical?"up":"left"],onMousedownPassive:Q,onTouchstartPassive:Q,onMouseupPassive:G,onMouseleavePassive:G,onTouchendPassive:G}),n(At,{class:"q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon"+(!0===M.value?"":" q-tabs__arrow--faded"),name:e.rightIcon||u.iconSet.tabs[!0===e.vertical?"down":"right"],onMousedownPassive:K,onTouchstartPassive:K,onMouseupPassive:G,onMouseleavePassive:G,onTouchendPassive:G})])}}),pr=0,fr=["click","keydown"],mr={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>"t_"+pr++},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function vr(e,t,r,o){let s=y(Ne,ze);if(s===ze)return console.error("QTab/QRouteTab component needs to be child of QTabs"),ze;let{proxy:l}=k(),u=a(null),c=a(null),d=a(null),h=i((()=>!0!==e.disable&&!1!==e.ripple&&Object.assign({keyCodes:[13,32],early:!0},!0===e.ripple?{}:e.ripple))),p=i((()=>s.currentModel.value===e.name)),f=i((()=>"q-tab relative-position self-stretch flex flex-center text-center"+(!0===p.value?" q-tab--active"+(s.tabProps.value.activeClass?" "+s.tabProps.value.activeClass:"")+(s.tabProps.value.activeColor?` text-${s.tabProps.value.activeColor}`:"")+(s.tabProps.value.activeBgColor?` bg-${s.tabProps.value.activeBgColor}`:""):" q-tab--inactive")+(e.icon&&e.label&&!1===s.tabProps.value.inlineLabel?" q-tab--full":"")+(!0===e.noCaps||!0===s.tabProps.value.noCaps?" q-tab--no-caps":"")+(!0===e.disable?" disabled":" q-focusable q-hoverable cursor-pointer")+(void 0!==o?o.linkClass.value:""))),g=i((()=>"q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable "+(!0===s.tabProps.value.inlineLabel?"row no-wrap q-tab__content--inline":"column")+(void 0!==e.contentClass?` ${e.contentClass}`:""))),_=i((()=>!0===e.disable||!0===s.hasFocus.value||!1===p.value&&!0===s.hasActiveTab.value?-1:e.tabindex||0));function b(t,n){if(!0!==n&&null!==u.value&&u.value.focus(),!0!==e.disable){if(void 0===o)return s.updateModel({name:e.name}),void r("click",t);if(!0===o.hasRouterLink.value){let n=(n={})=>{let a,i=void 0===n.to||!0===De(n.to,e.to)?s.avoidRouteWatcher=Ja():null;return o.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch((e=>{a=e})).then((t=>{if(i===s.avoidRouteWatcher&&(s.avoidRouteWatcher=!1,void 0===a&&(void 0===t||void 0!==t.message&&!0===t.message.startsWith("Avoided redundant navigation"))&&s.updateModel({name:e.name})),!0===n.returnRouterError)return void 0!==a?Promise.reject(a):t}))};return r("click",t,n),void(!0!==t.defaultPrevented&&n())}r("click",t)}else void 0!==o&&!0===o.hasRouterLink.value&&X(t)}function w(e){pe(e,[13,32])?b(e,!0):!0!==he(e)&&e.keyCode>=35&&e.keyCode<=40&&!0!==e.altKey&&!0!==e.metaKey&&!0===s.onKbdNavigate(e.keyCode,l.$el)&&X(e),r("keydown",e)}let x={name:i((()=>e.name)),rootRef:c,tabIndicatorRef:d,routeData:o};return v((()=>{s.unregisterTab(x)})),m((()=>{s.registerTab(x)})),{renderTab:function(a,i){let r={ref:c,class:f.value,tabindex:_.value,role:"tab","aria-selected":!0===p.value?"true":"false","aria-disabled":!0===e.disable?"true":void 0,onClick:b,onKeydown:w,...i};return P(n(a,r,function(){let a=s.tabProps.value.narrowIndicator,i=[],r=n("div",{ref:d,class:["q-tab__indicator",s.tabProps.value.indicatorClass]});void 0!==e.icon&&i.push(n(At,{class:"q-tab__icon",name:e.icon})),void 0!==e.label&&i.push(n("div",{class:"q-tab__label"},e.label)),!1!==e.alert&&i.push(void 0!==e.alertIcon?n(At,{class:"q-tab__alert-icon",color:!0!==e.alert?e.alert:void 0,name:e.alertIcon}):n("div",{class:"q-tab__alert"+(!0!==e.alert?` text-${e.alert}`:"")})),!0===a&&i.push(r);let o=[n("div",{class:"q-focus-helper",tabindex:-1,ref:u}),n("div",{class:g.value},pt(t.default,i))];return!1===a&&o.push(r),o}()),[[mn,h.value]])},$tabs:s}}var gr=B({name:"QTab",props:mr,emits:fr,setup(e,{slots:t,emit:n}){let{renderTab:a}=vr(e,t,n);return()=>a("div")}}),_r=B({name:"QTabPanels",props:{...ki,...Rt},emits:xi,setup(e,{slots:t}){let n=k(),a=zt(e,n.proxy.$q),{updatePanelsList:r,getPanelContent:o,panelDirectives:s}=Si(),l=i((()=>"q-tab-panels q-panel-parent"+(!0===a.value?" q-tab-panels--dark q-dark":"")));return()=>(r(t),mt("div",{class:l.value},o(),"pan",e.swipeable,(()=>s.value)))}}),br=B({name:"QTabPanel",props:yi,setup:(e,{slots:t})=>()=>n("div",{class:"q-tab-panel",role:"tabpanel"},dt(t.default))}),yr=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,wr=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,kr=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,xr=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,Sr=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,Cr={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>yr.test(e),hexaColor:e=>wr.test(e),hexOrHexaColor:e=>kr.test(e),rgbColor:e=>xr.test(e),rgbaColor:e=>Sr.test(e),rgbOrRgbaColor:e=>xr.test(e)||Sr.test(e),hexOrRgbColor:e=>yr.test(e)||xr.test(e),hexaOrRgbaColor:e=>wr.test(e)||Sr.test(e),anyColor:e=>kr.test(e)||xr.test(e)||Sr.test(e)},Tr={testPattern:Cr},Mr=/^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;function Er({r:e,g:t,b:n,a:a}){let i=void 0!==a;if(e=Math.round(e),t=Math.round(t),n=Math.round(n),e>255||t>255||n>255||i&&a>100)throw new TypeError("Expected 3 numbers below 256 (and optionally one below 100)");return a=i?(256|Math.round(255*a/100)).toString(16).slice(1):"","#"+(n|t<<8|e<<16|1<<24).toString(16).slice(1)+a}function Pr({r:e,g:t,b:n,a:a}){return`rgb${void 0!==a?"a":""}(${e},${t},${n}${void 0!==a?","+a/100:""})`}function Ar(e){if("string"!=typeof e)throw new TypeError("Expected a string");3===(e=e.replace(/^#/,"")).length?e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]:4===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return e.length>6?{r:t>>24&255,g:t>>16&255,b:t>>8&255,a:Math.round((255&t)/2.55)}:{r:t>>16,g:t>>8&255,b:255&t}}function Lr({h:e,s:t,v:n,a:a}){let i,r,o;t/=100,n/=100,e/=360;let s=Math.floor(6*e),l=6*e-s,u=n*(1-t),c=n*(1-l*t),d=n*(1-(1-l)*t);switch(s%6){case 0:i=n,r=d,o=u;break;case 1:i=c,r=n,o=u;break;case 2:i=u,r=n,o=d;break;case 3:i=u,r=c,o=n;break;case 4:i=d,r=u,o=n;break;case 5:i=n,r=u,o=c}return{r:Math.round(255*i),g:Math.round(255*r),b:Math.round(255*o),a:a}}function Or({r:e,g:t,b:n,a:a}){let i,r=Math.max(e,t,n),o=Math.min(e,t,n),s=r-o,l=0===r?0:s/r,u=r/255;switch(r){case o:i=0;break;case e:i=t-n+s*(t1)throw new TypeError("Expected offset to be between -1 and 1");let{r:n,g:a,b:i,a:r}=Nr(e),o=void 0!==r?r/100:0;return Er({r:n,g:a,b:i,a:Math.round(100*Math.min(1,Math.max(0,o+t)))})},getPaletteColor:function(e){if("string"!=typeof e)throw new TypeError("Expected a string as color");let t=document.createElement("div");t.className=`text-${e} invisible fixed no-pointer-events`,document.body.appendChild(t);let n=getComputedStyle(t).getPropertyValue("color");return t.remove(),Er(Nr(n))}},qr=["rgb(255,204,204)","rgb(255,230,204)","rgb(255,255,204)","rgb(204,255,204)","rgb(204,255,230)","rgb(204,255,255)","rgb(204,230,255)","rgb(204,204,255)","rgb(230,204,255)","rgb(255,204,255)","rgb(255,153,153)","rgb(255,204,153)","rgb(255,255,153)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(153,204,255)","rgb(153,153,255)","rgb(204,153,255)","rgb(255,153,255)","rgb(255,102,102)","rgb(255,179,102)","rgb(255,255,102)","rgb(102,255,102)","rgb(102,255,179)","rgb(102,255,255)","rgb(102,179,255)","rgb(102,102,255)","rgb(179,102,255)","rgb(255,102,255)","rgb(255,51,51)","rgb(255,153,51)","rgb(255,255,51)","rgb(51,255,51)","rgb(51,255,153)","rgb(51,255,255)","rgb(51,153,255)","rgb(51,51,255)","rgb(153,51,255)","rgb(255,51,255)","rgb(255,0,0)","rgb(255,128,0)","rgb(255,255,0)","rgb(0,255,0)","rgb(0,255,128)","rgb(0,255,255)","rgb(0,128,255)","rgb(0,0,255)","rgb(128,0,255)","rgb(255,0,255)","rgb(245,0,0)","rgb(245,123,0)","rgb(245,245,0)","rgb(0,245,0)","rgb(0,245,123)","rgb(0,245,245)","rgb(0,123,245)","rgb(0,0,245)","rgb(123,0,245)","rgb(245,0,245)","rgb(214,0,0)","rgb(214,108,0)","rgb(214,214,0)","rgb(0,214,0)","rgb(0,214,108)","rgb(0,214,214)","rgb(0,108,214)","rgb(0,0,214)","rgb(108,0,214)","rgb(214,0,214)","rgb(163,0,0)","rgb(163,82,0)","rgb(163,163,0)","rgb(0,163,0)","rgb(0,163,82)","rgb(0,163,163)","rgb(0,82,163)","rgb(0,0,163)","rgb(82,0,163)","rgb(163,0,163)","rgb(92,0,0)","rgb(92,46,0)","rgb(92,92,0)","rgb(0,92,0)","rgb(0,92,46)","rgb(0,92,92)","rgb(0,46,92)","rgb(0,0,92)","rgb(46,0,92)","rgb(92,0,92)","rgb(255,255,255)","rgb(205,205,205)","rgb(178,178,178)","rgb(153,153,153)","rgb(127,127,127)","rgb(102,102,102)","rgb(76,76,76)","rgb(51,51,51)","rgb(25,25,25)","rgb(0,0,0)"],Ir="M5 5 h10 v10 h-10 v-10 z",Dr=B({name:"QColor",props:{...Rt,...ii,modelValue:String,defaultValue:String,defaultView:{type:String,default:"spectrum",validator:e=>["spectrum","tune","palette"].includes(e)},formatModel:{type:String,default:"auto",validator:e=>["auto","hex","rgb","hexa","rgba"].includes(e)},palette:Array,noHeader:Boolean,noHeaderTabs:Boolean,noFooter:Boolean,square:Boolean,flat:Boolean,bordered:Boolean,disable:Boolean,readonly:Boolean},emits:["update:modelValue","change"],setup(e,{emit:t}){let{proxy:o}=k(),{$q:s}=o,l=zt(e,s),{getCache:u}=bi(),c=a(null),h=a(null),p=i((()=>"auto"===e.formatModel?null:-1!==e.formatModel.indexOf("hex"))),f=i((()=>"auto"===e.formatModel?null:-1!==e.formatModel.indexOf("a"))),m=a("auto"===e.formatModel?void 0===e.modelValue||null===e.modelValue||""===e.modelValue||e.modelValue.startsWith("#")?"hex":"rgb":e.formatModel.startsWith("hex")?"hex":"rgb"),v=a(e.defaultView),g=a(N(e.modelValue||e.defaultValue)),_=i((()=>!0!==e.disable&&!0!==e.readonly)),b=i((()=>void 0===e.modelValue||null===e.modelValue||""===e.modelValue||e.modelValue.startsWith("#"))),y=i((()=>null!==p.value?p.value:b.value)),w=oi(i((()=>({type:"hidden",name:e.name,value:g.value[!0===y.value?"hex":"rgb"]})))),x=i((()=>null!==f.value?f.value:void 0!==g.value.a)),S=i((()=>({backgroundColor:g.value.rgb||"#000"}))),C=i((()=>"q-color-picker__header-content q-color-picker__header-content--"+(void 0!==g.value.a&&g.value.a<65||Rr(g.value)>.4?"light":"dark"))),T=i((()=>({background:`hsl(${g.value.h},100%,50%)`}))),M=i((()=>({top:100-g.value.v+"%",[!0===s.lang.rtl?"right":"left"]:`${g.value.s}%`}))),E=i((()=>void 0!==e.palette&&0!==e.palette.length?e.palette:qr)),P=i((()=>"q-color-picker"+(!0===e.bordered?" q-color-picker--bordered":"")+(!0===e.square?" q-color-picker--square no-border-radius":"")+(!0===e.flat?" q-color-picker--flat no-shadow":"")+(!0===e.disable?" disabled":"")+(!0===l.value?" q-color-picker--dark q-dark":""))),A=i((()=>!0===e.disable?{"aria-disabled":"true"}:{})),L=i((()=>[[Ki,j,void 0,{prevent:!0,stop:!0,mouse:!0}]]));function O(e,n){g.value.hex=Er(e),g.value.rgb=Pr(e),g.value.r=e.r,g.value.g=e.g,g.value.b=e.b,g.value.a=e.a;let a=g.value[!0===y.value?"hex":"rgb"];t("update:modelValue",a),!0===n&&t("change",a)}function N(t){let n=void 0!==f.value?f.value:"auto"===e.formatModel?null:-1!==e.formatModel.indexOf("a");if("string"!=typeof t||0===t.length||!0!==Cr.anyColor(t.replace(/ /g,"")))return{h:0,s:0,v:0,r:0,g:0,b:0,a:!0===n?100:void 0,hex:void 0,rgb:void 0};let a=Nr(t);return!0===n&&void 0===a.a&&(a.a=100),a.hex=Er(a),a.rgb=Pr(a),Object.assign(a,Or(a))}function R(e,t,n){let a=c.value;if(null===a)return;let i=a.clientWidth,r=a.clientHeight,o=a.getBoundingClientRect(),l=Math.min(i,Math.max(0,e-o.left));!0===s.lang.rtl&&(l=i-l);let u=Math.min(r,Math.max(0,t-o.top)),d=Math.round(100*l/i),h=Math.round(100*Math.max(0,Math.min(1,-u/r+1))),p=Lr({h:g.value.h,s:d,v:h,a:!0===x.value?g.value.a:void 0});g.value.s=d,g.value.v=h,O(p,n)}function z(e,t){let n=Math.round(e),a=Lr({h:n,s:g.value.s,v:g.value.v,a:!0===x.value?g.value.a:void 0});g.value.h=n,O(a,t)}function q(e){z(e,!0)}function I(e,t,n,a,i){if(void 0!==a&&G(a),!/^[0-9]+$/.test(e))return void(!0===i&&o.$forceUpdate());let r=Math.floor(Number(e));if(r<0||r>n)return void(!0===i&&o.$forceUpdate());let s={r:"r"===t?r:g.value.r,g:"g"===t?r:g.value.g,b:"b"===t?r:g.value.b,a:!0===x.value?"a"===t?r:g.value.a:void 0};if("a"!==t){let e=Or(s);g.value.h=e.h,g.value.s=e.s,g.value.v=e.v}if(O(s,i),void 0!==a&&!0!==i&&void 0!==a.target.selectionEnd){let e=a.target.selectionEnd;d((()=>{a.target.setSelectionRange(e,e)}))}}function D(e,t){let n,a=e.target.value;if(G(e),"hex"===m.value){if(a.length!==(!0===x.value?9:7)||!/^#[0-9A-Fa-f]+$/.test(a))return!0;n=Ar(a)}else{let e;if(!a.endsWith(")"))return!0;if(!0!==x.value&&a.startsWith("rgb(")){if(e=a.substring(4,a.length-1).split(",").map((e=>parseInt(e,10))),3!==e.length||!/^rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)$/.test(a))return!0}else{if(!0!==x.value||!a.startsWith("rgba("))return!0;{if(e=a.substring(5,a.length-1).split(","),4!==e.length||!/^rgba\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/.test(a))return!0;for(let t=0;t<3;t++){let n=parseInt(e[t],10);if(n<0||n>255)return!0;e[t]=n}let t=parseFloat(e[3]);if(t<0||t>1)return!0;e[3]=t}}if(e[0]<0||e[0]>255||e[1]<0||e[1]>255||e[2]<0||e[2]>255||!0===x.value&&(e[3]<0||e[3]>1))return!0;n={r:e[0],g:e[1],b:e[2],a:!0===x.value?100*e[3]:void 0}}let i=Or(n);if(g.value.h=i.h,g.value.s=i.s,g.value.v=i.v,O(n,t),!0!==t){let t=e.target.selectionEnd;d((()=>{e.target.setSelectionRange(t,t)}))}}function j(e){e.isFinal?R(e.position.left,e.position.top,!0):$(e)}r((()=>e.modelValue),(t=>{let n=N(t||e.defaultValue);n.hex!==g.value.hex&&(g.value=n)})),r((()=>e.defaultValue),(t=>{if(!e.modelValue&&t){let e=N(t);e.hex!==g.value.hex&&(g.value=e)}}));let $=hn((e=>{R(e.position.left,e.position.top)}),20);function F(e){R(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset,!0)}function B(e){R(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset)}function V(e){null!==h.value&&(h.value.$el.style.opacity=e?1:0)}function H(e){m.value=e}function U(e){v.value=e}function W(){let e={ref:c,class:"q-color-picker__spectrum non-selectable relative-position cursor-pointer"+(!0!==_.value?" readonly":""),style:T.value,...!0===_.value?{onClick:F,onMousedown:B}:{}},t=[n("div",{style:{paddingBottom:"100%"}}),n("div",{class:"q-color-picker__spectrum-white absolute-full"}),n("div",{class:"q-color-picker__spectrum-black absolute-full"}),n("div",{class:"absolute",style:M.value},[void 0!==g.value.hex?n("div",{class:"q-color-picker__spectrum-circle"}):null])],a=[n(ir,{class:"q-color-picker__hue non-selectable",modelValue:g.value.h,min:0,max:360,trackSize:"8px",innerTrackColor:"transparent",selectionColor:"transparent",readonly:!0!==_.value,thumbPath:Ir,"onUpdate:modelValue":z,onChange:q})];return!0===x.value&&a.push(n(ir,{class:"q-color-picker__alpha non-selectable",modelValue:g.value.a,min:0,max:100,trackSize:"8px",trackColor:"white",innerTrackColor:"transparent",selectionColor:"transparent",trackImg:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==",readonly:!0!==_.value,hideSelection:!0,thumbPath:Ir,...u("alphaSlide",{"onUpdate:modelValue":e=>I(e,"a",100),onChange:e=>I(e,"a",100,void 0,!0)})})),[mt("div",e,t,"spec",_.value,(()=>L.value)),n("div",{class:"q-color-picker__sliders"},a)]}function Y(){return[n("div",{class:"row items-center no-wrap"},[n("div","R"),n(ir,{modelValue:g.value.r,min:0,max:255,color:"red",dark:l.value,readonly:!0!==_.value,...u("rSlide",{"onUpdate:modelValue":e=>I(e,"r",255),onChange:e=>I(e,"r",255,void 0,!0)})}),n("input",{value:g.value.r,maxlength:3,readonly:!0!==_.value,onChange:G,...u("rIn",{onInput:e=>I(e.target.value,"r",255,e),onBlur:e=>I(e.target.value,"r",255,e,!0)})})]),n("div",{class:"row items-center no-wrap"},[n("div","G"),n(ir,{modelValue:g.value.g,min:0,max:255,color:"green",dark:l.value,readonly:!0!==_.value,...u("gSlide",{"onUpdate:modelValue":e=>I(e,"g",255),onChange:e=>I(e,"g",255,void 0,!0)})}),n("input",{value:g.value.g,maxlength:3,readonly:!0!==_.value,onChange:G,...u("gIn",{onInput:e=>I(e.target.value,"g",255,e),onBlur:e=>I(e.target.value,"g",255,e,!0)})})]),n("div",{class:"row items-center no-wrap"},[n("div","B"),n(ir,{modelValue:g.value.b,min:0,max:255,color:"blue",readonly:!0!==_.value,dark:l.value,...u("bSlide",{"onUpdate:modelValue":e=>I(e,"b",255),onChange:e=>I(e,"b",255,void 0,!0)})}),n("input",{value:g.value.b,maxlength:3,readonly:!0!==_.value,onChange:G,...u("bIn",{onInput:e=>I(e.target.value,"b",255,e),onBlur:e=>I(e.target.value,"b",255,e,!0)})})]),!0===x.value?n("div",{class:"row items-center no-wrap"},[n("div","A"),n(ir,{modelValue:g.value.a,color:"grey",readonly:!0!==_.value,dark:l.value,...u("aSlide",{"onUpdate:modelValue":e=>I(e,"a",100),onChange:e=>I(e,"a",100,void 0,!0)})}),n("input",{value:g.value.a,maxlength:3,readonly:!0!==_.value,onChange:G,...u("aIn",{onInput:e=>I(e.target.value,"a",100,e),onBlur:e=>I(e.target.value,"a",100,e,!0)})})]):null]}function Q(){return[n("div",{class:"row items-center q-color-picker__palette-rows"+(!0===_.value?" q-color-picker__palette-rows--editable":"")},E.value.map((e=>n("div",{class:"q-color-picker__cube col-auto",style:{backgroundColor:e},...!0===_.value?u("palette#"+e,{onClick:()=>{!function(e){let t=N(e),n={r:t.r,g:t.g,b:t.b,a:t.a};void 0===n.a&&(n.a=g.value.a),g.value.h=t.h,g.value.s=t.s,g.value.v=t.v,O(n,!0)}(e)}}):{}}))))]}return()=>{let t=[n(_r,{modelValue:v.value,animated:!0},(()=>[n(br,{class:"q-color-picker__spectrum-tab overflow-hidden",name:"spectrum"},W),n(br,{class:"q-pa-md q-color-picker__tune-tab",name:"tune"},Y),n(br,{class:"q-color-picker__palette-tab",name:"palette"},Q)]))];return void 0!==e.name&&!0!==e.disable&&w(t,"push"),!0!==e.noHeader&&t.unshift(function(){let t=[];return!0!==e.noHeaderTabs&&t.push(n(hr,{class:"q-color-picker__header-tabs",modelValue:m.value,dense:!0,align:"justify","onUpdate:modelValue":H},(()=>[n(gr,{label:"HEX"+(!0===x.value?"A":""),name:"hex",ripple:!1}),n(gr,{label:"RGB"+(!0===x.value?"A":""),name:"rgb",ripple:!1})]))),t.push(n("div",{class:"q-color-picker__header-banner row flex-center no-wrap"},[n("input",{class:"fit",value:g.value[m.value],...!0!==_.value?{readonly:!0}:{},...u("topIn",{onInput:e=>{V(!0===D(e))},onChange:G,onBlur:e=>{!0===D(e,!0)&&o.$forceUpdate(),V(!1)}})}),n(At,{ref:h,class:"q-color-picker__error-icon absolute no-pointer-events",name:s.iconSet.type.negative})])),n("div",{class:"q-color-picker__header relative-position overflow-hidden"},[n("div",{class:"q-color-picker__header-bg absolute-full"}),n("div",{class:C.value,style:S.value},t)])}()),!0!==e.noFooter&&t.push(n("div",{class:"q-color-picker__footer relative-position overflow-hidden"},[n(hr,{class:"absolute-full",modelValue:v.value,dense:!0,align:"justify","onUpdate:modelValue":U},(()=>[n(gr,{icon:s.iconSet.colorPicker.spectrum,name:"spectrum",ripple:!1}),n(gr,{icon:s.iconSet.colorPicker.tune,name:"tune",ripple:!1}),n(gr,{icon:s.iconSet.colorPicker.palette,name:"palette",ripple:!1})]))])),n("div",{class:P.value,...A.value},t)}}}),jr=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178];function $r(e,t,n){return"[object Date]"===Object.prototype.toString.call(e)&&(n=e.getDate(),t=e.getMonth()+1,e=e.getFullYear()),function(e){let t,n,a,i=Wr(e).gy,r=i-621,o=Hr(r,!1),s=Ur(i,3,o.march);if(a=e-s,a>=0){if(a<=185)return n=1+Yr(a,31),t=Qr(a,31)+1,{jy:r,jm:n,jd:t};a-=186}else r-=1,a+=179,1===o.leap&&(a+=1);return n=7+Yr(a,30),t=Qr(a,30)+1,{jy:r,jm:n,jd:t}}(Ur(e,t,n))}function Fr(e,t,n){return Wr(function(e,t,n){let a=Hr(e,!0);return Ur(a.gy,3,a.march)+31*(t-1)-Yr(t,7)*(t-7)+n-1}(e,t,n))}function Br(e){return 0===function(e){let t,n,a,i,r,o=jr.length,s=jr[0];if(e=jr[o-1])throw new Error("Invalid Jalaali year "+e);for(r=1;r=jr[s-1])throw new Error("Invalid Jalaali year "+e);for(o=1;oKr.includes(e),default:"gregorian"},landscape:Boolean,color:String,textColor:String,square:Boolean,flat:Boolean,bordered:Boolean,readonly:Boolean,disable:Boolean},Zr=["update:modelValue"];function Xr(e){return e.year+"/"+et(e.month)+"/"+et(e.day)}function Jr(e,t){let n=i((()=>!0!==e.disable&&!0!==e.readonly)),a=i((()=>!0===n.value?0:-1)),r=i((()=>{let t=[];return void 0!==e.color&&t.push(`bg-${e.color}`),void 0!==e.textColor&&t.push(`text-${e.textColor}`),t.join(" ")}));return{editable:n,tabindex:a,headerClass:r,getLocale:function(){return void 0!==e.locale?{...t.lang.date,...e.locale}:t.lang.date},getCurrentDate:function(t){let n=new Date,a=!0===t?null:0;if("persian"===e.calendar){let e=$r(n);return{year:e.jy,month:e.jm,day:e.jd}}return{year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate(),hour:a,minute:a,second:a,millisecond:a}}}}var eo=864e5,to=36e5,no=6e4,ao="YYYY-MM-DDTHH:mm:ss.SSSZ",io=/\[((?:[^\]\\]|\\]|\\)*)\]|do|d{1,4}|Mo|M{1,4}|m{1,2}|wo|w{1,2}|Qo|Do|DDDo|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,ro=/(\[[^\]]*\])|do|d{1,4}|Mo|M{1,4}|m{1,2}|wo|w{1,2}|Qo|Do|DDDo|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\s${}()|\\]+)/g,oo={};function so(e,t){return void 0!==e?e:void 0!==t?t.date:ye.date}function lo(e,t=""){let n=e>0?"-":"+",a=Math.abs(e),i=a%60;return n+et(Math.floor(a/60))+t+et(i)}function uo(e,t,n){let a=co(t),i=new Date(e),r=void 0!==a.year||void 0!==a.month||void 0!==a.date?function(e,t,n){let a=e.getFullYear(),i=e.getMonth(),r=e.getDate();return void 0!==t.year&&(a+=n*t.year,delete t.year),void 0!==t.month&&(i+=n*t.month,delete t.month),e.setDate(1),e.setMonth(2),e.setFullYear(a),e.setMonth(i),e.setDate(Math.min(r,yo(e))),void 0!==t.date&&(e.setDate(e.getDate()+n*t.date),delete t.date),e}(i,a,n):i;for(let e in a){let t=Ze(e);r[`set${t}`](r[`get${t}`]()+n*a[e])}return r}function co(e){let t={...e};return void 0!==e.years&&(t.year=e.years,delete t.years),void 0!==e.months&&(t.month=e.months,delete t.months),void 0!==e.days&&(t.date=e.days,delete t.days),void 0!==e.day&&(t.date=e.day,delete t.day),void 0!==e.hour&&(t.hours=e.hour,delete t.hour),void 0!==e.minute&&(t.minutes=e.minute,delete t.minute),void 0!==e.second&&(t.seconds=e.second,delete t.second),void 0!==e.millisecond&&(t.milliseconds=e.millisecond,delete t.millisecond),t}function ho(e,t,n){let a=co(t),i=!0===n?"UTC":"",r=new Date(e),o=void 0!==a.year||void 0!==a.month||void 0!==a.date?function(e,t,n){let a=void 0!==t.year?t.year:e[`get${n}FullYear`](),i=void 0!==t.month?t.month-1:e[`get${n}Month`](),r=new Date(a,i+1,0).getDate(),o=Math.min(r,void 0!==t.date?t.date:e[`get${n}Date`]());return e[`set${n}Date`](1),e[`set${n}Month`](2),e[`set${n}FullYear`](a),e[`set${n}Month`](i),e[`set${n}Date`](o),delete t.year,delete t.month,delete t.date,e}(r,a,i):r;for(let e in a){o[`set${i}${e.charAt(0).toUpperCase()+e.slice(1)}`](a[e])}return o}function po(e,t,n,a,i){let r={year:null,month:null,day:null,hour:null,minute:null,second:null,millisecond:null,timezoneOffset:null,dateHash:null,timeHash:null};if(void 0!==i&&Object.assign(r,i),null==e||""===e||"string"!=typeof e)return r;void 0===t&&(t=ao);let o=so(n,xe.props),s=o.months,l=o.monthsShort,{regex:u,map:c}=function(e,t){let n="("+t.days.join("|")+")",a=e+n;if(void 0!==oo[a])return oo[a];let i="("+t.daysShort.join("|")+")",r="("+t.months.join("|")+")",o="("+t.monthsShort.join("|")+")",s={},l=0,u=e.replace(ro,(e=>{switch(l++,e){case"YY":return s.YY=l,"(-?\\d{1,2})";case"YYYY":return s.YYYY=l,"(-?\\d{1,4})";case"M":return s.M=l,"(\\d{1,2})";case"Mo":return s.M=l++,"(\\d{1,2}(st|nd|rd|th))";case"MM":return s.M=l,"(\\d{2})";case"MMM":return s.MMM=l,o;case"MMMM":return s.MMMM=l,r;case"D":return s.D=l,"(\\d{1,2})";case"Do":return s.D=l++,"(\\d{1,2}(st|nd|rd|th))";case"DD":return s.D=l,"(\\d{2})";case"H":return s.H=l,"(\\d{1,2})";case"HH":return s.H=l,"(\\d{2})";case"h":return s.h=l,"(\\d{1,2})";case"hh":return s.h=l,"(\\d{2})";case"m":return s.m=l,"(\\d{1,2})";case"mm":return s.m=l,"(\\d{2})";case"s":return s.s=l,"(\\d{1,2})";case"ss":return s.s=l,"(\\d{2})";case"S":return s.S=l,"(\\d{1})";case"SS":return s.S=l,"(\\d{2})";case"SSS":return s.S=l,"(\\d{3})";case"A":return s.A=l,"(AM|PM)";case"a":return s.a=l,"(am|pm)";case"aa":return s.aa=l,"(a\\.m\\.|p\\.m\\.)";case"ddd":return i;case"dddd":return n;case"Q":case"d":case"E":return"(\\d{1})";case"do":return l++,"(\\d{1}(st|nd|rd|th))";case"Qo":return"(1st|2nd|3rd|4th)";case"DDD":case"DDDD":return"(\\d{1,3})";case"DDDo":return l++,"(\\d{1,3}(st|nd|rd|th))";case"w":return"(\\d{1,2})";case"wo":return l++,"(\\d{1,2}(st|nd|rd|th))";case"ww":return"(\\d{2})";case"Z":return s.Z=l,"(Z|[+-]\\d{2}:\\d{2})";case"ZZ":return s.ZZ=l,"(Z|[+-]\\d{2}\\d{2})";case"X":return s.X=l,"(-?\\d+)";case"x":return s.x=l,"(-?\\d{4,})";default:return l--,"["===e[0]&&(e=e.substring(1,e.length-1)),e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}})),c={map:s,regex:new RegExp("^"+u)};return oo[a]=c,c}(t,o),d=e.match(u);if(null===d)return r;let h="";if(void 0!==c.X||void 0!==c.x){let e=parseInt(d[void 0!==c.X?c.X:c.x],10);if(!0===isNaN(e)||e<0)return r;let t=new Date(e*(void 0!==c.X?1e3:1));r.year=t.getFullYear(),r.month=t.getMonth()+1,r.day=t.getDate(),r.hour=t.getHours(),r.minute=t.getMinutes(),r.second=t.getSeconds(),r.millisecond=t.getMilliseconds()}else{if(void 0!==c.YYYY)r.year=parseInt(d[c.YYYY],10);else if(void 0!==c.YY){let e=parseInt(d[c.YY],10);r.year=e<0?e:2e3+e}if(void 0!==c.M){if(r.month=parseInt(d[c.M],10),r.month<1||r.month>12)return r}else void 0!==c.MMM?r.month=l.indexOf(d[c.MMM])+1:void 0!==c.MMMM&&(r.month=s.indexOf(d[c.MMMM])+1);if(void 0!==c.D){if(r.day=parseInt(d[c.D],10),null===r.year||null===r.month||r.day<1)return r;let e="persian"!==a?new Date(r.year,r.month,0).getDate():Vr(r.year,r.month);if(r.day>e)return r}void 0!==c.H?r.hour=parseInt(d[c.H],10)%24:void 0!==c.h&&(r.hour=parseInt(d[c.h],10)%12,(c.A&&"PM"===d[c.A]||c.a&&"pm"===d[c.a]||c.aa&&"p.m."===d[c.aa])&&(r.hour+=12),r.hour=r.hour%24),void 0!==c.m&&(r.minute=parseInt(d[c.m],10)%60),void 0!==c.s&&(r.second=parseInt(d[c.s],10)%60),void 0!==c.S&&(r.millisecond=parseInt(d[c.S],10)*10**(3-d[c.S].length)),(void 0!==c.Z||void 0!==c.ZZ)&&(h=void 0!==c.Z?d[c.Z].replace(":",""):d[c.ZZ],r.timezoneOffset=("+"===h[0]?-1:1)*(60*h.slice(1,3)+1*h.slice(3,5)))}return r.dateHash=et(r.year,6)+"/"+et(r.month)+"/"+et(r.day),r.timeHash=et(r.hour)+":"+et(r.minute)+":"+et(r.second)+h,r}function fo(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.setDate(t.getDate()-(t.getDay()+6)%7+3);let n=new Date(t.getFullYear(),0,4);n.setDate(n.getDate()-(n.getDay()+6)%7+3);let a=t.getTimezoneOffset()-n.getTimezoneOffset();t.setHours(t.getHours()-a);let i=(t-n)/(7*eo);return 1+Math.floor(i)}function mo(e,t){let n=new Date(e);return!0===t?function(e){return 1e4*e.getFullYear()+100*e.getMonth()+e.getDate()}(n):n.getTime()}function vo(e,t,n){let a=new Date(e),i="set"+(!0===n?"UTC":"");switch(t){case"year":case"years":a[`${i}Month`](0);case"month":case"months":a[`${i}Date`](1);case"day":case"days":case"date":a[`${i}Hours`](0);case"hour":case"hours":a[`${i}Minutes`](0);case"minute":case"minutes":a[`${i}Seconds`](0);case"second":case"seconds":a[`${i}Milliseconds`](0)}return a}function go(e,t,n){return(e.getTime()-e.getTimezoneOffset()*no-(t.getTime()-t.getTimezoneOffset()*no))/n}function _o(e,t,n="days"){let a=new Date(e),i=new Date(t);switch(n){case"years":case"year":return a.getFullYear()-i.getFullYear();case"months":case"month":return 12*(a.getFullYear()-i.getFullYear())+a.getMonth()-i.getMonth();case"days":case"day":case"date":return go(vo(a,"day"),vo(i,"day"),eo);case"hours":case"hour":return go(vo(a,"hour"),vo(i,"hour"),to);case"minutes":case"minute":return go(vo(a,"minute"),vo(i,"minute"),no);case"seconds":case"second":return go(vo(a,"second"),vo(i,"second"),1e3)}}function bo(e){return _o(e,vo(e,"year"),"days")+1}function yo(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function wo(e){if(e>=11&&e<=13)return`${e}th`;switch(e%10){case 1:return`${e}st`;case 2:return`${e}nd`;case 3:return`${e}rd`}return`${e}th`}var ko={YY(e,t,n){let a=this.YYYY(e,t,n)%100;return a>=0?et(a):"-"+et(Math.abs(a))},YYYY:(e,t,n)=>n??e.getFullYear(),M:e=>e.getMonth()+1,Mo:e=>wo(e.getMonth()+1),MM:e=>et(e.getMonth()+1),MMM:(e,t)=>t.monthsShort[e.getMonth()],MMMM:(e,t)=>t.months[e.getMonth()],Q:e=>Math.ceil((e.getMonth()+1)/3),Qo(e){return wo(this.Q(e))},D:e=>e.getDate(),Do:e=>wo(e.getDate()),DD:e=>et(e.getDate()),DDD:e=>bo(e),DDDo:e=>wo(bo(e)),DDDD:e=>et(bo(e),3),d:e=>e.getDay(),do:e=>wo(e.getDay()),dd:(e,t)=>t.days[e.getDay()].slice(0,2),ddd:(e,t)=>t.daysShort[e.getDay()],dddd:(e,t)=>t.days[e.getDay()],E:e=>e.getDay()||7,w:e=>fo(e),wo:e=>wo(fo(e)),ww:e=>et(fo(e)),H:e=>e.getHours(),HH:e=>et(e.getHours()),h(e){let t=e.getHours();return 0===t?12:t>12?t%12:t},hh(e){return et(this.h(e))},m:e=>e.getMinutes(),mm:e=>et(e.getMinutes()),s:e=>e.getSeconds(),ss:e=>et(e.getSeconds()),S:e=>Math.floor(e.getMilliseconds()/100),SS:e=>et(Math.floor(e.getMilliseconds()/10)),SSS:e=>et(e.getMilliseconds(),3),A:e=>e.getHours()<12?"AM":"PM",a:e=>e.getHours()<12?"am":"pm",aa:e=>e.getHours()<12?"a.m.":"p.m.",Z:(e,t,n,a)=>lo(a??e.getTimezoneOffset(),":"),ZZ:(e,t,n,a)=>lo(a??e.getTimezoneOffset()),X:e=>Math.floor(e.getTime()/1e3),x:e=>e.getTime()};function xo(e,t,n,a,i){if(0!==e&&!e||e===1/0||e===-1/0)return;let r=new Date(e);if(isNaN(r))return;void 0===t&&(t=ao);let o=so(n,xe.props);return t.replace(io,((e,t)=>e in ko?ko[e](r,o,a,i):void 0===t?e:t.split("\\]").join("]")))}var So={isValid:function(e){return"number"==typeof e||!1===isNaN(Date.parse(e))},extractDate:function(e,t,n){let a=po(e,t,n),i=new Date(a.year,null===a.month?null:a.month-1,null===a.day?1:a.day,a.hour,a.minute,a.second,a.millisecond),r=i.getTimezoneOffset();return null===a.timezoneOffset||a.timezoneOffset===r?i:uo(i,{minutes:a.timezoneOffset-r},1)},buildDate:function(e,t){return ho(new Date,e,t)},getDayOfWeek:function(e){let t=new Date(e).getDay();return 0===t?7:t},getWeekOfYear:fo,isBetweenDates:function(e,t,n,a={}){let i=mo(t,a.onlyDate),r=mo(n,a.onlyDate),o=mo(e,a.onlyDate);return(o>i||!0===a.inclusiveFrom&&o===i)&&(o{t=Math.max(t,new Date(e))})),t},getMinDate:function(e){let t=new Date(e);return Array.prototype.slice.call(arguments,1).forEach((e=>{t=Math.min(t,new Date(e))})),t},getDateDiff:_o,getDayOfYear:bo,inferDateFormat:function(e){return!0===$e(e)?"date":"number"==typeof e?"number":"string"},getDateBetween:function(e,t,n){let a=new Date(e);if(t){let e=new Date(t);if(ae)return e}return a},isSameDate:function(e,t,n){let a=new Date(e),i=new Date(t);if(void 0===n)return a.getTime()===i.getTime();switch(n){case"second":case"seconds":if(a.getSeconds()!==i.getSeconds())return!1;case"minute":case"minutes":if(a.getMinutes()!==i.getMinutes())return!1;case"hour":case"hours":if(a.getHours()!==i.getHours())return!1;case"day":case"days":case"date":if(a.getDate()!==i.getDate())return!1;case"month":case"months":if(a.getMonth()!==i.getMonth())return!1;case"year":case"years":if(a.getFullYear()!==i.getFullYear())return!1;break;default:throw new Error(`date isSameDate unknown unit ${n}`)}return!0},daysInMonth:yo,formatDate:xo,clone:function(e){return!0===$e(e)?new Date(e.getTime()):e}},Co=20,To=["Calendar","Years","Months"],Mo=e=>To.includes(e),Eo=e=>/^-?[\d]+\/[0-1]\d$/.test(e),Po=" — ";function Ao(e){return e.year+"/"+et(e.month)}var Lo=B({name:"QDate",props:{...Gr,...ii,...Rt,modelValue:{required:!0,validator:e=>"string"==typeof e||!0===Array.isArray(e)||Object(e)===e||null===e},multiple:Boolean,range:Boolean,title:String,subtitle:String,mask:{...Gr.mask,default:"YYYY/MM/DD"},defaultYearMonth:{type:String,validator:Eo},yearsInMonthView:Boolean,events:[Array,Function],eventColor:[String,Function],emitImmediately:Boolean,options:[Array,Function],navigationMinYearMonth:{type:String,validator:Eo},navigationMaxYearMonth:{type:String,validator:Eo},noUnset:Boolean,firstDayOfWeek:[String,Number],todayBtn:Boolean,minimal:Boolean,defaultView:{type:String,default:"Calendar",validator:Mo}},emits:[...Zr,"rangeStart","rangeEnd","navigation"],setup(e,{slots:t,emit:o}){let s,{proxy:l}=k(),{$q:u}=l,c=zt(e,u),{getCache:h}=bi(),{tabindex:p,headerClass:f,getLocale:m,getCurrentDate:v}=Jr(e,u),g=oi(ri(e)),_=a(null),b=a(pe()),y=a(m()),w=i((()=>pe())),x=i((()=>m())),C=i((()=>v())),T=a(me(b.value,y.value)),M=a(e.defaultView),E=i((()=>!0===u.lang.rtl?"right":"left")),P=a(E.value),A=a(E.value),L=T.value.year,O=a(L-L%Co-(L<0?Co:0)),N=a(null),R=i((()=>{let t=!0===e.landscape?"landscape":"portrait";return`q-date q-date--${t} q-date--${t}-${!0===e.minimal?"minimal":"standard"}`+(!0===c.value?" q-date--dark q-dark":"")+(!0===e.bordered?" q-date--bordered":"")+(!0===e.square?" q-date--square no-border-radius":"")+(!0===e.flat?" q-date--flat no-shadow":"")+(!0===e.disable?" disabled":!0===e.readonly?" q-date--readonly":"")})),z=i((()=>e.color||"primary")),q=i((()=>e.textColor||"white")),I=i((()=>!0===e.emitImmediately&&!0!==e.multiple&&!0!==e.range)),D=i((()=>!0===Array.isArray(e.modelValue)?e.modelValue:null!==e.modelValue&&void 0!==e.modelValue?[e.modelValue]:[])),j=i((()=>D.value.filter((e=>"string"==typeof e)).map((e=>fe(e,b.value,y.value))).filter((e=>null!==e.dateHash&&null!==e.day&&null!==e.month&&null!==e.year)))),$=i((()=>{let e=e=>fe(e,b.value,y.value);return D.value.filter((e=>!0===je(e)&&void 0!==e.from&&void 0!==e.to)).map((t=>({from:e(t.from),to:e(t.to)}))).filter((e=>null!==e.from.dateHash&&null!==e.to.dateHash&&e.from.dateHash"persian"!==e.calendar?e=>new Date(e.year,e.month-1,e.day):e=>{let t=Fr(e.year,e.month,e.day);return new Date(t.gy,t.gm-1,t.gd)})),B=i((()=>"persian"===e.calendar?Xr:(e,t,n)=>xo(new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond),void 0===t?b.value:t,void 0===n?y.value:n,e.year,e.timezoneOffset))),V=i((()=>j.value.length+$.value.reduce(((e,t)=>e+1+_o(F.value(t.to),F.value(t.from))),0))),H=i((()=>{if(void 0!==e.title&&null!==e.title&&0!==e.title.length)return e.title;if(null!==N.value){let e=N.value.init,t=F.value(e);return y.value.daysShort[t.getDay()]+", "+y.value.monthsShort[e.month-1]+" "+e.day+Po+"?"}if(0===V.value)return Po;if(V.value>1)return`${V.value} ${y.value.pluralDay}`;let t=j.value[0],n=F.value(t);return!0===isNaN(n.valueOf())?Po:void 0!==y.value.headerTitle?y.value.headerTitle(n,t):y.value.daysShort[n.getDay()]+", "+y.value.monthsShort[t.month-1]+" "+t.day})),U=i((()=>j.value.concat($.value.map((e=>e.from))).sort(((e,t)=>e.year-t.year||e.month-t.month))[0])),W=i((()=>j.value.concat($.value.map((e=>e.to))).sort(((e,t)=>t.year-e.year||t.month-e.month))[0])),Y=i((()=>{if(void 0!==e.subtitle&&null!==e.subtitle&&0!==e.subtitle.length)return e.subtitle;if(0===V.value)return Po;if(V.value>1){let e=U.value,t=W.value,n=y.value.monthsShort;return n[e.month-1]+(e.year!==t.year?" "+e.year+Po+n[t.month-1]+" ":e.month!==t.month?Po+n[t.month-1]:"")+" "+t.year}return j.value[0].year})),Q=i((()=>{let e=[u.iconSet.datetime.arrowLeft,u.iconSet.datetime.arrowRight];return!0===u.lang.rtl?e.reverse():e})),K=i((()=>void 0!==e.firstDayOfWeek?Number(e.firstDayOfWeek):y.value.firstDayOfWeek)),G=i((()=>{let e=y.value.daysShort,t=K.value;return t>0?e.slice(t,7).concat(e.slice(0,t)):e})),Z=i((()=>{let t=T.value;return"persian"!==e.calendar?new Date(t.year,t.month,0).getDate():Vr(t.year,t.month)})),X=i((()=>"function"==typeof e.eventColor?e.eventColor:()=>e.eventColor)),J=i((()=>{if(void 0===e.navigationMinYearMonth)return null;let t=e.navigationMinYearMonth.split("/");return{year:parseInt(t[0],10),month:parseInt(t[1],10)}})),ee=i((()=>{if(void 0===e.navigationMaxYearMonth)return null;let t=e.navigationMaxYearMonth.split("/");return{year:parseInt(t[0],10),month:parseInt(t[1],10)}})),te=i((()=>{let e={month:{prev:!0,next:!0},year:{prev:!0,next:!0}};return null!==J.value&&J.value.year>=T.value.year&&(e.year.prev=!1,J.value.year===T.value.year&&J.value.month>=T.value.month&&(e.month.prev=!1)),null!==ee.value&&ee.value.year<=T.value.year&&(e.year.next=!1,ee.value.year===T.value.year&&ee.value.month<=T.value.month&&(e.month.next=!1)),e})),ne=i((()=>{let e={};return j.value.forEach((t=>{let n=Ao(t);void 0===e[n]&&(e[n]=[]),e[n].push(t.day)})),e})),ae=i((()=>{let e={};return $.value.forEach((t=>{let n=Ao(t.from),a=Ao(t.to);if(void 0===e[n]&&(e[n]=[]),e[n].push({from:t.from.day,to:n===a?t.to.day:void 0,range:t}),n12&&(o.year++,o.month=1)}})),e})),ie=i((()=>{if(null===N.value)return;let{init:e,initHash:t,final:n,finalHash:a}=N.value,[i,r]=t<=a?[e,n]:[n,e],o=Ao(i),s=Ao(r);if(o!==re.value&&s!==re.value)return;let l={};return o===re.value?(l.from=i.day,l.includeFrom=!0):l.from=1,s===re.value?(l.to=r.day,l.includeTo=!0):l.to=Z.value,l})),re=i((()=>Ao(T.value))),oe=i((()=>{let t={};if(void 0===e.options){for(let e=1;e<=Z.value;e++)t[e]=!0;return t}let n="function"==typeof e.options?e.options:t=>e.options.includes(t);for(let e=1;e<=Z.value;e++){let a=re.value+"/"+et(e);t[e]=n(a)}return t})),se=i((()=>{let t={};if(void 0===e.events)for(let e=1;e<=Z.value;e++)t[e]=!1;else{let n="function"==typeof e.events?e.events:t=>e.events.includes(t);for(let e=1;e<=Z.value;e++){let a=re.value+"/"+et(e);t[e]=!0===n(a)&&X.value(a)}}return t})),le=i((()=>{let t,n,{year:a,month:i}=T.value;if("persian"!==e.calendar)t=new Date(a,i-1,1),n=new Date(a,i-1,0).getDate();else{let e=Fr(a,i,1);t=new Date(e.gy,e.gm-1,e.gd);let r=i-1,o=a;0===r&&(r=12,o--),n=Vr(o,r)}return{days:t.getDay()-K.value-1,endDay:n}})),ue=i((()=>{let e=[],{days:t,endDay:n}=le.value,a=t<0?t+7:t;if(a<6)for(let t=n-a;t<=n;t++)e.push({i:t,fill:!0});let i=e.length;for(let t=1;t<=Z.value;t++){let n={i:t,event:se.value[t],classes:[]};!0===oe.value[t]&&(n.in=!0,n.flat=!0),e.push(n)}if(void 0!==ne.value[re.value]&&ne.value[re.value].forEach((t=>{let n=i+t-1;Object.assign(e[n],{selected:!0,unelevated:!0,flat:!1,color:z.value,textColor:q.value})})),void 0!==ae.value[re.value]&&ae.value[re.value].forEach((t=>{if(void 0!==t.from){let n=i+t.from-1,a=i+(t.to||Z.value)-1;for(let i=n;i<=a;i++)Object.assign(e[i],{range:t.range,unelevated:!0,color:z.value,textColor:q.value});Object.assign(e[n],{rangeFrom:!0,flat:!1}),void 0!==t.to&&Object.assign(e[a],{rangeTo:!0,flat:!1})}else if(void 0!==t.to){let n=i+t.to-1;for(let a=i;a<=n;a++)Object.assign(e[a],{range:t.range,unelevated:!0,color:z.value,textColor:q.value});Object.assign(e[n],{flat:!1,rangeTo:!0})}else{let n=i+Z.value-1;for(let a=i;a<=n;a++)Object.assign(e[a],{range:t.range,unelevated:!0,color:z.value,textColor:q.value})}})),void 0!==ie.value){let t=i+ie.value.from-1,n=i+ie.value.to-1;for(let a=t;a<=n;a++)e[a].color=z.value,e[a].editRange=!0;!0===ie.value.includeFrom&&(e[t].editRangeFrom=!0),!0===ie.value.includeTo&&(e[n].editRangeTo=!0)}T.value.year===C.value.year&&T.value.month===C.value.month&&(e[i+C.value.day-1].today=!0);let r=e.length%7;if(r>0){let t=7-r;for(let n=1;n<=t;n++)e.push({i:n,fill:!0})}return e.forEach((e=>{let t="q-date__calendar-item ";!0===e.fill?t+="q-date__calendar-item--fill":(t+="q-date__calendar-item--"+(!0===e.in?"in":"out"),void 0!==e.range&&(t+=" q-date__range"+(!0===e.rangeTo?"-to":!0===e.rangeFrom?"-from":"")),!0===e.editRange&&(t+=` q-date__edit-range${!0===e.editRangeFrom?"-from":""}${!0===e.editRangeTo?"-to":""}`),(void 0!==e.range||!0===e.editRange)&&(t+=` text-${e.color}`)),e.classes=t})),e})),ce=i((()=>!0===e.disable?{"aria-disabled":"true"}:{}));function de(){let{year:e,month:t,day:n}=C.value,a={...T.value,year:e,month:t,day:n},i=ne.value[Ao(a)];(void 0===i||!1===i.includes(a.day))&&Te(a),he(a.year,a.month)}function he(e,t){M.value="Calendar",we(e,t)}function pe(){return"persian"===e.calendar?"YYYY/MM/DD":e.mask}function fe(t,n,a){return po(t,n,a,e.calendar,{hour:0,minute:0,second:0,millisecond:0})}function me(t,n){let a=!0===Array.isArray(e.modelValue)?e.modelValue:e.modelValue?[e.modelValue]:[];if(0===a.length)return ve();let i=a[a.length-1],r=fe(void 0!==i.from?i.from:i,t,n);return null===r.dateHash?ve():r}function ve(){let t,n;if(void 0!==e.defaultYearMonth){let a=e.defaultYearMonth.split("/");t=parseInt(a[0],10),n=parseInt(a[1],10)}else{let e=void 0!==C.value?C.value:v();t=e.year,n=e.month}return{year:t,month:n,day:1,hour:0,minute:0,second:0,millisecond:0,dateHash:t+"/"+et(n)+"/01"}}function ge(e){let t=T.value.year,n=Number(T.value.month)+e;13===n?(n=1,t++):0===n&&(n=12,t--),we(t,n),!0===I.value&&xe("month")}function _e(e){we(Number(T.value.year)+e,T.value.month),!0===I.value&&xe("year")}function be(t){we(t,T.value.month),M.value="Years"===e.defaultView?"Months":"Calendar",!0===I.value&&xe("year")}function ye(e){return{year:e.year,month:e.month,day:e.day}}function we(e,t,n){if(null!==J.value&&e<=J.value.year&&((t=ee.value.year&&((t>ee.value.month||e>ee.value.year)&&(t=ee.value.month),e=ee.value.year),void 0!==n){let{hour:e,minute:t,second:a,millisecond:i,timezoneOffset:r,timeHash:o}=n;Object.assign(T.value,{hour:e,minute:t,second:a,millisecond:i,timezoneOffset:r,timeHash:o})}let a=e+"/"+et(t)+"/01";a!==T.value.dateHash&&(P.value=T.value.dateHash{O.value=e-e%Co-(e<0?Co:0),Object.assign(T.value,{year:e,month:t,day:1,dateHash:a})})))}function ke(t,n,a){let i=null!==t&&1===t.length&&!1===e.multiple?t[0]:t;s=i;let{reason:r,details:l}=Se(n,a);o("update:modelValue",i,r,l)}function xe(t){let n=void 0!==j.value[0]&&null!==j.value[0].dateHash?{...j.value[0]}:{...T.value};d((()=>{n.year=T.value.year,n.month=T.value.month;let a="persian"!==e.calendar?new Date(n.year,n.month,0).getDate():Vr(n.year,n.month);n.day=Math.min(Math.max(1,n.day),a);let i=Ce(n);s=i;let{details:r}=Se("",n);o("update:modelValue",i,t,r)}))}function Se(e,t){return void 0!==t.from?{reason:`${e}-range`,details:{...ye(t.target),from:ye(t.from),to:ye(t.to)}}:{reason:`${e}-day`,details:ye(t)}}function Ce(e,t,n){return void 0!==e.from?{from:B.value(e.from,t,n),to:B.value(e.to,t,n)}:B.value(e,t,n)}function Te(t){let n;if(!0===e.multiple)if(void 0!==t.from){let e=Xr(t.from),a=Xr(t.to),i=j.value.filter((t=>t.dateHasha)),r=$.value.filter((({from:t,to:n})=>n.dateHasha));n=i.concat(r).concat(t).map((e=>Ce(e)))}else{let e=D.value.slice();e.push(Ce(t)),n=e}else n=Ce(t);ke(n,"add",t)}function Me(t){if(!0===e.noUnset)return;let n=null;if(!0===e.multiple&&!0===Array.isArray(e.modelValue)){let a=Ce(t);n=void 0!==t.from?e.modelValue.filter((e=>void 0===e.from||e.from!==a.from&&e.to!==a.to)):e.modelValue.filter((e=>e!==a)),0===n.length&&(n=null)}ke(n,"remove",t)}function Ee(t,n,a){let i=j.value.concat($.value).map((e=>Ce(e,t,n))).filter((e=>void 0!==e.from?null!==e.from.dateHash&&null!==e.to.dateHash:null!==e.dateHash));o("update:modelValue",(!0===e.multiple?i:i[0])||null,a)}function Pe(){if(!0!==e.minimal)return n("div",{class:"q-date__header "+f.value},[n("div",{class:"relative-position"},[n(S,{name:"q-transition--fade"},(()=>n("div",{key:"h-yr-"+Y.value,class:"q-date__header-subtitle q-date__header-link "+("Years"===M.value?"q-date__header-link--active":"cursor-pointer"),tabindex:p.value,...h("vY",{onClick(){M.value="Years"},onKeyup(e){13===e.keyCode&&(M.value="Years")}})},[Y.value])))]),n("div",{class:"q-date__header-title relative-position flex no-wrap"},[n("div",{class:"relative-position col"},[n(S,{name:"q-transition--fade"},(()=>n("div",{key:"h-sub"+H.value,class:"q-date__header-title-label q-date__header-link "+("Calendar"===M.value?"q-date__header-link--active":"cursor-pointer"),tabindex:p.value,...h("vC",{onClick(){M.value="Calendar"},onKeyup(e){13===e.keyCode&&(M.value="Calendar")}})},[H.value])))]),!0===e.todayBtn?n(Pn,{class:"q-date__header-today self-start",icon:u.iconSet.datetime.today,flat:!0,size:"sm",round:!0,tabindex:p.value,onClick:de}):null])])}function Ae({label:e,type:t,key:a,dir:i,goTo:r,boundaries:o,cls:s}){return[n("div",{class:"row items-center q-date__arrow"},[n(Pn,{round:!0,dense:!0,size:"sm",flat:!0,icon:Q.value[0],tabindex:p.value,disable:!1===o.prev,...h("go-#"+t,{onClick(){r(-1)}})})]),n("div",{class:"relative-position overflow-hidden flex flex-center"+s},[n(S,{name:"q-transition--jump-"+i},(()=>n("div",{key:a},[n(Pn,{flat:!0,dense:!0,noCaps:!0,label:e,tabindex:p.value,...h("view#"+t,{onClick:()=>{M.value=t}})})])))]),n("div",{class:"row items-center q-date__arrow"},[n(Pn,{round:!0,dense:!0,size:"sm",flat:!0,icon:Q.value[1],tabindex:p.value,disable:!1===o.next,...h("go+#"+t,{onClick(){r(1)}})})])]}r((()=>e.modelValue),(e=>{if(s===e)s=0;else{let e=me(b.value,y.value);we(e.year,e.month,e)}})),r(M,(()=>{null!==_.value&&!0===l.$el.contains(document.activeElement)&&_.value.focus()})),r((()=>T.value.year+"|"+T.value.month),(()=>{o("navigation",{year:T.value.year,month:T.value.month})})),r(w,(e=>{Ee(e,y.value,"mask"),b.value=e})),r(x,(e=>{Ee(b.value,e,"locale"),y.value=e}));let Le={Calendar:()=>[n("div",{key:"calendar-view",class:"q-date__view q-date__calendar"},[n("div",{class:"q-date__navigation row items-center no-wrap"},Ae({label:y.value.months[T.value.month-1],type:"Months",key:T.value.month,dir:P.value,goTo:ge,boundaries:te.value.month,cls:" col"}).concat(Ae({label:T.value.year,type:"Years",key:T.value.year,dir:A.value,goTo:_e,boundaries:te.value.year,cls:""}))),n("div",{class:"q-date__calendar-weekdays row items-center no-wrap"},G.value.map((e=>n("div",{class:"q-date__calendar-item"},[n("div",e)])))),n("div",{class:"q-date__calendar-days-container relative-position overflow-hidden"},[n(S,{name:"q-transition--slide-"+P.value},(()=>n("div",{key:re.value,class:"q-date__calendar-days fit"},ue.value.map((t=>n("div",{class:t.classes},[!0===t.in?n(Pn,{class:!0===t.today?"q-date__today":"",dense:!0,flat:t.flat,unelevated:t.unelevated,color:t.color,textColor:t.textColor,label:t.i,tabindex:p.value,...h("day#"+t.i,{onClick:()=>{!function(t){let n={...T.value,day:t};if(!1===e.range)return void function(e,t){let n=ne.value[t];(void 0!==n&&!0===n.includes(e.day)?Me:Te)(e)}(n,re.value);if(null===N.value){let a=ue.value.find((e=>!0!==e.fill&&e.i===t));if(!0!==e.noUnset&&void 0!==a.range)return void Me({target:n,from:a.range.from,to:a.range.to});if(!0===a.selected)return void Me(n);let i=Xr(n);N.value={init:n,initHash:i,final:n,finalHash:i},o("rangeStart",ye(n))}else{let e=N.value.initHash,t=Xr(n),a=e<=t?{from:N.value.init,to:n}:{from:n,to:N.value.init};N.value=null,Te(e===t?n:{target:n,...a}),o("rangeEnd",{from:ye(a.from),to:ye(a.to)})}}(t.i)},onMouseover:()=>{!function(e){if(null!==N.value){let t={...T.value,day:e};Object.assign(N.value,{final:t,finalHash:Xr(t)})}}(t.i)}})},!1!==t.event?()=>n("div",{class:"q-date__event bg-"+t.event}):null):n("div",""+t.i)]))))))])])],Months(){let t=T.value.year===C.value.year,a=e=>null!==J.value&&T.value.year===J.value.year&&J.value.month>e||null!==ee.value&&T.value.year===ee.value.year&&ee.value.month{let r=T.value.month===i+1;return n("div",{class:"q-date__months-item flex flex-center"},[n(Pn,{class:!0===t&&C.value.month===i+1?"q-date__today":null,flat:!0!==r,label:e,unelevated:r,color:!0===r?z.value:null,textColor:!0===r?q.value:null,tabindex:p.value,disable:a(i+1),...h("month#"+i,{onClick:()=>{!function(e){we(T.value.year,e),M.value="Calendar",!0===I.value&&xe("month")}(i+1)}})})])}));return!0===e.yearsInMonthView&&i.unshift(n("div",{class:"row no-wrap full-width"},[Ae({label:T.value.year,type:"Years",key:T.value.year,dir:A.value,goTo:_e,boundaries:te.value.year,cls:" col"})])),n("div",{key:"months-view",class:"q-date__view q-date__months flex flex-center"},i)},Years(){let e=O.value,t=e+Co,a=[],i=e=>null!==J.value&&J.value.year>e||null!==ee.value&&ee.value.year{be(r)}})})]))}return n("div",{class:"q-date__view q-date__years flex flex-center"},[n("div",{class:"col-auto"},[n(Pn,{round:!0,dense:!0,flat:!0,icon:Q.value[0],tabindex:p.value,disable:i(e),...h("y-",{onClick:()=>{O.value-=Co}})})]),n("div",{class:"q-date__years-content col self-stretch row items-center"},a),n("div",{class:"col-auto"},[n(Pn,{round:!0,dense:!0,flat:!0,icon:Q.value[1],tabindex:p.value,disable:i(t),...h("y+",{onClick:()=>{O.value+=Co}})})])])}};return Object.assign(l,{setToday:de,setView:function(e){!0===Mo(e)&&(M.value=e)},offsetCalendar:function(e,t){["month","year"].includes(e)&&("month"===e?ge:_e)(!0===t?-1:1)},setCalendarTo:he,setEditingRange:function(t,n){if(!1===e.range||!t)return void(N.value=null);let a=Object.assign({...T.value},t),i=void 0!==n?Object.assign({...T.value},n):a;N.value={init:a,initHash:Xr(a),final:i,finalHash:Xr(i)},he(a.year,a.month)}}),()=>{let a=[n("div",{class:"q-date__content col relative-position"},[n(S,{name:"q-transition--fade"},Le[M.value])])],i=dt(t.default);return void 0!==i&&a.push(n("div",{class:"q-date__actions"},i)),void 0!==e.name&&!0!==e.disable&&g(a,"push"),n("div",{class:R.value,...ce.value},[Pe(),n("div",{ref:_,class:"q-date__main col column",tabindex:-1},a)])}}});function Oo(e,t,n){let a;function i(){void 0!==a&&(be.remove(a),a=void 0)}return v((()=>{!0===e.value&&i()})),{removeFromHistory:i,addToHistory(){a={condition:()=>!0===n.value,handler:t},be.add(a)}}}var No,Ro,zo,qo,Io,Do,jo=0,$o=!1,Fo=null;function Bo(e){(function(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;let t=K(e),n=e.shiftKey&&!e.deltaX,a=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),i=n||a?e.deltaY:e.deltaX;for(let e=0;e0&&n.scrollTop+n.clientHeight===n.scrollHeight:i<0&&0===n.scrollLeft||i>0&&n.scrollLeft+n.clientWidth===n.scrollWidth}return!0})(e)&&X(e)}function Vo(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function Ho(e){!0!==$o&&($o=!0,requestAnimationFrame((()=>{$o=!1;let{height:t}=e.target,{clientHeight:n,scrollTop:a}=document.scrollingElement;(void 0===zo||t!==window.innerHeight)&&(zo=n-t,document.scrollingElement.scrollTop=a),a>zo&&(document.scrollingElement.scrollTop-=Math.ceil((a-zo)/8))})))}function Uo(e){let t=document.body,n=void 0!==window.visualViewport;if("add"===e){let{overflowY:e,overflowX:a}=window.getComputedStyle(t);No=ca(window),Ro=ua(window),qo=t.style.left,Io=t.style.top,Do=window.location.href,t.style.left=`-${No}px`,t.style.top=`-${Ro}px`,"hidden"!==a&&("scroll"===a||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),"hidden"!==e&&("scroll"===e||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,!0===j.is.ios&&(!0===n?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",Ho,U.passiveCapture),window.visualViewport.addEventListener("scroll",Ho,U.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",Vo,U.passiveCapture))}!0===j.is.desktop&&!0===j.is.mac&&window[`${e}EventListener`]("wheel",Bo,U.notPassive),"remove"===e&&(!0===j.is.ios&&(!0===n?(window.visualViewport.removeEventListener("resize",Ho,U.passiveCapture),window.visualViewport.removeEventListener("scroll",Ho,U.passiveCapture)):window.removeEventListener("scroll",Vo,U.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=qo,t.style.top=Io,window.location.href===Do&&window.scrollTo(No,Ro),zo=void 0)}function Wo(e){let t="add";if(!0===e){if(jo++,null!==Fo)return clearTimeout(Fo),void(Fo=null);if(jo>1)return}else{if(0===jo||--jo>0)return;if(t="remove",!0===j.is.ios&&!0===j.is.nativeMobile)return null!==Fo&&clearTimeout(Fo),void(Fo=setTimeout((()=>{Uo(t),Fo=null}),100))}Uo(t)}function Yo(){let e;return{preventBodyScroll(t){t!==e&&(void 0!==e||!0===t)&&(e=t,Wo(t))}}}var Qo=0,Ko={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},Go={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]},Zo=B({name:"QDialog",inheritAttrs:!1,props:{...qn,...ea,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,backdropFilter:String,position:{type:String,default:"standard",validator:e=>["standard","top","bottom","left","right"].includes(e)}},emits:[...In,"shake","click","escapeKey"],setup(e,{slots:t,emit:o,attrs:s}){let l,u,c=k(),d=a(null),h=a(!1),p=a(!1),f=null,m=null,g=i((()=>!0!==e.persistent&&!0!==e.noRouteDismiss&&!0!==e.seamless)),{preventBodyScroll:_}=Yo(),{registerTimeout:b}=aa(),{registerTick:y,removeTick:w}=na(),{transitionProps:x,transitionStyle:C}=ta(e,(()=>Go[e.position][0]),(()=>Go[e.position][1])),T=i((()=>C.value+(void 0!==e.backdropFilter?`;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}`:""))),{showPortal:M,hidePortal:E,portalIsAccessible:P,renderPortal:A}=Jn(c,d,(function(){return n("div",{role:"dialog","aria-modal":!0===z.value?"true":"false",...s,class:I.value},[n(S,{name:"q-transition--fade",appear:!0},(()=>!0===z.value?n("div",{class:"q-dialog__backdrop fixed-full",style:T.value,"aria-hidden":"true",tabindex:-1,onClick:H}):null)),n(S,x.value,(()=>!0===h.value?n("div",{ref:d,class:R.value,style:C.value,tabindex:-1,...q.value},dt(t.default)):null))])}),"dialog"),{hide:L}=Dn({showing:h,hideOnRouteChange:g,handleShow:function(t){O(),m=!1===e.noRefocus&&null!==document.activeElement?document.activeElement:null,B(e.maximized),M(),p.value=!0,!0!==e.noFocus?(null!==document.activeElement&&document.activeElement.blur(),y(D)):w(),b((()=>{if(!0===c.proxy.$q.platform.is.ios){if(!0!==e.seamless&&document.activeElement){let{top:e,bottom:t}=document.activeElement.getBoundingClientRect(),{innerHeight:n}=window,a=void 0!==window.visualViewport?window.visualViewport.height:n;e>0&&t>a/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-a,t>=n?1/0:Math.ceil(document.scrollingElement.scrollTop+t-a/2))),document.activeElement.scrollIntoView()}u=!0,d.value.click(),u=!1}M(!0),p.value=!1,o("show",t)}),e.transitionDuration)},handleHide:function(t){w(),N(),F(!0),p.value=!0,E(),null!==m&&(((t&&0===t.type.indexOf("key")?m.closest('[tabindex]:not([tabindex^="-"])'):void 0)||m).focus(),m=null),b((()=>{E(!0),p.value=!1,o("hide",t)}),e.transitionDuration)},processOnMount:!0}),{addToHistory:O,removeFromHistory:N}=Oo(h,L,g),R=i((()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${!0===e.maximized?"maximized":"minimized"} q-dialog__inner--${e.position} ${Ko[e.position]}`+(!0===p.value?" q-dialog__inner--animating":"")+(!0===e.fullWidth?" q-dialog__inner--fullwidth":"")+(!0===e.fullHeight?" q-dialog__inner--fullheight":"")+(!0===e.square?" q-dialog__inner--square":""))),z=i((()=>!0===h.value&&!0!==e.seamless)),q=i((()=>!0===e.autoClose?{onClick:V}:{})),I=i((()=>["q-dialog fullscreen no-pointer-events q-dialog--"+(!0===z.value?"modal":"seamless"),s.class]));function D(e){Vn((()=>{let t=d.value;if(null!==t){if(void 0!==e){let n=t.querySelector(e);if(null!==n)return void n.focus({preventScroll:!0})}!0!==t.contains(document.activeElement)&&(t=t.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||t.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||t.querySelector("[autofocus], [data-autofocus]")||t,t.focus({preventScroll:!0}))}}))}function j(e){e&&"function"==typeof e.focus?e.focus({preventScroll:!0}):D(),o("shake");let t=d.value;null!==t&&(t.classList.remove("q-animate--scale"),t.classList.add("q-animate--scale"),null!==f&&clearTimeout(f),f=setTimeout((()=>{f=null,null!==d.value&&(t.classList.remove("q-animate--scale"),D())}),170))}function $(){!0!==e.seamless&&(!0===e.persistent||!0===e.noEscDismiss?!0!==e.maximized&&!0!==e.noShake&&j():(o("escapeKey"),L()))}function F(t){null!==f&&(clearTimeout(f),f=null),(!0===t||!0===h.value)&&(B(!1),!0!==e.seamless&&(_(!1),La(U),Ma($))),!0!==t&&(m=null)}function B(e){!0===e?!0!==l&&(Qo<1&&document.body.classList.add("q-body--dialog"),Qo++,l=!0):!0===l&&(Qo<2&&document.body.classList.remove("q-body--dialog"),Qo--,l=!1)}function V(e){!0!==u&&(L(e),o("click",e))}function H(t){!0!==e.persistent&&!0!==e.noBackdropDismiss?L(t):!0!==e.noShake&&j()}function U(t){!0!==e.allowFocusOutside&&!0===P.value&&!0!==cn(d.value,t.target)&&D('[tabindex]:not([tabindex="-1"])')}return r((()=>e.maximized),(e=>{!0===h.value&&B(e)})),r(z,(e=>{_(e),!0===e?(Aa(U),Ta($)):(La(U),Ma($))})),Object.assign(c.proxy,{focus:D,shake:j,__updateRefocusTarget(e){m=e||null}}),v(F),A}}),Xo=B({name:"QDrawer",inheritAttrs:!1,props:{...qn,...Rt,side:{type:String,default:"left",validator:e=>["left","right"].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>["default","desktop","mobile"].includes(e),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...In,"onLayout","miniState"],setup(e,{slots:t,emit:o,attrs:s}){let l=k(),{proxy:{$q:u}}=l,c=zt(e,u),{preventBodyScroll:h}=Yo(),{registerTimeout:p,removeTimeout:f}=aa(),g=y(Pe,ze);if(g===ze)return console.error("QDrawer needs to be child of QLayout"),ze;let _,b,w=null,x=a("mobile"===e.behavior||"desktop"!==e.behavior&&g.totalWidth.value<=e.breakpoint),S=i((()=>!0===e.mini&&!0!==x.value)),C=i((()=>!0===S.value?e.miniWidth:e.width)),T=a(!0===e.showIfAbove&&!1===x.value||!0===e.modelValue),M=i((()=>!0!==e.persistent&&(!0===x.value||!0===W.value)));function E(e,t){if(N(),!1!==e&&g.animate(),re(0),!0===x.value){let e=g.instances[B.value];void 0!==e&&!0===e.belowBreakpoint&&e.hide(!1),oe(1),!0!==g.isContainer.value&&h(!0)}else oe(0),!1!==e&&se(!1);p((()=>{!1!==e&&se(!0),!0!==t&&o("show",e)}),150)}function A(e,t){R(),!1!==e&&g.animate(),oe(0),re(I.value*C.value),ce(),!0!==t?p((()=>{o("hide",e)}),150):f()}let{show:L,hide:O}=Dn({showing:T,hideOnRouteChange:M,handleShow:E,handleHide:A}),{addToHistory:N,removeFromHistory:R}=Oo(T,O,M),z={belowBreakpoint:x,hide:O},q=i((()=>"right"===e.side)),I=i((()=>(!0===u.lang.rtl?-1:1)*(!0===q.value?1:-1))),D=a(0),j=a(!1),$=a(!1),F=a(C.value*I.value),B=i((()=>!0===q.value?"left":"right")),V=i((()=>!0===T.value&&!1===x.value&&!1===e.overlay?!0===e.miniToOverlay?e.miniWidth:C.value:0)),H=i((()=>!0===e.overlay||!0===e.miniToOverlay||-1!==g.view.value.indexOf(q.value?"R":"L")||!0===u.platform.is.ios&&!0===g.isContainer.value)),U=i((()=>!1===e.overlay&&!0===T.value&&!1===x.value)),W=i((()=>!0===e.overlay&&!0===T.value&&!1===x.value)),Y=i((()=>"fullscreen q-drawer__backdrop"+(!1===T.value&&!1===j.value?" hidden":""))),Q=i((()=>({backgroundColor:`rgba(0,0,0,${.4*D.value})`}))),K=i((()=>!0===q.value?"r"===g.rows.value.top[2]:"l"===g.rows.value.top[0])),G=i((()=>!0===q.value?"r"===g.rows.value.bottom[2]:"l"===g.rows.value.bottom[0])),Z=i((()=>{let e={};return!0===g.header.space&&!1===K.value&&(!0===H.value?e.top=`${g.header.offset}px`:!0===g.header.space&&(e.top=`${g.header.size}px`)),!0===g.footer.space&&!1===G.value&&(!0===H.value?e.bottom=`${g.footer.offset}px`:!0===g.footer.space&&(e.bottom=`${g.footer.size}px`)),e})),X=i((()=>{let e={width:`${C.value}px`,transform:`translateX(${F.value}px)`};return!0===x.value?e:Object.assign(e,Z.value)})),J=i((()=>"q-drawer__content fit "+(!0!==g.isContainer.value?"scroll":"overflow-auto"))),ee=i((()=>`q-drawer q-drawer--${e.side}`+(!0===$.value?" q-drawer--mini-animate":"")+(!0===e.bordered?" q-drawer--bordered":"")+(!0===c.value?" q-drawer--dark q-dark":"")+(!0===j.value?" no-transition":!0===T.value?"":" q-layout--prevent-focus")+(!0===x.value?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":" q-drawer--"+(!0===S.value?"mini":"standard")+(!0===H.value||!0!==U.value?" fixed":"")+(!0===e.overlay||!0===e.miniToOverlay?" q-drawer--on-top":"")+(!0===K.value?" q-drawer--top-padding":"")))),te=i((()=>{let t=!0===u.lang.rtl?e.side:B.value;return[[Ki,le,void 0,{[t]:!0,mouse:!0}]]})),ne=i((()=>{let t=!0===u.lang.rtl?B.value:e.side;return[[Ki,ue,void 0,{[t]:!0,mouse:!0}]]})),ae=i((()=>{let t=!0===u.lang.rtl?B.value:e.side;return[[Ki,ue,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]}));function ie(){var t,n;t=x,n="mobile"===e.behavior||"desktop"!==e.behavior&&g.totalWidth.value<=e.breakpoint,t.value!==n&&(t.value=n)}function re(e){void 0===e?d((()=>{e=!0===T.value?0:C.value,re(I.value*e)})):(!0===g.isContainer.value&&!0===q.value&&(!0===x.value||Math.abs(e)===C.value)&&(e+=I.value*g.scrollbarWidth.value),F.value=e)}function oe(e){D.value=e}function se(e){let t=!0===e?"remove":!0!==g.isContainer.value?"add":"";""!==t&&document.body.classList[t]("q-body--drawer-toggle")}function le(e){if(!1!==T.value)return;let t=C.value,n=Xe(e.distance.x,0,t);if(!0===e.isFinal)return n>=Math.min(75,t)==!0?L():(g.animate(),oe(0),re(I.value*t)),void(j.value=!1);re((!0===u.lang.rtl?!0!==q.value:q.value)?Math.max(t-n,0):Math.min(0,n-t)),oe(Xe(n/t,0,1)),!0===e.isFirst&&(j.value=!0)}function ue(t){if(!0!==T.value)return;let n=C.value,a=t.direction===e.side,i=(!0===u.lang.rtl?!0!==a:a)?Xe(t.distance.x,0,n):0;if(!0===t.isFinal)return Math.abs(i){!0===t?(_=T.value,!0===T.value&&O(!1)):!1===e.overlay&&"mobile"!==e.behavior&&!1!==_&&(!0===T.value?(re(0),oe(0),ce()):L(!1))})),r((()=>e.side),((e,t)=>{g.instances[t]===z&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=z,g[e].size=C.value,g[e].space=U.value,g[e].offset=V.value})),r(g.totalWidth,(()=>{(!0===g.isContainer.value||!0!==document.qScrollPrevented)&&ie()})),r((()=>e.behavior+e.breakpoint),ie),r(g.isContainer,(e=>{!0===T.value&&h(!0!==e),!0===e&&ie()})),r(g.scrollbarWidth,(()=>{re(!0===T.value?0:void 0)})),r(V,(e=>{de("offset",e)})),r(U,(e=>{o("onLayout",e),de("space",e)})),r(q,(()=>{re()})),r(C,(t=>{re(),he(e.miniToOverlay,t)})),r((()=>e.miniToOverlay),(e=>{he(e,C.value)})),r((()=>u.lang.rtl),(()=>{re()})),r((()=>e.mini),(()=>{e.noMiniAnimation||!0===e.modelValue&&(null!==w&&clearTimeout(w),l.proxy&&l.proxy.$el&&l.proxy.$el.classList.add("q-drawer--mini-animate"),$.value=!0,w=setTimeout((()=>{w=null,$.value=!1,l&&l.proxy&&l.proxy.$el&&l.proxy.$el.classList.remove("q-drawer--mini-animate")}),150),g.animate())})),r(S,(e=>{o("miniState",e)})),g.instances[e.side]=z,he(e.miniToOverlay,C.value),de("space",U.value),de("offset",V.value),!0===e.showIfAbove&&!0!==e.modelValue&&!0===T.value&&void 0!==e["onUpdate:modelValue"]&&o("update:modelValue",!0),m((()=>{o("onLayout",U.value),o("miniState",S.value),_=!0===e.showIfAbove;let t=()=>{(!0===T.value?E:A)(!1,!0)};0===g.totalWidth.value?b=r(g.totalWidth,(()=>{b(),b=void 0,!1===T.value&&!0===e.showIfAbove&&!1===x.value?L(!1):t()})):d(t)})),v((()=>{void 0!==b&&b(),null!==w&&(clearTimeout(w),w=null),!0===T.value&&ce(),g.instances[e.side]===z&&(g.instances[e.side]=void 0,de("size",0),de("offset",0),de("space",!1))})),()=>{let a=[];!0===x.value&&(!1===e.noSwipeOpen&&a.push(P(n("div",{key:"open",class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":"true"}),te.value)),a.push(mt("div",{ref:"backdrop",class:Y.value,style:Q.value,"aria-hidden":"true",onClick:O},void 0,"backdrop",!0!==e.noSwipeBackdrop&&!0===T.value,(()=>ae.value))));let i=!0===S.value&&void 0!==t.mini,r=[n("div",{...s,key:""+i,class:[J.value,s.class]},!0===i?t.mini():dt(t.default))];return!0===e.elevated&&!0===T.value&&r.push(n("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),a.push(mt("aside",{ref:"content",class:ee.value,style:X.value},r,"contentclose",!0!==e.noSwipeClose&&!0===x.value,(()=>ne.value))),n("div",{class:"q-drawer-container"},a)}}});function Jo(e,t){if(t&&e===t)return null;let n=e.nodeName.toLowerCase();if(!0===["div","li","ul","ol","blockquote"].includes(n))return e;let a=(window.getComputedStyle?window.getComputedStyle(e):e.currentStyle).display;return"block"===a||"table"===a?e:Jo(e.parentNode)}function es(e,t,n){return!(!e||e===document.body)&&(!0===n&&e===t||(t===document?document.body:t).contains(e.parentNode))}function ts(e,t,n){if(n||((n=document.createRange()).selectNode(e),n.setStart(e,0)),0===t.count)n.setEnd(e,t.count);else if(t.count>0)if(e.nodeType===Node.TEXT_NODE)e.textContent.length0&&this.savedPos\n \n \n Print - ${document.title}\n \n \n
${this.el.innerHTML}
\n \n \n `),e.print(),void e.close()}if("link"===e){let e=this.getParentAttribute("href");if(null===e){let e=this.selectWord(this.selection),t=e?e.toString():"";if(!(t.length||this.range&&this.range.cloneContents().querySelector("img")))return;this.eVm.editLinkUrl.value=ns.test(t)?t:"https://",document.execCommand("createLink",!1,this.eVm.editLinkUrl.value),this.save(e.getRangeAt(0))}else this.eVm.editLinkUrl.value=e,this.range.selectNodeContents(this.parent),this.save();return}if("fullscreen"===e)return this.eVm.toggleFullscreen(),void n();if("viewsource"===e)return this.eVm.isViewingSource.value=!1===this.eVm.isViewingSource.value,this.eVm.setContent(this.eVm.props.modelValue),void n()}document.execCommand(e,!1,t),n()}selectWord(e){if(null===e||!0!==e.isCollapsed||void 0===e.modify)return e;let t=document.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);let n=t.collapsed?["backward","forward"]:["forward","backward"];t.detach();let a=e.focusNode,i=e.focusOffset;return e.collapse(e.anchorNode,e.anchorOffset),e.modify("move",n[0],"character"),e.modify("move",n[1],"word"),e.extend(a,i),e.modify("extend",n[1],"character"),e.modify("extend",n[0],"word"),e}},is=B({name:"QTooltip",inheritAttrs:!1,props:{...On,...qn,...ea,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...ea.transitionShow,default:"jump-down"},transitionHide:{...ea.transitionHide,default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:$a},self:{type:String,default:"top middle",validator:$a},offset:{type:Array,default:()=>[14,14],validator:Fa},scrollTarget:ra,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...In],setup(e,{slots:t,emit:o,attrs:s}){let l,u,c=k(),{proxy:{$q:d}}=c,h=a(null),p=a(!1),f=i((()=>Va(e.anchor,d.lang.rtl))),m=i((()=>Va(e.self,d.lang.rtl))),g=i((()=>!0!==e.persistent)),{registerTick:_,removeTick:b}=na(),{registerTimeout:y}=aa(),{transitionProps:w,transitionStyle:x}=ta(e),{localScrollTarget:C,changeScrollEvent:T,unconfigureScrollTarget:M}=zn(e,D),{anchorEl:E,canShow:P,anchorEvents:A}=Rn({showing:p,configureAnchorEl:function(){if(!0===e.noParentEvent||null===E.value)return;let t=!0===d.platform.is.mobile?[[E.value,"touchstart","delayShow","passive"]]:[[E.value,"mouseenter","delayShow","passive"],[E.value,"mouseleave","delayHide","passive"]];ee(A,"anchor",t)}}),{show:L,hide:O}=Dn({showing:p,canShow:P,handleShow:function(t){N(),_((()=>{u=new MutationObserver((()=>I())),u.observe(h.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),I(),D()})),void 0===l&&(l=r((()=>d.screen.width+"|"+d.screen.height+"|"+e.self+"|"+e.anchor+"|"+d.lang.rtl),I)),y((()=>{N(!0),o("show",t)}),e.transitionDuration)},handleHide:function(t){b(),R(),q(),y((()=>{R(!0),o("hide",t)}),e.transitionDuration)},hideOnRouteChange:g,processOnMount:!0});Object.assign(A,{delayShow:function(t){if(!0===d.platform.is.mobile){Ln(),document.body.classList.add("non-selectable");let e=E.value,t=["touchmove","touchcancel","touchend","click"].map((t=>[e,t,"delayHide","passiveCapture"]));ee(A,"tooltipTemp",t)}y((()=>{L(t)}),e.delay)},delayHide:function(t){!0===d.platform.is.mobile&&(te(A,"tooltipTemp"),Ln(),setTimeout((()=>{document.body.classList.remove("non-selectable")}),10)),y((()=>{O(t)}),e.hideDelay)}});let{showPortal:N,hidePortal:R,renderPortal:z}=Jn(c,h,(function(){return n(S,w.value,j)}),"tooltip");if(!0===d.platform.is.mobile){let t={anchorEl:E,innerRef:h,onClickOutside:e=>(O(e),e.target.classList.contains("q-dialog__backdrop")&&X(e),!0)},n=i((()=>null===e.modelValue&&!0!==e.persistent&&!0===p.value));r(n,(e=>{(!0===e?Da:ja)(t)})),v((()=>{ja(t)}))}function q(){void 0!==u&&(u.disconnect(),u=void 0),void 0!==l&&(l(),l=void 0),M(),te(A,"tooltipTemp")}function I(){Ua({targetEl:h.value,offset:e.offset,anchorEl:E.value,anchorOrigin:f.value,selfOrigin:m.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function D(){if(null!==E.value||void 0!==e.scrollTarget){C.value=sa(E.value,e.scrollTarget);let t=!0===e.noParentEvent?I:O;T(C.value,t)}}function j(){return!0===p.value?n("div",{...s,ref:h,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",s.class],style:[s.style,x.value],role:"tooltip"},dt(t.default)):null}return v(q),Object.assign(c.proxy,{updatePosition:I}),z}}),rs=B({name:"QItem",props:{...Rt,...en,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=k(),s=zt(e,o),{hasLink:l,linkAttrs:u,linkClass:c,linkTag:d,navigateOnClick:h}=tn(),p=a(null),f=a(null),m=i((()=>!0===e.clickable||!0===l.value||"label"===e.tag)),v=i((()=>!0!==e.disable&&!0===m.value)),g=i((()=>"q-item q-item-type row no-wrap"+(!0===e.dense?" q-item--dense":"")+(!0===s.value?" q-item--dark":"")+(!0===l.value&&null===e.active?c.value:!0===e.active?" q-item--active"+(void 0!==e.activeClass?` ${e.activeClass}`:""):"")+(!0===e.disable?" disabled":"")+(!0===v.value?" q-item--clickable q-link cursor-pointer "+(!0===e.manualFocus?"q-manual-focusable":"q-focusable q-hoverable")+(!0===e.focused?" q-manual-focusable--focused":""):""))),_=i((()=>void 0===e.insetLevel?null:{["padding"+(!0===o.lang.rtl?"Right":"Left")]:16+56*e.insetLevel+"px"}));function b(e){!0===v.value&&(null!==f.value&&(!0!==e.qKeyEvent&&document.activeElement===p.value?f.value.focus():document.activeElement===f.value&&p.value.focus()),h(e))}function y(e){if(!0===v.value&&!0===pe(e,[13,32])){X(e),e.qKeyEvent=!0;let t=new MouseEvent("click",e);t.qKeyEvent=!0,p.value.dispatchEvent(t)}r("keyup",e)}return()=>{let a={ref:p,class:g.value,style:_.value,role:"listitem",onClick:b,onKeyup:y};return!0===v.value?(a.tabindex=e.tabindex||"0",Object.assign(a,u.value)):!0===m.value&&(a["aria-disabled"]="true"),n(d.value,a,function(){let e=ht(t.default,[]);return!0===v.value&&e.unshift(n("div",{class:"q-focus-helper",tabindex:-1,ref:f})),e}())}}}),os=B({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){let a=i((()=>"q-item__section column q-item__section--"+(!0===e.avatar||!0===e.side||!0===e.thumbnail?"side":"main")+(!0===e.top?" q-item__section--top justify-start":" justify-center")+(!0===e.avatar?" q-item__section--avatar":"")+(!0===e.thumbnail?" q-item__section--thumbnail":"")+(!0===e.noWrap?" q-item__section--nowrap":"")));return()=>n("div",{class:a.value},dt(t.default))}});function ss(e,t,n){t.handler?t.handler(e,n,n.caret):n.runCmd(t.cmd,t.param)}function ls(e){return n("div",{class:"q-editor__toolbar-group"},e)}function us(e,t,a,i=!1){let r=i||"toggle"===t.type&&(t.toggled?t.toggled(e):t.cmd&&e.caret.is(t.cmd,t.param)),o=[];if(t.tip&&e.$q.platform.is.desktop){let e=t.key?n("div",[n("small",`(CTRL + ${String.fromCharCode(t.key)})`)]):null;o.push(n(is,{delay:1e3},(()=>[n("div",{innerHTML:t.tip}),e])))}return n(Pn,{...e.buttonProps.value,icon:null!==t.icon?t.icon:void 0,color:r?t.toggleColor||e.props.toolbarToggleColor:t.color||e.props.toolbarColor,textColor:r&&!e.props.toolbarPush?null:t.textColor||e.props.toolbarTextColor,label:t.label,disable:!!t.disable&&("function"!=typeof t.disable||t.disable(e)),size:"sm",onClick(n){a&&a(),ss(n,t,e)}},(()=>o))}function cs(e){if(e.caret)return e.buttons.value.filter((t=>!e.isViewingSource.value||t.find((e=>"viewsource"===e.cmd)))).map((t=>ls(t.map((t=>(!e.isViewingSource.value||"viewsource"===t.cmd)&&("slot"===t.type?dt(e.slots[t.slot]):"dropdown"===t.type?function(e,t){let a,i,r="only-icons"===t.list,o=t.label,s=null!==t.icon?t.icon:void 0;function l(){c.component.proxy.hide()}if(r)i=t.options.map((t=>{let n=void 0===t.type&&e.caret.is(t.cmd,t.param);return n&&(o=t.tip,s=null!==t.icon?t.icon:void 0),us(e,t,l,n)})),a=e.toolbarBackgroundClass.value,i=[ls(i)];else{let r=void 0!==e.props.toolbarToggleColor?`text-${e.props.toolbarToggleColor}`:null,u=void 0!==e.props.toolbarTextColor?`text-${e.props.toolbarTextColor}`:null,c="no-icons"===t.list;i=t.options.map((t=>{let a=!!t.disable&&t.disable(e),i=void 0===t.type&&e.caret.is(t.cmd,t.param);i&&(o=t.tip,s=null!==t.icon?t.icon:void 0);let d=t.htmlTip;return n(rs,{active:i,activeClass:r,clickable:!0,disable:a,dense:!0,onClick(n){l(),null!==e.contentRef.value&&e.contentRef.value.focus(),e.caret.restore(),ss(n,t,e)}},(()=>[!0===c?null:n(os,{class:i?r:u,side:!0},(()=>n(At,{name:null!==t.icon?t.icon:void 0}))),n(os,d?()=>n("div",{class:"text-no-wrap",innerHTML:t.htmlTip}):t.tip?()=>n("div",{class:"text-no-wrap"},t.tip):void 0)]))})),a=[e.toolbarBackgroundClass.value,u]}let u=t.highlight&&o!==t.label,c=n(ai,{...e.buttonProps.value,noCaps:!0,noWrap:!0,color:u?e.props.toolbarToggleColor:e.props.toolbarColor,textColor:u&&!e.props.toolbarPush?null:e.props.toolbarTextColor,label:t.fixedLabel?t.label:o,icon:t.fixedIcon?null!==t.icon?t.icon:void 0:s,contentClass:a,onShow:t=>e.emit("dropdownShow",t),onHide:t=>e.emit("dropdownHide",t),onBeforeShow:t=>e.emit("dropdownBeforeShow",t),onBeforeHide:t=>e.emit("dropdownBeforeHide",t)},(()=>i));return c}(e,t):us(e,t)))))))}var ds=/^on[A-Z]/;function hs(){let{attrs:e,vnode:t}=k(),n={listeners:a({}),attributes:a({})};function i(){let a={},i={};for(let t in e)"class"!==t&&"style"!==t&&!1===ds.test(t)&&(a[t]=e[t]);for(let e in t.props)!0===ds.test(e)&&(i[e]=t.props[e]);n.attributes.value=a,n.listeners.value=i}return _(i),i(),n}var ps=Object.prototype.toString,fs=Object.prototype.hasOwnProperty,ms=new Set(["Boolean","Number","String","Function","Array","Date","RegExp"].map((e=>"[object "+e+"]")));function vs(e){if(e!==Object(e)||!0===ms.has(ps.call(e))||e.constructor&&!1===fs.call(e,"constructor")&&!1===fs.call(e.constructor.prototype,"isPrototypeOf"))return!1;let t;for(t in e);return void 0===t||fs.call(e,t)}function gs(){let e,t,n,a,i,r,o=arguments[0]||{},s=1,l=!1,u=arguments.length;for("boolean"==typeof o&&(l=o,o=arguments[1]||{},s=2),Object(o)!==o&&"function"!=typeof o&&(o={}),u===s&&(o=this,s--);s0===e.length||e.every((e=>e.length)),default:()=>[["left","center","right","justify"],["bold","italic","underline","strike"],["undo","redo"]]},toolbarColor:String,toolbarBg:String,toolbarTextColor:String,toolbarToggleColor:{type:String,default:"primary"},toolbarOutline:Boolean,toolbarPush:Boolean,toolbarRounded:Boolean,paragraphTag:{type:String,validator:e=>["div","p"].includes(e),default:"div"},contentStyle:Object,contentClass:[Object,Array,String],square:Boolean,flat:Boolean,dense:Boolean},emits:[...Mi,"update:modelValue","keydown","click","focus","blur","dropdownShow","dropdownHide","dropdownBeforeShow","dropdownBeforeHide","linkShow","linkHide"],setup(e,{slots:t,emit:o}){let s,l,{proxy:u}=k(),{$q:c}=u,h=zt(e,c),{inFullscreen:p,toggleFullscreen:f}=Ei(),g=hs(),_=a(null),b=a(null),y=a(null),w=a(!1),x=i((()=>!e.readonly&&!e.disable)),S=e.modelValue;document.execCommand("defaultParagraphSeparator",!1,e.paragraphTag),s=window.getComputedStyle(document.body).fontFamily;let C=i((()=>e.toolbarBg?` bg-${e.toolbarBg}`:"")),T=i((()=>({type:"a",flat:!0!==e.toolbarOutline&&!0!==e.toolbarPush,noWrap:!0,outline:e.toolbarOutline,push:e.toolbarPush,rounded:e.toolbarRounded,dense:!0,color:e.toolbarColor,disable:!x.value,size:"sm"}))),M=i((()=>{let t=c.lang.editor,n=c.iconSet.editor;return{bold:{cmd:"bold",icon:n.bold,tip:t.bold,key:66},italic:{cmd:"italic",icon:n.italic,tip:t.italic,key:73},strike:{cmd:"strikeThrough",icon:n.strikethrough,tip:t.strikethrough,key:83},underline:{cmd:"underline",icon:n.underline,tip:t.underline,key:85},unordered:{cmd:"insertUnorderedList",icon:n.unorderedList,tip:t.unorderedList},ordered:{cmd:"insertOrderedList",icon:n.orderedList,tip:t.orderedList},subscript:{cmd:"subscript",icon:n.subscript,tip:t.subscript,htmlTip:"x2"},superscript:{cmd:"superscript",icon:n.superscript,tip:t.superscript,htmlTip:"x2"},link:{cmd:"link",disable:e=>e.caret&&!e.caret.can("link"),icon:n.hyperlink,tip:t.hyperlink,key:76},fullscreen:{cmd:"fullscreen",icon:n.toggleFullscreen,tip:t.toggleFullscreen,key:70},viewsource:{cmd:"viewsource",icon:n.viewSource,tip:t.viewSource},quote:{cmd:"formatBlock",param:"BLOCKQUOTE",icon:n.quote,tip:t.quote,key:81},left:{cmd:"justifyLeft",icon:n.left,tip:t.left},center:{cmd:"justifyCenter",icon:n.center,tip:t.center},right:{cmd:"justifyRight",icon:n.right,tip:t.right},justify:{cmd:"justifyFull",icon:n.justify,tip:t.justify},print:{type:"no-state",cmd:"print",icon:n.print,tip:t.print,key:80},outdent:{type:"no-state",disable:e=>e.caret&&!e.caret.can("outdent"),cmd:"outdent",icon:n.outdent,tip:t.outdent},indent:{type:"no-state",disable:e=>e.caret&&!e.caret.can("indent"),cmd:"indent",icon:n.indent,tip:t.indent},removeFormat:{type:"no-state",cmd:"removeFormat",icon:n.removeFormat,tip:t.removeFormat},hr:{type:"no-state",cmd:"insertHorizontalRule",icon:n.hr,tip:t.hr},undo:{type:"no-state",cmd:"undo",icon:n.undo,tip:t.undo,key:90},redo:{type:"no-state",cmd:"redo",icon:n.redo,tip:t.redo,key:89},h1:{cmd:"formatBlock",param:"H1",icon:n.heading1||n.heading,tip:t.heading1,htmlTip:`

${t.heading1}

`},h2:{cmd:"formatBlock",param:"H2",icon:n.heading2||n.heading,tip:t.heading2,htmlTip:`

${t.heading2}

`},h3:{cmd:"formatBlock",param:"H3",icon:n.heading3||n.heading,tip:t.heading3,htmlTip:`

${t.heading3}

`},h4:{cmd:"formatBlock",param:"H4",icon:n.heading4||n.heading,tip:t.heading4,htmlTip:`

${t.heading4}

`},h5:{cmd:"formatBlock",param:"H5",icon:n.heading5||n.heading,tip:t.heading5,htmlTip:`
${t.heading5}
`},h6:{cmd:"formatBlock",param:"H6",icon:n.heading6||n.heading,tip:t.heading6,htmlTip:`
${t.heading6}
`},p:{cmd:"formatBlock",param:e.paragraphTag,icon:n.heading,tip:t.paragraph},code:{cmd:"formatBlock",param:"PRE",icon:n.code,htmlTip:`${t.code}`},"size-1":{cmd:"fontSize",param:"1",icon:n.size1||n.size,tip:t.size1,htmlTip:`${t.size1}`},"size-2":{cmd:"fontSize",param:"2",icon:n.size2||n.size,tip:t.size2,htmlTip:`${t.size2}`},"size-3":{cmd:"fontSize",param:"3",icon:n.size3||n.size,tip:t.size3,htmlTip:`${t.size3}`},"size-4":{cmd:"fontSize",param:"4",icon:n.size4||n.size,tip:t.size4,htmlTip:`${t.size4}`},"size-5":{cmd:"fontSize",param:"5",icon:n.size5||n.size,tip:t.size5,htmlTip:`${t.size5}`},"size-6":{cmd:"fontSize",param:"6",icon:n.size6||n.size,tip:t.size6,htmlTip:`${t.size6}`},"size-7":{cmd:"fontSize",param:"7",icon:n.size7||n.size,tip:t.size7,htmlTip:`${t.size7}`}}})),E=i((()=>{let t=e.definitions||{},n=e.definitions||e.fonts?gs(!0,{},M.value,t,function(e,t,n,a={}){let i=Object.keys(a);if(0===i.length)return{};let r={default_font:{cmd:"fontName",param:e,icon:n,tip:t}};return i.forEach((e=>{let t=a[e];r[e]={cmd:"fontName",param:t,icon:n,tip:t,htmlTip:`${t}`}})),r}(s,c.lang.editor.defaultFont,c.iconSet.editor.font,e.fonts)):M.value;return e.toolbar.map((e=>e.map((e=>{if(e.options)return{type:"dropdown",icon:e.icon,label:e.label,size:"sm",dense:!0,fixedLabel:e.fixedLabel,fixedIcon:e.fixedIcon,highlight:e.highlight,list:e.list,options:e.options.map((e=>n[e]))};let a=n[e];return a?"no-state"===a.type||t[e]&&(void 0===a.cmd||M.value[a.cmd]&&"no-state"===M.value[a.cmd].type)?a:Object.assign({type:"toggle"},a):{type:"slot",slot:e}}))))})),P={$q:c,props:e,slots:t,emit:o,inFullscreen:p,toggleFullscreen:f,runCmd:W,isViewingSource:w,editLinkUrl:y,toolbarBackgroundClass:C,buttonProps:T,contentRef:b,buttons:E,setContent:U};r((()=>e.modelValue),(e=>{S!==e&&(S=e,U(e,!0))})),r(y,(e=>{o("link"+(e?"Show":"Hide"))}));let A=i((()=>e.toolbar&&0!==e.toolbar.length)),L=i((()=>{let e={},t=t=>{t.key&&(e[t.key]={cmd:t.cmd,param:t.param})};return E.value.forEach((e=>{e.forEach((e=>{e.options?e.options.forEach(t):t(e)}))})),e})),O=i((()=>p.value?e.contentStyle:[{minHeight:e.minHeight,height:e.height,maxHeight:e.maxHeight},e.contentStyle])),N=i((()=>"q-editor q-editor--"+(!0===w.value?"source":"default")+(!0===e.disable?" disabled":"")+(!0===p.value?" fullscreen column":"")+(!0===e.square?" q-editor--square no-border-radius":"")+(!0===e.flat?" q-editor--flat":"")+(!0===e.dense?" q-editor--dense":"")+(!0===h.value?" q-editor--dark q-dark":""))),R=i((()=>[e.contentClass,"q-editor__content",{col:p.value,"overflow-auto":p.value||e.maxHeight}])),z=i((()=>!0===e.disable?{"aria-disabled":"true"}:{}));function q(){if(null!==b.value){let t="inner"+(!0===w.value?"Text":"HTML"),n=b.value[t];n!==e.modelValue&&(S=n,o("update:modelValue",n))}}function I(e){if(o("keydown",e),!0!==e.ctrlKey||!0===he(e))return void Y();let t=e.keyCode,n=L.value[t];if(void 0!==n){let{cmd:t,param:a}=n;X(e),W(t,a,!1)}}function D(e){Y(),o("click",e)}function j(e){if(null!==b.value){let{scrollTop:e,scrollHeight:t}=b.value;l=t-e}P.caret.save(),o("blur",e)}function $(e){d((()=>{null!==b.value&&void 0!==l&&(b.value.scrollTop=b.value.scrollHeight-l)})),o("focus",e)}function F(e){let t=_.value;if(null!==t&&!0===t.contains(e.target)&&(null===e.relatedTarget||!0!==t.contains(e.relatedTarget))){let e="inner"+(!0===w.value?"Text":"HTML");P.caret.restorePosition(b.value[e].length),Y()}}function B(e){let t=_.value;null!==t&&!0===t.contains(e.target)&&(null===e.relatedTarget||!0!==t.contains(e.relatedTarget))&&(P.caret.savePosition(),Y())}function V(){l=void 0}function H(e){P.caret.save()}function U(e,t){if(null!==b.value){!0===t&&P.caret.savePosition();let n="inner"+(!0===w.value?"Text":"HTML");b.value[n]=e,!0===t&&(P.caret.restorePosition(b.value[n].length),Y())}}function W(e,t,n=!0){Q(),P.caret.restore(),P.caret.apply(e,t,(()=>{Q(),P.caret.save(),n&&Y()}))}function Y(){setTimeout((()=>{y.value=null,u.$forceUpdate()}),1)}function Q(){Vn((()=>{null!==b.value&&b.value.focus({preventScroll:!0})}))}return m((()=>{P.caret=u.caret=new as(b.value,P),U(e.modelValue),Y(),document.addEventListener("selectionchange",H)})),v((()=>{document.removeEventListener("selectionchange",H)})),Object.assign(u,{runCmd:W,refreshToolbar:Y,focus:Q,getContentEl:function(){return b.value}}),()=>{let t;if(A.value){let e=[n("div",{key:"qedt_top",class:"q-editor__toolbar row no-wrap scroll-x"+C.value},cs(P))];null!==y.value&&e.push(n("div",{key:"qedt_btm",class:"q-editor__toolbar row no-wrap items-center scroll-x"+C.value},function(e){if(e.caret){let t=e.props.toolbarColor||e.props.toolbarTextColor,a=e.editLinkUrl.value,i=()=>{e.caret.restore(),a!==e.editLinkUrl.value&&document.execCommand("createLink",!1,""===a?" ":a),e.editLinkUrl.value=null};return[n("div",{class:`q-mx-xs text-${t}`},`${e.$q.lang.editor.url}: `),n("input",{key:"qedt_btm_input",class:"col q-editor__link-input",value:a,onInput:e=>{G(e),a=e.target.value},onKeydown:t=>{if(!0!==he(t))switch(t.keyCode){case 13:return Z(t),i();case 27:Z(t),e.caret.restore(),(!e.editLinkUrl.value||"https://"===e.editLinkUrl.value)&&document.execCommand("unlink"),e.editLinkUrl.value=null}}}),ls([n(Pn,{key:"qedt_btm_rem",tabindex:-1,...e.buttonProps.value,label:e.$q.lang.label.remove,noCaps:!0,onClick:()=>{e.caret.restore(),document.execCommand("unlink"),e.editLinkUrl.value=null}}),n(Pn,{key:"qedt_btm_upd",...e.buttonProps.value,label:e.$q.lang.label.update,noCaps:!0,onClick:i})])]}}(P))),t=n("div",{key:"toolbar_ctainer",class:"q-editor__toolbars-container"},e)}return n("div",{ref:_,class:N.value,style:{height:!0===p.value?"100%":null},...z.value,onFocusin:F,onFocusout:B},[t,n("div",{ref:b,style:O.value,class:R.value,contenteditable:x.value,placeholder:e.placeholder,...g.listeners.value,onInput:q,onKeydown:I,onClick:D,onBlur:j,onFocus:$,onMousedown:V,onTouchstartPassive:V})])}}}),bs=B({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){let a=i((()=>parseInt(e.lines,10))),r=i((()=>"q-item__label"+(!0===e.overline?" q-item__label--overline text-overline":"")+(!0===e.caption?" q-item__label--caption text-caption":"")+(!0===e.header?" q-item__label--header":"")+(1===a.value?" ellipsis":""))),o=i((()=>void 0!==e.lines&&a.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":a.value}:null));return()=>n("div",{style:o.value,class:r.value},dt(t.default))}}),ys=B({name:"QSlideTransition",props:{appear:Boolean,duration:{type:Number,default:300}},emits:["show","hide"],setup(e,{slots:t,emit:a}){let i,r,o,s,l=!1,u=null,c=null;function d(){i&&i(),i=null,l=!1,null!==u&&(clearTimeout(u),u=null),null!==c&&(clearTimeout(c),c=null),void 0!==r&&r.removeEventListener("transitionend",o),o=null}function h(t,n,a){void 0!==n&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,l=!0,i=a}function p(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,d(),t!==s&&a(t)}function f(t,n){let a=0;r=t,!0===l?(d(),a=t.offsetHeight===t.scrollHeight?0:void 0):(s="hide",t.style.overflowY="hidden"),h(t,a,n),u=setTimeout((()=>{u=null,t.style.height=`${t.scrollHeight}px`,o=e=>{c=null,(Object(e)!==e||e.target===t)&&p(t,"show")},t.addEventListener("transitionend",o),c=setTimeout(o,1.1*e.duration)}),100)}function m(t,n){let a;r=t,!0===l?d():(s="show",t.style.overflowY="hidden",a=t.scrollHeight),h(t,a,n),u=setTimeout((()=>{u=null,t.style.height=0,o=e=>{c=null,(Object(e)!==e||e.target===t)&&p(t,"hide")},t.addEventListener("transitionend",o),c=setTimeout(o,1.1*e.duration)}),100)}return v((()=>{!0===l&&d()})),()=>n(S,{css:!1,appear:e.appear,onEnter:f,onLeave:m},t.default)}}),ws={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},ks={xs:2,sm:4,md:8,lg:16,xl:24},xs=B({name:"QSeparator",props:{...Rt,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){let t=k(),a=zt(e,t.proxy.$q),r=i((()=>!0===e.vertical?"vertical":"horizontal")),o=i((()=>` q-separator--${r.value}`)),s=i((()=>!1!==e.inset?`${o.value}-${ws[e.inset]}`:"")),l=i((()=>`q-separator${o.value}${s.value}`+(void 0!==e.color?` bg-${e.color}`:"")+(!0===a.value?" q-separator--dark":""))),u=i((()=>{let t={};if(void 0!==e.size&&(t[!0===e.vertical?"width":"height"]=e.size),!1!==e.spaced){let n=!0===e.spaced?`${ks.md}px`:e.spaced in ks?`${ks[e.spaced]}px`:e.spaced,a=!0===e.vertical?["Left","Right"]:["Top","Bottom"];t[`margin${a[0]}`]=t[`margin${a[1]}`]=n}return t}));return()=>n("hr",{class:l.value,style:u.value,"aria-orientation":r.value})}}),Ss=c({}),Cs=Object.keys(en),Ts=B({name:"QExpansionItem",props:{...en,...qn,...Rt,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...In,"click","afterShow","afterHide"],setup(e,{slots:t,emit:o}){let s,l,{proxy:{$q:u}}=k(),c=zt(e,u),d=a(null!==e.modelValue?e.modelValue:e.defaultOpened),h=a(null),p=ti(),{show:f,hide:m,toggle:g}=Dn({showing:d}),_=i((()=>`q-expansion-item q-item-type q-expansion-item--${!0===d.value?"expanded":"collapsed"} q-expansion-item--${!0===e.popup?"popup":"standard"}`)),b=i((()=>void 0===e.contentInsetLevel?null:{["padding"+(!0===u.lang.rtl?"Right":"Left")]:56*e.contentInsetLevel+"px"})),y=i((()=>!0!==e.disable&&(void 0!==e.href||void 0!==e.to&&null!==e.to&&""!==e.to))),w=i((()=>{let t={};return Cs.forEach((n=>{t[n]=e[n]})),t})),x=i((()=>!0===y.value||!0!==e.expandIconToggle)),S=i((()=>void 0!==e.expandedIcon&&!0===d.value?e.expandedIcon:e.expandIcon||u.iconSet.expansionItem[!0===e.denseToggle?"denseIcon":"icon"])),C=i((()=>!0!==e.disable&&(!0===y.value||!0===e.expandIconToggle))),T=i((()=>({expanded:!0===d.value,detailsId:p.value,toggle:g,show:f,hide:m}))),M=i((()=>{let t=void 0!==e.toggleAriaLabel?e.toggleAriaLabel:u.lang.label[!0===d.value?"collapse":"expand"](e.label);return{role:"button","aria-expanded":!0===d.value?"true":"false","aria-controls":p.value,"aria-label":t}}));function E(e){!0!==y.value&&g(e),o("click",e)}function L(e){13===e.keyCode&&O(e,!0)}function O(e,t){!0!==t&&null!==h.value&&h.value.focus(),g(e),X(e)}function N(){o("afterShow")}function R(){o("afterHide")}function z(){void 0===s&&(s=Ja()),!0===d.value&&(Ss[e.group]=s);let t=r(d,(t=>{!0===t?Ss[e.group]=s:Ss[e.group]===s&&delete Ss[e.group]})),n=r((()=>Ss[e.group]),((e,t)=>{t===s&&void 0!==e&&e!==s&&m()}));l=()=>{t(),n(),Ss[e.group]===s&&delete Ss[e.group],l=void 0}}function q(){let a;return void 0!==t.header?a=[].concat(t.header(T.value)):(a=[n(os,(()=>[n(bs,{lines:e.labelLines},(()=>e.label||"")),e.caption?n(bs,{lines:e.captionLines,caption:!0},(()=>e.caption)):null]))],e.icon&&a[!0===e.switchToggleSide?"push":"unshift"](n(os,{side:!0===e.switchToggleSide,avatar:!0!==e.switchToggleSide},(()=>n(At,{name:e.icon}))))),!0!==e.disable&&!0!==e.hideExpandIcon&&a[!0===e.switchToggleSide?"unshift":"push"](function(){let t={class:["q-focusable relative-position cursor-pointer"+(!0===e.denseToggle&&!0===e.switchToggleSide?" items-end":""),e.expandIconClass],side:!0!==e.switchToggleSide,avatar:e.switchToggleSide},a=[n(At,{class:"q-expansion-item__toggle-icon"+(void 0===e.expandedIcon&&!0===d.value?" q-expansion-item__toggle-icon--rotated":""),name:S.value})];return!0===C.value&&(Object.assign(t,{tabindex:0,...M.value,onClick:O,onKeyup:L}),a.unshift(n("div",{ref:h,class:"q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded",tabindex:-1}))),n(os,t,(()=>a))}()),a}function I(){let t={ref:"item",style:e.headerStyle,class:e.headerClass,dark:c.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return!0===x.value&&(t.clickable=!0,t.onClick=E,Object.assign(t,!0===y.value?w.value:M.value)),n(rs,t,q)}function D(){return P(n("div",{key:"e-content",class:"q-expansion-item__content relative-position",style:b.value,id:p.value},dt(t.default)),[[A,d.value]])}function j(){let t=[I(),n(ys,{duration:e.duration,onShow:N,onHide:R},D)];return!0===e.expandSeparator&&t.push(n(xs,{class:"q-expansion-item__border q-expansion-item__border--top absolute-top",dark:c.value}),n(xs,{class:"q-expansion-item__border q-expansion-item__border--bottom absolute-bottom",dark:c.value})),t}return r((()=>e.group),(e=>{void 0!==l&&l(),void 0!==e&&z()})),void 0!==e.group&&z(),v((()=>{void 0!==l&&l()})),()=>n("div",{class:_.value},[n("div",{class:"q-expansion-item__container relative-position"},j())])}}),Ms=["top","right","bottom","left"],Es={type:{type:String,default:"a"},outline:Boolean,push:Boolean,flat:Boolean,unelevated:Boolean,color:String,textColor:String,glossy:Boolean,square:Boolean,padding:String,label:{type:[String,Number],default:""},labelPosition:{type:String,default:"right",validator:e=>Ms.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]};function Ps(e,t){return{formClass:i((()=>"q-fab--form-"+(!0===e.square?"square":"rounded"))),stacked:i((()=>!1===e.externalLabel&&["top","bottom"].includes(e.labelPosition))),labelProps:i((()=>{if(!0===e.externalLabel){let n=null===e.hideLabel?!1===t.value:e.hideLabel;return{action:"push",data:{class:[e.labelClass,`q-fab__label q-tooltip--style q-fab__label--external q-fab__label--external-${e.labelPosition}`+(!0===n?" q-fab__label--external-hidden":"")],style:e.labelStyle}}}return{action:["left","top"].includes(e.labelPosition)?"unshift":"push",data:{class:[e.labelClass,`q-fab__label q-fab__label--internal q-fab__label--internal-${e.labelPosition}`+(!0===e.hideLabel?" q-fab__label--internal-hidden":"")],style:e.labelStyle}}}))}}var As=["up","right","down","left"],Ls=["left","center","right"],Os=B({name:"QFab",props:{...Es,...qn,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...Es.hideLabel,default:null},direction:{type:String,default:"right",validator:e=>As.includes(e)},persistent:Boolean,verticalActionsAlign:{type:String,default:"center",validator:e=>Ls.includes(e)}},emits:In,setup(e,{slots:t}){let r=a(null),o=a(!0===e.modelValue),s=ti(),{proxy:{$q:l}}=k(),{formClass:u,labelProps:c}=Ps(e,o),d=i((()=>!0!==e.persistent)),{hide:h,toggle:p}=Dn({showing:o,hideOnRouteChange:d}),f=i((()=>({opened:o.value}))),m=i((()=>`q-fab z-fab row inline justify-center q-fab--align-${e.verticalActionsAlign} ${u.value}`+(!0===o.value?" q-fab--opened":" q-fab--closed"))),v=i((()=>`q-fab__actions flex no-wrap inline q-fab__actions--${e.direction} q-fab__actions--${!0===o.value?"opened":"closed"}`)),g=i((()=>{let e={id:s.value,role:"menu"};return!0!==o.value&&(e["aria-hidden"]="true"),e})),_=i((()=>"q-fab__icon-holder q-fab__icon-holder--"+(!0===o.value?"opened":"closed")));function b(a,i){let r=t[a],o=`q-fab__${a} absolute-full`;return void 0===r?n(At,{class:o,name:e[i]||l.iconSet.fab[i]}):n("div",{class:o},r(f.value))}function y(){let a=[];return!0!==e.hideIcon&&a.push(n("div",{class:_.value},[b("icon","icon"),b("active-icon","activeIcon")])),(""!==e.label||void 0!==t.label)&&a[c.value.action](n("div",c.value.data,void 0!==t.label?t.label(f.value):[e.label])),pt(t.tooltip,a)}return w(Le,{showing:o,onChildClick(e){h(e),null!==r.value&&r.value.$el.focus()}}),()=>n("div",{class:m.value},[n(Pn,{ref:r,class:u.value,...e,noWrap:!0,stack:e.stacked,align:void 0,icon:void 0,label:void 0,noCaps:!0,fab:!0,"aria-expanded":!0===o.value?"true":"false","aria-haspopup":"true","aria-controls":s.value,onClick:p},y),n("div",{class:v.value,...g.value},dt(t.default))])}}),Ns={start:"self-end",center:"self-center",end:"self-start"},Rs=Object.keys(Ns),zs=B({name:"QFabAction",props:{...Es,icon:{type:String,default:""},anchor:{type:String,validator:e=>Rs.includes(e)},to:[String,Object],replace:Boolean},emits:["click"],setup(e,{slots:t,emit:a}){let r=y(Le,(()=>({showing:{value:!0},onChildClick:W}))),{formClass:o,labelProps:s}=Ps(e,r.showing),l=i((()=>{let t=Ns[e.anchor];return o.value+(void 0!==t?` ${t}`:"")})),u=i((()=>!0===e.disable||!0!==r.showing.value));function c(e){r.onChildClick(e),a("click",e)}function d(){let a=[];return void 0!==t.icon?a.push(t.icon()):""!==e.icon&&a.push(n(At,{name:e.icon})),(""!==e.label||void 0!==t.label)&&a[s.value.action](n("div",s.value.data,void 0!==t.label?t.label():[e.label])),pt(t.default,a)}let h=k();return Object.assign(h.proxy,{click:c}),()=>n(Pn,{class:l.value,...e,noWrap:!0,stack:e.stacked,icon:void 0,label:void 0,noCaps:!0,fabMini:!0,disable:u.value,onClick:c},d)}});function qs({validate:e,resetValidation:t,requiresQForm:n}){let a=y(Oe,!1);if(!1!==a){let{props:n,proxy:i}=k();Object.assign(i,{validate:e,resetValidation:t}),r((()=>n.disable),(e=>{!0===e?("function"==typeof t&&t(),a.unbindComponent(i)):a.bindComponent(i)})),m((()=>{!0!==n.disable&&a.bindComponent(i)})),v((()=>{!0!==n.disable&&a.unbindComponent(i)}))}else!0===n&&console.error("Parent QForm not found on useFormChild()!")}var Is=[!0,!1,"ondemand"],Ds={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],default:!1,validator:e=>Is.includes(e)}};function js(e){return null!=e&&0!==(""+e).length}var $s={...Rt,...Ds,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String},Fs={...$s,maxlength:[Number,String]},Bs=["update:modelValue","clear","focus","blur"];function Vs({requiredForAttr:e=!0,tagProp:t,changeEvent:n=!1}={}){let{props:r,proxy:o}=k(),s=zt(r,o.$q),l=ti({required:e,getValue:()=>r.for});return{requiredForAttr:e,changeEvent:n,tag:!0===t?i((()=>r.tag)):{value:"label"},isDark:s,editable:i((()=>!0!==r.disable&&!0!==r.readonly)),innerLoading:a(!1),focused:a(!1),hasPopupOpen:!1,splitAttrs:hs(),targetUid:l,rootRef:a(null),targetRef:a(null),controlRef:a(null)}}function Hs(e){let{props:t,emit:o,slots:s,attrs:l,proxy:u}=k(),{$q:c}=u,f=null;void 0===e.hasValue&&(e.hasValue=i((()=>js(t.modelValue)))),void 0===e.emitValue&&(e.emitValue=e=>{o("update:modelValue",e)}),void 0===e.controlEvents&&(e.controlEvents={onFocusin:q,onFocusout:I}),Object.assign(e,{clearValue:D,onControlFocusin:q,onControlFocusout:I,focus:z}),void 0===e.computedCounter&&(e.computedCounter=i((()=>{if(!1!==t.counter){let e="string"==typeof t.modelValue||"number"==typeof t.modelValue?(""+t.modelValue).length:!0===Array.isArray(t.modelValue)?t.modelValue.length:0,n=void 0!==t.maxlength?t.maxlength:t.maxValues;return e+(void 0!==n?" / "+n:"")}})));let{isDirtyModel:g,hasRules:_,hasError:b,errorMessage:y,resetValidation:w}=function(e,t){let{props:n,proxy:o}=k(),s=a(!1),l=a(null),u=a(!1);qs({validate:b,resetValidation:_});let c,d=0,h=i((()=>void 0!==n.rules&&null!==n.rules&&0!==n.rules.length)),p=i((()=>!0!==n.disable&&!0===h.value&&!1===t.value)),f=i((()=>!0===n.error||!0===s.value)),m=i((()=>"string"==typeof n.errorMessage&&0!==n.errorMessage.length?n.errorMessage:l.value));function g(){"ondemand"!==n.lazyRules&&!0===p.value&&!0===u.value&&y()}function _(){d++,t.value=!1,u.value=!1,s.value=!1,l.value=null,y.cancel()}function b(e=n.modelValue){if(!0===n.disable||!1===h.value)return!0;let a=++d,i=!0!==t.value?()=>{u.value=!0}:()=>{},r=(e,n)=>{!0===e&&i(),s.value=e,l.value=n||null,t.value=!1},o=[];for(let t=0;t{if(void 0===e||!1===Array.isArray(e)||0===e.length)return a===d&&r(!1),!0;let t=e.find((e=>!1===e||"string"==typeof e));return a===d&&r(void 0!==t,t),void 0===t}),(e=>(a===d&&(console.error(e),r(!0)),!1))))}r((()=>n.modelValue),(()=>{u.value=!0,!0===p.value&&!1===n.lazyRules&&y()})),r((()=>n.reactiveRules),(e=>{!0===e?void 0===c&&(c=r((()=>n.rules),g,{immediate:!0,deep:!0})):void 0!==c&&(c(),c=void 0)}),{immediate:!0}),r((()=>n.lazyRules),g),r(e,(e=>{!0===e?u.value=!0:!0===p.value&&"ondemand"!==n.lazyRules&&y()}));let y=ae(b,0);return v((()=>{void 0!==c&&c(),y.cancel()})),Object.assign(o,{resetValidation:_,validate:b}),N(o,"hasError",(()=>f.value)),{isDirtyModel:u,hasRules:h,hasError:f,errorMessage:m,validate:b,resetValidation:_}}(e.focused,e.innerLoading),x=void 0!==e.floatingLabel?i((()=>!0===t.stackLabel||!0===e.focused.value||!0===e.floatingLabel.value)):i((()=>!0===t.stackLabel||!0===e.focused.value||!0===e.hasValue.value)),C=i((()=>!0===t.bottomSlots||void 0!==t.hint||!0===_.value||!0===t.counter||null!==t.error)),T=i((()=>!0===t.filled?"filled":!0===t.outlined?"outlined":!0===t.borderless?"borderless":t.standout?"standout":"standard")),M=i((()=>`q-field row no-wrap items-start q-field--${T.value}`+(void 0!==e.fieldClass?` ${e.fieldClass.value}`:"")+(!0===t.rounded?" q-field--rounded":"")+(!0===t.square?" q-field--square":"")+(!0===x.value?" q-field--float":"")+(!0===P.value?" q-field--labeled":"")+(!0===t.dense?" q-field--dense":"")+(!0===t.itemAligned?" q-field--item-aligned q-item-type":"")+(!0===e.isDark.value?" q-field--dark":"")+(void 0===e.getControl?" q-field--auto-height":"")+(!0===e.focused.value?" q-field--focused":"")+(!0===b.value?" q-field--error":"")+(!0===b.value||!0===e.focused.value?" q-field--highlighted":"")+(!0!==t.hideBottomSpace&&!0===C.value?" q-field--with-bottom":"")+(!0===t.disable?" q-field--disabled":!0===t.readonly?" q-field--readonly":""))),E=i((()=>"q-field__control relative-position row no-wrap"+(void 0!==t.bgColor?` bg-${t.bgColor}`:"")+(!0===b.value?" text-negative":"string"==typeof t.standout&&0!==t.standout.length&&!0===e.focused.value?` ${t.standout}`:void 0!==t.color?` text-${t.color}`:""))),P=i((()=>!0===t.labelSlot||void 0!==t.label)),A=i((()=>"q-field__label no-pointer-events absolute ellipsis"+(void 0!==t.labelColor&&!0!==b.value?` text-${t.labelColor}`:""))),L=i((()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:x.value,modelValue:t.modelValue,emitValue:e.emitValue}))),O=i((()=>{let n={};return e.targetUid.value&&(n.for=e.targetUid.value),!0===t.disable&&(n["aria-disabled"]="true"),n}));function R(){let t=document.activeElement,n=void 0!==e.targetRef&&e.targetRef.value;n&&(null===t||t.id!==e.targetUid.value)&&(!0===n.hasAttribute("tabindex")||(n=n.querySelector("[tabindex]")),n&&n!==t&&n.focus({preventScroll:!0}))}function z(){Vn(R)}function q(t){null!==f&&(clearTimeout(f),f=null),!0===e.editable.value&&!1===e.focused.value&&(e.focused.value=!0,o("focus",t))}function I(t,n){null!==f&&clearTimeout(f),f=setTimeout((()=>{f=null,(!0!==document.hasFocus()||!0!==e.hasPopupOpen&&void 0!==e.controlRef&&null!==e.controlRef.value&&!1===e.controlRef.value.contains(document.activeElement))&&(!0===e.focused.value&&(e.focused.value=!1,o("blur",t)),void 0!==n&&n())}))}function D(n){X(n),!0!==c.platform.is.mobile?(void 0!==e.targetRef&&e.targetRef.value||e.rootRef.value).focus():!0===e.rootRef.value.contains(document.activeElement)&&document.activeElement.blur(),"file"===t.type&&(e.inputRef.value.value=null),o("update:modelValue",null),!0===e.changeEvent&&o("change",null),o("clear",t.modelValue),d((()=>{let e=g.value;w(),g.value=e}))}function j(e){[13,32].includes(e.keyCode)&&D(e)}function $(){let a=[];return void 0!==s.prepend&&a.push(n("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:Z},s.prepend())),a.push(n("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},function(){let a=[];return void 0!==t.prefix&&null!==t.prefix&&a.push(n("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),void 0!==e.getShadowControl&&!0===e.hasShadow.value&&a.push(e.getShadowControl()),void 0!==e.getControl?a.push(e.getControl()):void 0!==s.rawControl?a.push(s.rawControl()):void 0!==s.control&&a.push(n("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":!0===t.autofocus||void 0},s.control(L.value))),!0===P.value&&a.push(n("div",{class:A.value},dt(s.label,t.label))),void 0!==t.suffix&&null!==t.suffix&&a.push(n("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),a.concat(dt(s.default))}())),!0===b.value&&!1===t.noErrorIcon&&a.push(B("error",[n(At,{name:c.iconSet.field.error,color:"negative"})])),!0===t.loading||!0===e.innerLoading.value?a.push(B("inner-loading-append",void 0!==s.loading?s.loading():[n(on,{color:t.color})])):!0===t.clearable&&!0===e.hasValue.value&&!0===e.editable.value&&a.push(B("inner-clearable-append",[n(At,{class:"q-field__focusable-action",name:t.clearIcon||c.iconSet.field.clear,tabindex:0,role:"button","aria-hidden":"false","aria-label":c.lang.label.clear,onKeyup:j,onClick:D})])),void 0!==s.append&&a.push(n("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:Z},s.append())),void 0!==e.getInnerAppend&&a.push(B("inner-append",e.getInnerAppend())),void 0!==e.getControlChild&&a.push(e.getControlChild()),a}function F(){let a,i;!0===b.value?null!==y.value?(a=[n("div",{role:"alert"},y.value)],i=`q--slot-error-${y.value}`):(a=dt(s.error),i="q--slot-error"):(!0!==t.hideHint||!0===e.focused.value)&&(void 0!==t.hint?(a=[n("div",t.hint)],i=`q--slot-hint-${t.hint}`):(a=dt(s.hint),i="q--slot-hint"));let r=!0===t.counter||void 0!==s.counter;if(!0===t.hideBottomSpace&&!1===r&&void 0===a)return;let o=n("div",{key:i,class:"q-field__messages col"},a);return n("div",{class:"q-field__bottom row items-start q-field__bottom--"+(!0!==t.hideBottomSpace?"animated":"stale"),onClick:Z},[!0===t.hideBottomSpace?o:n(S,{name:"q-transition--field-message"},(()=>o)),!0===r?n("div",{class:"q-field__counter"},void 0!==s.counter?s.counter():e.computedCounter.value):null])}function B(e,t){return null===t?null:n("div",{key:e,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},t)}let V=!1;return p((()=>{V=!0})),h((()=>{!0===V&&!0===t.autofocus&&u.focus()})),!0===t.autofocus&&m((()=>{u.focus()})),v((()=>{null!==f&&clearTimeout(f)})),Object.assign(u,{focus:z,blur:function(){!function(e){jn=jn.filter((t=>t!==e))}(R);let t=document.activeElement;null!==t&&e.rootRef.value.contains(t)&&t.blur()}}),function(){let a=void 0===e.getControl&&void 0===s.control?{...e.splitAttrs.attributes.value,"data-autofocus":!0===t.autofocus||void 0,...O.value}:O.value;return n(e.tag.value,{ref:e.rootRef,class:[M.value,l.class],style:l.style,...a},[void 0!==s.before?n("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:Z},s.before()):null,n("div",{class:"q-field__inner relative-position col self-stretch"},[n("div",{ref:e.controlRef,class:E.value,tabindex:-1,...e.controlEvents},$()),!0===C.value?F():null]),void 0!==s.after?n("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:Z},s.after()):null])}}var Us=B({name:"QField",inheritAttrs:!1,props:{...Fs,tag:{type:String,default:"label"}},emits:Bs,setup:()=>Hs(Vs({tagProp:!0}))});function Ws(e,t,n,a){let i=[];return e.forEach((e=>{!0===a(e)?i.push(e):t.push({failedPropValidation:n,file:e})})),i}function Ys(e){e&&e.dataTransfer&&(e.dataTransfer.dropEffect="copy"),X(e)}var Qs={multiple:Boolean,accept:String,capture:String,maxFileSize:[Number,String],maxTotalSize:[Number,String],maxFiles:[Number,String],filter:Function},Ks=["rejected"];function Gs({editable:e,dnd:t,getFileInput:r,addFilesToQueue:o}){let{props:s,emit:l,proxy:u}=k(),c=a(null),d=i((()=>void 0!==s.accept?s.accept.split(",").map((e=>"*"===(e=e.trim())?"*/":(e.endsWith("/*")&&(e=e.slice(0,e.length-1)),e.toUpperCase()))):null)),h=i((()=>parseInt(s.maxFiles,10))),p=i((()=>parseInt(s.maxTotalSize,10)));function f(t){if(e.value)if(t!==Object(t)&&(t={target:null}),null!==t.target&&!0===t.target.matches('input[type="file"]'))0===t.clientX&&0===t.clientY&&G(t);else{let e=r();e&&e!==t.target&&e.click(t)}}function m(t){e.value&&t&&o(null,t)}function v(e){X(e),!0==(null!==e.relatedTarget||!0!==j.is.safari?e.relatedTarget!==c.value:!1===document.elementsFromPoint(e.clientX,e.clientY).includes(c.value))&&(t.value=!1)}function g(e){Ys(e);let n=e.dataTransfer.files;0!==n.length&&o(null,n),t.value=!1}return Object.assign(u,{pickFiles:f,addFiles:m}),{pickFiles:f,addFiles:m,onDragover:function(e){Ys(e),!0!==t.value&&(t.value=!0)},onDragleave:v,processFiles:function(e,t,n,a){let i=Array.from(t||e.target.files),r=[],o=()=>{0!==r.length&&l("rejected",r)};if(void 0!==s.accept&&-1===d.value.indexOf("*/")&&(i=Ws(i,r,"accept",(e=>d.value.some((t=>e.type.toUpperCase().startsWith(t)||e.name.toUpperCase().endsWith(t))))),0===i.length))return o();if(void 0!==s.maxFileSize){let e=parseInt(s.maxFileSize,10);if(i=Ws(i,r,"max-file-size",(t=>t.size<=e)),0===i.length)return o()}if(!0!==s.multiple&&0!==i.length&&(i=[i[0]]),i.forEach((e=>{e.__key=e.webkitRelativePath+e.lastModified+e.name+e.size})),!0===a){let e=n.map((e=>e.__key));i=Ws(i,r,"duplicate",(t=>!1===e.includes(t.__key)))}if(0===i.length)return o();if(void 0!==s.maxTotalSize){let e=!0===a?n.reduce(((e,t)=>e+t.size),0):0;if(i=Ws(i,r,"max-total-size",(t=>(e+=t.size,e<=p.value))),0===i.length)return o()}if("function"==typeof s.filter){let e=s.filter(i);i=Ws(i,r,"filter",(t=>e.includes(t)))}if(void 0!==s.maxFiles){let e=!0===a?n.length:0;if(i=Ws(i,r,"max-files",(()=>(e++,e<=h.value))),0===i.length)return o()}return o(),0!==i.length?i:void 0},getDndNode:function(e){if(!0===t.value)return n("div",{ref:c,class:`q-${e}__dnd absolute-full`,onDragenter:Ys,onDragover:Ys,onDragleave:v,onDrop:g})},maxFilesNumber:h,maxTotalSizeNumber:p}}function Zs(e,t){function n(){let t=e.modelValue;try{let e="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(t)===t&&("length"in t?Array.from(t):[t]).forEach((t=>{e.items.add(t)})),{files:e.files}}catch{return{files:void 0}}}return i(!0===t?()=>{if("file"===e.type)return n()}:n)}var Xs=B({name:"QFile",inheritAttrs:!1,props:{...$s,...ii,...Qs,modelValue:[File,FileList,Array],append:Boolean,useChips:Boolean,displayValue:[String,Number],tabindex:{type:[String,Number],default:0},counterLabel:Function,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Bs,...Ks],setup(e,{slots:t,emit:r,attrs:o}){let{proxy:s}=k(),l=Vs(),u=a(null),c=a(!1),d=si(e),{pickFiles:h,onDragover:p,onDragleave:f,processFiles:m,getDndNode:v}=Gs({editable:l.editable,dnd:c,getFileInput:L,addFilesToQueue:O}),g=Zs(e),_=i((()=>Object(e.modelValue)===e.modelValue?"length"in e.modelValue?Array.from(e.modelValue):[e.modelValue]:[])),b=i((()=>js(_.value))),y=i((()=>_.value.map((e=>e.name)).join(", "))),w=i((()=>Ge(_.value.reduce(((e,t)=>e+t.size),0)))),x=i((()=>({totalSize:w.value,filesNumber:_.value.length,maxFiles:e.maxFiles}))),S=i((()=>({tabindex:-1,type:"file",title:"",accept:e.accept,capture:e.capture,name:d.value,...o,id:l.targetUid.value,disabled:!0!==l.editable.value}))),C=i((()=>"q-file q-field--auto-height"+(!0===c.value?" q-file--dnd":""))),T=i((()=>!0===e.multiple&&!0===e.append));function M(e){let t=_.value.slice();t.splice(e,1),E(t)}function E(t){r("update:modelValue",!0===e.multiple?t:t[0])}function P(e){13===e.keyCode&&Z(e)}function A(e){(13===e.keyCode||32===e.keyCode)&&h(e)}function L(){return u.value}function O(t,n){let a=m(t,n,_.value,T.value),i=L();null!=i&&(i.value=""),void 0!==a&&((!0===e.multiple?e.modelValue&&a.every((e=>_.value.includes(e))):e.modelValue===a[0])||E(!0===T.value?_.value.concat(a):a))}function R(){return[n("input",{class:[e.inputClass,"q-file__filler"],style:e.inputStyle})]}function z(){let t={ref:u,...S.value,...g.value,class:"q-field__input fit absolute-full cursor-pointer",onChange:O};return!0===e.multiple&&(t.multiple=!0),n("input",t)}return Object.assign(l,{fieldClass:C,emitValue:E,hasValue:b,inputRef:u,innerValue:_,floatingLabel:i((()=>!0===b.value||js(e.displayValue))),computedCounter:i((()=>{if(void 0!==e.counterLabel)return e.counterLabel(x.value);let t=e.maxFiles;return`${_.value.length}${void 0!==t?" / "+t:""} (${w.value})`})),getControlChild:()=>v("file"),getControl:()=>{let a={ref:l.targetRef,class:"q-field__native row items-center cursor-pointer",tabindex:e.tabindex};return!0===l.editable.value&&Object.assign(a,{onDragover:p,onDragleave:f,onKeydown:P,onKeyup:A}),n("div",a,[z()].concat(function(){if(void 0!==t.file)return 0===_.value.length?R():_.value.map(((e,n)=>t.file({index:n,file:e,ref:this})));if(void 0!==t.selected)return 0===_.value.length?R():t.selected({files:_.value,ref:this});if(!0===e.useChips)return 0===_.value.length?R():_.value.map(((t,a)=>n(Bi,{key:"file-"+a,removable:l.editable.value,dense:!0,textColor:e.color,tabindex:e.tabindex,onRemove:()=>{M(a)}},(()=>n("span",{class:"ellipsis",textContent:t.name})))));let a=void 0!==e.displayValue?e.displayValue:y.value;return 0!==a.length?[n("div",{class:e.inputClass,style:e.inputStyle,textContent:a})]:R()}()))}}),Object.assign(s,{removeAtIndex:M,removeFile:function(e){let t=_.value.indexOf(e);-1!==t&&M(t)},getNativeElement:()=>u.value}),N(s,"nativeEl",(()=>u.value)),Hs(l)}}),Js=B({name:"QFooter",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=y(Pe,ze);if(l===ze)return console.error("QFooter needs to be child of QLayout"),ze;let u=a(parseInt(e.heightHint,10)),c=a(!0),d=a(!0===q.value||!0===l.isContainer.value?0:window.innerHeight),h=i((()=>!0===e.reveal||-1!==l.view.value.indexOf("F")||s.platform.is.ios&&!0===l.isContainer.value)),p=i((()=>!0===l.isContainer.value?l.containerHeight.value:d.value)),f=i((()=>{if(!0!==e.modelValue)return 0;if(!0===h.value)return!0===c.value?u.value:0;let t=l.scroll.value.position+p.value+u.value-l.height.value;return t>0?t:0})),m=i((()=>!0!==e.modelValue||!0===h.value&&!0!==c.value)),g=i((()=>!0===e.modelValue&&!0===m.value&&!0===e.reveal)),_=i((()=>"q-footer q-layout__section--marginal "+(!0===h.value?"fixed":"absolute")+"-bottom"+(!0===e.bordered?" q-footer--bordered":"")+(!0===m.value?" q-footer--hidden":"")+(!0!==e.modelValue?" q-layout--prevent-focus"+(!0!==h.value?" hidden":""):""))),b=i((()=>{let e=l.rows.value.bottom,t={};return"l"===e[0]&&!0===l.left.space&&(t[!0===s.lang.rtl?"right":"left"]=`${l.left.size}px`),"r"===e[2]&&!0===l.right.space&&(t[!0===s.lang.rtl?"left":"right"]=`${l.right.size}px`),t}));function w(e,t){l.update("footer",e,t)}function x(e,t){e.value!==t&&(e.value=t)}function S({height:e}){x(u,e),w("size",e)}function C(e){!0===g.value&&x(c,!0),o("focusin",e)}r((()=>e.modelValue),(e=>{w("space",e),x(c,!0),l.animate()})),r(f,(e=>{w("offset",e)})),r((()=>e.reveal),(t=>{!1===t&&x(c,e.modelValue)})),r(c,(e=>{l.animate(),o("reveal",e)})),r([u,l.scroll,l.height],(function(){if(!0!==e.reveal)return;let{direction:t,position:n,inflectionPoint:a}=l.scroll.value;x(c,"up"===t||n-a<100||l.height.value-p.value-n-u.value<300)})),r((()=>s.screen.height),(e=>{!0!==l.isContainer.value&&x(d,e)}));let T={};return l.instances.footer=T,!0===e.modelValue&&w("size",u.value),w("space",e.modelValue),w("offset",f.value),v((()=>{l.instances.footer===T&&(l.instances.footer=void 0,w("size",0),w("offset",0),w("space",!1))})),()=>{let a=pt(t.default,[n(lr,{debounce:0,onResize:S})]);return!0===e.elevated&&a.push(n("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),n("footer",{class:_.value,style:b.value,onFocusin:C},a)}}}),el=B({name:"QForm",props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:["reset","validationSuccess","validationError"],setup(e,{slots:t,emit:i}){let r=k(),o=a(null),s=0,l=[];function u(t){let n="boolean"==typeof t?t:!0!==e.noErrorFocus,a=++s,r=(e,t)=>{i("validation"+(!0===e?"Success":"Error"),t)},o=e=>{let t=e.validate();return"function"==typeof t.then?t.then((t=>({valid:t,comp:e})),(t=>({valid:!1,comp:e,err:t}))):Promise.resolve({valid:t,comp:e})};return(!0===e.greedy?Promise.all(l.map(o)).then((e=>e.filter((e=>!0!==e.valid)))):l.reduce(((e,t)=>e.then((()=>o(t).then((e=>{if(!1===e.valid)return Promise.reject(e)}))))),Promise.resolve()).catch((e=>[e]))).then((e=>{if(void 0===e||0===e.length)return a===s&&r(!0),!0;if(a===s){let{comp:t,err:a}=e[0];if(void 0!==a&&console.error(a),r(!1,t),!0===n){let t=e.find((({comp:e})=>"function"==typeof e.focus&&!1===Wt(e.$)));void 0!==t&&t.comp.focus()}}return!1}))}function c(){s++,l.forEach((e=>{"function"==typeof e.resetValidation&&e.resetValidation()}))}function f(t){void 0!==t&&X(t);let n=s+1;u().then((a=>{n===s&&!0===a&&(void 0!==e.onSubmit?i("submit",t):void 0!==t&&void 0!==t.target&&"function"==typeof t.target.submit&&t.target.submit())}))}function v(t){void 0!==t&&X(t),i("reset"),d((()=>{c(),!0===e.autofocus&&!0!==e.noResetFocus&&g()}))}function g(){Vn((()=>{if(null===o.value)return;let e=o.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||o.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||o.value.querySelector("[autofocus], [data-autofocus]")||Array.prototype.find.call(o.value.querySelectorAll("[tabindex]"),(e=>-1!==e.tabIndex));e?.focus({preventScroll:!0})}))}w(Oe,{bindComponent(e){l.push(e)},unbindComponent(e){let t=l.indexOf(e);-1!==t&&l.splice(t,1)}});let _=!1;return p((()=>{_=!0})),h((()=>{!0===_&&!0===e.autofocus&&g()})),m((()=>{!0===e.autofocus&&g()})),Object.assign(r.proxy,{validate:u,resetValidation:c,submit:f,reset:v,focus:g,getValidationComponents:()=>l}),()=>n("form",{class:"q-form",ref:o,onSubmit:f,onReset:v},dt(t.default))}}),tl={inject:{[Oe]:{default:W}},watch:{disable(e){let t=this.$.provides[Oe];void 0!==t&&(!0===e?(this.resetValidation(),t.unbindComponent(this)):t.bindComponent(this))}},methods:{validate(){},resetValidation(){}},mounted(){let e=this.$.provides[Oe];void 0!==e&&!0!==this.disable&&e.bindComponent(this)},beforeUnmount(){let e=this.$.provides[Oe];void 0!==e&&!0!==this.disable&&e.unbindComponent(this)}},nl=B({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=y(Pe,ze);if(l===ze)return console.error("QHeader needs to be child of QLayout"),ze;let u=a(parseInt(e.heightHint,10)),c=a(!0),d=i((()=>!0===e.reveal||-1!==l.view.value.indexOf("H")||s.platform.is.ios&&!0===l.isContainer.value)),h=i((()=>{if(!0!==e.modelValue)return 0;if(!0===d.value)return!0===c.value?u.value:0;let t=u.value-l.scroll.value.position;return t>0?t:0})),p=i((()=>!0!==e.modelValue||!0===d.value&&!0!==c.value)),f=i((()=>!0===e.modelValue&&!0===p.value&&!0===e.reveal)),m=i((()=>"q-header q-layout__section--marginal "+(!0===d.value?"fixed":"absolute")+"-top"+(!0===e.bordered?" q-header--bordered":"")+(!0===p.value?" q-header--hidden":"")+(!0!==e.modelValue?" q-layout--prevent-focus":""))),g=i((()=>{let e=l.rows.value.top,t={};return"l"===e[0]&&!0===l.left.space&&(t[!0===s.lang.rtl?"right":"left"]=`${l.left.size}px`),"r"===e[2]&&!0===l.right.space&&(t[!0===s.lang.rtl?"left":"right"]=`${l.right.size}px`),t}));function _(e,t){l.update("header",e,t)}function b(e,t){e.value!==t&&(e.value=t)}function w({height:e}){b(u,e),_("size",e)}function x(e){!0===f.value&&b(c,!0),o("focusin",e)}r((()=>e.modelValue),(e=>{_("space",e),b(c,!0),l.animate()})),r(h,(e=>{_("offset",e)})),r((()=>e.reveal),(t=>{!1===t&&b(c,e.modelValue)})),r(c,(e=>{l.animate(),o("reveal",e)})),r(l.scroll,(t=>{!0===e.reveal&&b(c,"up"===t.direction||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)}));let S={};return l.instances.header=S,!0===e.modelValue&&_("size",u.value),_("space",e.modelValue),_("offset",h.value),v((()=>{l.instances.header===S&&(l.instances.header=void 0,_("size",0),_("offset",0),_("space",!1))})),()=>{let a=ht(t.default,[]);return!0===e.elevated&&a.push(n("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),a.push(n(lr,{debounce:0,onResize:w})),n("header",{class:m.value,style:g.value,onFocusin:x},a)}}}),al={ratio:[String,Number]};function il(e,t){return i((()=>{let n=Number(e.ratio||(void 0!==t?t.value:void 0));return!0!==isNaN(n)&&n>0?{paddingBottom:100/n+"%"}:null}))}var rl=B({name:"QImg",props:{...al,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},loadingShowDelay:{type:[Number,String],default:0},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:1.7778},placeholderSrc:String,errorSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:t,emit:o}){let s=a(e.initialRatio),l=il(e,s),u=k(),{registerTimeout:c,removeTimeout:d}=aa(),{registerTimeout:h,removeTimeout:p}=aa(),f=i((()=>void 0!==e.placeholderSrc?{src:e.placeholderSrc}:null)),v=i((()=>void 0!==e.errorSrc?{src:e.errorSrc,__qerror:!0}:null)),g=[a(null),a(f.value)],_=a(0),b=a(!1),y=a(!1),w=i((()=>`q-img q-img--${!0===e.noNativeMenu?"no-":""}menu`)),x=i((()=>({width:e.width,height:e.height}))),C=i((()=>`q-img__image ${void 0!==e.imgClass?e.imgClass+" ":""}q-img__image--with${!0===e.noTransition?"out":""}-transition q-img__image--`)),T=i((()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position})));function M(){p(),b.value=!1}function E({target:e}){!1===Wt(u)&&(d(),s.value=0===e.naturalHeight?.5:e.naturalWidth/e.naturalHeight,P(e,1))}function P(e,t){1e3===t||!0===Wt(u)||(!0===e.complete?function(e){!0!==Wt(u)&&(_.value=1^_.value,g[_.value].value=null,M(),"true"!==e.getAttribute("__qerror")&&(y.value=!1),o("load",e.currentSrc||e.src))}(e):c((()=>{P(e,t+1)}),50))}function A(e){d(),M(),y.value=!0,g[_.value].value=v.value,g[1^_.value].value=f.value,o("error",e)}function L(t){let a=g[t].value,i={key:"img_"+t,class:C.value,style:T.value,alt:e.alt,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...a};return _.value===t?Object.assign(i,{class:i.class+"current",onLoad:E,onError:A}):i.class+="loaded",n("div",{class:"q-img__container absolute-full",key:"img"+t},n("img",i))}function O(){return!1===b.value?n("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},dt(t[!0===y.value?"error":"default"])):n("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},void 0!==t.loading?t.loading():!0===e.noSpinner?void 0:[n(on,{color:e.spinnerColor,size:e.spinnerSize})])}{let t=function(){r((()=>e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null),(t=>{d(),y.value=!1,null===t?(M(),g[1^_.value].value=f.value):(p(),0!==e.loadingShowDelay?h((()=>{b.value=!0}),e.loadingShowDelay):b.value=!0),g[_.value].value=t}),{immediate:!0})};!0===q.value?m(t):t()}return()=>{let t=[];return null!==l.value&&t.push(n("div",{key:"filler",style:l.value})),null!==g[0].value&&t.push(L(0)),null!==g[1].value&&t.push(L(1)),t.push(n(S,{name:"q-transition--fade"},O)),n("div",{key:"main",class:w.value,style:x.value,role:"img","aria-label":e.alt},t)}}}),{passive:ol}=U,sl=B({name:"QInfiniteScroll",props:{offset:{type:Number,default:500},debounce:{type:[String,Number],default:100},scrollTarget:ra,initialIndex:{type:Number,default:0},disable:Boolean,reverse:Boolean},emits:["load"],setup(e,{slots:t,emit:o}){let s,l,u=a(!1),c=a(!0),f=a(null),g=a(null),_=e.initialIndex,b=i((()=>"q-infinite-scroll__loading"+(!0===u.value?"":" invisible")));function y(){if(!0===e.disable||!0===u.value||!1===c.value)return;let t=la(s),n=ua(s),a=ln(s);!1===e.reverse?Math.round(n+a+e.offset)>=Math.round(t)&&w():Math.round(n)<=e.offset&&w()}function w(){if(!0===e.disable||!0===u.value||!1===c.value)return;_++,u.value=!0;let t=la(s);o("load",_,(n=>{!0===c.value&&(u.value=!1,d((()=>{if(!0===e.reverse){let e=la(s),n=ua(s);ma(s,n+(e-t))}!0===n?S():f.value&&f.value.closest("body")&&l()})))}))}function x(){!1===c.value&&(c.value=!0,s.addEventListener("scroll",l,ol)),y()}function S(){!0===c.value&&(c.value=!1,u.value=!1,s.removeEventListener("scroll",l,ol),void 0!==l&&void 0!==l.cancel&&l.cancel())}function C(){if(s&&!0===c.value&&s.removeEventListener("scroll",l,ol),s=sa(f.value,e.scrollTarget),!0===c.value){if(s.addEventListener("scroll",l,ol),!0===e.reverse){let e=la(s),t=ln(s);ma(s,e-t)}y()}}function T(e){e=parseInt(e,10);let t=l;l=e<=0?y:ae(y,!0===isNaN(e)?100:e),s&&!0===c.value&&(void 0!==t&&s.removeEventListener("scroll",t,ol),s.addEventListener("scroll",l,ol))}function M(e){if(!0===E.value){if(null===g.value)return void(!0!==e&&d((()=>{M(!0)})));let t=(!0===u.value?"un":"")+"pauseAnimations";Array.from(g.value.getElementsByTagName("svg")).forEach((e=>{e[t]()}))}}let E=i((()=>!0!==e.disable&&!0===c.value));r([u,E],(()=>{M()})),r((()=>e.disable),(e=>{!0===e?S():x()})),r((()=>e.reverse),(()=>{!1===u.value&&!0===c.value&&y()})),r((()=>e.scrollTarget),C),r((()=>e.debounce),T);let P=!1;h((()=>{!1!==P&&s&&ma(s,P)})),p((()=>{P=!!s&&ua(s)})),v((()=>{!0===c.value&&s.removeEventListener("scroll",l,ol)})),m((()=>{T(e.debounce),C(),!1===u.value&&M()}));let A=k();return Object.assign(A.proxy,{poll:()=>{void 0!==l&&l()},trigger:w,stop:S,reset:function(){_=0},resume:x,setIndex:function(e){_=e},updateScrollTarget:C}),()=>{let a=ht(t.default,[]);return!0===E.value&&a[!1===e.reverse?"push":"unshift"](n("div",{ref:g,class:b.value},dt(t.loading))),n("div",{class:"q-infinite-scroll",ref:f},a)}}}),ll=B({name:"QInnerLoading",props:{...Rt,...ea,showing:Boolean,color:String,size:{type:[String,Number],default:"42px"},label:String,labelClass:String,labelStyle:[String,Array,Object]},setup(e,{slots:t}){let a=k(),r=zt(e,a.proxy.$q),{transitionProps:o,transitionStyle:s}=ta(e),l=i((()=>"q-inner-loading q--avoid-card-border absolute-full column flex-center"+(!0===r.value?" q-inner-loading--dark":""))),u=i((()=>"q-inner-loading__label"+(void 0!==e.labelClass?` ${e.labelClass}`:"")));function c(){return!0===e.showing?n("div",{class:l.value,style:s.value},void 0!==t.default?t.default():function(){let t=[n(on,{size:e.size,color:e.color})];return void 0!==e.label&&t.push(n("div",{class:u.value,style:e.labelStyle},[e.label])),t}()):null}return()=>n(S,o.value,c)}}),ul={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},cl={"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}},dl=Object.keys(cl);dl.forEach((e=>{cl[e].regex=new RegExp(cl[e].pattern)}));var hl=new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+dl.join("")+"])|(.)","g"),pl=/[.*+?^${}()|[\]\\]/g,fl="",ml={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean};function vl(e,t,n,i){let o,s,l,u,c,h,p=a(null),f=a(function(){if(v(),!0===p.value){let t=b(y(e.modelValue));return!1!==e.fillMask?w(t):t}return e.modelValue}());function m(e){if(e0;a--)t+=fl;n=n.slice(0,a)+t+n.slice(a)}return n}function v(){if(p.value=void 0!==e.mask&&0!==e.mask.length&&(!0===e.autogrow||["textarea","text","search","url","tel","password"].includes(e.type)),!1===p.value)return u=void 0,o="",void(s="");let t=void 0===ul[e.mask]?e.mask:ul[e.mask],n="string"==typeof e.fillMask&&0!==e.fillMask.length?e.fillMask.slice(0,1):"_",a=n.replace(pl,"\\$&"),i=[],r=[],c=[],d=!0===e.reverseFillMask,h="",f="";t.replace(hl,((e,t,n,a,o)=>{if(void 0!==a){let e=cl[a];c.push(e),f=e.negate,!0===d&&(r.push("(?:"+f+"+)?("+e.pattern+"+)?(?:"+f+"+)?("+e.pattern+"+)?"),d=!1),r.push("(?:"+f+"+)?("+e.pattern+")?")}else if(void 0!==n)h="\\"+("\\"===n?"":n),c.push(n),i.push("([^"+h+"]+)?"+h+"?");else{let e=void 0!==t?t:o;h="\\"===e?"\\\\\\\\":e.replace(pl,"\\\\$&"),c.push(e),i.push("([^"+h+"]+)?"+h+"?")}}));let m=new RegExp("^"+i.join("")+"("+(""===h?".":"[^"+h+"]")+"+)?"+(""===h?"":"["+h+"]*")+"$"),v=r.length-1,g=r.map(((t,n)=>0===n&&!0===e.reverseFillMask?new RegExp("^"+a+"*"+t):n===v?new RegExp("^"+t+"("+(""===f?".":f)+"+)?"+(!0===e.reverseFillMask?"$":a+"*")):new RegExp("^"+t)));l=c,u=t=>{let n=m.exec(!0===e.reverseFillMask?t:t.slice(0,c.length+1));null!==n&&(t=n.slice(1).join(""));let a=[],i=g.length;for(let e=0,n=t;e"string"==typeof e?e:fl)).join(""),s=o.split(fl).join(n)}function g(t,a,r){let l=i.value,u=l.selectionEnd,h=l.value.length-u,p=y(t);!0===a&&v();let m=b(p),g=!1!==e.fillMask?w(m):m,k=f.value!==g;l.value!==g&&(l.value=g),!0===k&&(f.value=g),document.activeElement===l&&d((()=>{if(g!==s)if("insertFromPaste"!==r||!0===e.reverseFillMask)if(-1===["deleteContentBackward","deleteContentForward"].indexOf(r))if(!0===e.reverseFillMask)if(!0===k){let e=Math.max(0,g.length-(g===s?0:Math.min(m.length,h+1)));1===e&&1===u?l.setSelectionRange(e,e,"forward"):_.rightReverse(l,e)}else{let e=g.length-h;l.setSelectionRange(e,e,"backward")}else if(!0===k){let e=Math.max(0,o.indexOf(fl),Math.min(m.length,u)-1);_.right(l,e)}else{let e=u-1;_.right(l,e)}else{let t=!0===e.reverseFillMask?0===u?g.length>m.length?1:0:Math.max(0,g.length-(g===s?0:Math.min(m.length,h)+1))+1:u;l.setSelectionRange(t,t,"forward")}else{let e=l.selectionEnd,t=u-1;for(let n=c;n<=t&&ne.type+e.autogrow),v),r((()=>e.mask),(n=>{if(void 0!==n)g(f.value,!0);else{let n=y(f.value);v(),e.modelValue!==n&&t("update:modelValue",n)}})),r((()=>e.fillMask+e.reverseFillMask),(()=>{!0===p.value&&g(f.value,!0)})),r((()=>e.unmaskedValue),(()=>{!0===p.value&&g(f.value)}));let _={left(e,t){let n=-1===o.slice(t-1).indexOf(fl),a=Math.max(0,t-1);for(;a>=0;a--)if(o[a]===fl){t=a,!0===n&&t++;break}if(a<0&&void 0!==o[t]&&o[t]!==fl)return _.right(e,0);t>=0&&e.setSelectionRange(t,t,"backward")},right(e,t){let n=e.value.length,a=Math.min(n,t+1);for(;a<=n;a++){if(o[a]===fl){t=a;break}o[a-1]===fl&&(t=a)}if(a>n&&void 0!==o[t-1]&&o[t-1]!==fl)return _.left(e,n);e.setSelectionRange(t,t,"forward")},leftReverse(e,t){let n=m(e.value.length),a=Math.max(0,t-1);for(;a>=0;a--){if(n[a-1]===fl){t=a;break}if(n[a]===fl&&(t=a,0===a))break}if(a<0&&void 0!==n[t]&&n[t]!==fl)return _.rightReverse(e,0);t>=0&&e.setSelectionRange(t,t,"backward")},rightReverse(e,t){let n=e.value.length,a=m(n),i=-1===a.slice(0,t+1).indexOf(fl),r=Math.min(n,t+1);for(;r<=n;r++)if(a[r-1]===fl){(t=r)>0&&!0===i&&t--;break}if(r>n&&void 0!==a[t-1]&&a[t-1]!==fl)return _.leftReverse(e,n);e.setSelectionRange(t,t,"forward")}};function b(t){if(null==t||""===t)return"";if(!0===e.reverseFillMask)return function(e){let t=l,n=o.indexOf(fl),a=e.length-1,i="";for(let r=t.length-1;r>=0&&-1!==a;r--){let o=t[r],s=e[a];if("string"==typeof o)i=o+i,s===o&&a--;else{if(void 0===s||!o.regex.test(s))return i;do{i=(void 0!==o.transform?o.transform(s):s)+i,a--,s=e[a]}while(n===r&&void 0!==s&&o.regex.test(s))}}return i}(t);let n=l,a=0,i="";for(let e=0;ejs(y.value))),P=gl(I),A=Vs({changeEvent:!0}),L=i((()=>"textarea"===e.type||!0===e.autogrow)),O=i((()=>!0===L.value||["text","search","url","tel","password"].includes(e.type))),R=i((()=>{let t={...A.splitAttrs.listeners.value,onInput:I,onPaste:q,onChange:F,onBlur:B,onFocus:G};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=P,!0===w.value&&(t.onKeydown=C,t.onClick=T),!0===e.autogrow&&(t.onAnimationend=D),t})),z=i((()=>{let t={tabindex:0,"data-autofocus":!0===e.autofocus||void 0,rows:"textarea"===e.type?6:void 0,"aria-label":e.label,name:b.value,...A.splitAttrs.attributes.value,id:A.targetUid.value,maxlength:e.maxlength,disabled:!0===e.disable,readonly:!0===e.readonly};return!1===L.value&&(t.type=e.type),!0===e.autogrow&&(t.rows=1),t}));function q(n){if(!0===w.value&&!0!==e.reverseFillMask){let e=n.target;x(e,e.selectionStart,e.selectionEnd)}t("paste",n)}function I(n){if(!n||!n.target)return;if("file"===e.type)return void t("update:modelValue",n.target.files);let a=n.target.value;if(!0!==n.target.qComposing){if(!0===w.value)S(a,!1,n.inputType);else if(j(a),!0===O.value&&n.target===document.activeElement){let{selectionStart:e,selectionEnd:t}=n.target;void 0!==e&&void 0!==t&&d((()=>{n.target===document.activeElement&&0===a.indexOf(n.target.value)&&n.target.setSelectionRange(e,t)}))}!0===e.autogrow&&$()}else p.value=a}function D(e){t("animationend",e),$()}function j(n,a){u=()=>{g=null,"number"!==e.type&&!0===p.hasOwnProperty("value")&&delete p.value,e.modelValue!==n&&f!==n&&(f=n,!0===a&&(l=!0),t("update:modelValue",n),d((()=>{f===n&&(f=NaN)}))),u=void 0},"number"===e.type&&(s=!0,p.value=n),void 0!==e.debounce?(null!==g&&clearTimeout(g),p.value=n,g=setTimeout(u,e.debounce)):u()}function $(){requestAnimationFrame((()=>{let e=_.value;if(null!==e){let t=e.parentNode.style,{scrollTop:n}=e,{overflowY:a,maxHeight:i}=!0===h.platform.is.firefox?{}:window.getComputedStyle(e),r=void 0!==a&&"scroll"!==a;!0===r&&(e.style.overflowY="hidden"),t.marginBottom=e.scrollHeight-1+"px",e.style.height="1px",e.style.height=e.scrollHeight+"px",!0===r&&(e.style.overflowY=parseInt(i,10){null!==_.value&&(_.value.value=void 0!==y.value?y.value:"")}))}function V(){return!0===p.hasOwnProperty("value")?p.value:void 0!==y.value?y.value:""}r((()=>e.type),(()=>{_.value&&(_.value.value=e.modelValue)})),r((()=>e.modelValue),(t=>{if(!0===w.value){if(!0===l&&(l=!1,String(t)===f))return;S(t)}else y.value!==t&&(y.value=t,"number"===e.type&&!0===p.hasOwnProperty("value")&&(!0===s?s=!1:delete p.value));!0===e.autogrow&&d($)})),r((()=>e.autogrow),(e=>{!0===e?d($):null!==_.value&&o.rows>0&&(_.value.style.height="auto")})),r((()=>e.dense),(()=>{!0===e.autogrow&&d($)})),v((()=>{B()})),m((()=>{!0===e.autogrow&&$()})),Object.assign(A,{innerValue:y,fieldClass:i((()=>"q-"+(!0===L.value?"textarea":"input")+(!0===e.autogrow?" q-textarea--autogrow":""))),hasShadow:i((()=>"file"!==e.type&&"string"==typeof e.shadowText&&0!==e.shadowText.length)),inputRef:_,emitValue:j,hasValue:E,floatingLabel:i((()=>!0===E.value&&("number"!==e.type||!1===isNaN(y.value))||js(e.displayValue))),getControl:()=>n(!0===L.value?"textarea":"input",{ref:_,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...z.value,...R.value,..."file"!==e.type?{value:V()}:M.value}),getShadowControl:()=>n("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(!0===L.value?"":" text-no-wrap")},[n("span",{class:"invisible"},V()),n("span",e.shadowText)])});let H=Hs(A);return Object.assign(c,{focus:function(){Vn((()=>{let e=document.activeElement;null!==_.value&&_.value!==e&&(null===e||e.id!==A.targetUid.value)&&_.value.focus({preventScroll:!0})}))},select:function(){null!==_.value&&_.value.select()},getNativeElement:()=>_.value}),N(c,"nativeEl",(()=>_.value)),H}}),bl={threshold:0,root:null,rootMargin:"0px"};function yl(e,t,n){let a,i,r;"function"==typeof n?(a=n,i=bl,r=void 0===t.cfg):(a=n.handler,i=Object.assign({},bl,n.cfg),r=void 0===t.cfg||!1===De(t.cfg,i)),t.handler!==a&&(t.handler=a),!0===r&&(t.cfg=i,void 0!==t.observer&&t.observer.unobserve(e),t.observer=new IntersectionObserver((([n])=>{if("function"==typeof t.handler){if(null===n.rootBounds&&!0===document.body.contains(e))return t.observer.unobserve(e),void t.observer.observe(e);(!1===t.handler(n,t.observer)||!0===t.once&&!0===n.isIntersecting)&&wl(e)}}),i),t.observer.observe(e))}function wl(e){let t=e.__qvisible;void 0!==t&&(void 0!==t.observer&&t.observer.unobserve(e),delete e.__qvisible)}var kl=V({name:"intersection",mounted(e,{modifiers:t,value:n}){let a={once:!0===t.once};yl(e,a,n),e.__qvisible=a},updated(e,t){let n=e.__qvisible;void 0!==n&&yl(e,n,t.value)},beforeUnmount:wl}),xl=B({name:"QIntersection",props:{tag:{type:String,default:"div"},once:Boolean,transition:String,transitionDuration:{type:[String,Number],default:300},ssrPrerender:Boolean,margin:String,threshold:[Number,Array],root:{default:null},disable:Boolean,onVisibility:Function},setup(e,{slots:t,emit:r}){let o=a(!0===q.value&&e.ssrPrerender),s=i((()=>void 0!==e.root||void 0!==e.margin||void 0!==e.threshold?{handler:d,cfg:{root:e.root,rootMargin:e.margin,threshold:e.threshold}}:d)),l=i((()=>!0!==e.disable&&(!0!==q.value||!0!==e.once||!0!==e.ssrPrerender))),u=i((()=>[[kl,s.value,void 0,{once:e.once}]])),c=i((()=>`--q-transition-duration: ${e.transitionDuration}ms`));function d(t){o.value!==t.isIntersecting&&(o.value=t.isIntersecting,void 0!==e.onVisibility&&r("visibility",o.value))}function h(){return!0===o.value?[n("div",{key:"content",style:c.value},dt(t.default))]:void 0!==t.hidden?[n("div",{key:"hidden",style:c.value},t.hidden())]:void 0}return()=>{let t=e.transition?[n(S,{name:"q-transition--"+e.transition},h)]:h();return mt(e.tag,{class:"q-intersection"},t,"main",l.value,(()=>u.value))}}}),Sl=["ul","ol"],Cl=B({name:"QList",props:{...Rt,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:t}){let a=k(),r=zt(e,a.proxy.$q),o=i((()=>Sl.includes(e.tag)?null:"list")),s=i((()=>"q-list"+(!0===e.bordered?" q-list--bordered":"")+(!0===e.dense?" q-list--dense":"")+(!0===e.separator?" q-list--separator":"")+(!0===r.value?" q-list--dark":"")+(!0===e.padding?" q-list--padding":"")));return()=>n(e.tag,{class:s.value,role:o.value},dt(t.default))}}),Tl=[34,37,40,33,39,38],Ml=Object.keys(Vi),El=B({name:"QKnob",props:{...ii,...Vi,modelValue:{type:Number,required:!0},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},tabindex:{type:[Number,String],default:0},disable:Boolean,readonly:Boolean},emits:["update:modelValue","change","dragValue"],setup(e,{slots:t,emit:o}){let s,{proxy:l}=k(),{$q:u}=l,c=a(e.modelValue),d=a(!1),h=i((()=>!0===isNaN(e.innerMin)||e.innerMin!0===isNaN(e.innerMax)||e.innerMax>e.max?e.max:e.innerMax));function f(){c.value=null===e.modelValue?h.value:Xe(e.modelValue,h.value,p.value),O(!0)}r((()=>`${e.modelValue}|${h.value}|${p.value}`),f),f();let m=i((()=>!1===e.disable&&!1===e.readonly)),v=i((()=>"q-knob non-selectable"+(!0===m.value?" q-knob--editable":!0===e.disable?" disabled":""))),g=i((()=>(String(e.step).trim().split(".")[1]||"").length)),_=i((()=>0===e.step?1:e.step)),b=i((()=>!0===e.instantFeedback||!0===d.value)),y=!0===u.platform.is.mobile?i((()=>!0===m.value?{onClick:E}:{})):i((()=>!0===m.value?{onMousedown:M,onClick:E,onKeydown:P,onKeyup:L}:{})),w=i((()=>!0===m.value?{tabindex:e.tabindex}:{["aria-"+(!0===e.disable?"disabled":"readonly")]:"true"})),x=i((()=>{let t={};return Ml.forEach((n=>{t[n]=e[n]})),t}));function S(e){e.isFinal?(A(e.evt,!0),d.value=!1):(e.isFirst&&(T(),d.value=!0),A(e.evt))}let C=i((()=>[[Ki,S,void 0,{prevent:!0,stop:!0,mouse:!0}]]));function T(){let{top:e,left:t,width:n,height:a}=l.$el.getBoundingClientRect();s={top:e+a/2,left:t+n/2}}function M(e){T(),A(e)}function E(e){T(),A(e,!0)}function P(e){if(!Tl.includes(e.keyCode))return;X(e);let t=([34,33].includes(e.keyCode)?10:1)*_.value,n=[34,37,40].includes(e.keyCode)?-t:t;c.value=Xe(parseFloat((c.value+n).toFixed(g.value)),h.value,p.value),O()}function A(t,n){let a=Q(t),i=Math.abs(a.top-s.top),r=Math.sqrt(i**2+Math.abs(a.left-s.left)**2),l=Math.asin(i/r)*(180/Math.PI);l=a.top=_.value/2?(e<0?-1:1)*_.value:0),d=parseFloat(d.toFixed(g.value))}d=Xe(d,h.value,p.value),o("dragValue",d),c.value!==d&&(c.value=d),O(n)}function L(e){Tl.includes(e.keyCode)&&O(!0)}function O(t){e.modelValue!==c.value&&o("update:modelValue",c.value),!0===t&&o("change",c.value)}let N=ri(e);function R(){return n("input",N.value)}return()=>{let n={class:v.value,role:"slider","aria-valuemin":h.value,"aria-valuemax":p.value,"aria-valuenow":e.modelValue,...w.value,...x.value,value:c.value,instantFeedback:b.value,...y.value},a={default:t.default};return!0===m.value&&void 0!==e.name&&(a.internal=R),mt(Wi,n,a,"knob",m.value,(()=>C.value))}}}),{passive:Pl}=U,Al=["both","horizontal","vertical"],Ll=B({name:"QScrollObserver",props:{axis:{type:String,validator:e=>Al.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:ra},emits:["scroll"],setup(e,{emit:t}){let n,a,i={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},o=null;function s(){null!==o&&o();let a=Math.max(0,ua(n)),r=ca(n),s={top:a-i.position.top,left:r-i.position.left};if("vertical"===e.axis&&0===s.top||"horizontal"===e.axis&&0===s.left)return;let l=Math.abs(s.top)>=Math.abs(s.left)?s.top<0?"up":"down":s.left<0?"left":"right";i.position={top:a,left:r},i.directionChanged=i.direction!==l,i.delta=s,!0===i.directionChanged&&(i.direction=l,i.inflectionPoint=i.position),t("scroll",{...i})}function l(){n=sa(a,e.scrollTarget),n.addEventListener("scroll",c,Pl),c(!0)}function u(){void 0!==n&&(n.removeEventListener("scroll",c,Pl),n=void 0)}function c(t){if(!0===t||0===e.debounce||"0"===e.debounce)s();else if(null===o){let[t,n]=e.debounce?[setTimeout(s,e.debounce),clearTimeout]:[requestAnimationFrame(s),cancelAnimationFrame];o=()=>{n(t),o=null}}}r((()=>e.scrollTarget),(()=>{u(),l()}));let{proxy:d}=k();return r((()=>d.$q.lang.rtl),s),m((()=>{a=d.$el.parentNode,l()})),v((()=>{null!==o&&o(),u()})),Object.assign(d,{trigger:c,getPosition:()=>i}),W}}),Ol=B({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=a(null),c=a(s.screen.height),d=a(!0===e.container?0:s.screen.width),h=a({position:0,direction:"down",inflectionPoint:0}),p=a(0),f=a(!0===q.value?0:ga()),m=i((()=>"q-layout q-layout--"+(!0===e.container?"containerized":"standard"))),v=i((()=>!1===e.container?{minHeight:s.screen.height+"px"}:null)),_=i((()=>0!==f.value?{[!0===s.lang.rtl?"left":"right"]:`${f.value}px`}:null)),b=i((()=>0!==f.value?{[!0===s.lang.rtl?"right":"left"]:0,[!0===s.lang.rtl?"left":"right"]:`-${f.value}px`,width:`calc(100% + ${f.value}px)`}:null));function y(t){if(!0===e.container||!0!==document.qScrollPrevented){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};h.value=n,void 0!==e.onScroll&&o("scroll",n)}}function x(t){let{height:n,width:a}=t,i=!1;c.value!==n&&(i=!0,c.value=n,void 0!==e.onScrollHeight&&o("scrollHeight",n),C()),d.value!==a&&(i=!0,d.value=a),!0===i&&void 0!==e.onResize&&o("resize",t)}function S({height:e}){p.value!==e&&(p.value=e,C())}function C(){if(!0===e.container){let e=c.value>p.value?ga():0;f.value!==e&&(f.value=e)}}let T=null,M={instances:{},view:i((()=>e.view)),isContainer:i((()=>e.container)),rootRef:l,height:c,containerHeight:p,scrollbarWidth:f,totalWidth:i((()=>d.value+f.value)),rows:i((()=>{let t=e.view.toLowerCase().split(" ");return{top:t[0].split(""),middle:t[1].split(""),bottom:t[2].split("")}})),header:u({size:0,offset:0,space:!1}),right:u({size:300,offset:0,space:!1}),footer:u({size:0,offset:0,space:!1}),left:u({size:300,offset:0,space:!1}),scroll:h,animate(){null!==T?clearTimeout(T):document.body.classList.add("q-body--layout-animate"),T=setTimeout((()=>{T=null,document.body.classList.remove("q-body--layout-animate")}),155)},update(e,t,n){M[e][t]=n}};if(w(Pe,M),ga()>0){let t=function(){i=null,o.classList.remove("hide-scrollbar")},n=function(){if(null===i){if(o.scrollHeight>s.screen.height)return;o.classList.add("hide-scrollbar")}else clearTimeout(i);i=setTimeout(t,300)},a=function(e){null!==i&&"remove"===e&&(clearTimeout(i),t()),window[`${e}EventListener`]("resize",n)},i=null,o=document.body;r((()=>!0!==e.container?"add":"remove"),a),!0!==e.container&&a("add"),g((()=>{a("remove")}))}return()=>{let a=pt(t.default,[n(Ll,{onScroll:y}),n(lr,{onResize:x})]),i=n("div",{class:m.value,style:v.value,ref:!0===e.container?void 0:l,tabindex:-1},a);return!0===e.container?n("div",{class:"q-layout-container overflow-hidden",ref:l},[n(lr,{onResize:S}),n("div",{class:"absolute-full",style:_.value},[n("div",{class:"scroll",style:b.value},[i])])]):i}}}),Nl=["horizontal","vertical","cell","none"],Rl=B({name:"QMarkupTable",props:{...Rt,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:"horizontal",validator:e=>Nl.includes(e)}},setup(e,{slots:t}){let a=k(),r=zt(e,a.proxy.$q),o=i((()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(!0===r.value?" q-table--dark q-table__card--dark q-dark":"")+(!0===e.dense?" q-table--dense":"")+(!0===e.flat?" q-table--flat":"")+(!0===e.bordered?" q-table--bordered":"")+(!0===e.square?" q-table--square":"")+(!1===e.wrapCells?" q-table--no-wrap":"")));return()=>n("div",{class:o.value},[n("table",{class:"q-table"},dt(t.default))])}}),zl=B({name:"QNoSsr",props:{tag:{type:String,default:"div"},placeholder:String},setup(e,{slots:t}){let{isHydrated:a}=rr();return()=>{if(!0===a.value){let a=dt(t.default);return void 0===a?a:a.length>1?n(e.tag,{},a):a[0]}let i={class:"q-no-ssr-placeholder"},r=dt(t.placeholder);return void 0!==r?r.length>1?n(e.tag,i,r):r[0]:void 0!==e.placeholder?n(e.tag,i,e.placeholder):void 0}}}),ql=B({name:"QRadio",props:{...Rt,...ut,...ii,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:["update:modelValue"],setup(e,{slots:t,emit:r}){let{proxy:o}=k(),l=zt(e,o.$q),u=ct(e,qi),c=a(null),{refocusTargetEl:d,refocusTarget:h}=zi(e,c),p=i((()=>s(e.modelValue)===s(e.val))),f=i((()=>"q-radio cursor-pointer no-outline row inline no-wrap items-center"+(!0===e.disable?" disabled":"")+(!0===l.value?" q-radio--dark":"")+(!0===e.dense?" q-radio--dense":"")+(!0===e.leftLabel?" reverse":""))),m=i((()=>{let t=void 0===e.color||!0!==e.keepColor&&!0!==p.value?"":` text-${e.color}`;return`q-radio__inner relative-position q-radio__inner--${!0===p.value?"truthy":"falsy"}${t}`})),v=i((()=>(!0===p.value?e.checkedIcon:e.uncheckedIcon)||null)),g=i((()=>!0===e.disable?-1:e.tabindex||0)),_=oi(i((()=>{let t={type:"radio"};return void 0!==e.name&&Object.assign(t,{".checked":!0===p.value,"^checked":!0===p.value?"checked":void 0,name:e.name,value:e.val}),t})));function b(t){void 0!==t&&(X(t),h(t)),!0!==e.disable&&!0!==p.value&&r("update:modelValue",e.val,t)}function y(e){(13===e.keyCode||32===e.keyCode)&&X(e)}function w(e){(13===e.keyCode||32===e.keyCode)&&b(e)}Object.assign(o,{set:b});let x=n("svg",{key:"svg",class:"q-radio__bg absolute non-selectable",viewBox:"0 0 24 24"},[n("path",{d:"M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12"}),n("path",{class:"q-radio__check",d:"M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6"})]);return()=>{let a=null!==v.value?[n("div",{key:"icon",class:"q-radio__icon-container absolute-full flex flex-center no-wrap"},[n(At,{class:"q-radio__icon",name:v.value})])]:[x];!0!==e.disable&&_(a,"unshift"," q-radio__native q-ma-none q-pa-none");let i=[n("div",{class:m.value,style:u.value,"aria-hidden":"true"},a)];null!==d.value&&i.push(d.value);let r=void 0!==e.label?pt(t.default,[e.label]):dt(t.default);return void 0!==r&&i.push(n("div",{class:"q-radio__label q-anchor--skip"},r)),n("div",{ref:c,class:f.value,tabindex:g.value,role:"radio","aria-label":e.label,"aria-checked":!0===p.value?"true":"false","aria-disabled":!0===e.disable?"true":void 0,onClick:b,onKeydown:y,onKeyup:w},i)}}}),Il=B({name:"QToggle",props:{...Ii,icon:String,iconColor:String},emits:Di,setup:e=>ji("toggle",(function(t,a){let r=i((()=>(!0===t.value?e.checkedIcon:!0===a.value?e.indeterminateIcon:e.uncheckedIcon)||e.icon)),o=i((()=>!0===t.value?e.iconColor:null));return()=>[n("div",{class:"q-toggle__track"}),n("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},void 0!==r.value?[n(At,{name:r.value,color:o.value})]:void 0)]}))}),Dl={radio:ql,checkbox:$i,toggle:Il},jl=Object.keys(Dl);function $l(e,t){if("function"==typeof e)return e;let n=void 0!==e?e:t;return e=>e[n]}var Fl=B({name:"QOptionGroup",props:{...Rt,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(je),default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],name:String,type:{type:String,default:"radio",validator:e=>jl.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{emit:t,slots:a}){let{proxy:{$q:r}}=k(),o=Array.isArray(e.modelValue);"radio"===e.type?!0===o&&console.error("q-option-group: model should not be array"):!1===o&&console.error("q-option-group: model should be array in your case");let s=zt(e,r),l=i((()=>Dl[e.type])),u=i((()=>$l(e.optionValue,"value"))),c=i((()=>$l(e.optionLabel,"label"))),d=i((()=>$l(e.optionDisable,"disable"))),h=i((()=>e.options.map((t=>({val:u.value(t),name:void 0===t.name?e.name:t.name,disable:e.disable||d.value(t),leftLabel:void 0===t.leftLabel?e.leftLabel:t.leftLabel,color:void 0===t.color?e.color:t.color,checkedIcon:t.checkedIcon,uncheckedIcon:t.uncheckedIcon,dark:void 0===t.dark?s.value:t.dark,size:void 0===t.size?e.size:t.size,dense:e.dense,keepColor:void 0===t.keepColor?e.keepColor:t.keepColor}))))),p=i((()=>"q-option-group q-gutter-x-sm"+(!0===e.inline?" q-option-group--inline":""))),f=i((()=>{let t={role:"group"};return"radio"===e.type&&(t.role="radiogroup",!0===e.disable&&(t["aria-disabled"]="true")),t}));function m(e){t("update:modelValue",e)}return()=>n("div",{class:p.value,...f.value},e.options.map(((t,i)=>{let r=void 0!==a["label-"+i]?()=>a["label-"+i](t):void 0!==a.label?()=>a.label(t):void 0;return n("div",[n(l.value,{label:void 0===r?c.value(t):null,modelValue:e.modelValue,"onUpdate:modelValue":m,...h.value[i]},r)])})))}}),Bl=B({name:"QPage",props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=y(Pe,ze);if(r===ze)return console.error("QPage needs to be a deep child of QLayout"),ze;if(y(Ae,ze)===ze)return console.error("QPage needs to be child of QPageContainer"),ze;let o=i((()=>{let t=(!0===r.header.space?r.header.size:0)+(!0===r.footer.space?r.footer.size:0);if("function"==typeof e.styleFn){let n=!0===r.isContainer.value?r.containerHeight.value:a.screen.height;return e.styleFn(t,n)}return{minHeight:!0===r.isContainer.value?r.containerHeight.value-t+"px":0===a.screen.height?0!==t?`calc(100vh - ${t}px)`:"100vh":a.screen.height-t+"px"}})),s=i((()=>"q-page"+(!0===e.padding?" q-layout-padding":"")));return()=>n("main",{class:s.value,style:o.value},dt(t.default))}}),Vl=B({name:"QPageContainer",setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=y(Pe,ze);if(r===ze)return console.error("QPageContainer needs to be child of QLayout"),ze;w(Ae,!0);let o=i((()=>{let e={};return!0===r.header.space&&(e.paddingTop=`${r.header.size}px`),!0===r.right.space&&(e["padding"+(!0===a.lang.rtl?"Left":"Right")]=`${r.right.size}px`),!0===r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),!0===r.left.space&&(e["padding"+(!0===a.lang.rtl?"Right":"Left")]=`${r.left.size}px`),e}));return()=>n("div",{class:"q-page-container",style:o.value},dt(t.default))}}),Hl={position:{type:String,default:"bottom-right",validator:e=>["top-right","top-left","bottom-right","bottom-left","top","right","bottom","left"].includes(e)},offset:{type:Array,validator:e=>2===e.length},expand:Boolean};function Ul(){let{props:e,proxy:{$q:t}}=k(),a=y(Pe,ze);if(a===ze)return console.error("QPageSticky needs to be child of QLayout"),ze;let r=i((()=>{let t=e.position;return{top:-1!==t.indexOf("top"),right:-1!==t.indexOf("right"),bottom:-1!==t.indexOf("bottom"),left:-1!==t.indexOf("left"),vertical:"top"===t||"bottom"===t,horizontal:"left"===t||"right"===t}})),o=i((()=>a.header.offset)),s=i((()=>a.right.offset)),l=i((()=>a.footer.offset)),u=i((()=>a.left.offset)),c=i((()=>{let n=0,a=0,i=r.value,c=!0===t.lang.rtl?-1:1;!0===i.top&&0!==o.value?a=`${o.value}px`:!0===i.bottom&&0!==l.value&&(a=-l.value+"px"),!0===i.left&&0!==u.value?n=c*u.value+"px":!0===i.right&&0!==s.value&&(n=-c*s.value+"px");let d={transform:`translate(${n}, ${a})`};return e.offset&&(d.margin=`${e.offset[1]}px ${e.offset[0]}px`),!0===i.vertical?(0!==u.value&&(d[!0===t.lang.rtl?"right":"left"]=`${u.value}px`),0!==s.value&&(d[!0===t.lang.rtl?"left":"right"]=`${s.value}px`)):!0===i.horizontal&&(0!==o.value&&(d.top=`${o.value}px`),0!==l.value&&(d.bottom=`${l.value}px`)),d})),d=i((()=>`q-page-sticky row flex-center fixed-${e.position} q-page-sticky--${!0===e.expand?"expand":"shrink"}`));return{$layout:a,getStickyContent:function(t){let a=dt(t.default);return n("div",{class:d.value,style:c.value},!0===e.expand?a:[n("div",a)])}}}var Wl=B({name:"QPageScroller",props:{...Hl,scrollOffset:{type:Number,default:1e3},reverse:Boolean,duration:{type:Number,default:300},offset:{...Hl.offset,default:()=>[18,18]}},emits:["click"],setup(e,{slots:t,emit:o}){let s,{proxy:{$q:l}}=k(),{$layout:u,getStickyContent:c}=Ul(),d=a(null),h=i((()=>u.height.value-(!0===u.isContainer.value?u.containerHeight.value:l.screen.height)));function p(){return!0===e.reverse?h.value-u.scroll.value.position>e.scrollOffset:u.scroll.value.position>e.scrollOffset}let f=a(p());function m(){let e=p();f.value!==e&&(f.value=e)}function g(){!0===e.reverse?void 0===s&&(s=r(h,m)):_()}function _(){void 0!==s&&(s(),s=void 0)}function b(t){ma(sa(!0===u.isContainer.value?d.value:u.rootRef.value),!0===e.reverse?u.height.value:0,e.duration),o("click",t)}function y(){return!0===f.value?n("div",{ref:d,class:"q-page-scroller",onClick:b},c(t)):null}return r(u.scroll,m),r((()=>e.reverse),g),g(),v(_),()=>n(S,{name:"q-transition--fade"},y)}}),Yl=B({name:"QPageSticky",props:Hl,setup(e,{slots:t}){let{getStickyContent:n}=Ul();return()=>n(t)}});function Ql(e,t){return[!0,!1].includes(e)?e:t}var Kl=B({name:"QPagination",props:{...Rt,modelValue:{type:Number,required:!0},min:{type:[Number,String],default:1},max:{type:[Number,String],required:!0},maxPages:{type:[Number,String],default:0,validator:e=>("string"==typeof e?parseInt(e,10):e)>=0},inputStyle:[Array,String,Object],inputClass:[Array,String,Object],size:String,disable:Boolean,input:Boolean,iconPrev:String,iconNext:String,iconFirst:String,iconLast:String,toFn:Function,boundaryLinks:{type:Boolean,default:null},boundaryNumbers:{type:Boolean,default:null},directionLinks:{type:Boolean,default:null},ellipses:{type:Boolean,default:null},ripple:{type:[Boolean,Object],default:null},round:Boolean,rounded:Boolean,flat:Boolean,outline:Boolean,unelevated:Boolean,push:Boolean,glossy:Boolean,color:{type:String,default:"primary"},textColor:String,activeDesign:{type:String,default:"",values:e=>""===e||yn.includes(e)},activeColor:String,activeTextColor:String,gutter:String,padding:{type:String,default:"3px 2px"}},emits:["update:modelValue"],setup(e,{emit:t}){let{proxy:o}=k(),{$q:s}=o,l=zt(e,s),u=i((()=>parseInt(e.min,10))),c=i((()=>parseInt(e.max,10))),d=i((()=>parseInt(e.maxPages,10))),h=i((()=>_.value+" / "+c.value)),p=i((()=>Ql(e.boundaryLinks,e.input))),f=i((()=>Ql(e.boundaryNumbers,!e.input))),m=i((()=>Ql(e.directionLinks,e.input))),v=i((()=>Ql(e.ellipses,!e.input))),g=a(null),_=i({get:()=>e.modelValue,set:n=>{if(n=parseInt(n,10),e.disable||isNaN(n))return;let a=Xe(n,u.value,c.value);e.modelValue!==a&&t("update:modelValue",a)}});r((()=>`${u.value}|${c.value}`),(()=>{_.value=e.modelValue}));let b=i((()=>"q-pagination row no-wrap items-center"+(!0===e.disable?" disabled":""))),y=i((()=>e.gutter in vn?`${vn[e.gutter]}px`:e.gutter||null)),w=i((()=>null!==y.value?`--q-pagination-gutter-parent:-${y.value};--q-pagination-gutter-child:${y.value}`:null)),x=i((()=>{let t=[e.iconFirst||s.iconSet.pagination.first,e.iconPrev||s.iconSet.pagination.prev,e.iconNext||s.iconSet.pagination.next,e.iconLast||s.iconSet.pagination.last];return!0===s.lang.rtl?t.reverse():t})),S=i((()=>({"aria-disabled":!0===e.disable?"true":"false",role:"navigation"}))),C=i((()=>wn(e,"flat"))),T=i((()=>({[C.value]:!0,round:e.round,rounded:e.rounded,padding:e.padding,color:e.color,textColor:e.textColor,size:e.size,ripple:null===e.ripple||e.ripple}))),M=i((()=>{let t={[C.value]:!1};return""!==e.activeDesign&&(t[e.activeDesign]=!0),t})),E=i((()=>({...M.value,color:e.activeColor||e.color,textColor:e.activeTextColor||e.textColor}))),P=i((()=>{let t=Math.max(d.value,1+(v.value?2:0)+(f.value?2:0)),n={pgFrom:u.value,pgTo:c.value,ellipsesStart:!1,ellipsesEnd:!1,boundaryStart:!1,boundaryEnd:!1,marginalStyle:{minWidth:`${Math.max(2,String(c.value).length)}em`}};return d.value&&tu.value+(f.value?1:0)&&(n.ellipsesStart=!0,n.pgFrom++),f.value&&(n.boundaryEnd=!0,n.pgTo--),v.value&&n.pgTo{function e(){_.value=g.value,g.value=null}return{"onUpdate:modelValue":e=>{g.value=e},onKeyup:t=>{!0===pe(t,13)&&e()},onBlur:e}}));function O(t,a,i){let r={"aria-label":a,"aria-current":"false",...T.value,...t};return!0===i&&Object.assign(r,{"aria-current":"true",...E.value}),void 0!==a&&(void 0!==e.toFn?r.to=e.toFn(a):r.onClick=()=>{A(a)}),n(Pn,r)}return Object.assign(o,{set:A,setByOffset:function(e){_.value=_.value+e}}),()=>{let t,a=[],i=[];if(!0===p.value&&(a.push(O({key:"bls",disable:e.disable||e.modelValue<=u.value,icon:x.value[0]},u.value)),i.unshift(O({key:"ble",disable:e.disable||e.modelValue>=c.value,icon:x.value[3]},c.value))),!0===m.value&&(a.push(O({key:"bdp",disable:e.disable||e.modelValue<=u.value,icon:x.value[1]},e.modelValue-1)),i.unshift(O({key:"bdn",disable:e.disable||e.modelValue>=c.value,icon:x.value[2]},e.modelValue+1))),!0!==e.input){t=[];let{pgFrom:n,pgTo:r,marginalStyle:o}=P.value;if(!0===P.value.boundaryStart){let t=u.value===e.modelValue;a.push(O({key:"bns",style:o,disable:e.disable,label:u.value},u.value,t))}if(!0===P.value.boundaryEnd){let t=c.value===e.modelValue;i.unshift(O({key:"bne",style:o,disable:e.disable,label:c.value},c.value,t))}!0===P.value.ellipsesStart&&a.push(O({key:"bes",style:o,disable:e.disable,label:"…",ripple:!1},n-1)),!0===P.value.ellipsesEnd&&i.unshift(O({key:"bee",style:o,disable:e.disable,label:"…",ripple:!1},r+1));for(let a=n;a<=r;a++)t.push(O({key:`bpg${a}`,style:o,disable:e.disable,label:a},a,a===e.modelValue))}return n("div",{class:b.value,...S.value},[n("div",{class:"q-pagination__content row no-wrap items-center",style:w.value},[...a,!0===e.input?n(_l,{class:"inline",style:{width:h.value.length/1.5+"em"},type:"number",dense:!0,value:g.value,disable:e.disable,dark:l.value,borderless:!0,inputClass:e.inputClass,inputStyle:e.inputStyle,placeholder:h.value,min:u.value,max:c.value,...L.value}):n("div",{class:"q-pagination__middle row justify-center"},t),...i])])}}});function Gl(e){let t,n,a=!1;function i(){n=arguments,!0!==a&&(a=!0,t=window.requestAnimationFrame((()=>{e.apply(this,n),n=void 0,a=!1})))}return i.cancel=()=>{window.cancelAnimationFrame(t),a=!1},i}var{passive:Zl}=U,Xl=B({name:"QParallax",props:{src:String,height:{type:Number,default:500},speed:{type:Number,default:1,validator:e=>e>=0&&e<=1},scrollTarget:ra,onScroll:Function},setup(e,{slots:t,emit:i}){let o,s,l,u,c,d,h=a(0),p=a(null),f=a(null),g=a(null);r((()=>e.height),(()=>{!0===o&&b()})),r((()=>e.scrollTarget),(()=>{!0===o&&(x(),k())}));let _=t=>{h.value=t,void 0!==e.onScroll&&i("scroll",t)};function b(){let t,n,a;d===window?(t=0,a=n=window.innerHeight):(t=sn(d).top,n=ln(d),a=t+n);let i=sn(p.value).top,r=i+e.height;if(void 0!==c||r>t&&i{s.style.transform=`translate3d(-50%,${Math.round(e)}px,0)`};function w(){l=s.naturalHeight||s.videoHeight||ln(s),!0===o&&b()}function k(){o=!0,d=sa(p.value,e.scrollTarget),d.addEventListener("scroll",b,Zl),window.addEventListener("resize",u,Zl),b()}function x(){!0===o&&(o=!1,d.removeEventListener("scroll",b,Zl),window.removeEventListener("resize",u,Zl),d=void 0,y.cancel(),_.cancel(),u.cancel())}return m((()=>{y=Gl(y),_=Gl(_),u=Gl(w),s=void 0!==t.media?f.value.children[0]:g.value,s.onload=s.onloadstart=s.loadedmetadata=w,w(),s.style.display="initial",void 0!==window.IntersectionObserver?(c=new IntersectionObserver((e=>{(!0===e[0].isIntersecting?k:x)()})),c.observe(p.value)):k()})),v((()=>{x(),void 0!==c&&c.disconnect(),s.onload=s.onloadstart=s.loadedmetadata=null})),()=>n("div",{ref:p,class:"q-parallax",style:{height:`${e.height}px`}},[n("div",{ref:f,class:"q-parallax__media absolute-full"},void 0!==t.media?t.media():[n("img",{ref:g,src:e.src})]),n("div",{class:"q-parallax__content absolute-full column flex-center"},void 0!==t.content?t.content({percentScrolled:h.value}):dt(t.default))])}});function Jl(e,t=new WeakMap){if(Object(e)!==e)return e;if(t.has(e))return t.get(e);let n=e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e.source,e.flags):e instanceof Set?new Set:e instanceof Map?new Map:"function"!=typeof e.constructor?Object.create(null):void 0!==e.prototype&&"function"==typeof e.prototype.constructor?e:new e.constructor;if("function"==typeof e.constructor&&"function"==typeof e.valueOf){let n=e.valueOf();if(Object(n)!==n){let a=new e.constructor(n);return t.set(e,a),a}}return t.set(e,n),e instanceof Set?e.forEach((e=>{n.add(Jl(e,t))})):e instanceof Map&&e.forEach(((e,a)=>{n.set(a,Jl(e,t))})),Object.assign(n,...Object.keys(e).map((n=>({[n]:Jl(e[n],t)}))))}var eu=B({name:"QPopupEdit",props:{modelValue:{required:!0},title:String,buttons:Boolean,labelSet:String,labelCancel:String,color:{type:String,default:"primary"},validate:{type:Function,default:()=>!0},autoSave:Boolean,cover:{type:Boolean,default:!0},disable:Boolean},emits:["update:modelValue","save","cancel","beforeShow","show","beforeHide","hide"],setup(e,{slots:t,emit:r}){let{proxy:o}=k(),{$q:s}=o,l=a(null),u=a(""),c=a(""),h=!1,p=i((()=>N({initialValue:u.value,validate:e.validate,set:f,cancel:m,updatePosition:v},"value",(()=>c.value),(e=>{c.value=e}))));function f(){!1!==e.validate(c.value)&&(!0===g()&&(r("save",c.value,u.value),r("update:modelValue",c.value)),_())}function m(){!0===g()&&r("cancel",c.value,u.value),_()}function v(){d((()=>{l.value.updatePosition()}))}function g(){return!1===De(c.value,u.value)}function _(){h=!0,l.value.hide()}function b(){h=!1,u.value=Jl(e.modelValue),c.value=Jl(e.modelValue),r("beforeShow")}function y(){r("show")}function w(){!1===h&&!0===g()&&(!0===e.autoSave&&!0===e.validate(c.value)?(r("save",c.value,u.value),r("update:modelValue",c.value)):r("cancel",c.value,u.value)),r("beforeHide")}function x(){r("hide")}function S(){let a=void 0!==t.default?[].concat(t.default(p.value)):[];return e.title&&a.unshift(n("div",{class:"q-dialog__title q-mt-sm q-mb-sm"},e.title)),!0===e.buttons&&a.push(n("div",{class:"q-popup-edit__buttons row justify-center no-wrap"},[n(Pn,{flat:!0,color:e.color,label:e.labelCancel||s.lang.label.cancel,onClick:m}),n(Pn,{flat:!0,color:e.color,label:e.labelSet||s.lang.label.set,onClick:f})])),a}return Object.assign(o,{set:f,cancel:m,show(e){null!==l.value&&l.value.show(e)},hide(e){null!==l.value&&l.value.hide(e)},updatePosition:v}),()=>{if(!0!==e.disable)return n(Qa,{ref:l,class:"q-popup-edit",cover:e.cover,onBeforeShow:b,onShow:y,onBeforeHide:w,onHide:x,onEscapeKey:m},S)}}}),tu=B({name:"QPopupProxy",props:{...Nn,breakpoint:{type:[String,Number],default:450}},emits:["show","hide"],setup(e,{slots:t,emit:o,attrs:s}){let{proxy:l}=k(),{$q:u}=l,c=a(!1),d=a(null),h=i((()=>parseInt(e.breakpoint,10))),{canShow:p}=Rn({showing:c});function f(){return u.screen.width"menu"===m.value?{maxHeight:"99vh"}:{}));function g(e){c.value=!0,o("show",e)}function _(e){c.value=!1,m.value=f(),o("hide",e)}return r((()=>f()),(e=>{!0!==c.value&&(m.value=e)})),Object.assign(l,{show(e){!0===p(e)&&d.value.show(e)},hide(e){d.value.hide(e)},toggle(e){d.value.toggle(e)}}),N(l,"currentComponent",(()=>({type:m.value,ref:d.value}))),()=>{let a,i={ref:d,...v.value,...s,onShow:g,onHide:_};return"dialog"===m.value?a=Zo:(a=Qa,Object.assign(i,{target:e.target,contextMenu:e.contextMenu,noParentEvent:!0,separateClosePopup:!0})),n(a,i,t.default)}}}),nu={xs:2,sm:4,md:6,lg:10,xl:14};function au(e,t,n){return{transform:!0===t?`translateX(${!0===n.lang.rtl?"-":""}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var iu=B({name:"QLinearProgress",props:{...Rt,...ut,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:a}=k(),r=zt(e,a.$q),o=ct(e,nu),s=i((()=>!0===e.indeterminate||!0===e.query)),l=i((()=>e.reverse!==e.query)),u=i((()=>({...null!==o.value?o.value:{},"--q-linear-progress-speed":`${e.animationSpeed}ms`}))),c=i((()=>"q-linear-progress"+(void 0!==e.color?` text-${e.color}`:"")+(!0===e.reverse||!0===e.query?" q-linear-progress--reverse":"")+(!0===e.rounded?" rounded-borders":""))),d=i((()=>au(void 0!==e.buffer?e.buffer:1,l.value,a.$q))),h=i((()=>`with${!0===e.instantFeedback?"out":""}-transition`)),p=i((()=>`q-linear-progress__track absolute-full q-linear-progress__track--${h.value} q-linear-progress__track--${!0===r.value?"dark":"light"}`+(void 0!==e.trackColor?` bg-${e.trackColor}`:""))),f=i((()=>au(!0===s.value?1:e.value,l.value,a.$q))),m=i((()=>`q-linear-progress__model absolute-full q-linear-progress__model--${h.value} q-linear-progress__model--${!0===s.value?"in":""}determinate`)),v=i((()=>({width:100*e.value+"%"}))),g=i((()=>`q-linear-progress__stripe absolute-${!0===e.reverse?"right":"left"} q-linear-progress__stripe--${h.value}`));return()=>{let a=[n("div",{class:p.value,style:d.value}),n("div",{class:m.value,style:f.value})];return!0===e.stripe&&!1===s.value&&a.push(n("div",{class:g.value,style:v.value})),n("div",{class:c.value,style:u.value,role:"progressbar","aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":!0===e.indeterminate?void 0:e.value},pt(t.default,a))}}}),ru=40,ou=B({name:"QPullToRefresh",props:{color:String,bgColor:String,icon:String,noMouse:Boolean,disable:Boolean,scrollTarget:ra},emits:["refresh"],setup(e,{slots:t,emit:o}){let{proxy:s}=k(),{$q:l}=s,u=a("pull"),c=a(0),d=a(!1),h=a(-40),p=a(!1),f=a({}),g=i((()=>({opacity:c.value,transform:`translateY(${h.value}px) rotate(${360*c.value}deg)`}))),_=i((()=>"q-pull-to-refresh__puller row flex-center"+(!0===p.value?" q-pull-to-refresh__puller--animating":"")+(void 0!==e.bgColor?` bg-${e.bgColor}`:"")));function b(e){if(!0===e.isFinal)return void(!0===d.value&&(d.value=!1,"pulled"===u.value?(u.value="refreshing",M({pos:20}),x()):"pull"===u.value&&M({pos:-40,ratio:0})));if(!0===p.value||"refreshing"===u.value)return!1;if(!0===e.isFirst){if(0!==ua(C)||"down"!==e.direction)return!0===d.value&&(d.value=!1,u.value="pull",M({pos:-40,ratio:0})),!1;d.value=!0;let{top:t,left:n}=S.getBoundingClientRect();f.value={top:t+"px",left:n+"px",width:window.getComputedStyle(S).getPropertyValue("width")}}Z(e.evt);let t=Math.min(140,Math.max(0,e.distance.y));h.value=t-ru,c.value=Xe(t/60,0,1);let n=h.value>20?"pulled":"pull";u.value!==n&&(u.value=n)}let y=i((()=>{let t={down:!0};return!0!==e.noMouse&&(t.mouse=!0),[[Ki,b,void 0,t]]})),w=i((()=>"q-pull-to-refresh__content"+(!0===d.value?" no-pointer-events":"")));function x(){o("refresh",(()=>{M({pos:-40,ratio:0},(()=>{u.value="pull"}))}))}let S,C,T=null;function M({pos:e,ratio:t},n){p.value=!0,h.value=e,void 0!==t&&(c.value=t),null!==T&&clearTimeout(T),T=setTimeout((()=>{T=null,p.value=!1,n&&n()}),300)}function E(){C=sa(S,e.scrollTarget)}return r((()=>e.scrollTarget),E),m((()=>{S=s.$el,E()})),v((()=>{null!==T&&clearTimeout(T)})),Object.assign(s,{trigger:x,updateScrollTarget:E}),()=>mt("div",{class:"q-pull-to-refresh"},[n("div",{class:w.value},dt(t.default)),n("div",{class:"q-pull-to-refresh__puller-container fixed row flex-center no-pointer-events z-top",style:f.value},[n("div",{class:_.value,style:g.value},["refreshing"!==u.value?n(At,{name:e.icon||l.iconSet.pullToRefresh.icon,color:e.color,size:"32px"}):n(on,{size:"24px",color:e.color})])])],"main",!1===e.disable,(()=>y.value))}}),su=0,lu=1,uu=2,cu=B({name:"QRange",props:{...er,modelValue:{type:Object,default:()=>({min:null,max:null}),validator:e=>"min"in e&&"max"in e},dragRange:Boolean,dragOnlyRange:Boolean,leftLabelColor:String,leftLabelTextColor:String,rightLabelColor:String,rightLabelTextColor:String,leftLabelValue:[String,Number],rightLabelValue:[String,Number],leftThumbColor:String,rightThumbColor:String},emits:tr,setup(e,{emit:t}){let{proxy:{$q:o}}=k(),{state:s,methods:l}=nr({updateValue:P,updatePosition:function(t,n=s.dragging.value){let a,i=l.getDraggingRatio(t,n),r=l.convertRatioToModel(i);switch(n.type){case su:i<=n.ratioMax?(a={minR:i,maxR:n.ratioMax,min:r,max:n.valueMax},s.focus.value="min"):(a={minR:n.ratioMax,maxR:i,min:n.valueMax,max:r},s.focus.value="max");break;case uu:i>=n.ratioMin?(a={minR:n.ratioMin,maxR:i,min:n.valueMin,max:r},s.focus.value="max"):(a={minR:i,maxR:n.ratioMin,min:r,max:n.valueMin},s.focus.value="min");break;case lu:let e=i-n.offsetRatio,t=Xe(n.ratioMin+e,s.innerMinRatio.value,s.innerMaxRatio.value-n.rangeRatio),o=r-n.offsetModel,l=Xe(n.valueMin+o,s.innerMin.value,s.innerMax.value-n.rangeValue);a={minR:t,maxR:t+n.rangeRatio,min:s.roundValueFn.value(l),max:s.roundValueFn.value(l+n.rangeValue)},s.focus.value="both"}h.value=null===h.value.min||null===h.value.max?{min:a.min||e.min,max:a.max||e.max}:{min:a.min,max:a.max},!0!==e.snap||0===e.step?(c.value=a.minR,d.value=a.maxR):(c.value=l.convertModelToRatio(h.value.min),d.value=l.convertModelToRatio(h.value.max))},getDragging:function(t){let{left:n,top:a,width:i,height:r}=u.value.getBoundingClientRect(),o=!0===e.dragOnlyRange?0:!0===e.vertical?S.value.offsetHeight/(2*r):S.value.offsetWidth/(2*i),s={left:n,top:a,width:i,height:r,valueMin:h.value.min,valueMax:h.value.max,ratioMin:f.value,ratioMax:m.value},c=l.getDraggingRatio(t,s);return!0!==e.dragOnlyRange&&c({type:"hidden",name:e.name,value:`${e.modelValue.min}|${e.modelValue.max}`})))}),u=a(null),c=a(0),d=a(0),h=a({min:0,max:0});function p(){h.value.min=null===e.modelValue.min?s.innerMin.value:Xe(e.modelValue.min,s.innerMin.value,s.innerMax.value),h.value.max=null===e.modelValue.max?s.innerMax.value:Xe(e.modelValue.max,s.innerMin.value,s.innerMax.value)}r((()=>`${e.modelValue.min}|${e.modelValue.max}|${s.innerMin.value}|${s.innerMax.value}`),p),p();let f=i((()=>l.convertModelToRatio(h.value.min))),m=i((()=>l.convertModelToRatio(h.value.max))),v=i((()=>!0===s.active.value?c.value:f.value)),g=i((()=>!0===s.active.value?d.value:m.value)),_=i((()=>{let t={[s.positionProp.value]:100*v.value+"%",[s.sizeProp.value]:100*(g.value-v.value)+"%"};return void 0!==e.selectionImg&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t})),b=i((()=>{if(!0!==s.editable.value)return{};if(!0===o.platform.is.mobile)return{onClick:l.onMobileClick};let t={onMousedown:l.onActivate};return(!0===e.dragRange||!0===e.dragOnlyRange)&&Object.assign(t,{onFocus:()=>{s.focus.value="both"},onBlur:l.onBlur,onKeydown:A,onKeyup:l.onKeyup}),t}));function y(t){return!0!==o.platform.is.mobile&&!0===s.editable.value&&!0!==e.dragOnlyRange?{onFocus:()=>{s.focus.value=t},onBlur:l.onBlur,onKeydown:A,onKeyup:l.onKeyup}:{}}let w=i((()=>!0!==e.dragOnlyRange?s.tabindex.value:null)),x=i((()=>!0===o.platform.is.mobile||!e.dragRange&&!0!==e.dragOnlyRange?null:s.tabindex.value)),S=a(null),C=i((()=>y("min"))),T=l.getThumbRenderFn({focusValue:"min",getNodeData:()=>({ref:S,key:"tmin",...C.value,tabindex:w.value}),ratio:v,label:i((()=>void 0!==e.leftLabelValue?e.leftLabelValue:h.value.min)),thumbColor:i((()=>e.leftThumbColor||e.thumbColor||e.color)),labelColor:i((()=>e.leftLabelColor||e.labelColor)),labelTextColor:i((()=>e.leftLabelTextColor||e.labelTextColor))}),M=i((()=>y("max"))),E=l.getThumbRenderFn({focusValue:"max",getNodeData:()=>({...M.value,key:"tmax",tabindex:w.value}),ratio:g,label:i((()=>void 0!==e.rightLabelValue?e.rightLabelValue:h.value.max)),thumbColor:i((()=>e.rightThumbColor||e.thumbColor||e.color)),labelColor:i((()=>e.rightLabelColor||e.labelColor)),labelTextColor:i((()=>e.rightLabelTextColor||e.labelTextColor))});function P(n){(h.value.min!==e.modelValue.min||h.value.max!==e.modelValue.max)&&t("update:modelValue",{...h.value}),!0===n&&t("change",{...h.value})}function A(t){if(!Ji.includes(t.keyCode))return;X(t);let n=([34,33].includes(t.keyCode)?10:1)*s.keyStep.value,a=([34,37,40].includes(t.keyCode)?-1:1)*(!0===s.isReversed.value?-1:1)*(!0===e.vertical?-1:1)*n;if("both"===s.focus.value){let e=h.value.max-h.value.min,t=Xe(s.roundValueFn.value(h.value.min+a),s.innerMin.value,s.innerMax.value-e);h.value={min:t,max:s.roundValueFn.value(t+e)}}else{if(!1===s.focus.value)return;{let e=s.focus.value;h.value={...h.value,[e]:Xe(s.roundValueFn.value(h.value[e]+a),"min"===e?s.innerMin.value:h.value.min,"max"===e?s.innerMax.value:h.value.max)}}}P()}return()=>{let t=l.getContent(_,x,b,(e=>{e.push(T(),E())}));return n("div",{ref:u,class:"q-range "+s.classes.value+(null===e.modelValue.min||null===e.modelValue.max?" q-slider--no-value":""),...s.attributes.value,"aria-valuenow":e.modelValue.min+"|"+e.modelValue.max},t)}}}),du=B({name:"QRating",props:{...ut,...ii,modelValue:{type:Number,required:!0},max:{type:[String,Number],default:5},icon:[String,Array],iconHalf:[String,Array],iconSelected:[String,Array],iconAriaLabel:[String,Array],color:[String,Array],colorHalf:[String,Array],colorSelected:[String,Array],noReset:Boolean,noDimming:Boolean,readonly:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=k(),s=ct(e),l=oi(ri(e)),u=a(0),c={},d=i((()=>!0!==e.readonly&&!0!==e.disable)),h=i((()=>`q-rating row inline items-center q-rating--${!0===d.value?"":"non-"}editable`+(!0===e.noDimming?" q-rating--no-dimming":"")+(!0===e.disable?" disabled":"")+(void 0!==e.color&&!1===Array.isArray(e.color)?` text-${e.color}`:""))),p=i((()=>{let t=!0===Array.isArray(e.icon)?e.icon.length:0,n=!0===Array.isArray(e.iconSelected)?e.iconSelected.length:0,a=!0===Array.isArray(e.iconHalf)?e.iconHalf.length:0,i=!0===Array.isArray(e.color)?e.color.length:0,r=!0===Array.isArray(e.colorSelected)?e.colorSelected.length:0,o=!0===Array.isArray(e.colorHalf)?e.colorHalf.length:0;return{iconLen:t,icon:t>0?e.icon[t-1]:e.icon,selIconLen:n,selIcon:n>0?e.iconSelected[n-1]:e.iconSelected,halfIconLen:a,halfIcon:a>0?e.iconHalf[n-1]:e.iconHalf,colorLen:i,color:i>0?e.color[i-1]:e.color,selColorLen:r,selColor:r>0?e.colorSelected[r-1]:e.colorSelected,halfColorLen:o,halfColor:o>0?e.colorHalf[o-1]:e.colorHalf}})),f=i((()=>{if("string"==typeof e.iconAriaLabel){let t=0!==e.iconAriaLabel.length?`${e.iconAriaLabel} `:"";return e=>`${t}${e}`}if(!0===Array.isArray(e.iconAriaLabel)){let t=e.iconAriaLabel.length;if(t>0)return n=>e.iconAriaLabel[Math.min(n,t)-1]}return(e,t)=>`${t} ${e}`})),m=i((()=>{let t=[],n=p.value,a=Math.ceil(e.modelValue),i=!0===d.value?0:null,r=void 0===e.iconHalf||a===e.modelValue?-1:a;for(let s=1;s<=e.max;s++){let l=0===u.value&&e.modelValue>=s||u.value>0&&u.value>=s,c=r===s&&u.value0&&(!0===c?a:e.modelValue)>=s&&u.value{let t={role:"radiogroup"};return!0===e.disable&&(t["aria-disabled"]="true"),!0===e.readonly&&(t["aria-readonly"]="true"),t}));function g(t){if(!0===d.value){let n=Xe(parseInt(t,10),1,parseInt(e.max,10)),a=!0!==e.noReset&&e.modelValue===n?0:n;a!==e.modelValue&&r("update:modelValue",a),u.value=0}}function b(e){!0===d.value&&(u.value=e)}function y(){u.value=0}return _((()=>{c={}})),()=>{let a=[];return m.value.forEach((({iconClass:e,name:i,attrs:r},o)=>{let s=o+1;a.push(n("div",{key:s,ref:e=>{c[`rt${s}`]=e},class:"q-rating__icon-container flex flex-center",...r,onClick(){g(s)},onMouseover(){b(s)},onMouseout:y,onFocus(){b(s)},onBlur:y,onKeyup(e){!function(e,t){switch(e.keyCode){case 13:case 32:return g(t),X(e);case 37:case 40:return c["rt"+(t-1)]&&c["rt"+(t-1)].focus(),X(e);case 39:case 38:c[`rt${t+1}`]&&c[`rt${t+1}`].focus(),X(e)}}(e,s)}},pt(t[`tip-${s}`],[n(At,{class:e,name:i})])))})),void 0!==e.name&&!0!==e.disable&&l(a,"push"),n("div",{class:h.value,style:s.value,...v.value},a)}}}),hu=B({name:"QResponsive",props:al,setup(e,{slots:t}){let a=il(e);return()=>n("div",{class:"q-responsive"},[n("div",{class:"q-responsive__filler overflow-hidden"},[n("div",{style:a.value})]),n("div",{class:"q-responsive__content absolute-full fit"},dt(t.default))])}}),pu=B({props:["store","barStyle","verticalBarStyle","horizontalBarStyle"],setup:e=>()=>[n("div",{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":"true",onMousedown:e.store.onVerticalMousedown}),n("div",{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":"true",onMousedown:e.store.onHorizontalMousedown}),P(n("div",{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":"true"}),e.store.thumbVertDir),P(n("div",{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":"true"}),e.store.thumbHorizDir)]}),fu=["vertical","horizontal"],mu={vertical:{offset:"offsetY",scroll:"scrollTop",dir:"down",dist:"y"},horizontal:{offset:"offsetX",scroll:"scrollLeft",dir:"right",dist:"x"}},vu={prevent:!0,mouse:!0,mouseAllDir:!0},gu=e=>e>=250?50:Math.ceil(e/5),_u=B({name:"QScrollArea",props:{...Rt,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(e,{slots:t,emit:o}){let s,l=a(!1),u=a(!1),c=a(!1),d={vertical:a(0),horizontal:a(0)},f={vertical:{ref:a(null),position:a(0),size:a(0)},horizontal:{ref:a(null),position:a(0),size:a(0)}},{proxy:m}=k(),g=zt(e,m.$q),_=null,b=a(null),y=i((()=>"q-scrollarea"+(!0===g.value?" q-scrollarea--dark":"")));Object.assign(d,{verticalInner:i((()=>d.vertical.value-e.verticalOffset[0]-e.verticalOffset[1])),horizontalInner:i((()=>d.horizontal.value-e.horizontalOffset[0]-e.horizontalOffset[1]))}),f.vertical.percentage=i((()=>{let e=f.vertical.size.value-d.vertical.value;if(e<=0)return 0;let t=Xe(f.vertical.position.value/e,0,1);return Math.round(1e4*t)/1e4})),f.vertical.thumbHidden=i((()=>!0!==(null===e.visible?c.value:e.visible)&&!1===l.value&&!1===u.value||f.vertical.size.value<=d.vertical.value+1)),f.vertical.thumbStart=i((()=>e.verticalOffset[0]+f.vertical.percentage.value*(d.verticalInner.value-f.vertical.thumbSize.value))),f.vertical.thumbSize=i((()=>Math.round(Xe(d.verticalInner.value*d.verticalInner.value/f.vertical.size.value,gu(d.verticalInner.value),d.verticalInner.value)))),f.vertical.style=i((()=>({...e.thumbStyle,...e.verticalThumbStyle,top:`${f.vertical.thumbStart.value}px`,height:`${f.vertical.thumbSize.value}px`,right:`${e.horizontalOffset[1]}px`}))),f.vertical.thumbClass=i((()=>"q-scrollarea__thumb q-scrollarea__thumb--v absolute-right"+(!0===f.vertical.thumbHidden.value?" q-scrollarea__thumb--invisible":""))),f.vertical.barClass=i((()=>"q-scrollarea__bar q-scrollarea__bar--v absolute-right"+(!0===f.vertical.thumbHidden.value?" q-scrollarea__bar--invisible":""))),f.horizontal.percentage=i((()=>{let e=f.horizontal.size.value-d.horizontal.value;if(e<=0)return 0;let t=Xe(Math.abs(f.horizontal.position.value)/e,0,1);return Math.round(1e4*t)/1e4})),f.horizontal.thumbHidden=i((()=>!0!==(null===e.visible?c.value:e.visible)&&!1===l.value&&!1===u.value||f.horizontal.size.value<=d.horizontal.value+1)),f.horizontal.thumbStart=i((()=>e.horizontalOffset[0]+f.horizontal.percentage.value*(d.horizontalInner.value-f.horizontal.thumbSize.value))),f.horizontal.thumbSize=i((()=>Math.round(Xe(d.horizontalInner.value*d.horizontalInner.value/f.horizontal.size.value,gu(d.horizontalInner.value),d.horizontalInner.value)))),f.horizontal.style=i((()=>({...e.thumbStyle,...e.horizontalThumbStyle,[!0===m.$q.lang.rtl?"right":"left"]:`${f.horizontal.thumbStart.value}px`,width:`${f.horizontal.thumbSize.value}px`,bottom:`${e.verticalOffset[1]}px`}))),f.horizontal.thumbClass=i((()=>"q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom"+(!0===f.horizontal.thumbHidden.value?" q-scrollarea__thumb--invisible":""))),f.horizontal.barClass=i((()=>"q-scrollarea__bar q-scrollarea__bar--h absolute-bottom"+(!0===f.horizontal.thumbHidden.value?" q-scrollarea__bar--invisible":"")));let w=i((()=>!0===f.vertical.thumbHidden.value&&!0===f.horizontal.thumbHidden.value?e.contentStyle:e.contentActiveStyle));function x(){let e={};return fu.forEach((t=>{let n=f[t];Object.assign(e,{[t+"Position"]:n.position.value,[t+"Percentage"]:n.percentage.value,[t+"Size"]:n.size.value,[t+"ContainerSize"]:d[t].value,[t+"ContainerInnerSize"]:d[t+"Inner"].value})})),e}let S=ae((()=>{let e=x();e.ref=m,o("scroll",e)}),0);function C(e,t,n){!1!==fu.includes(e)?("vertical"===e?ma:va)(b.value,t,n):console.error("[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)")}function T({height:e,width:t}){let n=!1;d.vertical.value!==e&&(d.vertical.value=e,n=!0),d.horizontal.value!==t&&(d.horizontal.value=t,n=!0),!0===n&&L()}function M({position:e}){let t=!1;f.vertical.position.value!==e.top&&(f.vertical.position.value=e.top,t=!0),f.horizontal.position.value!==e.left&&(f.horizontal.position.value=e.left,t=!0),!0===t&&L()}function E({height:e,width:t}){f.horizontal.size.value!==t&&(f.horizontal.size.value=t,L()),f.vertical.size.value!==e&&(f.vertical.size.value=e,L())}function P(e,t){let n=f[t];if(!0===e.isFirst){if(!0===n.thumbHidden.value)return;s=n.position.value,u.value=!0}else if(!0!==u.value)return;!0===e.isFinal&&(u.value=!1);let a=mu[t],i=(n.size.value-d[t].value)/(d[t+"Inner"].value-n.thumbSize.value),r=e.distance[a.dist];O(s+(e.direction===a.dir?1:-1)*r*i,t)}function A(t,n){let a=f[n];if(!0!==a.thumbHidden.value){let i="vertical"===n?e.verticalOffset[0]:e.horizontalOffset[0],r=t[mu[n].offset]-i,o=a.thumbStart.value-i;if(ro+a.thumbSize.value){O(Xe((r-a.thumbSize.value/2)/(d[n+"Inner"].value-a.thumbSize.value),0,1)*Math.max(0,a.size.value-d[n].value),n)}null!==a.ref.value&&a.ref.value.dispatchEvent(new MouseEvent(t.type,t))}}function L(){l.value=!0,null!==_&&clearTimeout(_),_=setTimeout((()=>{_=null,l.value=!1}),e.delay),void 0!==e.onScroll&&S()}function O(e,t){b.value[mu[t].scroll]=e}let N=null;function R(){null!==N&&clearTimeout(N),N=setTimeout((()=>{N=null,c.value=!0}),m.$q.platform.is.ios?50:0)}function z(){null!==N&&(clearTimeout(N),N=null),c.value=!1}let q=null;r((()=>m.$q.lang.rtl),(e=>{null!==b.value&&va(b.value,Math.abs(f.horizontal.position.value)*(!0===e?-1:1))})),p((()=>{q={top:f.vertical.position.value,left:f.horizontal.position.value}})),h((()=>{if(null===q)return;let e=b.value;null!==e&&(va(e,q.left),ma(e,q.top))})),v(S.cancel),Object.assign(m,{getScrollTarget:()=>b.value,getScroll:x,getScrollPosition:()=>({top:f.vertical.position.value,left:f.horizontal.position.value}),getScrollPercentage:()=>({top:f.vertical.percentage.value,left:f.horizontal.percentage.value}),setScrollPosition:C,setScrollPercentage(e,t,n){C(e,t*(f[e].size.value-d[e].value)*("horizontal"===e&&!0===m.$q.lang.rtl?-1:1),n)}});let I={scroll:f,thumbVertDir:[[Ki,e=>{P(e,"vertical")},void 0,{vertical:!0,...vu}]],thumbHorizDir:[[Ki,e=>{P(e,"horizontal")},void 0,{horizontal:!0,...vu}]],onVerticalMousedown(e){A(e,"vertical")},onHorizontalMousedown(e){A(e,"horizontal")}};return()=>n("div",{class:y.value,onMouseenter:R,onMouseleave:z},[n("div",{ref:b,class:"q-scrollarea__container scroll relative-position fit hide-scrollbar",tabindex:void 0!==e.tabindex?e.tabindex:void 0},[n("div",{class:"q-scrollarea__content absolute",style:w.value},pt(t.default,[n(lr,{debounce:0,onResize:E})])),n(Ll,{axis:"both",onScroll:M})]),n(lr,{debounce:0,onResize:T}),n(pu,{store:I,barStyle:e.barStyle,verticalBarStyle:e.verticalBarStyle,horizontalBarStyle:e.horizontalBarStyle})])}}),bu=1e3,yu=["start","center","end","start-force","center-force","end-force"],wu=Array.prototype.filter,ku=void 0===window.getComputedStyle(document.body).overflowAnchor?W:function(e,t){null!==e&&(void 0!==e._qOverflowAnimationFrame&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame((()=>{if(null===e)return;e._qOverflowAnimationFrame=void 0;let n=e.children||[];wu.call(n,(e=>e.dataset&&void 0!==e.dataset.qVsAnchor)).forEach((e=>{delete e.dataset.qVsAnchor}));let a=n[t];a&&a.dataset&&(a.dataset.qVsAnchor="")})))};function xu(e,t){return e+t}function Su(e,t,n,a,i,r,o,s){let l=e===window?document.scrollingElement||document.documentElement:e,u=!0===i?"offsetWidth":"offsetHeight",c={scrollStart:0,scrollViewSize:-o-s,scrollMaxSize:0,offsetStart:-o,offsetEnd:-s};if(!0===i?(e===window?(c.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,c.scrollViewSize+=document.documentElement.clientWidth):(c.scrollStart=l.scrollLeft,c.scrollViewSize+=l.clientWidth),c.scrollMaxSize=l.scrollWidth,!0===r&&(c.scrollStart=(!0===ur?c.scrollMaxSize-c.scrollViewSize:0)-c.scrollStart)):(e===window?(c.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,c.scrollViewSize+=document.documentElement.clientHeight):(c.scrollStart=l.scrollTop,c.scrollViewSize+=l.clientHeight),c.scrollMaxSize=l.scrollHeight),null!==n)for(let e=n.previousElementSibling;null!==e;e=e.previousElementSibling)!1===e.classList.contains("q-virtual-scroll--skip")&&(c.offsetStart+=e[u]);if(null!==a)for(let e=a.nextElementSibling;null!==e;e=e.nextElementSibling)!1===e.classList.contains("q-virtual-scroll--skip")&&(c.offsetEnd+=e[u]);if(t!==e){let n=l.getBoundingClientRect(),a=t.getBoundingClientRect();!0===i?(c.offsetStart+=a.left-n.left,c.offsetEnd-=a.width):(c.offsetStart+=a.top-n.top,c.offsetEnd-=a.height),e!==window&&(c.offsetStart+=c.scrollStart),c.offsetEnd+=c.scrollMaxSize-c.offsetStart}return c}function Cu(e,t,n,a){"end"===t&&(t=(e===window?document.body:e)[!0===n?"scrollWidth":"scrollHeight"]),e===window?!0===n?(!0===a&&(t=(!0===ur?document.body.scrollWidth-document.documentElement.clientWidth:0)-t),window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t):!0===n?(!0===a&&(t=(!0===ur?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function Tu(e,t,n,a){if(n>=a)return 0;let i=t.length,r=Math.floor(n/bu),o=Math.floor((a-1)/bu)+1,s=e.slice(r,o).reduce(xu,0);return n%bu!=0&&(s-=t.slice(r*bu,n).reduce(xu,0)),a%bu!=0&&a!==i&&(s-=t.slice(a,o*bu).reduce(xu,0)),s}var Mu={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},Eu=Object.keys(Mu),Pu={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Mu};function Au({virtualScrollLength:e,getVirtualScrollTarget:t,getVirtualScrollEl:o,virtualScrollItemSizeComputed:s}){let l,u,c,m,g=k(),{props:_,emit:b,proxy:y}=g,{$q:w}=y,x=[],S=a(0),C=a(0),T=a({}),M=a(null),E=a(null),P=a(null),A=a({from:0,to:0}),L=i((()=>void 0!==_.tableColspan?_.tableColspan:100));void 0===s&&(s=i((()=>_.virtualScrollItemSize)));let O=i((()=>s.value+";"+_.virtualScrollHorizontal)),N=i((()=>O.value+";"+_.virtualScrollSliceRatioBefore+";"+_.virtualScrollSliceRatioAfter));function R(){$(u,!0)}function z(e){$(void 0===e?u:e)}function q(n,a){let i=t();if(null==i||8===i.nodeType)return;let r=Su(i,o(),M.value,E.value,_.virtualScrollHorizontal,w.lang.rtl,_.virtualScrollStickySizeStart,_.virtualScrollStickySizeEnd);c!==r.scrollViewSize&&F(r.scrollViewSize),I(i,r,Math.min(e.value-1,Math.max(0,parseInt(n,10)||0)),0,-1!==yu.indexOf(a)?a:-1!==u&&n>u?"end":"start")}function I(t,n,a,i,r){let o="string"==typeof r&&-1!==r.indexOf("-force"),s=!0===o?r.replace("-force",""):r,u=void 0!==s?s:"start",c=Math.max(0,a-T.value[u]),d=c+T.value.total;d>e.value&&(d=e.value,c=Math.max(0,d-T.value.total)),l=n.scrollStart;let h=c!==A.value.from||d!==A.value.to;if(!1===h&&void 0===s)return void B(a);let{activeElement:p}=document,f=P.value;!0===h&&null!==f&&f!==p&&!0===f.contains(p)&&(f.addEventListener("focusout",j),setTimeout((()=>{null!==f&&f.removeEventListener("focusout",j)}))),ku(f,a-c);let v=void 0!==s?m.slice(c,a).reduce(xu,0):0;if(!0===h){let t=d>=A.value.from&&c<=A.value.to?A.value.to:d;A.value={from:c,to:t},S.value=Tu(x,m,0,c),C.value=Tu(x,m,d,e.value),requestAnimationFrame((()=>{A.value.to!==d&&l===n.scrollStart&&(A.value={from:A.value.from,to:d},C.value=Tu(x,m,d,e.value))}))}requestAnimationFrame((()=>{if(l!==n.scrollStart)return;!0===h&&D(c);let e=m.slice(c,a).reduce(xu,0),r=e+n.offsetStart+S.value,u=r+m[a],d=r+i;if(void 0!==s){let t=e-v,i=n.scrollStart+t;d=!0!==o&&ie.classList&&!1===e.classList.contains("q-virtual-scroll--skip"))),r=i.length,o=!0===_.virtualScrollHorizontal?e=>e.getBoundingClientRect().width:e=>e.offsetHeight,s=e;for(let e=0;e=i;t--)m[t]=a;let r=Math.floor((e.value-1)/bu);x=[];for(let t=0;t<=r;t++){let n=0,a=Math.min((t+1)*bu,e.value);for(let e=t*bu;e=0?(D(A.value.from),d((()=>{q(t)}))):V()}function F(e){if(void 0===e&&typeof window<"u"){let n=t();null!=n&&8!==n.nodeType&&(e=Su(n,o(),M.value,E.value,_.virtualScrollHorizontal,w.lang.rtl,_.virtualScrollStickySizeStart,_.virtualScrollStickySizeEnd).scrollViewSize)}c=e;let n=parseFloat(_.virtualScrollSliceRatioBefore)||0,a=1+n+(parseFloat(_.virtualScrollSliceRatioAfter)||0),i=void 0===e||e<=0?1:Math.ceil(e/s.value),r=Math.max(1,i,Math.ceil((_.virtualScrollSliceSize>0?_.virtualScrollSliceSize:10)/a));T.value={total:Math.ceil(r*a),start:Math.ceil(r*n),center:Math.ceil(r*(.5+n)),end:Math.ceil(r*(1+n)),view:i}}function B(e){u!==e&&(void 0!==_.onVirtualScroll&&b("virtualScroll",{index:e,from:A.value.from,to:A.value.to-1,direction:e{F()})),r(O,R),F();let V=ae((function(){let n=t();if(null==n||8===n.nodeType)return;let a=Su(n,o(),M.value,E.value,_.virtualScrollHorizontal,w.lang.rtl,_.virtualScrollStickySizeStart,_.virtualScrollStickySizeEnd),i=e.value-1,r=a.scrollMaxSize-a.offsetStart-a.offsetEnd-C.value;if(l===a.scrollStart)return;if(a.scrollMaxSize<=0)return void I(n,a,0,0);c!==a.scrollViewSize&&F(a.scrollViewSize),D(A.value.from);let s=Math.floor(a.scrollMaxSize-Math.max(a.scrollViewSize,a.offsetEnd)-Math.min(m[i],a.scrollViewSize/2));if(s>0&&Math.ceil(a.scrollStart)>=s)return void I(n,a,i,a.scrollMaxSize-a.offsetEnd-x.reduce(xu,0));let u=0,d=a.scrollStart-a.offsetStart,h=d;if(d<=r&&d+a.scrollViewSize>=S.value)d-=S.value,u=A.value.from,h=d;else for(let e=0;d>=x[e]&&u0&&u-a.scrollViewSize?(u++,h=d):h=m[u]+d;I(n,a,u,h)}),!0===w.platform.is.ios?120:35);f((()=>{F()}));let H=!1;return p((()=>{H=!0})),h((()=>{if(!0!==H)return;let e=t();void 0!==l&&null!=e&&8!==e.nodeType?Cu(e,l,_.virtualScrollHorizontal,w.lang.rtl):q(u)})),v((()=>{V.cancel()})),Object.assign(y,{scrollTo:q,reset:R,refresh:z}),{virtualScrollSliceRange:A,virtualScrollSliceSizeComputed:T,setVirtualScrollSize:F,onVirtualScrollEvt:V,localResetVirtualScroll:$,padVirtualScroll:function(e,t){let a=!0===_.virtualScrollHorizontal?"width":"height",i={["--q-virtual-scroll-item-"+a]:s.value+"px"};return["tbody"===e?n(e,{class:"q-virtual-scroll__padding",key:"before",ref:M},[n("tr",[n("td",{style:{[a]:`${S.value}px`,...i},colspan:L.value})])]):n(e,{class:"q-virtual-scroll__padding",key:"before",ref:M,style:{[a]:`${S.value}px`,...i}}),n(e,{class:"q-virtual-scroll__content",key:"content",ref:P,tabindex:-1},t.flat()),"tbody"===e?n(e,{class:"q-virtual-scroll__padding",key:"after",ref:E},[n("tr",[n("td",{style:{[a]:`${C.value}px`,...i},colspan:L.value})])]):n(e,{class:"q-virtual-scroll__padding",key:"after",ref:E,style:{[a]:`${C.value}px`,...i}})]},scrollTo:q,reset:R,refresh:z}}var Lu=e=>["add","add-unique","toggle"].includes(e),Ou=Object.keys(Fs);function Nu(e,t){if("function"==typeof e)return e;let n=void 0!==e?e:t;return e=>null!==e&&"object"==typeof e&&n in e?e[n]:e}var Ru=B({name:"QSelect",inheritAttrs:!1,props:{...Pu,...ii,...Fs,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:Lu},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:Pu.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...Bs,"add","remove","inputValue","keyup","keypress","keydown","popupShow","popupHide","filterAbort"],setup(e,{slots:t,emit:o}){let s,l,u,c,h,p,f,{proxy:m}=k(),{$q:g}=m,y=a(!1),w=a(!1),x=a(-1),S=a(""),C=a(!1),T=a(!1),M=null,E=null,P=null,A=a(null),L=a(null),O=a(null),N=a(null),R=a(null),z=si(e),q=gl(Ie),I=i((()=>e.options.length)),D=i((()=>void 0===e.virtualScrollItemSize?!0===e.optionsDense?24:48:e.virtualScrollItemSize)),{virtualScrollSliceRange:j,virtualScrollSliceSizeComputed:$,localResetVirtualScroll:F,padVirtualScroll:B,onVirtualScrollEvt:V,scrollTo:H,setVirtualScrollSize:U}=Au({virtualScrollLength:I,getVirtualScrollTarget:function(){return ze()},getVirtualScrollEl:ze,virtualScrollItemSizeComputed:D}),W=Vs(),Y=i((()=>{let t=!0===e.mapOptions&&!0!==e.multiple,n=void 0===e.modelValue||null===e.modelValue&&!0!==t?[]:!0===e.multiple&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue];if(!0===e.mapOptions){let a=!0===e.mapOptions&&void 0!==s?s:[],i=n.map((t=>function(t,n){let a=e=>De(ge.value(e),t);return e.options.find(a)||n.find(a)||t}(t,a)));return null===e.modelValue&&!0===t?i.filter((e=>null!==e)):i}return n})),Q=i((()=>{let t={};return Ou.forEach((n=>{let a=e[n];void 0!==a&&(t[n]=a)})),t})),K=i((()=>null===e.optionsDark?W.isDark.value:e.optionsDark)),J=i((()=>js(Y.value))),ee=i((()=>{let t="q-field__input q-placeholder col";return!0===e.hideSelected||0===Y.value.length?[t,e.inputClass]:(t+=" q-field__input--padding",void 0===e.inputClass?t:[t,e.inputClass])})),te=i((()=>(!0===e.virtualScrollHorizontal?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:""))),ne=i((()=>0===I.value)),ae=i((()=>Y.value.map((e=>_e.value(e))).join(", "))),ie=i((()=>void 0!==e.displayValue?e.displayValue:ae.value)),re=i((()=>!0===e.optionsHtml?()=>!0:e=>null!=e&&!0===e.html)),oe=i((()=>!0===e.displayValueHtml||void 0===e.displayValue&&(!0===e.optionsHtml||Y.value.some(re.value)))),se=i((()=>!0===W.focused.value?e.tabindex:-1)),le=i((()=>{let t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":!0===e.readonly?"true":"false","aria-autocomplete":!0===e.useInput?"list":"none","aria-expanded":!0===y.value?"true":"false","aria-controls":`${W.targetUid.value}_lb`};return x.value>=0&&(t["aria-activedescendant"]=`${W.targetUid.value}_${x.value}`),t})),ue=i((()=>({id:`${W.targetUid.value}_lb`,role:"listbox","aria-multiselectable":!0===e.multiple?"true":"false"}))),ce=i((()=>Y.value.map(((e,t)=>({index:t,opt:e,html:re.value(e),selected:!0,removeAtIndex:Se,toggleOption:Te,tabindex:se.value}))))),de=i((()=>{if(0===I.value)return[];let{from:t,to:n}=j.value;return e.options.slice(t,n).map(((n,a)=>{let i=!0===be.value(n),r=!0===Pe(n),o=t+a,s={clickable:!0,active:r,activeClass:ve.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:e.optionsDense,dark:K.value,role:"option","aria-selected":!0===r?"true":"false",id:`${W.targetUid.value}_${o}`,onClick:()=>{Te(n)}};return!0!==i&&(x.value===o&&(s.focused=!0),!0===g.platform.is.desktop&&(s.onMousemove=()=>{!0===y.value&&Me(o)})),{index:o,opt:n,html:re.value(n),label:_e.value(n),selected:s.active,focused:s.focused,toggleOption:Te,setOptionIndex:Me,itemProps:s}}))})),fe=i((()=>void 0!==e.dropdownIcon?e.dropdownIcon:g.iconSet.arrow.dropdown)),me=i((()=>!1===e.optionsCover&&!0!==e.outlined&&!0!==e.standout&&!0!==e.borderless&&!0!==e.rounded)),ve=i((()=>void 0!==e.optionsSelectedClass?e.optionsSelectedClass:void 0!==e.color?`text-${e.color}`:"")),ge=i((()=>Nu(e.optionValue,"value"))),_e=i((()=>Nu(e.optionLabel,"label"))),be=i((()=>Nu(e.optionDisable,"disable"))),ye=i((()=>Y.value.map(ge.value))),we=i((()=>{let e={onInput:Ie,onChange:q,onKeydown:Re,onKeyup:Oe,onKeypress:Ne,onFocus:Ae,onClick(e){!0===l&&G(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=q,e}));function ke(t){return!0===e.emitValue?ge.value(t):t}function xe(t){if(-1!==t&&t=e.maxValues)return;let i=e.modelValue.slice();o("add",{index:i.length,value:a}),i.push(a),o("update:modelValue",i)}function Te(t,n){if(!0!==W.editable.value||void 0===t||!0===be.value(t))return;let a=ge.value(t);if(!0!==e.multiple)return!0!==n&&($e(!0===e.fillInput?_e.value(t):"",!0,!0),Ze()),null!==L.value&&L.value.focus(),void((0===Y.value.length||!0!==De(ge.value(Y.value[0]),a))&&o("update:modelValue",!0===e.emitValue?a:t));if((!0!==l||!0===C.value)&&W.focus(),Ae(),0===Y.value.length){let n=!0===e.emitValue?a:t;return o("add",{index:0,value:n}),void o("update:modelValue",!0===e.multiple?[n]:n)}let i=e.modelValue.slice(),r=ye.value.findIndex((e=>De(e,a)));if(-1!==r)o("remove",{index:r,value:i.splice(r,1)[0]});else{if(void 0!==e.maxValues&&i.length>=e.maxValues)return;let n=!0===e.emitValue?a:t;o("add",{index:i.length,value:n}),i.push(n)}o("update:modelValue",i)}function Me(e){if(!0!==g.platform.is.desktop)return;let t=-1!==e&&e=0?_e.value(e.options[a]):c,!0))}}function Pe(e){let t=ge.value(e);return void 0!==ye.value.find((e=>De(e,t)))}function Ae(t){!0===e.useInput&&null!==L.value&&(void 0===t||L.value===t.target&&t.target.value===ae.value)&&L.value.select()}function Le(e){!0===pe(e,27)&&!0===y.value&&(G(e),Ze(),Xe()),o("keyup",e)}function Oe(t){let{value:n}=t.target;if(void 0===t.keyCode)if(t.target.value="",null!==M&&(clearTimeout(M),M=null),null!==E&&(clearTimeout(E),E=null),Xe(),"string"==typeof n&&0!==n.length){let t=n.toLocaleLowerCase(),a=n=>{let a=e.options.find((e=>n.value(e).toLocaleLowerCase()===t));return void 0!==a&&(-1===Y.value.indexOf(a)?Te(a):Ze(),!0)},i=e=>{!0!==a(ge)&&(!0===a(_e)||!0===e||Fe(n,!0,(()=>i(!0))))};i()}else W.clearValue(t);else Le(t)}function Ne(e){o("keypress",e)}function Re(t){if(o("keydown",t),!0===he(t))return;let n=0!==S.value.length&&(void 0!==e.newValueMode||void 0!==e.onNewValue),a=!0!==t.shiftKey&&!0!==e.disableTabSelection&&!0!==e.multiple&&(-1!==x.value||!0===n);if(27===t.keyCode)return void Z(t);if(9===t.keyCode&&!1===a)return void Ke();if(void 0===t.target||t.target.id!==W.targetUid.value||!0!==W.editable.value)return;if(40===t.keyCode&&!0!==W.innerLoading.value&&!1===y.value)return X(t),void Ge();if(8===t.keyCode&&(!0===e.useChips||!0===e.clearable)&&!0!==e.hideSelected&&0===S.value.length)return void(!0===e.multiple&&!0===Array.isArray(e.modelValue)?xe(e.modelValue.length-1):!0!==e.multiple&&null!==e.modelValue&&o("update:modelValue",null));(35===t.keyCode||36===t.keyCode)&&("string"!=typeof S.value||0===S.value.length)&&(X(t),x.value=-1,Ee(36===t.keyCode?1:-1,e.multiple)),(33===t.keyCode||34===t.keyCode)&&void 0!==$.value&&(X(t),x.value=Math.max(-1,Math.min(I.value,x.value+(33===t.keyCode?-1:1)*$.value.view)),Ee(33===t.keyCode?1:-1,e.multiple)),(38===t.keyCode||40===t.keyCode)&&(X(t),Ee(38===t.keyCode?-1:1,e.multiple));let i=I.value;if((void 0===p||f0&&!0!==e.useInput&&void 0!==t.key&&1===t.key.length&&!1===t.altKey&&!1===t.ctrlKey&&!1===t.metaKey&&(32!==t.keyCode||0!==p.length)){!0!==y.value&&Ge(t);let n=t.key.toLocaleLowerCase(),a=1===p.length&&p[0]===n;f=Date.now()+1500,!1===a&&(X(t),p+=n);let r=new RegExp("^"+p.split("").map((e=>-1!==".*+?^${}()|[]\\".indexOf(e)?"\\"+e:e)).join(".*"),"i"),o=x.value;if(!0===a||o<0||!0!==r.test(_e.value(e.options[o])))do{o=Je(o+1,-1,i-1)}while(o!==x.value&&(!0===be.value(e.options[o])||!0!==r.test(_e.value(e.options[o]))));x.value!==o&&d((()=>{Me(o),H(o),o>=0&&!0===e.useInput&&!0===e.fillInput&&je(_e.value(e.options[o]),!0)}))}else if(13===t.keyCode||32===t.keyCode&&!0!==e.useInput&&""===p||9===t.keyCode&&!1!==a){if(9!==t.keyCode&&X(t),-1!==x.value&&x.value{if(n){if(!0!==Lu(n))return}else n=e.newValueMode;$e("",!0!==e.multiple,!0),null!=t&&(("toggle"===n?Te:Ce)(t,"add-unique"===n),!0!==e.multiple&&(null!==L.value&&L.value.focus(),Ze()))};if(void 0!==e.onNewValue?o("newValue",S.value,t):t(S.value),!0!==e.multiple)return}!0===y.value?Ke():!0!==W.innerLoading.value&&Ge()}}function ze(){return!0===l?R.value:null!==O.value&&null!==O.value.contentEl?O.value.contentEl:void 0}function qe(){if(!0===ne.value)return void 0!==t["no-option"]?t["no-option"]({inputValue:S.value}):void 0;let e=void 0!==t.option?t.option:e=>n(rs,{key:e.index,...e.itemProps},(()=>n(os,(()=>n(bs,(()=>n("span",{[!0===e.html?"innerHTML":"textContent"]:e.label}))))))),a=B("div",de.value.map(e));return void 0!==t["before-options"]&&(a=t["before-options"]().concat(a)),pt(t["after-options"],a)}function Ie(t){null!==M&&(clearTimeout(M),M=null),null!==E&&(clearTimeout(E),E=null),(!t||!t.target||!0!==t.target.qComposing)&&(je(t.target.value||""),u=!0,c=S.value,!0!==W.focused.value&&(!0!==l||!0===C.value)&&W.focus(),void 0!==e.onFilter&&(M=setTimeout((()=>{M=null,Fe(S.value)}),e.inputDebounce)))}function je(t,n){S.value!==t&&(S.value=t,!0===n||0===e.inputDebounce||"0"===e.inputDebounce?o("inputValue",t):E=setTimeout((()=>{E=null,o("inputValue",t)}),e.inputDebounce))}function $e(t,n,a){u=!0!==a,!0===e.useInput&&(je(t,!0),(!0===n||!0!==a)&&(c=t),!0!==n&&Fe(t))}function Fe(t,n,a){if(void 0===e.onFilter||!0!==n&&!0!==W.focused.value)return;!0===W.innerLoading.value?o("filterAbort"):(W.innerLoading.value=!0,T.value=!0),""!==t&&!0!==e.multiple&&0!==Y.value.length&&!0!==u&&t===_e.value(Y.value[0])&&(t="");let i=setTimeout((()=>{!0===y.value&&(y.value=!1)}),10);null!==P&&clearTimeout(P),P=i,o("filter",t,((e,t)=>{(!0===n||!0===W.focused.value)&&P===i&&(clearTimeout(P),"function"==typeof e&&e(),T.value=!1,d((()=>{W.innerLoading.value=!1,!0===W.editable.value&&(!0===n?!0===y.value&&Ze():!0===y.value?et(!0):y.value=!0),"function"==typeof t&&d((()=>{t(m)})),"function"==typeof a&&d((()=>{a(m)}))})))}),(()=>{!0===W.focused.value&&P===i&&(clearTimeout(P),W.innerLoading.value=!1,T.value=!1),!0===y.value&&(y.value=!1)}))}function Be(e){at(e),Ke()}function Ve(){U()}function He(e){G(e),null!==L.value&&L.value.focus(),C.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function Ue(e){G(e),d((()=>{C.value=!1}))}function We(e){at(e),null!==N.value&&N.value.__updateRefocusTarget(W.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),W.focused.value=!1}function Ye(e){Ze(),!1===W.focused.value&&o("blur",e),Xe()}function Qe(){let e=document.activeElement;(null===e||e.id!==W.targetUid.value)&&null!==L.value&&L.value!==e&&L.value.focus(),U()}function Ke(){!0!==w.value&&(x.value=-1,!0===y.value&&(y.value=!1),!1===W.focused.value&&(null!==P&&(clearTimeout(P),P=null),!0===W.innerLoading.value&&(o("filterAbort"),W.innerLoading.value=!1,T.value=!1)))}function Ge(n){!0===W.editable.value&&(!0===l?(W.onControlFocusin(n),w.value=!0,d((()=>{W.focus()}))):W.focus(),void 0!==e.onFilter?Fe(S.value):(!0!==ne.value||void 0!==t["no-option"])&&(y.value=!0))}function Ze(){w.value=!1,Ke()}function Xe(){!0===e.useInput&&$e(!0!==e.multiple&&!0===e.fillInput&&0!==Y.value.length&&_e.value(Y.value[0])||"",!0,!0)}function et(t){let n=-1;if(!0===t){if(0!==Y.value.length){let t=ge.value(Y.value[0]);n=e.options.findIndex((e=>De(ge.value(e),t)))}F(n)}Me(n)}function tt(){!1===w.value&&null!==O.value&&O.value.updatePosition()}function nt(e){void 0!==e&&G(e),o("popupShow",e),W.hasPopupOpen=!0,W.onControlFocusin(e)}function at(e){void 0!==e&&G(e),o("popupHide",e),W.hasPopupOpen=!1,W.onControlFocusout(e)}function it(){l=(!0===g.platform.is.mobile||"dialog"===e.behavior)&&("menu"!==e.behavior&&(!0!==e.useInput||(void 0!==t["no-option"]||void 0!==e.onFilter||!1===ne.value))),h=!0===g.platform.is.ios&&!0===l&&!0===e.useInput?"fade":e.transitionShow}return r(Y,(t=>{s=t,!0===e.useInput&&!0===e.fillInput&&!0!==e.multiple&&!0!==W.innerLoading.value&&(!0!==w.value&&!0!==y.value||!0!==J.value)&&(!0!==u&&Xe(),(!0===w.value||!0===y.value)&&Fe(""))}),{immediate:!0}),r((()=>e.fillInput),Xe),r(y,et),r(I,(function(e,t){!0===y.value&&!1===W.innerLoading.value&&(F(-1,!0),d((()=>{!0===y.value&&!1===W.innerLoading.value&&(e>t?F():et(!0))})))})),_(it),b(tt),it(),v((()=>{null!==M&&clearTimeout(M),null!==E&&clearTimeout(E)})),Object.assign(m,{showPopup:Ge,hidePopup:Ze,removeAtIndex:xe,add:Ce,toggleOption:Te,getOptionIndex:()=>x.value,setOptionIndex:Me,moveOptionSelection:Ee,filter:Fe,updateMenuPosition:tt,updateInputValue:$e,isOptionSelected:Pe,getEmittingOptionValue:ke,isOptionDisabled:(...e)=>!0===be.value.apply(null,e),getOptionValue:(...e)=>ge.value.apply(null,e),getOptionLabel:(...e)=>_e.value.apply(null,e)}),Object.assign(W,{innerValue:Y,fieldClass:i((()=>`q-select q-field--auto-height q-select--with${!0!==e.useInput?"out":""}-input q-select--with${!0!==e.useChips?"out":""}-chips q-select--${!0===e.multiple?"multiple":"single"}`)),inputRef:A,targetRef:L,hasValue:J,showPopup:Ge,floatingLabel:i((()=>!0!==e.hideSelected&&!0===J.value||"number"==typeof S.value||0!==S.value.length||js(e.displayValue))),getControlChild:()=>{if(!1!==W.editable.value&&(!0===w.value||!0!==ne.value||void 0!==t["no-option"]))return!0===l?function(){let a=[n(Us,{class:`col-auto ${W.fieldClass.value}`,...Q.value,for:W.targetUid.value,dark:K.value,square:!0,loading:T.value,itemAligned:!1,filled:!0,stackLabel:0!==S.value.length,...W.splitAttrs.listeners.value,onFocus:He,onBlur:Ue},{...t,rawControl:()=>W.getControl(!0),before:void 0,after:void 0})];return!0===y.value&&a.push(n("div",{ref:R,class:te.value+" scroll",style:e.popupContentStyle,...ue.value,onClick:Z,onScrollPassive:V},qe())),n(Zo,{ref:N,modelValue:w.value,position:!0===e.useInput?"top":void 0,transitionShow:h,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:nt,onBeforeHide:We,onHide:Ye,onShow:Qe},(()=>n("div",{class:"q-select__dialog"+(!0===K.value?" q-select__dialog--dark q-dark":"")+(!0===C.value?" q-select__dialog--focused":"")},a)))}():n(Qa,{ref:O,class:te.value,style:e.popupContentStyle,modelValue:y.value,fit:!0!==e.menuShrink,cover:!0===e.optionsCover&&!0!==ne.value&&!0!==e.useInput,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:K.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:me.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...ue.value,onScrollPassive:V,onBeforeShow:nt,onBeforeHide:Be,onShow:Ve},qe);!0===W.hasPopupOpen&&(W.hasPopupOpen=!1)},controlEvents:{onFocusin(e){W.onControlFocusin(e)},onFocusout(e){W.onControlFocusout(e,(()=>{Xe(),Ke()}))},onClick(e){if(Z(e),!0!==l&&!0===y.value)return Ke(),void(null!==L.value&&L.value.focus());Ge(e)}},getControl:a=>{let i=!0===e.hideSelected?[]:void 0!==t["selected-item"]?ce.value.map((e=>t["selected-item"](e))).slice():void 0!==t.selected?[].concat(t.selected()):!0===e.useChips?ce.value.map(((t,a)=>n(Bi,{key:"option-"+a,removable:!0===W.editable.value&&!0!==be.value(t.opt),dense:!0,textColor:e.color,tabindex:se.value,onRemove(){t.removeAtIndex(a)}},(()=>n("span",{class:"ellipsis",[!0===t.html?"innerHTML":"textContent"]:_e.value(t.opt)}))))):[n("span",{[!0===oe.value?"innerHTML":"textContent"]:ie.value})],r=!0===a||!0!==w.value||!0!==l;if(!0===e.useInput)i.push(function(t,a){let i=!0===a?{...le.value,...W.splitAttrs.attributes.value}:void 0,r={ref:!0===a?L:void 0,key:"i_t",class:ee.value,style:e.inputStyle,value:void 0!==S.value?S.value:"",type:"search",...i,id:!0===a?W.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":!0===t||!0===e.autofocus||void 0,disabled:!0===e.disable,readonly:!0===e.readonly,...we.value};return!0!==t&&!0===l&&(!0===Array.isArray(r.class)?r.class=[...r.class,"no-pointer-events"]:r.class+=" no-pointer-events"),n("input",r)}(a,r));else if(!0===W.editable.value){let t=!0===r?le.value:void 0;i.push(n("input",{ref:!0===r?L:void 0,key:"d_t",class:"q-select__focus-target",id:!0===r?W.targetUid.value:void 0,value:ie.value,readonly:!0,"data-autofocus":!0===a||!0===e.autofocus||void 0,...t,onKeydown:Re,onKeyup:Le,onKeypress:Ne})),!0===r&&"string"==typeof e.autocomplete&&0!==e.autocomplete.length&&i.push(n("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:Oe}))}if(void 0!==z.value&&!0!==e.disable&&0!==ye.value.length){let t=ye.value.map((e=>n("option",{value:e,selected:!0})));i.push(n("select",{class:"hidden",name:z.value,multiple:e.multiple},t))}let o=!0===e.useInput||!0!==r?void 0:W.splitAttrs.attributes.value;return n("div",{class:"q-field__native row items-center",...o,...W.splitAttrs.listeners.value},i)},getInnerAppend:()=>!0!==e.loading&&!0!==T.value&&!0!==e.hideDropdownIcon?[n(At,{class:"q-select__dropdown-icon"+(!0===y.value?" rotate-180":""),name:fe.value})]:null}),Hs(W)}}),zu=["text","rect","circle","QBtn","QBadge","QChip","QToolbar","QCheckbox","QRadio","QToggle","QSlider","QRange","QInput","QAvatar"],qu=["wave","pulse","pulse-x","pulse-y","fade","blink","none"],Iu=B({name:"QSkeleton",props:{...Rt,tag:{type:String,default:"div"},type:{type:String,validator:e=>zu.includes(e),default:"rect"},animation:{type:String,validator:e=>qu.includes(e),default:"wave"},animationSpeed:{type:[String,Number],default:1500},square:Boolean,bordered:Boolean,size:String,width:String,height:String},setup(e,{slots:t}){let a=k(),r=zt(e,a.proxy.$q),o=i((()=>{let t=void 0!==e.size?[e.size,e.size]:[e.width,e.height];return{"--q-skeleton-speed":`${e.animationSpeed}ms`,width:t[0],height:t[1]}})),s=i((()=>`q-skeleton q-skeleton--${!0===r.value?"dark":"light"} q-skeleton--type-${e.type}`+("none"!==e.animation?` q-skeleton--anim q-skeleton--anim-${e.animation}`:"")+(!0===e.square?" q-skeleton--square":"")+(!0===e.bordered?" q-skeleton--bordered":"")));return()=>n(e.tag,{class:s.value,style:o.value},dt(t.default))}}),Du=[["left","center","start","width"],["right","center","end","width"],["top","start","center","height"],["bottom","end","center","height"]],ju=B({name:"QSlideItem",props:{...Rt,leftColor:String,rightColor:String,topColor:String,bottomColor:String,onSlide:Function},emits:["action","top","right","bottom","left"],setup(e,{slots:t,emit:r}){let{proxy:o}=k(),{$q:s}=o,l=zt(e,s),{getCache:u}=bi(),c=a(null),d=null,h={},p={},f={},m=i((()=>!0===s.lang.rtl?{left:"right",right:"left"}:{left:"left",right:"right"})),g=i((()=>"q-slide-item q-item-type overflow-hidden"+(!0===l.value?" q-slide-item--dark q-dark":"")));function b(){c.value.style.transform="translate(0,0)"}function y(t,n,a){void 0!==e.onSlide&&r("slide",{side:t,ratio:n,isReset:a})}function w(e){let n,a,i,o=c.value;if(e.isFirst)h={dir:null,size:{left:0,right:0,top:0,bottom:0},scale:0},o.classList.add("no-transition"),Du.forEach((e=>{if(void 0!==t[e[0]]){let t=f[e[0]];t.style.transform="scale(1)",h.size[e[0]]=t.getBoundingClientRect()[e[3]]}})),h.axis="up"===e.direction||"down"===e.direction?"Y":"X";else{if(e.isFinal)return o.classList.remove("no-transition"),void(1===h.scale?(o.style.transform=`translate${h.axis}(${100*h.dir}%)`,null!==d&&clearTimeout(d),d=setTimeout((()=>{d=null,r(h.showing,{reset:b}),r("action",{side:h.showing,reset:b})}),230)):(o.style.transform="translate(0,0)",y(h.showing,0,!0)));e.direction="X"===h.axis?e.offset.x<0?"left":"right":e.offset.y<0?"up":"down"}void 0===t.left&&e.direction===m.value.right||void 0===t.right&&e.direction===m.value.left||void 0===t.top&&"down"===e.direction||void 0===t.bottom&&"up"===e.direction?o.style.transform="translate(0,0)":("X"===h.axis?(a="left"===e.direction?-1:1,n=1===a?m.value.left:m.value.right,i=e.distance.x):(a="up"===e.direction?-2:2,n=2===a?"top":"bottom",i=e.distance.y),(null===h.dir||Math.abs(a)===Math.abs(h.dir))&&(h.dir!==a&&(["left","right","top","bottom"].forEach((e=>{p[e]&&(p[e].style.visibility=n===e?"visible":"hidden")})),h.showing=n,h.dir=a),h.scale=Math.max(0,Math.min(1,(i-40)/h.size[n])),o.style.transform=`translate${h.axis}(${i*a/Math.abs(a)}px)`,f[n].style.transform=`scale(${h.scale})`,y(n,h.scale,!1)))}return _((()=>{p={},f={}})),v((()=>{null!==d&&clearTimeout(d)})),Object.assign(o,{reset:b}),()=>{let a=[],i={left:void 0!==t[m.value.right],right:void 0!==t[m.value.left],up:void 0!==t.bottom,down:void 0!==t.top},r=Object.keys(i).filter((e=>!0===i[e]));Du.forEach((i=>{let r=i[0];void 0!==t[r]&&a.push(n("div",{key:r,ref:e=>{p[r]=e},class:`q-slide-item__${r} absolute-full row no-wrap items-${i[1]} justify-${i[2]}`+(void 0!==e[r+"Color"]?` bg-${e[r+"Color"]}`:"")},[n("div",{ref:e=>{f[r]=e}},t[r]())]))}));let o=n("div",{key:(0===r.length?"only-":"")+" content",ref:c,class:"q-slide-item__content"},dt(t.default));return 0===r.length?a.push(o):a.push(P(o,u("dir#"+r.join(""),(()=>{let e={prevent:!0,stop:!0,mouse:!0};return r.forEach((t=>{e[t]=!0})),[[Ki,w,void 0,e]]})))),n("div",{class:g.value},a)}}}),$u=B({name:"QSpace",setup(){let e=n("div",{class:"q-space"});return()=>e}}),Fu=B({name:"QSpinnerAudio",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 55 80",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Bu=B({name:"QSpinnerBall",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 57 57",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Vu=B({name:"QSpinnerBars",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Hu=B({name:"QSpinnerBox",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Uu=B({name:"QSpinnerClock",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Wu=B({name:"QSpinnerComment",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),Yu=B({name:"QSpinnerCube",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),Qu=B({name:"QSpinnerDots",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Ku=B({name:"QSpinnerFacebook",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),Gu=B({name:"QSpinnerGears",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Zu=B({name:"QSpinnerGrid",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 105 105",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Xu=B({name:"QSpinnerHearts",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 140 64",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Ju=B({name:"QSpinnerHourglass",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),ec=B({name:"QSpinnerInfinity",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),tc=B({name:"QSpinnerIos",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,stroke:"currentColor",fill:"currentColor",viewBox:"0 0 64 64",innerHTML:''})}}),nc=B({name:"QSpinnerOrbit",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),ac=B({name:"QSpinnerOval",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),ic=B({name:"QSpinnerPie",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),rc=B({name:"QSpinnerPuff",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 44 44",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),oc=B({name:"QSpinnerRadio",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),sc=B({name:"QSpinnerRings",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),lc=B({name:"QSpinnerTail",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),uc=B({name:"QSplitter",props:{...Rt,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:"%",validator:e=>["%","px"].includes(e)},limits:{type:Array,validator:e=>2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]&&(e[0]>=0&&e[0]<=e[1])},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object]},emits:["update:modelValue"],setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=zt(e,s),u=a(null),c={before:a(null),after:a(null)},h=i((()=>`q-splitter no-wrap ${!0===e.horizontal?"q-splitter--horizontal column":"q-splitter--vertical row"} q-splitter--${!0===e.disable?"disabled":"workable"}`+(!0===l.value?" q-splitter--dark":""))),p=i((()=>!0===e.horizontal?"height":"width")),f=i((()=>!0!==e.reverse?"before":"after")),m=i((()=>void 0!==e.limits?e.limits:"%"===e.unit?[10,90]:[50,1/0]));function v(t){return("%"===e.unit?t:Math.round(t))+e.unit}let g,_,b,y,w,x=i((()=>({[f.value]:{[p.value]:v(e.modelValue)}})));function S(t){if(!0===t.isFirst){let t=u.value.getBoundingClientRect()[p.value];return g=!0===e.horizontal?"up":"left",_="%"===e.unit?100:t,b=Math.min(_,m.value[1],Math.max(m.value[0],e.modelValue)),y=(!0!==e.reverse?1:-1)*(!0===e.horizontal?1:!0===s.lang.rtl?-1:1)*("%"===e.unit?0===t?0:100/t:1),void u.value.classList.add("q-splitter--active")}if(!0===t.isFinal)return w!==e.modelValue&&o("update:modelValue",w),void u.value.classList.remove("q-splitter--active");let n=b+y*(t.direction===g?-1:1)*t.distance[!0===e.horizontal?"y":"x"];w=Math.min(_,m.value[1],Math.max(m.value[0],n)),c[f.value].value.style[p.value]=v(w),!0===e.emitImmediately&&e.modelValue!==w&&o("update:modelValue",w)}let C=i((()=>[[Ki,S,void 0,{[!0===e.horizontal?"vertical":"horizontal"]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]));function T(e,t){et[1]&&o("update:modelValue",t[1])}return r((()=>e.modelValue),(e=>{T(e,m.value)})),r((()=>e.limits),(()=>{d((()=>{T(e.modelValue,m.value)}))})),()=>{let a=[n("div",{ref:c.before,class:["q-splitter__panel q-splitter__before"+(!0===e.reverse?" col":""),e.beforeClass],style:x.value.before},dt(t.before)),n("div",{class:["q-splitter__separator",e.separatorClass],style:e.separatorStyle,"aria-disabled":!0===e.disable?"true":void 0},[mt("div",{class:"q-splitter__separator-area absolute-full"},dt(t.separator),"sep",!0!==e.disable,(()=>C.value))]),n("div",{ref:c.after,class:["q-splitter__panel q-splitter__after"+(!0===e.reverse?"":" col"),e.afterClass],style:x.value.after},dt(t.after))];return n("div",{class:h.value,ref:u},pt(t.default,a))}}}),cc=B({name:"StepHeader",props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:t}){let{proxy:{$q:r}}=k(),o=a(null),s=i((()=>e.stepper.modelValue===e.step.name)),l=i((()=>{let t=e.step.disable;return!0===t||""===t})),u=i((()=>{let t=e.step.error;return!0===t||""===t})),c=i((()=>{let t=e.step.done;return!1===l.value&&(!0===t||""===t)})),d=i((()=>{let t=e.step.headerNav,n=!0===t||""===t||void 0===t;return!1===l.value&&e.stepper.headerNav&&n})),h=i((()=>e.step.prefix&&(!1===s.value||"none"===e.stepper.activeIcon)&&(!1===u.value||"none"===e.stepper.errorIcon)&&(!1===c.value||"none"===e.stepper.doneIcon))),p=i((()=>{let t=e.step.icon||e.stepper.inactiveIcon;if(!0===s.value){let n=e.step.activeIcon||e.stepper.activeIcon;return"none"===n?t:n||r.iconSet.stepper.active}if(!0===u.value){let n=e.step.errorIcon||e.stepper.errorIcon;return"none"===n?t:n||r.iconSet.stepper.error}if(!1===l.value&&!0===c.value){let n=e.step.doneIcon||e.stepper.doneIcon;return"none"===n?t:n||r.iconSet.stepper.done}return t})),f=i((()=>{let t=!0===u.value?e.step.errorColor||e.stepper.errorColor:void 0;if(!0===s.value){let n=e.step.activeColor||e.stepper.activeColor||e.step.color;return void 0!==n?n:t}return void 0!==t?t:!1===l.value&&!0===c.value?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor})),m=i((()=>"q-stepper__tab col-grow flex items-center no-wrap relative-position"+(void 0!==f.value?` text-${f.value}`:"")+(!0===u.value?" q-stepper__tab--error q-stepper__tab--error-with-"+(!0===h.value?"prefix":"icon"):"")+(!0===s.value?" q-stepper__tab--active":"")+(!0===c.value?" q-stepper__tab--done":"")+(!0===d.value?" q-stepper__tab--navigation q-focusable q-hoverable":"")+(!0===l.value?" q-stepper__tab--disabled":""))),v=i((()=>!0===e.stepper.headerNav&&d.value));function g(){null!==o.value&&o.value.focus(),!1===s.value&&e.goToPanel(e.step.name)}function _(t){13===t.keyCode&&!1===s.value&&e.goToPanel(e.step.name)}return()=>{let a={class:m.value};!0===d.value&&(a.onClick=g,a.onKeyup=_,Object.assign(a,!0===l.value?{tabindex:-1,"aria-disabled":"true"}:{tabindex:t.tabindex||0}));let i=[n("div",{class:"q-focus-helper",tabindex:-1,ref:o}),n("div",{class:"q-stepper__dot row flex-center q-stepper__line relative-position"},[n("span",{class:"row flex-center"},[!0===h.value?e.step.prefix:n(At,{name:p.value})])])];if(void 0!==e.step.title&&null!==e.step.title){let t=[n("div",{class:"q-stepper__title"},e.step.title)];void 0!==e.step.caption&&null!==e.step.caption&&t.push(n("div",{class:"q-stepper__caption"},e.step.caption)),i.push(n("div",{class:"q-stepper__label q-stepper__line relative-position"},t))}return P(n("div",a,i),[[mn,v.value]])}}});function dc(e){return n("div",{class:"q-stepper__step-content"},[n("div",{class:"q-stepper__step-inner"},dt(e.default))])}var hc={setup:(e,{slots:t})=>()=>dc(t)},pc=B({name:"QStep",props:{...yi,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=k(),s=y(Ee,ze);if(s===ze)return console.error("QStep needs to be a child of QStepper"),ze;let{getCache:l}=bi(),u=a(null),c=i((()=>s.value.modelValue===e.name)),d=i((()=>!0!==o.platform.is.ios&&!0===o.platform.is.chrome||!0!==c.value||!0!==s.value.vertical?{}:{onScroll(t){let{target:n}=t;n.scrollTop>0&&(n.scrollTop=0),void 0!==e.onScroll&&r("scroll",t)}})),h=i((()=>"string"==typeof e.name||"number"==typeof e.name?e.name:String(e.name)));function p(){let e=s.value.vertical;return!0===e&&!0===s.value.keepAlive?n(T,s.value.keepAliveProps.value,!0===c.value?[n(!0===s.value.needsUniqueKeepAliveWrapper.value?l(h.value,(()=>({...hc,name:h.value}))):hc,{key:h.value},t.default)]:void 0):!0!==e||!0===c.value?dc(t):void 0}return()=>n("div",{ref:u,class:"q-stepper__step",role:"tabpanel",...d.value},!0===s.value.vertical?[n(cc,{stepper:s.value,step:e,goToPanel:s.value.goToPanel}),!0===s.value.animated?n(ys,p):p()]:[p()])}}),fc=/(-\w)/g;var mc=B({name:"QStepper",props:{...Rt,...ki,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:xi,setup(e,{slots:t}){let a=k(),r=zt(e,a.proxy.$q),{updatePanelsList:o,isValidPanelName:s,updatePanelIndex:l,getPanelContent:u,getPanels:c,panelDirectives:d,goToPanel:h,keepAliveProps:p,needsUniqueKeepAliveWrapper:f}=Si();w(Ee,i((()=>({goToPanel:h,keepAliveProps:p,needsUniqueKeepAliveWrapper:f,...e}))));let m=i((()=>"q-stepper q-stepper--"+(!0===e.vertical?"vertical":"horizontal")+(!0===e.flat?" q-stepper--flat":"")+(!0===e.bordered?" q-stepper--bordered":"")+(!0===r.value?" q-stepper--dark q-dark":""))),v=i((()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${!0===e.alternativeLabels?"alternative":"standard"}-labels`+(!1===e.flat||!0===e.bordered?" q-stepper__header--border":"")+(!0===e.contracted?" q-stepper__header--contracted":"")+(void 0!==e.headerClass?` ${e.headerClass}`:"")));function g(){let a=dt(t.message,[]);if(!0===e.vertical){s(e.modelValue)&&l();let i=n("div",{class:"q-stepper__content"},dt(t.default));return void 0===a?[i]:a.concat(i)}return[n("div",{class:v.value},c().map((t=>{let a=function(e){let t={};for(let n in e)t[n.replace(fc,(e=>e[1].toUpperCase()))]=e[n];return t}(t.props);return n(cc,{key:a.name,stepper:e,step:a,goToPanel:h})}))),a,mt("div",{class:"q-stepper__content q-panel-parent"},u(),"cont",e.swipeable,(()=>d.value))]}return()=>(o(t),n("div",{class:m.value},pt(t.navigation,g())))}}),vc=B({name:"QStepperNavigation",setup:(e,{slots:t})=>()=>n("div",{class:"q-stepper__nav"},dt(t.default))}),gc=B({name:"QTh",props:{props:Object,autoWidth:Boolean},emits:["click"],setup(e,{slots:t,emit:a}){let i=k(),{proxy:{$q:r}}=i,o=e=>{a("click",e)};return()=>{if(void 0===e.props)return n("th",{class:!0===e.autoWidth?"q-table--col-auto-width":"",onClick:o},dt(t.default));let a,s,l=i.vnode.key;if(l){if(a=e.props.colsMap[l],void 0===a)return}else a=e.props.col;if(!0===a.sortable){let e="right"===a.align?"unshift":"push";s=ht(t.default,[]),s[e](n(At,{class:a.__iconClass,name:r.iconSet.table.arrowUp}))}else s=dt(t.default);let u={class:a.__thClass+(!0===e.autoWidth?" q-table--col-auto-width":""),style:a.headerStyle,onClick:t=>{!0===a.sortable&&e.props.sort(a),o(t)}};return n("th",u,s)}}});function _c(e,t){return n("div",e,[n("table",{class:"q-table"},t)])}var bc={list:Cl,table:Rl},yc=["list","table","__qtable"],wc=B({name:"QVirtualScroll",props:{...Pu,type:{type:String,default:"list",validator:e=>yc.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:ra},setup(e,{slots:t,attrs:o}){let s,l=a(null),u=i((()=>e.itemsSize>=0&&void 0!==e.itemsFn?parseInt(e.itemsSize,10):Array.isArray(e.items)?e.items.length:0)),{virtualScrollSliceRange:c,localResetVirtualScroll:d,padVirtualScroll:g,onVirtualScrollEvt:_}=Au({virtualScrollLength:u,getVirtualScrollTarget:function(){return s},getVirtualScrollEl:k}),b=i((()=>{if(0===u.value)return[];let t=(e,t)=>({index:c.value.from+t,item:e});return void 0===e.itemsFn?e.items.slice(c.value.from,c.value.to).map(t):e.itemsFn(c.value.from,c.value.to-c.value.from).map(t)})),y=i((()=>"q-virtual-scroll q-virtual-scroll"+(!0===e.virtualScrollHorizontal?"--horizontal":"--vertical")+(void 0!==e.scrollTarget?"":" scroll"))),w=i((()=>void 0!==e.scrollTarget?{}:{tabindex:0}));function k(){return l.value.$el||l.value}function x(){s=sa(k(),e.scrollTarget),s.addEventListener("scroll",_,U.passive)}function S(){void 0!==s&&(s.removeEventListener("scroll",_,U.passive),s=void 0)}function C(){let n=g("list"===e.type?"div":"tbody",b.value.map(t.default));return void 0!==t.before&&(n=t.before().concat(n)),pt(t.after,n)}return r(u,(()=>{d()})),r((()=>e.scrollTarget),(()=>{S(),x()})),f((()=>{d()})),m((()=>{x()})),h((()=>{x()})),p((()=>{S()})),v((()=>{S()})),()=>{if(void 0!==t.default)return"__qtable"===e.type?_c({ref:l,class:"q-table__middle "+y.value},C()):n(bc[e.type],{...o,ref:l,class:[o.class,y.value],...w.value},C);console.error("QVirtualScroll: default scoped slot is required for rendering")}}});var kc={sortMethod:Function,binaryStateSort:Boolean,columnSortOrder:{type:String,validator:e=>"ad"===e||"da"===e,default:"ad"}};function xc(e,t,n,a){let r=i((()=>{let{sortBy:e}=t.value;return e&&n.value.find((t=>t.name===e))||null})),o=i((()=>void 0!==e.sortMethod?e.sortMethod:(e,t,a)=>{let i=n.value.find((e=>e.name===t));if(void 0===i||void 0===i.field)return e;let r=!0===a?-1:1,o="function"==typeof i.field?e=>i.field(e):e=>e[i.field];return e.sort(((e,t)=>{let n=o(e),a=o(t);return void 0!==i.rawSort?i.rawSort(n,a,e,t)*r:null==n?-1*r:null==a?1*r:void 0!==i.sort?i.sort(n,a,e,t)*r:!0===Be(n)&&!0===Be(a)?(n-a)*r:!0===$e(n)&&!0===$e(a)?function(e,t){return new Date(e)-new Date(t)}(n,a)*r:"boolean"==typeof n&&"boolean"==typeof a?(n-a)*r:([n,a]=[n,a].map((e=>(e+"").toLocaleString().toLowerCase())),ne.name===i));void 0!==e&&e.sortOrder&&(r=e.sortOrder)}let{sortBy:o,descending:s}=t.value;o!==i?(o=i,s="da"===r):!0===e.binaryStateSort?s=!s:!0===s?"ad"===r?o=null:s=!1:"ad"===r?s=!0:o=null,a({sortBy:o,descending:s,page:1})}}}var Sc={filter:[String,Object],filterMethod:Function};function Cc(e){return e.page<1&&(e.page=1),void 0!==e.rowsPerPage&&e.rowsPerPage<1&&(e.rowsPerPage=0),e}var Tc={pagination:Object,rowsPerPageOptions:{type:Array,default:()=>[5,7,10,15,20,25,50,0]},"onUpdate:pagination":[Function,Array]};var Mc={selection:{type:String,default:"none",validator:e=>["single","multiple","none"].includes(e)},selected:{type:Array,default:()=>[]}};function Ec(e){return Array.isArray(e)?e.slice():[]}var Pc={expanded:Array};var Ac={visibleColumns:Array};var Lc="q-table__bottom row items-center",Oc={};Eu.forEach((e=>{Oc[e]={}}));var Nc=B({name:"QTable",props:{rows:{type:Array,required:!0},rowKey:{type:[String,Function],default:"id"},columns:Array,loading:Boolean,iconFirstPage:String,iconPrevPage:String,iconNextPage:String,iconLastPage:String,title:String,hideHeader:Boolean,grid:Boolean,gridHeader:Boolean,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,separator:{type:String,default:"horizontal",validator:e=>["horizontal","vertical","cell","none"].includes(e)},wrapCells:Boolean,virtualScroll:Boolean,virtualScrollTarget:{},...Oc,noDataLabel:String,noResultsLabel:String,loadingLabel:String,selectedRowsLabel:Function,rowsPerPageLabel:String,paginationLabel:Function,color:{type:String,default:"grey-8"},titleClass:[String,Array,Object],tableStyle:[String,Array,Object],tableClass:[String,Array,Object],tableHeaderStyle:[String,Array,Object],tableHeaderClass:[String,Array,Object],cardContainerClass:[String,Array,Object],cardContainerStyle:[String,Array,Object],cardStyle:[String,Array,Object],cardClass:[String,Array,Object],hideBottom:Boolean,hideSelectedBanner:Boolean,hideNoData:Boolean,hidePagination:Boolean,onRowClick:Function,onRowDblclick:Function,onRowContextmenu:Function,...Rt,...Ti,...Ac,...Sc,...Tc,...Pc,...Mc,...kc},emits:["request","virtualScroll",...Mi,"update:expanded","update:selected","selection"],setup(e,{slots:t,emit:o}){let s=k(),{proxy:{$q:l}}=s,u=zt(e,l),{inFullscreen:c,toggleFullscreen:h}=Ei(),p=i((()=>"function"==typeof e.rowKey?e.rowKey:t=>t[e.rowKey])),f=a(null),m=a(null),v=i((()=>!0!==e.grid&&!0===e.virtualScroll)),g=i((()=>" q-table__card"+(!0===u.value?" q-table__card--dark q-dark":"")+(!0===e.square?" q-table--square":"")+(!0===e.flat?" q-table--flat":"")+(!0===e.bordered?" q-table--bordered":""))),_=i((()=>`q-table__container q-table--${e.separator}-separator column no-wrap`+(!0===e.grid?" q-table--grid":g.value)+(!0===u.value?" q-table--dark":"")+(!0===e.dense?" q-table--dense":"")+(!1===e.wrapCells?" q-table--no-wrap":"")+(!0===c.value?" fullscreen scroll":""))),b=i((()=>_.value+(!0===e.loading?" q-table--loading":"")));r((()=>e.tableStyle+e.tableClass+e.tableHeaderStyle+e.tableHeaderClass+_.value),(()=>{!0===v.value&&null!==m.value&&m.value.reset()}));let{innerPagination:y,computedPagination:w,isServerSide:x,requestServerInteraction:S,setPagination:C}=function(e,t){let{props:n,emit:r}=e,o=a(Object.assign({sortBy:null,descending:!1,page:1,rowsPerPage:0!==n.rowsPerPageOptions.length?n.rowsPerPageOptions[0]:5},n.pagination)),s=i((()=>Cc(void 0!==n["onUpdate:pagination"]?{...o.value,...n.pagination}:o.value))),l=i((()=>void 0!==s.value.rowsNumber));function u(e){c({pagination:e,filter:n.filter})}function c(e={}){d((()=>{r("request",{pagination:e.pagination||s.value,filter:e.filter||n.filter,getCellValue:t})}))}return{innerPagination:o,computedPagination:s,isServerSide:l,requestServerInteraction:c,setPagination:function(e,t){let a=Cc({...s.value,...e});!0!==function(e,t){for(let n in t)if(t[n]!==e[n])return!1;return!0}(s.value,a)?!0!==l.value?void 0!==n.pagination&&void 0!==n["onUpdate:pagination"]?r("update:pagination",a):o.value=a:u(a):!0===l.value&&!0===t&&u(a)}}}(s,ge),{computedFilterMethod:T}=function(e,t){let n=i((()=>void 0!==e.filterMethod?e.filterMethod:(e,t,n,a)=>{let i=t?t.toLowerCase():"";return e.filter((e=>n.some((t=>{let n=a(t,e)+"";return-1!==("undefined"===n||"null"===n?"":n.toLowerCase()).indexOf(i)}))))}));return r((()=>e.filter),(()=>{d((()=>{t({page:1},!0)}))}),{deep:!0}),{computedFilterMethod:n}}(e,C),{isRowExpanded:M,setExpanded:E,updateExpanded:P}=function(e,t){let n=a(Ec(e.expanded));function i(a){void 0!==e.expanded?t("update:expanded",a):n.value=a}return r((()=>e.expanded),(e=>{n.value=Ec(e)})),{isRowExpanded:function(e){return n.value.includes(e)},setExpanded:i,updateExpanded:function(e,t){let a=n.value.slice(),r=a.indexOf(e);!0===t?-1===r&&(a.push(e),i(a)):-1!==r&&(a.splice(r,1),i(a))}}}(e,o),A=i((()=>{let t=e.rows;if(!0===x.value||0===t.length)return t;let{sortBy:n,descending:a}=w.value;return e.filter&&(t=T.value(t,e.filter,U.value,ge)),null!==Q.value&&(t=K.value(e.rows===t?t.slice():t,n,a)),t})),L=i((()=>A.value.length)),O=i((()=>{let t=A.value;if(!0===x.value)return t;let{rowsPerPage:n}=w.value;return 0!==n&&(0===Z.value&&e.rows!==t?t.length>X.value&&(t=t.slice(0,X.value)):t=t.slice(Z.value,X.value)),t})),{hasSelectionMode:z,singleSelection:q,multipleSelection:I,allRowsSelected:D,someRowsSelected:j,rowsSelectedNumber:$,isRowSelected:F,clearSelection:B,updateSelection:V}=function(e,t,n,a){let r=i((()=>{let t={};return e.selected.map(a.value).forEach((e=>{t[e]=!0})),t})),o=i((()=>"none"!==e.selection)),s=i((()=>"single"===e.selection)),l=i((()=>"multiple"===e.selection)),u=i((()=>0!==n.value.length&&n.value.every((e=>!0===r.value[a.value(e)])))),c=i((()=>!0!==u.value&&n.value.some((e=>!0===r.value[a.value(e)])))),d=i((()=>e.selected.length));return{hasSelectionMode:o,singleSelection:s,multipleSelection:l,allRowsSelected:u,someRowsSelected:c,rowsSelectedNumber:d,isRowSelected:function(e){return!0===r.value[e]},clearSelection:function(){t("update:selected",[])},updateSelection:function(n,i,r,o){t("selection",{rows:i,added:r,keys:n,evt:o});let l=!0===s.value?!0===r?i:[]:!0===r?e.selected.concat(i):e.selected.filter((e=>!1===n.includes(a.value(e))));t("update:selected",l)}}}(e,o,O,p),{colList:H,computedCols:U,computedColsMap:W,computedColspan:Y}=function(e,t,n){let a=i((()=>{if(void 0!==e.columns)return e.columns;let t=e.rows[0];return void 0!==t?Object.keys(t).map((e=>({name:e,label:e.toUpperCase(),field:e,align:Be(t[e])?"right":"left",sortable:!0}))):[]})),r=i((()=>{let{sortBy:n,descending:i}=t.value;return(void 0!==e.visibleColumns?a.value.filter((t=>!0===t.required||!0===e.visibleColumns.includes(t.name))):a.value).map((e=>{let t=e.align||"right",a=`text-${t}`;return{...e,align:t,__iconClass:`q-table__sort-icon q-table__sort-icon--${t}`,__thClass:a+(void 0!==e.headerClasses?" "+e.headerClasses:"")+(!0===e.sortable?" sortable":"")+(e.name===n?" sorted "+(!0===i?"sort-desc":""):""),__tdStyle:void 0!==e.style?"function"!=typeof e.style?()=>e.style:e.style:()=>null,__tdClass:void 0!==e.classes?"function"!=typeof e.classes?()=>a+" "+e.classes:t=>a+" "+e.classes(t):()=>a}}))})),o=i((()=>{let e={};return r.value.forEach((t=>{e[t.name]=t})),e})),s=i((()=>void 0!==e.tableColspan?e.tableColspan:r.value.length+(!0===n.value?1:0)));return{colList:a,computedCols:r,computedColsMap:o,computedColspan:s}}(e,w,z),{columnToSort:Q,computedSortMethod:K,sort:G}=xc(e,w,H,C),{firstRowIndex:Z,lastRowIndex:X,isFirstPage:J,isLastPage:ee,pagesNumber:te,computedRowsPerPageOptions:ne,computedRowsNumber:ae,firstPage:ie,prevPage:re,nextPage:oe,lastPage:se}=function(e,t,n,a,o,s){let{props:l,emit:u,proxy:{$q:c}}=e,d=i((()=>!0===a.value?n.value.rowsNumber||0:s.value)),h=i((()=>{let{page:e,rowsPerPage:t}=n.value;return(e-1)*t})),p=i((()=>{let{page:e,rowsPerPage:t}=n.value;return e*t})),f=i((()=>1===n.value.page)),m=i((()=>0===n.value.rowsPerPage?1:Math.max(1,Math.ceil(d.value/n.value.rowsPerPage)))),v=i((()=>0===p.value||n.value.page>=m.value)),g=i((()=>(l.rowsPerPageOptions.includes(t.value.rowsPerPage)?l.rowsPerPageOptions:[t.value.rowsPerPage].concat(l.rowsPerPageOptions)).map((e=>({label:0===e?c.lang.table.allRows:""+e,value:e})))));return r(m,((e,t)=>{if(e===t)return;let a=n.value.page;e&&!a?o({page:1}):e1&&o({page:e-1})},nextPage:function(){let{page:e,rowsPerPage:t}=n.value;p.value>0&&e*t0===O.value.length)),ue=i((()=>{let t={};return Eu.forEach((n=>{t[n]=e[n]})),void 0===t.virtualScrollItemSize&&(t.virtualScrollItemSize=!0===e.dense?28:48),t}));function ce(){if(!0===e.grid)return function(){let a=void 0!==t.item?t.item:a=>{let i=a.cols.map((e=>n("div",{class:"q-table__grid-item-row"},[n("div",{class:"q-table__grid-item-title"},[e.label]),n("div",{class:"q-table__grid-item-value"},[e.value])])));if(!0===z.value){let r=t["body-selection"],o=void 0!==r?r(a):[n($i,{modelValue:a.selected,color:e.color,dark:u.value,dense:e.dense,"onUpdate:modelValue":(e,t)=>{V([a.key],[a.row],e,t)}})];i.unshift(n("div",{class:"q-table__grid-item-row"},o),n(xs,{dark:u.value}))}let r={class:["q-table__grid-item-card"+g.value,e.cardClass],style:e.cardStyle};return(void 0!==e.onRowClick||void 0!==e.onRowDblclick)&&(r.class[0]+=" cursor-pointer",void 0!==e.onRowClick&&(r.onClick=e=>{o("RowClick",e,a.row,a.pageIndex)}),void 0!==e.onRowDblclick&&(r.onDblclick=e=>{o("RowDblclick",e,a.row,a.pageIndex)})),n("div",{class:"q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3"+(!0===a.selected?" q-table__grid-item--selected":"")},[n("div",r,i)])};return n("div",{class:["q-table__grid-content row",e.cardContainerClass],style:e.cardContainerStyle},O.value.map(((e,t)=>a(me({key:p.value(e),row:e,pageIndex:t})))))}();let a=!0!==e.hideHeader?we:null;if(!0===v.value){let i=t["top-row"],r=t["bottom-row"],o={default:e=>pe(e.item,t.body,e.index)};if(void 0!==i){let e=n("tbody",i({cols:U.value}));o.before=null===a?()=>e:()=>[a()].concat(e)}else null!==a&&(o.before=a);return void 0!==r&&(o.after=()=>n("tbody",r({cols:U.value}))),n(wc,{ref:m,class:e.tableClass,style:e.tableStyle,...ue.value,scrollTarget:e.virtualScrollTarget,items:O.value,type:"__qtable",tableColspan:Y.value,onVirtualScroll:de},o)}let i=[fe()];return null!==a&&i.unshift(a()),_c({class:["q-table__middle scroll",e.tableClass],style:e.tableStyle},i)}function de(e){o("virtualScroll",e)}function he(){return[n(iu,{class:"q-table__linear-progress",color:e.color,dark:u.value,indeterminate:!0,trackColor:"transparent"})]}function pe(a,i,r){let s=p.value(a),l=F(s);if(void 0!==i)return i(me({key:s,row:a,pageIndex:r,__trClass:l?"selected":""}));let c=t["body-cell"],d=U.value.map((e=>{let i=t[`body-cell-${e.name}`],o=void 0!==i?i:c;return void 0!==o?o(function(e){return ve(e),N(e,"value",(()=>ge(e.col,e.row))),e}({key:s,row:a,pageIndex:r,col:e})):n("td",{class:e.__tdClass(a),style:e.__tdStyle(a)},ge(e,a))}));if(!0===z.value){let i=t["body-selection"],o=void 0!==i?i(function(e){return ve(e),e}({key:s,row:a,pageIndex:r})):[n($i,{modelValue:l,color:e.color,dark:u.value,dense:e.dense,"onUpdate:modelValue":(e,t)=>{V([s],[a],e,t)}})];d.unshift(n("td",{class:"q-table--col-auto-width"},o))}let h={key:s,class:{selected:l}};return void 0!==e.onRowClick&&(h.class["cursor-pointer"]=!0,h.onClick=e=>{o("rowClick",e,a,r)}),void 0!==e.onRowDblclick&&(h.class["cursor-pointer"]=!0,h.onDblclick=e=>{o("rowDblclick",e,a,r)}),void 0!==e.onRowContextmenu&&(h.class["cursor-pointer"]=!0,h.onContextmenu=e=>{o("rowContextmenu",e,a,r)}),n("tr",h,d)}function fe(){let e=t.body,a=t["top-row"],i=t["bottom-row"],r=O.value.map(((t,n)=>pe(t,e,n)));return void 0!==a&&(r=a({cols:U.value}).concat(r)),void 0!==i&&(r=r.concat(i({cols:U.value}))),n("tbody",r)}function me(e){return ve(e),e.cols=e.cols.map((t=>N({...t},"value",(()=>ge(t,e.row))))),e}function ve(t){Object.assign(t,{cols:U.value,colsMap:W.value,sort:G,rowIndex:Z.value+t.pageIndex,color:e.color,dark:u.value,dense:e.dense}),!0===z.value&&N(t,"selected",(()=>F(t.key)),((e,n)=>{V([t.key],[t.row],e,n)})),N(t,"expand",(()=>M(t.key)),(e=>{P(t.key,e)}))}function ge(e,t){let n="function"==typeof e.field?e.field(t):t[e.field];return void 0!==e.format?e.format(n,t):n}let _e=i((()=>({pagination:w.value,pagesNumber:te.value,isFirstPage:J.value,isLastPage:ee.value,firstPage:ie,prevPage:re,nextPage:oe,lastPage:se,inFullscreen:c.value,toggleFullscreen:h})));function be(){let a,i=t.top,r=t["top-left"],o=t["top-right"],s=t["top-selection"],l=!0===z.value&&void 0!==s&&$.value>0,u="q-table__top relative-position row items-center";return void 0!==i?n("div",{class:u},[i(_e.value)]):(!0===l?a=s(_e.value).slice():(a=[],void 0!==r?a.push(n("div",{class:"q-table__control"},[r(_e.value)])):e.title&&a.push(n("div",{class:"q-table__control"},[n("div",{class:["q-table__title",e.titleClass]},e.title)]))),void 0!==o&&(a.push(n("div",{class:"q-table__separator col"})),a.push(n("div",{class:"q-table__control"},[o(_e.value)]))),0!==a.length?n("div",{class:u},a):void 0)}let ye=i((()=>!0===j.value?null:D.value));function we(){let a=function(){let a=t.header,i=t["header-cell"];if(void 0!==a)return a(ke({header:!0})).slice();let r=U.value.map((e=>{let a=t[`header-cell-${e.name}`],r=void 0!==a?a:i,o=ke({col:e});return void 0!==r?r(o):n(gc,{key:e.name,props:o},(()=>e.label))}));if(!0===q.value&&!0!==e.grid)r.unshift(n("th",{class:"q-table--col-auto-width"}," "));else if(!0===I.value){let a=t["header-selection"],i=void 0!==a?a(ke({})):[n($i,{color:e.color,modelValue:ye.value,dark:u.value,dense:e.dense,"onUpdate:modelValue":xe})];r.unshift(n("th",{class:"q-table--col-auto-width"},i))}return[n("tr",{class:e.tableHeaderClass,style:e.tableHeaderStyle},r)]}();return!0===e.loading&&void 0===t.loading&&a.push(n("tr",{class:"q-table__progress"},[n("th",{class:"relative-position",colspan:Y.value},he())])),n("thead",a)}function ke(t){return Object.assign(t,{cols:U.value,sort:G,colsMap:W.value,color:e.color,dark:u.value,dense:e.dense}),!0===I.value&&N(t,"selected",(()=>ye.value),xe),t}function xe(e){!0===j.value&&(e=!1),V(O.value.map(p.value),O.value,e)}let Se=i((()=>{let t=[e.iconFirstPage||l.iconSet.table.firstPage,e.iconPrevPage||l.iconSet.table.prevPage,e.iconNextPage||l.iconSet.table.nextPage,e.iconLastPage||l.iconSet.table.lastPage];return!0===l.lang.rtl?t.reverse():t}));function Ce(){if(!0===e.hideBottom)return;if(!0===le.value){if(!0===e.hideNoData)return;let a=!0===e.loading?e.loadingLabel||l.lang.table.loading:e.filter?e.noResultsLabel||l.lang.table.noResults:e.noDataLabel||l.lang.table.noData,i=t["no-data"],r=void 0!==i?[i({message:a,icon:l.iconSet.table.warning,filter:e.filter})]:[n(At,{class:"q-table__bottom-nodata-icon",name:l.iconSet.table.warning}),a];return n("div",{class:Lc+" q-table__bottom--nodata"},r)}let a=t.bottom;if(void 0!==a)return n("div",{class:Lc},[a(_e.value)]);let i=!0!==e.hideSelectedBanner&&!0===z.value&&$.value>0?[n("div",{class:"q-table__control"},[n("div",[(e.selectedRowsLabel||l.lang.table.selectedRecords)($.value)])])]:[];return!0!==e.hidePagination?n("div",{class:Lc+" justify-end"},function(a){let i,{rowsPerPage:r}=w.value,o=e.paginationLabel||l.lang.table.pagination,s=t.pagination,c=e.rowsPerPageOptions.length>1;if(a.push(n("div",{class:"q-table__separator col"})),!0===c&&a.push(n("div",{class:"q-table__control"},[n("span",{class:"q-table__bottom-item"},[e.rowsPerPageLabel||l.lang.table.recordsPerPage]),n(Ru,{class:"q-table__select inline q-table__bottom-item",color:e.color,modelValue:r,options:ne.value,displayValue:0===r?l.lang.table.allRows:r,dark:u.value,borderless:!0,dense:!0,optionsDense:!0,optionsCover:!0,"onUpdate:modelValue":Te})])),void 0!==s)i=s(_e.value);else if(i=[n("span",0!==r?{class:"q-table__bottom-item"}:{},[r?o(Z.value+1,Math.min(X.value,ae.value),ae.value):o(1,L.value,ae.value)])],0!==r&&te.value>1){let t={color:e.color,round:!0,dense:!0,flat:!0};!0===e.dense&&(t.size="sm"),te.value>2&&i.push(n(Pn,{key:"pgFirst",...t,icon:Se.value[0],disable:J.value,onClick:ie})),i.push(n(Pn,{key:"pgPrev",...t,icon:Se.value[1],disable:J.value,onClick:re}),n(Pn,{key:"pgNext",...t,icon:Se.value[2],disable:ee.value,onClick:oe})),te.value>2&&i.push(n(Pn,{key:"pgLast",...t,icon:Se.value[3],disable:ee.value,onClick:se}))}return a.push(n("div",{class:"q-table__control"},i)),a}(i)):0!==i.length?n("div",{class:Lc},i):void 0}function Te(e){C({page:1,rowsPerPage:e.value})}return Object.assign(s.proxy,{requestServerInteraction:S,setPagination:C,firstPage:ie,prevPage:re,nextPage:oe,lastPage:se,isRowSelected:F,clearSelection:B,isRowExpanded:M,setExpanded:E,sort:G,resetVirtualScroll:function(){!0===v.value&&m.value.reset()},scrollTo:function(t,n){if(null!==m.value)return void m.value.scrollTo(t,n);t=parseInt(t,10);let a=f.value.querySelector(`tbody tr:nth-of-type(${t+1})`);if(null!==a){let n=f.value.querySelector(".q-table__middle.scroll"),i=a.offsetTop-e.virtualScrollStickySizeStart,r=iA.value,computedRows:()=>O.value,computedRowsNumber:()=>ae.value}),()=>{let a=[be()],i={ref:f,class:b.value};return!0===e.grid?a.push(function(){let a=!0===e.gridHeader?[n("table",{class:"q-table"},[we()])]:!0===e.loading&&void 0===t.loading?he():void 0;return n("div",{class:"q-table__middle"},a)}()):Object.assign(i,{class:[i.class,e.cardClass],style:e.cardStyle}),a.push(ce(),Ce()),!0===e.loading&&void 0!==t.loading&&a.push(t.loading()),n("div",i,a)}}}),Rc=B({name:"QTr",props:{props:Object,noHover:Boolean},setup(e,{slots:t}){let a=i((()=>"q-tr"+(void 0===e.props||!0===e.props.header?"":" "+e.props.__trClass)+(!0===e.noHover?" q-tr--no-hover":"")));return()=>n("tr",{class:a.value},dt(t.default))}}),zc=B({name:"QTd",props:{props:Object,autoWidth:Boolean,noHover:Boolean},setup(e,{slots:t}){let a=k(),r=i((()=>"q-td"+(!0===e.autoWidth?" q-table--col-auto-width":"")+(!0===e.noHover?" q-td--no-hover":"")+" "));return()=>{if(void 0===e.props)return n("td",{class:r.value},dt(t.default));let i=a.vnode.key,o=(void 0!==e.props.colsMap?e.props.colsMap[i]:null)||e.props.col;if(void 0===o)return;let{row:s}=e.props;return n("td",{class:r.value+o.__tdClass(s),style:o.__tdStyle(s)},dt(t.default))}}}),qc=B({name:"QRouteTab",props:{...en,...mr},emits:fr,setup(e,{slots:t,emit:n}){let a=tn({useDisableForRouterLinkProps:!1}),{renderTab:o,$tabs:s}=vr(e,t,n,{exact:i((()=>e.exact)),...a});return r((()=>`${e.name} | ${e.exact} | ${(a.resolvedLink.value||{}).href}`),s.verifyRouteModel),()=>o(a.linkTag.value,a.linkAttrs.value)}});function Ic(){let e=new Date;return{hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds(),millisecond:e.getMilliseconds()}}var Dc=B({name:"QTime",props:{...Rt,...ii,...Gr,modelValue:{required:!0,validator:e=>"string"==typeof e||null===e},mask:{...Gr.mask,default:null},format24h:{type:Boolean,default:null},defaultDate:{type:String,validator:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e)},options:Function,hourOptions:Array,minuteOptions:Array,secondOptions:Array,withSeconds:Boolean,nowBtn:Boolean},emits:Zr,setup(e,{slots:t,emit:o}){let s,l,u=k(),{$q:c}=u.proxy,h=zt(e,c),{tabindex:p,headerClass:f,getLocale:m,getCurrentDate:v}=Jr(e,c),g=oi(ri(e)),_=a(null),b=i((()=>"persian"!==e.calendar&&null!==e.mask?e.mask:"HH:mm"+(!0===e.withSeconds?":ss":""))),y=i((()=>m())),w=i((()=>function(){if("string"!=typeof e.defaultDate){let e=v(!0);return e.dateHash=Xr(e),e}return po(e.defaultDate,"YYYY/MM/DD",void 0,e.calendar)}())),x=po(e.modelValue,b.value,y.value,e.calendar,w.value),C=a(function(e,t){if(null!==e.hour){if(null===e.minute)return"minute";if(!0===t&&null===e.second)return"second"}return"hour"}(x)),T=a(x),M=a(null===x.hour||x.hour<12),E=i((()=>"q-time q-time--"+(!0===e.landscape?"landscape":"portrait")+(!0===h.value?" q-time--dark q-dark":"")+(!0===e.disable?" disabled":!0===e.readonly?" q-time--readonly":"")+(!0===e.bordered?" q-time--bordered":"")+(!0===e.square?" q-time--square no-border-radius":"")+(!0===e.flat?" q-time--flat no-shadow":""))),A=i((()=>{let e=T.value;return{hour:null===e.hour?"--":!0===L.value?et(e.hour):String(!0===M.value?0===e.hour?12:e.hour:e.hour>12?e.hour-12:e.hour),minute:null===e.minute?"--":et(e.minute),second:null===e.second?"--":et(e.second)}})),L=i((()=>null!==e.format24h?e.format24h:c.lang.date.format24h)),O=i((()=>{let e="hour"===C.value,t=!0===e?12:60,n=T.value[C.value],a=`rotate(${Math.round(n*(360/t))-180}deg) translateX(-50%)`;return!0===e&&!0===L.value&&T.value.hour>=12&&(a+=" scale(.7)"),{transform:a}})),N=i((()=>null!==T.value.hour)),R=i((()=>!0===N.value&&null!==T.value.minute)),z=i((()=>void 0!==e.hourOptions?t=>e.hourOptions.includes(t):void 0!==e.options?t=>e.options(t,null,null):null)),q=i((()=>void 0!==e.minuteOptions?t=>e.minuteOptions.includes(t):void 0!==e.options?t=>e.options(T.value.hour,t,null):null)),I=i((()=>void 0!==e.secondOptions?t=>e.secondOptions.includes(t):void 0!==e.options?t=>e.options(T.value.hour,T.value.minute,t):null)),D=i((()=>{if(null===z.value)return null;let e=U(0,11,z.value),t=U(12,11,z.value);return{am:e,pm:t,values:e.values.concat(t.values)}})),j=i((()=>null!==q.value?U(0,59,q.value):null)),$=i((()=>null!==I.value?U(0,59,I.value):null)),F=i((()=>{switch(C.value){case"hour":return D.value;case"minute":return j.value;case"second":return $.value}})),B=i((()=>{let e,t,n=0,a=1,i=null!==F.value?F.value.values:void 0;"hour"===C.value?!0===L.value?(e=0,t=23):(e=0,t=11,!1===M.value&&(n=12)):(e=0,t=55,a=5);let r=[];for(let o=e,s=e;o<=t;o+=a,s++){let e=o+n,t=void 0!==i&&!1===i.includes(e),a="hour"===C.value&&0===o?!0===L.value?"00":"12":o;r.push({val:e,index:s,disable:t,label:a})}return r})),V=i((()=>[[Ki,Z,void 0,{stop:!0,prevent:!0,mouse:!0}]]));function H(){let e={...v(),...Ic()};ve(e),Object.assign(T.value,e),C.value="hour"}function U(e,t,n){let a=Array.apply(null,{length:t+1}).map(((t,a)=>{let i=a+e;return{index:i,val:!0===n(i)}})).filter((e=>!0===e.val)).map((e=>e.index));return{min:a[0],max:a[a.length-1],values:a,threshold:t+1}}function W(e,t,n){let a=Math.abs(e-t);return Math.min(a,n-a)}function Y(e,{min:t,max:n,values:a,threshold:i}){if(e===t)return t;if(en)return W(e,t,i)<=W(e,n,i)?t:n;let r=a.findIndex((t=>e<=t)),o=a[r-1],s=a[r];return e-o<=s-e?o:s}function K(){return!0===Wt(u)||null!==F.value&&(0===F.value.values.length||"hour"===C.value&&!0!==L.value&&0===D.value[!0===M.value?"am":"pm"].values.length)}function G(){let e=_.value,{top:t,left:n,width:a}=e.getBoundingClientRect(),i=a/2;return{top:t+i,left:n+i,dist:.7*i}}function Z(e){if(!0!==K()){if(!0===e.isFirst)return s=G(),void(l=J(e.evt,s));l=J(e.evt,s,l),!0===e.isFinal&&(s=!1,l=null,X())}}function X(){"hour"===C.value?C.value="minute":e.withSeconds&&"minute"===C.value&&(C.value="second")}function J(e,t,n){let a,i=Q(e),r=Math.abs(i.top-t.top),o=Math.sqrt(Math.pow(Math.abs(i.top-t.top),2)+Math.pow(Math.abs(i.left-t.left),2)),s=Math.asin(r/o)*(180/Math.PI);if(s=i.top=t.dist:0!==D.value.am.values.length;a=Y(a+(!0===e?0:12),D.value[!0===e?"am":"pm"])}else a=Math.round(a),!0===L.value?oe.modelValue),(t=>{let n=po(t,b.value,y.value,e.calendar,w.value);(n.dateHash!==T.value.dateHash||n.timeHash!==T.value.timeHash)&&(T.value=n,null===n.hour?C.value="hour":M.value=n.hour<12)})),r([b,y],(()=>{d((()=>{ve()}))}));let ee={hour(){C.value="hour"},minute(){C.value="minute"},second(){C.value="second"}};function te(e){13===e.keyCode&&he()}function ne(e){13===e.keyCode&&pe()}function ae(e){!0!==K()&&(!0!==c.platform.is.desktop&&J(e,G()),X())}function ie(e){!0!==K()&&J(e,G())}function re(e){if(13===e.keyCode)C.value="hour";else if([37,39].includes(e.keyCode)){let t=37===e.keyCode?-1:1;if(null!==D.value){let e=!0===L.value?D.value.values:D.value[!0===M.value?"am":"pm"].values;if(0===e.length)return;if(null===T.value.hour)le(e[0]);else{let n=(e.length+e.indexOf(T.value.hour)+t)%e.length;le(e[n])}}else{let e=!0===L.value?24:12;le((!0!==L.value&&!1===M.value?12:0)+(24+(null===T.value.hour?-t:T.value.hour)+t)%e)}}}function oe(e){if(13===e.keyCode)C.value="minute";else if([37,39].includes(e.keyCode)){let t=37===e.keyCode?-1:1;if(null!==j.value){let e=j.value.values;if(0===e.length)return;if(null===T.value.minute)ue(e[0]);else{let n=(e.length+e.indexOf(T.value.minute)+t)%e.length;ue(e[n])}}else{ue((60+(null===T.value.minute?-t:T.value.minute)+t)%60)}}}function se(e){if(13===e.keyCode)C.value="second";else if([37,39].includes(e.keyCode)){let t=37===e.keyCode?-1:1;if(null!==$.value){let e=$.value.values;if(0===e.length)return;if(null===T.value.seconds)ce(e[0]);else{let n=(e.length+e.indexOf(T.value.second)+t)%e.length;ce(e[n])}}else{ce((60+(null===T.value.second?-t:T.value.second)+t)%60)}}}function le(e){T.value.hour!==e&&(T.value.hour=e,me())}function ue(e){T.value.minute!==e&&(T.value.minute=e,me())}function ce(e){T.value.second!==e&&(T.value.second=e,me())}let de={hour:le,minute:ue,second:ce};function he(){!1===M.value&&(M.value=!0,null!==T.value.hour&&(T.value.hour-=12,me()))}function pe(){!0===M.value&&(M.value=!1,null!==T.value.hour&&(T.value.hour+=12,me()))}function fe(t){let n=e.modelValue;C.value!==t&&null!=n&&""!==n&&"string"!=typeof n&&(C.value=t)}function me(){return null!==z.value&&!0!==z.value(T.value.hour)?(T.value=po(),void fe("hour")):null!==q.value&&!0!==q.value(T.value.minute)?(T.value.minute=null,T.value.second=null,void fe("minute")):!0===e.withSeconds&&null!==I.value&&!0!==I.value(T.value.second)?(T.value.second=null,void fe("second")):void(null===T.value.hour||null===T.value.minute||!0===e.withSeconds&&null===T.value.second||ve())}function ve(t){let n=Object.assign({...T.value},t),a="persian"===e.calendar?et(n.hour)+":"+et(n.minute)+(!0===e.withSeconds?":"+et(n.second):""):xo(new Date(n.year,null===n.month?null:n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond),b.value,y.value,n.year,n.timezoneOffset);n.changed=a!==e.modelValue,o("update:modelValue",a,n)}function ge(){let t=[n("div",{class:"q-time__link "+("hour"===C.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onClick:ee.hour,onKeyup:re},A.value.hour),n("div",":"),n("div",!0===N.value?{class:"q-time__link "+("minute"===C.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onKeyup:oe,onClick:ee.minute}:{class:"q-time__link"},A.value.minute)];!0===e.withSeconds&&t.push(n("div",":"),n("div",!0===R.value?{class:"q-time__link "+("second"===C.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onKeyup:se,onClick:ee.second}:{class:"q-time__link"},A.value.second));let a=[n("div",{class:"q-time__header-label row items-center no-wrap",dir:"ltr"},t)];return!1===L.value&&a.push(n("div",{class:"q-time__header-ampm column items-between no-wrap"},[n("div",{class:"q-time__link "+(!0===M.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onClick:he,onKeyup:te},"AM"),n("div",{class:"q-time__link "+(!0!==M.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onClick:pe,onKeyup:ne},"PM")])),n("div",{class:"q-time__header flex flex-center no-wrap "+f.value},a)}function _e(){let t=T.value[C.value];return n("div",{class:"q-time__content col relative-position"},[n(S,{name:"q-transition--scale"},(()=>n("div",{key:"clock"+C.value,class:"q-time__container-parent absolute-full"},[n("div",{ref:_,class:"q-time__container-child fit overflow-hidden"},[P(n("div",{class:"q-time__clock cursor-pointer non-selectable",onClick:ae,onMousedown:ie},[n("div",{class:"q-time__clock-circle fit"},[n("div",{class:"q-time__clock-pointer"+(null===T.value[C.value]?" hidden":void 0!==e.color?` text-${e.color}`:""),style:O.value}),B.value.map((e=>n("div",{class:`q-time__clock-position row flex-center q-time__clock-pos-${e.index}`+(e.val===t?" q-time__clock-position--active "+f.value:!0===e.disable?" q-time__clock-position--disable":"")},[n("span",e.label)])))])]),V.value)])]))),!0===e.nowBtn?n(Pn,{class:"q-time__now-button absolute",icon:c.iconSet.datetime.now,unelevated:!0,size:"sm",round:!0,color:e.color,textColor:e.textColor,tabindex:p.value,onClick:H}):null])}return u.proxy.setNow=H,()=>{let a=[_e()],i=dt(t.default);return void 0!==i&&a.push(n("div",{class:"q-time__actions"},i)),void 0!==e.name&&!0!==e.disable&&g(a,"push"),n("div",{class:E.value,tabindex:-1},[ge(),n("div",{class:"q-time__main col overflow-auto"},a)])}}}),jc=B({name:"QTimeline",props:{...Rt,color:{type:String,default:"primary"},side:{type:String,default:"right",validator:e=>["left","right"].includes(e)},layout:{type:String,default:"dense",validator:e=>["dense","comfortable","loose"].includes(e)}},setup(e,{slots:t}){let a=k(),r=zt(e,a.proxy.$q);w(Me,e);let o=i((()=>`q-timeline q-timeline--${e.layout} q-timeline--${e.layout}--${e.side}`+(!0===r.value?" q-timeline--dark":"")));return()=>n("ul",{class:o.value},dt(t.default))}}),$c=B({name:"QTimelineEntry",props:{heading:Boolean,tag:{type:String,default:"h3"},side:{type:String,default:"right",validator:e=>["left","right"].includes(e)},icon:String,avatar:String,color:String,title:String,subtitle:String,body:String},setup(e,{slots:t}){let a=y(Me,ze);if(a===ze)return console.error("QTimelineEntry needs to be child of QTimeline"),ze;let r=i((()=>`q-timeline__entry q-timeline__entry--${e.side}`+(void 0!==e.icon||void 0!==e.avatar?" q-timeline__entry--icon":""))),o=i((()=>`q-timeline__dot text-${e.color||a.color}`)),s=i((()=>"comfortable"===a.layout&&"left"===a.side));return()=>{let a,i=ht(t.default,[]);if(void 0!==e.body&&i.unshift(e.body),!0===e.heading){let t=[n("div"),n("div"),n(e.tag,{class:"q-timeline__heading-title"},i)];return n("div",{class:"q-timeline__heading"},!0===s.value?t.reverse():t)}void 0!==e.icon?a=[n(At,{class:"row items-center justify-center",name:e.icon})]:void 0!==e.avatar&&(a=[n("img",{class:"q-timeline__dot-img",src:e.avatar})]);let l=[n("div",{class:"q-timeline__subtitle"},[n("span",{},dt(t.subtitle,[e.subtitle]))]),n("div",{class:o.value},a),n("div",{class:"q-timeline__content"},[n("h6",{class:"q-timeline__title"},dt(t.title,[e.title]))].concat(i))];return n("li",{class:r.value},!0===s.value?l.reverse():l)}}}),Fc=B({name:"QToolbar",props:{inset:Boolean},setup(e,{slots:t}){let a=i((()=>"q-toolbar row no-wrap items-center"+(!0===e.inset?" q-toolbar--inset":"")));return()=>n("div",{class:a.value,role:"toolbar"},dt(t.default))}}),Bc=B({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:t}){let a=i((()=>"q-toolbar__title ellipsis"+(!0===e.shrink?" col-shrink":"")));return()=>n("div",{class:a.value},dt(t.default))}}),Vc=["none","strict","leaf","leaf-filtered"],Hc=B({name:"QTree",props:{...Rt,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:"label"},childrenKey:{type:String,default:"children"},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:"none",validator:e=>Vc.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:["update:expanded","update:ticked","update:selected","lazyLoad","afterShow","afterHide"],setup(e,{slots:t,emit:o}){let{proxy:s}=k(),{$q:l}=s,u=zt(e,l),c=a({}),h=a(e.ticked||[]),p=a(e.expanded||[]),f={};_((()=>{f={}}));let m=i((()=>"q-tree q-tree--"+(!0===e.dense?"dense":"standard")+(!0===e.noConnectors?" q-tree--no-connectors":"")+(!0===u.value?" q-tree--dark":"")+(void 0!==e.color?` text-${e.color}`:""))),v=i((()=>void 0!==e.selected)),g=i((()=>e.icon||l.iconSet.tree.icon)),b=i((()=>e.controlColor||e.color)),y=i((()=>void 0!==e.textColor?` text-${e.textColor}`:"")),w=i((()=>{let t=e.selectedColor||e.color;return t?` text-${t}`:""})),x=i((()=>void 0!==e.filterMethod?e.filterMethod:(t,n)=>{let a=n.toLowerCase();return t[e.labelKey]&&-1!==t[e.labelKey].toLowerCase().indexOf(a)})),S=i((()=>{let t={},n=(a,i)=>{let r=a.tickStrategy||(i?i.tickStrategy:e.tickStrategy),o=a[e.nodeKey],s=a[e.childrenKey]&&Array.isArray(a[e.childrenKey])&&0!==a[e.childrenKey].length,l=!0!==a.disabled&&!0===v.value&&!1!==a.selectable,u=!0!==a.disabled&&!1!==a.expandable,d="none"!==r,f="strict"===r,m="leaf-filtered"===r,g="leaf"===r||"leaf-filtered"===r,_=!0!==a.disabled&&!1!==a.tickable;!0===g&&!0===_&&i&&!0!==i.tickable&&(_=!1);let b=a.lazy;!0===b&&void 0!==c.value[o]&&!0===Array.isArray(a[e.childrenKey])&&(b=c.value[o]);let y={key:o,parent:i,isParent:s,lazy:b,disabled:a.disabled,link:!0!==a.disabled&&(!0===l||!0===u&&(!0===s||!0===b)),children:[],matchesFilter:!e.filter||x.value(a,e.filter),selected:o===e.selected&&!0===l,selectable:l,expanded:!0===s&&p.value.includes(o),expandable:u,noTick:!0===a.noTick||!0!==f&&b&&"loaded"!==b,tickable:_,tickStrategy:r,hasTicking:d,strictTicking:f,leafFilteredTicking:m,leafTicking:g,ticked:(!0===f||!0!==s)&&h.value.includes(o)};if(t[o]=y,!0===s&&(y.children=a[e.childrenKey].map((e=>n(e,y))),e.filter&&(!0!==y.matchesFilter?y.matchesFilter=y.children.some((e=>e.matchesFilter)):!0!==y.noTick&&!0!==y.disabled&&!0===y.tickable&&!0===m&&!0===y.children.every((e=>!0!==e.matchesFilter||!0===e.noTick||!0!==e.tickable))&&(y.tickable=!1)),!0===y.matchesFilter&&(!0!==y.noTick&&!0!==f&&!0===y.children.every((e=>e.noTick))&&(y.noTick=!0),g))){if(y.ticked=!1,y.indeterminate=y.children.some((e=>!0===e.indeterminate)),y.tickable=!0===y.tickable&&y.children.some((e=>e.tickable)),!0!==y.indeterminate){let e=y.children.reduce(((e,t)=>!0===t.ticked?e+1:e),0);e===y.children.length?y.ticked=!0:e>0&&(y.indeterminate=!0)}!0===y.indeterminate&&(y.indeterminateNextState=y.children.every((e=>!0!==e.tickable||!0!==e.ticked)))}return y};return e.nodes.forEach((e=>n(e,null))),t}));function C(t){let n=[].reduce,a=(i,r)=>i||!r?i:!0===Array.isArray(r)?n.call(Object(r),a,i):r[e.nodeKey]===t?r:r[e.childrenKey]?a(null,r[e.childrenKey]):void 0;return a(null,e.nodes)}function T(){let t=[],n=a=>{a[e.childrenKey]&&0!==a[e.childrenKey].length&&!1!==a.expandable&&!0!==a.disabled&&(t.push(a[e.nodeKey]),a[e.childrenKey].forEach(n))};e.nodes.forEach(n),void 0!==e.expanded?o("update:expanded",t):p.value=t}function M(t,n,a=C(t),i=S.value[t]){if(i.lazy&&"loaded"!==i.lazy){if("loading"===i.lazy)return;c.value[t]="loading",!0!==Array.isArray(a[e.childrenKey])&&(a[e.childrenKey]=[]),o("lazyLoad",{node:a,key:t,done:n=>{c.value[t]="loaded",a[e.childrenKey]=!0===Array.isArray(n)?n:[],d((()=>{let e=S.value[t];e&&!0===e.isParent&&E(t,!0)}))},fail:()=>{delete c.value[t],0===a[e.childrenKey].length&&delete a[e.childrenKey]}})}else!0===i.isParent&&!0===i.expandable&&E(t,n)}function E(t,n){let a=p.value,i=void 0!==e.expanded;if(!0===i&&(a=a.slice()),n){if(e.accordion&&S.value[t]){let n=[];S.value[t].parent?S.value[t].parent.children.forEach((e=>{e.key!==t&&!0===e.expandable&&n.push(e.key)})):e.nodes.forEach((a=>{let i=a[e.nodeKey];i!==t&&n.push(i)})),0!==n.length&&(a=a.filter((e=>!1===n.includes(e))))}a=a.concat([t]).filter(((e,t,n)=>n.indexOf(e)===t))}else a=a.filter((e=>e!==t));!0===i?o("update:expanded",a):p.value=a}function L(t,n){let a=h.value,i=void 0!==e.ticked;!0===i&&(a=a.slice()),a=n?a.concat(t).filter(((e,t,n)=>n.indexOf(e)===t)):a.filter((e=>!1===t.includes(e))),!0===i&&o("update:ticked",a)}function O(a){return(e.filter?a.filter((t=>S.value[t[e.nodeKey]].matchesFilter)):a).map((a=>function(a){let i=a[e.nodeKey],r=S.value[i],o=a.header&&t[`header-${a.header}`]||t["default-header"],l=!0===r.isParent?O(a[e.childrenKey]):[],c=0!==l.length||r.lazy&&"loaded"!==r.lazy,d=a.body&&t[`body-${a.body}`]||t["default-body"],h=void 0!==o||void 0!==d?function(t,n,a){let i={tree:s,node:t,key:a,color:e.color,dark:u.value};return N(i,"expanded",(()=>n.expanded),(e=>{e!==n.expanded&&M(a,e)})),N(i,"ticked",(()=>n.ticked),(e=>{e!==n.ticked&&L([a],e)})),i}(a,r,i):null;return void 0!==d&&(d=n("div",{class:"q-tree__node-body relative-position"},[n("div",{class:y.value},[d(h)])])),n("div",{key:i,class:"q-tree__node relative-position q-tree__node--"+(!0===c?"parent":"child")},[n("div",{class:"q-tree__node-header relative-position row no-wrap items-center"+(!0===r.link?" q-tree__node--link q-hoverable q-focusable":"")+(!0===r.selected?" q-tree__node--selected":"")+(!0===r.disabled?" q-tree__node--disabled":""),tabindex:!0===r.link?0:-1,ariaExpanded:l.length>0?r.expanded:null,role:"treeitem",onClick:e=>{D(a,r,e)},onKeypress(e){!0!==he(e)&&(13===e.keyCode?D(a,r,e,!0):32===e.keyCode&&j(a,r,e,!0))}},[n("div",{class:"q-focus-helper",tabindex:-1,ref:e=>{f[r.key]=e}}),"loading"===r.lazy?n(on,{class:"q-tree__spinner",color:b.value}):!0===c?n(At,{class:"q-tree__arrow"+(!0===r.expanded?" q-tree__arrow--rotate":""),name:g.value,onClick(e){j(a,r,e)}}):null,!0===r.hasTicking&&!0!==r.noTick?n($i,{class:"q-tree__tickbox",modelValue:!0===r.indeterminate?null:r.ticked,color:b.value,dark:u.value,dense:!0,keepColor:!0,disable:!0!==r.tickable,onKeydown:X,"onUpdate:modelValue":e=>{!function(e,t){if(!0===e.indeterminate&&(t=e.indeterminateNextState),e.strictTicking)L([e.key],t);else if(e.leafTicking){let n=[],a=e=>{e.isParent?(!0!==t&&!0!==e.noTick&&!0===e.tickable&&n.push(e.key),!0===e.leafTicking&&e.children.forEach(a)):!0!==e.noTick&&!0===e.tickable&&(!0!==e.leafFilteredTicking||!0===e.matchesFilter)&&n.push(e.key)};a(e),L(n,t)}}(r,e)}}):null,n("div",{class:"q-tree__node-header-content col row no-wrap items-center"+(!0===r.selected?w.value:y.value)},[o?o(h):[R(a),n("div",a[e.labelKey])]])]),!0===c?!0===e.noTransition?!0===r.expanded?n("div",{class:"q-tree__node-collapsible"+y.value,key:`${i}__q`},[d,n("div",{class:"q-tree__children"+(!0===r.disabled?" q-tree__node--disabled":""),role:"group"},l)]):null:n(ys,{duration:e.duration,onShow:z,onHide:q},(()=>P(n("div",{class:"q-tree__node-collapsible"+y.value,key:`${i}__q`},[d,n("div",{class:"q-tree__children"+(!0===r.disabled?" q-tree__node--disabled":""),role:"group"},l)]),[[A,r.expanded]]))):d])}(a)))}function R(e){if(void 0!==e.icon)return n(At,{class:"q-tree__icon q-mr-sm",name:e.icon,color:e.iconColor});let t=e.img||e.avatar;return t?n("img",{class:`q-tree__${e.img?"img":"avatar"} q-mr-sm`,src:t}):void 0}function z(){o("afterShow")}function q(){o("afterHide")}function I(e){let t=f[e];t&&t.focus()}function D(t,n,a,i){!0!==i&&!1!==n.selectable&&I(n.key),v.value&&n.selectable?!1===e.noSelectionUnset?o("update:selected",n.key!==e.selected?n.key:null):n.key!==e.selected&&o("update:selected",void 0===n.key?null:n.key):j(t,n,a,i),"function"==typeof t.handler&&t.handler(t)}function j(e,t,n,a){void 0!==n&&X(n),!0!==a&&!1!==t.selectable&&I(t.key),M(t.key,!t.expanded,e,t)}return r((()=>e.ticked),(e=>{h.value=e})),r((()=>e.expanded),(e=>{p.value=e})),!0===e.defaultExpandAll&&T(),Object.assign(s,{getNodeByKey:C,getTickedNodes:function(){return h.value.map((e=>C(e)))},getExpandedNodes:function(){return p.value.map((e=>C(e)))},isExpanded:function(e){return!(!e||!S.value[e])&&S.value[e].expanded},collapseAll:function(){void 0!==e.expanded?o("update:expanded",[]):p.value=[]},expandAll:T,setExpanded:M,isTicked:function(e){return!(!e||!S.value[e])&&S.value[e].ticked},setTicked:L}),()=>{let t=O(e.nodes);return n("div",{class:m.value,role:"tree"},0===t.length?e.filter?e.noResultsLabel||l.lang.tree.noResults:e.noNodesLabel||l.lang.tree.noNodes:t)}}});function Uc(e){return(100*e).toFixed(2)+"%"}var Wc={...Rt,...Qs,label:String,color:String,textColor:String,square:Boolean,flat:Boolean,bordered:Boolean,noThumbnails:Boolean,thumbnailFit:{type:String,default:"cover"},autoUpload:Boolean,hideUploadBtn:Boolean,disable:Boolean,readonly:Boolean},Yc=[...Ks,"start","finish","added","removed"];var Qc=()=>!0;function Kc(e){let t={};return e.forEach((e=>{t[e]=Qc})),t}var Gc=Kc(Yc),Zc=({name:e,props:t,emits:s,injectPlugin:l})=>B({name:e,props:{...Wc,...t},emits:!0===je(s)?{...Gc,...s}:[...Yc,...s],setup:(e,{expose:t})=>function(e,t){let s=k(),{props:l,slots:u,emit:c,proxy:d}=s,{$q:h}=d,p=zt(l,h),f=i((()=>!0!==l.disable&&!0!==l.readonly)),m=a(!1),g=a(null),_=a(null),b={files:a([]),queuedFiles:a([]),uploadedFiles:a([]),uploadedSize:a(0),updateFileStatus:function(e,t,n){if(e.__status=t,"idle"===t)return e.__uploaded=0,e.__progress=0,e.__sizeLabel=Ge(e.size),void(e.__progressLabel="0.00%");"failed"!==t?(e.__uploaded="uploaded"===t?e.size:n,e.__progress="uploaded"===t?1:Math.min(.9999,e.__uploaded/e.size),e.__progressLabel=Uc(e.__progress),d.$forceUpdate()):d.$forceUpdate()},isAlive:()=>!1===Wt(s)},{pickFiles:y,addFiles:x,onDragover:S,onDragleave:C,processFiles:T,getDndNode:M,maxFilesNumber:E,maxTotalSizeNumber:P}=Gs({editable:f,dnd:m,getFileInput:W,addFilesToQueue:Y});Object.assign(b,e({props:l,slots:u,emit:c,helpers:b,exposeApi:e=>{Object.assign(b,e)}})),void 0===b.isBusy&&(b.isBusy=a(!1));let A=a(0),L=i((()=>0===A.value?0:b.uploadedSize.value/A.value)),O=i((()=>Uc(L.value))),z=i((()=>Ge(A.value))),q=i((()=>!0===f.value&&!0!==b.isUploading.value&&(!0===l.multiple||0===b.queuedFiles.value.length)&&(void 0===l.maxFiles||b.files.value.length!0===f.value&&!0!==b.isBusy.value&&!0!==b.isUploading.value&&0!==b.queuedFiles.value.length));w(Re,Z);let D=i((()=>"q-uploader column no-wrap"+(!0===p.value?" q-uploader--dark q-dark":"")+(!0===l.bordered?" q-uploader--bordered":"")+(!0===l.square?" q-uploader--square no-border-radius":"")+(!0===l.flat?" q-uploader--flat no-shadow":"")+(!0===l.disable?" disabled q-uploader--disable":"")+(!0===m.value?" q-uploader--dnd":""))),j=i((()=>"q-uploader__header"+(void 0!==l.color?` bg-${l.color}`:"")+(void 0!==l.textColor?` text-${l.textColor}`:"")));function $(){!1===l.disable&&(b.abort(),b.uploadedSize.value=0,A.value=0,U(),b.files.value=[],b.queuedFiles.value=[],b.uploadedFiles.value=[])}function F(){!1===l.disable&&V(["uploaded"],(()=>{b.uploadedFiles.value=[]}))}function B(){V(["idle","failed"],(({size:e})=>{A.value-=e,b.queuedFiles.value=[]}))}function V(e,t){if(!0===l.disable)return;let n={files:[],size:0},a=b.files.value.filter((t=>-1===e.indexOf(t.__status)||(n.size+=t.size,n.files.push(t),void 0!==t.__img&&window.URL.revokeObjectURL(t.__img.src),!1)));0!==n.files.length&&(b.files.value=a,t(n),c("removed",n.files))}function H(e){l.disable||("uploaded"===e.__status?b.uploadedFiles.value=b.uploadedFiles.value.filter((t=>t.__key!==e.__key)):"uploading"===e.__status?e.__abort():A.value-=e.size,b.files.value=b.files.value.filter((t=>t.__key!==e.__key||(void 0!==t.__img&&window.URL.revokeObjectURL(t.__img.src),!1))),b.queuedFiles.value=b.queuedFiles.value.filter((t=>t.__key!==e.__key)),c("removed",[e]))}function U(){b.files.value.forEach((e=>{void 0!==e.__img&&window.URL.revokeObjectURL(e.__img.src)}))}function W(){return _.value||g.value.getElementsByClassName("q-uploader__input")[0]}function Y(e,t){let n=T(e,t,b.files.value,!0),a=W();null!=a&&(a.value=""),void 0!==n&&(n.forEach((e=>{if(b.updateFileStatus(e,"idle"),A.value+=e.size,!0!==l.noThumbnails&&e.type.toUpperCase().startsWith("IMAGE")){let t=new Image;t.src=window.URL.createObjectURL(e),e.__img=t}})),b.files.value=b.files.value.concat(n),b.queuedFiles.value=b.queuedFiles.value.concat(n),c("added",n),!0===l.autoUpload&&b.upload())}function Q(){!0===I.value&&b.upload()}function K(e,t,a){if(!0===e){let e,i={type:"a",key:t,icon:h.iconSet.uploader[t],flat:!0,dense:!0};return"add"===t?(i.onClick=y,e=Z):i.onClick=a,n(Pn,i,e)}}function Z(){return n("input",{ref:_,class:"q-uploader__input overflow-hidden absolute-full",tabindex:-1,type:"file",title:"",accept:l.accept,multiple:!0===l.multiple?"multiple":void 0,capture:l.capture,onMousedown:G,onClick:y,onChange:Y})}r(b.isUploading,((e,t)=>{!1===t&&!0===e?c("start"):!0===t&&!1===e&&c("finish")})),v((()=>{!0===b.isUploading.value&&b.abort(),0!==b.files.value.length&&U()}));let X={};for(let e in b)!0===o(b[e])?N(X,e,(()=>b[e].value)):X[e]=b[e];return Object.assign(X,{upload:Q,reset:$,removeUploadedFiles:F,removeQueuedFiles:B,removeFile:H,pickFiles:y,addFiles:x}),R(X,{canAddFiles:()=>q.value,canUpload:()=>I.value,uploadSizeLabel:()=>z.value,uploadProgressLabel:()=>O.value}),t({...b,upload:Q,reset:$,removeUploadedFiles:F,removeQueuedFiles:B,removeFile:H,pickFiles:y,addFiles:x,canAddFiles:q,canUpload:I,uploadSizeLabel:z,uploadProgressLabel:O}),()=>{let e=[n("div",{class:j.value},void 0!==u.header?u.header(X):[n("div",{class:"q-uploader__header-content column"},[n("div",{class:"flex flex-center no-wrap q-gutter-xs"},[K(0!==b.queuedFiles.value.length,"removeQueue",B),K(0!==b.uploadedFiles.value.length,"removeUploaded",F),!0===b.isUploading.value?n(on,{class:"q-uploader__spinner"}):null,n("div",{class:"col column justify-center"},[void 0!==l.label?n("div",{class:"q-uploader__title"},[l.label]):null,n("div",{class:"q-uploader__subtitle"},[z.value+" / "+O.value])]),K(q.value,"add"),K(!1===l.hideUploadBtn&&!0===I.value,"upload",b.upload),K(b.isUploading.value,"clear",b.abort)])])]),n("div",{class:"q-uploader__list scroll"},void 0!==u.list?u.list(X):b.files.value.map((e=>n("div",{key:e.__key,class:"q-uploader__file relative-position"+(!0!==l.noThumbnails&&void 0!==e.__img?" q-uploader__file--img":"")+("failed"===e.__status?" q-uploader__file--failed":"uploaded"===e.__status?" q-uploader__file--uploaded":""),style:!0!==l.noThumbnails&&void 0!==e.__img?{backgroundImage:'url("'+e.__img.src+'")',backgroundSize:l.thumbnailFit}:null},[n("div",{class:"q-uploader__file-header row flex-center no-wrap"},["failed"===e.__status?n(At,{class:"q-uploader__file-status",name:h.iconSet.type.negative,color:"negative"}):null,n("div",{class:"q-uploader__file-header-content col"},[n("div",{class:"q-uploader__title"},[e.name]),n("div",{class:"q-uploader__subtitle row items-center no-wrap"},[e.__sizeLabel+" / "+e.__progressLabel])]),"uploading"===e.__status?n(Wi,{value:e.__progress,min:0,max:1,indeterminate:0===e.__progress}):n(Pn,{round:!0,dense:!0,flat:!0,icon:h.iconSet.uploader["uploaded"===e.__status?"done":"clear"],onClick:()=>{H(e)}})])])))),M("uploader")];!0===b.isBusy.value&&e.push(n("div",{class:"q-uploader__overlay absolute-full flex flex-center"},[n(on)]));let t={ref:g,class:D.value};return!0===q.value&&Object.assign(t,{onDragover:S,onDragleave:C}),n("div",t,e)}}(l,t)});function Xc(e){return"function"==typeof e?e:()=>e}var Jc={url:[Function,String],method:{type:[Function,String],default:"POST"},fieldName:{type:[Function,String],default:()=>e=>e.name},headers:[Function,Array],formFields:[Function,Array],withCredentials:[Function,Boolean],sendRaw:[Function,Boolean],batch:[Function,Boolean],factory:Function};var ed={name:"QUploader",props:Jc,emits:["factoryFailed","uploaded","failed","uploading"],injectPlugin:function({props:e,emit:t,helpers:n}){let r,o=a([]),s=a([]),l=a(0),u=i((()=>({url:Xc(e.url),method:Xc(e.method),headers:Xc(e.headers),formFields:Xc(e.formFields),fieldName:Xc(e.fieldName),withCredentials:Xc(e.withCredentials),sendRaw:Xc(e.sendRaw),batch:Xc(e.batch)})));function c(a){if(l.value++,"function"!=typeof e.factory)return void d(a,{});let i=e.factory(a);if(i)if("function"==typeof i.catch&&"function"==typeof i.then){s.value.push(i);let e=e=>{!0===n.isAlive()&&(s.value=s.value.filter((e=>e!==i)),0===s.value.length&&(r=!1),n.queuedFiles.value=n.queuedFiles.value.concat(a),a.forEach((e=>{n.updateFileStatus(e,"failed")})),t("factoryFailed",e,a),l.value--)};i.then((t=>{!0===r?e(new Error("Aborted")):!0===n.isAlive()&&(s.value=s.value.filter((e=>e!==i)),d(a,t))})).catch(e)}else d(a,i||{});else t("factoryFailed",new Error("QUploader: factory() does not return properly"),a),l.value--}function d(e,a){let i=new FormData,r=new XMLHttpRequest,s=(e,t)=>void 0!==a[e]?Xc(a[e])(t):u.value[e](t),c=s("url",e);if(!c)return console.error("q-uploader: invalid or no URL specified"),void l.value--;let d=s("formFields",e);void 0!==d&&d.forEach((e=>{i.append(e.name,e.value)}));let h,p=0,f=0,m=0,v=0;r.upload.addEventListener("progress",(t=>{if(!0===h)return;let a=Math.min(v,t.loaded);n.uploadedSize.value+=a-m,m=a;let i=m-f;for(let t=p;i>0&&ta.size))return void n.updateFileStatus(a,"uploading",i);i-=a.size,p++,f+=a.size,n.updateFileStatus(a,"uploading",a.size)}}),!1),r.onreadystatechange=()=>{r.readyState<4||(r.status&&r.status<400?(n.uploadedFiles.value=n.uploadedFiles.value.concat(e),e.forEach((e=>{n.updateFileStatus(e,"uploaded")})),t("uploaded",{files:e,xhr:r})):(h=!0,n.uploadedSize.value-=m,n.queuedFiles.value=n.queuedFiles.value.concat(e),e.forEach((e=>{n.updateFileStatus(e,"failed")})),t("failed",{files:e,xhr:r})),l.value--,o.value=o.value.filter((e=>e!==r)))},r.open(s("method",e),c),!0===s("withCredentials",e)&&(r.withCredentials=!0);let g=s("headers",e);void 0!==g&&g.forEach((e=>{r.setRequestHeader(e.name,e.value)}));let _=s("sendRaw",e);e.forEach((e=>{n.updateFileStatus(e,"uploading",0),!0!==_&&i.append(s("fieldName",e),e,e.name),e.xhr=r,e.__abort=()=>{r.abort()},v+=e.size})),t("uploading",{files:e,xhr:r}),o.value.push(r),!0===_?r.send(new Blob(e)):r.send(i)}return{isUploading:i((()=>l.value>0)),isBusy:i((()=>0!==s.value.length)),abort:function(){o.value.forEach((e=>{e.abort()})),0!==s.value.length&&(r=!0)},upload:function(){let e=n.queuedFiles.value.slice(0);n.queuedFiles.value=[],u.value.batch(e)?c(e):e.forEach((e=>{c([e])}))}}}},td=Zc(ed),nd=B({name:"QUploaderAddTrigger",setup(){let e=y(Re,ze);return e===ze&&console.error("QUploaderAddTrigger needs to be child of QUploader"),e}}),ad=B({name:"QVideo",props:{...al,src:{type:String,required:!0},title:String,fetchpriority:{type:String,default:"auto"},loading:{type:String,default:"eager"},referrerpolicy:{type:String,default:"strict-origin-when-cross-origin"}},setup(e){let t=il(e),a=i((()=>"q-video"+(void 0!==e.ratio?" q-video--responsive":"")));return()=>n("div",{class:a.value,style:t.value},[n("iframe",{src:e.src,title:e.title,fetchpriority:e.fetchpriority,loading:e.loading,referrerpolicy:e.referrerpolicy,frameborder:"0",allowfullscreen:!0})])}}),id={};function rd(e){if(!1===e)return 0;if(!0===e||void 0===e)return 1;let t=parseInt(e,10);return isNaN(t)?0:t}t(id,{ClosePopup:()=>sd,Intersection:()=>kl,Morph:()=>Pd,Mutation:()=>Nd,Ripple:()=>mn,Scroll:()=>Dd,ScrollFire:()=>qd,TouchHold:()=>jd,TouchPan:()=>Ki,TouchRepeat:()=>Vd,TouchSwipe:()=>_i});var od,sd=V({name:"close-popup",beforeMount(e,{value:t}){let n={depth:rd(t),handler(t){0!==n.depth&&setTimeout((()=>{let a=function(e){return Gn.find((t=>null!==t.contentEl&&t.contentEl.contains(e)))}(e);void 0!==a&&function(e,t,n){for(;0!==n&&null!=e;){if(!0===e.__qPortal){if(n--,"QMenu"===e.$options.name){e=Zn(e,t);continue}e.hide(t)}e=Bt(e)}}(a,t,n.depth)}))},handlerKey(e){!0===pe(e,13)&&n.handler(e)}};e.__qclosepopup=n,e.addEventListener("click",n.handler),e.addEventListener("keyup",n.handlerKey)},updated(e,{value:t,oldValue:n}){t!==n&&(e.__qclosepopup.depth=rd(t))},beforeUnmount(e){let t=e.__qclosepopup;e.removeEventListener("click",t.handler),e.removeEventListener("keyup",t.handlerKey),delete e.__qclosepopup}}),ld=0;function ud(e,t){void 0===od&&((od=document.createElement("div")).style.cssText="position: absolute; left: 0; top: 0",document.body.appendChild(od));let n=e.getBoundingClientRect(),a=od.getBoundingClientRect(),{marginLeft:i,marginRight:r,marginTop:o,marginBottom:s}=window.getComputedStyle(e),l=parseInt(i,10)+parseInt(r,10),u=parseInt(o,10)+parseInt(s,10);return{left:n.left-a.left,top:n.top-a.top,width:n.right-n.left,height:n.bottom-n.top,widthM:n.right-n.left+(!0===t?0:l),heightM:n.bottom-n.top+(!0===t?0:u),marginH:!0===t?l:0,marginV:!0===t?u:0}}function cd(e){return{width:e.scrollWidth,height:e.scrollHeight}}var dd=["Top","Right","Bottom","Left"],hd=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],pd=/-block|-inline|block-|inline-/,fd=/(-block|-inline|block-|inline-).*:/;function md(e,t){let n=window.getComputedStyle(e),a={};for(let e=0;e!0!==fd.test(e))).join(";"):n[i]}return a}var vd=["absolute","fixed","relative","sticky"];function gd(e){let t=e,n=0;for(;null!==t&&t!==document;){let{position:a,zIndex:i}=window.getComputedStyle(t),r=Number(i);r>n&&(t===e||!0===vd.includes(a))&&(n=r),t=t.parentNode}return n}function _d(e){let t=typeof e;return"function"===t?e():"string"===t?document.querySelector(e):e}function bd(e){return e&&e.ownerDocument===document&&null!==e.parentNode}function yd(e){let t=()=>!1,n=!1,a=!0,i=function(e){return{from:e.from,to:void 0!==e.to?e.to:e.from}}(e),r=function(e){return"number"==typeof e?e={duration:e}:"function"==typeof e&&(e={onEnd:e}),{...e,waitFor:void 0===e.waitFor?0:e.waitFor,duration:!0===isNaN(e.duration)?300:parseInt(e.duration,10),easing:"string"==typeof e.easing&&0!==e.easing.length?e.easing:"ease-in-out",delay:!0===isNaN(e.delay)?0:parseInt(e.delay,10),fill:"string"==typeof e.fill&&0!==e.fill.length?e.fill:"none",resize:!0===e.resize,useCSS:!0===e.useCSS||!0===e.usecss,hideFromClone:!0===e.hideFromClone||!0===e.hidefromclone,keepToClone:!0===e.keepToClone||!0===e.keeptoclone,tween:!0===e.tween,tweenFromOpacity:!0===isNaN(e.tweenFromOpacity)?.6:parseFloat(e.tweenFromOpacity),tweenToOpacity:!0===isNaN(e.tweenToOpacity)?.5:parseFloat(e.tweenToOpacity)}}(e),o=_d(i.from);if(!0!==bd(o))return t;"function"==typeof o.qMorphCancel&&o.qMorphCancel();let s,l,u,c,d=o.parentNode,h=o.nextElementSibling,p=ud(o,r.resize),{width:f,height:m}=cd(d),{borderWidth:v,borderStyle:g,borderColor:_,borderRadius:b,backgroundColor:y,transform:w,position:k,cssText:x}=md(o,["borderWidth","borderStyle","borderColor","borderRadius","backgroundColor","transform","position","cssText"]),S=o.classList.toString(),C=o.style.cssText,T=o.cloneNode(!0),M=!0===r.tween?o.cloneNode(!0):void 0;void 0!==M&&(M.className=M.classList.toString().split(" ").filter((e=>!1===/^bg-/.test(e))).join(" ")),!0===r.hideFromClone&&T.classList.add("q-morph--internal"),T.setAttribute("aria-hidden","true"),T.style.transition="none",T.style.animation="none",T.style.pointerEvents="none",d.insertBefore(T,h),o.qMorphCancel=()=>{n=!0,T.remove(),void 0!==M&&M.remove(),!0===r.hideFromClone&&T.classList.remove("q-morph--internal"),o.qMorphCancel=void 0};return"function"==typeof e.onToggle&&e.onToggle(),requestAnimationFrame((()=>{let e=_d(i.to);if(!0===n||!0!==bd(e))return void("function"==typeof o.qMorphCancel&&o.qMorphCancel());o!==e&&"function"==typeof e.qMorphCancel&&e.qMorphCancel(),!0!==r.keepToClone&&e.classList.add("q-morph--internal"),T.classList.add("q-morph--internal");let{width:h,height:E}=cd(d),{width:P,height:A}=cd(e.parentNode);!0!==r.hideFromClone&&T.classList.remove("q-morph--internal"),e.qMorphCancel=()=>{n=!0,T.remove(),void 0!==M&&M.remove(),!0===r.hideFromClone&&T.classList.remove("q-morph--internal"),!0!==r.keepToClone&&e.classList.remove("q-morph--internal"),o.qMorphCancel=void 0,e.qMorphCancel=void 0};let L=()=>{if(!0===n)return void("function"==typeof e.qMorphCancel&&e.qMorphCancel());!0!==r.hideFromClone&&(T.classList.add("q-morph--internal"),T.innerHTML="",T.style.left=0,T.style.right="unset",T.style.top=0,T.style.bottom="unset",T.style.transform="none"),!0!==r.keepToClone&&e.classList.remove("q-morph--internal");let i=e.parentNode,{width:L,height:O}=cd(i),N=e.cloneNode(r.keepToClone);N.setAttribute("aria-hidden","true"),!0!==r.keepToClone&&(N.style.left=0,N.style.right="unset",N.style.top=0,N.style.bottom="unset",N.style.transform="none",N.style.pointerEvents="none"),N.classList.add("q-morph--internal");let R=e===o&&d===i?T:e.nextElementSibling;i.insertBefore(N,R);let{borderWidth:z,borderStyle:q,borderColor:I,borderRadius:D,backgroundColor:j,transform:$,position:F,cssText:B}=md(e,["borderWidth","borderStyle","borderColor","borderRadius","backgroundColor","transform","position","cssText"]),V=e.classList.toString(),H=e.style.cssText;e.style.cssText=B,e.style.transform="none",e.style.animation="none",e.style.transition="none",e.className=V.split(" ").filter((e=>!1===/^bg-/.test(e))).join(" ");let U=ud(e,r.resize),W=p.left-U.left,Y=p.top-U.top,Q=p.width/(U.width>0?U.width:10),K=p.height/(U.height>0?U.height:100),G=f-h,Z=m-E,X=L-P,J=O-A,ee=Math.max(p.widthM,G),te=Math.max(p.heightM,Z),ne=Math.max(U.widthM,X),ae=Math.max(U.heightM,J),ie=o===e&&!1===["absolute","fixed"].includes(F)&&!1===["absolute","fixed"].includes(k),re="fixed"===F,oe=i;for(;!0!==re&&oe!==document;)re="fixed"===window.getComputedStyle(oe).position,oe=oe.parentNode;if(!0!==r.hideFromClone&&(T.style.display="block",T.style.flex="0 0 auto",T.style.opacity=0,T.style.minWidth="unset",T.style.maxWidth="unset",T.style.minHeight="unset",T.style.maxHeight="unset",T.classList.remove("q-morph--internal")),!0!==r.keepToClone&&(N.style.display="block",N.style.flex="0 0 auto",N.style.opacity=0,N.style.minWidth="unset",N.style.maxWidth="unset",N.style.minHeight="unset",N.style.maxHeight="unset"),N.classList.remove("q-morph--internal"),"string"==typeof r.classes&&(e.className+=" "+r.classes),"string"==typeof r.style)e.style.cssText+=" "+r.style;else if(!0===je(r.style))for(let t in r.style)e.style[t]=r.style[t];let se=gd(T),le=gd(e),ue=!0===re?document.documentElement:{scrollLeft:0,scrollTop:0};e.style.position=!0===re?"fixed":"absolute",e.style.left=U.left-ue.scrollLeft+"px",e.style.right="unset",e.style.top=U.top-ue.scrollTop+"px",e.style.margin=0,!0===r.resize&&(e.style.minWidth="unset",e.style.maxWidth="unset",e.style.minHeight="unset",e.style.maxHeight="unset",e.style.overflow="hidden",e.style.overflowX="hidden",e.style.overflowY="hidden"),document.body.appendChild(e),void 0!==M&&(M.style.cssText=x,M.style.transform="none",M.style.animation="none",M.style.transition="none",M.style.position=e.style.position,M.style.left=p.left-ue.scrollLeft+"px",M.style.right="unset",M.style.top=p.top-ue.scrollTop+"px",M.style.margin=0,M.style.pointerEvents="none",!0===r.resize&&(M.style.minWidth="unset",M.style.maxWidth="unset",M.style.minHeight="unset",M.style.maxHeight="unset",M.style.overflow="hidden",M.style.overflowX="hidden",M.style.overflowY="hidden"),document.body.appendChild(M));let ce=n=>{o===e&&!0!==a?(e.style.cssText=C,e.className=S):(e.style.cssText=H,e.className=V),N.parentNode===i&&i.insertBefore(e,N),T.remove(),N.remove(),void 0!==M&&M.remove(),t=()=>!1,o.qMorphCancel=void 0,e.qMorphCancel=void 0,"function"==typeof r.onEnd&&r.onEnd(!0===a?"to":"from",!0===n)};if(!0!==r.useCSS&&"function"==typeof e.animate){let i=!0===r.resize?{transform:`translate(${W}px, ${Y}px)`,width:`${ee}px`,height:`${te}px`}:{transform:`translate(${W}px, ${Y}px) scale(${Q}, ${K})`},d=!0===r.resize?{width:`${ne}px`,height:`${ae}px`}:{},h=!0===r.resize?{width:`${ee}px`,height:`${te}px`}:{},f=!0===r.resize?{transform:`translate(${-1*W}px, ${-1*Y}px)`,width:`${ne}px`,height:`${ae}px`}:{transform:`translate(${-1*W}px, ${-1*Y}px) scale(${1/Q}, ${1/K})`},m=void 0!==M?{opacity:r.tweenToOpacity}:{backgroundColor:y},k=void 0!==M?{opacity:1}:{backgroundColor:j};c=e.animate([{margin:0,borderWidth:v,borderStyle:g,borderColor:_,borderRadius:b,zIndex:se,transformOrigin:"0 0",...i,...m},{margin:0,borderWidth:z,borderStyle:q,borderColor:I,borderRadius:D,zIndex:le,transformOrigin:"0 0",transform:$,...d,...k}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay}),l=void 0===M?void 0:M.animate([{opacity:r.tweenFromOpacity,margin:0,borderWidth:v,borderStyle:g,borderColor:_,borderRadius:b,zIndex:se,transformOrigin:"0 0",transform:w,...h},{opacity:0,margin:0,borderWidth:z,borderStyle:q,borderColor:I,borderRadius:D,zIndex:le,transformOrigin:"0 0",...f}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay}),s=!0===r.hideFromClone||!0===ie?void 0:T.animate([{margin:`${Z<0?Z/2:0}px ${G<0?G/2:0}px`,width:`${ee+p.marginH}px`,height:`${te+p.marginV}px`},{margin:0,width:0,height:0}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay}),u=!0===r.keepToClone?void 0:N.animate([!0===ie?{margin:`${Z<0?Z/2:0}px ${G<0?G/2:0}px`,width:`${ee+p.marginH}px`,height:`${te+p.marginV}px`}:{margin:0,width:0,height:0},{margin:`${J<0?J/2:0}px ${X<0?X/2:0}px`,width:`${ne+U.marginH}px`,height:`${ae+U.marginV}px`}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay});let x=e=>{void 0!==s&&s.cancel(),void 0!==l&&l.cancel(),void 0!==u&&u.cancel(),c.cancel(),c.removeEventListener("finish",x),c.removeEventListener("cancel",x),ce(e),s=void 0,l=void 0,u=void 0,c=void 0};o.qMorphCancel=()=>{o.qMorphCancel=void 0,n=!0,x()},e.qMorphCancel=()=>{e.qMorphCancel=void 0,n=!0,x()},c.addEventListener("finish",x),c.addEventListener("cancel",x),t=e=>!0!==n&&void 0!==c&&(!0===e?(x(!0),!0):(a=!0!==a,void 0!==s&&s.reverse(),void 0!==l&&l.reverse(),void 0!==u&&u.reverse(),c.reverse(),!0))}else{let i="q-morph-anim-"+ ++ld,s=document.createElement("style"),l=!0===r.resize?`\n transform: translate(${W}px, ${Y}px);\n width: ${ee}px;\n height: ${te}px;\n `:`transform: translate(${W}px, ${Y}px) scale(${Q}, ${K});`,u=!0===r.resize?`\n width: ${ne}px;\n height: ${ae}px;\n `:"",c=!0===r.resize?`\n width: ${ee}px;\n height: ${te}px;\n `:"",d=!0===r.resize?`\n transform: translate(${-1*W}px, ${-1*Y}px);\n width: ${ne}px;\n height: ${ae}px;\n `:`transform: translate(${-1*W}px, ${-1*Y}px) scale(${1/Q}, ${1/K});`,h=void 0!==M?`opacity: ${r.tweenToOpacity};`:`background-color: ${y};`,f=void 0!==M?"opacity: 1;":`background-color: ${j};`,m=void 0===M?"":`\n @keyframes ${i}-from-tween {\n 0% {\n opacity: ${r.tweenFromOpacity};\n margin: 0;\n border-width: ${v};\n border-style: ${g};\n border-color: ${_};\n border-radius: ${b};\n z-index: ${se};\n transform-origin: 0 0;\n transform: ${w};\n ${c}\n }\n\n 100% {\n opacity: 0;\n margin: 0;\n border-width: ${z};\n border-style: ${q};\n border-color: ${I};\n border-radius: ${D};\n z-index: ${le};\n transform-origin: 0 0;\n ${d}\n }\n }\n `,k=!0===r.hideFromClone||!0===ie?"":`\n @keyframes ${i}-from {\n 0% {\n margin: ${Z<0?Z/2:0}px ${G<0?G/2:0}px;\n width: ${ee+p.marginH}px;\n height: ${te+p.marginV}px;\n }\n\n 100% {\n margin: 0;\n width: 0;\n height: 0;\n }\n }\n `,x=!0===ie?`\n margin: ${Z<0?Z/2:0}px ${G<0?G/2:0}px;\n width: ${ee+p.marginH}px;\n height: ${te+p.marginV}px;\n `:"\n margin: 0;\n width: 0;\n height: 0;\n ",S=!0===r.keepToClone?"":`\n @keyframes ${i}-to {\n 0% {\n ${x}\n }\n\n 100% {\n margin: ${J<0?J/2:0}px ${X<0?X/2:0}px;\n width: ${ne+U.marginH}px;\n height: ${ae+U.marginV}px;\n }\n }\n `;s.innerHTML=`\n @keyframes ${i} {\n 0% {\n margin: 0;\n border-width: ${v};\n border-style: ${g};\n border-color: ${_};\n border-radius: ${b};\n background-color: ${y};\n z-index: ${se};\n transform-origin: 0 0;\n ${l}\n ${h}\n }\n\n 100% {\n margin: 0;\n border-width: ${z};\n border-style: ${q};\n border-color: ${I};\n border-radius: ${D};\n background-color: ${j};\n z-index: ${le};\n transform-origin: 0 0;\n transform: ${$};\n ${u}\n ${f}\n }\n }\n\n ${k}\n\n ${m}\n\n ${S}\n `,document.head.appendChild(s);let C="normal";T.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}-from`,void 0!==M&&(M.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}-from-tween`),N.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}-to`,e.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}`;let E=t=>{t===Object(t)&&t.animationName!==i||(e.removeEventListener("animationend",E),e.removeEventListener("animationcancel",E),ce(),s.remove())};o.qMorphCancel=()=>{o.qMorphCancel=void 0,n=!0,E()},e.qMorphCancel=()=>{e.qMorphCancel=void 0,n=!0,E()},e.addEventListener("animationend",E),e.addEventListener("animationcancel",E),t=t=>!!(!0!==n&&e&&T&&N)&&(!0===t?(E(),!0):(a=!0!==a,C="normal"===C?"reverse":"normal",T.style.animationDirection=C,M.style.animationDirection=C,N.style.animationDirection=C,e.style.animationDirection=C,!0))}};r.waitFor>0||"transitionend"===r.waitFor||r.waitFor===Object(r.waitFor)&&"function"==typeof r.waitFor.then?(r.waitFor>0?new Promise((e=>setTimeout(e,r.waitFor))):"transitionend"===r.waitFor?new Promise((t=>{let n=()=>{null!==a&&(clearTimeout(a),a=null),e&&(e.removeEventListener("transitionend",n),e.removeEventListener("transitioncancel",n)),t()},a=setTimeout(n,400);e.addEventListener("transitionend",n),e.addEventListener("transitioncancel",n)})):r.waitFor).then(L).catch((()=>{"function"==typeof e.qMorphCancel&&e.qMorphCancel()})):L()})),e=>t(e)}var wd={},kd=["duration","delay","easing","fill","classes","style","duration","resize","useCSS","hideFromClone","keepToClone","tween","tweenFromOpacity","tweenToOpacity","waitFor","onEnd"],xd=["resize","useCSS","hideFromClone","keepToClone","tween"];function Sd(e,t){e.clsAction!==t&&(e.clsAction=t,e.el.classList[t]("q-morph--invisible"))}function Cd(e){if(!0===e.animating||e.queue.length<2)return;let[t,n]=e.queue;e.animating=!0,t.animating=!0,n.animating=!0,Sd(t,"remove"),Sd(n,"remove");let a=yd({from:t.el,to:n.el,onToggle(){Sd(t,"add"),Sd(n,"remove")},...n.opts,onEnd(a,i){void 0!==n.opts.onEnd&&n.opts.onEnd(a,i),!0!==i&&(t.animating=!1,n.animating=!1,e.animating=!1,e.cancel=void 0,e.queue.shift(),Cd(e))}});e.cancel=()=>{a(!0),e.cancel=void 0}}function Td(e,t){let n=t.opts;xd.forEach((t=>{n[t]=!0===e[t]}))}function Md(e,t){if(t.name!==e)!1===t.animating&&Sd(t,"add");else{let n=wd[t.group];void 0===n?(wd[t.group]={name:t.group,model:e,queue:[t],animating:!1},Sd(t,"remove")):n.model!==e&&(n.model=e,n.queue.push(t),!1===n.animating&&2===n.queue.length&&Cd(n))}}function Ed(e,t){let n;Object(t)===t?(n=""+t.model,function(e,t){void 0!==e.group&&(t.group=e.group),void 0!==e.name&&(t.name=e.name);let n=t.opts;kd.forEach((t=>{void 0!==e[t]&&(n[t]=e[t])}))}(t,e),Td(t,e)):n=""+t,n!==e.model?(e.model=n,Md(n,e)):!1===e.animating&&void 0!==e.clsAction&&e.el.classList[e.clsAction]("q-morph--invisible")}var Pd=V({name:"morph",mounted(e,t){let n={el:e,animating:!1,opts:{}};Td(t.modifiers,n),function(e,t){let n="string"==typeof e&&0!==e.length?e.split(":"):[];t.name=n[0],t.group=n[1],Object.assign(t.opts,{duration:!0===isNaN(n[2])?300:parseFloat(n[2]),waitFor:n[3]})}(t.arg,n),Ed(n,t.value),e.__qmorph=n},updated(e,t){Ed(e.__qmorph,t.value)},beforeUnmount(e){let t=e.__qmorph,n=wd[t.group];void 0!==n&&-1!==n.queue.indexOf(t)&&(n.queue=n.queue.filter((e=>e!==t)),0===n.queue.length&&(void 0!==n.cancel&&n.cancel(),delete wd[t.group])),"add"===t.clsAction&&e.classList.remove("q-morph--invisible"),delete e.__qmorph}}),Ad={childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0};function Ld(e,t,n){t.handler=n,void 0!==t.observer&&t.observer.disconnect(),t.observer=new MutationObserver((n=>{"function"==typeof t.handler&&(!1===t.handler(n)||!0===t.once)&&Od(e)})),t.observer.observe(e,t.opts)}function Od(e){let t=e.__qmutation;void 0!==t&&(void 0!==t.observer&&t.observer.disconnect(),delete e.__qmutation)}var Nd=V({name:"mutation",mounted(e,{modifiers:{once:t,...n},value:a}){let i={once:t,opts:0===Object.keys(n).length?Ad:n};Ld(e,i,a),e.__qmutation=i},updated(e,{oldValue:t,value:n}){let a=e.__qmutation;void 0!==a&&t!==n&&Ld(e,a,n)},beforeUnmount:Od}),{passive:Rd}=U;function zd(e,{value:t,oldValue:n}){"function"==typeof t?(e.handler=t,"function"!=typeof n&&(e.scrollTarget.addEventListener("scroll",e.scroll,Rd),e.scroll())):e.scrollTarget.removeEventListener("scroll",e.scroll,Rd)}var qd=V({name:"scroll-fire",mounted(e,t){let n={scrollTarget:sa(e),scroll:ae((()=>{let t,a;n.scrollTarget===window?(a=e.getBoundingClientRect().bottom,t=window.innerHeight):(a=sn(e).top+ln(e),t=sn(n.scrollTarget).top+ln(n.scrollTarget)),a>0&&a{a.styleCleanup=void 0;let t=()=>{document.body.classList.remove("non-selectable")};!0===e?(Ln(),setTimeout(t,10)):t()}),a.triggered=!1,a.sensitivity=!0===t?a.mouseSensitivity:a.touchSensitivity,a.timer=setTimeout((()=>{a.timer=void 0,Ln(),a.triggered=!0,a.handler({evt:e,touch:!0!==t,mouse:!0===t,position:a.origin,duration:Date.now()-n})}),a.duration)},move(e){let{top:t,left:n}=Q(e);void 0!==a.timer&&(Math.abs(n-a.origin.left)>=a.sensitivity||Math.abs(t-a.origin.top)>=a.sensitivity)&&(clearTimeout(a.timer),a.timer=void 0)},end(e){te(a,"temp"),void 0!==a.styleCleanup&&a.styleCleanup(a.triggered),!0===a.triggered?void 0!==e&&X(e):void 0!==a.timer&&(clearTimeout(a.timer),a.timer=void 0)}},i=[600,5,7];if("string"==typeof t.arg&&0!==t.arg.length&&t.arg.split(":").forEach(((e,t)=>{let n=parseInt(e,10);n&&(i[t]=n)})),[a.duration,a.touchSensitivity,a.mouseSensitivity]=i,e.__qtouchhold=a,!0===n.mouse){let t=!0===n.mouseCapture||!0===n.mousecapture?"Capture":"";ee(a,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===j.has.touch&&ee(a,"main",[[e,"touchstart","touchStart","passive"+(!0===n.capture?"Capture":"")],[e,"touchend","noop","notPassiveCapture"]])},updated(e,t){let n=e.__qtouchhold;void 0!==n&&t.oldValue!==t.value&&("function"!=typeof t.value&&n.end(),n.handler=t.value)},beforeUnmount(e){let t=e.__qtouchhold;void 0!==t&&(te(t,"main"),te(t,"temp"),void 0!==t.timer&&clearTimeout(t.timer),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchhold)}}),$d={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Fd=new RegExp(`^([\\d+]+|${Object.keys($d).join("|")})$`,"i");var Bd,Vd=V({name:"touch-repeat",beforeMount(e,{modifiers:t,value:n,arg:a}){let i=Object.keys(t).reduce(((e,t)=>{if(!0===Fd.test(t)){let n=isNaN(parseInt(t,10))?$d[t.toLowerCase()]:parseInt(t,10);n>=0&&e.push(n)}return e}),[]);if(!0!==t.mouse&&!0!==j.has.touch&&0===i.length)return;let r="string"==typeof a&&0!==a.length?a.split(":").map((e=>parseInt(e,10))):[0,600,300],o=r.length-1,s={keyboard:i,handler:n,noop:W,mouseStart(e){void 0===s.event&&"function"==typeof s.handler&&!0===Y(e)&&(ee(s,"temp",[[document,"mousemove","move","passiveCapture"],[document,"click","end","notPassiveCapture"]]),s.start(e,!0))},keyboardStart(t){if("function"==typeof s.handler&&!0===pe(t,i)){if((0===r[0]||void 0!==s.event)&&(X(t),e.focus(),void 0!==s.event))return;ee(s,"temp",[[document,"keyup","end","notPassiveCapture"],[document,"click","end","notPassiveCapture"]]),s.start(t,!1,!0)}},touchStart(e){if(void 0!==e.target&&"function"==typeof s.handler){let t=e.target;ee(s,"temp",[[t,"touchmove","move","passiveCapture"],[t,"touchcancel","end","notPassiveCapture"],[t,"touchend","end","notPassiveCapture"]]),s.start(e)}},start(e,t,n){function a(e){s.styleCleanup=void 0,document.documentElement.style.cursor="";let t=()=>{document.body.classList.remove("non-selectable")};!0===e?(Ln(),setTimeout(t,10)):t()}!0!==n&&(s.origin=Q(e)),!0===j.is.mobile&&(document.body.classList.add("non-selectable"),Ln(),s.styleCleanup=a),s.event={touch:!0!==t&&!0!==n,mouse:!0===t,keyboard:!0===n,startTime:Date.now(),repeatCount:0};let i=()=>{if(s.timer=void 0,void 0===s.event)return;0===s.event.repeatCount&&(s.event.evt=e,!0===n?s.event.keyCode=e.keyCode:s.event.position=Q(e),!0!==j.is.mobile&&(document.documentElement.style.cursor="pointer",document.body.classList.add("non-selectable"),Ln(),s.styleCleanup=a)),s.event.duration=Date.now()-s.event.startTime,s.event.repeatCount+=1,s.handler(s.event);let t=o=7||Math.abs(n-t.top)>=7}(e,s.origin)&&(clearTimeout(s.timer),s.timer=void 0)},end(e){void 0!==s.event&&(void 0!==s.styleCleanup&&s.styleCleanup(!0),void 0!==e&&s.event.repeatCount>0&&X(e),te(s,"temp"),void 0!==s.timer&&(clearTimeout(s.timer),s.timer=void 0),s.event=void 0)}};if(e.__qtouchrepeat=s,!0===t.mouse){let n=!0===t.mouseCapture||!0===t.mousecapture?"Capture":"";ee(s,"main",[[e,"mousedown","mouseStart",`passive${n}`]])}if(!0===j.has.touch&&ee(s,"main",[[e,"touchstart","touchStart","passive"+(!0===t.capture?"Capture":"")],[e,"touchend","noop","passiveCapture"]]),0!==i.length){let n=!0===t.keyCapture||!0===t.keycapture?"Capture":"";ee(s,"main",[[e,"keydown","keyboardStart",`notPassive${n}`]])}},updated(e,{oldValue:t,value:n}){let a=e.__qtouchrepeat;void 0!==a&&t!==n&&("function"!=typeof n&&a.end(),a.handler=n)},beforeUnmount(e){let t=e.__qtouchrepeat;void 0!==t&&(void 0!==t.timer&&clearTimeout(t.timer),te(t,"main"),te(t,"temp"),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchrepeat)}}),Hd={};function Ud(e,t=document.body){if("string"!=typeof e)throw new TypeError("Expected a string as propName");if(!(t instanceof Element))throw new TypeError("Expected a DOM element");return getComputedStyle(t).getPropertyValue(`--q-${e}`).trim()||null}function Wd(e){void 0===Bd&&(Bd=j.is.winphone?"msapplication-navbutton-color":j.is.safari?"apple-mobile-web-app-status-bar-style":"theme-color");let t=function(e){let t=document.getElementsByTagName("META");for(let n in t)if(t[n].name===e)return t[n]}(Bd),n=void 0===t;n&&(t=document.createElement("meta"),t.setAttribute("name",Bd)),t.setAttribute("content",e),n&&document.head.appendChild(t)}t(Hd,{AddressbarColor:()=>Yd,AppFullscreen:()=>th,AppVisibility:()=>ah,BottomSheet:()=>sh,Cookies:()=>gh,Dark:()=>le,Dialog:()=>bh,IconSet:()=>Te,Lang:()=>xe,Loading:()=>Eh,LoadingBar:()=>Lh,LocalStorage:()=>rp,Meta:()=>jh,Notify:()=>ep,Platform:()=>F,Screen:()=>oe,SessionStorage:()=>lp});var Yd={set:!0!==j.is.mobile||!0!==j.is.nativeMobile&&!0!==j.is.winphone&&!0!==j.is.safari&&!0!==j.is.webkit&&!0!==j.is.vivaldi?W:e=>{let t=e||Ud("primary");!0===j.is.nativeMobile&&window.StatusBar?window.StatusBar.backgroundColorByHexString(t):Wd(t)},install({$q:e}){e.addressbarColor=this,e.config.addressbarColor&&this.set(e.config.addressbarColor)}},Qd={};function Kd(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||null}function Gd(){let e=eh.activeEl=!1===eh.isActive?null:Kd();!function(e){if(e===Yn)return;if((Yn=e)===document.body||Un.reduce(((e,t)=>"dialog"===t?e+1:e),0)<2)return void Hn.forEach((e=>{!1===e.contains(Yn)&&Yn.appendChild(e)}));let t=Un.lastIndexOf("dialog");for(let e=0;evoid 0!==document.documentElement[e])),eh.isCapable=void 0!==Qd.request,!1===eh.isCapable?(Jd=()=>Promise.reject("Not capable"),Object.assign(eh,{request:Jd,exit:Jd,toggle:Jd})):(Object.assign(eh,{request(e){let t=e||document.documentElement,{activeEl:n}=eh;return t===n?Promise.resolve():(null!==n&&!0===t.contains(n)?eh.exit():Promise.resolve()).finally((()=>Xd(t,Qd.request)))},exit:()=>!0===eh.isActive?Xd(document,Qd.exit):Promise.resolve(),toggle:e=>!0===eh.isActive?eh.exit():eh.request(e)}),Qd.exit=["exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen"].find((e=>document[e])),eh.isActive=!!Kd(),!0===eh.isActive&&Gd(),["onfullscreenchange","onmsfullscreenchange","onwebkitfullscreenchange"].forEach((e=>{document[e]=Zd})));var th=eh,nh=H({appVisible:!0},{install({$q:e}){N(e,"appVisible",(()=>this.appVisible))}});{let e,t;if(typeof document.hidden<"u"?(e="hidden",t="visibilitychange"):typeof document.msHidden<"u"?(e="msHidden",t="msvisibilitychange"):typeof document.webkitHidden<"u"&&(e="webkitHidden",t="webkitvisibilitychange"),t&&typeof document[e]<"u"){let n=()=>{nh.appVisible=!document[e]};document.addEventListener(t,n,!1)}}var ah=nh,ih=B({name:"BottomSheetComponent",props:{...Rt,title:String,message:String,actions:Array,grid:Boolean,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){let{proxy:i}=k(),r=zt(e,i.$q),o=a(null);function s(){o.value.hide()}function l(e){t("ok",e),s()}function u(){t("hide")}function c(){let t=[];return e.title&&t.push(n(ci,{class:"q-dialog__title"},(()=>e.title))),e.message&&t.push(n(ci,{class:"q-dialog__message"},(()=>e.message))),t.push(!0===e.grid?n("div",{class:"row items-stretch justify-start",role:"list"},e.actions.map((e=>{let t=e.avatar||e.img;return void 0===e.label?n(xs,{class:"col-all",dark:r.value}):n("div",{class:["q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position",e.class],style:e.style,tabindex:0,role:"listitem",onClick(){l(e)},onKeyup(t){13===t.keyCode&&l(e)}},[n("div",{class:"q-focus-helper"}),e.icon?n(At,{name:e.icon,color:e.color}):t?n("img",{class:e.avatar?"q-bottom-sheet__avatar":"",src:t}):n("div",{class:"q-bottom-sheet__empty-icon"}),n("div",e.label)])}))):n("div",{role:"list"},e.actions.map((e=>{let t=e.avatar||e.img;return void 0===e.label?n(xs,{spaced:!0,dark:r.value}):n(rs,{class:["q-bottom-sheet__item",e.classes],style:e.style,tabindex:0,clickable:!0,dark:r.value,onClick(){l(e)}},(()=>[n(os,{avatar:!0},(()=>e.icon?n(At,{name:e.icon,color:e.color}):t?n("img",{class:e.avatar?"q-bottom-sheet__avatar":"",src:t}):null)),n(os,(()=>e.label))]))})))),t}function d(){return[n(ui,{class:["q-bottom-sheet q-bottom-sheet--"+(!0===e.grid?"grid":"list")+(!0===r.value?" q-bottom-sheet--dark q-dark":""),e.cardClass],style:e.cardStyle},c)]}return Object.assign(i,{show:function(){o.value.show()},hide:s}),()=>n(Zo,{ref:o,position:"bottom",onHide:u},d)}});function rh(e,t){for(let n in t)"spinner"!==n&&Object(t[n])===t[n]?(e[n]=Object(e[n])!==e[n]?{}:{...e[n]},rh(e[n],t[n])):e[n]=t[n]}function oh(e,t,i){return r=>{let o,s,l=!0===t&&void 0!==r.component;if(!0===l){let{component:e,componentProps:t}=r;o="string"==typeof e?i.component(e):e,s=t||{}}else{let{class:t,style:n,...a}=r;o=e,s=a,void 0!==t&&(a.cardClass=t),void 0!==n&&(a.cardStyle=n)}let u,c=!1,h=a(null),p=Qn(!1,"dialog"),f=e=>{if(null!==h.value&&void 0!==h.value[e])return void h.value[e]();let t=u.$.subTree;if(t&&t.component){if(t.component.proxy&&t.component.proxy[e])return void t.component.proxy[e]();if(t.component.subTree&&t.component.subTree.component&&t.component.subTree.component.proxy&&t.component.subTree.component.proxy[e])return void t.component.subTree.component.proxy[e]()}console.error("[Quasar] Incorrectly defined Dialog component")},m=[],v=[],g={onOk:e=>(m.push(e),g),onCancel:e=>(v.push(e),g),onDismiss:e=>(m.push(e),v.push(e),g),hide:()=>(f("hide"),g),update(e){if(null!==u){if(!0===l)Object.assign(s,e);else{let{class:t,style:n,...a}=e;void 0!==t&&(a.cardClass=t),void 0!==n&&(a.cardStyle=n),rh(s,a)}u.$forceUpdate()}return g}},_=e=>{c=!0,m.forEach((t=>{t(e)}))},b=()=>{y.unmount(p),Kn(p),y=null,u=null,!0!==c&&v.forEach((e=>{e()}))},y=Ue({name:"QGlobalDialog",setup:()=>()=>n(o,{...s,ref:h,onOk:_,onHide:b,onVnodeMounted(...e){"function"==typeof s.onVnodeMounted&&s.onVnodeMounted(...e),d((()=>f("show")))}})},i);return u=y.mount(p),g}}var sh={install({$q:e,parentApp:t}){e.bottomSheet=this.create=oh(ih,!1,t)}};function lh(e){return encodeURIComponent(e)}function uh(e){return decodeURIComponent(e)}function ch(e){if(""===e)return e;0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\")),e=uh(e.replace(/\+/g," "));try{let t=JSON.parse(e);(t===Object(t)||!0===Array.isArray(t))&&(e=t)}catch{}return e}function dh(e){let t=new Date;return t.setMilliseconds(t.getMilliseconds()+e),t.toUTCString()}function hh(e,t,n={},a){let i,r;void 0!==n.expires&&("[object Date]"===Object.prototype.toString.call(n.expires)?i=n.expires.toUTCString():"string"==typeof n.expires?i=function(e){let t=0,n=e.match(/(\d+)d/),a=e.match(/(\d+)h/),i=e.match(/(\d+)m/),r=e.match(/(\d+)s/);return n&&(t+=864e5*n[1]),a&&(t+=36e5*a[1]),i&&(t+=6e4*i[1]),r&&(t+=1e3*r[1]),0===t?e:dh(t)}(n.expires):(r=parseFloat(n.expires),i=!1===isNaN(r)?dh(864e5*r):n.expires));let o=`${lh(e)}=${function(e){return lh(e===Object(e)?JSON.stringify(e):""+e)}(t)}`,s=[o,void 0!==i?"; Expires="+i:"",n.path?"; Path="+n.path:"",n.domain?"; Domain="+n.domain:"",n.sameSite?"; SameSite="+n.sameSite:"",n.httpOnly?"; HttpOnly":"",n.secure?"; Secure":"",n.other?"; "+n.other:""].join("");if(a){a.req.qCookies?a.req.qCookies.push(s):a.req.qCookies=[s],a.res.setHeader("Set-Cookie",a.req.qCookies);let t=a.req.headers.cookie||"";if(void 0!==i&&r<0){let n=ph(e,a);void 0!==n&&(t=t.replace(`${e}=${n}; `,"").replace(`; ${e}=${n}`,"").replace(`${e}=${n}`,""))}else t=t?`${o}; ${t}`:s;a.req.headers.cookie=t}else document.cookie=s}function ph(e,t){let n,a,i,r=t?t.req.headers:document,o=r.cookie?r.cookie.split("; "):[],s=o.length,l=e?null:{},u=0;for(;uph(t,e),set:(t,n,a)=>hh(t,n,a,e),has:t=>function(e,t){return null!==ph(e,t)}(t,e),remove:(t,n)=>function(e,t,n){hh(e,"",{expires:-1,...t},n)}(t,n,e),getAll:()=>ph(null,e)}}());var mh,vh,gh=fh,_h=B({name:"DialogPluginComponent",props:{...Rt,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:"ok",validator:e=>["ok","cancel","none"].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){let{proxy:o}=k(),{$q:l}=o,u=zt(e,l),c=a(null),d=a(void 0!==e.prompt?e.prompt.model:void 0!==e.options?e.options.model:void 0),h=i((()=>"q-dialog-plugin"+(!0===u.value?" q-dialog-plugin--dark q-dark":"")+(!1!==e.progress?" q-dialog-plugin--progress":""))),p=i((()=>e.color||(!0===u.value?"amber":"primary"))),f=i((()=>!1===e.progress?null:!0===je(e.progress)?{component:e.progress.spinner||on,props:{color:e.progress.color||p.value}}:{component:on,props:{color:p.value}})),m=i((()=>void 0!==e.prompt||void 0!==e.options)),v=i((()=>{if(!0!==m.value)return{};let{model:t,isValid:n,items:a,...i}=void 0!==e.prompt?e.prompt:e.options;return i})),g=i((()=>!0===je(e.ok)||!0===e.ok?l.lang.label.ok:e.ok)),_=i((()=>!0===je(e.cancel)||!0===e.cancel?l.lang.label.cancel:e.cancel)),b=i((()=>void 0!==e.prompt?void 0!==e.prompt.isValid&&!0!==e.prompt.isValid(d.value):void 0!==e.options&&(void 0!==e.options.isValid&&!0!==e.options.isValid(d.value)))),y=i((()=>({color:p.value,label:g.value,ripple:!1,disable:b.value,...!0===je(e.ok)?e.ok:{flat:!0},"data-autofocus":"ok"===e.focus&&!0!==m.value||void 0,onClick:S}))),w=i((()=>({color:p.value,label:_.value,ripple:!1,...!0===je(e.cancel)?e.cancel:{flat:!0},"data-autofocus":"cancel"===e.focus&&!0!==m.value||void 0,onClick:C})));function x(){c.value.hide()}function S(){t("ok",s(d.value)),x()}function C(){x()}function T(){t("hide")}function M(e){d.value=e}function E(t){!0!==b.value&&"textarea"!==e.prompt.type&&!0===pe(t,13)&&S()}function P(t,a){return!0===e.html?n(ci,{class:t,innerHTML:a}):n(ci,{class:t},(()=>a))}function A(){return[n(_l,{color:p.value,dense:!0,autofocus:!0,dark:u.value,...v.value,modelValue:d.value,"onUpdate:modelValue":M,onKeyup:E})]}function L(){return[n(Fl,{color:p.value,options:e.options.items,dark:u.value,...v.value,modelValue:d.value,"onUpdate:modelValue":M})]}function O(){let t=[];return e.title&&t.push(P("q-dialog__title",e.title)),!1!==e.progress&&t.push(n(ci,{class:"q-dialog__progress"},(()=>n(f.value.component,f.value.props)))),e.message&&t.push(P("q-dialog__message",e.message)),void 0!==e.prompt?t.push(n(ci,{class:"scroll q-dialog-plugin__form"},A)):void 0!==e.options&&t.push(n(xs,{dark:u.value}),n(ci,{class:"scroll q-dialog-plugin__form"},L),n(xs,{dark:u.value})),(e.ok||e.cancel)&&t.push(function(){let t=[];return e.cancel&&t.push(n(Pn,w.value)),e.ok&&t.push(n(Pn,y.value)),n(di,{class:!0===e.stackButtons?"items-end":"",vertical:e.stackButtons,align:"right"},(()=>t))}()),t}function N(){return[n(ui,{class:[h.value,e.cardClass],style:e.cardStyle,dark:u.value},O)]}return r((()=>e.prompt&&e.prompt.model),M),r((()=>e.options&&e.options.model),M),Object.assign(o,{show:function(){c.value.show()},hide:x}),()=>n(Zo,{ref:c,onHide:T},N)}}),bh={install({$q:e,parentApp:t}){e.dialog=this.create=oh(_h,!0,t)}},yh=0,wh=null,kh={},xh={},Sh={group:"__default_quasar_group__",delay:0,message:!1,html:!1,spinnerSize:80,spinnerColor:"",messageColor:"",backgroundColor:"",boxClass:"",spinner:on,customClass:""},Ch={...Sh};var Th,Mh=H({isActive:!1},{show(e){kh=function(e){if(e&&void 0!==e.group&&void 0!==xh[e.group])return Object.assign(xh[e.group],e);let t=!0===je(e)&&!0===e.ignoreDefaults?{...Sh,...e}:{...Ch,...e};return xh[t.group]=t,t}(e);let{group:t}=kh;return Mh.isActive=!0,void 0!==mh?(kh.uid=yh,vh.$forceUpdate()):(kh.uid=++yh,null!==wh&&clearTimeout(wh),wh=setTimeout((()=>{wh=null;let e=Qn("q-loading");mh=Ue({name:"QLoading",setup(){function t(){!0!==Mh.isActive&&void 0!==mh&&(Wo(!1),mh.unmount(e),Kn(e),mh=void 0,vh=void 0)}function a(){if(!0!==Mh.isActive)return null;let e=[n(kh.spinner,{class:"q-loading__spinner",color:kh.spinnerColor,size:kh.spinnerSize})];return kh.message&&e.push(n("div",{class:"q-loading__message"+(kh.messageColor?` text-${kh.messageColor}`:""),[!0===kh.html?"innerHTML":"textContent"]:kh.message})),n("div",{class:"q-loading fullscreen flex flex-center z-max "+kh.customClass.trim(),key:kh.uid},[n("div",{class:"q-loading__backdrop"+(kh.backgroundColor?` bg-${kh.backgroundColor}`:"")}),n("div",{class:"q-loading__box column items-center "+kh.boxClass},e)])}return m((()=>{Wo(!0)})),()=>n(S,{name:"q-transition--fade",appear:!0,onAfterLeave:t},a)}},Mh.__parentApp),vh=mh.mount(e)}),kh.delay)),e=>{void 0!==e&&Object(e)===e?Mh.show({...e,group:t}):Mh.hide(t)}},hide(e){if(!0===Mh.isActive){if(void 0===e)xh={};else{if(void 0===xh[e])return;{delete xh[e];let t=Object.keys(xh);if(0!==t.length){let e=t[t.length-1];return void Mh.show({group:e})}}}null!==wh&&(clearTimeout(wh),wh=null),Mh.isActive=!1}},setDefaults(e){!0===je(e)&&Object.assign(Ch,e)},install({$q:e,parentApp:t}){e.loading=this,Mh.__parentApp=t,void 0!==e.config.loading&&this.setDefaults(e.config.loading)}}),Eh=Mh,Ph=a(null),Ah=H({isActive:!1},{start:W,stop:W,increment:W,setDefaults:W,install({$q:e,parentApp:t}){if(e.loadingBar=this,!0===this.__installed)return void(void 0!==e.config.loadingBar&&this.setDefaults(e.config.loadingBar));let i=a(void 0!==e.config.loadingBar?{...e.config.loadingBar}:{});function r(){Ah.isActive=!0}function o(){Ah.isActive=!1}let s=Qn("q-loading-bar");Ue({name:"LoadingBar",devtools:{hide:!0},setup:()=>()=>n(st,{...i.value,onStart:r,onStop:o,ref:Ph})},t).mount(s),Object.assign(this,{start(e){Ph.value.start(e)},stop(){Ph.value.stop()},increment(){Ph.value.increment.apply(null,arguments)},setDefaults(e){!0===je(e)&&Object.assign(i.value,e)}})}}),Lh=Ah,Oh=null,Nh=[];function Rh(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!0;for(let n in e)if(e[n]!==t[n])return!0}function zh(e){return!1===["class","style"].includes(e)}function qh(e){return!1===["lang","dir"].includes(e)}function Ih(){Oh=null;let e={title:"",titleTemplate:null,meta:{},link:{},script:{},htmlAttr:{},bodyAttr:{}};for(let t=0;t{let n=e[t[0]],a=t[1];for(let e in n){let t=n[e];t.template&&(1===Object.keys(t).length?delete n[e]:(t[a]=t.template(t[a]||""),delete t.template))}}))})(e),function({add:e,remove:t}){e.title&&(document.title=e.title),0!==Object.keys(t).length&&(["meta","link","script"].forEach((e=>{t[e].forEach((t=>{document.head.querySelector(`${e}[data-qmeta="${t}"]`).remove()}))})),t.htmlAttr.filter(qh).forEach((e=>{document.documentElement.removeAttribute(e)})),t.bodyAttr.filter(zh).forEach((e=>{document.body.removeAttribute(e)}))),["meta","link","script"].forEach((t=>{let n=e[t];for(let e in n){let a=document.createElement(t);for(let t in n[e])"innerHTML"!==t&&a.setAttribute(t,n[e][t]);a.setAttribute("data-qmeta",e),"script"===t&&(a.innerHTML=n[e].innerHTML||""),document.head.appendChild(a)}})),Object.keys(e.htmlAttr).filter(qh).forEach((t=>{document.documentElement.setAttribute(t,e.htmlAttr[t]||"")})),Object.keys(e.bodyAttr).filter(zh).forEach((t=>{document.body.setAttribute(t,e.bodyAttr[t]||"")}))}(function(e,t){let n={},a={};return void 0===e?{add:t,remove:a}:(e.title!==t.title&&(n.title=t.title),["meta","link","script","htmlAttr","bodyAttr"].forEach((i=>{let r=e[i],o=t[i];if(a[i]=[],null!=r){n[i]={};for(let e in r)!1===o.hasOwnProperty(e)&&a[i].push(e);for(let e in o)!1===r.hasOwnProperty(e)?n[i][e]=o[e]:!0===Rh(r[e],o[e])&&(a[i].push(e),n[i][e]=o[e])}else n[i]=o})),{add:n,remove:a})}(Th,e)),Th=e}function Dh(){null!==Oh&&clearTimeout(Oh),Oh=setTimeout(Ih,50)}var jh={install(e){!0!==this.__installed&&!0===q.value&&(Th=window.__Q_META__,document.getElementById("qmeta-init").remove())}},$h=0,Fh={},Bh={},Vh={},Hh={},Uh=/^\s*$/,Wh=[],Yh=[void 0,null,!0,!1,""],Qh=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],Kh=["top-left","top-right","bottom-left","bottom-right"],Gh={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function Zh(e,t,n){if(!e)return Jh("parameter required");let a,i={textColor:"white"};if(!0!==e.ignoreDefaults&&Object.assign(i,Fh),!1===je(e)&&(i.type&&Object.assign(i,Gh[i.type]),e={message:e}),Object.assign(i,Gh[e.type||i.type],e),"function"==typeof i.icon&&(i.icon=i.icon(t)),i.spinner?(!0===i.spinner&&(i.spinner=on),i.spinner=x(i.spinner)):i.spinner=!1,i.meta={hasMedia:!(!1===i.spinner&&!i.icon&&!i.avatar),hasText:Xh(i.message)||Xh(i.caption)},i.position){if(!1===Qh.includes(i.position))return Jh("wrong position",e)}else i.position="bottom";if(!0===Yh.includes(i.timeout))i.timeout=5e3;else{let t=Number(i.timeout);if(isNaN(t)||t<0)return Jh("wrong timeout",e);i.timeout=Number.isFinite(t)?t:0}0===i.timeout?i.progress=!1:!0===i.progress&&(i.meta.progressClass="q-notification__progress"+(i.progressClass?` ${i.progressClass}`:""),i.meta.progressStyle={animationDuration:`${i.timeout+1e3}ms`});let r=(!0===Array.isArray(e.actions)?e.actions:[]).concat(!0!==e.ignoreDefaults&&!0===Array.isArray(Fh.actions)?Fh.actions:[]).concat(void 0!==Gh[e.type]&&!0===Array.isArray(Gh[e.type].actions)?Gh[e.type].actions:[]),{closeBtn:o}=i;if(o&&r.push({label:"string"==typeof o?o:t.lang.label.close}),i.actions=r.map((({handler:e,noDismiss:t,...n})=>({flat:!0,...n,onClick:"function"==typeof e?()=>{e(),!0!==t&&s()}:()=>{s()}}))),void 0===i.multiLine&&(i.multiLine=i.actions.length>1),Object.assign(i.meta,{class:"q-notification row items-stretch q-notification--"+(!0===i.multiLine?"multi-line":"standard")+(void 0!==i.color?` bg-${i.color}`:"")+(void 0!==i.textColor?` text-${i.textColor}`:"")+(void 0!==i.classes?` ${i.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(!0===i.multiLine?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(!0===i.multiLine?"":" col"),leftClass:!0===i.meta.hasText?"additional":"single",attrs:{role:"alert",...i.attrs}}),!1===i.group?(i.group=void 0,i.meta.group=void 0):((void 0===i.group||!0===i.group)&&(i.group=[i.message,i.caption,i.multiline].concat(i.actions.map((e=>`${e.label}*${e.icon}`))).join("|")),i.meta.group=i.group+"|"+i.position),0===i.actions.length?i.actions=void 0:i.meta.actionsClass="q-notification__actions row items-center "+(!0===i.multiLine?"justify-end":"col-auto")+(!0===i.meta.hasMedia?" q-notification__actions--with-media":""),void 0!==n){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),i.meta.uid=n.notif.meta.uid;let e=Vh[i.position].value.indexOf(n.notif);Vh[i.position].value[e]=i}else{let t=Bh[i.meta.group];if(void 0===t){if(i.meta.uid=$h++,i.meta.badge=1,-1!==["left","right","center"].indexOf(i.position))Vh[i.position].value.splice(Math.floor(Vh[i.position].value.length/2),0,i);else{let e=-1!==i.position.indexOf("top")?"unshift":"push";Vh[i.position].value[e](i)}void 0!==i.group&&(Bh[i.meta.group]=i)}else{if(t.meta.timer&&(clearTimeout(t.meta.timer),t.meta.timer=void 0),void 0!==i.badgePosition){if(!1===Kh.includes(i.badgePosition))return Jh("wrong badgePosition",e)}else i.badgePosition="top-"+(-1!==i.position.indexOf("left")?"right":"left");i.meta.uid=t.meta.uid,i.meta.badge=t.meta.badge+1,i.meta.badgeClass=`q-notification__badge q-notification__badge--${i.badgePosition}`+(void 0!==i.badgeColor?` bg-${i.badgeColor}`:"")+(void 0!==i.badgeTextColor?` text-${i.badgeTextColor}`:"")+(i.badgeClass?` ${i.badgeClass}`:"");let n=Vh[i.position].value.indexOf(t);Vh[i.position].value[n]=Bh[i.meta.group]=i}}let s=()=>{(function(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);let t=Vh[e.position].value.indexOf(e);if(-1!==t){void 0!==e.group&&delete Bh[e.meta.group];let n=Wh[""+e.meta.uid];if(n){let{width:e,height:t}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=e,n.style.height=t}Vh[e.position].value.splice(t,1),"function"==typeof e.onDismiss&&e.onDismiss()}})(i),a=void 0};return i.timeout>0&&(i.meta.timer=setTimeout((()=>{i.meta.timer=void 0,s()}),i.timeout+1e3)),void 0!==i.group?t=>{void 0!==t?Jh("trying to update a grouped one which is forbidden",e):s()}:(a={dismiss:s,config:e,notif:i},void 0===n?e=>{if(void 0!==a)if(void 0===e)a.dismiss();else{Zh(Object.assign({},a.config,e,{group:!1,position:i.position}),t,a)}}:void Object.assign(n,a))}function Xh(e){return null!=e&&!0!==Uh.test(e)}function Jh(e,t){return console.error(`Notify: ${e}`,t),!1}var ep={setDefaults(e){!0===je(e)&&Object.assign(Fh,e)},registerType(e,t){!0===je(t)&&(Gh[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=t=>Zh(t,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,void 0!==e.config.notify&&this.setDefaults(e.config.notify),!0!==this.__installed){Qh.forEach((e=>{Vh[e]=a([]);let t=!0===["left","center","right"].includes(e)?"center":-1!==e.indexOf("top")?"top":"bottom",n=-1!==e.indexOf("left")?"start":-1!==e.indexOf("right")?"end":"center",i=["left","right"].includes(e)?`items-${"left"===e?"start":"end"} justify-center`:"center"===e?"flex-center":`items-${n}`;Hh[e]=`q-notifications__list q-notifications__list--${t} fixed column no-wrap ${i}`}));let e=Qn("q-notify");Ue(B({name:"QNotifications",devtools:{hide:!0},setup:()=>()=>n("div",{class:"q-notifications"},Qh.map((e=>n(C,{key:e,class:Hh[e],tag:"div",name:`q-notification--${e}`},(()=>Vh[e].value.map((e=>{let t=e.meta,a=[];if(!0===t.hasMedia&&(!1!==e.spinner?a.push(n(e.spinner,{class:"q-notification__spinner q-notification__spinner--"+t.leftClass,color:e.spinnerColor,size:e.spinnerSize})):e.icon?a.push(n(At,{class:"q-notification__icon q-notification__icon--"+t.leftClass,name:e.icon,color:e.iconColor,size:e.iconSize,role:"img"})):e.avatar&&a.push(n(Lt,{class:"q-notification__avatar q-notification__avatar--"+t.leftClass},(()=>n("img",{src:e.avatar,"aria-hidden":"true"}))))),!0===t.hasText){let t,i={class:"q-notification__message col"};if(!0===e.html)i.innerHTML=e.caption?`
${e.message}
${e.caption}
`:e.message;else{let a=[e.message];t=e.caption?[n("div",a),n("div",{class:"q-notification__caption"},[e.caption])]:a}a.push(n("div",i,t))}let i=[n("div",{class:t.contentClass},a)];return!0===e.progress&&i.push(n("div",{key:`${t.uid}|p|${t.badge}`,class:t.progressClass,style:t.progressStyle})),void 0!==e.actions&&i.push(n("div",{class:t.actionsClass},e.actions.map((e=>n(Pn,e))))),t.badge>1&&i.push(n("div",{key:`${t.uid}|${t.badge}`,class:e.meta.badgeClass,style:e.badgeStyle},[t.badge])),n("div",{ref:e=>{Wh[""+t.uid]=e},key:t.uid,class:t.class,...t.attrs},[n("div",{class:t.wrapperClass},i)])})))))))}),t).mount(e)}}};function tp(){let e=()=>null;return{has:()=>!1,hasItem:()=>!1,getLength:()=>0,getItem:e,getIndex:e,getKey:e,getAll:()=>{},getAllKeys:()=>[],set:W,setItem:W,remove:W,removeItem:W,clear:W,isEmpty:()=>!0}}function np(e){let t=window[e+"Storage"],n=e=>{let n=t.getItem(e);return n?function(e){if(e.length<9)return e;let t=e.substring(0,8),n=e.substring(9);switch(t){case"__q_date":let t=Number(n);return new Date(!0===Number.isNaN(t)?n:t);case"__q_expr":return new RegExp(n);case"__q_numb":return Number(n);case"__q_bool":return"1"===n;case"__q_strn":return""+n;case"__q_objt":return JSON.parse(n);default:return e}}(n):null},a=e=>null!==t.getItem(e),i=(e,n)=>{t.setItem(e,function(e){return!0===$e(e)?"__q_date|"+e.getTime():!0===Fe(e)?"__q_expr|"+e.source:"number"==typeof e?"__q_numb|"+e:"boolean"==typeof e?"__q_bool|"+(e?"1":"0"):"string"==typeof e?"__q_strn|"+e:"function"==typeof e?"__q_strn|"+e.toString():e===Object(e)?"__q_objt|"+JSON.stringify(e):e}(n))},r=e=>{t.removeItem(e)};return{has:a,hasItem:a,getLength:()=>t.length,getItem:n,getIndex:e=>ee{let e,a={},i=t.length;for(let r=0;r{let e=[],n=t.length;for(let a=0;a{t.clear()},isEmpty:()=>0===t.length}}var ap=!1===j.has.webStorage?tp():np("local"),ip={install({$q:e}){e.localStorage=ap}};Object.assign(ip,ap);var rp=ip,op=!1===j.has.webStorage?tp():np("session"),sp={install({$q:e}){e.sessionStorage=op}};Object.assign(sp,op);var lp=sp,up={};function cp(e){return void 0!==navigator.clipboard?navigator.clipboard.writeText(e):new Promise(((t,n)=>{let a=function(e){let t=document.createElement("textarea");t.value=e,t.contentEditable="true",t.style.position="fixed";let n=()=>{};Aa(n),document.body.appendChild(t),t.focus(),t.select();let a=document.execCommand("copy");return t.remove(),La(n),a}(e);a?t(!0):n(a)}))}t(up,{EventBus:()=>hp,clone:()=>Jl,colors:()=>zr,copyToClipboard:()=>cp,createMetaMixin:()=>dp,createUploaderComponent:()=>Zc,date:()=>So,debounce:()=>ae,dom:()=>dn,event:()=>ne,exportFile:()=>fp,extend:()=>gs,format:()=>tt,frameDebounce:()=>Gl,getCssVar:()=>Ud,is:()=>Ve,morph:()=>yd,noop:()=>W,openURL:()=>vp,patterns:()=>Tr,runSequentialPromises:()=>gp,scroll:()=>ya,setCssVar:()=>ue,throttle:()=>hn,uid:()=>Ja});var dp=e=>{let t={activated(){this.__qMeta.active=!0,Dh()},deactivated(){this.__qMeta.active=!1,Dh()},unmounted(){Nh.splice(Nh.indexOf(this.__qMeta),1),Dh(),this.__qMeta=void 0}};return"function"==typeof e?Object.assign(t,{computed:{__qMetaOptions(){return e.call(this)||{}}},watch:{__qMetaOptions(e){this.__qMeta.val=e,!0===this.__qMeta.active&&Dh()}},created(){this.__qMeta={active:!0,val:this.__qMetaOptions},Nh.push(this.__qMeta),Dh()}}):t.created=function(){this.__qMeta={active:!0,val:e},Nh.push(this.__qMeta),Dh()},t},hp=class{constructor(){this.__stack={}}on(e,t,n){return(this.__stack[e]||(this.__stack[e]=[])).push({fn:t,ctx:n}),this}once(e,t,n){let a=(...i)=>{this.off(e,a),t.apply(n,i)};return a.__callback=t,this.on(e,a,n)}emit(e){let t=this.__stack[e];if(void 0!==t){let e=[].slice.call(arguments,1);t.forEach((t=>{t.fn.apply(t.ctx,e)}))}return this}off(e,t){let n=this.__stack[e];if(void 0===n)return this;if(void 0===t)return delete this.__stack[e],this;let a=n.filter((e=>e.fn!==t&&e.fn.__callback!==t));return 0!==a.length?this.__stack[e]=a:delete this.__stack[e],this}};function pp(e){setTimeout((()=>{window.URL.revokeObjectURL(e.href)}),1e4),e.remove()}function fp(e,t,n={}){let{mimeType:a,byteOrderMark:i,encoding:r}="string"==typeof n?{mimeType:n}:n,o=void 0!==r?new TextEncoder(r).encode([t]):t,s=new Blob(void 0!==i?[i,o]:[o],{type:a||"application/octet-stream"}),l=document.createElement("a");l.href=window.URL.createObjectURL(s),l.setAttribute("download",e),typeof l.download>"u"&&l.setAttribute("target","_blank"),l.classList.add("hidden"),l.style.position="fixed",document.body.appendChild(l);try{return l.click(),pp(l),!0}catch(e){return pp(l),e}}function mp(e,t,n){let a=window.open;if(!0===F.is.cordova)if(void 0!==cordova&&void 0!==cordova.InAppBrowser&&void 0!==cordova.InAppBrowser.open)a=cordova.InAppBrowser.open;else if(void 0!==navigator&&void 0!==navigator.app)return navigator.app.loadUrl(e,{openExternal:!0});let i=a(e,"_blank",function(e){let t=Object.assign({noopener:!0},e),n=[];for(let e in t){let a=t[e];!0===a?n.push(e):(Be(a)||"string"==typeof a&&""!==a)&&n.push(e+"="+a)}return n.join(",")}(n));if(i)return F.is.desktop&&i.focus(),i;t&&t()}var vp=(e,t,n)=>{if(!0!==F.is.ios||void 0===window.SafariViewController)return mp(e,t,n);window.SafariViewController.isAvailable((a=>{a?window.SafariViewController.show({url:e},W,t):mp(e,t,n)}))};function gp(e,{threadsNumber:t=1,abortOnFail:n=!0}={}){let a=-1,i=!1,{isList:r,totalJobs:o,resultAggregator:s,resultKeys:l}=function(e){let t=Array.isArray(e);if(!0===t){let n=e.length;return{isList:t,totalJobs:n,resultAggregator:Array(n).fill(null)}}let n=Object.keys(e),a={};return n.forEach((e=>{a[e]=null})),{isList:t,totalJobs:n.length,resultAggregator:a,resultKeys:n}}(e),u=Array(t).fill(new Promise(((t,u)=>{!function c(){let d=++a;if(!0===i||d>=o)return void t();let h=!0===r?d:l[d];e[h](s).then((e=>{!0!==i?(s[h]={key:h,status:"fulfilled",value:e},setTimeout(c)):t()})).catch((e=>{if(!0===i)return void t();let a={key:h,status:"rejected",reason:e};if(s[h]=a,!0===n)return i=!0,void u({...a,resultAggregator:s});setTimeout(c)}))}()})));return Promise.all(u).then((()=>s))}var _p={};function bp(){let{emit:e,proxy:t}=k(),n=a(null);function i(){n.value.hide()}return Object.assign(t,{show:function(){n.value.show()},hide:i}),{dialogRef:n,onDialogHide:function(){e("hide")},onDialogOK:function(t){e("ok",t),i()},onDialogCancel:i}}t(_p,{useDialogPluginComponent:()=>bp,useFormChild:()=>qs,useHydration:()=>rr,useId:()=>ti,useInterval:()=>xp,useMeta:()=>wp,useQuasar:()=>kp,useRenderCache:()=>bi,useSplitAttrs:()=>hs,useTick:()=>na,useTimeout:()=>aa});var yp=["ok","hide"];function wp(e){{let t={active:!0};if("function"==typeof e){let n=i(e);t.val=n.value,r(n,(e=>{t.val=e,!0===t.active&&Dh()}))}else t.val=e;Nh.push(t),Dh(),h((()=>{t.active=!0,Dh()})),p((()=>{t.active=!1,Dh()})),g((()=>{Nh.splice(Nh.indexOf(t),1),Dh()}))}}function kp(){return y("_q_")}function xp(){let e=null,t=k();function n(){null!==e&&(clearInterval(e),e=null)}return p(n),v(n),{removeInterval:n,registerInterval(a,i){n(),!1===Wt(t)&&(e=setInterval(a,i))}}}bp.emits=yp,bp.emitsObject=Kc(yp),void 0===window.Vue&&console.error("[ Quasar ] Vue is required to run. Please add a script tag for it before loading Quasar."),window.Quasar={version:"2.17.0",install(e,t){Ye(e,{components:Qe,directives:id,plugins:Hd,...t})},lang:xe,iconSet:Te,...Qe,...id,...Hd,..._p,...up}})(); + */(()=>{var e=Object.defineProperty,t=(t,n)=>{for(var a in n)e(t,a,{get:n[a],enumerable:!0})},{h:n,ref:a,computed:i,watch:r,isRef:o,toRaw:s,unref:l,reactive:u,shallowReactive:c,nextTick:d,onActivated:h,onDeactivated:p,onBeforeMount:f,onMounted:m,onBeforeUnmount:g,onUnmounted:v,onBeforeUpdate:b,onUpdated:_,inject:y,provide:w,getCurrentInstance:k,markRaw:x,Transition:S,TransitionGroup:C,KeepAlive:E,Teleport:T,useSSRContext:A,withDirectives:M,vShow:P,defineComponent:L,createApp:O}=window.Vue;function N(e,t,n,a){return Object.defineProperty(e,t,{get:n,set:a,enumerable:!0}),e}function R(e,t){for(let n in t)N(e,n,t[n]);return e}var I,z=a(!1);var q="ontouchstart"in window||window.navigator.maxTouchPoints>0;var D=navigator.userAgent||navigator.vendor||window.opera,j={userAgent:D,is:function(e){let t=e.toLowerCase(),n=function(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}(t),a=function(e,t){let n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||"",version:n[4]||n[2]||"0",platform:t[0]||""}}(t,n),i={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};a.browser&&(i[a.browser]=!0,i.version=a.version,i.versionNumber=parseInt(a.version,10)),a.platform&&(i[a.platform]=!0);let r=i.android||i.ios||i.bb||i.blackberry||i.ipad||i.iphone||i.ipod||i.kindle||i.playbook||i.silk||i["windows phone"];if(!0===r||-1!==t.indexOf("mobile")?i.mobile=!0:i.desktop=!0,i["windows phone"]&&(i.winphone=!0,delete i["windows phone"]),i.edga||i.edgios||i.edg?(i.edge=!0,a.browser="edge"):i.crios?(i.chrome=!0,a.browser="chrome"):i.fxios&&(i.firefox=!0,a.browser="firefox"),(i.ipod||i.ipad||i.iphone)&&(i.ios=!0),i.vivaldi&&(a.browser="vivaldi",i.vivaldi=!0),(i.chrome||i.opr||i.safari||i.vivaldi||!0===i.mobile&&!0!==i.ios&&!0!==r)&&(i.webkit=!0),i.opr&&(a.browser="opera",i.opera=!0),i.safari&&(i.blackberry||i.bb?(a.browser="blackberry",i.blackberry=!0):i.playbook?(a.browser="playbook",i.playbook=!0):i.android?(a.browser="android",i.android=!0):i.kindle?(a.browser="kindle",i.kindle=!0):i.silk&&(a.browser="silk",i.silk=!0)),i.name=a.browser,i.platform=a.platform,-1!==t.indexOf("electron"))i.electron=!0;else if(-1!==document.location.href.indexOf("-extension://"))i.bex=!0;else{if(void 0!==window.Capacitor?(i.capacitor=!0,i.nativeMobile=!0,i.nativeMobileWrapper="capacitor"):(void 0!==window._cordovaNative||void 0!==window.cordova)&&(i.cordova=!0,i.nativeMobile=!0,i.nativeMobileWrapper="cordova"),!0===z.value&&(I={is:{...i}}),!0===q&&!0===i.mac&&(!0===i.desktop&&!0===i.safari||!0===i.nativeMobile&&!0!==i.android&&!0!==i.ios&&!0!==i.ipad)){delete i.mac,delete i.desktop;let e=Math.min(window.innerHeight,window.innerWidth)>414?"ipad":"iphone";Object.assign(i,{mobile:!0,ios:!0,platform:e,[e]:!0})}!0!==i.mobile&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete i.desktop,i.mobile=!0)}return i}(D),has:{touch:q},within:{iframe:window.self!==window.top}},$={install(e){let{$q:t}=e;!0===z.value?(e.onSSRHydrated.push((()=>{Object.assign(t.platform,j),z.value=!1})),t.platform=u(this)):t.platform=this}};{let e;N(j.has,"webStorage",(()=>{if(void 0!==e)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1})),Object.assign($,j),!0===z.value&&(Object.assign($,I,{has:{touch:!1,webStorage:!1},within:{iframe:!1}}),I=null)}var B=$;function F(e){return x(L(e))}function V(e){return x(e)}var U=(e,t)=>{let n=u(e);for(let a in e)N(t,a,(()=>n[a]),(e=>{n[a]=e}));return t},H={hasPassive:!1,passiveCapture:!0,notPassiveCapture:!0};try{let e=Object.defineProperty({},"passive",{get(){Object.assign(H,{hasPassive:!0,passive:{passive:!0},notPassive:{passive:!1},passiveCapture:{passive:!0,capture:!0},notPassiveCapture:{passive:!1,capture:!0}})}});window.addEventListener("qtest",null,e),window.removeEventListener("qtest",null,e)}catch{}function W(){}function Y(e){return 0===e.button}function Q(e){return e.touches&&e.touches[0]?e=e.touches[0]:e.changedTouches&&e.changedTouches[0]?e=e.changedTouches[0]:e.targetTouches&&e.targetTouches[0]&&(e=e.targetTouches[0]),{top:e.clientY,left:e.clientX}}function K(e){if(e.path)return e.path;if(e.composedPath)return e.composedPath();let t=[],n=e.target;for(;n;){if(t.push(n),"HTML"===n.tagName)return t.push(document),t.push(window),t;n=n.parentElement}}function G(e){e.stopPropagation()}function Z(e){!1!==e.cancelable&&e.preventDefault()}function J(e){!1!==e.cancelable&&e.preventDefault(),e.stopPropagation()}function X(e,t){if(void 0===e||!0===t&&!0===e.__dragPrevented)return;let n=!0===t?e=>{e.__dragPrevented=!0,e.addEventListener("dragstart",Z,H.notPassiveCapture)}:e=>{delete e.__dragPrevented,e.removeEventListener("dragstart",Z,H.notPassiveCapture)};e.querySelectorAll("a, img").forEach(n)}function ee(e,t,n){let a=`__q_${t}_evt`;e[a]=void 0!==e[a]?e[a].concat(n):n,n.forEach((t=>{t[0].addEventListener(t[1],e[t[2]],H[t[3]])}))}function te(e,t){let n=`__q_${t}_evt`;void 0!==e[n]&&(e[n].forEach((t=>{t[0].removeEventListener(t[1],e[t[2]],H[t[3]])})),e[n]=void 0)}var ne={listenOpts:H,leftClick:Y,middleClick:function(e){return 1===e.button},rightClick:function(e){return 2===e.button},position:Q,getEventPath:K,getMouseWheelDistance:function(e){let t=e.deltaX,n=e.deltaY;if((t||n)&&e.deltaMode){let a=1===e.deltaMode?40:800;t*=a,n*=a}return e.shiftKey&&!t&&([n,t]=[t,n]),{x:t,y:n}},stop:G,prevent:Z,stopAndPrevent:J,preventDraggable:X};function ae(e,t=250,n){let a=null;function i(){let i=arguments;null!==a?clearTimeout(a):!0===n&&e.apply(this,i),a=setTimeout((()=>{a=null,!0!==n&&e.apply(this,i)}),t)}return i.cancel=()=>{null!==a&&clearTimeout(a)},i}var ie=["sm","md","lg","xl"],{passive:re}=H,oe=U({width:0,height:0,name:"xs",sizes:{sm:600,md:1024,lg:1440,xl:1920},lt:{sm:!0,md:!0,lg:!0,xl:!0},gt:{xs:!1,sm:!1,md:!1,lg:!1},xs:!0,sm:!1,md:!1,lg:!1,xl:!1},{setSizes:W,setDebounce:W,install({$q:e,onSSRHydrated:t}){if(e.screen=this,!0===this.__installed)return void(void 0!==e.config.screen&&(!1===e.config.screen.bodyClasses?document.body.classList.remove(`screen--${this.name}`):this.__update(!0)));let{visualViewport:n}=window,a=n||window,i=document.scrollingElement||document.documentElement,r=void 0===n||!0===j.is.mobile?()=>[Math.max(window.innerWidth,i.clientWidth),Math.max(window.innerHeight,i.clientHeight)]:()=>[n.width*n.scale+window.innerWidth-i.clientWidth,n.height*n.scale+window.innerHeight-i.clientHeight],o=void 0!==e.config.screen&&!0===e.config.screen.bodyClasses;this.__update=e=>{let[t,n]=r();if(n!==this.height&&(this.height=n),t!==this.width)this.width=t;else if(!0!==e)return;let a=this.sizes;this.gt.xs=t>=a.sm,this.gt.sm=t>=a.md,this.gt.md=t>=a.lg,this.gt.lg=t>=a.xl,this.lt.sm=t{ie.forEach((t=>{void 0!==e[t]&&(l[t]=e[t])}))},this.setDebounce=e=>{u=e};let c=()=>{let e=getComputedStyle(document.body);e.getPropertyValue("--q-size-sm")&&ie.forEach((t=>{this.sizes[t]=parseInt(e.getPropertyValue(`--q-size-${t}`),10)})),this.setSizes=e=>{ie.forEach((t=>{e[t]&&(this.sizes[t]=e[t])})),this.__update(!0)},this.setDebounce=e=>{void 0!==s&&a.removeEventListener("resize",s,re),s=e>0?ae(this.__update,e):this.__update,a.addEventListener("resize",s,re)},this.setDebounce(u),0!==Object.keys(l).length?(this.setSizes(l),l=void 0):this.__update(),!0===o&&"xs"===this.name&&document.body.classList.add("screen--xs")};!0===z.value?t.push(c):c()}}),se=U({isActive:!1,mode:!1},{__media:void 0,set(e){se.mode=e,"auto"===e?(void 0===se.__media&&(se.__media=window.matchMedia("(prefers-color-scheme: dark)"),se.__updateMedia=()=>{se.set("auto")},se.__media.addListener(se.__updateMedia)),e=se.__media.matches):void 0!==se.__media&&(se.__media.removeListener(se.__updateMedia),se.__media=void 0),se.isActive=!0===e,document.body.classList.remove("body--"+(!0===e?"light":"dark")),document.body.classList.add("body--"+(!0===e?"dark":"light"))},toggle(){se.set(!1===se.isActive)},install({$q:e,ssrContext:t}){let{dark:n}=e.config;e.dark=this,!0!==this.__installed&&this.set(void 0!==n&&n)}}),le=se;function ue(e,t,n=document.body){if("string"!=typeof e)throw new TypeError("Expected a string as propName");if("string"!=typeof t)throw new TypeError("Expected a string as value");if(!(n instanceof Element))throw new TypeError("Expected a DOM element");n.style.setProperty(`--q-${e}`,t)}var ce=!1;function de(e){ce=!0===e.isComposing}function he(e){return!0===ce||e!==Object(e)||!0===e.isComposing||!0===e.qKeyEvent}function pe(e,t){return!0!==he(e)&&[].concat(t).includes(e.keyCode)}function fe(e){return!0===e.ios?"ios":!0===e.android?"android":void 0}var me={install(e){if(!0!==this.__installed){if(!0===z.value)!function(){let{is:e}=j,t=document.body.className,n=new Set(t.replace(/ {2}/g," ").split(" "));if(!0!==e.nativeMobile&&!0!==e.electron&&!0!==e.bex)if(!0===e.desktop)n.delete("mobile"),n.delete("platform-ios"),n.delete("platform-android"),n.add("desktop");else if(!0===e.mobile){n.delete("desktop"),n.add("mobile"),n.delete("platform-ios"),n.delete("platform-android");let t=fe(e);void 0!==t&&n.add(`platform-${t}`)}!0===j.has.touch&&(n.delete("no-touch"),n.add("touch")),!0===j.within.iframe&&n.add("within-iframe");let a=Array.from(n).join(" ");t!==a&&(document.body.className=a)}();else{let{$q:t}=e;void 0!==t.config.brand&&function(e){for(let t in e)ue(t,e[t])}(t.config.brand);let n=function({is:e,has:t,within:n},a){let i=[!0===e.desktop?"desktop":"mobile",(!1===t.touch?"no-":"")+"touch"];if(!0===e.mobile){let t=fe(e);void 0!==t&&i.push("platform-"+t)}if(!0===e.nativeMobile){let t=e.nativeMobileWrapper;i.push(t),i.push("native-mobile"),!0===e.ios&&(void 0===a[t]||!1!==a[t].iosStatusBarPadding)&&i.push("q-ios-padding")}else!0===e.electron?i.push("electron"):!0===e.bex&&i.push("bex");return!0===n.iframe&&i.push("within-iframe"),i}(j,t.config);document.body.classList.add.apply(document.body.classList,n)}!0===j.is.ios&&document.body.addEventListener("touchstart",W),window.addEventListener("keydown",de,!0)}}},ge=()=>!0;function ve(e){return"string"==typeof e&&""!==e&&"/"!==e&&"#/"!==e}function be(e){return!0===e.startsWith("#")&&(e=e.substring(1)),!1===e.startsWith("/")&&(e="/"+e),!0===e.endsWith("/")&&(e=e.substring(0,e.length-1)),"#"+e}var _e={__history:[],add:W,remove:W,install({$q:e}){if(!0===this.__installed)return;let{cordova:t,capacitor:n}=j.is;if(!0!==t&&!0!==n)return;let a=e.config[!0===t?"cordova":"capacitor"];if(void 0!==a&&!1===a.backButton||!0===n&&(void 0===window.Capacitor||void 0===window.Capacitor.Plugins.App))return;this.add=e=>{void 0===e.condition&&(e.condition=ge),this.__history.push(e)},this.remove=e=>{let t=this.__history.indexOf(e);t>=0&&this.__history.splice(t,1)};let i=function(e){if(!1===e.backButtonExit)return()=>!1;if("*"===e.backButtonExit)return ge;let t=["#/"];return!0===Array.isArray(e.backButtonExit)&&t.push(...e.backButtonExit.filter(ve).map(be)),()=>t.includes(window.location.hash)}(Object.assign({backButtonExit:!0},a)),r=()=>{if(this.__history.length){let e=this.__history[this.__history.length-1];!0===e.condition()&&(this.__history.pop(),e.handler())}else!0===i()?navigator.app.exitApp():window.history.back()};!0===t?document.addEventListener("deviceready",(()=>{document.addEventListener("backbutton",r,!1)})):window.Capacitor.Plugins.App.addListener("backButton",r)}},ye={isoName:"en-US",nativeName:"English (US)",label:{clear:"Clear",ok:"OK",cancel:"Cancel",close:"Close",set:"Set",select:"Select",reset:"Reset",remove:"Remove",update:"Update",create:"Create",search:"Search",filter:"Filter",refresh:"Refresh",expand:e=>e?`Expand "${e}"`:"Expand",collapse:e=>e?`Collapse "${e}"`:"Collapse"},date:{days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),daysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),firstDayOfWeek:0,format24h:!1,pluralDay:"days"},table:{noData:"No data available",noResults:"No matching records found",loading:"Loading...",selectedRecords:e=>1===e?"1 record selected.":(0===e?"No":e)+" records selected.",recordsPerPage:"Records per page:",allRows:"All",pagination:(e,t,n)=>e+"-"+t+" of "+n,columns:"Columns"},editor:{url:"URL",bold:"Bold",italic:"Italic",strikethrough:"Strikethrough",underline:"Underline",unorderedList:"Unordered List",orderedList:"Ordered List",subscript:"Subscript",superscript:"Superscript",hyperlink:"Hyperlink",toggleFullscreen:"Toggle Fullscreen",quote:"Quote",left:"Left align",center:"Center align",right:"Right align",justify:"Justify align",print:"Print",outdent:"Decrease indentation",indent:"Increase indentation",removeFormat:"Remove formatting",formatting:"Formatting",fontSize:"Font Size",align:"Align",hr:"Insert Horizontal Rule",undo:"Undo",redo:"Redo",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",code:"Code",size1:"Very small",size2:"A bit small",size3:"Normal",size4:"Medium-large",size5:"Big",size6:"Very big",size7:"Maximum",defaultFont:"Default Font",viewSource:"View Source"},tree:{noNodes:"No nodes available",noResults:"No matching nodes found"}};function we(){let e=!0===Array.isArray(navigator.languages)&&0!==navigator.languages.length?navigator.languages[0]:navigator.language;if("string"==typeof e)return e.split(/[-_]/).map(((e,t)=>0===t?e.toLowerCase():t>1||e.length<4?e.toUpperCase():e[0].toUpperCase()+e.slice(1).toLowerCase())).join("-")}var ke=U({__qLang:{}},{getLocale:we,set(e=ye,t){let n={...e,rtl:!0===e.rtl,getLocale:we};if(n.set=ke.set,void 0===ke.__langConfig||!0!==ke.__langConfig.noHtmlAttrs){let e=document.documentElement;e.setAttribute("dir",!0===n.rtl?"rtl":"ltr"),e.setAttribute("lang",n.isoName)}Object.assign(ke.__qLang,n)},install({$q:e,lang:t,ssrContext:n}){e.lang=ke.__qLang,ke.__langConfig=e.config.lang,!0===this.__installed?void 0!==t&&this.set(t):(this.props=new Proxy(this.__qLang,{get(){return Reflect.get(...arguments)},ownKeys:e=>Reflect.ownKeys(e).filter((e=>"set"!==e&&"getLocale"!==e))}),this.set(t||ye))}}),xe=ke,Se={name:"material-icons",type:{positive:"check_circle",negative:"warning",info:"info",warning:"priority_high"},arrow:{up:"arrow_upward",right:"arrow_forward",down:"arrow_downward",left:"arrow_back",dropdown:"arrow_drop_down"},chevron:{left:"chevron_left",right:"chevron_right"},colorPicker:{spectrum:"gradient",tune:"tune",palette:"style"},pullToRefresh:{icon:"refresh"},carousel:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down",navigationIcon:"lens"},chip:{remove:"cancel",selected:"check"},datetime:{arrowLeft:"chevron_left",arrowRight:"chevron_right",now:"access_time",today:"today"},editor:{bold:"format_bold",italic:"format_italic",strikethrough:"strikethrough_s",underline:"format_underlined",unorderedList:"format_list_bulleted",orderedList:"format_list_numbered",subscript:"vertical_align_bottom",superscript:"vertical_align_top",hyperlink:"link",toggleFullscreen:"fullscreen",quote:"format_quote",left:"format_align_left",center:"format_align_center",right:"format_align_right",justify:"format_align_justify",print:"print",outdent:"format_indent_decrease",indent:"format_indent_increase",removeFormat:"format_clear",formatting:"text_format",fontSize:"format_size",align:"format_align_left",hr:"remove",undo:"undo",redo:"redo",heading:"format_size",code:"code",size:"format_size",font:"font_download",viewSource:"code"},expansionItem:{icon:"keyboard_arrow_down",denseIcon:"arrow_drop_down"},fab:{icon:"add",activeIcon:"close"},field:{clear:"cancel",error:"error"},pagination:{first:"first_page",prev:"keyboard_arrow_left",next:"keyboard_arrow_right",last:"last_page"},rating:{icon:"grade"},stepper:{done:"check",active:"edit",error:"warning"},tabs:{left:"chevron_left",right:"chevron_right",up:"keyboard_arrow_up",down:"keyboard_arrow_down"},table:{arrowUp:"arrow_upward",warning:"warning",firstPage:"first_page",prevPage:"chevron_left",nextPage:"chevron_right",lastPage:"last_page"},tree:{icon:"play_arrow"},uploader:{done:"done",clear:"clear",add:"add_box",upload:"cloud_upload",removeQueue:"clear_all",removeUploaded:"done_all"}},Ce=U({iconMapFn:null,__qIconSet:{}},{set(e,t){let n={...e};n.set=Ce.set,Object.assign(Ce.__qIconSet,n)},install({$q:e,iconSet:t,ssrContext:n}){void 0!==e.config.iconMapFn&&(this.iconMapFn=e.config.iconMapFn),e.iconSet=this.__qIconSet,N(e,"iconMapFn",(()=>this.iconMapFn),(e=>{this.iconMapFn=e})),!0===this.__installed?void 0!==t&&this.set(t):(this.props=new Proxy(this.__qIconSet,{get(){return Reflect.get(...arguments)},ownKeys:e=>Reflect.ownKeys(e).filter((e=>"set"!==e))}),this.set(t||Se))}}),Ee=Ce,Te="_q_t_",Ae="_q_s_",Me="_q_l_",Pe="_q_pc_",Le="_q_f_",Oe="_q_fo_",Ne="_q_tabs_",Re="_q_u_";function Ie(){}var ze={},qe=!1;function De(e,t){if(e===t)return!0;if(null!==e&&null!==t&&"object"==typeof e&&"object"==typeof t){if(e.constructor!==t.constructor)return!1;let n,a;if(e.constructor===Array){if(n=e.length,n!==t.length)return!1;for(a=n;0!=a--;)if(!0!==De(e[a],t[a]))return!1;return!0}if(e.constructor===Map){if(e.size!==t.size)return!1;let n=e.entries();for(a=n.next();!0!==a.done;){if(!0!==t.has(a.value[0]))return!1;a=n.next()}for(n=e.entries(),a=n.next();!0!==a.done;){if(!0!==De(a.value[1],t.get(a.value[0])))return!1;a=n.next()}return!0}if(e.constructor===Set){if(e.size!==t.size)return!1;let n=e.entries();for(a=n.next();!0!==a.done;){if(!0!==t.has(a.value[0]))return!1;a=n.next()}return!0}if(null!=e.buffer&&e.buffer.constructor===ArrayBuffer){if(n=e.length,n!==t.length)return!1;for(a=n;0!=a--;)if(e[a]!==t[a])return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();let i=Object.keys(e).filter((t=>void 0!==e[t]));if(n=i.length,n!==Object.keys(t).filter((e=>void 0!==t[e])).length)return!1;for(a=n;0!=a--;){let n=i[a];if(!0!==De(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function je(e){return null!==e&&"object"==typeof e&&!0!==Array.isArray(e)}function $e(e){return"[object Date]"===Object.prototype.toString.call(e)}function Be(e){return"[object RegExp]"===Object.prototype.toString.call(e)}function Fe(e){return"number"==typeof e&&isFinite(e)}var Ve={deepEqual:De,object:je,date:$e,regexp:Be,number:Fe},Ue=[B,me,le,oe,_e,xe,Ee];function He(e,t){let n=O(e);n.config.globalProperties=t.config.globalProperties;let{reload:a,...i}=t._context;return Object.assign(n._context,i),n}function We(e,t){t.forEach((t=>{t.install(e),t.__installed=!0}))}var Ye=function(e,t={}){let n={version:"2.17.0"};!1===qe?(void 0!==t.config&&Object.assign(ze,t.config),n.config={...ze},qe=!0):n.config=t.config||{},function(e,t,n){e.config.globalProperties.$q=n.$q,e.provide("_q_",n.$q),We(n,Ue),void 0!==t.components&&Object.values(t.components).forEach((t=>{!0===je(t)&&void 0!==t.name&&e.component(t.name,t)})),void 0!==t.directives&&Object.values(t.directives).forEach((t=>{!0===je(t)&&void 0!==t.name&&e.directive(t.name,t)})),void 0!==t.plugins&&We(n,Object.values(t.plugins).filter((e=>"function"==typeof e.install&&!1===Ue.includes(e)))),!0===z.value&&(n.$q.onSSRHydrated=()=>{n.onSSRHydrated.forEach((e=>{e()})),n.$q.onSSRHydrated=()=>{}})}(e,t,{parentApp:e,$q:n,lang:t.lang,iconSet:t.iconSet,onSSRHydrated:[]})},Qe={};t(Qe,{QAjaxBar:()=>st,QAvatar:()=>Lt,QBadge:()=>Nt,QBanner:()=>zt,QBar:()=>qt,QBreadcrumbs:()=>Qt,QBreadcrumbsEl:()=>nn,QBtn:()=>Mn,QBtnDropdown:()=>ai,QBtnGroup:()=>Pn,QBtnToggle:()=>li,QCard:()=>ui,QCardActions:()=>di,QCardSection:()=>ci,QCarousel:()=>Li,QCarouselControl:()=>Ni,QCarouselSlide:()=>Oi,QChatMessage:()=>Ri,QCheckbox:()=>$i,QChip:()=>Fi,QCircularProgress:()=>Wi,QColor:()=>Dr,QDate:()=>Lo,QDialog:()=>Zo,QDrawer:()=>Jo,QEditor:()=>bs,QExpansionItem:()=>Es,QFab:()=>Os,QFabAction:()=>Is,QField:()=>Hs,QFile:()=>Js,QFooter:()=>Xs,QForm:()=>el,QFormChildMixin:()=>tl,QHeader:()=>nl,QIcon:()=>Pt,QImg:()=>rl,QInfiniteScroll:()=>sl,QInnerLoading:()=>ll,QInput:()=>bl,QIntersection:()=>xl,QItem:()=>rs,QItemLabel:()=>_s,QItemSection:()=>os,QKnob:()=>Al,QLayout:()=>Ol,QLinearProgress:()=>iu,QList:()=>Cl,QMarkupTable:()=>Rl,QMenu:()=>Qa,QNoSsr:()=>Il,QOptionGroup:()=>Bl,QPage:()=>Fl,QPageContainer:()=>Vl,QPageScroller:()=>Wl,QPageSticky:()=>Yl,QPagination:()=>Kl,QParallax:()=>Jl,QPopupEdit:()=>eu,QPopupProxy:()=>tu,QPullToRefresh:()=>ou,QRadio:()=>zl,QRange:()=>cu,QRating:()=>du,QResizeObserver:()=>lr,QResponsive:()=>hu,QRouteTab:()=>zc,QScrollArea:()=>bu,QScrollObserver:()=>Ll,QSelect:()=>Ru,QSeparator:()=>xs,QSkeleton:()=>qu,QSlideItem:()=>ju,QSlideTransition:()=>ys,QSlider:()=>ir,QSpace:()=>$u,QSpinner:()=>on,QSpinnerAudio:()=>Bu,QSpinnerBall:()=>Fu,QSpinnerBars:()=>Vu,QSpinnerBox:()=>Uu,QSpinnerClock:()=>Hu,QSpinnerComment:()=>Wu,QSpinnerCube:()=>Yu,QSpinnerDots:()=>Qu,QSpinnerFacebook:()=>Ku,QSpinnerGears:()=>Gu,QSpinnerGrid:()=>Zu,QSpinnerHearts:()=>Ju,QSpinnerHourglass:()=>Xu,QSpinnerInfinity:()=>ec,QSpinnerIos:()=>tc,QSpinnerOrbit:()=>nc,QSpinnerOval:()=>ac,QSpinnerPie:()=>ic,QSpinnerPuff:()=>rc,QSpinnerRadio:()=>oc,QSpinnerRings:()=>sc,QSpinnerTail:()=>lc,QSplitter:()=>uc,QStep:()=>pc,QStepper:()=>mc,QStepperNavigation:()=>gc,QTab:()=>vr,QTabPanel:()=>_r,QTabPanels:()=>br,QTable:()=>Nc,QTabs:()=>hr,QTd:()=>Ic,QTh:()=>vc,QTime:()=>Dc,QTimeline:()=>jc,QTimelineEntry:()=>$c,QToggle:()=>ql,QToolbar:()=>Bc,QToolbarTitle:()=>Fc,QTooltip:()=>is,QTr:()=>Rc,QTree:()=>Uc,QUploader:()=>td,QUploaderAddTrigger:()=>nd,QVideo:()=>ad,QVirtualScroll:()=>wc});var Ke=["B","KB","MB","GB","TB","PB"];function Ge(e,t=1){let n=0;for(;parseInt(e,10)>=1024&&n=t?a:new Array(t-a.length+1).join(n)+a}var tt={humanStorageSize:Ge,capitalize:Ze,between:Je,normalizeToInterval:Xe,pad:et},nt=XMLHttpRequest,at=nt.prototype.open,it=["top","right","bottom","left"],rt=[],ot=0;var st=F({name:"QAjaxBar",props:{position:{type:String,default:"top",validator:e=>it.includes(e)},size:{type:String,default:"2px"},color:String,skipHijack:Boolean,reverse:Boolean,hijackFilter:Function},emits:["start","stop"],setup(e,{emit:t}){let r,o,{proxy:s}=k(),l=a(0),u=a(!1),c=a(!0),d=0,h=null,p=i((()=>`q-loading-bar q-loading-bar--${e.position}`+(void 0!==e.color?` bg-${e.color}`:"")+(!0===c.value?"":" no-transition"))),f=i((()=>"top"===e.position||"bottom"===e.position)),v=i((()=>!0===f.value?"height":"width")),b=i((()=>{let t=u.value,n=function({p:e,pos:t,active:n,horiz:a,reverse:i,dir:r}){let o=1,s=1;return!0===a?(!0===i&&(o=-1),"bottom"===t&&(s=-1),{transform:`translate3d(${o*(e-100)}%,${n?0:-200*s}%,0)`}):(!0===i&&(s=-1),"right"===t&&(o=-1),{transform:`translate3d(${n?0:r*o*-200}%,${s*(e-100)}%,0)`})}({p:l.value,pos:e.position,active:t,horiz:f.value,reverse:!0===s.$q.lang.rtl&&["top","bottom"].includes(e.position)?!1===e.reverse:e.reverse,dir:!0===s.$q.lang.rtl?-1:1});return n[v.value]=e.size,n.opacity=t?1:0,n})),_=i((()=>!0===u.value?{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":l.value}:{"aria-hidden":"true"}));function y(e=300){let n=r;return r=Math.max(0,e)||0,d++,d>1?(0===n&&e>0?S():null!==h&&n>0&&e<=0&&(clearTimeout(h),h=null),d):(null!==h&&clearTimeout(h),t("start"),l.value=0,h=setTimeout((()=>{h=null,c.value=!0,e>0&&S()}),!0===u._value?500:1),!0!==u._value&&(u.value=!0,c.value=!1),d)}function w(e){return d>0&&(l.value=function(e,t){return"number"!=typeof t&&(t=e<25?3*Math.random()+3:e<65?3*Math.random():e<85?2*Math.random():e<99?.6:0),Je(e+t,0,100)}(l.value,e)),d}function x(){if(d=Math.max(0,d-1),d>0)return d;null!==h&&(clearTimeout(h),h=null),t("stop");let e=()=>{c.value=!0,l.value=100,h=setTimeout((()=>{h=null,u.value=!1}),1e3)};return 0===l.value?h=setTimeout(e,1):e(),d}function S(){l.value<100&&(h=setTimeout((()=>{h=null,w(),S()}),r))}return m((()=>{!0!==e.skipHijack&&(o=!0,function(e){ot++,rt.push(e),!(ot>1)&&(nt.prototype.open=function(e,t){let n=[];this.addEventListener("loadstart",(()=>{rt.forEach((e=>{(null===e.hijackFilter.value||!0===e.hijackFilter.value(t))&&(e.start(),n.push(e.stop))}))}),{once:!0}),this.addEventListener("loadend",(()=>{n.forEach((e=>{e()}))}),{once:!0}),at.apply(this,arguments)})}({start:y,stop:x,hijackFilter:i((()=>e.hijackFilter||null))}))})),g((()=>{null!==h&&clearTimeout(h),!0===o&&function(e){rt=rt.filter((t=>t.start!==e)),0===(ot=Math.max(0,ot-1))&&(nt.prototype.open=at)}(y)})),Object.assign(s,{start:y,stop:x,increment:w}),()=>n("div",{class:p.value,style:b.value,..._.value})}}),lt={xs:18,sm:24,md:32,lg:38,xl:46},ut={size:String};function ct(e,t=lt){return i((()=>void 0!==e.size?{fontSize:e.size in t?`${t[e.size]}px`:e.size}:null))}function dt(e,t){return void 0!==e&&e()||t}function ht(e,t){if(void 0!==e){let t=e();if(null!=t)return t.slice()}return t}function pt(e,t){return void 0!==e?t.concat(e()):t}function ft(e,t){return void 0===e?t:void 0!==t?t.concat(e()):e()}function mt(e,t,a,i,r,o){t.key=i+r;let s=n(e,t,a);return!0===r?M(s,o()):s}var gt="0 0 24 24",vt=e=>e,bt=e=>`ionicons ${e}`,_t={"mdi-":e=>`mdi ${e}`,"icon-":vt,"bt-":e=>`bt ${e}`,"eva-":e=>`eva ${e}`,"ion-md":bt,"ion-ios":bt,"ion-logo":bt,"iconfont ":vt,"ti-":e=>`themify-icon ${e}`,"bi-":e=>`bootstrap-icons ${e}`},yt={o_:"-outlined",r_:"-round",s_:"-sharp"},wt={sym_o_:"-outlined",sym_r_:"-rounded",sym_s_:"-sharp"},kt=new RegExp("^("+Object.keys(_t).join("|")+")"),xt=new RegExp("^("+Object.keys(yt).join("|")+")"),St=new RegExp("^("+Object.keys(wt).join("|")+")"),Ct=/^[Mm]\s?[-+]?\.?\d/,Et=/^img:/,Tt=/^svguse:/,At=/^ion-/,Mt=/^(fa-(classic|sharp|solid|regular|light|brands|duotone|thin)|[lf]a[srlbdk]?) /,Pt=F({name:"QIcon",props:{...ut,tag:{type:String,default:"i"},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=ct(e),o=i((()=>"q-icon"+(!0===e.left?" on-left":"")+(!0===e.right?" on-right":"")+(void 0!==e.color?` text-${e.color}`:""))),s=i((()=>{let t,i=e.name;if("none"===i||!i)return{none:!0};if(null!==a.iconMapFn){let e=a.iconMapFn(i);if(void 0!==e){if(void 0===e.icon)return{cls:e.cls,content:void 0!==e.content?e.content:" "};if(i=e.icon,"none"===i||!i)return{none:!0}}}if(!0===Ct.test(i)){let[e,t=gt]=i.split("|");return{svg:!0,viewBox:t,nodes:e.split("&&").map((e=>{let[t,a,i]=e.split("@@");return n("path",{style:a,d:t,transform:i})}))}}if(!0===Et.test(i))return{img:!0,src:i.substring(4)};if(!0===Tt.test(i)){let[e,t=gt]=i.split("|");return{svguse:!0,src:e.substring(7),viewBox:t}}let r=" ",o=i.match(kt);if(null!==o)t=_t[o[1]](i);else if(!0===Mt.test(i))t=i;else if(!0===At.test(i))t=`ionicons ion-${!0===a.platform.is.ios?"ios":"md"}${i.substring(3)}`;else if(!0===St.test(i)){t="notranslate material-symbols";let e=i.match(St);null!==e&&(i=i.substring(6),t+=wt[e[1]]),r=i}else{t="notranslate material-icons";let e=i.match(xt);null!==e&&(i=i.substring(2),t+=yt[e[1]]),r=i}return{cls:t,content:r}}));return()=>{let a={class:o.value,style:r.value,"aria-hidden":"true",role:"presentation"};return!0===s.value.none?n(e.tag,a,dt(t.default)):!0===s.value.img?n(e.tag,a,pt(t.default,[n("img",{src:s.value.src})])):!0===s.value.svg?n(e.tag,a,pt(t.default,[n("svg",{viewBox:s.value.viewBox||"0 0 24 24"},s.value.nodes)])):!0===s.value.svguse?n(e.tag,a,pt(t.default,[n("svg",{viewBox:s.value.viewBox},[n("use",{"xlink:href":s.value.src})])])):(void 0!==s.value.cls&&(a.class+=" "+s.value.cls),n(e.tag,a,pt(t.default,[s.value.content])))}}}),Lt=F({name:"QAvatar",props:{...ut,fontSize:String,color:String,textColor:String,icon:String,square:Boolean,rounded:Boolean},setup(e,{slots:t}){let a=ct(e),r=i((()=>"q-avatar"+(e.color?` bg-${e.color}`:"")+(e.textColor?` text-${e.textColor} q-chip--colored`:"")+(!0===e.square?" q-avatar--square":!0===e.rounded?" rounded-borders":""))),o=i((()=>e.fontSize?{fontSize:e.fontSize}:null));return()=>{let i=void 0!==e.icon?[n(Pt,{name:e.icon})]:void 0;return n("div",{class:r.value,style:a.value},[n("div",{class:"q-avatar__content row flex-center overflow-hidden",style:o.value},ft(t.default,i))])}}}),Ot=["top","middle","bottom"],Nt=F({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>Ot.includes(e)}},setup(e,{slots:t}){let a=i((()=>void 0!==e.align?{verticalAlign:e.align}:null)),r=i((()=>{let t=!0===e.outline&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${!0===e.multiLine?"multi":"single"}-line`+(!0===e.outline?" q-badge--outline":void 0!==e.color?` bg-${e.color}`:"")+(void 0!==t?` text-${t}`:"")+(!0===e.floating?" q-badge--floating":"")+(!0===e.rounded?" q-badge--rounded":"")+(!0===e.transparent?" q-badge--transparent":"")}));return()=>n("div",{class:r.value,style:a.value,role:"status","aria-label":e.label},pt(t.default,void 0!==e.label?[e.label]:[]))}}),Rt={dark:{type:Boolean,default:null}};function It(e,t){return i((()=>null===e.dark?t.dark.isActive:e.dark))}var zt=F({name:"QBanner",props:{...Rt,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=It(e,a),o=i((()=>"q-banner row items-center"+(!0===e.dense?" q-banner--dense":"")+(!0===r.value?" q-banner--dark q-dark":"")+(!0===e.rounded?" rounded-borders":""))),s=i((()=>"q-banner__actions row items-center justify-end col-"+(!0===e.inlineActions?"auto":"all")));return()=>{let a=[n("div",{class:"q-banner__avatar col-auto row items-center self-start"},dt(t.avatar)),n("div",{class:"q-banner__content col text-body2"},dt(t.default))],i=dt(t.action);return void 0!==i&&a.push(n("div",{class:s.value},i)),n("div",{class:o.value+(!1===e.inlineActions&&void 0!==i?" q-banner--top-padding":""),role:"alert"},a)}}}),qt=F({name:"QBar",props:{...Rt,dense:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=It(e,a),o=i((()=>`q-bar row no-wrap items-center q-bar--${!0===e.dense?"dense":"standard"} q-bar--${!0===r.value?"dark":"light"}`));return()=>n("div",{class:o.value,role:"toolbar"},dt(t.default))}}),Dt={left:"start",center:"center",right:"end",between:"between",around:"around",evenly:"evenly",stretch:"stretch"},jt=Object.keys(Dt),$t={align:{type:String,validator:e=>jt.includes(e)}};function Bt(e){return i((()=>{let t=void 0===e.align?!0===e.vertical?"stretch":"left":e.align;return`${!0===e.vertical?"items":"justify"}-${Dt[t]}`}))}function Ft(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function Vt(e,t){"symbol"==typeof t.type?!0===Array.isArray(t.children)&&t.children.forEach((t=>{Vt(e,t)})):e.add(t)}function Ut(e){let t=new Set;return e.forEach((e=>{Vt(t,e)})),Array.from(t)}function Ht(e){return void 0!==e.appContext.config.globalProperties.$router}function Wt(e){return!0===e.isUnmounted||!0===e.isDeactivated}var Yt=["",!0],Qt=F({name:"QBreadcrumbs",props:{...$t,separator:{type:String,default:"/"},separatorColor:String,activeColor:{type:String,default:"primary"},gutter:{type:String,validator:e=>["none","xs","sm","md","lg","xl"].includes(e),default:"sm"}},setup(e,{slots:t}){let a=Bt(e),r=i((()=>`flex items-center ${a.value}${"none"===e.gutter?"":` q-gutter-${e.gutter}`}`)),o=i((()=>e.separatorColor?` text-${e.separatorColor}`:"")),s=i((()=>` text-${e.activeColor}`));return()=>{if(void 0===t.default)return;let a=Ut(dt(t.default));if(0===a.length)return;let i=1,l=[],u=a.filter((e=>void 0!==e.type&&"QBreadcrumbsEl"===e.type.name)).length,c=void 0!==t.separator?t.separator:()=>e.separator;return a.forEach((e=>{if(void 0!==e.type&&"QBreadcrumbsEl"===e.type.name){let t=ie===t[n])):1===e.length&&e[0]===t}function Jt(e,t){return!0===Array.isArray(e)?Zt(e,t):!0===Array.isArray(t)?Zt(t,e):e===t}var Xt={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},en={...Xt,exact:Boolean,activeClass:{type:String,default:"q-router-link--active"},exactActiveClass:{type:String,default:"q-router-link--exact-active"}};function tn({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){let n=k(),{props:a,proxy:r,emit:o}=n,s=Ht(n),l=i((()=>!0!==a.disable&&void 0!==a.href)),u=i(!0===t?()=>!0===s&&!0!==a.disable&&!0!==l.value&&void 0!==a.to&&null!==a.to&&""!==a.to:()=>!0===s&&!0!==l.value&&void 0!==a.to&&null!==a.to&&""!==a.to),c=i((()=>!0===u.value?_(a.to):null)),d=i((()=>null!==c.value)),h=i((()=>!0===l.value||!0===d.value)),p=i((()=>"a"===a.type||!0===h.value?"a":a.tag||e||"div")),f=i((()=>!0===l.value?{href:a.href,target:a.target}:!0===d.value?{href:c.value.href,target:a.target}:{})),m=i((()=>{if(!1===d.value)return-1;let{matched:e}=c.value,{length:t}=e,n=e[t-1];if(void 0===n)return-1;let a=r.$route.matched;if(0===a.length)return-1;let i=a.findIndex(Gt.bind(null,n));if(-1!==i)return i;let o=Kt(e[t-2]);return t>1&&Kt(n)===o&&a[a.length-1].path!==o?a.findIndex(Gt.bind(null,e[t-2])):i})),g=i((()=>!0===d.value&&-1!==m.value&&function(e,t){for(let n in t){let a=t[n],i=e[n];if("string"==typeof a){if(a!==i)return!1}else if(!1===Array.isArray(i)||i.length!==a.length||a.some(((e,t)=>e!==i[t])))return!1}return!0}(r.$route.params,c.value.params))),v=i((()=>!0===g.value&&m.value===r.$route.matched.length-1&&function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!1===Jt(e[n],t[n]))return!1;return!0}(r.$route.params,c.value.params))),b=i((()=>!0===d.value?!0===v.value?` ${a.exactActiveClass} ${a.activeClass}`:!0===a.exact?"":!0===g.value?` ${a.activeClass}`:"":""));function _(e){try{return r.$router.resolve(e)}catch{}return null}function y(e,{returnRouterError:t,to:n=a.to,replace:i=a.replace}={}){if(!0===a.disable)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||void 0!==e.button&&0!==e.button||"_blank"===a.target)return Promise.resolve(!1);e.preventDefault();let o=r.$router[!0===i?"replace":"push"](n);return!0===t?o:o.then((()=>{})).catch((()=>{}))}return{hasRouterLink:d,hasHrefLink:l,hasLink:h,linkTag:p,resolvedLink:c,linkIsActive:g,linkIsExactActive:v,linkClass:b,linkAttrs:f,getLink:_,navigateToRouterLink:y,navigateOnClick:function(e){if(!0===d.value){let t=t=>y(e,t);o("click",e,t),!0!==e.defaultPrevented&&t()}else o("click",e)}}}var nn=F({name:"QBreadcrumbsEl",props:{...en,label:String,icon:String,tag:{type:String,default:"span"}},emits:["click"],setup(e,{slots:t}){let{linkTag:a,linkAttrs:r,linkClass:o,navigateOnClick:s}=tn(),l=i((()=>({class:"q-breadcrumbs__el q-link flex inline items-center relative-position "+(!0!==e.disable?"q-link--focusable"+o.value:"q-breadcrumbs__el--disable"),...r.value,onClick:s}))),u=i((()=>"q-breadcrumbs__el-icon"+(void 0!==e.label?" q-breadcrumbs__el-icon--with-label":"")));return()=>{let i=[];return void 0!==e.icon&&i.push(n(Pt,{class:u.value,name:e.icon})),void 0!==e.label&&i.push(e.label),n(a.value,{...l.value},pt(t.default,i))}}}),an={size:{type:[String,Number],default:"1em"},color:String};function rn(e){return{cSize:i((()=>e.size in lt?`${lt[e.size]}px`:e.size)),classes:i((()=>"q-spinner"+(e.color?` text-${e.color}`:"")))}}var on=F({name:"QSpinner",props:{...an,thickness:{type:Number,default:5}},setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value+" q-spinner-mat",width:t.value,height:t.value,viewBox:"25 25 50 50"},[n("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":e.thickness,"stroke-miterlimit":"10"})])}});function sn(e){if(e===window)return{top:0,left:0};let{top:t,left:n}=e.getBoundingClientRect();return{top:t,left:n}}function ln(e){return e===window?window.innerHeight:e.getBoundingClientRect().height}function un(e,t){let n=e.style;for(let e in t)n[e]=t[e]}function cn(e,t){if(null==e||!0===e.contains(t))return!0;for(let n=e.nextElementSibling;null!==n;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}var dn={offset:sn,style:function(e,t){return window.getComputedStyle(e).getPropertyValue(t)},height:ln,width:function(e){return e===window?window.innerWidth:e.getBoundingClientRect().width},css:un,cssBatch:function(e,t){e.forEach((e=>un(e,t)))},ready:function(e){if("function"==typeof e){if("loading"!==document.readyState)return e();document.addEventListener("DOMContentLoaded",e,!1)}}};function hn(e,t=250){let n,a=!1;return function(){return!1===a&&(a=!0,setTimeout((()=>{a=!1}),t),n=e.apply(this,arguments)),n}}function pn(e,t,n,a){!0===n.modifiers.stop&&G(e);let i=n.modifiers.color,r=n.modifiers.center;r=!0===r||!0===a;let o=document.createElement("span"),s=document.createElement("span"),l=Q(e),{left:u,top:c,width:d,height:h}=t.getBoundingClientRect(),p=Math.sqrt(d*d+h*h),f=p/2,m=(d-p)/2+"px",g=r?m:l.left-u-f+"px",v=(h-p)/2+"px",b=r?v:l.top-c-f+"px";s.className="q-ripple__inner",un(s,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${g},${b},0) scale3d(.2,.2,1)`,opacity:0}),o.className="q-ripple"+(i?" text-"+i:""),o.setAttribute("dir","ltr"),o.appendChild(s),t.appendChild(o);let _=()=>{o.remove(),clearTimeout(y)};n.abort.push(_);let y=setTimeout((()=>{s.classList.add("q-ripple__inner--enter"),s.style.transform=`translate3d(${m},${v},0) scale3d(1,1,1)`,s.style.opacity=.2,y=setTimeout((()=>{s.classList.remove("q-ripple__inner--enter"),s.classList.add("q-ripple__inner--leave"),s.style.opacity=0,y=setTimeout((()=>{o.remove(),n.abort.splice(n.abort.indexOf(_),1)}),275)}),250)}),50)}function fn(e,{modifiers:t,value:n,arg:a}){let i=Object.assign({},e.cfg.ripple,t,n);e.modifiers={early:!0===i.early,stop:!0===i.stop,center:!0===i.center,color:i.color||a,keyCodes:[].concat(i.keyCodes||13)}}var mn=V({name:"ripple",beforeMount(e,t){let n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(!1===n.ripple)return;let a={cfg:n,enabled:!1!==t.value,modifiers:{},abort:[],start(t){!0===a.enabled&&!0!==t.qSkipRipple&&t.type===(!0===a.modifiers.early?"pointerdown":"click")&&pn(t,e,a,!0===t.qKeyEvent)},keystart:hn((t=>{!0===a.enabled&&!0!==t.qSkipRipple&&!0===pe(t,a.modifiers.keyCodes)&&t.type==="key"+(!0===a.modifiers.early?"down":"up")&&pn(t,e,a,!0)}),300)};fn(a,t),e.__qripple=a,ee(a,"main",[[e,"pointerdown","start","passive"],[e,"click","start","passive"],[e,"keydown","keystart","passive"],[e,"keyup","keystart","passive"]])},updated(e,t){if(t.oldValue!==t.value){let n=e.__qripple;void 0!==n&&(n.enabled=!1!==t.value,!0===n.enabled&&Object(t.value)===t.value&&fn(n,t))}},beforeUnmount(e){let t=e.__qripple;void 0!==t&&(t.abort.forEach((e=>{e()})),te(t,"main"),delete e._qripple)}}),gn={none:0,xs:4,sm:8,md:16,lg:24,xl:32},vn={xs:8,sm:10,md:14,lg:20,xl:24},bn=["button","submit","reset"],_n=/[^\s]\/[^\s]/,yn=["flat","outline","push","unelevated"];function wn(e,t){return!0===e.flat?"flat":!0===e.outline?"outline":!0===e.push?"push":!0===e.unelevated?"unelevated":t}function kn(e){let t=wn(e);return void 0!==t?{[t]:!0}:{}}var xn={...ut,...Xt,type:{type:String,default:"button"},label:[Number,String],icon:String,iconRight:String,...yn.reduce(((e,t)=>(e[t]=Boolean)&&e),{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...$t.align,default:"center"},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean},Sn={...xn,round:Boolean};var{passiveCapture:Cn}=H,En=null,Tn=null,An=null,Mn=F({name:"QBtn",props:{...Sn,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:["click","keydown","mousedown","keyup"],setup(e,{slots:t,emit:r}){let o,{proxy:s}=k(),{classes:l,style:u,innerClasses:c,attributes:d,hasLink:h,linkTag:p,navigateOnClick:f,isActionable:m}=function(e){let t=ct(e,vn),n=Bt(e),{hasRouterLink:a,hasLink:r,linkTag:o,linkAttrs:s,navigateOnClick:l}=tn({fallbackTag:"button"}),u=i((()=>{let n=!1===e.fab&&!1===e.fabMini?t.value:{};return void 0!==e.padding?Object.assign({},n,{padding:e.padding.split(/\s+/).map((e=>e in gn?gn[e]+"px":e)).join(" "),minWidth:"0",minHeight:"0"}):n})),c=i((()=>!0===e.rounded||!0===e.fab||!0===e.fabMini)),d=i((()=>!0!==e.disable&&!0!==e.loading)),h=i((()=>!0===d.value?e.tabindex||0:-1)),p=i((()=>wn(e,"standard"))),f=i((()=>{let t={tabindex:h.value};return!0===r.value?Object.assign(t,s.value):!0===bn.includes(e.type)&&(t.type=e.type),"a"===o.value?(!0===e.disable?t["aria-disabled"]="true":void 0===t.href&&(t.role="button"),!0!==a.value&&!0===_n.test(e.type)&&(t.type=e.type)):!0===e.disable&&(t.disabled="",t["aria-disabled"]="true"),!0===e.loading&&void 0!==e.percentage&&Object.assign(t,{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t}));return{classes:i((()=>{let t;void 0!==e.color?t=!0===e.flat||!0===e.outline?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||"white"}`:e.textColor&&(t=`text-${e.textColor}`);let n=!0===e.round?"round":"rectangle"+(!0===c.value?" q-btn--rounded":!0===e.square?" q-btn--square":"");return`q-btn--${p.value} q-btn--${n}`+(void 0!==t?" "+t:"")+(!0===d.value?" q-btn--actionable q-focusable q-hoverable":!0===e.disable?" disabled":"")+(!0===e.fab?" q-btn--fab":!0===e.fabMini?" q-btn--fab-mini":"")+(!0===e.noCaps?" q-btn--no-uppercase":"")+(!0===e.dense?" q-btn--dense":"")+(!0===e.stretch?" no-border-radius self-stretch":"")+(!0===e.glossy?" glossy":"")+(e.square?" q-btn--square":"")})),style:u,innerClasses:i((()=>n.value+(!0===e.stack?" column":" row")+(!0===e.noWrap?" no-wrap text-no-wrap":"")+(!0===e.loading?" q-btn__content--hidden":""))),attributes:f,hasLink:r,linkTag:o,navigateOnClick:l,isActionable:d}}(e),v=a(null),b=a(null),_=null,y=null,w=i((()=>void 0!==e.label&&null!==e.label&&""!==e.label)),x=i((()=>!0!==e.disable&&!1!==e.ripple&&{keyCodes:!0===h.value?[13,32]:[13],...!0===e.ripple?{}:e.ripple})),C=i((()=>({center:e.round}))),E=i((()=>{let t=Math.max(0,Math.min(100,e.percentage));return t>0?{transition:"transform 0.6s",transform:`translateX(${t-100}%)`}:{}})),T=i((()=>{if(!0===e.loading)return{onMousedown:z,onTouchstart:z,onClick:z,onKeydown:z,onKeyup:z};if(!0===m.value){let t={onClick:P,onKeydown:L,onMousedown:N};if(!0===s.$q.platform.has.touch){t[`onTouchstart${void 0!==e.onTouchstart?"":"Passive"}`]=O}return t}return{onClick:J}})),A=i((()=>({ref:v,class:"q-btn q-btn-item non-selectable no-outline "+l.value,style:u.value,...d.value,...T.value})));function P(t){if(null!==v.value){if(void 0!==t){if(!0===t.defaultPrevented)return;let n=document.activeElement;if("submit"===e.type&&n!==document.body&&!1===v.value.contains(n)&&!1===n.contains(v.value)){v.value.focus();let e=()=>{document.removeEventListener("keydown",J,!0),document.removeEventListener("keyup",e,Cn),null!==v.value&&v.value.removeEventListener("blur",e,Cn)};document.addEventListener("keydown",J,!0),document.addEventListener("keyup",e,Cn),v.value.addEventListener("blur",e,Cn)}}f(t)}}function L(e){null!==v.value&&(r("keydown",e),!0===pe(e,[13,32])&&Tn!==v.value&&(null!==Tn&&I(),!0!==e.defaultPrevented&&(v.value.focus(),Tn=v.value,v.value.classList.add("q-btn--active"),document.addEventListener("keyup",R,!0),v.value.addEventListener("blur",R,Cn)),J(e)))}function O(e){null!==v.value&&(r("touchstart",e),!0!==e.defaultPrevented&&(En!==v.value&&(null!==En&&I(),En=v.value,_=e.target,_.addEventListener("touchcancel",R,Cn),_.addEventListener("touchend",R,Cn)),o=!0,null!==y&&clearTimeout(y),y=setTimeout((()=>{y=null,o=!1}),200)))}function N(e){null!==v.value&&(e.qSkipRipple=!0===o,r("mousedown",e),!0!==e.defaultPrevented&&An!==v.value&&(null!==An&&I(),An=v.value,v.value.classList.add("q-btn--active"),document.addEventListener("mouseup",R,Cn)))}function R(e){if(null!==v.value&&(void 0===e||"blur"!==e.type||document.activeElement!==v.value)){if(void 0!==e&&"keyup"===e.type){if(Tn===v.value&&!0===pe(e,[13,32])){let t=new MouseEvent("click",e);t.qKeyEvent=!0,!0===e.defaultPrevented&&Z(t),!0===e.cancelBubble&&G(t),v.value.dispatchEvent(t),J(e),e.qKeyEvent=!0}r("keyup",e)}I()}}function I(e){let t=b.value;!0!==e&&(En===v.value||An===v.value)&&null!==t&&t!==document.activeElement&&(t.setAttribute("tabindex",-1),t.focus()),En===v.value&&(null!==_&&(_.removeEventListener("touchcancel",R,Cn),_.removeEventListener("touchend",R,Cn)),En=_=null),An===v.value&&(document.removeEventListener("mouseup",R,Cn),An=null),Tn===v.value&&(document.removeEventListener("keyup",R,!0),null!==v.value&&v.value.removeEventListener("blur",R,Cn),Tn=null),null!==v.value&&v.value.classList.remove("q-btn--active")}function z(e){J(e),e.qSkipRipple=!0}return g((()=>{I(!0)})),Object.assign(s,{click:e=>{!0===m.value&&P(e)}}),()=>{let a=[];void 0!==e.icon&&a.push(n(Pt,{name:e.icon,left:!0!==e.stack&&!0===w.value,role:"img"})),!0===w.value&&a.push(n("span",{class:"block"},[e.label])),a=pt(t.default,a),void 0!==e.iconRight&&!1===e.round&&a.push(n(Pt,{name:e.iconRight,right:!0!==e.stack&&!0===w.value,role:"img"}));let i=[n("span",{class:"q-focus-helper",ref:b})];return!0===e.loading&&void 0!==e.percentage&&i.push(n("span",{class:"q-btn__progress absolute-full overflow-hidden"+(!0===e.darkPercentage?" q-btn__progress--dark":"")},[n("span",{class:"q-btn__progress-indicator fit block",style:E.value})])),i.push(n("span",{class:"q-btn__content text-center col items-center q-anchor--skip "+c.value},a)),null!==e.loading&&i.push(n(S,{name:"q-transition--fade"},(()=>!0===e.loading?[n("span",{key:"loading",class:"absolute-full flex flex-center"},void 0!==t.loading?t.loading():[n(on)])]:null))),M(n(p.value,A.value,i),[[mn,x.value,void 0,C.value]])}}}),Pn=F({name:"QBtnGroup",props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let a=i((()=>{let t=["unelevated","outline","flat","rounded","square","push","stretch","glossy"].filter((t=>!0===e[t])).map((e=>`q-btn-group--${e}`)).join(" ");return"q-btn-group row no-wrap"+(0!==t.length?" "+t:"")+(!0===e.spread?" q-btn-group--spread":" inline")}));return()=>n("div",{class:a.value},dt(t.default))}});function Ln(){if(void 0!==window.getSelection){let e=window.getSelection();void 0!==e.empty?e.empty():void 0!==e.removeAllRanges&&(e.removeAllRanges(),!0!==B.is.mobile&&e.addRange(document.createRange()))}else void 0!==document.selection&&document.selection.empty()}var On={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},Nn={...On,contextMenu:Boolean};function Rn({showing:e,avoidEmit:t,configureAnchorEl:n}){let{props:i,proxy:o,emit:s}=k(),l=a(null),u=null;function c(e){return null!==l.value&&(void 0===e||void 0===e.touches||e.touches.length<=1)}let h={};function p(){te(h,"anchor")}function f(){if(!1===i.target||""===i.target||null===o.$el.parentNode)l.value=null;else if(!0===i.target)!function(e){for(l.value=e;l.value.classList.contains("q-anchor--skip");)l.value=l.value.parentNode;n()}(o.$el.parentNode);else{let e=i.target;if("string"==typeof i.target)try{e=document.querySelector(i.target)}catch{e=void 0}null!=e?(l.value=e.$el||e,n()):(l.value=null,console.error(`Anchor: target "${i.target}" not found`))}}return void 0===n&&(Object.assign(h,{hide(e){o.hide(e)},toggle(e){o.toggle(e),e.qAnchorHandled=!0},toggleKey(e){!0===pe(e,13)&&h.toggle(e)},contextClick(e){o.hide(e),Z(e),d((()=>{o.show(e),e.qAnchorHandled=!0}))},prevent:Z,mobileTouch(e){if(h.mobileCleanup(e),!0!==c(e))return;o.hide(e),l.value.classList.add("non-selectable");let t=e.target;ee(h,"anchor",[[t,"touchmove","mobileCleanup","passive"],[t,"touchend","mobileCleanup","passive"],[t,"touchcancel","mobileCleanup","passive"],[l.value,"contextmenu","prevent","notPassive"]]),u=setTimeout((()=>{u=null,o.show(e),e.qAnchorHandled=!0}),300)},mobileCleanup(t){l.value.classList.remove("non-selectable"),null!==u&&(clearTimeout(u),u=null),!0===e.value&&void 0!==t&&Ln()}}),n=function(e=i.contextMenu){if(!0===i.noParentEvent||null===l.value)return;let t;t=!0===e?!0===o.$q.platform.is.mobile?[[l.value,"touchstart","mobileTouch","passive"]]:[[l.value,"mousedown","hide","passive"],[l.value,"contextmenu","contextClick","notPassive"]]:[[l.value,"click","toggle","passive"],[l.value,"keyup","toggleKey","passive"]],ee(h,"anchor",t)}),r((()=>i.contextMenu),(e=>{null!==l.value&&(p(),n(e))})),r((()=>i.target),(()=>{null!==l.value&&p(),f()})),r((()=>i.noParentEvent),(e=>{null!==l.value&&(!0===e?p():n())})),m((()=>{f(),!0!==t&&!0===i.modelValue&&null===l.value&&s("update:modelValue",!1)})),g((()=>{null!==u&&clearTimeout(u),p()})),{anchorEl:l,canShow:c,anchorEvents:h}}function In(e,t){let n,i=a(null);function o(e,t){let a=(void 0!==t?"add":"remove")+"EventListener",i=void 0!==t?t:n;e!==window&&e[a]("scroll",i,H.passive),window[a]("scroll",i,H.passive),n=t}function s(){null!==i.value&&(o(i.value),i.value=null)}let l=r((()=>e.noParentEvent),(()=>{null!==i.value&&(s(),t())}));return g(l),{localScrollTarget:i,unconfigureScrollTarget:s,changeScrollEvent:o}}var zn={modelValue:{type:Boolean,default:null},"onUpdate:modelValue":[Function,Array]},qn=["beforeShow","show","beforeHide","hide"];function Dn({showing:e,canShow:t,hideOnRouteChange:n,handleShow:a,handleHide:i,processOnMount:o}){let s,l=k(),{props:u,emit:c,proxy:h}=l;function p(e){if(!0===u.disable||void 0!==e&&!0===e.qAnchorHandled||void 0!==t&&!0!==t(e))return;let n=void 0!==u["onUpdate:modelValue"];!0===n&&(c("update:modelValue",!0),s=e,d((()=>{s===e&&(s=void 0)}))),(null===u.modelValue||!1===n)&&f(e)}function f(t){!0!==e.value&&(e.value=!0,c("beforeShow",t),void 0!==a?a(t):c("show",t))}function g(e){if(!0===u.disable)return;let t=void 0!==u["onUpdate:modelValue"];!0===t&&(c("update:modelValue",!1),s=e,d((()=>{s===e&&(s=void 0)}))),(null===u.modelValue||!1===t)&&v(e)}function v(t){!1!==e.value&&(e.value=!1,c("beforeHide",t),void 0!==i?i(t):c("hide",t))}function b(t){!0===u.disable&&!0===t?void 0!==u["onUpdate:modelValue"]&&c("update:modelValue",!1):!0===t!==e.value&&(!0===t?f:v)(s)}r((()=>u.modelValue),b),void 0!==n&&!0===Ht(l)&&r((()=>h.$route.fullPath),(()=>{!0===n.value&&!0===e.value&&g()})),!0===o&&m((()=>{b(u.modelValue)}));let _={show:p,hide:g,toggle:function(t){!0===e.value?g(t):p(t)}};return Object.assign(h,_),_}var jn=[],$n=[];function Bn(e){$n=$n.filter((t=>t!==e))}function Fn(e){Bn(e),0===$n.length&&0!==jn.length&&(jn[jn.length-1](),jn=[])}function Vn(e){0===$n.length?e():jn.push(e)}var Un=[],Hn=[],Wn=1,Yn=document.body;function Qn(e,t){let n=document.createElement("div");if(n.id=void 0!==t?`q-portal--${t}--${Wn++}`:e,void 0!==ze.globalNodes){let e=ze.globalNodes.class;void 0!==e&&(n.className=e)}return Yn.appendChild(n),Un.push(n),Hn.push(t),n}function Kn(e){let t=Un.indexOf(e);Un.splice(t,1),Hn.splice(t,1),e.remove()}var Gn=[];function Zn(e,t){do{if("QMenu"===e.$options.name){if(e.hide(t),!0===e.$props.separateClosePopup)return Ft(e)}else if(!0===e.__qPortal){let n=Ft(e);return void 0!==n&&"QPopupProxy"===n.$options.name?(e.hide(t),n):e}e=Ft(e)}while(null!=e)}var Jn=F({name:"QPortal",setup:(e,{slots:t})=>()=>t.default()});function Xn(e,t,i,r){let o=a(!1),s=a(!1),l=null,u={},c="dialog"===r&&function(e){for(e=e.parent;null!=e;){if("QGlobalDialog"===e.type.name)return!0;if("QDialog"===e.type.name||"QMenu"===e.type.name)return!1;e=e.parent}return!1}(e);function d(t){if(s.value=!1,!0!==t)return;Fn(u),o.value=!1;let n=Gn.indexOf(e.proxy);-1!==n&&Gn.splice(n,1),null!==l&&(Kn(l),l=null)}return v((()=>{d(!0)})),e.proxy.__qPortal=!0,N(e.proxy,"contentEl",(()=>t.value)),{showPortal:function(t){if(!0===t)return Fn(u),void(s.value=!0);s.value=!1,!1===o.value&&(!1===c&&null===l&&(l=Qn(!1,r)),o.value=!0,Gn.push(e.proxy),function(e){Bn(e),$n.push(e)}(u))},hidePortal:d,portalIsActive:o,portalIsAccessible:s,renderPortal:()=>!0===c?i():!0===o.value?[n(T,{to:l},n(Jn,i))]:void 0}}var ea={transitionShow:{type:String,default:"fade"},transitionHide:{type:String,default:"fade"},transitionDuration:{type:[String,Number],default:300}};function ta(e,t=()=>{},n=()=>{}){return{transitionProps:i((()=>{let a=`q-transition--${e.transitionShow||t()}`,i=`q-transition--${e.transitionHide||n()}`;return{appear:!0,enterFromClass:`${a}-enter-from`,enterActiveClass:`${a}-enter-active`,enterToClass:`${a}-enter-to`,leaveFromClass:`${i}-leave-from`,leaveActiveClass:`${i}-leave-active`,leaveToClass:`${i}-leave-to`}})),transitionStyle:i((()=>`--q-transition-duration: ${e.transitionDuration}ms`))}}function na(){let e,t=k();function n(){e=void 0}return p(n),g(n),{removeTick:n,registerTick(n){e=n,d((()=>{e===n&&(!1===Wt(t)&&e(),e=void 0)}))}}}function aa(){let e=null,t=k();function n(){null!==e&&(clearTimeout(e),e=null)}return p(n),g(n),{removeTimeout:n,registerTimeout(a,i){n(),!1===Wt(t)&&(e=setTimeout((()=>{e=null,a()}),i))}}}var ia,ra=[Element,String],oa=[null,document,document.body,document.scrollingElement,document.documentElement];function sa(e,t){let n=function(e){if(null==e)return;if("string"==typeof e)try{return document.querySelector(e)||void 0}catch{return}let t=l(e);return t?t.$el||t:void 0}(t);if(void 0===n){if(null==e)return window;n=e.closest(".scroll,.scroll-y,.overflow-auto")}return oa.includes(n)?window:n}function la(e){return(e===window?document.body:e).scrollHeight}function ua(e){return e===window?window.pageYOffset||window.scrollY||document.body.scrollTop||0:e.scrollTop}function ca(e){return e===window?window.pageXOffset||window.scrollX||document.body.scrollLeft||0:e.scrollLeft}function da(e,t,n=0){let a=void 0===arguments[3]?performance.now():arguments[3],i=ua(e);n<=0?i!==t&&pa(e,t):requestAnimationFrame((r=>{let o=r-a,s=i+(t-i)/Math.max(o,n)*o;pa(e,s),s!==t&&da(e,t,n-o,r)}))}function ha(e,t,n=0){let a=void 0===arguments[3]?performance.now():arguments[3],i=ca(e);n<=0?i!==t&&fa(e,t):requestAnimationFrame((r=>{let o=r-a,s=i+(t-i)/Math.max(o,n)*o;fa(e,s),s!==t&&ha(e,t,n-o,r)}))}function pa(e,t){e!==window?e.scrollTop=t:window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t)}function fa(e,t){e!==window?e.scrollLeft=t:window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)}function ma(e,t,n){n?da(e,t,n):pa(e,t)}function ga(e,t,n){n?ha(e,t,n):fa(e,t)}function va(){if(void 0!==ia)return ia;let e=document.createElement("p"),t=document.createElement("div");un(e,{width:"100%",height:"200px"}),un(t,{position:"absolute",top:"0px",left:"0px",visibility:"hidden",width:"200px",height:"150px",overflow:"hidden"}),t.appendChild(e),document.body.appendChild(t);let n=e.offsetWidth;t.style.overflow="scroll";let a=e.offsetWidth;return n===a&&(a=t.clientWidth),t.remove(),ia=n-a}function ba(e,t=!0){return!(!e||e.nodeType!==Node.ELEMENT_NODE)&&(t?e.scrollHeight>e.clientHeight&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-y"])):e.scrollWidth>e.clientWidth&&(e.classList.contains("scroll")||e.classList.contains("overflow-auto")||["auto","scroll"].includes(window.getComputedStyle(e)["overflow-x"])))}var _a,ya={getScrollTarget:sa,getScrollHeight:la,getScrollWidth:function(e){return(e===window?document.body:e).scrollWidth},getVerticalScrollPosition:ua,getHorizontalScrollPosition:ca,animVerticalScrollTo:da,animHorizontalScrollTo:ha,setVerticalScrollPosition:ma,setHorizontalScrollPosition:ga,getScrollbarWidth:va,hasScrollbar:ba},wa=[];function ka(e){_a=27===e.keyCode}function xa(){!0===_a&&(_a=!1)}function Sa(e){!0===_a&&(_a=!1,!0===pe(e,27)&&wa[wa.length-1](e))}function Ca(e){window[e]("keydown",ka),window[e]("blur",xa),window[e]("keyup",Sa),_a=!1}function Ea(e){!0===j.is.desktop&&(wa.push(e),1===wa.length&&Ca("addEventListener"))}function Ta(e){let t=wa.indexOf(e);-1!==t&&(wa.splice(t,1),0===wa.length&&Ca("removeEventListener"))}var Aa=[];function Ma(e){Aa[Aa.length-1](e)}function Pa(e){!0===j.is.desktop&&(Aa.push(e),1===Aa.length&&document.body.addEventListener("focusin",Ma))}function La(e){let t=Aa.indexOf(e);-1!==t&&(Aa.splice(t,1),0===Aa.length&&document.body.removeEventListener("focusin",Ma))}var Oa,Na,Ra=null,{notPassiveCapture:Ia}=H,za=[];function qa(e){null!==Ra&&(clearTimeout(Ra),Ra=null);let t=e.target;if(void 0===t||8===t.nodeType||!0===t.classList.contains("no-pointer-events"))return;let n=Gn.length-1;for(;n>=0;){let e=Gn[n].$;if("QTooltip"!==e.type.name){if("QDialog"!==e.type.name)break;if(!0!==e.props.seamless)return;n--}else n--}for(let n=za.length-1;n>=0;n--){let a=za[n];if(null!==a.anchorEl.value&&!1!==a.anchorEl.value.contains(t)||t!==document.body&&(null===a.innerRef.value||!1!==a.innerRef.value.contains(t)))return;e.qClickOutside=!0,a.onClickOutside(e)}}function Da(e){za.push(e),1===za.length&&(document.addEventListener("mousedown",qa,Ia),document.addEventListener("touchstart",qa,Ia))}function ja(e){let t=za.findIndex((t=>t===e));-1!==t&&(za.splice(t,1),0===za.length&&(null!==Ra&&(clearTimeout(Ra),Ra=null),document.removeEventListener("mousedown",qa,Ia),document.removeEventListener("touchstart",qa,Ia)))}function $a(e){let t=e.split(" ");return 2===t.length&&(!0!==["top","center","bottom"].includes(t[0])?(console.error("Anchor/Self position must start with one of top/center/bottom"),!1):!0===["left","middle","right","start","end"].includes(t[1])||(console.error("Anchor/Self position must end with one of left/middle/right/start/end"),!1))}function Ba(e){return!e||!(2!==e.length||"number"!=typeof e[0]||"number"!=typeof e[1])}var Fa={"start#ltr":"left","start#rtl":"right","end#ltr":"right","end#rtl":"left"};function Va(e,t){let n=e.split(" ");return{vertical:n[0],horizontal:Fa[`${n[1]}#${!0===t?"rtl":"ltr"}`]}}function Ua(e,t,n,a){return{top:e[n.vertical]-t[a.vertical],left:e[n.horizontal]-t[a.horizontal]}}function Ha(e,t=0){if(null===e.targetEl||null===e.anchorEl||t>5)return;if(0===e.targetEl.offsetHeight||0===e.targetEl.offsetWidth)return void setTimeout((()=>{Ha(e,t+1)}),10);let{targetEl:n,offset:a,anchorEl:i,anchorOrigin:r,selfOrigin:o,absoluteOffset:s,fit:l,cover:u,maxHeight:c,maxWidth:d}=e;if(!0===j.is.ios&&void 0!==window.visualViewport){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==Oa&&(e.setProperty("--q-pe-left",t+"px"),Oa=t),n!==Na&&(e.setProperty("--q-pe-top",n+"px"),Na=n)}let{scrollLeft:h,scrollTop:p}=n,f=void 0===s?function(e,t){let{top:n,left:a,right:i,bottom:r,width:o,height:s}=e.getBoundingClientRect();return void 0!==t&&(n-=t[1],a-=t[0],r+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:r,height:s,left:a,right:i,width:o,middle:a+(i-a)/2,center:n+(r-n)/2}}(i,!0===u?[0,0]:a):function(e,t,n){let{top:a,left:i}=e.getBoundingClientRect();return a+=t.top,i+=t.left,void 0!==n&&(a+=n[1],i+=n[0]),{top:a,bottom:a+1,height:1,left:i,right:i+1,width:1,middle:i,center:a}}(i,s,a);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:c,visibility:"visible"});let{offsetWidth:m,offsetHeight:g}=n,{elWidth:v,elHeight:b}=!0===l||!0===u?{elWidth:Math.max(f.width,m),elHeight:!0===u?Math.max(f.height,g):g}:{elWidth:m,elHeight:g},_={maxWidth:d,maxHeight:c};(!0===l||!0===u)&&(_.minWidth=f.width+"px",!0===u&&(_.minHeight=f.height+"px")),Object.assign(n.style,_);let y=function(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}(v,b),w=Ua(f,y,r,o);if(void 0===s||void 0===a)Wa(w,f,y,r,o);else{let{top:e,left:t}=w;Wa(w,f,y,r,o);let n=!1;if(w.top!==e){n=!0;let e=2*a[1];f.center=f.top-=e,f.bottom-=e+2}if(w.left!==t){n=!0;let e=2*a[0];f.middle=f.left-=e,f.right-=e+2}!0===n&&(w=Ua(f,y,r,o),Wa(w,f,y,r,o))}_={top:w.top+"px",left:w.left+"px"},void 0!==w.maxHeight&&(_.maxHeight=w.maxHeight+"px",f.height>w.maxHeight&&(_.minHeight=_.maxHeight)),void 0!==w.maxWidth&&(_.maxWidth=w.maxWidth+"px",f.width>w.maxWidth&&(_.minWidth=_.maxWidth)),Object.assign(n.style,_),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==h&&(n.scrollLeft=h)}function Wa(e,t,n,a,i){let r=n.bottom,o=n.right,s=va(),l=window.innerHeight-s,u=document.body.clientWidth;if(e.top<0||e.top+r>l)if("center"===i.vertical)e.top=t[a.vertical]>l/2?Math.max(0,l-r):0,e.maxHeight=Math.min(r,l);else if(t[a.vertical]>l/2){let n=Math.min(l,"center"===a.vertical?t.center:a.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(r,n),e.top=Math.max(0,n-r)}else e.top=Math.max(0,"center"===a.vertical?t.center:a.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(r,l-e.top);if(e.left<0||e.left+o>u)if(e.maxWidth=Math.min(o,u),"middle"===i.horizontal)e.left=t[a.horizontal]>u/2?Math.max(0,u-o):0;else if(t[a.horizontal]>u/2){let n=Math.min(u,"middle"===a.horizontal?t.middle:a.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,"middle"===a.horizontal?t.middle:a.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,u-e.left)}["left","middle","right"].forEach((e=>{Fa[`${e}#ltr`]=e,Fa[`${e}#rtl`]=e}));var Ya,Qa=F({name:"QMenu",inheritAttrs:!1,props:{...Nn,...zn,...Rt,...ea,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:$a},self:{type:String,validator:$a},offset:{type:Array,validator:Ba},scrollTarget:ra,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...qn,"click","escapeKey"],setup(e,{slots:t,emit:o,attrs:s}){let l,u,c,d=null,h=k(),{proxy:p}=h,{$q:f}=p,m=a(null),v=a(!1),b=i((()=>!0!==e.persistent&&!0!==e.noRouteDismiss)),_=It(e,f),{registerTick:y,removeTick:w}=na(),{registerTimeout:x}=aa(),{transitionProps:C,transitionStyle:E}=ta(e),{localScrollTarget:T,changeScrollEvent:A,unconfigureScrollTarget:M}=In(e,U),{anchorEl:P,canShow:L}=Rn({showing:v}),{hide:O}=Dn({showing:v,canShow:L,handleShow:function(t){if(d=!1===e.noRefocus?document.activeElement:null,Pa(W),N(),U(),l=void 0,void 0!==t&&(e.touchPosition||e.contextMenu)){let e=Q(t);if(void 0!==e.left){let{top:t,left:n}=P.value.getBoundingClientRect();l={left:e.left-n,top:e.top-t}}}void 0===u&&(u=r((()=>f.screen.width+"|"+f.screen.height+"|"+e.self+"|"+e.anchor+"|"+f.lang.rtl),K)),!0!==e.noFocus&&document.activeElement.blur(),y((()=>{K(),!0!==e.noFocus&&F()})),x((()=>{!0===f.platform.is.ios&&(c=e.autoClose,m.value.click()),K(),N(!0),o("show",t)}),e.transitionDuration)},handleHide:function(t){w(),R(),V(!0),null!==d&&(void 0===t||!0!==t.qClickOutside)&&(((t&&0===t.type.indexOf("key")?d.closest('[tabindex]:not([tabindex^="-"])'):void 0)||d).focus(),d=null),x((()=>{R(!0),o("hide",t)}),e.transitionDuration)},hideOnRouteChange:b,processOnMount:!0}),{showPortal:N,hidePortal:R,renderPortal:I}=Xn(h,m,(function(){return n(S,C.value,(()=>!0===v.value?n("div",{role:"menu",...s,ref:m,tabindex:-1,class:["q-menu q-position-engine scroll"+j.value,s.class],style:[s.style,E.value],...$.value},dt(t.default)):null))}),"menu"),z={anchorEl:P,innerRef:m,onClickOutside(t){if(!0!==e.persistent&&!0===v.value)return O(t),("touchstart"===t.type||t.target.classList.contains("q-dialog__backdrop"))&&J(t),!0}},q=i((()=>Va(e.anchor||(!0===e.cover?"center middle":"bottom start"),f.lang.rtl))),D=i((()=>!0===e.cover?q.value:Va(e.self||"top start",f.lang.rtl))),j=i((()=>(!0===e.square?" q-menu--square":"")+(!0===_.value?" q-menu--dark q-dark":""))),$=i((()=>!0===e.autoClose?{onClick:H}:{})),B=i((()=>!0===v.value&&!0!==e.persistent));function F(){Vn((()=>{let e=m.value;e&&!0!==e.contains(document.activeElement)&&(e=e.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||e.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||e.querySelector("[autofocus], [data-autofocus]")||e,e.focus({preventScroll:!0}))}))}function V(e){l=void 0,void 0!==u&&(u(),u=void 0),(!0===e||!0===v.value)&&(La(W),M(),ja(z),Ta(Y)),!0!==e&&(d=null)}function U(){(null!==P.value||void 0!==e.scrollTarget)&&(T.value=sa(P.value,e.scrollTarget),A(T.value,K))}function H(e){!0!==c?(Zn(p,e),o("click",e)):c=!1}function W(t){!0===B.value&&!0!==e.noFocus&&!0!==cn(m.value,t.target)&&F()}function Y(e){o("escapeKey"),O(e)}function K(){Ha({targetEl:m.value,offset:e.offset,anchorEl:P.value,anchorOrigin:q.value,selfOrigin:D.value,absoluteOffset:l,fit:e.fit,cover:e.cover,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}return r(B,(e=>{!0===e?(Ea(Y),Da(z)):(Ta(Y),ja(z))})),g(V),Object.assign(p,{focus:F,updatePosition:K}),I}}),Ka=0,Ga=new Array(256);for(let e=0;e<256;e++)Ga[e]=(e+256).toString(16).substring(1);var Za=(()=>{let e=typeof crypto<"u"?crypto:typeof window<"u"?window.crypto||window.msCrypto:void 0;if(void 0!==e){if(void 0!==e.randomBytes)return e.randomBytes;if(void 0!==e.getRandomValues)return t=>{let n=new Uint8Array(t);return e.getRandomValues(n),n}}return e=>{let t=[];for(let n=e;n>0;n--)t.push(Math.floor(256*Math.random()));return t}})(),Ja=4096;function Xa(){(void 0===Ya||Ka+16>Ja)&&(Ka=0,Ya=Za(Ja));let e=Array.prototype.slice.call(Ya,Ka,Ka+=16);return e[6]=15&e[6]|64,e[8]=63&e[8]|128,Ga[e[0]]+Ga[e[1]]+Ga[e[2]]+Ga[e[3]]+"-"+Ga[e[4]]+Ga[e[5]]+"-"+Ga[e[6]]+Ga[e[7]]+"-"+Ga[e[8]]+Ga[e[9]]+"-"+Ga[e[10]]+Ga[e[11]]+Ga[e[12]]+Ga[e[13]]+Ga[e[14]]+Ga[e[15]]}function ei(e,t){return e??(!0===t?`f_${Xa()}`:null)}function ti({getValue:e,required:t=!0}={}){if(!0===z.value){let n=a(void 0!==e?function(e){return e??null}(e()):null);return!0===t&&null===n.value&&m((()=>{n.value=`f_${Xa()}`})),void 0!==e&&r(e,(e=>{n.value=ei(e,t)})),n}return void 0!==e?i((()=>ei(e(),t))):a(`f_${Xa()}`)}var ni=Object.keys(xn);var ai=F({name:"QBtnDropdown",props:{...xn,...ea,modelValue:Boolean,split:Boolean,dropdownIcon:String,contentClass:[Array,String,Object],contentStyle:[Array,String,Object],cover:Boolean,persistent:Boolean,noRouteDismiss:Boolean,autoClose:Boolean,menuAnchor:{type:String,default:"bottom end"},menuSelf:{type:String,default:"top end"},menuOffset:Array,disableMainBtn:Boolean,disableDropdown:Boolean,noIconAnimation:Boolean,toggleAriaLabel:String},emits:["update:modelValue","click","beforeShow","show","beforeHide","hide"],setup(e,{slots:t,emit:o}){let{proxy:s}=k(),l=a(e.modelValue),u=a(null),c=ti(),d=i((()=>{let t={"aria-expanded":!0===l.value?"true":"false","aria-haspopup":"true","aria-controls":c.value,"aria-label":e.toggleAriaLabel||s.$q.lang.label[!0===l.value?"collapse":"expand"](e.label)};return(!0===e.disable||!1===e.split&&!0===e.disableMainBtn||!0===e.disableDropdown)&&(t["aria-disabled"]="true"),t})),h=i((()=>"q-btn-dropdown__arrow"+(!0===l.value&&!1===e.noIconAnimation?" rotate-180":"")+(!1===e.split?" q-btn-dropdown__arrow-container":""))),p=i((()=>kn(e))),f=i((()=>function(e){return ni.reduce(((t,n)=>{let a=e[n];return void 0!==a&&(t[n]=a),t}),{})}(e)));function g(e){l.value=!0,o("beforeShow",e)}function v(e){o("show",e),o("update:modelValue",!0)}function b(e){l.value=!1,o("beforeHide",e)}function _(e){o("hide",e),o("update:modelValue",!1)}function y(e){o("click",e)}function w(e){G(e),S(),o("click",e)}function x(e){null!==u.value&&u.value.show(e)}function S(e){null!==u.value&&u.value.hide(e)}return r((()=>e.modelValue),(e=>{null!==u.value&&u.value[e?"show":"hide"]()})),r((()=>e.split),S),Object.assign(s,{show:x,hide:S,toggle:function(e){null!==u.value&&u.value.toggle(e)}}),m((()=>{!0===e.modelValue&&x()})),()=>{let a=[n(Pt,{class:h.value,name:e.dropdownIcon||s.$q.iconSet.arrow.dropdown})];return!0!==e.disableDropdown&&a.push(n(Qa,{ref:u,id:c.value,class:e.contentClass,style:e.contentStyle,cover:e.cover,fit:!0,persistent:e.persistent,noRouteDismiss:e.noRouteDismiss,autoClose:e.autoClose,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,separateClosePopup:!0,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,onBeforeShow:g,onShow:v,onBeforeHide:b,onHide:_},t.default)),!1===e.split?n(Mn,{class:"q-btn-dropdown q-btn-dropdown--simple",...f.value,...d.value,disable:!0===e.disable||!0===e.disableMainBtn,noWrap:!0,round:!1,onClick:y},{default:()=>dt(t.label,[]).concat(a),loading:t.loading}):n(Pn,{class:"q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item",rounded:e.rounded,square:e.square,...p.value,glossy:e.glossy,stretch:e.stretch},(()=>[n(Mn,{class:"q-btn-dropdown--current",...f.value,disable:!0===e.disable||!0===e.disableMainBtn,noWrap:!0,round:!1,onClick:w},{default:t.label,loading:t.loading}),n(Mn,{class:"q-btn-dropdown__arrow-container q-anchor--skip",...d.value,...p.value,disable:!0===e.disable||!0===e.disableDropdown,rounded:e.rounded,color:e.color,textColor:e.textColor,dense:e.dense,size:e.size,padding:e.padding,ripple:e.ripple},(()=>a))]))}}}),ii={name:String};function ri(e){return i((()=>({type:"hidden",name:e.name,value:e.modelValue})))}function oi(e={}){return(t,a,i)=>{t[a](n("input",{class:"hidden"+(i||""),...e.value}))}}function si(e){return i((()=>e.name||e.for))}var li=F({name:"QBtnToggle",props:{...ii,modelValue:{required:!0},options:{type:Array,required:!0,validator:e=>e.every((e=>("label"in e||"icon"in e||"slot"in e)&&"value"in e))},color:String,textColor:String,toggleColor:{type:String,default:"primary"},toggleTextColor:String,outline:Boolean,flat:Boolean,unelevated:Boolean,rounded:Boolean,push:Boolean,glossy:Boolean,size:String,padding:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,readonly:Boolean,disable:Boolean,stack:Boolean,stretch:Boolean,spread:Boolean,clearable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","clear","click"],setup(e,{slots:t,emit:a}){let r=i((()=>void 0!==e.options.find((t=>t.value===e.modelValue)))),o=oi(i((()=>({type:"hidden",name:e.name,value:e.modelValue})))),s=i((()=>kn(e))),l=i((()=>({rounded:e.rounded,dense:e.dense,...s.value}))),u=i((()=>e.options.map(((t,n)=>{let{attrs:i,value:r,slot:o,...s}=t;return{slot:o,props:{key:n,"aria-pressed":r===e.modelValue?"true":"false",...i,...s,...l.value,disable:!0===e.disable||!0===s.disable,color:r===e.modelValue?c(s,"toggleColor"):c(s,"color"),textColor:r===e.modelValue?c(s,"toggleTextColor"):c(s,"textColor"),noCaps:!0===c(s,"noCaps"),noWrap:!0===c(s,"noWrap"),size:c(s,"size"),padding:c(s,"padding"),ripple:c(s,"ripple"),stack:!0===c(s,"stack"),stretch:!0===c(s,"stretch"),onClick(n){!function(t,n,i){!0!==e.readonly&&(e.modelValue===t?!0===e.clearable&&(a("update:modelValue",null,null),a("clear")):a("update:modelValue",t,n),a("click",i))}(r,t,n)}}}}))));function c(t,n){return void 0===t[n]?e[n]:t[n]}function d(){let a=u.value.map((e=>n(Mn,e.props,void 0!==e.slot?t[e.slot]:void 0)));return void 0!==e.name&&!0!==e.disable&&!0===r.value&&o(a,"push"),pt(t.default,a)}return()=>n(Pn,{class:"q-btn-toggle",...s.value,rounded:e.rounded,stretch:e.stretch,glossy:e.glossy,spread:e.spread},d)}}),ui=F({name:"QCard",props:{...Rt,tag:{type:String,default:"div"},square:Boolean,flat:Boolean,bordered:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=It(e,a),o=i((()=>"q-card"+(!0===r.value?" q-card--dark q-dark":"")+(!0===e.bordered?" q-card--bordered":"")+(!0===e.square?" q-card--square no-border-radius":"")+(!0===e.flat?" q-card--flat no-shadow":"")));return()=>n(e.tag,{class:o.value},dt(t.default))}}),ci=F({name:"QCardSection",props:{tag:{type:String,default:"div"},horizontal:Boolean},setup(e,{slots:t}){let a=i((()=>"q-card__section q-card__section--"+(!0===e.horizontal?"horiz row no-wrap":"vert")));return()=>n(e.tag,{class:a.value},dt(t.default))}}),di=F({name:"QCardActions",props:{...$t,vertical:Boolean},setup(e,{slots:t}){let a=Bt(e),r=i((()=>`q-card__actions ${a.value} q-card__actions--${!0===e.vertical?"vert column":"horiz row"}`));return()=>n("div",{class:r.value},dt(t.default))}}),hi={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},pi=Object.keys(hi);function fi(e){let t={};for(let n of pi)!0===e[n]&&(t[n]=!0);return 0===Object.keys(t).length?hi:(!0===t.horizontal?t.left=t.right=!0:!0===t.left&&!0===t.right&&(t.horizontal=!0),!0===t.vertical?t.up=t.down=!0:!0===t.up&&!0===t.down&&(t.vertical=!0),!0===t.horizontal&&!0===t.vertical&&(t.all=!0),t)}hi.all=!0;var mi=["INPUT","TEXTAREA"];function gi(e,t){return void 0===t.event&&void 0!==e.target&&!0!==e.target.draggable&&"function"==typeof t.handler&&!1===mi.includes(e.target.nodeName.toUpperCase())&&(void 0===e.qClonedBy||-1===e.qClonedBy.indexOf(t.uid))}function vi(e){let t=[.06,6,50];return"string"==typeof e&&e.length&&e.split(":").forEach(((e,n)=>{let a=parseFloat(e);a&&(t[n]=a)})),t}var bi=V({name:"touch-swipe",beforeMount(e,{value:t,arg:n,modifiers:a}){if(!0!==a.mouse&&!0!==j.has.touch)return;let i=!0===a.mouseCapture?"Capture":"",r={handler:t,sensitivity:vi(n),direction:fi(a),noop:W,mouseStart(e){gi(e,r)&&Y(e)&&(ee(r,"temp",[[document,"mousemove","move",`notPassive${i}`],[document,"mouseup","end","notPassiveCapture"]]),r.start(e,!0))},touchStart(e){if(gi(e,r)){let t=e.target;ee(r,"temp",[[t,"touchmove","move","notPassiveCapture"],[t,"touchcancel","end","notPassiveCapture"],[t,"touchend","end","notPassiveCapture"]]),r.start(e)}},start(t,n){!0===j.is.firefox&&X(e,!0);let a=Q(t);r.event={x:a.left,y:a.top,time:Date.now(),mouse:!0===n,dir:!1}},move(e){if(void 0===r.event)return;if(!1!==r.event.dir)return void J(e);let t=Date.now()-r.event.time;if(0===t)return;let n=Q(e),a=n.left-r.event.x,i=Math.abs(a),o=n.top-r.event.y,s=Math.abs(o);if(!0!==r.event.mouse){if(ir.sensitivity[0]&&(r.event.dir=o<0?"up":"down"),!0===r.direction.horizontal&&i>s&&s<100&&l>r.sensitivity[0]&&(r.event.dir=a<0?"left":"right"),!0===r.direction.up&&ir.sensitivity[0]&&(r.event.dir="up"),!0===r.direction.down&&i0&&i<100&&u>r.sensitivity[0]&&(r.event.dir="down"),!0===r.direction.left&&i>s&&a<0&&s<100&&l>r.sensitivity[0]&&(r.event.dir="left"),!0===r.direction.right&&i>s&&a>0&&s<100&&l>r.sensitivity[0]&&(r.event.dir="right"),!1!==r.event.dir?(J(e),!0===r.event.mouse&&(document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Ln(),r.styleCleanup=e=>{r.styleCleanup=void 0,document.body.classList.remove("non-selectable");let t=()=>{document.body.classList.remove("no-pointer-events--children")};!0===e?setTimeout(t,50):t()}),r.handler({evt:e,touch:!0!==r.event.mouse,mouse:r.event.mouse,direction:r.event.dir,duration:t,distance:{x:i,y:s}})):r.end(e)},end(t){void 0!==r.event&&(te(r,"temp"),!0===j.is.firefox&&X(e,!1),void 0!==r.styleCleanup&&r.styleCleanup(!0),void 0!==t&&!1!==r.event.dir&&J(t),r.event=void 0)}};if(e.__qtouchswipe=r,!0===a.mouse){let t=!0===a.mouseCapture||!0===a.mousecapture?"Capture":"";ee(r,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===j.has.touch&&ee(r,"main",[[e,"touchstart","touchStart","passive"+(!0===a.capture?"Capture":"")],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){let n=e.__qtouchswipe;void 0!==n&&(t.oldValue!==t.value&&("function"!=typeof t.value&&n.end(),n.handler=t.value),n.direction=fi(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;void 0!==t&&(te(t,"main"),te(t,"temp"),!0===j.is.firefox&&X(e,!1),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchswipe)}});function _i(){let e=Object.create(null);return{getCache:(t,n)=>void 0===e[t]?e[t]="function"==typeof n?n():n:e[t],setCache(t,n){e[t]=n},hasCache:t=>Object.hasOwnProperty.call(e,t),clearCache(t){void 0!==t?delete e[t]:e=Object.create(null)}}}var yi={name:{required:!0},disable:Boolean},wi={setup:(e,{slots:t})=>()=>n("div",{class:"q-panel scroll",role:"tabpanel"},dt(t.default))},ki={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},xi=["update:modelValue","beforeTransition","transition"];function Si(){let e,t,{props:o,emit:s,proxy:l}=k(),{getCache:u}=_i(),{registerTimeout:c}=aa(),d=a(null),h=a(null);function p(e){let t=!0===o.vertical?"up":"left";P((!0===l.$q.lang.rtl?-1:1)*(e.direction===t?1:-1))}let f=i((()=>[[bi,p,void 0,{horizontal:!0!==o.vertical,vertical:o.vertical,mouse:!0}]])),m=i((()=>o.transitionPrev||"slide-"+(!0===o.vertical?"down":"right"))),g=i((()=>o.transitionNext||"slide-"+(!0===o.vertical?"up":"left"))),v=i((()=>`--q-transition-duration: ${o.transitionDuration}ms`)),b=i((()=>"string"==typeof o.modelValue||"number"==typeof o.modelValue?o.modelValue:String(o.modelValue))),_=i((()=>({include:o.keepAliveInclude,exclude:o.keepAliveExclude,max:o.keepAliveMax}))),y=i((()=>void 0!==o.keepAliveInclude||void 0!==o.keepAliveExclude));function w(){P(1)}function x(){P(-1)}function C(e){s("update:modelValue",e)}function T(e){return null!=e&&""!==e}function A(t){return e.findIndex((e=>e.props.name===t&&""!==e.props.disable&&!0!==e.props.disable))}function M(e){let t=0!==e&&!0===o.animated&&-1!==d.value?"q-transition--"+(-1===e?m.value:g.value):null;h.value!==t&&(h.value=t)}function P(n,a=d.value){let i=a+n;for(;-1!==i&&i{t=!1}));i+=n}!0===o.infinite&&0!==e.length&&-1!==a&&a!==e.length&&P(n,-1===n?e.length:-1)}function L(){let e=A(o.modelValue);return d.value!==e&&(d.value=e),!0}function O(){let t=!0===T(o.modelValue)&&L()&&e[d.value];return!0===o.keepAlive?[n(E,_.value,[n(!0===y.value?u(b.value,(()=>({...wi,name:b.value}))):wi,{key:b.value,style:v.value},(()=>t))])]:[n("div",{class:"q-panel scroll",style:v.value,key:b.value,role:"tabpanel"},[t])]}return r((()=>o.modelValue),((e,n)=>{let a=!0===T(e)?A(e):-1;!0!==t&&M(-1===a?0:a{s("transition",e,n)}),o.transitionDuration))})),Object.assign(l,{next:w,previous:x,goTo:C}),{panelIndex:d,panelDirectives:f,updatePanelsList:function(t){return e=Ut(dt(t.default,[])).filter((e=>null!==e.props&&void 0===e.props.slot&&!0===T(e.props.name))),e.length},updatePanelIndex:L,getPanelContent:function(){if(0!==e.length)return!0===o.animated?[n(S,{name:h.value},O)]:O()},getEnabledPanels:function(){return e.filter((e=>""!==e.props.disable&&!0!==e.props.disable))},getPanels:function(){return e},isValidPanelName:T,keepAliveProps:_,needsUniqueKeepAliveWrapper:y,goToPanelByOffset:P,goToPanel:C,nextPanel:w,previousPanel:x}}var Ci=0,Ei={fullscreen:Boolean,noRouteFullscreenExit:Boolean},Ti=["update:fullscreen","fullscreen"];function Ai(){let e,t,n,i=k(),{props:o,emit:s,proxy:l}=i,u=a(!1);function c(){!0===u.value?h():d()}function d(){!0!==u.value&&(u.value=!0,n=l.$el.parentNode,n.replaceChild(t,l.$el),document.body.appendChild(l.$el),1===++Ci&&document.body.classList.add("q-body--fullscreen-mixin"),e={handler:h},_e.add(e))}function h(){!0===u.value&&(void 0!==e&&(_e.remove(e),e=void 0),n.replaceChild(l.$el,t),u.value=!1,0===(Ci=Math.max(0,Ci-1))&&(document.body.classList.remove("q-body--fullscreen-mixin"),void 0!==l.$el.scrollIntoView&&setTimeout((()=>{l.$el.scrollIntoView()}))))}return!0===Ht(i)&&r((()=>l.$route.fullPath),(()=>{!0!==o.noRouteFullscreenExit&&h()})),r((()=>o.fullscreen),(e=>{u.value!==e&&c()})),r(u,(e=>{s("update:fullscreen",e),s("fullscreen",e)})),f((()=>{t=document.createElement("span")})),m((()=>{!0===o.fullscreen&&d()})),g(h),Object.assign(l,{toggleFullscreen:c,setFullscreen:d,exitFullscreen:h}),{inFullscreen:u,toggleFullscreen:c}}var Mi=["top","right","bottom","left"],Pi=["regular","flat","outline","push","unelevated"],Li=F({name:"QCarousel",props:{...Rt,...ki,...Ei,transitionPrev:{type:String,default:"fade"},transitionNext:{type:String,default:"fade"},height:String,padding:Boolean,controlColor:String,controlTextColor:String,controlType:{type:String,validator:e=>Pi.includes(e),default:"flat"},autoplay:[Number,Boolean],arrows:Boolean,prevIcon:String,nextIcon:String,navigation:Boolean,navigationPosition:{type:String,validator:e=>Mi.includes(e)},navigationIcon:String,navigationActiveIcon:String,thumbnails:Boolean},emits:[...Ti,...xi],setup(e,{slots:t}){let a,{proxy:{$q:o}}=k(),s=It(e,o),l=null,{updatePanelsList:u,getPanelContent:c,panelDirectives:d,goToPanel:h,previousPanel:p,nextPanel:f,getEnabledPanels:v,panelIndex:b}=Si(),{inFullscreen:_}=Ai(),y=i((()=>!0!==_.value&&void 0!==e.height?{height:e.height}:{})),w=i((()=>!0===e.vertical?"vertical":"horizontal")),x=i((()=>e.navigationPosition||(!0===e.vertical?"right":"bottom"))),S=i((()=>`q-carousel q-panel-parent q-carousel--with${!0===e.padding?"":"out"}-padding`+(!0===_.value?" fullscreen":"")+(!0===s.value?" q-carousel--dark q-dark":"")+(!0===e.arrows?` q-carousel--arrows-${w.value}`:"")+(!0===e.navigation?` q-carousel--navigation-${x.value}`:""))),C=i((()=>{let t=[e.prevIcon||o.iconSet.carousel[!0===e.vertical?"up":"left"],e.nextIcon||o.iconSet.carousel[!0===e.vertical?"down":"right"]];return!1===e.vertical&&!0===o.lang.rtl?t.reverse():t})),E=i((()=>e.navigationIcon||o.iconSet.carousel.navigationIcon)),T=i((()=>e.navigationActiveIcon||E.value)),A=i((()=>({color:e.controlColor,textColor:e.controlTextColor,round:!0,[e.controlType]:!0,dense:!0})));function M(){let t=!0===Fe(e.autoplay)?Math.abs(e.autoplay):5e3;null!==l&&clearTimeout(l),l=setTimeout((()=>{l=null,t>=0?f():p()}),t)}function P(t,a){return n("div",{class:`q-carousel__control q-carousel__navigation no-wrap absolute flex q-carousel__navigation--${t} q-carousel__navigation--${x.value}`+(void 0!==e.controlColor?` text-${e.controlColor}`:"")},[n("div",{class:"q-carousel__navigation-inner flex flex-center no-wrap"},v().map(a))])}return r((()=>e.modelValue),(()=>{e.autoplay&&M()})),r((()=>e.autoplay),(e=>{e?M():null!==l&&(clearTimeout(l),l=null)})),m((()=>{e.autoplay&&M()})),g((()=>{null!==l&&clearTimeout(l)})),()=>(a=u(t),n("div",{class:S.value,style:y.value},[mt("div",{class:"q-carousel__slides-container"},c(),"sl-cont",e.swipeable,(()=>d.value))].concat(function(){let i=[];if(!0===e.navigation){let e=void 0!==t["navigation-icon"]?t["navigation-icon"]:e=>n(Mn,{key:"nav"+e.name,class:`q-carousel__navigation-icon q-carousel__navigation-icon--${!0===e.active?"":"in"}active`,...e.btnProps,onClick:e.onClick}),r=a-1;i.push(P("buttons",((t,n)=>{let a=t.props.name,i=b.value===n;return e({index:n,maxIndex:r,name:a,active:i,btnProps:{icon:!0===i?T.value:E.value,size:"sm",...A.value},onClick:()=>{h(a)}})})))}else if(!0===e.thumbnails){let t=void 0!==e.controlColor?` text-${e.controlColor}`:"";i.push(P("thumbnails",(a=>{let i=a.props;return n("img",{key:"tmb#"+i.name,class:`q-carousel__thumbnail q-carousel__thumbnail--${i.name===e.modelValue?"":"in"}active`+t,src:i.imgSrc||i["img-src"],onClick:()=>{h(i.name)}})})))}return!0===e.arrows&&b.value>=0&&((!0===e.infinite||b.value>0)&&i.push(n("div",{key:"prev",class:`q-carousel__control q-carousel__arrow q-carousel__prev-arrow q-carousel__prev-arrow--${w.value} absolute flex flex-center`},[n(Mn,{icon:C.value[0],...A.value,onClick:p})])),(!0===e.infinite||b.valuee.imgSrc?{backgroundImage:`url("${e.imgSrc}")`}:{}));return()=>n("div",{class:"q-carousel__slide",style:a.value},dt(t.default))}}),Ni=F({name:"QCarouselControl",props:{position:{type:String,default:"bottom-right",validator:e=>["top-right","top-left","bottom-right","bottom-left","top","right","bottom","left"].includes(e)},offset:{type:Array,default:()=>[18,18],validator:e=>2===e.length}},setup(e,{slots:t}){let a=i((()=>`q-carousel__control absolute absolute-${e.position}`)),r=i((()=>({margin:`${e.offset[1]}px ${e.offset[0]}px`})));return()=>n("div",{class:a.value,style:r.value},dt(t.default))}}),Ri=F({name:"QChatMessage",props:{sent:Boolean,label:String,bgColor:String,textColor:String,name:String,avatar:String,text:Array,stamp:String,size:String,labelHtml:Boolean,nameHtml:Boolean,textHtml:Boolean,stampHtml:Boolean},setup(e,{slots:t}){let a=i((()=>!0===e.sent?"sent":"received")),r=i((()=>`q-message-text-content q-message-text-content--${a.value}`+(void 0!==e.textColor?` text-${e.textColor}`:""))),o=i((()=>`q-message-text q-message-text--${a.value}`+(void 0!==e.bgColor?` text-${e.bgColor}`:""))),s=i((()=>"q-message-container row items-end no-wrap"+(!0===e.sent?" reverse":""))),l=i((()=>void 0!==e.size?`col-${e.size}`:"")),u=i((()=>({msg:!0===e.textHtml?"innerHTML":"textContent",stamp:!0===e.stampHtml?"innerHTML":"textContent",name:!0===e.nameHtml?"innerHTML":"textContent",label:!0===e.labelHtml?"innerHTML":"textContent"})));function c(a){return void 0!==t.stamp?[a,n("div",{class:"q-message-stamp"},t.stamp())]:e.stamp?[a,n("div",{class:"q-message-stamp",[u.value.stamp]:e.stamp})]:[a]}function d(e,t){let a=!0===t?e.length>1?e=>e:e=>n("div",[e]):e=>n("div",{[u.value.msg]:e});return e.map(((e,t)=>n("div",{key:t,class:o.value},[n("div",{class:r.value},c(a(e)))])))}return()=>{let i=[];void 0!==t.avatar?i.push(t.avatar()):void 0!==e.avatar&&i.push(n("img",{class:`q-message-avatar q-message-avatar--${a.value}`,src:e.avatar,"aria-hidden":"true"}));let r=[];void 0!==t.name?r.push(n("div",{class:`q-message-name q-message-name--${a.value}`},t.name())):void 0!==e.name&&r.push(n("div",{class:`q-message-name q-message-name--${a.value}`,[u.value.name]:e.name})),void 0!==t.default?r.push(d(Ut(t.default()),!0)):void 0!==e.text&&r.push(d(e.text)),i.push(n("div",{class:l.value},r));let o=[];return void 0!==t.label?o.push(n("div",{class:"q-message-label"},t.label())):void 0!==e.label&&o.push(n("div",{class:"q-message-label",[u.value.label]:e.label})),o.push(n("div",{class:s.value},i)),n("div",{class:`q-message q-message-${a.value}`},o)}}});function Ii(e,t){let r=a(null);return{refocusTargetEl:i((()=>!0===e.disable?null:n("span",{ref:r,class:"no-outline",tabindex:-1}))),refocusTarget:function(e){let n=t.value;void 0!==e&&0===e.type.indexOf("key")?null!==n&&document.activeElement!==n&&!0===n.contains(document.activeElement)&&n.focus():null!==r.value&&(void 0===e||null!==n&&!0===n.contains(e.target))&&r.value.focus()}}}var zi={xs:30,sm:35,md:40,lg:50,xl:60},qi={...Rt,...ut,...ii,modelValue:{required:!0,default:null},val:{},trueValue:{default:!0},falseValue:{default:!1},indeterminateValue:{default:null},checkedIcon:String,uncheckedIcon:String,indeterminateIcon:String,toggleOrder:{type:String,validator:e=>"tf"===e||"ft"===e},toggleIndeterminate:Boolean,label:String,leftLabel:Boolean,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},Di=["update:modelValue"];function ji(e,t){let{props:r,slots:o,emit:l,proxy:u}=k(),{$q:c}=u,d=It(r,c),h=a(null),{refocusTargetEl:p,refocusTarget:f}=Ii(r,h),m=ct(r,zi),g=i((()=>void 0!==r.val&&Array.isArray(r.modelValue))),v=i((()=>{let e=s(r.val);return!0===g.value?r.modelValue.findIndex((t=>s(t)===e)):-1})),b=i((()=>!0===g.value?-1!==v.value:s(r.modelValue)===s(r.trueValue))),_=i((()=>!0===g.value?-1===v.value:s(r.modelValue)===s(r.falseValue))),y=i((()=>!1===b.value&&!1===_.value)),w=i((()=>!0===r.disable?-1:r.tabindex||0)),x=i((()=>`q-${e} cursor-pointer no-outline row inline no-wrap items-center`+(!0===r.disable?" disabled":"")+(!0===d.value?` q-${e}--dark`:"")+(!0===r.dense?` q-${e}--dense`:"")+(!0===r.leftLabel?" reverse":""))),S=i((()=>{let t=!0===b.value?"truthy":!0===_.value?"falsy":"indet",n=void 0===r.color||!0!==r.keepColor&&("toggle"===e?!0!==b.value:!0===_.value)?"":` text-${r.color}`;return`q-${e}__inner relative-position non-selectable q-${e}__inner--${t}${n}`})),C=oi(i((()=>{let e={type:"checkbox"};return void 0!==r.name&&Object.assign(e,{".checked":b.value,"^checked":!0===b.value?"checked":void 0,name:r.name,value:!0===g.value?r.val:r.trueValue}),e}))),E=i((()=>{let t={tabindex:w.value,role:"toggle"===e?"switch":"checkbox","aria-label":r.label,"aria-checked":!0===y.value?"mixed":!0===b.value?"true":"false"};return!0===r.disable&&(t["aria-disabled"]="true"),t}));function T(e){void 0!==e&&(J(e),f(e)),!0!==r.disable&&l("update:modelValue",function(){if(!0===g.value){if(!0===b.value){let e=r.modelValue.slice();return e.splice(v.value,1),e}return r.modelValue.concat([r.val])}if(!0===b.value){if("ft"!==r.toggleOrder||!1===r.toggleIndeterminate)return r.falseValue}else{if(!0!==_.value)return"ft"!==r.toggleOrder?r.trueValue:r.falseValue;if("ft"===r.toggleOrder||!1===r.toggleIndeterminate)return r.trueValue}return r.indeterminateValue}(),e)}function A(e){(13===e.keyCode||32===e.keyCode)&&J(e)}function M(e){(13===e.keyCode||32===e.keyCode)&&T(e)}let P=t(b,y);return Object.assign(u,{toggle:T}),()=>{let t=P();!0!==r.disable&&C(t,"unshift",` q-${e}__native absolute q-ma-none q-pa-none`);let a=[n("div",{class:S.value,style:m.value,"aria-hidden":"true"},t)];null!==p.value&&a.push(p.value);let i=void 0!==r.label?pt(o.default,[r.label]):dt(o.default);return void 0!==i&&a.push(n("div",{class:`q-${e}__label q-anchor--skip`},i)),n("div",{ref:h,class:x.value,...E.value,onClick:T,onKeydown:A,onKeyup:M},a)}}var $i=F({name:"QCheckbox",props:qi,emits:Di,setup(e){let t=n("div",{key:"svg",class:"q-checkbox__bg absolute"},[n("svg",{class:"q-checkbox__svg fit absolute-full",viewBox:"0 0 24 24"},[n("path",{class:"q-checkbox__truthy",fill:"none",d:"M1.73,12.91 8.1,19.28 22.79,4.59"}),n("path",{class:"q-checkbox__indet",d:"M4,14H20V10H4"})])]);return ji("checkbox",(function(a,r){let o=i((()=>(!0===a.value?e.checkedIcon:!0===r.value?e.indeterminateIcon:e.uncheckedIcon)||null));return()=>null!==o.value?[n("div",{key:"icon",class:"q-checkbox__icon-container absolute-full flex flex-center no-wrap"},[n(Pt,{class:"q-checkbox__icon",name:o.value})])]:[t]}))}}),Bi={xs:8,sm:10,md:14,lg:20,xl:24},Fi=F({name:"QChip",props:{...Rt,...ut,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:["update:modelValue","update:selected","remove","click"],setup(e,{slots:t,emit:a}){let{proxy:{$q:r}}=k(),o=It(e,r),s=ct(e,Bi),l=i((()=>!0===e.selected||void 0!==e.icon)),u=i((()=>!0===e.selected?e.iconSelected||r.iconSet.chip.selected:e.icon)),c=i((()=>e.iconRemove||r.iconSet.chip.remove)),d=i((()=>!1===e.disable&&(!0===e.clickable||null!==e.selected))),h=i((()=>{let t=!0===e.outline&&e.color||e.textColor;return"q-chip row inline no-wrap items-center"+(!1===e.outline&&void 0!==e.color?` bg-${e.color}`:"")+(t?` text-${t} q-chip--colored`:"")+(!0===e.disable?" disabled":"")+(!0===e.dense?" q-chip--dense":"")+(!0===e.outline?" q-chip--outline":"")+(!0===e.selected?" q-chip--selected":"")+(!0===d.value?" q-chip--clickable cursor-pointer non-selectable q-hoverable":"")+(!0===e.square?" q-chip--square":"")+(!0===o.value?" q-chip--dark q-dark":"")})),p=i((()=>{let t=!0===e.disable?{tabindex:-1,"aria-disabled":"true"}:{tabindex:e.tabindex||0};return{chip:t,remove:{...t,role:"button","aria-hidden":"false","aria-label":e.removeAriaLabel||r.lang.label.remove}}}));function f(e){13===e.keyCode&&m(e)}function m(t){e.disable||(a("update:selected",!e.selected),a("click",t))}function g(t){(void 0===t.keyCode||13===t.keyCode)&&(J(t),!1===e.disable&&(a("update:modelValue",!1),a("remove")))}return()=>{if(!1===e.modelValue)return;let a={class:h.value,style:s.value};return!0===d.value&&Object.assign(a,p.value.chip,{onClick:m,onKeyup:f}),mt("div",a,function(){let a=[];!0===d.value&&a.push(n("div",{class:"q-focus-helper"})),!0===l.value&&a.push(n(Pt,{class:"q-chip__icon q-chip__icon--left",name:u.value}));let i=void 0!==e.label?[n("div",{class:"ellipsis"},[e.label])]:void 0;return a.push(n("div",{class:"q-chip__content col row no-wrap items-center q-anchor--skip"},ft(t.default,i))),e.iconRight&&a.push(n(Pt,{class:"q-chip__icon q-chip__icon--right",name:e.iconRight})),!0===e.removable&&a.push(n(Pt,{class:"q-chip__icon q-chip__icon--remove cursor-pointer",name:c.value,...p.value.remove,onClick:g,onKeyup:g})),a}(),"ripple",!1!==e.ripple&&!0!==e.disable,(()=>[[mn,e.ripple]]))}}}),Vi={...ut,min:{type:Number,default:0},max:{type:Number,default:100},color:String,centerColor:String,trackColor:String,fontSize:String,rounded:Boolean,thickness:{type:Number,default:.2,validator:e=>e>=0&&e<=1},angle:{type:Number,default:0},showValue:Boolean,reverse:Boolean,instantFeedback:Boolean},Ui=100*Math.PI,Hi=Math.round(1e3*Ui)/1e3,Wi=F({name:"QCircularProgress",props:{...Vi,value:{type:Number,default:0},animationSpeed:{type:[String,Number],default:600},indeterminate:Boolean},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=ct(e),o=i((()=>{let t=(!0===a.lang.rtl?-1:1)*e.angle;return{transform:e.reverse!==(!0===a.lang.rtl)?`scale3d(-1, 1, 1) rotate3d(0, 0, 1, ${-90-t}deg)`:`rotate3d(0, 0, 1, ${t-90}deg)`}})),s=i((()=>!0!==e.instantFeedback&&!0!==e.indeterminate?{transition:`stroke-dashoffset ${e.animationSpeed}ms ease 0s, stroke ${e.animationSpeed}ms ease`}:"")),l=i((()=>100/(1-e.thickness/2))),u=i((()=>`${l.value/2} ${l.value/2} ${l.value} ${l.value}`)),c=i((()=>Je(e.value,e.min,e.max))),d=i((()=>e.max-e.min)),h=i((()=>e.thickness/2*l.value)),p=i((()=>{let t=(e.max-c.value)/d.value,n=!0===e.rounded&&c.value{let a=[];void 0!==e.centerColor&&"transparent"!==e.centerColor&&a.push(n("circle",{class:`q-circular-progress__center text-${e.centerColor}`,fill:"currentColor",r:50-h.value/2,cx:l.value,cy:l.value})),void 0!==e.trackColor&&"transparent"!==e.trackColor&&a.push(f({cls:"track",thickness:h.value,offset:0,color:e.trackColor})),a.push(f({cls:"circle",thickness:h.value,offset:p.value,color:e.color,rounded:!0===e.rounded?"round":void 0}));let i=[n("svg",{class:"q-circular-progress__svg",style:o.value,viewBox:u.value,"aria-hidden":"true"},a)];return!0===e.showValue&&i.push(n("div",{class:"q-circular-progress__text absolute-full row flex-center content-center",style:{fontSize:e.fontSize}},void 0!==t.default?t.default():[n("div",c.value)])),n("div",{class:`q-circular-progress q-circular-progress--${!0===e.indeterminate?"in":""}determinate`,style:r.value,role:"progressbar","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":!0===e.indeterminate?void 0:c.value},ft(t.internal,i))}}});function Yi(e,t,n){let a,i=Q(e),r=i.left-t.event.x,o=i.top-t.event.y,s=Math.abs(r),l=Math.abs(o),u=t.direction;!0===u.horizontal&&!0!==u.vertical?a=r<0?"left":"right":!0!==u.horizontal&&!0===u.vertical?a=o<0?"up":"down":!0===u.up&&o<0?(a="up",s>l&&(!0===u.left&&r<0?a="left":!0===u.right&&r>0&&(a="right"))):!0===u.down&&o>0?(a="down",s>l&&(!0===u.left&&r<0?a="left":!0===u.right&&r>0&&(a="right"))):!0===u.left&&r<0?(a="left",s0&&(a="down"))):!0===u.right&&r>0&&(a="right",s0&&(a="down")));let c=!1;if(void 0===a&&!1===n){if(!0===t.event.isFirst||void 0===t.event.lastDir)return{};a=t.event.lastDir,c=!0,"left"===a||"right"===a?(i.left-=r,s=0,r=0):(i.top-=o,l=0,o=0)}return{synthetic:c,payload:{evt:e,touch:!0!==t.event.mouse,mouse:!0===t.event.mouse,position:i,direction:a,isFirst:t.event.isFirst,isFinal:!0===n,duration:Date.now()-t.event.time,distance:{x:s,y:l},offset:{x:r,y:o},delta:{x:i.left-t.event.lastX,y:i.top-t.event.lastY}}}}var Qi=0,Ki=V({name:"touch-pan",beforeMount(e,{value:t,modifiers:n}){if(!0!==n.mouse&&!0!==j.has.touch)return;function a(e,t){!0===n.mouse&&!0===t?J(e):(!0===n.stop&&G(e),!0===n.prevent&&Z(e))}let i={uid:"qvtp_"+Qi++,handler:t,modifiers:n,direction:fi(n),noop:W,mouseStart(e){gi(e,i)&&Y(e)&&(ee(i,"temp",[[document,"mousemove","move","notPassiveCapture"],[document,"mouseup","end","passiveCapture"]]),i.start(e,!0))},touchStart(e){if(gi(e,i)){let t=e.target;ee(i,"temp",[[t,"touchmove","move","notPassiveCapture"],[t,"touchcancel","end","passiveCapture"],[t,"touchend","end","passiveCapture"]]),i.start(e)}},start(t,a){if(!0===j.is.firefox&&X(e,!0),i.lastEvt=t,!0===a||!0===n.stop){if(!0!==i.direction.all&&(!0!==a||!0!==i.modifiers.mouseAllDir&&!0!==i.modifiers.mousealldir)){let e=-1!==t.type.indexOf("mouse")?new MouseEvent(t.type,t):new TouchEvent(t.type,t);!0===t.defaultPrevented&&Z(e),!0===t.cancelBubble&&G(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:void 0===t.qClonedBy?[i.uid]:t.qClonedBy.concat(i.uid)}),i.initialEvent={target:t.target,event:e}}G(t)}let{left:r,top:o}=Q(t);i.event={x:r,y:o,time:Date.now(),mouse:!0===a,detected:!1,isFirst:!0,isFinal:!1,lastX:r,lastY:o}},move(e){if(void 0===i.event)return;let t=Q(e),r=t.left-i.event.x,o=t.top-i.event.y;if(0===r&&0===o)return;i.lastEvt=e;let s=!0===i.event.mouse,l=()=>{let t;a(e,s),!0!==n.preserveCursor&&!0!==n.preservecursor&&(t=document.documentElement.style.cursor||"",document.documentElement.style.cursor="grabbing"),!0===s&&document.body.classList.add("no-pointer-events--children"),document.body.classList.add("non-selectable"),Ln(),i.styleCleanup=e=>{if(i.styleCleanup=void 0,void 0!==t&&(document.documentElement.style.cursor=t),document.body.classList.remove("non-selectable"),!0===s){let t=()=>{document.body.classList.remove("no-pointer-events--children")};void 0!==e?setTimeout((()=>{t(),e()}),50):t()}else void 0!==e&&e()}};if(!0===i.event.detected){!0!==i.event.isFirst&&a(e,i.event.mouse);let{payload:t,synthetic:n}=Yi(e,i,!1);return void(void 0!==t&&(!1===i.handler(t)?i.end(e):(void 0===i.styleCleanup&&!0===i.event.isFirst&&l(),i.event.lastX=t.position.left,i.event.lastY=t.position.top,i.event.lastDir=!0===n?void 0:t.direction,i.event.isFirst=!1)))}if(!0===i.direction.all||!0===s&&(!0===i.modifiers.mouseAllDir||!0===i.modifiers.mousealldir))return l(),i.event.detected=!0,void i.move(e);let u=Math.abs(r),c=Math.abs(o);u!==c&&(!0===i.direction.horizontal&&u>c||!0===i.direction.vertical&&u0||!0===i.direction.left&&u>c&&r<0||!0===i.direction.right&&u>c&&r>0?(i.event.detected=!0,i.move(e)):i.end(e,!0))},end(t,n){if(void 0!==i.event){if(te(i,"temp"),!0===j.is.firefox&&X(e,!1),!0===n)void 0!==i.styleCleanup&&i.styleCleanup(),!0!==i.event.detected&&void 0!==i.initialEvent&&i.initialEvent.target.dispatchEvent(i.initialEvent.event);else if(!0===i.event.detected){!0===i.event.isFirst&&i.handler(Yi(void 0===t?i.lastEvt:t,i).payload);let{payload:e}=Yi(void 0===t?i.lastEvt:t,i,!0),n=()=>{i.handler(e)};void 0!==i.styleCleanup?i.styleCleanup(n):n()}i.event=void 0,i.initialEvent=void 0,i.lastEvt=void 0}}};if(e.__qtouchpan=i,!0===n.mouse){let t=!0===n.mouseCapture||!0===n.mousecapture?"Capture":"";ee(i,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===j.has.touch&&ee(i,"main",[[e,"touchstart","touchStart","passive"+(!0===n.capture?"Capture":"")],[e,"touchmove","noop","notPassiveCapture"]])},updated(e,t){let n=e.__qtouchpan;void 0!==n&&(t.oldValue!==t.value&&("function"!=typeof value&&n.end(),n.handler=t.value),n.direction=fi(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;void 0!==t&&(void 0!==t.event&&t.end(),te(t,"main"),te(t,"temp"),!0===j.is.firefox&&X(e,!1),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchpan)}}),Gi="q-slider__marker-labels",Zi=e=>({value:e}),Ji=({marker:e})=>n("div",{key:e.value,style:e.style,class:e.classes},e.label),Xi=[34,37,40,33,39,38],er={...Rt,...ii,min:{type:Number,default:0},max:{type:Number,default:100},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},snap:Boolean,vertical:Boolean,reverse:Boolean,color:String,markerLabelsClass:String,label:Boolean,labelColor:String,labelTextColor:String,labelAlways:Boolean,switchLabelSide:Boolean,markers:[Boolean,Number],markerLabels:[Boolean,Array,Object,Function],switchMarkerLabelsSide:Boolean,trackImg:String,trackColor:String,innerTrackImg:String,innerTrackColor:String,selectionColor:String,selectionImg:String,thumbSize:{type:String,default:"20px"},trackSize:{type:String,default:"4px"},disable:Boolean,readonly:Boolean,dense:Boolean,tabindex:[String,Number],thumbColor:String,thumbPath:{type:String,default:"M 4, 10 a 6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"}},tr=["pan","update:modelValue","change"];function nr({updateValue:e,updatePosition:t,getDragging:r,formAttrs:o}){let{props:s,emit:l,slots:u,proxy:{$q:c}}=k(),d=It(s,c),h=oi(o),p=a(!1),f=a(!1),m=a(!1),v=a(!1),b=i((()=>!0===s.vertical?"--v":"--h")),_=i((()=>"-"+(!0===s.switchLabelSide?"switched":"standard"))),y=i((()=>!0===s.vertical?!0===s.reverse:s.reverse!==(!0===c.lang.rtl))),w=i((()=>!0===isNaN(s.innerMin)||s.innerMin!0===isNaN(s.innerMax)||s.innerMax>s.max?s.max:s.innerMax)),S=i((()=>!0!==s.disable&&!0!==s.readonly&&w.value{if(0===s.step)return e=>e;let e=(String(s.step).trim().split(".")[1]||"").length;return t=>parseFloat(t.toFixed(e))})),E=i((()=>0===s.step?1:s.step)),T=i((()=>!0===S.value?s.tabindex||0:-1)),A=i((()=>s.max-s.min)),M=i((()=>x.value-w.value)),P=i((()=>J(w.value))),L=i((()=>J(x.value))),O=i((()=>!0===s.vertical?!0===y.value?"bottom":"top":!0===y.value?"right":"left")),N=i((()=>!0===s.vertical?"height":"width")),R=i((()=>!0===s.vertical?"width":"height")),I=i((()=>!0===s.vertical?"vertical":"horizontal")),z=i((()=>{let e={role:"slider","aria-valuemin":w.value,"aria-valuemax":x.value,"aria-orientation":I.value,"data-step":s.step};return!0===s.disable?e["aria-disabled"]="true":!0===s.readonly&&(e["aria-readonly"]="true"),e})),q=i((()=>`q-slider q-slider${b.value} q-slider--${!0===p.value?"":"in"}active inline no-wrap `+(!0===s.vertical?"row":"column")+(!0===s.disable?" disabled":" q-slider--enabled"+(!0===S.value?" q-slider--editable":""))+("both"===m.value?" q-slider--focus":"")+(s.label||!0===s.labelAlways?" q-slider--label":"")+(!0===s.labelAlways?" q-slider--label-always":"")+(!0===d.value?" q-slider--dark":"")+(!0===s.dense?" q-slider--dense q-slider--dense"+b.value:"")));function D(e){let t="q-slider__"+e;return`${t} ${t}${b.value} ${t}${b.value}${_.value}`}function j(e){let t="q-slider__"+e;return`${t} ${t}${b.value}`}let $=i((()=>{let e=s.selectionColor||s.color;return"q-slider__selection absolute"+(void 0!==e?` text-${e}`:"")})),B=i((()=>j("markers")+" absolute overflow-hidden")),F=i((()=>j("track-container"))),V=i((()=>D("pin"))),U=i((()=>D("label"))),H=i((()=>D("text-container"))),W=i((()=>D("marker-labels-container")+(void 0!==s.markerLabelsClass?` ${s.markerLabelsClass}`:""))),Y=i((()=>"q-slider__track relative-position no-outline"+(void 0!==s.trackColor?` bg-${s.trackColor}`:""))),K=i((()=>{let e={[R.value]:s.trackSize};return void 0!==s.trackImg&&(e.backgroundImage=`url(${s.trackImg}) !important`),e})),G=i((()=>"q-slider__inner absolute"+(void 0!==s.innerTrackColor?` bg-${s.innerTrackColor}`:""))),Z=i((()=>{let e=L.value-P.value,t={[O.value]:100*P.value+"%",[N.value]:0===e?"2px":100*e+"%"};return void 0!==s.innerTrackImg&&(t.backgroundImage=`url(${s.innerTrackImg}) !important`),t}));function J(e){return 0===A.value?0:(e-s.min)/A.value}let X=i((()=>!0===Fe(s.markers)?s.markers:E.value)),ee=i((()=>{let e=[],t=X.value,n=s.max,a=s.min;do{e.push(a),a+=t}while(a{let e=` ${Gi}${b.value}-`;return Gi+`${e}${!0===s.switchMarkerLabelsSide?"switched":"standard"}${e}${!0===y.value?"rtl":"ltr"}`})),ne=i((()=>!1===s.markerLabels?null:function(e){if(!1===e)return null;if(!0===e)return ee.value.map(Zi);if("function"==typeof e)return ee.value.map((t=>{let n=e(t);return!0===je(n)?{...n,value:t}:{value:t,label:n}}));let t=({value:e})=>e>=s.min&&e<=s.max;return!0===Array.isArray(e)?e.map((e=>!0===je(e)?e:{value:e})).filter(t):Object.keys(e).map((t=>{let n=e[t],a=Number(t);return!0===je(n)?{...n,value:a}:{value:a,label:n}})).filter(t)}(s.markerLabels).map(((e,t)=>({index:t,value:e.value,label:e.label||e.value,classes:te.value+(void 0!==e.classes?" "+e.classes:""),style:{...re(e.value),...e.style||{}}}))))),ae=i((()=>({markerList:ne.value,markerMap:oe.value,classes:te.value,getStyle:re}))),ie=i((()=>{let e=0===M.value?"2px":100*X.value/M.value;return{...Z.value,backgroundSize:!0===s.vertical?`2px ${e}%`:`${e}% 2px`}}));function re(e){return{[O.value]:100*(e-s.min)/A.value+"%"}}let oe=i((()=>{if(!1===s.markerLabels)return null;let e={};return ne.value.forEach((t=>{e[t.value]=t})),e}));let se=i((()=>[[Ki,le,void 0,{[I.value]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]));function le(n){!0===n.isFinal?(void 0!==v.value&&(t(n.evt),!0===n.touch&&e(!0),v.value=void 0,l("pan","end")),p.value=!1,m.value=!1):!0===n.isFirst?(v.value=r(n.evt),t(n.evt),e(),p.value=!0,l("pan","start")):(t(n.evt),e())}function ue(){m.value=!1}function ce(){f.value=!1,p.value=!1,e(!0),ue(),document.removeEventListener("mouseup",ce,!0)}return g((()=>{document.removeEventListener("mouseup",ce,!0)})),{state:{active:p,focus:m,preventFocus:f,dragging:v,editable:S,classes:q,tabindex:T,attributes:z,roundValueFn:C,keyStep:E,trackLen:A,innerMin:w,innerMinRatio:P,innerMax:x,innerMaxRatio:L,positionProp:O,sizeProp:N,isReversed:y},methods:{onActivate:function(n){t(n,r(n)),e(),f.value=!0,p.value=!0,document.addEventListener("mouseup",ce,!0)},onMobileClick:function(n){t(n,r(n)),e(!0)},onBlur:ue,onKeyup:function(t){Xi.includes(t.keyCode)&&e(!0)},getContent:function(e,t,a,i){let r=[];"transparent"!==s.innerTrackColor&&r.push(n("div",{key:"inner",class:G.value,style:Z.value})),"transparent"!==s.selectionColor&&r.push(n("div",{key:"selection",class:$.value,style:e.value})),!1!==s.markers&&r.push(n("div",{key:"marker",class:B.value,style:ie.value})),i(r);let o=[mt("div",{key:"trackC",class:F.value,tabindex:t.value,...a.value},[n("div",{class:Y.value,style:K.value},r)],"slide",S.value,(()=>se.value))];if(!1!==s.markerLabels){o[!0===s.switchMarkerLabelsSide?"unshift":"push"](n("div",{key:"markerL",class:W.value},function(){if(void 0!==u["marker-label-group"])return u["marker-label-group"](ae.value);let e=u["marker-label"]||Ji;return ne.value.map((t=>e({marker:t,...ae.value})))}()))}return o},getThumbRenderFn:function(e){let t=i((()=>!1!==f.value||m.value!==e.focusValue&&"both"!==m.value?"":" q-slider--focus")),a=i((()=>`q-slider__thumb q-slider__thumb${b.value} q-slider__thumb${b.value}-${!0===y.value?"rtl":"ltr"} absolute non-selectable`+t.value+(void 0!==e.thumbColor.value?` text-${e.thumbColor.value}`:""))),r=i((()=>({width:s.thumbSize,height:s.thumbSize,[O.value]:100*e.ratio.value+"%",zIndex:m.value===e.focusValue?2:void 0}))),o=i((()=>void 0!==e.labelColor.value?` text-${e.labelColor.value}`:"")),l=i((()=>function(e){if(!0===s.vertical)return null;let t=c.lang.rtl!==s.reverse?1-e:e;return{transform:`translateX(calc(${2*t-1} * ${s.thumbSize} / 2 + ${50-100*t}%))`}}(e.ratio.value))),u=i((()=>"q-slider__text"+(void 0!==e.labelTextColor.value?` text-${e.labelTextColor.value}`:"")));return()=>{let t=[n("svg",{class:"q-slider__thumb-shape absolute-full",viewBox:"0 0 20 20","aria-hidden":"true"},[n("path",{d:s.thumbPath})]),n("div",{class:"q-slider__focus-ring fit"})];return(!0===s.label||!0===s.labelAlways)&&(t.push(n("div",{class:V.value+" absolute fit no-pointer-events"+o.value},[n("div",{class:U.value,style:{minWidth:s.thumbSize}},[n("div",{class:H.value,style:l.value},[n("span",{class:u.value},e.label.value)])])])),void 0!==s.name&&!0!==s.disable&&h(t,"push")),n("div",{class:a.value,style:r.value,...e.getNodeData()},t)}},convertRatioToModel:function(e){let{min:t,max:n,step:a}=s,i=t+e*(n-t);if(a>0){let e=(i-w.value)%a;i+=(Math.abs(e)>=a/2?(e<0?-1:1)*a:0)-e}return i=C.value(i),Je(i,w.value,x.value)},convertModelToRatio:J,getDraggingRatio:function(e,t){let n=Q(e),a=!0===s.vertical?Je((n.top-t.top)/t.height,0,1):Je((n.left-t.left)/t.width,0,1);return Je(!0===y.value?1-a:a,P.value,L.value)}}}}var ar=()=>({}),ir=F({name:"QSlider",props:{...er,modelValue:{required:!0,default:null,validator:e=>"number"==typeof e||null===e},labelValue:[String,Number]},emits:tr,setup(e,{emit:t}){let{proxy:{$q:o}}=k(),{state:s,methods:l}=nr({updateValue:b,updatePosition:function(t,n=s.dragging.value){let a=l.getDraggingRatio(t,n);d.value=l.convertRatioToModel(a),c.value=!0!==e.snap||0===e.step?a:l.convertModelToRatio(d.value)},getDragging:function(){return u.value.getBoundingClientRect()},formAttrs:ri(e)}),u=a(null),c=a(0),d=a(0);function h(){d.value=null===e.modelValue?s.innerMin.value:Je(e.modelValue,s.innerMin.value,s.innerMax.value)}r((()=>`${e.modelValue}|${s.innerMin.value}|${s.innerMax.value}`),h),h();let p=i((()=>l.convertModelToRatio(d.value))),f=i((()=>!0===s.active.value?c.value:p.value)),m=i((()=>{let t={[s.positionProp.value]:100*s.innerMinRatio.value+"%",[s.sizeProp.value]:100*(f.value-s.innerMinRatio.value)+"%"};return void 0!==e.selectionImg&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t})),g=l.getThumbRenderFn({focusValue:!0,getNodeData:ar,ratio:f,label:i((()=>void 0!==e.labelValue?e.labelValue:d.value)),thumbColor:i((()=>e.thumbColor||e.color)),labelColor:i((()=>e.labelColor)),labelTextColor:i((()=>e.labelTextColor))}),v=i((()=>!0!==s.editable.value?{}:!0===o.platform.is.mobile?{onClick:l.onMobileClick}:{onMousedown:l.onActivate,onFocus:_,onBlur:l.onBlur,onKeydown:y,onKeyup:l.onKeyup}));function b(n){d.value!==e.modelValue&&t("update:modelValue",d.value),!0===n&&t("change",d.value)}function _(){s.focus.value=!0}function y(t){if(!Xi.includes(t.keyCode))return;J(t);let n=([34,33].includes(t.keyCode)?10:1)*s.keyStep.value,a=([34,37,40].includes(t.keyCode)?-1:1)*(!0===s.isReversed.value?-1:1)*(!0===e.vertical?-1:1)*n;d.value=Je(s.roundValueFn.value(d.value+a),s.innerMin.value,s.innerMax.value),b()}return()=>{let t=l.getContent(m,s.tabindex,v,(e=>{e.push(g())}));return n("div",{ref:u,class:s.classes.value+(null===e.modelValue?" q-slider--no-value":""),...s.attributes.value,"aria-valuenow":e.modelValue},t)}}});function rr(){let e=a(!z.value);return!1===e.value&&m((()=>{e.value=!0})),{isHydrated:e}}var or=typeof ResizeObserver<"u",sr=!0===or?{}:{style:"display:block;position:absolute;top:0;left:0;right:0;bottom:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;",url:"about:blank"},lr=F({name:"QResizeObserver",props:{debounce:{type:[String,Number],default:100}},emits:["resize"],setup(e,{emit:t}){let a,i=null,r={width:-1,height:-1};function o(t){!0===t||0===e.debounce||"0"===e.debounce?s():null===i&&(i=setTimeout(s,e.debounce))}function s(){if(null!==i&&(clearTimeout(i),i=null),a){let{offsetWidth:e,offsetHeight:n}=a;(e!==r.width||n!==r.height)&&(r={width:e,height:n},t("resize",r))}}let{proxy:l}=k();if(l.trigger=o,!0===or){let e,t=n=>{a=l.$el.parentNode,a?(e=new ResizeObserver(o),e.observe(a),s()):!0!==n&&d((()=>{t(!0)}))};return m((()=>{t()})),g((()=>{null!==i&&clearTimeout(i),void 0!==e&&(void 0!==e.disconnect?e.disconnect():a&&e.unobserve(a))})),W}{let e,t=function(){null!==i&&(clearTimeout(i),i=null),void 0!==e&&(void 0!==e.removeEventListener&&e.removeEventListener("resize",o,H.passive),e=void 0)},r=function(){t(),a&&a.contentDocument&&(e=a.contentDocument.defaultView,e.addEventListener("resize",o,H.passive),s())},{isHydrated:u}=rr();return m((()=>{d((()=>{a=l.$el,a&&r()}))})),g(t),()=>{if(!0===u.value)return n("object",{class:"q--avoid-card-border",style:sr.style,tabindex:-1,type:"text/html",data:sr.url,"aria-hidden":"true",onLoad:r})}}}}),ur=!1;{let e=document.createElement("div");e.setAttribute("dir","rtl"),Object.assign(e.style,{width:"1px",height:"1px",overflow:"auto"});let t=document.createElement("div");Object.assign(t.style,{width:"1000px",height:"1px"}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,ur=e.scrollLeft>=0,e.remove()}function cr(e,t,n){let a=!0===n?["left","right"]:["top","bottom"];return`absolute-${!0===t?a[0]:a[1]}${e?` text-${e}`:""}`}var dr=["left","center","right","justify"],hr=F({name:"QTabs",props:{modelValue:[Number,String],align:{type:String,default:"center",validator:e=>dr.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(e,{slots:t,emit:o}){let s,{proxy:l}=k(),{$q:u}=l,{registerTick:c}=na(),{registerTick:d}=na(),{registerTick:f}=na(),{registerTimeout:m,removeTimeout:v}=aa(),{registerTimeout:b,removeTimeout:_}=aa(),y=a(null),x=a(null),S=a(e.modelValue),C=a(!1),E=a(!0),T=a(!1),A=a(!1),M=[],P=a(0),L=a(!1),O=null,N=null,R=i((()=>({activeClass:e.activeClass,activeColor:e.activeColor,activeBgColor:e.activeBgColor,indicatorClass:cr(e.indicatorColor,e.switchIndicator,e.vertical),narrowIndicator:e.narrowIndicator,inlineLabel:e.inlineLabel,noCaps:e.noCaps}))),I=i((()=>{let e=P.value,t=S.value;for(let n=0;n`q-tabs__content--align-${!0===C.value?"left":!0===A.value?"justify":e.align}`)),q=i((()=>`q-tabs row no-wrap items-center q-tabs--${!0===C.value?"":"not-"}scrollable q-tabs--${!0===e.vertical?"vertical":"horizontal"} q-tabs__arrows--${!0===e.outsideArrows?"outside":"inside"} q-tabs--mobile-with${!0===e.mobileArrows?"":"out"}-arrows`+(!0===e.dense?" q-tabs--dense":"")+(!0===e.shrink?" col-shrink":"")+(!0===e.stretch?" self-stretch":""))),D=i((()=>"q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position "+z.value+(void 0!==e.contentClass?` ${e.contentClass}`:""))),j=i((()=>!0===e.vertical?{container:"height",content:"offsetHeight",scroll:"scrollHeight"}:{container:"width",content:"offsetWidth",scroll:"scrollWidth"})),$=i((()=>!0!==e.vertical&&!0===u.lang.rtl)),B=i((()=>!1===ur&&!0===$.value));function F({name:t,setCurrent:n,skipEmit:a}){S.value!==t&&(!0!==a&&void 0!==e["onUpdate:modelValue"]&&o("update:modelValue",t),(!0===n||void 0===e["onUpdate:modelValue"])&&(function(t,n){let a=null!=t&&""!==t?M.find((e=>e.name.value===t)):null,i=null!=n&&""!==n?M.find((e=>e.name.value===n)):null;if(!0===re)re=!1;else if(a&&i){let t=a.tabIndicatorRef.value,n=i.tabIndicatorRef.value;null!==O&&(clearTimeout(O),O=null),t.style.transition="none",t.style.transform="none",n.style.transition="none",n.style.transform="none";let r=t.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=!0===e.vertical?`translate3d(0,${r.top-o.top}px,0) scale3d(1,${o.height?r.height/o.height:1},1)`:`translate3d(${r.left-o.left}px,0,0) scale3d(${o.width?r.width/o.width:1},1,1)`,f((()=>{O=setTimeout((()=>{O=null,n.style.transition="transform .25s cubic-bezier(.4, 0, .2, 1)",n.style.transform="none"}),70)}))}i&&!0===C.value&&H(i.rootRef.value)}(S.value,t),S.value=t))}function V(){c((()=>{U({width:y.value.offsetWidth,height:y.value.offsetHeight})}))}function U(t){if(void 0===j.value||null===x.value)return;let n=t[j.value.container],a=Math.min(x.value[j.value.scroll],Array.prototype.reduce.call(x.value.children,((e,t)=>e+(t[j.value.content]||0)),0)),i=n>0&&a>n;C.value=i,!0===i&&d(W),A.value=n0&&(x.value[!0===e.vertical?"scrollTop":"scrollLeft"]+=Math.ceil(s),W())}function W(){let t=x.value;if(null===t)return;let n=t.getBoundingClientRect(),a=!0===e.vertical?t.scrollTop:Math.abs(t.scrollLeft);!0===$.value?(E.value=Math.ceil(a+n.width)0):(E.value=a>0,T.value=!0===e.vertical?Math.ceil(a+n.height){!0===function(e){let t=x.value,{get:n,set:a}=Z.value,i=!1,r=n(t),o=e=e)&&(i=!0,r=e),a(t,r),W(),i}(e)&&G()}),5)}function Q(){Y(!0===B.value?Number.MAX_SAFE_INTEGER:0)}function K(){Y(!0===B.value?0:Number.MAX_SAFE_INTEGER)}function G(){null!==N&&(clearInterval(N),N=null)}r($,W),r((()=>e.modelValue),(e=>{F({name:e,setCurrent:!0,skipEmit:!0})})),r((()=>e.outsideArrows),V);let Z=i((()=>!0===B.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:!0===e.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}}));function J(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function X(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=M.filter((e=>void 0!==e.routeData&&!0===e.routeData.hasRouterLink.value)),{hash:a,query:i}=l.$route,r=Object.keys(i).length;for(let o of n){let n=!0===o.routeData.exact.value;if(!0!==o.routeData[!0===n?"linkIsExactActive":"linkIsActive"].value)continue;let{hash:s,query:l,matched:u,href:c}=o.routeData.resolvedLink.value,d=Object.keys(l).length;if(!0===n){if(s!==a||d!==r||!1===J(i,l))continue;e=o.name.value;break}if(""!==s&&s!==a||0!==d&&!1===J(l,i))continue;let h={matchedLen:u.length,queryDiff:r-d,hrefLen:c.length-s.length};if(h.matchedLen>t.matchedLen)e=o.name.value,t=h;else if(h.matchedLen===t.matchedLen){if(h.queryDifft.hrefLen&&(e=o.name.value,t=h)}}null!==e||!0!==M.some((e=>void 0===e.routeData&&e.name.value===S.value))?F({name:e,setCurrent:!0}):re=!1}function ee(e){if(v(),!0!==L.value&&null!==y.value&&e.target&&"function"==typeof e.target.closest){let t=e.target.closest(".q-tab");t&&!0===y.value.contains(t)&&(L.value=!0,!0===C.value&&H(t))}}function te(){m((()=>{L.value=!1}),30)}function ne(){!1===oe.avoidRouteWatcher?b(X):_()}function ae(){if(void 0===s){let e=r((()=>l.$route.fullPath),ne);s=()=>{e(),s=void 0}}}let ie,re,oe={currentModel:S,tabProps:R,hasFocus:L,hasActiveTab:I,registerTab:function(e){M.push(e),P.value++,V(),void 0===e.routeData||void 0===l.$route?b((()=>{if(!0===C.value){let e=S.value,t=null!=e&&""!==e?M.find((t=>t.name.value===e)):null;t&&H(t.rootRef.value)}})):(ae(),!0===e.routeData.hasRouterLink.value&&ne())},unregisterTab:function(e){M.splice(M.indexOf(e),1),P.value--,V(),void 0!==s&&void 0!==e.routeData&&(!0===M.every((e=>void 0===e.routeData))&&s(),ne())},verifyRouteModel:ne,updateModel:F,onKbdNavigate:function(t,n){let a=Array.prototype.filter.call(x.value.children,(e=>e===n||e.matches&&!0===e.matches(".q-tab.q-focusable"))),i=a.length;if(0===i)return;if(36===t)return H(a[0]),a[0].focus(),!0;if(35===t)return H(a[i-1]),a[i-1].focus(),!0;let r=t===(!0===e.vertical?38:37),o=t===(!0===e.vertical?40:39),s=!0===r?-1:!0===o?1:void 0;if(void 0!==s){let e=!0===$.value?-1:1,t=a.indexOf(n)+s*e;return t>=0&&t{ie=void 0!==s,se()})),h((()=>{!0===ie&&(ae(),re=!0,ne()),V()})),()=>n("div",{ref:y,class:q.value,role:"tablist",onFocusin:ee,onFocusout:te},[n(lr,{onResize:U}),n("div",{ref:x,class:D.value,onScroll:W},dt(t.default)),n(Pt,{class:"q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon"+(!0===E.value?"":" q-tabs__arrow--faded"),name:e.leftIcon||u.iconSet.tabs[!0===e.vertical?"up":"left"],onMousedownPassive:Q,onTouchstartPassive:Q,onMouseupPassive:G,onMouseleavePassive:G,onTouchendPassive:G}),n(Pt,{class:"q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon"+(!0===T.value?"":" q-tabs__arrow--faded"),name:e.rightIcon||u.iconSet.tabs[!0===e.vertical?"down":"right"],onMousedownPassive:K,onTouchstartPassive:K,onMouseupPassive:G,onMouseleavePassive:G,onTouchendPassive:G})])}}),pr=0,fr=["click","keydown"],mr={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>"t_"+pr++},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function gr(e,t,r,o){let s=y(Ne,Ie);if(s===Ie)return console.error("QTab/QRouteTab component needs to be child of QTabs"),Ie;let{proxy:l}=k(),u=a(null),c=a(null),d=a(null),h=i((()=>!0!==e.disable&&!1!==e.ripple&&Object.assign({keyCodes:[13,32],early:!0},!0===e.ripple?{}:e.ripple))),p=i((()=>s.currentModel.value===e.name)),f=i((()=>"q-tab relative-position self-stretch flex flex-center text-center"+(!0===p.value?" q-tab--active"+(s.tabProps.value.activeClass?" "+s.tabProps.value.activeClass:"")+(s.tabProps.value.activeColor?` text-${s.tabProps.value.activeColor}`:"")+(s.tabProps.value.activeBgColor?` bg-${s.tabProps.value.activeBgColor}`:""):" q-tab--inactive")+(e.icon&&e.label&&!1===s.tabProps.value.inlineLabel?" q-tab--full":"")+(!0===e.noCaps||!0===s.tabProps.value.noCaps?" q-tab--no-caps":"")+(!0===e.disable?" disabled":" q-focusable q-hoverable cursor-pointer")+(void 0!==o?o.linkClass.value:""))),v=i((()=>"q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable "+(!0===s.tabProps.value.inlineLabel?"row no-wrap q-tab__content--inline":"column")+(void 0!==e.contentClass?` ${e.contentClass}`:""))),b=i((()=>!0===e.disable||!0===s.hasFocus.value||!1===p.value&&!0===s.hasActiveTab.value?-1:e.tabindex||0));function _(t,n){if(!0!==n&&null!==u.value&&u.value.focus(),!0!==e.disable){if(void 0===o)return s.updateModel({name:e.name}),void r("click",t);if(!0===o.hasRouterLink.value){let n=(n={})=>{let a,i=void 0===n.to||!0===De(n.to,e.to)?s.avoidRouteWatcher=Xa():null;return o.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch((e=>{a=e})).then((t=>{if(i===s.avoidRouteWatcher&&(s.avoidRouteWatcher=!1,void 0===a&&(void 0===t||void 0!==t.message&&!0===t.message.startsWith("Avoided redundant navigation"))&&s.updateModel({name:e.name})),!0===n.returnRouterError)return void 0!==a?Promise.reject(a):t}))};return r("click",t,n),void(!0!==t.defaultPrevented&&n())}r("click",t)}else void 0!==o&&!0===o.hasRouterLink.value&&J(t)}function w(e){pe(e,[13,32])?_(e,!0):!0!==he(e)&&e.keyCode>=35&&e.keyCode<=40&&!0!==e.altKey&&!0!==e.metaKey&&!0===s.onKbdNavigate(e.keyCode,l.$el)&&J(e),r("keydown",e)}let x={name:i((()=>e.name)),rootRef:c,tabIndicatorRef:d,routeData:o};return g((()=>{s.unregisterTab(x)})),m((()=>{s.registerTab(x)})),{renderTab:function(a,i){let r={ref:c,class:f.value,tabindex:b.value,role:"tab","aria-selected":!0===p.value?"true":"false","aria-disabled":!0===e.disable?"true":void 0,onClick:_,onKeydown:w,...i};return M(n(a,r,function(){let a=s.tabProps.value.narrowIndicator,i=[],r=n("div",{ref:d,class:["q-tab__indicator",s.tabProps.value.indicatorClass]});void 0!==e.icon&&i.push(n(Pt,{class:"q-tab__icon",name:e.icon})),void 0!==e.label&&i.push(n("div",{class:"q-tab__label"},e.label)),!1!==e.alert&&i.push(void 0!==e.alertIcon?n(Pt,{class:"q-tab__alert-icon",color:!0!==e.alert?e.alert:void 0,name:e.alertIcon}):n("div",{class:"q-tab__alert"+(!0!==e.alert?` text-${e.alert}`:"")})),!0===a&&i.push(r);let o=[n("div",{class:"q-focus-helper",tabindex:-1,ref:u}),n("div",{class:v.value},pt(t.default,i))];return!1===a&&o.push(r),o}()),[[mn,h.value]])},$tabs:s}}var vr=F({name:"QTab",props:mr,emits:fr,setup(e,{slots:t,emit:n}){let{renderTab:a}=gr(e,t,n);return()=>a("div")}}),br=F({name:"QTabPanels",props:{...ki,...Rt},emits:xi,setup(e,{slots:t}){let n=k(),a=It(e,n.proxy.$q),{updatePanelsList:r,getPanelContent:o,panelDirectives:s}=Si(),l=i((()=>"q-tab-panels q-panel-parent"+(!0===a.value?" q-tab-panels--dark q-dark":"")));return()=>(r(t),mt("div",{class:l.value},o(),"pan",e.swipeable,(()=>s.value)))}}),_r=F({name:"QTabPanel",props:yi,setup:(e,{slots:t})=>()=>n("div",{class:"q-tab-panel",role:"tabpanel"},dt(t.default))}),yr=/^#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/,wr=/^#[0-9a-fA-F]{4}([0-9a-fA-F]{4})?$/,kr=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/,xr=/^rgb\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5])\)$/,Sr=/^rgba\(((0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),){2}(0|[1-9][\d]?|1[\d]{0,2}|2[\d]?|2[0-4][\d]|25[0-5]),(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/,Cr={date:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e),time:e=>/^([0-1]?\d|2[0-3]):[0-5]\d$/.test(e),fulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(e),timeOrFulltime:e=>/^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(e),email:e=>/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e),hexColor:e=>yr.test(e),hexaColor:e=>wr.test(e),hexOrHexaColor:e=>kr.test(e),rgbColor:e=>xr.test(e),rgbaColor:e=>Sr.test(e),rgbOrRgbaColor:e=>xr.test(e)||Sr.test(e),hexOrRgbColor:e=>yr.test(e)||xr.test(e),hexaOrRgbaColor:e=>wr.test(e)||Sr.test(e),anyColor:e=>kr.test(e)||xr.test(e)||Sr.test(e)},Er={testPattern:Cr},Tr=/^rgb(a)?\((\d{1,3}),(\d{1,3}),(\d{1,3}),?([01]?\.?\d*?)?\)$/;function Ar({r:e,g:t,b:n,a:a}){let i=void 0!==a;if(e=Math.round(e),t=Math.round(t),n=Math.round(n),e>255||t>255||n>255||i&&a>100)throw new TypeError("Expected 3 numbers below 256 (and optionally one below 100)");return a=i?(256|Math.round(255*a/100)).toString(16).slice(1):"","#"+(n|t<<8|e<<16|1<<24).toString(16).slice(1)+a}function Mr({r:e,g:t,b:n,a:a}){return`rgb${void 0!==a?"a":""}(${e},${t},${n}${void 0!==a?","+a/100:""})`}function Pr(e){if("string"!=typeof e)throw new TypeError("Expected a string");3===(e=e.replace(/^#/,"")).length?e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]:4===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return e.length>6?{r:t>>24&255,g:t>>16&255,b:t>>8&255,a:Math.round((255&t)/2.55)}:{r:t>>16,g:t>>8&255,b:255&t}}function Lr({h:e,s:t,v:n,a:a}){let i,r,o;t/=100,n/=100,e/=360;let s=Math.floor(6*e),l=6*e-s,u=n*(1-t),c=n*(1-l*t),d=n*(1-(1-l)*t);switch(s%6){case 0:i=n,r=d,o=u;break;case 1:i=c,r=n,o=u;break;case 2:i=u,r=n,o=d;break;case 3:i=u,r=c,o=n;break;case 4:i=d,r=u,o=n;break;case 5:i=n,r=u,o=c}return{r:Math.round(255*i),g:Math.round(255*r),b:Math.round(255*o),a:a}}function Or({r:e,g:t,b:n,a:a}){let i,r=Math.max(e,t,n),o=Math.min(e,t,n),s=r-o,l=0===r?0:s/r,u=r/255;switch(r){case o:i=0;break;case e:i=t-n+s*(t1)throw new TypeError("Expected offset to be between -1 and 1");let{r:n,g:a,b:i,a:r}=Nr(e),o=void 0!==r?r/100:0;return Ar({r:n,g:a,b:i,a:Math.round(100*Math.min(1,Math.max(0,o+t)))})},getPaletteColor:function(e){if("string"!=typeof e)throw new TypeError("Expected a string as color");let t=document.createElement("div");t.className=`text-${e} invisible fixed no-pointer-events`,document.body.appendChild(t);let n=getComputedStyle(t).getPropertyValue("color");return t.remove(),Ar(Nr(n))}},zr=["rgb(255,204,204)","rgb(255,230,204)","rgb(255,255,204)","rgb(204,255,204)","rgb(204,255,230)","rgb(204,255,255)","rgb(204,230,255)","rgb(204,204,255)","rgb(230,204,255)","rgb(255,204,255)","rgb(255,153,153)","rgb(255,204,153)","rgb(255,255,153)","rgb(153,255,153)","rgb(153,255,204)","rgb(153,255,255)","rgb(153,204,255)","rgb(153,153,255)","rgb(204,153,255)","rgb(255,153,255)","rgb(255,102,102)","rgb(255,179,102)","rgb(255,255,102)","rgb(102,255,102)","rgb(102,255,179)","rgb(102,255,255)","rgb(102,179,255)","rgb(102,102,255)","rgb(179,102,255)","rgb(255,102,255)","rgb(255,51,51)","rgb(255,153,51)","rgb(255,255,51)","rgb(51,255,51)","rgb(51,255,153)","rgb(51,255,255)","rgb(51,153,255)","rgb(51,51,255)","rgb(153,51,255)","rgb(255,51,255)","rgb(255,0,0)","rgb(255,128,0)","rgb(255,255,0)","rgb(0,255,0)","rgb(0,255,128)","rgb(0,255,255)","rgb(0,128,255)","rgb(0,0,255)","rgb(128,0,255)","rgb(255,0,255)","rgb(245,0,0)","rgb(245,123,0)","rgb(245,245,0)","rgb(0,245,0)","rgb(0,245,123)","rgb(0,245,245)","rgb(0,123,245)","rgb(0,0,245)","rgb(123,0,245)","rgb(245,0,245)","rgb(214,0,0)","rgb(214,108,0)","rgb(214,214,0)","rgb(0,214,0)","rgb(0,214,108)","rgb(0,214,214)","rgb(0,108,214)","rgb(0,0,214)","rgb(108,0,214)","rgb(214,0,214)","rgb(163,0,0)","rgb(163,82,0)","rgb(163,163,0)","rgb(0,163,0)","rgb(0,163,82)","rgb(0,163,163)","rgb(0,82,163)","rgb(0,0,163)","rgb(82,0,163)","rgb(163,0,163)","rgb(92,0,0)","rgb(92,46,0)","rgb(92,92,0)","rgb(0,92,0)","rgb(0,92,46)","rgb(0,92,92)","rgb(0,46,92)","rgb(0,0,92)","rgb(46,0,92)","rgb(92,0,92)","rgb(255,255,255)","rgb(205,205,205)","rgb(178,178,178)","rgb(153,153,153)","rgb(127,127,127)","rgb(102,102,102)","rgb(76,76,76)","rgb(51,51,51)","rgb(25,25,25)","rgb(0,0,0)"],qr="M5 5 h10 v10 h-10 v-10 z",Dr=F({name:"QColor",props:{...Rt,...ii,modelValue:String,defaultValue:String,defaultView:{type:String,default:"spectrum",validator:e=>["spectrum","tune","palette"].includes(e)},formatModel:{type:String,default:"auto",validator:e=>["auto","hex","rgb","hexa","rgba"].includes(e)},palette:Array,noHeader:Boolean,noHeaderTabs:Boolean,noFooter:Boolean,square:Boolean,flat:Boolean,bordered:Boolean,disable:Boolean,readonly:Boolean},emits:["update:modelValue","change"],setup(e,{emit:t}){let{proxy:o}=k(),{$q:s}=o,l=It(e,s),{getCache:u}=_i(),c=a(null),h=a(null),p=i((()=>"auto"===e.formatModel?null:-1!==e.formatModel.indexOf("hex"))),f=i((()=>"auto"===e.formatModel?null:-1!==e.formatModel.indexOf("a"))),m=a("auto"===e.formatModel?void 0===e.modelValue||null===e.modelValue||""===e.modelValue||e.modelValue.startsWith("#")?"hex":"rgb":e.formatModel.startsWith("hex")?"hex":"rgb"),g=a(e.defaultView),v=a(N(e.modelValue||e.defaultValue)),b=i((()=>!0!==e.disable&&!0!==e.readonly)),_=i((()=>void 0===e.modelValue||null===e.modelValue||""===e.modelValue||e.modelValue.startsWith("#"))),y=i((()=>null!==p.value?p.value:_.value)),w=oi(i((()=>({type:"hidden",name:e.name,value:v.value[!0===y.value?"hex":"rgb"]})))),x=i((()=>null!==f.value?f.value:void 0!==v.value.a)),S=i((()=>({backgroundColor:v.value.rgb||"#000"}))),C=i((()=>"q-color-picker__header-content q-color-picker__header-content--"+(void 0!==v.value.a&&v.value.a<65||Rr(v.value)>.4?"light":"dark"))),E=i((()=>({background:`hsl(${v.value.h},100%,50%)`}))),T=i((()=>({top:100-v.value.v+"%",[!0===s.lang.rtl?"right":"left"]:`${v.value.s}%`}))),A=i((()=>void 0!==e.palette&&0!==e.palette.length?e.palette:zr)),M=i((()=>"q-color-picker"+(!0===e.bordered?" q-color-picker--bordered":"")+(!0===e.square?" q-color-picker--square no-border-radius":"")+(!0===e.flat?" q-color-picker--flat no-shadow":"")+(!0===e.disable?" disabled":"")+(!0===l.value?" q-color-picker--dark q-dark":""))),P=i((()=>!0===e.disable?{"aria-disabled":"true"}:{})),L=i((()=>[[Ki,j,void 0,{prevent:!0,stop:!0,mouse:!0}]]));function O(e,n){v.value.hex=Ar(e),v.value.rgb=Mr(e),v.value.r=e.r,v.value.g=e.g,v.value.b=e.b,v.value.a=e.a;let a=v.value[!0===y.value?"hex":"rgb"];t("update:modelValue",a),!0===n&&t("change",a)}function N(t){let n=void 0!==f.value?f.value:"auto"===e.formatModel?null:-1!==e.formatModel.indexOf("a");if("string"!=typeof t||0===t.length||!0!==Cr.anyColor(t.replace(/ /g,"")))return{h:0,s:0,v:0,r:0,g:0,b:0,a:!0===n?100:void 0,hex:void 0,rgb:void 0};let a=Nr(t);return!0===n&&void 0===a.a&&(a.a=100),a.hex=Ar(a),a.rgb=Mr(a),Object.assign(a,Or(a))}function R(e,t,n){let a=c.value;if(null===a)return;let i=a.clientWidth,r=a.clientHeight,o=a.getBoundingClientRect(),l=Math.min(i,Math.max(0,e-o.left));!0===s.lang.rtl&&(l=i-l);let u=Math.min(r,Math.max(0,t-o.top)),d=Math.round(100*l/i),h=Math.round(100*Math.max(0,Math.min(1,-u/r+1))),p=Lr({h:v.value.h,s:d,v:h,a:!0===x.value?v.value.a:void 0});v.value.s=d,v.value.v=h,O(p,n)}function I(e,t){let n=Math.round(e),a=Lr({h:n,s:v.value.s,v:v.value.v,a:!0===x.value?v.value.a:void 0});v.value.h=n,O(a,t)}function z(e){I(e,!0)}function q(e,t,n,a,i){if(void 0!==a&&G(a),!/^[0-9]+$/.test(e))return void(!0===i&&o.$forceUpdate());let r=Math.floor(Number(e));if(r<0||r>n)return void(!0===i&&o.$forceUpdate());let s={r:"r"===t?r:v.value.r,g:"g"===t?r:v.value.g,b:"b"===t?r:v.value.b,a:!0===x.value?"a"===t?r:v.value.a:void 0};if("a"!==t){let e=Or(s);v.value.h=e.h,v.value.s=e.s,v.value.v=e.v}if(O(s,i),void 0!==a&&!0!==i&&void 0!==a.target.selectionEnd){let e=a.target.selectionEnd;d((()=>{a.target.setSelectionRange(e,e)}))}}function D(e,t){let n,a=e.target.value;if(G(e),"hex"===m.value){if(a.length!==(!0===x.value?9:7)||!/^#[0-9A-Fa-f]+$/.test(a))return!0;n=Pr(a)}else{let e;if(!a.endsWith(")"))return!0;if(!0!==x.value&&a.startsWith("rgb(")){if(e=a.substring(4,a.length-1).split(",").map((e=>parseInt(e,10))),3!==e.length||!/^rgb\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3}\)$/.test(a))return!0}else{if(!0!==x.value||!a.startsWith("rgba("))return!0;{if(e=a.substring(5,a.length-1).split(","),4!==e.length||!/^rgba\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},(0|0\.[0-9]+[1-9]|0\.[1-9]+|1)\)$/.test(a))return!0;for(let t=0;t<3;t++){let n=parseInt(e[t],10);if(n<0||n>255)return!0;e[t]=n}let t=parseFloat(e[3]);if(t<0||t>1)return!0;e[3]=t}}if(e[0]<0||e[0]>255||e[1]<0||e[1]>255||e[2]<0||e[2]>255||!0===x.value&&(e[3]<0||e[3]>1))return!0;n={r:e[0],g:e[1],b:e[2],a:!0===x.value?100*e[3]:void 0}}let i=Or(n);if(v.value.h=i.h,v.value.s=i.s,v.value.v=i.v,O(n,t),!0!==t){let t=e.target.selectionEnd;d((()=>{e.target.setSelectionRange(t,t)}))}}function j(e){e.isFinal?R(e.position.left,e.position.top,!0):$(e)}r((()=>e.modelValue),(t=>{let n=N(t||e.defaultValue);n.hex!==v.value.hex&&(v.value=n)})),r((()=>e.defaultValue),(t=>{if(!e.modelValue&&t){let e=N(t);e.hex!==v.value.hex&&(v.value=e)}}));let $=hn((e=>{R(e.position.left,e.position.top)}),20);function B(e){R(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset,!0)}function F(e){R(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset)}function V(e){null!==h.value&&(h.value.$el.style.opacity=e?1:0)}function U(e){m.value=e}function H(e){g.value=e}function W(){let e={ref:c,class:"q-color-picker__spectrum non-selectable relative-position cursor-pointer"+(!0!==b.value?" readonly":""),style:E.value,...!0===b.value?{onClick:B,onMousedown:F}:{}},t=[n("div",{style:{paddingBottom:"100%"}}),n("div",{class:"q-color-picker__spectrum-white absolute-full"}),n("div",{class:"q-color-picker__spectrum-black absolute-full"}),n("div",{class:"absolute",style:T.value},[void 0!==v.value.hex?n("div",{class:"q-color-picker__spectrum-circle"}):null])],a=[n(ir,{class:"q-color-picker__hue non-selectable",modelValue:v.value.h,min:0,max:360,trackSize:"8px",innerTrackColor:"transparent",selectionColor:"transparent",readonly:!0!==b.value,thumbPath:qr,"onUpdate:modelValue":I,onChange:z})];return!0===x.value&&a.push(n(ir,{class:"q-color-picker__alpha non-selectable",modelValue:v.value.a,min:0,max:100,trackSize:"8px",trackColor:"white",innerTrackColor:"transparent",selectionColor:"transparent",trackImg:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==",readonly:!0!==b.value,hideSelection:!0,thumbPath:qr,...u("alphaSlide",{"onUpdate:modelValue":e=>q(e,"a",100),onChange:e=>q(e,"a",100,void 0,!0)})})),[mt("div",e,t,"spec",b.value,(()=>L.value)),n("div",{class:"q-color-picker__sliders"},a)]}function Y(){return[n("div",{class:"row items-center no-wrap"},[n("div","R"),n(ir,{modelValue:v.value.r,min:0,max:255,color:"red",dark:l.value,readonly:!0!==b.value,...u("rSlide",{"onUpdate:modelValue":e=>q(e,"r",255),onChange:e=>q(e,"r",255,void 0,!0)})}),n("input",{value:v.value.r,maxlength:3,readonly:!0!==b.value,onChange:G,...u("rIn",{onInput:e=>q(e.target.value,"r",255,e),onBlur:e=>q(e.target.value,"r",255,e,!0)})})]),n("div",{class:"row items-center no-wrap"},[n("div","G"),n(ir,{modelValue:v.value.g,min:0,max:255,color:"green",dark:l.value,readonly:!0!==b.value,...u("gSlide",{"onUpdate:modelValue":e=>q(e,"g",255),onChange:e=>q(e,"g",255,void 0,!0)})}),n("input",{value:v.value.g,maxlength:3,readonly:!0!==b.value,onChange:G,...u("gIn",{onInput:e=>q(e.target.value,"g",255,e),onBlur:e=>q(e.target.value,"g",255,e,!0)})})]),n("div",{class:"row items-center no-wrap"},[n("div","B"),n(ir,{modelValue:v.value.b,min:0,max:255,color:"blue",readonly:!0!==b.value,dark:l.value,...u("bSlide",{"onUpdate:modelValue":e=>q(e,"b",255),onChange:e=>q(e,"b",255,void 0,!0)})}),n("input",{value:v.value.b,maxlength:3,readonly:!0!==b.value,onChange:G,...u("bIn",{onInput:e=>q(e.target.value,"b",255,e),onBlur:e=>q(e.target.value,"b",255,e,!0)})})]),!0===x.value?n("div",{class:"row items-center no-wrap"},[n("div","A"),n(ir,{modelValue:v.value.a,color:"grey",readonly:!0!==b.value,dark:l.value,...u("aSlide",{"onUpdate:modelValue":e=>q(e,"a",100),onChange:e=>q(e,"a",100,void 0,!0)})}),n("input",{value:v.value.a,maxlength:3,readonly:!0!==b.value,onChange:G,...u("aIn",{onInput:e=>q(e.target.value,"a",100,e),onBlur:e=>q(e.target.value,"a",100,e,!0)})})]):null]}function Q(){return[n("div",{class:"row items-center q-color-picker__palette-rows"+(!0===b.value?" q-color-picker__palette-rows--editable":"")},A.value.map((e=>n("div",{class:"q-color-picker__cube col-auto",style:{backgroundColor:e},...!0===b.value?u("palette#"+e,{onClick:()=>{!function(e){let t=N(e),n={r:t.r,g:t.g,b:t.b,a:t.a};void 0===n.a&&(n.a=v.value.a),v.value.h=t.h,v.value.s=t.s,v.value.v=t.v,O(n,!0)}(e)}}):{}}))))]}return()=>{let t=[n(br,{modelValue:g.value,animated:!0},(()=>[n(_r,{class:"q-color-picker__spectrum-tab overflow-hidden",name:"spectrum"},W),n(_r,{class:"q-pa-md q-color-picker__tune-tab",name:"tune"},Y),n(_r,{class:"q-color-picker__palette-tab",name:"palette"},Q)]))];return void 0!==e.name&&!0!==e.disable&&w(t,"push"),!0!==e.noHeader&&t.unshift(function(){let t=[];return!0!==e.noHeaderTabs&&t.push(n(hr,{class:"q-color-picker__header-tabs",modelValue:m.value,dense:!0,align:"justify","onUpdate:modelValue":U},(()=>[n(vr,{label:"HEX"+(!0===x.value?"A":""),name:"hex",ripple:!1}),n(vr,{label:"RGB"+(!0===x.value?"A":""),name:"rgb",ripple:!1})]))),t.push(n("div",{class:"q-color-picker__header-banner row flex-center no-wrap"},[n("input",{class:"fit",value:v.value[m.value],...!0!==b.value?{readonly:!0}:{},...u("topIn",{onInput:e=>{V(!0===D(e))},onChange:G,onBlur:e=>{!0===D(e,!0)&&o.$forceUpdate(),V(!1)}})}),n(Pt,{ref:h,class:"q-color-picker__error-icon absolute no-pointer-events",name:s.iconSet.type.negative})])),n("div",{class:"q-color-picker__header relative-position overflow-hidden"},[n("div",{class:"q-color-picker__header-bg absolute-full"}),n("div",{class:C.value,style:S.value},t)])}()),!0!==e.noFooter&&t.push(n("div",{class:"q-color-picker__footer relative-position overflow-hidden"},[n(hr,{class:"absolute-full",modelValue:g.value,dense:!0,align:"justify","onUpdate:modelValue":H},(()=>[n(vr,{icon:s.iconSet.colorPicker.spectrum,name:"spectrum",ripple:!1}),n(vr,{icon:s.iconSet.colorPicker.tune,name:"tune",ripple:!1}),n(vr,{icon:s.iconSet.colorPicker.palette,name:"palette",ripple:!1})]))])),n("div",{class:M.value,...P.value},t)}}}),jr=[-61,9,38,199,426,686,756,818,1111,1181,1210,1635,2060,2097,2192,2262,2324,2394,2456,3178];function $r(e,t,n){return"[object Date]"===Object.prototype.toString.call(e)&&(n=e.getDate(),t=e.getMonth()+1,e=e.getFullYear()),function(e){let t,n,a,i=Wr(e).gy,r=i-621,o=Ur(r,!1),s=Hr(i,3,o.march);if(a=e-s,a>=0){if(a<=185)return n=1+Yr(a,31),t=Qr(a,31)+1,{jy:r,jm:n,jd:t};a-=186}else r-=1,a+=179,1===o.leap&&(a+=1);return n=7+Yr(a,30),t=Qr(a,30)+1,{jy:r,jm:n,jd:t}}(Hr(e,t,n))}function Br(e,t,n){return Wr(function(e,t,n){let a=Ur(e,!0);return Hr(a.gy,3,a.march)+31*(t-1)-Yr(t,7)*(t-7)+n-1}(e,t,n))}function Fr(e){return 0===function(e){let t,n,a,i,r,o=jr.length,s=jr[0];if(e=jr[o-1])throw new Error("Invalid Jalaali year "+e);for(r=1;r=jr[s-1])throw new Error("Invalid Jalaali year "+e);for(o=1;oKr.includes(e),default:"gregorian"},landscape:Boolean,color:String,textColor:String,square:Boolean,flat:Boolean,bordered:Boolean,readonly:Boolean,disable:Boolean},Zr=["update:modelValue"];function Jr(e){return e.year+"/"+et(e.month)+"/"+et(e.day)}function Xr(e,t){let n=i((()=>!0!==e.disable&&!0!==e.readonly)),a=i((()=>!0===n.value?0:-1)),r=i((()=>{let t=[];return void 0!==e.color&&t.push(`bg-${e.color}`),void 0!==e.textColor&&t.push(`text-${e.textColor}`),t.join(" ")}));return{editable:n,tabindex:a,headerClass:r,getLocale:function(){return void 0!==e.locale?{...t.lang.date,...e.locale}:t.lang.date},getCurrentDate:function(t){let n=new Date,a=!0===t?null:0;if("persian"===e.calendar){let e=$r(n);return{year:e.jy,month:e.jm,day:e.jd}}return{year:n.getFullYear(),month:n.getMonth()+1,day:n.getDate(),hour:a,minute:a,second:a,millisecond:a}}}}var eo=864e5,to=36e5,no=6e4,ao="YYYY-MM-DDTHH:mm:ss.SSSZ",io=/\[((?:[^\]\\]|\\]|\\)*)\]|do|d{1,4}|Mo|M{1,4}|m{1,2}|wo|w{1,2}|Qo|Do|DDDo|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,ro=/(\[[^\]]*\])|do|d{1,4}|Mo|M{1,4}|m{1,2}|wo|w{1,2}|Qo|Do|DDDo|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]|([.*+:?^,\s${}()|\\]+)/g,oo={};function so(e,t){return void 0!==e?e:void 0!==t?t.date:ye.date}function lo(e,t=""){let n=e>0?"-":"+",a=Math.abs(e),i=a%60;return n+et(Math.floor(a/60))+t+et(i)}function uo(e,t,n){let a=co(t),i=new Date(e),r=void 0!==a.year||void 0!==a.month||void 0!==a.date?function(e,t,n){let a=e.getFullYear(),i=e.getMonth(),r=e.getDate();return void 0!==t.year&&(a+=n*t.year,delete t.year),void 0!==t.month&&(i+=n*t.month,delete t.month),e.setDate(1),e.setMonth(2),e.setFullYear(a),e.setMonth(i),e.setDate(Math.min(r,yo(e))),void 0!==t.date&&(e.setDate(e.getDate()+n*t.date),delete t.date),e}(i,a,n):i;for(let e in a){let t=Ze(e);r[`set${t}`](r[`get${t}`]()+n*a[e])}return r}function co(e){let t={...e};return void 0!==e.years&&(t.year=e.years,delete t.years),void 0!==e.months&&(t.month=e.months,delete t.months),void 0!==e.days&&(t.date=e.days,delete t.days),void 0!==e.day&&(t.date=e.day,delete t.day),void 0!==e.hour&&(t.hours=e.hour,delete t.hour),void 0!==e.minute&&(t.minutes=e.minute,delete t.minute),void 0!==e.second&&(t.seconds=e.second,delete t.second),void 0!==e.millisecond&&(t.milliseconds=e.millisecond,delete t.millisecond),t}function ho(e,t,n){let a=co(t),i=!0===n?"UTC":"",r=new Date(e),o=void 0!==a.year||void 0!==a.month||void 0!==a.date?function(e,t,n){let a=void 0!==t.year?t.year:e[`get${n}FullYear`](),i=void 0!==t.month?t.month-1:e[`get${n}Month`](),r=new Date(a,i+1,0).getDate(),o=Math.min(r,void 0!==t.date?t.date:e[`get${n}Date`]());return e[`set${n}Date`](1),e[`set${n}Month`](2),e[`set${n}FullYear`](a),e[`set${n}Month`](i),e[`set${n}Date`](o),delete t.year,delete t.month,delete t.date,e}(r,a,i):r;for(let e in a){o[`set${i}${e.charAt(0).toUpperCase()+e.slice(1)}`](a[e])}return o}function po(e,t,n,a,i){let r={year:null,month:null,day:null,hour:null,minute:null,second:null,millisecond:null,timezoneOffset:null,dateHash:null,timeHash:null};if(void 0!==i&&Object.assign(r,i),null==e||""===e||"string"!=typeof e)return r;void 0===t&&(t=ao);let o=so(n,xe.props),s=o.months,l=o.monthsShort,{regex:u,map:c}=function(e,t){let n="("+t.days.join("|")+")",a=e+n;if(void 0!==oo[a])return oo[a];let i="("+t.daysShort.join("|")+")",r="("+t.months.join("|")+")",o="("+t.monthsShort.join("|")+")",s={},l=0,u=e.replace(ro,(e=>{switch(l++,e){case"YY":return s.YY=l,"(-?\\d{1,2})";case"YYYY":return s.YYYY=l,"(-?\\d{1,4})";case"M":return s.M=l,"(\\d{1,2})";case"Mo":return s.M=l++,"(\\d{1,2}(st|nd|rd|th))";case"MM":return s.M=l,"(\\d{2})";case"MMM":return s.MMM=l,o;case"MMMM":return s.MMMM=l,r;case"D":return s.D=l,"(\\d{1,2})";case"Do":return s.D=l++,"(\\d{1,2}(st|nd|rd|th))";case"DD":return s.D=l,"(\\d{2})";case"H":return s.H=l,"(\\d{1,2})";case"HH":return s.H=l,"(\\d{2})";case"h":return s.h=l,"(\\d{1,2})";case"hh":return s.h=l,"(\\d{2})";case"m":return s.m=l,"(\\d{1,2})";case"mm":return s.m=l,"(\\d{2})";case"s":return s.s=l,"(\\d{1,2})";case"ss":return s.s=l,"(\\d{2})";case"S":return s.S=l,"(\\d{1})";case"SS":return s.S=l,"(\\d{2})";case"SSS":return s.S=l,"(\\d{3})";case"A":return s.A=l,"(AM|PM)";case"a":return s.a=l,"(am|pm)";case"aa":return s.aa=l,"(a\\.m\\.|p\\.m\\.)";case"ddd":return i;case"dddd":return n;case"Q":case"d":case"E":return"(\\d{1})";case"do":return l++,"(\\d{1}(st|nd|rd|th))";case"Qo":return"(1st|2nd|3rd|4th)";case"DDD":case"DDDD":return"(\\d{1,3})";case"DDDo":return l++,"(\\d{1,3}(st|nd|rd|th))";case"w":return"(\\d{1,2})";case"wo":return l++,"(\\d{1,2}(st|nd|rd|th))";case"ww":return"(\\d{2})";case"Z":return s.Z=l,"(Z|[+-]\\d{2}:\\d{2})";case"ZZ":return s.ZZ=l,"(Z|[+-]\\d{2}\\d{2})";case"X":return s.X=l,"(-?\\d+)";case"x":return s.x=l,"(-?\\d{4,})";default:return l--,"["===e[0]&&(e=e.substring(1,e.length-1)),e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}})),c={map:s,regex:new RegExp("^"+u)};return oo[a]=c,c}(t,o),d=e.match(u);if(null===d)return r;let h="";if(void 0!==c.X||void 0!==c.x){let e=parseInt(d[void 0!==c.X?c.X:c.x],10);if(!0===isNaN(e)||e<0)return r;let t=new Date(e*(void 0!==c.X?1e3:1));r.year=t.getFullYear(),r.month=t.getMonth()+1,r.day=t.getDate(),r.hour=t.getHours(),r.minute=t.getMinutes(),r.second=t.getSeconds(),r.millisecond=t.getMilliseconds()}else{if(void 0!==c.YYYY)r.year=parseInt(d[c.YYYY],10);else if(void 0!==c.YY){let e=parseInt(d[c.YY],10);r.year=e<0?e:2e3+e}if(void 0!==c.M){if(r.month=parseInt(d[c.M],10),r.month<1||r.month>12)return r}else void 0!==c.MMM?r.month=l.indexOf(d[c.MMM])+1:void 0!==c.MMMM&&(r.month=s.indexOf(d[c.MMMM])+1);if(void 0!==c.D){if(r.day=parseInt(d[c.D],10),null===r.year||null===r.month||r.day<1)return r;let e="persian"!==a?new Date(r.year,r.month,0).getDate():Vr(r.year,r.month);if(r.day>e)return r}void 0!==c.H?r.hour=parseInt(d[c.H],10)%24:void 0!==c.h&&(r.hour=parseInt(d[c.h],10)%12,(c.A&&"PM"===d[c.A]||c.a&&"pm"===d[c.a]||c.aa&&"p.m."===d[c.aa])&&(r.hour+=12),r.hour=r.hour%24),void 0!==c.m&&(r.minute=parseInt(d[c.m],10)%60),void 0!==c.s&&(r.second=parseInt(d[c.s],10)%60),void 0!==c.S&&(r.millisecond=parseInt(d[c.S],10)*10**(3-d[c.S].length)),(void 0!==c.Z||void 0!==c.ZZ)&&(h=void 0!==c.Z?d[c.Z].replace(":",""):d[c.ZZ],r.timezoneOffset=("+"===h[0]?-1:1)*(60*h.slice(1,3)+1*h.slice(3,5)))}return r.dateHash=et(r.year,6)+"/"+et(r.month)+"/"+et(r.day),r.timeHash=et(r.hour)+":"+et(r.minute)+":"+et(r.second)+h,r}function fo(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate());t.setDate(t.getDate()-(t.getDay()+6)%7+3);let n=new Date(t.getFullYear(),0,4);n.setDate(n.getDate()-(n.getDay()+6)%7+3);let a=t.getTimezoneOffset()-n.getTimezoneOffset();t.setHours(t.getHours()-a);let i=(t-n)/(7*eo);return 1+Math.floor(i)}function mo(e,t){let n=new Date(e);return!0===t?function(e){return 1e4*e.getFullYear()+100*e.getMonth()+e.getDate()}(n):n.getTime()}function go(e,t,n){let a=new Date(e),i="set"+(!0===n?"UTC":"");switch(t){case"year":case"years":a[`${i}Month`](0);case"month":case"months":a[`${i}Date`](1);case"day":case"days":case"date":a[`${i}Hours`](0);case"hour":case"hours":a[`${i}Minutes`](0);case"minute":case"minutes":a[`${i}Seconds`](0);case"second":case"seconds":a[`${i}Milliseconds`](0)}return a}function vo(e,t,n){return(e.getTime()-e.getTimezoneOffset()*no-(t.getTime()-t.getTimezoneOffset()*no))/n}function bo(e,t,n="days"){let a=new Date(e),i=new Date(t);switch(n){case"years":case"year":return a.getFullYear()-i.getFullYear();case"months":case"month":return 12*(a.getFullYear()-i.getFullYear())+a.getMonth()-i.getMonth();case"days":case"day":case"date":return vo(go(a,"day"),go(i,"day"),eo);case"hours":case"hour":return vo(go(a,"hour"),go(i,"hour"),to);case"minutes":case"minute":return vo(go(a,"minute"),go(i,"minute"),no);case"seconds":case"second":return vo(go(a,"second"),go(i,"second"),1e3)}}function _o(e){return bo(e,go(e,"year"),"days")+1}function yo(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function wo(e){if(e>=11&&e<=13)return`${e}th`;switch(e%10){case 1:return`${e}st`;case 2:return`${e}nd`;case 3:return`${e}rd`}return`${e}th`}var ko={YY(e,t,n){let a=this.YYYY(e,t,n)%100;return a>=0?et(a):"-"+et(Math.abs(a))},YYYY:(e,t,n)=>n??e.getFullYear(),M:e=>e.getMonth()+1,Mo:e=>wo(e.getMonth()+1),MM:e=>et(e.getMonth()+1),MMM:(e,t)=>t.monthsShort[e.getMonth()],MMMM:(e,t)=>t.months[e.getMonth()],Q:e=>Math.ceil((e.getMonth()+1)/3),Qo(e){return wo(this.Q(e))},D:e=>e.getDate(),Do:e=>wo(e.getDate()),DD:e=>et(e.getDate()),DDD:e=>_o(e),DDDo:e=>wo(_o(e)),DDDD:e=>et(_o(e),3),d:e=>e.getDay(),do:e=>wo(e.getDay()),dd:(e,t)=>t.days[e.getDay()].slice(0,2),ddd:(e,t)=>t.daysShort[e.getDay()],dddd:(e,t)=>t.days[e.getDay()],E:e=>e.getDay()||7,w:e=>fo(e),wo:e=>wo(fo(e)),ww:e=>et(fo(e)),H:e=>e.getHours(),HH:e=>et(e.getHours()),h(e){let t=e.getHours();return 0===t?12:t>12?t%12:t},hh(e){return et(this.h(e))},m:e=>e.getMinutes(),mm:e=>et(e.getMinutes()),s:e=>e.getSeconds(),ss:e=>et(e.getSeconds()),S:e=>Math.floor(e.getMilliseconds()/100),SS:e=>et(Math.floor(e.getMilliseconds()/10)),SSS:e=>et(e.getMilliseconds(),3),A:e=>e.getHours()<12?"AM":"PM",a:e=>e.getHours()<12?"am":"pm",aa:e=>e.getHours()<12?"a.m.":"p.m.",Z:(e,t,n,a)=>lo(a??e.getTimezoneOffset(),":"),ZZ:(e,t,n,a)=>lo(a??e.getTimezoneOffset()),X:e=>Math.floor(e.getTime()/1e3),x:e=>e.getTime()};function xo(e,t,n,a,i){if(0!==e&&!e||e===1/0||e===-1/0)return;let r=new Date(e);if(isNaN(r))return;void 0===t&&(t=ao);let o=so(n,xe.props);return t.replace(io,((e,t)=>e in ko?ko[e](r,o,a,i):void 0===t?e:t.split("\\]").join("]")))}var So={isValid:function(e){return"number"==typeof e||!1===isNaN(Date.parse(e))},extractDate:function(e,t,n){let a=po(e,t,n),i=new Date(a.year,null===a.month?null:a.month-1,null===a.day?1:a.day,a.hour,a.minute,a.second,a.millisecond),r=i.getTimezoneOffset();return null===a.timezoneOffset||a.timezoneOffset===r?i:uo(i,{minutes:a.timezoneOffset-r},1)},buildDate:function(e,t){return ho(new Date,e,t)},getDayOfWeek:function(e){let t=new Date(e).getDay();return 0===t?7:t},getWeekOfYear:fo,isBetweenDates:function(e,t,n,a={}){let i=mo(t,a.onlyDate),r=mo(n,a.onlyDate),o=mo(e,a.onlyDate);return(o>i||!0===a.inclusiveFrom&&o===i)&&(o{t=Math.max(t,new Date(e))})),t},getMinDate:function(e){let t=new Date(e);return Array.prototype.slice.call(arguments,1).forEach((e=>{t=Math.min(t,new Date(e))})),t},getDateDiff:bo,getDayOfYear:_o,inferDateFormat:function(e){return!0===$e(e)?"date":"number"==typeof e?"number":"string"},getDateBetween:function(e,t,n){let a=new Date(e);if(t){let e=new Date(t);if(ae)return e}return a},isSameDate:function(e,t,n){let a=new Date(e),i=new Date(t);if(void 0===n)return a.getTime()===i.getTime();switch(n){case"second":case"seconds":if(a.getSeconds()!==i.getSeconds())return!1;case"minute":case"minutes":if(a.getMinutes()!==i.getMinutes())return!1;case"hour":case"hours":if(a.getHours()!==i.getHours())return!1;case"day":case"days":case"date":if(a.getDate()!==i.getDate())return!1;case"month":case"months":if(a.getMonth()!==i.getMonth())return!1;case"year":case"years":if(a.getFullYear()!==i.getFullYear())return!1;break;default:throw new Error(`date isSameDate unknown unit ${n}`)}return!0},daysInMonth:yo,formatDate:xo,clone:function(e){return!0===$e(e)?new Date(e.getTime()):e}},Co=20,Eo=["Calendar","Years","Months"],To=e=>Eo.includes(e),Ao=e=>/^-?[\d]+\/[0-1]\d$/.test(e),Mo=" — ";function Po(e){return e.year+"/"+et(e.month)}var Lo=F({name:"QDate",props:{...Gr,...ii,...Rt,modelValue:{required:!0,validator:e=>"string"==typeof e||!0===Array.isArray(e)||Object(e)===e||null===e},multiple:Boolean,range:Boolean,title:String,subtitle:String,mask:{...Gr.mask,default:"YYYY/MM/DD"},defaultYearMonth:{type:String,validator:Ao},yearsInMonthView:Boolean,events:[Array,Function],eventColor:[String,Function],emitImmediately:Boolean,options:[Array,Function],navigationMinYearMonth:{type:String,validator:Ao},navigationMaxYearMonth:{type:String,validator:Ao},noUnset:Boolean,firstDayOfWeek:[String,Number],todayBtn:Boolean,minimal:Boolean,defaultView:{type:String,default:"Calendar",validator:To}},emits:[...Zr,"rangeStart","rangeEnd","navigation"],setup(e,{slots:t,emit:o}){let s,{proxy:l}=k(),{$q:u}=l,c=It(e,u),{getCache:h}=_i(),{tabindex:p,headerClass:f,getLocale:m,getCurrentDate:g}=Xr(e,u),v=oi(ri(e)),b=a(null),_=a(pe()),y=a(m()),w=i((()=>pe())),x=i((()=>m())),C=i((()=>g())),E=a(me(_.value,y.value)),T=a(e.defaultView),A=i((()=>!0===u.lang.rtl?"right":"left")),M=a(A.value),P=a(A.value),L=E.value.year,O=a(L-L%Co-(L<0?Co:0)),N=a(null),R=i((()=>{let t=!0===e.landscape?"landscape":"portrait";return`q-date q-date--${t} q-date--${t}-${!0===e.minimal?"minimal":"standard"}`+(!0===c.value?" q-date--dark q-dark":"")+(!0===e.bordered?" q-date--bordered":"")+(!0===e.square?" q-date--square no-border-radius":"")+(!0===e.flat?" q-date--flat no-shadow":"")+(!0===e.disable?" disabled":!0===e.readonly?" q-date--readonly":"")})),I=i((()=>e.color||"primary")),z=i((()=>e.textColor||"white")),q=i((()=>!0===e.emitImmediately&&!0!==e.multiple&&!0!==e.range)),D=i((()=>!0===Array.isArray(e.modelValue)?e.modelValue:null!==e.modelValue&&void 0!==e.modelValue?[e.modelValue]:[])),j=i((()=>D.value.filter((e=>"string"==typeof e)).map((e=>fe(e,_.value,y.value))).filter((e=>null!==e.dateHash&&null!==e.day&&null!==e.month&&null!==e.year)))),$=i((()=>{let e=e=>fe(e,_.value,y.value);return D.value.filter((e=>!0===je(e)&&void 0!==e.from&&void 0!==e.to)).map((t=>({from:e(t.from),to:e(t.to)}))).filter((e=>null!==e.from.dateHash&&null!==e.to.dateHash&&e.from.dateHash"persian"!==e.calendar?e=>new Date(e.year,e.month-1,e.day):e=>{let t=Br(e.year,e.month,e.day);return new Date(t.gy,t.gm-1,t.gd)})),F=i((()=>"persian"===e.calendar?Jr:(e,t,n)=>xo(new Date(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond),void 0===t?_.value:t,void 0===n?y.value:n,e.year,e.timezoneOffset))),V=i((()=>j.value.length+$.value.reduce(((e,t)=>e+1+bo(B.value(t.to),B.value(t.from))),0))),U=i((()=>{if(void 0!==e.title&&null!==e.title&&0!==e.title.length)return e.title;if(null!==N.value){let e=N.value.init,t=B.value(e);return y.value.daysShort[t.getDay()]+", "+y.value.monthsShort[e.month-1]+" "+e.day+Mo+"?"}if(0===V.value)return Mo;if(V.value>1)return`${V.value} ${y.value.pluralDay}`;let t=j.value[0],n=B.value(t);return!0===isNaN(n.valueOf())?Mo:void 0!==y.value.headerTitle?y.value.headerTitle(n,t):y.value.daysShort[n.getDay()]+", "+y.value.monthsShort[t.month-1]+" "+t.day})),H=i((()=>j.value.concat($.value.map((e=>e.from))).sort(((e,t)=>e.year-t.year||e.month-t.month))[0])),W=i((()=>j.value.concat($.value.map((e=>e.to))).sort(((e,t)=>t.year-e.year||t.month-e.month))[0])),Y=i((()=>{if(void 0!==e.subtitle&&null!==e.subtitle&&0!==e.subtitle.length)return e.subtitle;if(0===V.value)return Mo;if(V.value>1){let e=H.value,t=W.value,n=y.value.monthsShort;return n[e.month-1]+(e.year!==t.year?" "+e.year+Mo+n[t.month-1]+" ":e.month!==t.month?Mo+n[t.month-1]:"")+" "+t.year}return j.value[0].year})),Q=i((()=>{let e=[u.iconSet.datetime.arrowLeft,u.iconSet.datetime.arrowRight];return!0===u.lang.rtl?e.reverse():e})),K=i((()=>void 0!==e.firstDayOfWeek?Number(e.firstDayOfWeek):y.value.firstDayOfWeek)),G=i((()=>{let e=y.value.daysShort,t=K.value;return t>0?e.slice(t,7).concat(e.slice(0,t)):e})),Z=i((()=>{let t=E.value;return"persian"!==e.calendar?new Date(t.year,t.month,0).getDate():Vr(t.year,t.month)})),J=i((()=>"function"==typeof e.eventColor?e.eventColor:()=>e.eventColor)),X=i((()=>{if(void 0===e.navigationMinYearMonth)return null;let t=e.navigationMinYearMonth.split("/");return{year:parseInt(t[0],10),month:parseInt(t[1],10)}})),ee=i((()=>{if(void 0===e.navigationMaxYearMonth)return null;let t=e.navigationMaxYearMonth.split("/");return{year:parseInt(t[0],10),month:parseInt(t[1],10)}})),te=i((()=>{let e={month:{prev:!0,next:!0},year:{prev:!0,next:!0}};return null!==X.value&&X.value.year>=E.value.year&&(e.year.prev=!1,X.value.year===E.value.year&&X.value.month>=E.value.month&&(e.month.prev=!1)),null!==ee.value&&ee.value.year<=E.value.year&&(e.year.next=!1,ee.value.year===E.value.year&&ee.value.month<=E.value.month&&(e.month.next=!1)),e})),ne=i((()=>{let e={};return j.value.forEach((t=>{let n=Po(t);void 0===e[n]&&(e[n]=[]),e[n].push(t.day)})),e})),ae=i((()=>{let e={};return $.value.forEach((t=>{let n=Po(t.from),a=Po(t.to);if(void 0===e[n]&&(e[n]=[]),e[n].push({from:t.from.day,to:n===a?t.to.day:void 0,range:t}),n12&&(o.year++,o.month=1)}})),e})),ie=i((()=>{if(null===N.value)return;let{init:e,initHash:t,final:n,finalHash:a}=N.value,[i,r]=t<=a?[e,n]:[n,e],o=Po(i),s=Po(r);if(o!==re.value&&s!==re.value)return;let l={};return o===re.value?(l.from=i.day,l.includeFrom=!0):l.from=1,s===re.value?(l.to=r.day,l.includeTo=!0):l.to=Z.value,l})),re=i((()=>Po(E.value))),oe=i((()=>{let t={};if(void 0===e.options){for(let e=1;e<=Z.value;e++)t[e]=!0;return t}let n="function"==typeof e.options?e.options:t=>e.options.includes(t);for(let e=1;e<=Z.value;e++){let a=re.value+"/"+et(e);t[e]=n(a)}return t})),se=i((()=>{let t={};if(void 0===e.events)for(let e=1;e<=Z.value;e++)t[e]=!1;else{let n="function"==typeof e.events?e.events:t=>e.events.includes(t);for(let e=1;e<=Z.value;e++){let a=re.value+"/"+et(e);t[e]=!0===n(a)&&J.value(a)}}return t})),le=i((()=>{let t,n,{year:a,month:i}=E.value;if("persian"!==e.calendar)t=new Date(a,i-1,1),n=new Date(a,i-1,0).getDate();else{let e=Br(a,i,1);t=new Date(e.gy,e.gm-1,e.gd);let r=i-1,o=a;0===r&&(r=12,o--),n=Vr(o,r)}return{days:t.getDay()-K.value-1,endDay:n}})),ue=i((()=>{let e=[],{days:t,endDay:n}=le.value,a=t<0?t+7:t;if(a<6)for(let t=n-a;t<=n;t++)e.push({i:t,fill:!0});let i=e.length;for(let t=1;t<=Z.value;t++){let n={i:t,event:se.value[t],classes:[]};!0===oe.value[t]&&(n.in=!0,n.flat=!0),e.push(n)}if(void 0!==ne.value[re.value]&&ne.value[re.value].forEach((t=>{let n=i+t-1;Object.assign(e[n],{selected:!0,unelevated:!0,flat:!1,color:I.value,textColor:z.value})})),void 0!==ae.value[re.value]&&ae.value[re.value].forEach((t=>{if(void 0!==t.from){let n=i+t.from-1,a=i+(t.to||Z.value)-1;for(let i=n;i<=a;i++)Object.assign(e[i],{range:t.range,unelevated:!0,color:I.value,textColor:z.value});Object.assign(e[n],{rangeFrom:!0,flat:!1}),void 0!==t.to&&Object.assign(e[a],{rangeTo:!0,flat:!1})}else if(void 0!==t.to){let n=i+t.to-1;for(let a=i;a<=n;a++)Object.assign(e[a],{range:t.range,unelevated:!0,color:I.value,textColor:z.value});Object.assign(e[n],{flat:!1,rangeTo:!0})}else{let n=i+Z.value-1;for(let a=i;a<=n;a++)Object.assign(e[a],{range:t.range,unelevated:!0,color:I.value,textColor:z.value})}})),void 0!==ie.value){let t=i+ie.value.from-1,n=i+ie.value.to-1;for(let a=t;a<=n;a++)e[a].color=I.value,e[a].editRange=!0;!0===ie.value.includeFrom&&(e[t].editRangeFrom=!0),!0===ie.value.includeTo&&(e[n].editRangeTo=!0)}E.value.year===C.value.year&&E.value.month===C.value.month&&(e[i+C.value.day-1].today=!0);let r=e.length%7;if(r>0){let t=7-r;for(let n=1;n<=t;n++)e.push({i:n,fill:!0})}return e.forEach((e=>{let t="q-date__calendar-item ";!0===e.fill?t+="q-date__calendar-item--fill":(t+="q-date__calendar-item--"+(!0===e.in?"in":"out"),void 0!==e.range&&(t+=" q-date__range"+(!0===e.rangeTo?"-to":!0===e.rangeFrom?"-from":"")),!0===e.editRange&&(t+=` q-date__edit-range${!0===e.editRangeFrom?"-from":""}${!0===e.editRangeTo?"-to":""}`),(void 0!==e.range||!0===e.editRange)&&(t+=` text-${e.color}`)),e.classes=t})),e})),ce=i((()=>!0===e.disable?{"aria-disabled":"true"}:{}));function de(){let{year:e,month:t,day:n}=C.value,a={...E.value,year:e,month:t,day:n},i=ne.value[Po(a)];(void 0===i||!1===i.includes(a.day))&&Ee(a),he(a.year,a.month)}function he(e,t){T.value="Calendar",we(e,t)}function pe(){return"persian"===e.calendar?"YYYY/MM/DD":e.mask}function fe(t,n,a){return po(t,n,a,e.calendar,{hour:0,minute:0,second:0,millisecond:0})}function me(t,n){let a=!0===Array.isArray(e.modelValue)?e.modelValue:e.modelValue?[e.modelValue]:[];if(0===a.length)return ge();let i=a[a.length-1],r=fe(void 0!==i.from?i.from:i,t,n);return null===r.dateHash?ge():r}function ge(){let t,n;if(void 0!==e.defaultYearMonth){let a=e.defaultYearMonth.split("/");t=parseInt(a[0],10),n=parseInt(a[1],10)}else{let e=void 0!==C.value?C.value:g();t=e.year,n=e.month}return{year:t,month:n,day:1,hour:0,minute:0,second:0,millisecond:0,dateHash:t+"/"+et(n)+"/01"}}function ve(e){let t=E.value.year,n=Number(E.value.month)+e;13===n?(n=1,t++):0===n&&(n=12,t--),we(t,n),!0===q.value&&xe("month")}function be(e){we(Number(E.value.year)+e,E.value.month),!0===q.value&&xe("year")}function _e(t){we(t,E.value.month),T.value="Years"===e.defaultView?"Months":"Calendar",!0===q.value&&xe("year")}function ye(e){return{year:e.year,month:e.month,day:e.day}}function we(e,t,n){if(null!==X.value&&e<=X.value.year&&((t=ee.value.year&&((t>ee.value.month||e>ee.value.year)&&(t=ee.value.month),e=ee.value.year),void 0!==n){let{hour:e,minute:t,second:a,millisecond:i,timezoneOffset:r,timeHash:o}=n;Object.assign(E.value,{hour:e,minute:t,second:a,millisecond:i,timezoneOffset:r,timeHash:o})}let a=e+"/"+et(t)+"/01";a!==E.value.dateHash&&(M.value=E.value.dateHash{O.value=e-e%Co-(e<0?Co:0),Object.assign(E.value,{year:e,month:t,day:1,dateHash:a})})))}function ke(t,n,a){let i=null!==t&&1===t.length&&!1===e.multiple?t[0]:t;s=i;let{reason:r,details:l}=Se(n,a);o("update:modelValue",i,r,l)}function xe(t){let n=void 0!==j.value[0]&&null!==j.value[0].dateHash?{...j.value[0]}:{...E.value};d((()=>{n.year=E.value.year,n.month=E.value.month;let a="persian"!==e.calendar?new Date(n.year,n.month,0).getDate():Vr(n.year,n.month);n.day=Math.min(Math.max(1,n.day),a);let i=Ce(n);s=i;let{details:r}=Se("",n);o("update:modelValue",i,t,r)}))}function Se(e,t){return void 0!==t.from?{reason:`${e}-range`,details:{...ye(t.target),from:ye(t.from),to:ye(t.to)}}:{reason:`${e}-day`,details:ye(t)}}function Ce(e,t,n){return void 0!==e.from?{from:F.value(e.from,t,n),to:F.value(e.to,t,n)}:F.value(e,t,n)}function Ee(t){let n;if(!0===e.multiple)if(void 0!==t.from){let e=Jr(t.from),a=Jr(t.to),i=j.value.filter((t=>t.dateHasha)),r=$.value.filter((({from:t,to:n})=>n.dateHasha));n=i.concat(r).concat(t).map((e=>Ce(e)))}else{let e=D.value.slice();e.push(Ce(t)),n=e}else n=Ce(t);ke(n,"add",t)}function Te(t){if(!0===e.noUnset)return;let n=null;if(!0===e.multiple&&!0===Array.isArray(e.modelValue)){let a=Ce(t);n=void 0!==t.from?e.modelValue.filter((e=>void 0===e.from||e.from!==a.from&&e.to!==a.to)):e.modelValue.filter((e=>e!==a)),0===n.length&&(n=null)}ke(n,"remove",t)}function Ae(t,n,a){let i=j.value.concat($.value).map((e=>Ce(e,t,n))).filter((e=>void 0!==e.from?null!==e.from.dateHash&&null!==e.to.dateHash:null!==e.dateHash));o("update:modelValue",(!0===e.multiple?i:i[0])||null,a)}function Me(){if(!0!==e.minimal)return n("div",{class:"q-date__header "+f.value},[n("div",{class:"relative-position"},[n(S,{name:"q-transition--fade"},(()=>n("div",{key:"h-yr-"+Y.value,class:"q-date__header-subtitle q-date__header-link "+("Years"===T.value?"q-date__header-link--active":"cursor-pointer"),tabindex:p.value,...h("vY",{onClick(){T.value="Years"},onKeyup(e){13===e.keyCode&&(T.value="Years")}})},[Y.value])))]),n("div",{class:"q-date__header-title relative-position flex no-wrap"},[n("div",{class:"relative-position col"},[n(S,{name:"q-transition--fade"},(()=>n("div",{key:"h-sub"+U.value,class:"q-date__header-title-label q-date__header-link "+("Calendar"===T.value?"q-date__header-link--active":"cursor-pointer"),tabindex:p.value,...h("vC",{onClick(){T.value="Calendar"},onKeyup(e){13===e.keyCode&&(T.value="Calendar")}})},[U.value])))]),!0===e.todayBtn?n(Mn,{class:"q-date__header-today self-start",icon:u.iconSet.datetime.today,flat:!0,size:"sm",round:!0,tabindex:p.value,onClick:de}):null])])}function Pe({label:e,type:t,key:a,dir:i,goTo:r,boundaries:o,cls:s}){return[n("div",{class:"row items-center q-date__arrow"},[n(Mn,{round:!0,dense:!0,size:"sm",flat:!0,icon:Q.value[0],tabindex:p.value,disable:!1===o.prev,...h("go-#"+t,{onClick(){r(-1)}})})]),n("div",{class:"relative-position overflow-hidden flex flex-center"+s},[n(S,{name:"q-transition--jump-"+i},(()=>n("div",{key:a},[n(Mn,{flat:!0,dense:!0,noCaps:!0,label:e,tabindex:p.value,...h("view#"+t,{onClick:()=>{T.value=t}})})])))]),n("div",{class:"row items-center q-date__arrow"},[n(Mn,{round:!0,dense:!0,size:"sm",flat:!0,icon:Q.value[1],tabindex:p.value,disable:!1===o.next,...h("go+#"+t,{onClick(){r(1)}})})])]}r((()=>e.modelValue),(e=>{if(s===e)s=0;else{let e=me(_.value,y.value);we(e.year,e.month,e)}})),r(T,(()=>{null!==b.value&&!0===l.$el.contains(document.activeElement)&&b.value.focus()})),r((()=>E.value.year+"|"+E.value.month),(()=>{o("navigation",{year:E.value.year,month:E.value.month})})),r(w,(e=>{Ae(e,y.value,"mask"),_.value=e})),r(x,(e=>{Ae(_.value,e,"locale"),y.value=e}));let Le={Calendar:()=>[n("div",{key:"calendar-view",class:"q-date__view q-date__calendar"},[n("div",{class:"q-date__navigation row items-center no-wrap"},Pe({label:y.value.months[E.value.month-1],type:"Months",key:E.value.month,dir:M.value,goTo:ve,boundaries:te.value.month,cls:" col"}).concat(Pe({label:E.value.year,type:"Years",key:E.value.year,dir:P.value,goTo:be,boundaries:te.value.year,cls:""}))),n("div",{class:"q-date__calendar-weekdays row items-center no-wrap"},G.value.map((e=>n("div",{class:"q-date__calendar-item"},[n("div",e)])))),n("div",{class:"q-date__calendar-days-container relative-position overflow-hidden"},[n(S,{name:"q-transition--slide-"+M.value},(()=>n("div",{key:re.value,class:"q-date__calendar-days fit"},ue.value.map((t=>n("div",{class:t.classes},[!0===t.in?n(Mn,{class:!0===t.today?"q-date__today":"",dense:!0,flat:t.flat,unelevated:t.unelevated,color:t.color,textColor:t.textColor,label:t.i,tabindex:p.value,...h("day#"+t.i,{onClick:()=>{!function(t){let n={...E.value,day:t};if(!1===e.range)return void function(e,t){let n=ne.value[t];(void 0!==n&&!0===n.includes(e.day)?Te:Ee)(e)}(n,re.value);if(null===N.value){let a=ue.value.find((e=>!0!==e.fill&&e.i===t));if(!0!==e.noUnset&&void 0!==a.range)return void Te({target:n,from:a.range.from,to:a.range.to});if(!0===a.selected)return void Te(n);let i=Jr(n);N.value={init:n,initHash:i,final:n,finalHash:i},o("rangeStart",ye(n))}else{let e=N.value.initHash,t=Jr(n),a=e<=t?{from:N.value.init,to:n}:{from:n,to:N.value.init};N.value=null,Ee(e===t?n:{target:n,...a}),o("rangeEnd",{from:ye(a.from),to:ye(a.to)})}}(t.i)},onMouseover:()=>{!function(e){if(null!==N.value){let t={...E.value,day:e};Object.assign(N.value,{final:t,finalHash:Jr(t)})}}(t.i)}})},!1!==t.event?()=>n("div",{class:"q-date__event bg-"+t.event}):null):n("div",""+t.i)]))))))])])],Months(){let t=E.value.year===C.value.year,a=e=>null!==X.value&&E.value.year===X.value.year&&X.value.month>e||null!==ee.value&&E.value.year===ee.value.year&&ee.value.month{let r=E.value.month===i+1;return n("div",{class:"q-date__months-item flex flex-center"},[n(Mn,{class:!0===t&&C.value.month===i+1?"q-date__today":null,flat:!0!==r,label:e,unelevated:r,color:!0===r?I.value:null,textColor:!0===r?z.value:null,tabindex:p.value,disable:a(i+1),...h("month#"+i,{onClick:()=>{!function(e){we(E.value.year,e),T.value="Calendar",!0===q.value&&xe("month")}(i+1)}})})])}));return!0===e.yearsInMonthView&&i.unshift(n("div",{class:"row no-wrap full-width"},[Pe({label:E.value.year,type:"Years",key:E.value.year,dir:P.value,goTo:be,boundaries:te.value.year,cls:" col"})])),n("div",{key:"months-view",class:"q-date__view q-date__months flex flex-center"},i)},Years(){let e=O.value,t=e+Co,a=[],i=e=>null!==X.value&&X.value.year>e||null!==ee.value&&ee.value.year{_e(r)}})})]))}return n("div",{class:"q-date__view q-date__years flex flex-center"},[n("div",{class:"col-auto"},[n(Mn,{round:!0,dense:!0,flat:!0,icon:Q.value[0],tabindex:p.value,disable:i(e),...h("y-",{onClick:()=>{O.value-=Co}})})]),n("div",{class:"q-date__years-content col self-stretch row items-center"},a),n("div",{class:"col-auto"},[n(Mn,{round:!0,dense:!0,flat:!0,icon:Q.value[1],tabindex:p.value,disable:i(t),...h("y+",{onClick:()=>{O.value+=Co}})})])])}};return Object.assign(l,{setToday:de,setView:function(e){!0===To(e)&&(T.value=e)},offsetCalendar:function(e,t){["month","year"].includes(e)&&("month"===e?ve:be)(!0===t?-1:1)},setCalendarTo:he,setEditingRange:function(t,n){if(!1===e.range||!t)return void(N.value=null);let a=Object.assign({...E.value},t),i=void 0!==n?Object.assign({...E.value},n):a;N.value={init:a,initHash:Jr(a),final:i,finalHash:Jr(i)},he(a.year,a.month)}}),()=>{let a=[n("div",{class:"q-date__content col relative-position"},[n(S,{name:"q-transition--fade"},Le[T.value])])],i=dt(t.default);return void 0!==i&&a.push(n("div",{class:"q-date__actions"},i)),void 0!==e.name&&!0!==e.disable&&v(a,"push"),n("div",{class:R.value,...ce.value},[Me(),n("div",{ref:b,class:"q-date__main col column",tabindex:-1},a)])}}});function Oo(e,t,n){let a;function i(){void 0!==a&&(_e.remove(a),a=void 0)}return g((()=>{!0===e.value&&i()})),{removeFromHistory:i,addToHistory(){a={condition:()=>!0===n.value,handler:t},_e.add(a)}}}var No,Ro,Io,zo,qo,Do,jo=0,$o=!1,Bo=null;function Fo(e){(function(e){if(e.target===document.body||e.target.classList.contains("q-layout__backdrop"))return!0;let t=K(e),n=e.shiftKey&&!e.deltaX,a=!n&&Math.abs(e.deltaX)<=Math.abs(e.deltaY),i=n||a?e.deltaY:e.deltaX;for(let e=0;e0&&n.scrollTop+n.clientHeight===n.scrollHeight:i<0&&0===n.scrollLeft||i>0&&n.scrollLeft+n.clientWidth===n.scrollWidth}return!0})(e)&&J(e)}function Vo(e){e.target===document&&(document.scrollingElement.scrollTop=document.scrollingElement.scrollTop)}function Uo(e){!0!==$o&&($o=!0,requestAnimationFrame((()=>{$o=!1;let{height:t}=e.target,{clientHeight:n,scrollTop:a}=document.scrollingElement;(void 0===Io||t!==window.innerHeight)&&(Io=n-t,document.scrollingElement.scrollTop=a),a>Io&&(document.scrollingElement.scrollTop-=Math.ceil((a-Io)/8))})))}function Ho(e){let t=document.body,n=void 0!==window.visualViewport;if("add"===e){let{overflowY:e,overflowX:a}=window.getComputedStyle(t);No=ca(window),Ro=ua(window),zo=t.style.left,qo=t.style.top,Do=window.location.href,t.style.left=`-${No}px`,t.style.top=`-${Ro}px`,"hidden"!==a&&("scroll"===a||t.scrollWidth>window.innerWidth)&&t.classList.add("q-body--force-scrollbar-x"),"hidden"!==e&&("scroll"===e||t.scrollHeight>window.innerHeight)&&t.classList.add("q-body--force-scrollbar-y"),t.classList.add("q-body--prevent-scroll"),document.qScrollPrevented=!0,!0===j.is.ios&&(!0===n?(window.scrollTo(0,0),window.visualViewport.addEventListener("resize",Uo,H.passiveCapture),window.visualViewport.addEventListener("scroll",Uo,H.passiveCapture),window.scrollTo(0,0)):window.addEventListener("scroll",Vo,H.passiveCapture))}!0===j.is.desktop&&!0===j.is.mac&&window[`${e}EventListener`]("wheel",Fo,H.notPassive),"remove"===e&&(!0===j.is.ios&&(!0===n?(window.visualViewport.removeEventListener("resize",Uo,H.passiveCapture),window.visualViewport.removeEventListener("scroll",Uo,H.passiveCapture)):window.removeEventListener("scroll",Vo,H.passiveCapture)),t.classList.remove("q-body--prevent-scroll"),t.classList.remove("q-body--force-scrollbar-x"),t.classList.remove("q-body--force-scrollbar-y"),document.qScrollPrevented=!1,t.style.left=zo,t.style.top=qo,window.location.href===Do&&window.scrollTo(No,Ro),Io=void 0)}function Wo(e){let t="add";if(!0===e){if(jo++,null!==Bo)return clearTimeout(Bo),void(Bo=null);if(jo>1)return}else{if(0===jo||--jo>0)return;if(t="remove",!0===j.is.ios&&!0===j.is.nativeMobile)return null!==Bo&&clearTimeout(Bo),void(Bo=setTimeout((()=>{Ho(t),Bo=null}),100))}Ho(t)}function Yo(){let e;return{preventBodyScroll(t){t!==e&&(void 0!==e||!0===t)&&(e=t,Wo(t))}}}var Qo=0,Ko={standard:"fixed-full flex-center",top:"fixed-top justify-center",bottom:"fixed-bottom justify-center",right:"fixed-right items-center",left:"fixed-left items-center"},Go={standard:["scale","scale"],top:["slide-down","slide-up"],bottom:["slide-up","slide-down"],right:["slide-left","slide-right"],left:["slide-right","slide-left"]},Zo=F({name:"QDialog",inheritAttrs:!1,props:{...zn,...ea,transitionShow:String,transitionHide:String,persistent:Boolean,autoClose:Boolean,allowFocusOutside:Boolean,noEscDismiss:Boolean,noBackdropDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,noShake:Boolean,seamless:Boolean,maximized:Boolean,fullWidth:Boolean,fullHeight:Boolean,square:Boolean,backdropFilter:String,position:{type:String,default:"standard",validator:e=>["standard","top","bottom","left","right"].includes(e)}},emits:[...qn,"shake","click","escapeKey"],setup(e,{slots:t,emit:o,attrs:s}){let l,u,c=k(),d=a(null),h=a(!1),p=a(!1),f=null,m=null,v=i((()=>!0!==e.persistent&&!0!==e.noRouteDismiss&&!0!==e.seamless)),{preventBodyScroll:b}=Yo(),{registerTimeout:_}=aa(),{registerTick:y,removeTick:w}=na(),{transitionProps:x,transitionStyle:C}=ta(e,(()=>Go[e.position][0]),(()=>Go[e.position][1])),E=i((()=>C.value+(void 0!==e.backdropFilter?`;backdrop-filter:${e.backdropFilter};-webkit-backdrop-filter:${e.backdropFilter}`:""))),{showPortal:T,hidePortal:A,portalIsAccessible:M,renderPortal:P}=Xn(c,d,(function(){return n("div",{role:"dialog","aria-modal":!0===I.value?"true":"false",...s,class:q.value},[n(S,{name:"q-transition--fade",appear:!0},(()=>!0===I.value?n("div",{class:"q-dialog__backdrop fixed-full",style:E.value,"aria-hidden":"true",tabindex:-1,onClick:U}):null)),n(S,x.value,(()=>!0===h.value?n("div",{ref:d,class:R.value,style:C.value,tabindex:-1,...z.value},dt(t.default)):null))])}),"dialog"),{hide:L}=Dn({showing:h,hideOnRouteChange:v,handleShow:function(t){O(),m=!1===e.noRefocus&&null!==document.activeElement?document.activeElement:null,F(e.maximized),T(),p.value=!0,!0!==e.noFocus?(null!==document.activeElement&&document.activeElement.blur(),y(D)):w(),_((()=>{if(!0===c.proxy.$q.platform.is.ios){if(!0!==e.seamless&&document.activeElement){let{top:e,bottom:t}=document.activeElement.getBoundingClientRect(),{innerHeight:n}=window,a=void 0!==window.visualViewport?window.visualViewport.height:n;e>0&&t>a/2&&(document.scrollingElement.scrollTop=Math.min(document.scrollingElement.scrollHeight-a,t>=n?1/0:Math.ceil(document.scrollingElement.scrollTop+t-a/2))),document.activeElement.scrollIntoView()}u=!0,d.value.click(),u=!1}T(!0),p.value=!1,o("show",t)}),e.transitionDuration)},handleHide:function(t){w(),N(),B(!0),p.value=!0,A(),null!==m&&(((t&&0===t.type.indexOf("key")?m.closest('[tabindex]:not([tabindex^="-"])'):void 0)||m).focus(),m=null),_((()=>{A(!0),p.value=!1,o("hide",t)}),e.transitionDuration)},processOnMount:!0}),{addToHistory:O,removeFromHistory:N}=Oo(h,L,v),R=i((()=>`q-dialog__inner flex no-pointer-events q-dialog__inner--${!0===e.maximized?"maximized":"minimized"} q-dialog__inner--${e.position} ${Ko[e.position]}`+(!0===p.value?" q-dialog__inner--animating":"")+(!0===e.fullWidth?" q-dialog__inner--fullwidth":"")+(!0===e.fullHeight?" q-dialog__inner--fullheight":"")+(!0===e.square?" q-dialog__inner--square":""))),I=i((()=>!0===h.value&&!0!==e.seamless)),z=i((()=>!0===e.autoClose?{onClick:V}:{})),q=i((()=>["q-dialog fullscreen no-pointer-events q-dialog--"+(!0===I.value?"modal":"seamless"),s.class]));function D(e){Vn((()=>{let t=d.value;if(null!==t){if(void 0!==e){let n=t.querySelector(e);if(null!==n)return void n.focus({preventScroll:!0})}!0!==t.contains(document.activeElement)&&(t=t.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||t.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||t.querySelector("[autofocus], [data-autofocus]")||t,t.focus({preventScroll:!0}))}}))}function j(e){e&&"function"==typeof e.focus?e.focus({preventScroll:!0}):D(),o("shake");let t=d.value;null!==t&&(t.classList.remove("q-animate--scale"),t.classList.add("q-animate--scale"),null!==f&&clearTimeout(f),f=setTimeout((()=>{f=null,null!==d.value&&(t.classList.remove("q-animate--scale"),D())}),170))}function $(){!0!==e.seamless&&(!0===e.persistent||!0===e.noEscDismiss?!0!==e.maximized&&!0!==e.noShake&&j():(o("escapeKey"),L()))}function B(t){null!==f&&(clearTimeout(f),f=null),(!0===t||!0===h.value)&&(F(!1),!0!==e.seamless&&(b(!1),La(H),Ta($))),!0!==t&&(m=null)}function F(e){!0===e?!0!==l&&(Qo<1&&document.body.classList.add("q-body--dialog"),Qo++,l=!0):!0===l&&(Qo<2&&document.body.classList.remove("q-body--dialog"),Qo--,l=!1)}function V(e){!0!==u&&(L(e),o("click",e))}function U(t){!0!==e.persistent&&!0!==e.noBackdropDismiss?L(t):!0!==e.noShake&&j()}function H(t){!0!==e.allowFocusOutside&&!0===M.value&&!0!==cn(d.value,t.target)&&D('[tabindex]:not([tabindex="-1"])')}return r((()=>e.maximized),(e=>{!0===h.value&&F(e)})),r(I,(e=>{b(e),!0===e?(Pa(H),Ea($)):(La(H),Ta($))})),Object.assign(c.proxy,{focus:D,shake:j,__updateRefocusTarget(e){m=e||null}}),g(B),P}}),Jo=F({name:"QDrawer",inheritAttrs:!1,props:{...zn,...Rt,side:{type:String,default:"left",validator:e=>["left","right"].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>["default","desktop","mobile"].includes(e),default:"default"},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...qn,"onLayout","miniState"],setup(e,{slots:t,emit:o,attrs:s}){let l=k(),{proxy:{$q:u}}=l,c=It(e,u),{preventBodyScroll:h}=Yo(),{registerTimeout:p,removeTimeout:f}=aa(),v=y(Me,Ie);if(v===Ie)return console.error("QDrawer needs to be child of QLayout"),Ie;let b,_,w=null,x=a("mobile"===e.behavior||"desktop"!==e.behavior&&v.totalWidth.value<=e.breakpoint),S=i((()=>!0===e.mini&&!0!==x.value)),C=i((()=>!0===S.value?e.miniWidth:e.width)),E=a(!0===e.showIfAbove&&!1===x.value||!0===e.modelValue),T=i((()=>!0!==e.persistent&&(!0===x.value||!0===W.value)));function A(e,t){if(N(),!1!==e&&v.animate(),re(0),!0===x.value){let e=v.instances[F.value];void 0!==e&&!0===e.belowBreakpoint&&e.hide(!1),oe(1),!0!==v.isContainer.value&&h(!0)}else oe(0),!1!==e&&se(!1);p((()=>{!1!==e&&se(!0),!0!==t&&o("show",e)}),150)}function P(e,t){R(),!1!==e&&v.animate(),oe(0),re(q.value*C.value),ce(),!0!==t?p((()=>{o("hide",e)}),150):f()}let{show:L,hide:O}=Dn({showing:E,hideOnRouteChange:T,handleShow:A,handleHide:P}),{addToHistory:N,removeFromHistory:R}=Oo(E,O,T),I={belowBreakpoint:x,hide:O},z=i((()=>"right"===e.side)),q=i((()=>(!0===u.lang.rtl?-1:1)*(!0===z.value?1:-1))),D=a(0),j=a(!1),$=a(!1),B=a(C.value*q.value),F=i((()=>!0===z.value?"left":"right")),V=i((()=>!0===E.value&&!1===x.value&&!1===e.overlay?!0===e.miniToOverlay?e.miniWidth:C.value:0)),U=i((()=>!0===e.overlay||!0===e.miniToOverlay||-1!==v.view.value.indexOf(z.value?"R":"L")||!0===u.platform.is.ios&&!0===v.isContainer.value)),H=i((()=>!1===e.overlay&&!0===E.value&&!1===x.value)),W=i((()=>!0===e.overlay&&!0===E.value&&!1===x.value)),Y=i((()=>"fullscreen q-drawer__backdrop"+(!1===E.value&&!1===j.value?" hidden":""))),Q=i((()=>({backgroundColor:`rgba(0,0,0,${.4*D.value})`}))),K=i((()=>!0===z.value?"r"===v.rows.value.top[2]:"l"===v.rows.value.top[0])),G=i((()=>!0===z.value?"r"===v.rows.value.bottom[2]:"l"===v.rows.value.bottom[0])),Z=i((()=>{let e={};return!0===v.header.space&&!1===K.value&&(!0===U.value?e.top=`${v.header.offset}px`:!0===v.header.space&&(e.top=`${v.header.size}px`)),!0===v.footer.space&&!1===G.value&&(!0===U.value?e.bottom=`${v.footer.offset}px`:!0===v.footer.space&&(e.bottom=`${v.footer.size}px`)),e})),J=i((()=>{let e={width:`${C.value}px`,transform:`translateX(${B.value}px)`};return!0===x.value?e:Object.assign(e,Z.value)})),X=i((()=>"q-drawer__content fit "+(!0!==v.isContainer.value?"scroll":"overflow-auto"))),ee=i((()=>`q-drawer q-drawer--${e.side}`+(!0===$.value?" q-drawer--mini-animate":"")+(!0===e.bordered?" q-drawer--bordered":"")+(!0===c.value?" q-drawer--dark q-dark":"")+(!0===j.value?" no-transition":!0===E.value?"":" q-layout--prevent-focus")+(!0===x.value?" fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding":" q-drawer--"+(!0===S.value?"mini":"standard")+(!0===U.value||!0!==H.value?" fixed":"")+(!0===e.overlay||!0===e.miniToOverlay?" q-drawer--on-top":"")+(!0===K.value?" q-drawer--top-padding":"")))),te=i((()=>{let t=!0===u.lang.rtl?e.side:F.value;return[[Ki,le,void 0,{[t]:!0,mouse:!0}]]})),ne=i((()=>{let t=!0===u.lang.rtl?F.value:e.side;return[[Ki,ue,void 0,{[t]:!0,mouse:!0}]]})),ae=i((()=>{let t=!0===u.lang.rtl?F.value:e.side;return[[Ki,ue,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]}));function ie(){var t,n;t=x,n="mobile"===e.behavior||"desktop"!==e.behavior&&v.totalWidth.value<=e.breakpoint,t.value!==n&&(t.value=n)}function re(e){void 0===e?d((()=>{e=!0===E.value?0:C.value,re(q.value*e)})):(!0===v.isContainer.value&&!0===z.value&&(!0===x.value||Math.abs(e)===C.value)&&(e+=q.value*v.scrollbarWidth.value),B.value=e)}function oe(e){D.value=e}function se(e){let t=!0===e?"remove":!0!==v.isContainer.value?"add":"";""!==t&&document.body.classList[t]("q-body--drawer-toggle")}function le(e){if(!1!==E.value)return;let t=C.value,n=Je(e.distance.x,0,t);if(!0===e.isFinal)return n>=Math.min(75,t)==!0?L():(v.animate(),oe(0),re(q.value*t)),void(j.value=!1);re((!0===u.lang.rtl?!0!==z.value:z.value)?Math.max(t-n,0):Math.min(0,n-t)),oe(Je(n/t,0,1)),!0===e.isFirst&&(j.value=!0)}function ue(t){if(!0!==E.value)return;let n=C.value,a=t.direction===e.side,i=(!0===u.lang.rtl?!0!==a:a)?Je(t.distance.x,0,n):0;if(!0===t.isFinal)return Math.abs(i){!0===t?(b=E.value,!0===E.value&&O(!1)):!1===e.overlay&&"mobile"!==e.behavior&&!1!==b&&(!0===E.value?(re(0),oe(0),ce()):L(!1))})),r((()=>e.side),((e,t)=>{v.instances[t]===I&&(v.instances[t]=void 0,v[t].space=!1,v[t].offset=0),v.instances[e]=I,v[e].size=C.value,v[e].space=H.value,v[e].offset=V.value})),r(v.totalWidth,(()=>{(!0===v.isContainer.value||!0!==document.qScrollPrevented)&&ie()})),r((()=>e.behavior+e.breakpoint),ie),r(v.isContainer,(e=>{!0===E.value&&h(!0!==e),!0===e&&ie()})),r(v.scrollbarWidth,(()=>{re(!0===E.value?0:void 0)})),r(V,(e=>{de("offset",e)})),r(H,(e=>{o("onLayout",e),de("space",e)})),r(z,(()=>{re()})),r(C,(t=>{re(),he(e.miniToOverlay,t)})),r((()=>e.miniToOverlay),(e=>{he(e,C.value)})),r((()=>u.lang.rtl),(()=>{re()})),r((()=>e.mini),(()=>{e.noMiniAnimation||!0===e.modelValue&&(null!==w&&clearTimeout(w),l.proxy&&l.proxy.$el&&l.proxy.$el.classList.add("q-drawer--mini-animate"),$.value=!0,w=setTimeout((()=>{w=null,$.value=!1,l&&l.proxy&&l.proxy.$el&&l.proxy.$el.classList.remove("q-drawer--mini-animate")}),150),v.animate())})),r(S,(e=>{o("miniState",e)})),v.instances[e.side]=I,he(e.miniToOverlay,C.value),de("space",H.value),de("offset",V.value),!0===e.showIfAbove&&!0!==e.modelValue&&!0===E.value&&void 0!==e["onUpdate:modelValue"]&&o("update:modelValue",!0),m((()=>{o("onLayout",H.value),o("miniState",S.value),b=!0===e.showIfAbove;let t=()=>{(!0===E.value?A:P)(!1,!0)};0===v.totalWidth.value?_=r(v.totalWidth,(()=>{_(),_=void 0,!1===E.value&&!0===e.showIfAbove&&!1===x.value?L(!1):t()})):d(t)})),g((()=>{void 0!==_&&_(),null!==w&&(clearTimeout(w),w=null),!0===E.value&&ce(),v.instances[e.side]===I&&(v.instances[e.side]=void 0,de("size",0),de("offset",0),de("space",!1))})),()=>{let a=[];!0===x.value&&(!1===e.noSwipeOpen&&a.push(M(n("div",{key:"open",class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":"true"}),te.value)),a.push(mt("div",{ref:"backdrop",class:Y.value,style:Q.value,"aria-hidden":"true",onClick:O},void 0,"backdrop",!0!==e.noSwipeBackdrop&&!0===E.value,(()=>ae.value))));let i=!0===S.value&&void 0!==t.mini,r=[n("div",{...s,key:""+i,class:[X.value,s.class]},!0===i?t.mini():dt(t.default))];return!0===e.elevated&&!0===E.value&&r.push(n("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),a.push(mt("aside",{ref:"content",class:ee.value,style:J.value},r,"contentclose",!0!==e.noSwipeClose&&!0===x.value,(()=>ne.value))),n("div",{class:"q-drawer-container"},a)}}});function Xo(e,t){if(t&&e===t)return null;let n=e.nodeName.toLowerCase();if(!0===["div","li","ul","ol","blockquote"].includes(n))return e;let a=(window.getComputedStyle?window.getComputedStyle(e):e.currentStyle).display;return"block"===a||"table"===a?e:Xo(e.parentNode)}function es(e,t,n){return!(!e||e===document.body)&&(!0===n&&e===t||(t===document?document.body:t).contains(e.parentNode))}function ts(e,t,n){if(n||((n=document.createRange()).selectNode(e),n.setStart(e,0)),0===t.count)n.setEnd(e,t.count);else if(t.count>0)if(e.nodeType===Node.TEXT_NODE)e.textContent.length0&&this.savedPos\n \n \n Print - ${document.title}\n \n \n
${this.el.innerHTML}
\n \n \n `),e.print(),void e.close()}if("link"===e){let e=this.getParentAttribute("href");if(null===e){let e=this.selectWord(this.selection),t=e?e.toString():"";if(!(t.length||this.range&&this.range.cloneContents().querySelector("img")))return;this.eVm.editLinkUrl.value=ns.test(t)?t:"https://",document.execCommand("createLink",!1,this.eVm.editLinkUrl.value),this.save(e.getRangeAt(0))}else this.eVm.editLinkUrl.value=e,this.range.selectNodeContents(this.parent),this.save();return}if("fullscreen"===e)return this.eVm.toggleFullscreen(),void n();if("viewsource"===e)return this.eVm.isViewingSource.value=!1===this.eVm.isViewingSource.value,this.eVm.setContent(this.eVm.props.modelValue),void n()}document.execCommand(e,!1,t),n()}selectWord(e){if(null===e||!0!==e.isCollapsed||void 0===e.modify)return e;let t=document.createRange();t.setStart(e.anchorNode,e.anchorOffset),t.setEnd(e.focusNode,e.focusOffset);let n=t.collapsed?["backward","forward"]:["forward","backward"];t.detach();let a=e.focusNode,i=e.focusOffset;return e.collapse(e.anchorNode,e.anchorOffset),e.modify("move",n[0],"character"),e.modify("move",n[1],"word"),e.extend(a,i),e.modify("extend",n[1],"character"),e.modify("extend",n[0],"word"),e}},is=F({name:"QTooltip",inheritAttrs:!1,props:{...On,...zn,...ea,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...ea.transitionShow,default:"jump-down"},transitionHide:{...ea.transitionHide,default:"jump-up"},anchor:{type:String,default:"bottom middle",validator:$a},self:{type:String,default:"top middle",validator:$a},offset:{type:Array,default:()=>[14,14],validator:Ba},scrollTarget:ra,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...qn],setup(e,{slots:t,emit:o,attrs:s}){let l,u,c=k(),{proxy:{$q:d}}=c,h=a(null),p=a(!1),f=i((()=>Va(e.anchor,d.lang.rtl))),m=i((()=>Va(e.self,d.lang.rtl))),v=i((()=>!0!==e.persistent)),{registerTick:b,removeTick:_}=na(),{registerTimeout:y}=aa(),{transitionProps:w,transitionStyle:x}=ta(e),{localScrollTarget:C,changeScrollEvent:E,unconfigureScrollTarget:T}=In(e,D),{anchorEl:A,canShow:M,anchorEvents:P}=Rn({showing:p,configureAnchorEl:function(){if(!0===e.noParentEvent||null===A.value)return;let t=!0===d.platform.is.mobile?[[A.value,"touchstart","delayShow","passive"]]:[[A.value,"mouseenter","delayShow","passive"],[A.value,"mouseleave","delayHide","passive"]];ee(P,"anchor",t)}}),{show:L,hide:O}=Dn({showing:p,canShow:M,handleShow:function(t){N(),b((()=>{u=new MutationObserver((()=>q())),u.observe(h.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),q(),D()})),void 0===l&&(l=r((()=>d.screen.width+"|"+d.screen.height+"|"+e.self+"|"+e.anchor+"|"+d.lang.rtl),q)),y((()=>{N(!0),o("show",t)}),e.transitionDuration)},handleHide:function(t){_(),R(),z(),y((()=>{R(!0),o("hide",t)}),e.transitionDuration)},hideOnRouteChange:v,processOnMount:!0});Object.assign(P,{delayShow:function(t){if(!0===d.platform.is.mobile){Ln(),document.body.classList.add("non-selectable");let e=A.value,t=["touchmove","touchcancel","touchend","click"].map((t=>[e,t,"delayHide","passiveCapture"]));ee(P,"tooltipTemp",t)}y((()=>{L(t)}),e.delay)},delayHide:function(t){!0===d.platform.is.mobile&&(te(P,"tooltipTemp"),Ln(),setTimeout((()=>{document.body.classList.remove("non-selectable")}),10)),y((()=>{O(t)}),e.hideDelay)}});let{showPortal:N,hidePortal:R,renderPortal:I}=Xn(c,h,(function(){return n(S,w.value,j)}),"tooltip");if(!0===d.platform.is.mobile){let t={anchorEl:A,innerRef:h,onClickOutside:e=>(O(e),e.target.classList.contains("q-dialog__backdrop")&&J(e),!0)},n=i((()=>null===e.modelValue&&!0!==e.persistent&&!0===p.value));r(n,(e=>{(!0===e?Da:ja)(t)})),g((()=>{ja(t)}))}function z(){void 0!==u&&(u.disconnect(),u=void 0),void 0!==l&&(l(),l=void 0),T(),te(P,"tooltipTemp")}function q(){Ha({targetEl:h.value,offset:e.offset,anchorEl:A.value,anchorOrigin:f.value,selfOrigin:m.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function D(){if(null!==A.value||void 0!==e.scrollTarget){C.value=sa(A.value,e.scrollTarget);let t=!0===e.noParentEvent?q:O;E(C.value,t)}}function j(){return!0===p.value?n("div",{...s,ref:h,class:["q-tooltip q-tooltip--style q-position-engine no-pointer-events",s.class],style:[s.style,x.value],role:"tooltip"},dt(t.default)):null}return g(z),Object.assign(c.proxy,{updatePosition:q}),I}}),rs=F({name:"QItem",props:{...Rt,...en,tag:{type:String,default:"div"},active:{type:Boolean,default:null},clickable:Boolean,dense:Boolean,insetLevel:Number,tabindex:[String,Number],focused:Boolean,manualFocus:Boolean},emits:["click","keyup"],setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=k(),s=It(e,o),{hasLink:l,linkAttrs:u,linkClass:c,linkTag:d,navigateOnClick:h}=tn(),p=a(null),f=a(null),m=i((()=>!0===e.clickable||!0===l.value||"label"===e.tag)),g=i((()=>!0!==e.disable&&!0===m.value)),v=i((()=>"q-item q-item-type row no-wrap"+(!0===e.dense?" q-item--dense":"")+(!0===s.value?" q-item--dark":"")+(!0===l.value&&null===e.active?c.value:!0===e.active?" q-item--active"+(void 0!==e.activeClass?` ${e.activeClass}`:""):"")+(!0===e.disable?" disabled":"")+(!0===g.value?" q-item--clickable q-link cursor-pointer "+(!0===e.manualFocus?"q-manual-focusable":"q-focusable q-hoverable")+(!0===e.focused?" q-manual-focusable--focused":""):""))),b=i((()=>void 0===e.insetLevel?null:{["padding"+(!0===o.lang.rtl?"Right":"Left")]:16+56*e.insetLevel+"px"}));function _(e){!0===g.value&&(null!==f.value&&(!0!==e.qKeyEvent&&document.activeElement===p.value?f.value.focus():document.activeElement===f.value&&p.value.focus()),h(e))}function y(e){if(!0===g.value&&!0===pe(e,[13,32])){J(e),e.qKeyEvent=!0;let t=new MouseEvent("click",e);t.qKeyEvent=!0,p.value.dispatchEvent(t)}r("keyup",e)}return()=>{let a={ref:p,class:v.value,style:b.value,role:"listitem",onClick:_,onKeyup:y};return!0===g.value?(a.tabindex=e.tabindex||"0",Object.assign(a,u.value)):!0===m.value&&(a["aria-disabled"]="true"),n(d.value,a,function(){let e=ht(t.default,[]);return!0===g.value&&e.unshift(n("div",{class:"q-focus-helper",tabindex:-1,ref:f})),e}())}}}),os=F({name:"QItemSection",props:{avatar:Boolean,thumbnail:Boolean,side:Boolean,top:Boolean,noWrap:Boolean},setup(e,{slots:t}){let a=i((()=>"q-item__section column q-item__section--"+(!0===e.avatar||!0===e.side||!0===e.thumbnail?"side":"main")+(!0===e.top?" q-item__section--top justify-start":" justify-center")+(!0===e.avatar?" q-item__section--avatar":"")+(!0===e.thumbnail?" q-item__section--thumbnail":"")+(!0===e.noWrap?" q-item__section--nowrap":"")));return()=>n("div",{class:a.value},dt(t.default))}});function ss(e,t,n){t.handler?t.handler(e,n,n.caret):n.runCmd(t.cmd,t.param)}function ls(e){return n("div",{class:"q-editor__toolbar-group"},e)}function us(e,t,a,i=!1){let r=i||"toggle"===t.type&&(t.toggled?t.toggled(e):t.cmd&&e.caret.is(t.cmd,t.param)),o=[];if(t.tip&&e.$q.platform.is.desktop){let e=t.key?n("div",[n("small",`(CTRL + ${String.fromCharCode(t.key)})`)]):null;o.push(n(is,{delay:1e3},(()=>[n("div",{innerHTML:t.tip}),e])))}return n(Mn,{...e.buttonProps.value,icon:null!==t.icon?t.icon:void 0,color:r?t.toggleColor||e.props.toolbarToggleColor:t.color||e.props.toolbarColor,textColor:r&&!e.props.toolbarPush?null:t.textColor||e.props.toolbarTextColor,label:t.label,disable:!!t.disable&&("function"!=typeof t.disable||t.disable(e)),size:"sm",onClick(n){a&&a(),ss(n,t,e)}},(()=>o))}function cs(e){if(e.caret)return e.buttons.value.filter((t=>!e.isViewingSource.value||t.find((e=>"viewsource"===e.cmd)))).map((t=>ls(t.map((t=>(!e.isViewingSource.value||"viewsource"===t.cmd)&&("slot"===t.type?dt(e.slots[t.slot]):"dropdown"===t.type?function(e,t){let a,i,r="only-icons"===t.list,o=t.label,s=null!==t.icon?t.icon:void 0;function l(){c.component.proxy.hide()}if(r)i=t.options.map((t=>{let n=void 0===t.type&&e.caret.is(t.cmd,t.param);return n&&(o=t.tip,s=null!==t.icon?t.icon:void 0),us(e,t,l,n)})),a=e.toolbarBackgroundClass.value,i=[ls(i)];else{let r=void 0!==e.props.toolbarToggleColor?`text-${e.props.toolbarToggleColor}`:null,u=void 0!==e.props.toolbarTextColor?`text-${e.props.toolbarTextColor}`:null,c="no-icons"===t.list;i=t.options.map((t=>{let a=!!t.disable&&t.disable(e),i=void 0===t.type&&e.caret.is(t.cmd,t.param);i&&(o=t.tip,s=null!==t.icon?t.icon:void 0);let d=t.htmlTip;return n(rs,{active:i,activeClass:r,clickable:!0,disable:a,dense:!0,onClick(n){l(),null!==e.contentRef.value&&e.contentRef.value.focus(),e.caret.restore(),ss(n,t,e)}},(()=>[!0===c?null:n(os,{class:i?r:u,side:!0},(()=>n(Pt,{name:null!==t.icon?t.icon:void 0}))),n(os,d?()=>n("div",{class:"text-no-wrap",innerHTML:t.htmlTip}):t.tip?()=>n("div",{class:"text-no-wrap"},t.tip):void 0)]))})),a=[e.toolbarBackgroundClass.value,u]}let u=t.highlight&&o!==t.label,c=n(ai,{...e.buttonProps.value,noCaps:!0,noWrap:!0,color:u?e.props.toolbarToggleColor:e.props.toolbarColor,textColor:u&&!e.props.toolbarPush?null:e.props.toolbarTextColor,label:t.fixedLabel?t.label:o,icon:t.fixedIcon?null!==t.icon?t.icon:void 0:s,contentClass:a,onShow:t=>e.emit("dropdownShow",t),onHide:t=>e.emit("dropdownHide",t),onBeforeShow:t=>e.emit("dropdownBeforeShow",t),onBeforeHide:t=>e.emit("dropdownBeforeHide",t)},(()=>i));return c}(e,t):us(e,t)))))))}var ds=/^on[A-Z]/;function hs(){let{attrs:e,vnode:t}=k(),n={listeners:a({}),attributes:a({})};function i(){let a={},i={};for(let t in e)"class"!==t&&"style"!==t&&!1===ds.test(t)&&(a[t]=e[t]);for(let e in t.props)!0===ds.test(e)&&(i[e]=t.props[e]);n.attributes.value=a,n.listeners.value=i}return b(i),i(),n}var ps=Object.prototype.toString,fs=Object.prototype.hasOwnProperty,ms=new Set(["Boolean","Number","String","Function","Array","Date","RegExp"].map((e=>"[object "+e+"]")));function gs(e){if(e!==Object(e)||!0===ms.has(ps.call(e))||e.constructor&&!1===fs.call(e,"constructor")&&!1===fs.call(e.constructor.prototype,"isPrototypeOf"))return!1;let t;for(t in e);return void 0===t||fs.call(e,t)}function vs(){let e,t,n,a,i,r,o=arguments[0]||{},s=1,l=!1,u=arguments.length;for("boolean"==typeof o&&(l=o,o=arguments[1]||{},s=2),Object(o)!==o&&"function"!=typeof o&&(o={}),u===s&&(o=this,s--);s0===e.length||e.every((e=>e.length)),default:()=>[["left","center","right","justify"],["bold","italic","underline","strike"],["undo","redo"]]},toolbarColor:String,toolbarBg:String,toolbarTextColor:String,toolbarToggleColor:{type:String,default:"primary"},toolbarOutline:Boolean,toolbarPush:Boolean,toolbarRounded:Boolean,paragraphTag:{type:String,validator:e=>["div","p"].includes(e),default:"div"},contentStyle:Object,contentClass:[Object,Array,String],square:Boolean,flat:Boolean,dense:Boolean},emits:[...Ti,"update:modelValue","keydown","click","focus","blur","dropdownShow","dropdownHide","dropdownBeforeShow","dropdownBeforeHide","linkShow","linkHide"],setup(e,{slots:t,emit:o}){let s,l,{proxy:u}=k(),{$q:c}=u,h=It(e,c),{inFullscreen:p,toggleFullscreen:f}=Ai(),v=hs(),b=a(null),_=a(null),y=a(null),w=a(!1),x=i((()=>!e.readonly&&!e.disable)),S=e.modelValue;document.execCommand("defaultParagraphSeparator",!1,e.paragraphTag),s=window.getComputedStyle(document.body).fontFamily;let C=i((()=>e.toolbarBg?` bg-${e.toolbarBg}`:"")),E=i((()=>({type:"a",flat:!0!==e.toolbarOutline&&!0!==e.toolbarPush,noWrap:!0,outline:e.toolbarOutline,push:e.toolbarPush,rounded:e.toolbarRounded,dense:!0,color:e.toolbarColor,disable:!x.value,size:"sm"}))),T=i((()=>{let t=c.lang.editor,n=c.iconSet.editor;return{bold:{cmd:"bold",icon:n.bold,tip:t.bold,key:66},italic:{cmd:"italic",icon:n.italic,tip:t.italic,key:73},strike:{cmd:"strikeThrough",icon:n.strikethrough,tip:t.strikethrough,key:83},underline:{cmd:"underline",icon:n.underline,tip:t.underline,key:85},unordered:{cmd:"insertUnorderedList",icon:n.unorderedList,tip:t.unorderedList},ordered:{cmd:"insertOrderedList",icon:n.orderedList,tip:t.orderedList},subscript:{cmd:"subscript",icon:n.subscript,tip:t.subscript,htmlTip:"x2"},superscript:{cmd:"superscript",icon:n.superscript,tip:t.superscript,htmlTip:"x2"},link:{cmd:"link",disable:e=>e.caret&&!e.caret.can("link"),icon:n.hyperlink,tip:t.hyperlink,key:76},fullscreen:{cmd:"fullscreen",icon:n.toggleFullscreen,tip:t.toggleFullscreen,key:70},viewsource:{cmd:"viewsource",icon:n.viewSource,tip:t.viewSource},quote:{cmd:"formatBlock",param:"BLOCKQUOTE",icon:n.quote,tip:t.quote,key:81},left:{cmd:"justifyLeft",icon:n.left,tip:t.left},center:{cmd:"justifyCenter",icon:n.center,tip:t.center},right:{cmd:"justifyRight",icon:n.right,tip:t.right},justify:{cmd:"justifyFull",icon:n.justify,tip:t.justify},print:{type:"no-state",cmd:"print",icon:n.print,tip:t.print,key:80},outdent:{type:"no-state",disable:e=>e.caret&&!e.caret.can("outdent"),cmd:"outdent",icon:n.outdent,tip:t.outdent},indent:{type:"no-state",disable:e=>e.caret&&!e.caret.can("indent"),cmd:"indent",icon:n.indent,tip:t.indent},removeFormat:{type:"no-state",cmd:"removeFormat",icon:n.removeFormat,tip:t.removeFormat},hr:{type:"no-state",cmd:"insertHorizontalRule",icon:n.hr,tip:t.hr},undo:{type:"no-state",cmd:"undo",icon:n.undo,tip:t.undo,key:90},redo:{type:"no-state",cmd:"redo",icon:n.redo,tip:t.redo,key:89},h1:{cmd:"formatBlock",param:"H1",icon:n.heading1||n.heading,tip:t.heading1,htmlTip:`

${t.heading1}

`},h2:{cmd:"formatBlock",param:"H2",icon:n.heading2||n.heading,tip:t.heading2,htmlTip:`

${t.heading2}

`},h3:{cmd:"formatBlock",param:"H3",icon:n.heading3||n.heading,tip:t.heading3,htmlTip:`

${t.heading3}

`},h4:{cmd:"formatBlock",param:"H4",icon:n.heading4||n.heading,tip:t.heading4,htmlTip:`

${t.heading4}

`},h5:{cmd:"formatBlock",param:"H5",icon:n.heading5||n.heading,tip:t.heading5,htmlTip:`
${t.heading5}
`},h6:{cmd:"formatBlock",param:"H6",icon:n.heading6||n.heading,tip:t.heading6,htmlTip:`
${t.heading6}
`},p:{cmd:"formatBlock",param:e.paragraphTag,icon:n.heading,tip:t.paragraph},code:{cmd:"formatBlock",param:"PRE",icon:n.code,htmlTip:`${t.code}`},"size-1":{cmd:"fontSize",param:"1",icon:n.size1||n.size,tip:t.size1,htmlTip:`${t.size1}`},"size-2":{cmd:"fontSize",param:"2",icon:n.size2||n.size,tip:t.size2,htmlTip:`${t.size2}`},"size-3":{cmd:"fontSize",param:"3",icon:n.size3||n.size,tip:t.size3,htmlTip:`${t.size3}`},"size-4":{cmd:"fontSize",param:"4",icon:n.size4||n.size,tip:t.size4,htmlTip:`${t.size4}`},"size-5":{cmd:"fontSize",param:"5",icon:n.size5||n.size,tip:t.size5,htmlTip:`${t.size5}`},"size-6":{cmd:"fontSize",param:"6",icon:n.size6||n.size,tip:t.size6,htmlTip:`${t.size6}`},"size-7":{cmd:"fontSize",param:"7",icon:n.size7||n.size,tip:t.size7,htmlTip:`${t.size7}`}}})),A=i((()=>{let t=e.definitions||{},n=e.definitions||e.fonts?vs(!0,{},T.value,t,function(e,t,n,a={}){let i=Object.keys(a);if(0===i.length)return{};let r={default_font:{cmd:"fontName",param:e,icon:n,tip:t}};return i.forEach((e=>{let t=a[e];r[e]={cmd:"fontName",param:t,icon:n,tip:t,htmlTip:`${t}`}})),r}(s,c.lang.editor.defaultFont,c.iconSet.editor.font,e.fonts)):T.value;return e.toolbar.map((e=>e.map((e=>{if(e.options)return{type:"dropdown",icon:e.icon,label:e.label,size:"sm",dense:!0,fixedLabel:e.fixedLabel,fixedIcon:e.fixedIcon,highlight:e.highlight,list:e.list,options:e.options.map((e=>n[e]))};let a=n[e];return a?"no-state"===a.type||t[e]&&(void 0===a.cmd||T.value[a.cmd]&&"no-state"===T.value[a.cmd].type)?a:Object.assign({type:"toggle"},a):{type:"slot",slot:e}}))))})),M={$q:c,props:e,slots:t,emit:o,inFullscreen:p,toggleFullscreen:f,runCmd:W,isViewingSource:w,editLinkUrl:y,toolbarBackgroundClass:C,buttonProps:E,contentRef:_,buttons:A,setContent:H};r((()=>e.modelValue),(e=>{S!==e&&(S=e,H(e,!0))})),r(y,(e=>{o("link"+(e?"Show":"Hide"))}));let P=i((()=>e.toolbar&&0!==e.toolbar.length)),L=i((()=>{let e={},t=t=>{t.key&&(e[t.key]={cmd:t.cmd,param:t.param})};return A.value.forEach((e=>{e.forEach((e=>{e.options?e.options.forEach(t):t(e)}))})),e})),O=i((()=>p.value?e.contentStyle:[{minHeight:e.minHeight,height:e.height,maxHeight:e.maxHeight},e.contentStyle])),N=i((()=>"q-editor q-editor--"+(!0===w.value?"source":"default")+(!0===e.disable?" disabled":"")+(!0===p.value?" fullscreen column":"")+(!0===e.square?" q-editor--square no-border-radius":"")+(!0===e.flat?" q-editor--flat":"")+(!0===e.dense?" q-editor--dense":"")+(!0===h.value?" q-editor--dark q-dark":""))),R=i((()=>[e.contentClass,"q-editor__content",{col:p.value,"overflow-auto":p.value||e.maxHeight}])),I=i((()=>!0===e.disable?{"aria-disabled":"true"}:{}));function z(){if(null!==_.value){let t="inner"+(!0===w.value?"Text":"HTML"),n=_.value[t];n!==e.modelValue&&(S=n,o("update:modelValue",n))}}function q(e){if(o("keydown",e),!0!==e.ctrlKey||!0===he(e))return void Y();let t=e.keyCode,n=L.value[t];if(void 0!==n){let{cmd:t,param:a}=n;J(e),W(t,a,!1)}}function D(e){Y(),o("click",e)}function j(e){if(null!==_.value){let{scrollTop:e,scrollHeight:t}=_.value;l=t-e}M.caret.save(),o("blur",e)}function $(e){d((()=>{null!==_.value&&void 0!==l&&(_.value.scrollTop=_.value.scrollHeight-l)})),o("focus",e)}function B(e){let t=b.value;if(null!==t&&!0===t.contains(e.target)&&(null===e.relatedTarget||!0!==t.contains(e.relatedTarget))){let e="inner"+(!0===w.value?"Text":"HTML");M.caret.restorePosition(_.value[e].length),Y()}}function F(e){let t=b.value;null!==t&&!0===t.contains(e.target)&&(null===e.relatedTarget||!0!==t.contains(e.relatedTarget))&&(M.caret.savePosition(),Y())}function V(){l=void 0}function U(e){M.caret.save()}function H(e,t){if(null!==_.value){!0===t&&M.caret.savePosition();let n="inner"+(!0===w.value?"Text":"HTML");_.value[n]=e,!0===t&&(M.caret.restorePosition(_.value[n].length),Y())}}function W(e,t,n=!0){Q(),M.caret.restore(),M.caret.apply(e,t,(()=>{Q(),M.caret.save(),n&&Y()}))}function Y(){setTimeout((()=>{y.value=null,u.$forceUpdate()}),1)}function Q(){Vn((()=>{null!==_.value&&_.value.focus({preventScroll:!0})}))}return m((()=>{M.caret=u.caret=new as(_.value,M),H(e.modelValue),Y(),document.addEventListener("selectionchange",U)})),g((()=>{document.removeEventListener("selectionchange",U)})),Object.assign(u,{runCmd:W,refreshToolbar:Y,focus:Q,getContentEl:function(){return _.value}}),()=>{let t;if(P.value){let e=[n("div",{key:"qedt_top",class:"q-editor__toolbar row no-wrap scroll-x"+C.value},cs(M))];null!==y.value&&e.push(n("div",{key:"qedt_btm",class:"q-editor__toolbar row no-wrap items-center scroll-x"+C.value},function(e){if(e.caret){let t=e.props.toolbarColor||e.props.toolbarTextColor,a=e.editLinkUrl.value,i=()=>{e.caret.restore(),a!==e.editLinkUrl.value&&document.execCommand("createLink",!1,""===a?" ":a),e.editLinkUrl.value=null};return[n("div",{class:`q-mx-xs text-${t}`},`${e.$q.lang.editor.url}: `),n("input",{key:"qedt_btm_input",class:"col q-editor__link-input",value:a,onInput:e=>{G(e),a=e.target.value},onKeydown:t=>{if(!0!==he(t))switch(t.keyCode){case 13:return Z(t),i();case 27:Z(t),e.caret.restore(),(!e.editLinkUrl.value||"https://"===e.editLinkUrl.value)&&document.execCommand("unlink"),e.editLinkUrl.value=null}}}),ls([n(Mn,{key:"qedt_btm_rem",tabindex:-1,...e.buttonProps.value,label:e.$q.lang.label.remove,noCaps:!0,onClick:()=>{e.caret.restore(),document.execCommand("unlink"),e.editLinkUrl.value=null}}),n(Mn,{key:"qedt_btm_upd",...e.buttonProps.value,label:e.$q.lang.label.update,noCaps:!0,onClick:i})])]}}(M))),t=n("div",{key:"toolbar_ctainer",class:"q-editor__toolbars-container"},e)}return n("div",{ref:b,class:N.value,style:{height:!0===p.value?"100%":null},...I.value,onFocusin:B,onFocusout:F},[t,n("div",{ref:_,style:O.value,class:R.value,contenteditable:x.value,placeholder:e.placeholder,...v.listeners.value,onInput:z,onKeydown:q,onClick:D,onBlur:j,onFocus:$,onMousedown:V,onTouchstartPassive:V})])}}}),_s=F({name:"QItemLabel",props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){let a=i((()=>parseInt(e.lines,10))),r=i((()=>"q-item__label"+(!0===e.overline?" q-item__label--overline text-overline":"")+(!0===e.caption?" q-item__label--caption text-caption":"")+(!0===e.header?" q-item__label--header":"")+(1===a.value?" ellipsis":""))),o=i((()=>void 0!==e.lines&&a.value>1?{overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":a.value}:null));return()=>n("div",{style:o.value,class:r.value},dt(t.default))}}),ys=F({name:"QSlideTransition",props:{appear:Boolean,duration:{type:Number,default:300}},emits:["show","hide"],setup(e,{slots:t,emit:a}){let i,r,o,s,l=!1,u=null,c=null;function d(){i&&i(),i=null,l=!1,null!==u&&(clearTimeout(u),u=null),null!==c&&(clearTimeout(c),c=null),void 0!==r&&r.removeEventListener("transitionend",o),o=null}function h(t,n,a){void 0!==n&&(t.style.height=`${n}px`),t.style.transition=`height ${e.duration}ms cubic-bezier(.25, .8, .50, 1)`,l=!0,i=a}function p(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,d(),t!==s&&a(t)}function f(t,n){let a=0;r=t,!0===l?(d(),a=t.offsetHeight===t.scrollHeight?0:void 0):(s="hide",t.style.overflowY="hidden"),h(t,a,n),u=setTimeout((()=>{u=null,t.style.height=`${t.scrollHeight}px`,o=e=>{c=null,(Object(e)!==e||e.target===t)&&p(t,"show")},t.addEventListener("transitionend",o),c=setTimeout(o,1.1*e.duration)}),100)}function m(t,n){let a;r=t,!0===l?d():(s="show",t.style.overflowY="hidden",a=t.scrollHeight),h(t,a,n),u=setTimeout((()=>{u=null,t.style.height=0,o=e=>{c=null,(Object(e)!==e||e.target===t)&&p(t,"hide")},t.addEventListener("transitionend",o),c=setTimeout(o,1.1*e.duration)}),100)}return g((()=>{!0===l&&d()})),()=>n(S,{css:!1,appear:e.appear,onEnter:f,onLeave:m},t.default)}}),ws={true:"inset",item:"item-inset","item-thumbnail":"item-thumbnail-inset"},ks={xs:2,sm:4,md:8,lg:16,xl:24},xs=F({name:"QSeparator",props:{...Rt,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){let t=k(),a=It(e,t.proxy.$q),r=i((()=>!0===e.vertical?"vertical":"horizontal")),o=i((()=>` q-separator--${r.value}`)),s=i((()=>!1!==e.inset?`${o.value}-${ws[e.inset]}`:"")),l=i((()=>`q-separator${o.value}${s.value}`+(void 0!==e.color?` bg-${e.color}`:"")+(!0===a.value?" q-separator--dark":""))),u=i((()=>{let t={};if(void 0!==e.size&&(t[!0===e.vertical?"width":"height"]=e.size),!1!==e.spaced){let n=!0===e.spaced?`${ks.md}px`:e.spaced in ks?`${ks[e.spaced]}px`:e.spaced,a=!0===e.vertical?["Left","Right"]:["Top","Bottom"];t[`margin${a[0]}`]=t[`margin${a[1]}`]=n}return t}));return()=>n("hr",{class:l.value,style:u.value,"aria-orientation":r.value})}}),Ss=c({}),Cs=Object.keys(en),Es=F({name:"QExpansionItem",props:{...en,...zn,...Rt,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...qn,"click","afterShow","afterHide"],setup(e,{slots:t,emit:o}){let s,l,{proxy:{$q:u}}=k(),c=It(e,u),d=a(null!==e.modelValue?e.modelValue:e.defaultOpened),h=a(null),p=ti(),{show:f,hide:m,toggle:v}=Dn({showing:d}),b=i((()=>`q-expansion-item q-item-type q-expansion-item--${!0===d.value?"expanded":"collapsed"} q-expansion-item--${!0===e.popup?"popup":"standard"}`)),_=i((()=>void 0===e.contentInsetLevel?null:{["padding"+(!0===u.lang.rtl?"Right":"Left")]:56*e.contentInsetLevel+"px"})),y=i((()=>!0!==e.disable&&(void 0!==e.href||void 0!==e.to&&null!==e.to&&""!==e.to))),w=i((()=>{let t={};return Cs.forEach((n=>{t[n]=e[n]})),t})),x=i((()=>!0===y.value||!0!==e.expandIconToggle)),S=i((()=>void 0!==e.expandedIcon&&!0===d.value?e.expandedIcon:e.expandIcon||u.iconSet.expansionItem[!0===e.denseToggle?"denseIcon":"icon"])),C=i((()=>!0!==e.disable&&(!0===y.value||!0===e.expandIconToggle))),E=i((()=>({expanded:!0===d.value,detailsId:p.value,toggle:v,show:f,hide:m}))),T=i((()=>{let t=void 0!==e.toggleAriaLabel?e.toggleAriaLabel:u.lang.label[!0===d.value?"collapse":"expand"](e.label);return{role:"button","aria-expanded":!0===d.value?"true":"false","aria-controls":p.value,"aria-label":t}}));function A(e){!0!==y.value&&v(e),o("click",e)}function L(e){13===e.keyCode&&O(e,!0)}function O(e,t){!0!==t&&null!==h.value&&h.value.focus(),v(e),J(e)}function N(){o("afterShow")}function R(){o("afterHide")}function I(){void 0===s&&(s=Xa()),!0===d.value&&(Ss[e.group]=s);let t=r(d,(t=>{!0===t?Ss[e.group]=s:Ss[e.group]===s&&delete Ss[e.group]})),n=r((()=>Ss[e.group]),((e,t)=>{t===s&&void 0!==e&&e!==s&&m()}));l=()=>{t(),n(),Ss[e.group]===s&&delete Ss[e.group],l=void 0}}function z(){let a;return void 0!==t.header?a=[].concat(t.header(E.value)):(a=[n(os,(()=>[n(_s,{lines:e.labelLines},(()=>e.label||"")),e.caption?n(_s,{lines:e.captionLines,caption:!0},(()=>e.caption)):null]))],e.icon&&a[!0===e.switchToggleSide?"push":"unshift"](n(os,{side:!0===e.switchToggleSide,avatar:!0!==e.switchToggleSide},(()=>n(Pt,{name:e.icon}))))),!0!==e.disable&&!0!==e.hideExpandIcon&&a[!0===e.switchToggleSide?"unshift":"push"](function(){let t={class:["q-focusable relative-position cursor-pointer"+(!0===e.denseToggle&&!0===e.switchToggleSide?" items-end":""),e.expandIconClass],side:!0!==e.switchToggleSide,avatar:e.switchToggleSide},a=[n(Pt,{class:"q-expansion-item__toggle-icon"+(void 0===e.expandedIcon&&!0===d.value?" q-expansion-item__toggle-icon--rotated":""),name:S.value})];return!0===C.value&&(Object.assign(t,{tabindex:0,...T.value,onClick:O,onKeyup:L}),a.unshift(n("div",{ref:h,class:"q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded",tabindex:-1}))),n(os,t,(()=>a))}()),a}function q(){let t={ref:"item",style:e.headerStyle,class:e.headerClass,dark:c.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return!0===x.value&&(t.clickable=!0,t.onClick=A,Object.assign(t,!0===y.value?w.value:T.value)),n(rs,t,z)}function D(){return M(n("div",{key:"e-content",class:"q-expansion-item__content relative-position",style:_.value,id:p.value},dt(t.default)),[[P,d.value]])}function j(){let t=[q(),n(ys,{duration:e.duration,onShow:N,onHide:R},D)];return!0===e.expandSeparator&&t.push(n(xs,{class:"q-expansion-item__border q-expansion-item__border--top absolute-top",dark:c.value}),n(xs,{class:"q-expansion-item__border q-expansion-item__border--bottom absolute-bottom",dark:c.value})),t}return r((()=>e.group),(e=>{void 0!==l&&l(),void 0!==e&&I()})),void 0!==e.group&&I(),g((()=>{void 0!==l&&l()})),()=>n("div",{class:b.value},[n("div",{class:"q-expansion-item__container relative-position"},j())])}}),Ts=["top","right","bottom","left"],As={type:{type:String,default:"a"},outline:Boolean,push:Boolean,flat:Boolean,unelevated:Boolean,color:String,textColor:String,glossy:Boolean,square:Boolean,padding:String,label:{type:[String,Number],default:""},labelPosition:{type:String,default:"right",validator:e=>Ts.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]};function Ms(e,t){return{formClass:i((()=>"q-fab--form-"+(!0===e.square?"square":"rounded"))),stacked:i((()=>!1===e.externalLabel&&["top","bottom"].includes(e.labelPosition))),labelProps:i((()=>{if(!0===e.externalLabel){let n=null===e.hideLabel?!1===t.value:e.hideLabel;return{action:"push",data:{class:[e.labelClass,`q-fab__label q-tooltip--style q-fab__label--external q-fab__label--external-${e.labelPosition}`+(!0===n?" q-fab__label--external-hidden":"")],style:e.labelStyle}}}return{action:["left","top"].includes(e.labelPosition)?"unshift":"push",data:{class:[e.labelClass,`q-fab__label q-fab__label--internal q-fab__label--internal-${e.labelPosition}`+(!0===e.hideLabel?" q-fab__label--internal-hidden":"")],style:e.labelStyle}}}))}}var Ps=["up","right","down","left"],Ls=["left","center","right"],Os=F({name:"QFab",props:{...As,...zn,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...As.hideLabel,default:null},direction:{type:String,default:"right",validator:e=>Ps.includes(e)},persistent:Boolean,verticalActionsAlign:{type:String,default:"center",validator:e=>Ls.includes(e)}},emits:qn,setup(e,{slots:t}){let r=a(null),o=a(!0===e.modelValue),s=ti(),{proxy:{$q:l}}=k(),{formClass:u,labelProps:c}=Ms(e,o),d=i((()=>!0!==e.persistent)),{hide:h,toggle:p}=Dn({showing:o,hideOnRouteChange:d}),f=i((()=>({opened:o.value}))),m=i((()=>`q-fab z-fab row inline justify-center q-fab--align-${e.verticalActionsAlign} ${u.value}`+(!0===o.value?" q-fab--opened":" q-fab--closed"))),g=i((()=>`q-fab__actions flex no-wrap inline q-fab__actions--${e.direction} q-fab__actions--${!0===o.value?"opened":"closed"}`)),v=i((()=>{let e={id:s.value,role:"menu"};return!0!==o.value&&(e["aria-hidden"]="true"),e})),b=i((()=>"q-fab__icon-holder q-fab__icon-holder--"+(!0===o.value?"opened":"closed")));function _(a,i){let r=t[a],o=`q-fab__${a} absolute-full`;return void 0===r?n(Pt,{class:o,name:e[i]||l.iconSet.fab[i]}):n("div",{class:o},r(f.value))}function y(){let a=[];return!0!==e.hideIcon&&a.push(n("div",{class:b.value},[_("icon","icon"),_("active-icon","activeIcon")])),(""!==e.label||void 0!==t.label)&&a[c.value.action](n("div",c.value.data,void 0!==t.label?t.label(f.value):[e.label])),pt(t.tooltip,a)}return w(Le,{showing:o,onChildClick(e){h(e),null!==r.value&&r.value.$el.focus()}}),()=>n("div",{class:m.value},[n(Mn,{ref:r,class:u.value,...e,noWrap:!0,stack:e.stacked,align:void 0,icon:void 0,label:void 0,noCaps:!0,fab:!0,"aria-expanded":!0===o.value?"true":"false","aria-haspopup":"true","aria-controls":s.value,onClick:p},y),n("div",{class:g.value,...v.value},dt(t.default))])}}),Ns={start:"self-end",center:"self-center",end:"self-start"},Rs=Object.keys(Ns),Is=F({name:"QFabAction",props:{...As,icon:{type:String,default:""},anchor:{type:String,validator:e=>Rs.includes(e)},to:[String,Object],replace:Boolean},emits:["click"],setup(e,{slots:t,emit:a}){let r=y(Le,(()=>({showing:{value:!0},onChildClick:W}))),{formClass:o,labelProps:s}=Ms(e,r.showing),l=i((()=>{let t=Ns[e.anchor];return o.value+(void 0!==t?` ${t}`:"")})),u=i((()=>!0===e.disable||!0!==r.showing.value));function c(e){r.onChildClick(e),a("click",e)}function d(){let a=[];return void 0!==t.icon?a.push(t.icon()):""!==e.icon&&a.push(n(Pt,{name:e.icon})),(""!==e.label||void 0!==t.label)&&a[s.value.action](n("div",s.value.data,void 0!==t.label?t.label():[e.label])),pt(t.default,a)}let h=k();return Object.assign(h.proxy,{click:c}),()=>n(Mn,{class:l.value,...e,noWrap:!0,stack:e.stacked,icon:void 0,label:void 0,noCaps:!0,fabMini:!0,disable:u.value,onClick:c},d)}});function zs({validate:e,resetValidation:t,requiresQForm:n}){let a=y(Oe,!1);if(!1!==a){let{props:n,proxy:i}=k();Object.assign(i,{validate:e,resetValidation:t}),r((()=>n.disable),(e=>{!0===e?("function"==typeof t&&t(),a.unbindComponent(i)):a.bindComponent(i)})),m((()=>{!0!==n.disable&&a.bindComponent(i)})),g((()=>{!0!==n.disable&&a.unbindComponent(i)}))}else!0===n&&console.error("Parent QForm not found on useFormChild()!")}var qs=[!0,!1,"ondemand"],Ds={modelValue:{},error:{type:Boolean,default:null},errorMessage:String,noErrorIcon:Boolean,rules:Array,reactiveRules:Boolean,lazyRules:{type:[Boolean,String],default:!1,validator:e=>qs.includes(e)}};function js(e){return null!=e&&0!==(""+e).length}var $s={...Rt,...Ds,label:String,stackLabel:Boolean,hint:String,hideHint:Boolean,prefix:String,suffix:String,labelColor:String,color:String,bgColor:String,filled:Boolean,outlined:Boolean,borderless:Boolean,standout:[Boolean,String],square:Boolean,loading:Boolean,labelSlot:Boolean,bottomSlots:Boolean,hideBottomSpace:Boolean,rounded:Boolean,dense:Boolean,itemAligned:Boolean,counter:Boolean,clearable:Boolean,clearIcon:String,disable:Boolean,readonly:Boolean,autofocus:Boolean,for:String},Bs={...$s,maxlength:[Number,String]},Fs=["update:modelValue","clear","focus","blur"];function Vs({requiredForAttr:e=!0,tagProp:t,changeEvent:n=!1}={}){let{props:r,proxy:o}=k(),s=It(r,o.$q),l=ti({required:e,getValue:()=>r.for});return{requiredForAttr:e,changeEvent:n,tag:!0===t?i((()=>r.tag)):{value:"label"},isDark:s,editable:i((()=>!0!==r.disable&&!0!==r.readonly)),innerLoading:a(!1),focused:a(!1),hasPopupOpen:!1,splitAttrs:hs(),targetUid:l,rootRef:a(null),targetRef:a(null),controlRef:a(null)}}function Us(e){let{props:t,emit:o,slots:s,attrs:l,proxy:u}=k(),{$q:c}=u,f=null;void 0===e.hasValue&&(e.hasValue=i((()=>js(t.modelValue)))),void 0===e.emitValue&&(e.emitValue=e=>{o("update:modelValue",e)}),void 0===e.controlEvents&&(e.controlEvents={onFocusin:z,onFocusout:q}),Object.assign(e,{clearValue:D,onControlFocusin:z,onControlFocusout:q,focus:I}),void 0===e.computedCounter&&(e.computedCounter=i((()=>{if(!1!==t.counter){let e="string"==typeof t.modelValue||"number"==typeof t.modelValue?(""+t.modelValue).length:!0===Array.isArray(t.modelValue)?t.modelValue.length:0,n=void 0!==t.maxlength?t.maxlength:t.maxValues;return e+(void 0!==n?" / "+n:"")}})));let{isDirtyModel:v,hasRules:b,hasError:_,errorMessage:y,resetValidation:w}=function(e,t){let{props:n,proxy:o}=k(),s=a(!1),l=a(null),u=a(!1);zs({validate:_,resetValidation:b});let c,d=0,h=i((()=>void 0!==n.rules&&null!==n.rules&&0!==n.rules.length)),p=i((()=>!0!==n.disable&&!0===h.value&&!1===t.value)),f=i((()=>!0===n.error||!0===s.value)),m=i((()=>"string"==typeof n.errorMessage&&0!==n.errorMessage.length?n.errorMessage:l.value));function v(){"ondemand"!==n.lazyRules&&!0===p.value&&!0===u.value&&y()}function b(){d++,t.value=!1,u.value=!1,s.value=!1,l.value=null,y.cancel()}function _(e=n.modelValue){if(!0===n.disable||!1===h.value)return!0;let a=++d,i=!0!==t.value?()=>{u.value=!0}:()=>{},r=(e,n)=>{!0===e&&i(),s.value=e,l.value=n||null,t.value=!1},o=[];for(let t=0;t{if(void 0===e||!1===Array.isArray(e)||0===e.length)return a===d&&r(!1),!0;let t=e.find((e=>!1===e||"string"==typeof e));return a===d&&r(void 0!==t,t),void 0===t}),(e=>(a===d&&(console.error(e),r(!0)),!1))))}r((()=>n.modelValue),(()=>{u.value=!0,!0===p.value&&!1===n.lazyRules&&y()})),r((()=>n.reactiveRules),(e=>{!0===e?void 0===c&&(c=r((()=>n.rules),v,{immediate:!0,deep:!0})):void 0!==c&&(c(),c=void 0)}),{immediate:!0}),r((()=>n.lazyRules),v),r(e,(e=>{!0===e?u.value=!0:!0===p.value&&"ondemand"!==n.lazyRules&&y()}));let y=ae(_,0);return g((()=>{void 0!==c&&c(),y.cancel()})),Object.assign(o,{resetValidation:b,validate:_}),N(o,"hasError",(()=>f.value)),{isDirtyModel:u,hasRules:h,hasError:f,errorMessage:m,validate:_,resetValidation:b}}(e.focused,e.innerLoading),x=void 0!==e.floatingLabel?i((()=>!0===t.stackLabel||!0===e.focused.value||!0===e.floatingLabel.value)):i((()=>!0===t.stackLabel||!0===e.focused.value||!0===e.hasValue.value)),C=i((()=>!0===t.bottomSlots||void 0!==t.hint||!0===b.value||!0===t.counter||null!==t.error)),E=i((()=>!0===t.filled?"filled":!0===t.outlined?"outlined":!0===t.borderless?"borderless":t.standout?"standout":"standard")),T=i((()=>`q-field row no-wrap items-start q-field--${E.value}`+(void 0!==e.fieldClass?` ${e.fieldClass.value}`:"")+(!0===t.rounded?" q-field--rounded":"")+(!0===t.square?" q-field--square":"")+(!0===x.value?" q-field--float":"")+(!0===M.value?" q-field--labeled":"")+(!0===t.dense?" q-field--dense":"")+(!0===t.itemAligned?" q-field--item-aligned q-item-type":"")+(!0===e.isDark.value?" q-field--dark":"")+(void 0===e.getControl?" q-field--auto-height":"")+(!0===e.focused.value?" q-field--focused":"")+(!0===_.value?" q-field--error":"")+(!0===_.value||!0===e.focused.value?" q-field--highlighted":"")+(!0!==t.hideBottomSpace&&!0===C.value?" q-field--with-bottom":"")+(!0===t.disable?" q-field--disabled":!0===t.readonly?" q-field--readonly":""))),A=i((()=>"q-field__control relative-position row no-wrap"+(void 0!==t.bgColor?` bg-${t.bgColor}`:"")+(!0===_.value?" text-negative":"string"==typeof t.standout&&0!==t.standout.length&&!0===e.focused.value?` ${t.standout}`:void 0!==t.color?` text-${t.color}`:""))),M=i((()=>!0===t.labelSlot||void 0!==t.label)),P=i((()=>"q-field__label no-pointer-events absolute ellipsis"+(void 0!==t.labelColor&&!0!==_.value?` text-${t.labelColor}`:""))),L=i((()=>({id:e.targetUid.value,editable:e.editable.value,focused:e.focused.value,floatingLabel:x.value,modelValue:t.modelValue,emitValue:e.emitValue}))),O=i((()=>{let n={};return e.targetUid.value&&(n.for=e.targetUid.value),!0===t.disable&&(n["aria-disabled"]="true"),n}));function R(){let t=document.activeElement,n=void 0!==e.targetRef&&e.targetRef.value;n&&(null===t||t.id!==e.targetUid.value)&&(!0===n.hasAttribute("tabindex")||(n=n.querySelector("[tabindex]")),n&&n!==t&&n.focus({preventScroll:!0}))}function I(){Vn(R)}function z(t){null!==f&&(clearTimeout(f),f=null),!0===e.editable.value&&!1===e.focused.value&&(e.focused.value=!0,o("focus",t))}function q(t,n){null!==f&&clearTimeout(f),f=setTimeout((()=>{f=null,(!0!==document.hasFocus()||!0!==e.hasPopupOpen&&void 0!==e.controlRef&&null!==e.controlRef.value&&!1===e.controlRef.value.contains(document.activeElement))&&(!0===e.focused.value&&(e.focused.value=!1,o("blur",t)),void 0!==n&&n())}))}function D(n){J(n),!0!==c.platform.is.mobile?(void 0!==e.targetRef&&e.targetRef.value||e.rootRef.value).focus():!0===e.rootRef.value.contains(document.activeElement)&&document.activeElement.blur(),"file"===t.type&&(e.inputRef.value.value=null),o("update:modelValue",null),!0===e.changeEvent&&o("change",null),o("clear",t.modelValue),d((()=>{let e=v.value;w(),v.value=e}))}function j(e){[13,32].includes(e.keyCode)&&D(e)}function $(){let a=[];return void 0!==s.prepend&&a.push(n("div",{class:"q-field__prepend q-field__marginal row no-wrap items-center",key:"prepend",onClick:Z},s.prepend())),a.push(n("div",{class:"q-field__control-container col relative-position row no-wrap q-anchor--skip"},function(){let a=[];return void 0!==t.prefix&&null!==t.prefix&&a.push(n("div",{class:"q-field__prefix no-pointer-events row items-center"},t.prefix)),void 0!==e.getShadowControl&&!0===e.hasShadow.value&&a.push(e.getShadowControl()),void 0!==e.getControl?a.push(e.getControl()):void 0!==s.rawControl?a.push(s.rawControl()):void 0!==s.control&&a.push(n("div",{ref:e.targetRef,class:"q-field__native row",tabindex:-1,...e.splitAttrs.attributes.value,"data-autofocus":!0===t.autofocus||void 0},s.control(L.value))),!0===M.value&&a.push(n("div",{class:P.value},dt(s.label,t.label))),void 0!==t.suffix&&null!==t.suffix&&a.push(n("div",{class:"q-field__suffix no-pointer-events row items-center"},t.suffix)),a.concat(dt(s.default))}())),!0===_.value&&!1===t.noErrorIcon&&a.push(F("error",[n(Pt,{name:c.iconSet.field.error,color:"negative"})])),!0===t.loading||!0===e.innerLoading.value?a.push(F("inner-loading-append",void 0!==s.loading?s.loading():[n(on,{color:t.color})])):!0===t.clearable&&!0===e.hasValue.value&&!0===e.editable.value&&a.push(F("inner-clearable-append",[n(Pt,{class:"q-field__focusable-action",name:t.clearIcon||c.iconSet.field.clear,tabindex:0,role:"button","aria-hidden":"false","aria-label":c.lang.label.clear,onKeyup:j,onClick:D})])),void 0!==s.append&&a.push(n("div",{class:"q-field__append q-field__marginal row no-wrap items-center",key:"append",onClick:Z},s.append())),void 0!==e.getInnerAppend&&a.push(F("inner-append",e.getInnerAppend())),void 0!==e.getControlChild&&a.push(e.getControlChild()),a}function B(){let a,i;!0===_.value?null!==y.value?(a=[n("div",{role:"alert"},y.value)],i=`q--slot-error-${y.value}`):(a=dt(s.error),i="q--slot-error"):(!0!==t.hideHint||!0===e.focused.value)&&(void 0!==t.hint?(a=[n("div",t.hint)],i=`q--slot-hint-${t.hint}`):(a=dt(s.hint),i="q--slot-hint"));let r=!0===t.counter||void 0!==s.counter;if(!0===t.hideBottomSpace&&!1===r&&void 0===a)return;let o=n("div",{key:i,class:"q-field__messages col"},a);return n("div",{class:"q-field__bottom row items-start q-field__bottom--"+(!0!==t.hideBottomSpace?"animated":"stale"),onClick:Z},[!0===t.hideBottomSpace?o:n(S,{name:"q-transition--field-message"},(()=>o)),!0===r?n("div",{class:"q-field__counter"},void 0!==s.counter?s.counter():e.computedCounter.value):null])}function F(e,t){return null===t?null:n("div",{key:e,class:"q-field__append q-field__marginal row no-wrap items-center q-anchor--skip"},t)}let V=!1;return p((()=>{V=!0})),h((()=>{!0===V&&!0===t.autofocus&&u.focus()})),!0===t.autofocus&&m((()=>{u.focus()})),g((()=>{null!==f&&clearTimeout(f)})),Object.assign(u,{focus:I,blur:function(){!function(e){jn=jn.filter((t=>t!==e))}(R);let t=document.activeElement;null!==t&&e.rootRef.value.contains(t)&&t.blur()}}),function(){let a=void 0===e.getControl&&void 0===s.control?{...e.splitAttrs.attributes.value,"data-autofocus":!0===t.autofocus||void 0,...O.value}:O.value;return n(e.tag.value,{ref:e.rootRef,class:[T.value,l.class],style:l.style,...a},[void 0!==s.before?n("div",{class:"q-field__before q-field__marginal row no-wrap items-center",onClick:Z},s.before()):null,n("div",{class:"q-field__inner relative-position col self-stretch"},[n("div",{ref:e.controlRef,class:A.value,tabindex:-1,...e.controlEvents},$()),!0===C.value?B():null]),void 0!==s.after?n("div",{class:"q-field__after q-field__marginal row no-wrap items-center",onClick:Z},s.after()):null])}}var Hs=F({name:"QField",inheritAttrs:!1,props:{...Bs,tag:{type:String,default:"label"}},emits:Fs,setup:()=>Us(Vs({tagProp:!0}))});function Ws(e,t,n,a){let i=[];return e.forEach((e=>{!0===a(e)?i.push(e):t.push({failedPropValidation:n,file:e})})),i}function Ys(e){e&&e.dataTransfer&&(e.dataTransfer.dropEffect="copy"),J(e)}var Qs={multiple:Boolean,accept:String,capture:String,maxFileSize:[Number,String],maxTotalSize:[Number,String],maxFiles:[Number,String],filter:Function},Ks=["rejected"];function Gs({editable:e,dnd:t,getFileInput:r,addFilesToQueue:o}){let{props:s,emit:l,proxy:u}=k(),c=a(null),d=i((()=>void 0!==s.accept?s.accept.split(",").map((e=>"*"===(e=e.trim())?"*/":(e.endsWith("/*")&&(e=e.slice(0,e.length-1)),e.toUpperCase()))):null)),h=i((()=>parseInt(s.maxFiles,10))),p=i((()=>parseInt(s.maxTotalSize,10)));function f(t){if(e.value)if(t!==Object(t)&&(t={target:null}),null!==t.target&&!0===t.target.matches('input[type="file"]'))0===t.clientX&&0===t.clientY&&G(t);else{let e=r();e&&e!==t.target&&e.click(t)}}function m(t){e.value&&t&&o(null,t)}function g(e){J(e),!0==(null!==e.relatedTarget||!0!==j.is.safari?e.relatedTarget!==c.value:!1===document.elementsFromPoint(e.clientX,e.clientY).includes(c.value))&&(t.value=!1)}function v(e){Ys(e);let n=e.dataTransfer.files;0!==n.length&&o(null,n),t.value=!1}return Object.assign(u,{pickFiles:f,addFiles:m}),{pickFiles:f,addFiles:m,onDragover:function(e){Ys(e),!0!==t.value&&(t.value=!0)},onDragleave:g,processFiles:function(e,t,n,a){let i=Array.from(t||e.target.files),r=[],o=()=>{0!==r.length&&l("rejected",r)};if(void 0!==s.accept&&-1===d.value.indexOf("*/")&&(i=Ws(i,r,"accept",(e=>d.value.some((t=>e.type.toUpperCase().startsWith(t)||e.name.toUpperCase().endsWith(t))))),0===i.length))return o();if(void 0!==s.maxFileSize){let e=parseInt(s.maxFileSize,10);if(i=Ws(i,r,"max-file-size",(t=>t.size<=e)),0===i.length)return o()}if(!0!==s.multiple&&0!==i.length&&(i=[i[0]]),i.forEach((e=>{e.__key=e.webkitRelativePath+e.lastModified+e.name+e.size})),!0===a){let e=n.map((e=>e.__key));i=Ws(i,r,"duplicate",(t=>!1===e.includes(t.__key)))}if(0===i.length)return o();if(void 0!==s.maxTotalSize){let e=!0===a?n.reduce(((e,t)=>e+t.size),0):0;if(i=Ws(i,r,"max-total-size",(t=>(e+=t.size,e<=p.value))),0===i.length)return o()}if("function"==typeof s.filter){let e=s.filter(i);i=Ws(i,r,"filter",(t=>e.includes(t)))}if(void 0!==s.maxFiles){let e=!0===a?n.length:0;if(i=Ws(i,r,"max-files",(()=>(e++,e<=h.value))),0===i.length)return o()}return o(),0!==i.length?i:void 0},getDndNode:function(e){if(!0===t.value)return n("div",{ref:c,class:`q-${e}__dnd absolute-full`,onDragenter:Ys,onDragover:Ys,onDragleave:g,onDrop:v})},maxFilesNumber:h,maxTotalSizeNumber:p}}function Zs(e,t){function n(){let t=e.modelValue;try{let e="DataTransfer"in window?new DataTransfer:"ClipboardEvent"in window?new ClipboardEvent("").clipboardData:void 0;return Object(t)===t&&("length"in t?Array.from(t):[t]).forEach((t=>{e.items.add(t)})),{files:e.files}}catch{return{files:void 0}}}return i(!0===t?()=>{if("file"===e.type)return n()}:n)}var Js=F({name:"QFile",inheritAttrs:!1,props:{...$s,...ii,...Qs,modelValue:[File,FileList,Array],append:Boolean,useChips:Boolean,displayValue:[String,Number],tabindex:{type:[String,Number],default:0},counterLabel:Function,inputClass:[Array,String,Object],inputStyle:[Array,String,Object]},emits:[...Fs,...Ks],setup(e,{slots:t,emit:r,attrs:o}){let{proxy:s}=k(),l=Vs(),u=a(null),c=a(!1),d=si(e),{pickFiles:h,onDragover:p,onDragleave:f,processFiles:m,getDndNode:g}=Gs({editable:l.editable,dnd:c,getFileInput:L,addFilesToQueue:O}),v=Zs(e),b=i((()=>Object(e.modelValue)===e.modelValue?"length"in e.modelValue?Array.from(e.modelValue):[e.modelValue]:[])),_=i((()=>js(b.value))),y=i((()=>b.value.map((e=>e.name)).join(", "))),w=i((()=>Ge(b.value.reduce(((e,t)=>e+t.size),0)))),x=i((()=>({totalSize:w.value,filesNumber:b.value.length,maxFiles:e.maxFiles}))),S=i((()=>({tabindex:-1,type:"file",title:"",accept:e.accept,capture:e.capture,name:d.value,...o,id:l.targetUid.value,disabled:!0!==l.editable.value}))),C=i((()=>"q-file q-field--auto-height"+(!0===c.value?" q-file--dnd":""))),E=i((()=>!0===e.multiple&&!0===e.append));function T(e){let t=b.value.slice();t.splice(e,1),A(t)}function A(t){r("update:modelValue",!0===e.multiple?t:t[0])}function M(e){13===e.keyCode&&Z(e)}function P(e){(13===e.keyCode||32===e.keyCode)&&h(e)}function L(){return u.value}function O(t,n){let a=m(t,n,b.value,E.value),i=L();null!=i&&(i.value=""),void 0!==a&&((!0===e.multiple?e.modelValue&&a.every((e=>b.value.includes(e))):e.modelValue===a[0])||A(!0===E.value?b.value.concat(a):a))}function R(){return[n("input",{class:[e.inputClass,"q-file__filler"],style:e.inputStyle})]}function I(){let t={ref:u,...S.value,...v.value,class:"q-field__input fit absolute-full cursor-pointer",onChange:O};return!0===e.multiple&&(t.multiple=!0),n("input",t)}return Object.assign(l,{fieldClass:C,emitValue:A,hasValue:_,inputRef:u,innerValue:b,floatingLabel:i((()=>!0===_.value||js(e.displayValue))),computedCounter:i((()=>{if(void 0!==e.counterLabel)return e.counterLabel(x.value);let t=e.maxFiles;return`${b.value.length}${void 0!==t?" / "+t:""} (${w.value})`})),getControlChild:()=>g("file"),getControl:()=>{let a={ref:l.targetRef,class:"q-field__native row items-center cursor-pointer",tabindex:e.tabindex};return!0===l.editable.value&&Object.assign(a,{onDragover:p,onDragleave:f,onKeydown:M,onKeyup:P}),n("div",a,[I()].concat(function(){if(void 0!==t.file)return 0===b.value.length?R():b.value.map(((e,n)=>t.file({index:n,file:e,ref:this})));if(void 0!==t.selected)return 0===b.value.length?R():t.selected({files:b.value,ref:this});if(!0===e.useChips)return 0===b.value.length?R():b.value.map(((t,a)=>n(Fi,{key:"file-"+a,removable:l.editable.value,dense:!0,textColor:e.color,tabindex:e.tabindex,onRemove:()=>{T(a)}},(()=>n("span",{class:"ellipsis",textContent:t.name})))));let a=void 0!==e.displayValue?e.displayValue:y.value;return 0!==a.length?[n("div",{class:e.inputClass,style:e.inputStyle,textContent:a})]:R()}()))}}),Object.assign(s,{removeAtIndex:T,removeFile:function(e){let t=b.value.indexOf(e);-1!==t&&T(t)},getNativeElement:()=>u.value}),N(s,"nativeEl",(()=>u.value)),Us(l)}}),Xs=F({name:"QFooter",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=y(Me,Ie);if(l===Ie)return console.error("QFooter needs to be child of QLayout"),Ie;let u=a(parseInt(e.heightHint,10)),c=a(!0),d=a(!0===z.value||!0===l.isContainer.value?0:window.innerHeight),h=i((()=>!0===e.reveal||-1!==l.view.value.indexOf("F")||s.platform.is.ios&&!0===l.isContainer.value)),p=i((()=>!0===l.isContainer.value?l.containerHeight.value:d.value)),f=i((()=>{if(!0!==e.modelValue)return 0;if(!0===h.value)return!0===c.value?u.value:0;let t=l.scroll.value.position+p.value+u.value-l.height.value;return t>0?t:0})),m=i((()=>!0!==e.modelValue||!0===h.value&&!0!==c.value)),v=i((()=>!0===e.modelValue&&!0===m.value&&!0===e.reveal)),b=i((()=>"q-footer q-layout__section--marginal "+(!0===h.value?"fixed":"absolute")+"-bottom"+(!0===e.bordered?" q-footer--bordered":"")+(!0===m.value?" q-footer--hidden":"")+(!0!==e.modelValue?" q-layout--prevent-focus"+(!0!==h.value?" hidden":""):""))),_=i((()=>{let e=l.rows.value.bottom,t={};return"l"===e[0]&&!0===l.left.space&&(t[!0===s.lang.rtl?"right":"left"]=`${l.left.size}px`),"r"===e[2]&&!0===l.right.space&&(t[!0===s.lang.rtl?"left":"right"]=`${l.right.size}px`),t}));function w(e,t){l.update("footer",e,t)}function x(e,t){e.value!==t&&(e.value=t)}function S({height:e}){x(u,e),w("size",e)}function C(e){!0===v.value&&x(c,!0),o("focusin",e)}r((()=>e.modelValue),(e=>{w("space",e),x(c,!0),l.animate()})),r(f,(e=>{w("offset",e)})),r((()=>e.reveal),(t=>{!1===t&&x(c,e.modelValue)})),r(c,(e=>{l.animate(),o("reveal",e)})),r([u,l.scroll,l.height],(function(){if(!0!==e.reveal)return;let{direction:t,position:n,inflectionPoint:a}=l.scroll.value;x(c,"up"===t||n-a<100||l.height.value-p.value-n-u.value<300)})),r((()=>s.screen.height),(e=>{!0!==l.isContainer.value&&x(d,e)}));let E={};return l.instances.footer=E,!0===e.modelValue&&w("size",u.value),w("space",e.modelValue),w("offset",f.value),g((()=>{l.instances.footer===E&&(l.instances.footer=void 0,w("size",0),w("offset",0),w("space",!1))})),()=>{let a=pt(t.default,[n(lr,{debounce:0,onResize:S})]);return!0===e.elevated&&a.push(n("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),n("footer",{class:b.value,style:_.value,onFocusin:C},a)}}}),el=F({name:"QForm",props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:["reset","validationSuccess","validationError"],setup(e,{slots:t,emit:i}){let r=k(),o=a(null),s=0,l=[];function u(t){let n="boolean"==typeof t?t:!0!==e.noErrorFocus,a=++s,r=(e,t)=>{i("validation"+(!0===e?"Success":"Error"),t)},o=e=>{let t=e.validate();return"function"==typeof t.then?t.then((t=>({valid:t,comp:e})),(t=>({valid:!1,comp:e,err:t}))):Promise.resolve({valid:t,comp:e})};return(!0===e.greedy?Promise.all(l.map(o)).then((e=>e.filter((e=>!0!==e.valid)))):l.reduce(((e,t)=>e.then((()=>o(t).then((e=>{if(!1===e.valid)return Promise.reject(e)}))))),Promise.resolve()).catch((e=>[e]))).then((e=>{if(void 0===e||0===e.length)return a===s&&r(!0),!0;if(a===s){let{comp:t,err:a}=e[0];if(void 0!==a&&console.error(a),r(!1,t),!0===n){let t=e.find((({comp:e})=>"function"==typeof e.focus&&!1===Wt(e.$)));void 0!==t&&t.comp.focus()}}return!1}))}function c(){s++,l.forEach((e=>{"function"==typeof e.resetValidation&&e.resetValidation()}))}function f(t){void 0!==t&&J(t);let n=s+1;u().then((a=>{n===s&&!0===a&&(void 0!==e.onSubmit?i("submit",t):void 0!==t&&void 0!==t.target&&"function"==typeof t.target.submit&&t.target.submit())}))}function g(t){void 0!==t&&J(t),i("reset"),d((()=>{c(),!0===e.autofocus&&!0!==e.noResetFocus&&v()}))}function v(){Vn((()=>{if(null===o.value)return;let e=o.value.querySelector("[autofocus][tabindex], [data-autofocus][tabindex]")||o.value.querySelector("[autofocus] [tabindex], [data-autofocus] [tabindex]")||o.value.querySelector("[autofocus], [data-autofocus]")||Array.prototype.find.call(o.value.querySelectorAll("[tabindex]"),(e=>-1!==e.tabIndex));e?.focus({preventScroll:!0})}))}w(Oe,{bindComponent(e){l.push(e)},unbindComponent(e){let t=l.indexOf(e);-1!==t&&l.splice(t,1)}});let b=!1;return p((()=>{b=!0})),h((()=>{!0===b&&!0===e.autofocus&&v()})),m((()=>{!0===e.autofocus&&v()})),Object.assign(r.proxy,{validate:u,resetValidation:c,submit:f,reset:g,focus:v,getValidationComponents:()=>l}),()=>n("form",{class:"q-form",ref:o,onSubmit:f,onReset:g},dt(t.default))}}),tl={inject:{[Oe]:{default:W}},watch:{disable(e){let t=this.$.provides[Oe];void 0!==t&&(!0===e?(this.resetValidation(),t.unbindComponent(this)):t.bindComponent(this))}},methods:{validate(){},resetValidation(){}},mounted(){let e=this.$.provides[Oe];void 0!==e&&!0!==this.disable&&e.bindComponent(this)},beforeUnmount(){let e=this.$.provides[Oe];void 0!==e&&!0!==this.disable&&e.unbindComponent(this)}},nl=F({name:"QHeader",props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:["reveal","focusin"],setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=y(Me,Ie);if(l===Ie)return console.error("QHeader needs to be child of QLayout"),Ie;let u=a(parseInt(e.heightHint,10)),c=a(!0),d=i((()=>!0===e.reveal||-1!==l.view.value.indexOf("H")||s.platform.is.ios&&!0===l.isContainer.value)),h=i((()=>{if(!0!==e.modelValue)return 0;if(!0===d.value)return!0===c.value?u.value:0;let t=u.value-l.scroll.value.position;return t>0?t:0})),p=i((()=>!0!==e.modelValue||!0===d.value&&!0!==c.value)),f=i((()=>!0===e.modelValue&&!0===p.value&&!0===e.reveal)),m=i((()=>"q-header q-layout__section--marginal "+(!0===d.value?"fixed":"absolute")+"-top"+(!0===e.bordered?" q-header--bordered":"")+(!0===p.value?" q-header--hidden":"")+(!0!==e.modelValue?" q-layout--prevent-focus":""))),v=i((()=>{let e=l.rows.value.top,t={};return"l"===e[0]&&!0===l.left.space&&(t[!0===s.lang.rtl?"right":"left"]=`${l.left.size}px`),"r"===e[2]&&!0===l.right.space&&(t[!0===s.lang.rtl?"left":"right"]=`${l.right.size}px`),t}));function b(e,t){l.update("header",e,t)}function _(e,t){e.value!==t&&(e.value=t)}function w({height:e}){_(u,e),b("size",e)}function x(e){!0===f.value&&_(c,!0),o("focusin",e)}r((()=>e.modelValue),(e=>{b("space",e),_(c,!0),l.animate()})),r(h,(e=>{b("offset",e)})),r((()=>e.reveal),(t=>{!1===t&&_(c,e.modelValue)})),r(c,(e=>{l.animate(),o("reveal",e)})),r(l.scroll,(t=>{!0===e.reveal&&_(c,"up"===t.direction||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)}));let S={};return l.instances.header=S,!0===e.modelValue&&b("size",u.value),b("space",e.modelValue),b("offset",h.value),g((()=>{l.instances.header===S&&(l.instances.header=void 0,b("size",0),b("offset",0),b("space",!1))})),()=>{let a=ht(t.default,[]);return!0===e.elevated&&a.push(n("div",{class:"q-layout__shadow absolute-full overflow-hidden no-pointer-events"})),a.push(n(lr,{debounce:0,onResize:w})),n("header",{class:m.value,style:v.value,onFocusin:x},a)}}}),al={ratio:[String,Number]};function il(e,t){return i((()=>{let n=Number(e.ratio||(void 0!==t?t.value:void 0));return!0!==isNaN(n)&&n>0?{paddingBottom:100/n+"%"}:null}))}var rl=F({name:"QImg",props:{...al,src:String,srcset:String,sizes:String,alt:String,crossorigin:String,decoding:String,referrerpolicy:String,draggable:Boolean,loading:{type:String,default:"lazy"},loadingShowDelay:{type:[Number,String],default:0},fetchpriority:{type:String,default:"auto"},width:String,height:String,initialRatio:{type:[Number,String],default:1.7778},placeholderSrc:String,errorSrc:String,fit:{type:String,default:"cover"},position:{type:String,default:"50% 50%"},imgClass:String,imgStyle:Object,noSpinner:Boolean,noNativeMenu:Boolean,noTransition:Boolean,spinnerColor:String,spinnerSize:String},emits:["load","error"],setup(e,{slots:t,emit:o}){let s=a(e.initialRatio),l=il(e,s),u=k(),{registerTimeout:c,removeTimeout:d}=aa(),{registerTimeout:h,removeTimeout:p}=aa(),f=i((()=>void 0!==e.placeholderSrc?{src:e.placeholderSrc}:null)),g=i((()=>void 0!==e.errorSrc?{src:e.errorSrc,__qerror:!0}:null)),v=[a(null),a(f.value)],b=a(0),_=a(!1),y=a(!1),w=i((()=>`q-img q-img--${!0===e.noNativeMenu?"no-":""}menu`)),x=i((()=>({width:e.width,height:e.height}))),C=i((()=>`q-img__image ${void 0!==e.imgClass?e.imgClass+" ":""}q-img__image--with${!0===e.noTransition?"out":""}-transition q-img__image--`)),E=i((()=>({...e.imgStyle,objectFit:e.fit,objectPosition:e.position})));function T(){p(),_.value=!1}function A({target:e}){!1===Wt(u)&&(d(),s.value=0===e.naturalHeight?.5:e.naturalWidth/e.naturalHeight,M(e,1))}function M(e,t){1e3===t||!0===Wt(u)||(!0===e.complete?function(e){!0!==Wt(u)&&(b.value=1^b.value,v[b.value].value=null,T(),"true"!==e.getAttribute("__qerror")&&(y.value=!1),o("load",e.currentSrc||e.src))}(e):c((()=>{M(e,t+1)}),50))}function P(e){d(),T(),y.value=!0,v[b.value].value=g.value,v[1^b.value].value=f.value,o("error",e)}function L(t){let a=v[t].value,i={key:"img_"+t,class:C.value,style:E.value,alt:e.alt,crossorigin:e.crossorigin,decoding:e.decoding,referrerpolicy:e.referrerpolicy,height:e.height,width:e.width,loading:e.loading,fetchpriority:e.fetchpriority,"aria-hidden":"true",draggable:e.draggable,...a};return b.value===t?Object.assign(i,{class:i.class+"current",onLoad:A,onError:P}):i.class+="loaded",n("div",{class:"q-img__container absolute-full",key:"img"+t},n("img",i))}function O(){return!1===_.value?n("div",{key:"content",class:"q-img__content absolute-full q-anchor--skip"},dt(t[!0===y.value?"error":"default"])):n("div",{key:"loading",class:"q-img__loading absolute-full flex flex-center"},void 0!==t.loading?t.loading():!0===e.noSpinner?void 0:[n(on,{color:e.spinnerColor,size:e.spinnerSize})])}{let t=function(){r((()=>e.src||e.srcset||e.sizes?{src:e.src,srcset:e.srcset,sizes:e.sizes}:null),(t=>{d(),y.value=!1,null===t?(T(),v[1^b.value].value=f.value):(p(),0!==e.loadingShowDelay?h((()=>{_.value=!0}),e.loadingShowDelay):_.value=!0),v[b.value].value=t}),{immediate:!0})};!0===z.value?m(t):t()}return()=>{let t=[];return null!==l.value&&t.push(n("div",{key:"filler",style:l.value})),null!==v[0].value&&t.push(L(0)),null!==v[1].value&&t.push(L(1)),t.push(n(S,{name:"q-transition--fade"},O)),n("div",{key:"main",class:w.value,style:x.value,role:"img","aria-label":e.alt},t)}}}),{passive:ol}=H,sl=F({name:"QInfiniteScroll",props:{offset:{type:Number,default:500},debounce:{type:[String,Number],default:100},scrollTarget:ra,initialIndex:{type:Number,default:0},disable:Boolean,reverse:Boolean},emits:["load"],setup(e,{slots:t,emit:o}){let s,l,u=a(!1),c=a(!0),f=a(null),v=a(null),b=e.initialIndex,_=i((()=>"q-infinite-scroll__loading"+(!0===u.value?"":" invisible")));function y(){if(!0===e.disable||!0===u.value||!1===c.value)return;let t=la(s),n=ua(s),a=ln(s);!1===e.reverse?Math.round(n+a+e.offset)>=Math.round(t)&&w():Math.round(n)<=e.offset&&w()}function w(){if(!0===e.disable||!0===u.value||!1===c.value)return;b++,u.value=!0;let t=la(s);o("load",b,(n=>{!0===c.value&&(u.value=!1,d((()=>{if(!0===e.reverse){let e=la(s),n=ua(s);ma(s,n+(e-t))}!0===n?S():f.value&&f.value.closest("body")&&l()})))}))}function x(){!1===c.value&&(c.value=!0,s.addEventListener("scroll",l,ol)),y()}function S(){!0===c.value&&(c.value=!1,u.value=!1,s.removeEventListener("scroll",l,ol),void 0!==l&&void 0!==l.cancel&&l.cancel())}function C(){if(s&&!0===c.value&&s.removeEventListener("scroll",l,ol),s=sa(f.value,e.scrollTarget),!0===c.value){if(s.addEventListener("scroll",l,ol),!0===e.reverse){let e=la(s),t=ln(s);ma(s,e-t)}y()}}function E(e){e=parseInt(e,10);let t=l;l=e<=0?y:ae(y,!0===isNaN(e)?100:e),s&&!0===c.value&&(void 0!==t&&s.removeEventListener("scroll",t,ol),s.addEventListener("scroll",l,ol))}function T(e){if(!0===A.value){if(null===v.value)return void(!0!==e&&d((()=>{T(!0)})));let t=(!0===u.value?"un":"")+"pauseAnimations";Array.from(v.value.getElementsByTagName("svg")).forEach((e=>{e[t]()}))}}let A=i((()=>!0!==e.disable&&!0===c.value));r([u,A],(()=>{T()})),r((()=>e.disable),(e=>{!0===e?S():x()})),r((()=>e.reverse),(()=>{!1===u.value&&!0===c.value&&y()})),r((()=>e.scrollTarget),C),r((()=>e.debounce),E);let M=!1;h((()=>{!1!==M&&s&&ma(s,M)})),p((()=>{M=!!s&&ua(s)})),g((()=>{!0===c.value&&s.removeEventListener("scroll",l,ol)})),m((()=>{E(e.debounce),C(),!1===u.value&&T()}));let P=k();return Object.assign(P.proxy,{poll:()=>{void 0!==l&&l()},trigger:w,stop:S,reset:function(){b=0},resume:x,setIndex:function(e){b=e},updateScrollTarget:C}),()=>{let a=ht(t.default,[]);return!0===A.value&&a[!1===e.reverse?"push":"unshift"](n("div",{ref:v,class:_.value},dt(t.loading))),n("div",{class:"q-infinite-scroll",ref:f},a)}}}),ll=F({name:"QInnerLoading",props:{...Rt,...ea,showing:Boolean,color:String,size:{type:[String,Number],default:"42px"},label:String,labelClass:String,labelStyle:[String,Array,Object]},setup(e,{slots:t}){let a=k(),r=It(e,a.proxy.$q),{transitionProps:o,transitionStyle:s}=ta(e),l=i((()=>"q-inner-loading q--avoid-card-border absolute-full column flex-center"+(!0===r.value?" q-inner-loading--dark":""))),u=i((()=>"q-inner-loading__label"+(void 0!==e.labelClass?` ${e.labelClass}`:"")));function c(){return!0===e.showing?n("div",{class:l.value,style:s.value},void 0!==t.default?t.default():function(){let t=[n(on,{size:e.size,color:e.color})];return void 0!==e.label&&t.push(n("div",{class:u.value,style:e.labelStyle},[e.label])),t}()):null}return()=>n(S,o.value,c)}}),ul={date:"####/##/##",datetime:"####/##/## ##:##",time:"##:##",fulltime:"##:##:##",phone:"(###) ### - ####",card:"#### #### #### ####"},cl={"#":{pattern:"[\\d]",negate:"[^\\d]"},S:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]"},N:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]"},A:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleUpperCase()},a:{pattern:"[a-zA-Z]",negate:"[^a-zA-Z]",transform:e=>e.toLocaleLowerCase()},X:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleUpperCase()},x:{pattern:"[0-9a-zA-Z]",negate:"[^0-9a-zA-Z]",transform:e=>e.toLocaleLowerCase()}},dl=Object.keys(cl);dl.forEach((e=>{cl[e].regex=new RegExp(cl[e].pattern)}));var hl=new RegExp("\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|(["+dl.join("")+"])|(.)","g"),pl=/[.*+?^${}()|[\]\\]/g,fl="",ml={mask:String,reverseFillMask:Boolean,fillMask:[Boolean,String],unmaskedValue:Boolean};function gl(e,t,n,i){let o,s,l,u,c,h,p=a(null),f=a(function(){if(g(),!0===p.value){let t=_(y(e.modelValue));return!1!==e.fillMask?w(t):t}return e.modelValue}());function m(e){if(e0;a--)t+=fl;n=n.slice(0,a)+t+n.slice(a)}return n}function g(){if(p.value=void 0!==e.mask&&0!==e.mask.length&&(!0===e.autogrow||["textarea","text","search","url","tel","password"].includes(e.type)),!1===p.value)return u=void 0,o="",void(s="");let t=void 0===ul[e.mask]?e.mask:ul[e.mask],n="string"==typeof e.fillMask&&0!==e.fillMask.length?e.fillMask.slice(0,1):"_",a=n.replace(pl,"\\$&"),i=[],r=[],c=[],d=!0===e.reverseFillMask,h="",f="";t.replace(hl,((e,t,n,a,o)=>{if(void 0!==a){let e=cl[a];c.push(e),f=e.negate,!0===d&&(r.push("(?:"+f+"+)?("+e.pattern+"+)?(?:"+f+"+)?("+e.pattern+"+)?"),d=!1),r.push("(?:"+f+"+)?("+e.pattern+")?")}else if(void 0!==n)h="\\"+("\\"===n?"":n),c.push(n),i.push("([^"+h+"]+)?"+h+"?");else{let e=void 0!==t?t:o;h="\\"===e?"\\\\\\\\":e.replace(pl,"\\\\$&"),c.push(e),i.push("([^"+h+"]+)?"+h+"?")}}));let m=new RegExp("^"+i.join("")+"("+(""===h?".":"[^"+h+"]")+"+)?"+(""===h?"":"["+h+"]*")+"$"),g=r.length-1,v=r.map(((t,n)=>0===n&&!0===e.reverseFillMask?new RegExp("^"+a+"*"+t):n===g?new RegExp("^"+t+"("+(""===f?".":f)+"+)?"+(!0===e.reverseFillMask?"$":a+"*")):new RegExp("^"+t)));l=c,u=t=>{let n=m.exec(!0===e.reverseFillMask?t:t.slice(0,c.length+1));null!==n&&(t=n.slice(1).join(""));let a=[],i=v.length;for(let e=0,n=t;e"string"==typeof e?e:fl)).join(""),s=o.split(fl).join(n)}function v(t,a,r){let l=i.value,u=l.selectionEnd,h=l.value.length-u,p=y(t);!0===a&&g();let m=_(p),v=!1!==e.fillMask?w(m):m,k=f.value!==v;l.value!==v&&(l.value=v),!0===k&&(f.value=v),document.activeElement===l&&d((()=>{if(v!==s)if("insertFromPaste"!==r||!0===e.reverseFillMask)if(-1===["deleteContentBackward","deleteContentForward"].indexOf(r))if(!0===e.reverseFillMask)if(!0===k){let e=Math.max(0,v.length-(v===s?0:Math.min(m.length,h+1)));1===e&&1===u?l.setSelectionRange(e,e,"forward"):b.rightReverse(l,e)}else{let e=v.length-h;l.setSelectionRange(e,e,"backward")}else if(!0===k){let e=Math.max(0,o.indexOf(fl),Math.min(m.length,u)-1);b.right(l,e)}else{let e=u-1;b.right(l,e)}else{let t=!0===e.reverseFillMask?0===u?v.length>m.length?1:0:Math.max(0,v.length-(v===s?0:Math.min(m.length,h)+1))+1:u;l.setSelectionRange(t,t,"forward")}else{let e=l.selectionEnd,t=u-1;for(let n=c;n<=t&&ne.type+e.autogrow),g),r((()=>e.mask),(n=>{if(void 0!==n)v(f.value,!0);else{let n=y(f.value);g(),e.modelValue!==n&&t("update:modelValue",n)}})),r((()=>e.fillMask+e.reverseFillMask),(()=>{!0===p.value&&v(f.value,!0)})),r((()=>e.unmaskedValue),(()=>{!0===p.value&&v(f.value)}));let b={left(e,t){let n=-1===o.slice(t-1).indexOf(fl),a=Math.max(0,t-1);for(;a>=0;a--)if(o[a]===fl){t=a,!0===n&&t++;break}if(a<0&&void 0!==o[t]&&o[t]!==fl)return b.right(e,0);t>=0&&e.setSelectionRange(t,t,"backward")},right(e,t){let n=e.value.length,a=Math.min(n,t+1);for(;a<=n;a++){if(o[a]===fl){t=a;break}o[a-1]===fl&&(t=a)}if(a>n&&void 0!==o[t-1]&&o[t-1]!==fl)return b.left(e,n);e.setSelectionRange(t,t,"forward")},leftReverse(e,t){let n=m(e.value.length),a=Math.max(0,t-1);for(;a>=0;a--){if(n[a-1]===fl){t=a;break}if(n[a]===fl&&(t=a,0===a))break}if(a<0&&void 0!==n[t]&&n[t]!==fl)return b.rightReverse(e,0);t>=0&&e.setSelectionRange(t,t,"backward")},rightReverse(e,t){let n=e.value.length,a=m(n),i=-1===a.slice(0,t+1).indexOf(fl),r=Math.min(n,t+1);for(;r<=n;r++)if(a[r-1]===fl){(t=r)>0&&!0===i&&t--;break}if(r>n&&void 0!==a[t-1]&&a[t-1]!==fl)return b.leftReverse(e,n);e.setSelectionRange(t,t,"forward")}};function _(t){if(null==t||""===t)return"";if(!0===e.reverseFillMask)return function(e){let t=l,n=o.indexOf(fl),a=e.length-1,i="";for(let r=t.length-1;r>=0&&-1!==a;r--){let o=t[r],s=e[a];if("string"==typeof o)i=o+i,s===o&&a--;else{if(void 0===s||!o.regex.test(s))return i;do{i=(void 0!==o.transform?o.transform(s):s)+i,a--,s=e[a]}while(n===r&&void 0!==s&&o.regex.test(s))}}return i}(t);let n=l,a=0,i="";for(let e=0;ejs(y.value))),M=vl(q),P=Vs({changeEvent:!0}),L=i((()=>"textarea"===e.type||!0===e.autogrow)),O=i((()=>!0===L.value||["text","search","url","tel","password"].includes(e.type))),R=i((()=>{let t={...P.splitAttrs.listeners.value,onInput:q,onPaste:z,onChange:B,onBlur:F,onFocus:G};return t.onCompositionstart=t.onCompositionupdate=t.onCompositionend=M,!0===w.value&&(t.onKeydown=C,t.onClick=E),!0===e.autogrow&&(t.onAnimationend=D),t})),I=i((()=>{let t={tabindex:0,"data-autofocus":!0===e.autofocus||void 0,rows:"textarea"===e.type?6:void 0,"aria-label":e.label,name:_.value,...P.splitAttrs.attributes.value,id:P.targetUid.value,maxlength:e.maxlength,disabled:!0===e.disable,readonly:!0===e.readonly};return!1===L.value&&(t.type=e.type),!0===e.autogrow&&(t.rows=1),t}));function z(n){if(!0===w.value&&!0!==e.reverseFillMask){let e=n.target;x(e,e.selectionStart,e.selectionEnd)}t("paste",n)}function q(n){if(!n||!n.target)return;if("file"===e.type)return void t("update:modelValue",n.target.files);let a=n.target.value;if(!0!==n.target.qComposing){if(!0===w.value)S(a,!1,n.inputType);else if(j(a),!0===O.value&&n.target===document.activeElement){let{selectionStart:e,selectionEnd:t}=n.target;void 0!==e&&void 0!==t&&d((()=>{n.target===document.activeElement&&0===a.indexOf(n.target.value)&&n.target.setSelectionRange(e,t)}))}!0===e.autogrow&&$()}else p.value=a}function D(e){t("animationend",e),$()}function j(n,a){u=()=>{v=null,"number"!==e.type&&!0===p.hasOwnProperty("value")&&delete p.value,e.modelValue!==n&&f!==n&&(f=n,!0===a&&(l=!0),t("update:modelValue",n),d((()=>{f===n&&(f=NaN)}))),u=void 0},"number"===e.type&&(s=!0,p.value=n),void 0!==e.debounce?(null!==v&&clearTimeout(v),p.value=n,v=setTimeout(u,e.debounce)):u()}function $(){requestAnimationFrame((()=>{let e=b.value;if(null!==e){let t=e.parentNode.style,{scrollTop:n}=e,{overflowY:a,maxHeight:i}=!0===h.platform.is.firefox?{}:window.getComputedStyle(e),r=void 0!==a&&"scroll"!==a;!0===r&&(e.style.overflowY="hidden"),t.marginBottom=e.scrollHeight-1+"px",e.style.height="1px",e.style.height=e.scrollHeight+"px",!0===r&&(e.style.overflowY=parseInt(i,10){null!==b.value&&(b.value.value=void 0!==y.value?y.value:"")}))}function V(){return!0===p.hasOwnProperty("value")?p.value:void 0!==y.value?y.value:""}r((()=>e.type),(()=>{b.value&&(b.value.value=e.modelValue)})),r((()=>e.modelValue),(t=>{if(!0===w.value){if(!0===l&&(l=!1,String(t)===f))return;S(t)}else y.value!==t&&(y.value=t,"number"===e.type&&!0===p.hasOwnProperty("value")&&(!0===s?s=!1:delete p.value));!0===e.autogrow&&d($)})),r((()=>e.autogrow),(e=>{!0===e?d($):null!==b.value&&o.rows>0&&(b.value.style.height="auto")})),r((()=>e.dense),(()=>{!0===e.autogrow&&d($)})),g((()=>{F()})),m((()=>{!0===e.autogrow&&$()})),Object.assign(P,{innerValue:y,fieldClass:i((()=>"q-"+(!0===L.value?"textarea":"input")+(!0===e.autogrow?" q-textarea--autogrow":""))),hasShadow:i((()=>"file"!==e.type&&"string"==typeof e.shadowText&&0!==e.shadowText.length)),inputRef:b,emitValue:j,hasValue:A,floatingLabel:i((()=>!0===A.value&&("number"!==e.type||!1===isNaN(y.value))||js(e.displayValue))),getControl:()=>n(!0===L.value?"textarea":"input",{ref:b,class:["q-field__native q-placeholder",e.inputClass],style:e.inputStyle,...I.value,...R.value,..."file"!==e.type?{value:V()}:T.value}),getShadowControl:()=>n("div",{class:"q-field__native q-field__shadow absolute-bottom no-pointer-events"+(!0===L.value?"":" text-no-wrap")},[n("span",{class:"invisible"},V()),n("span",e.shadowText)])});let U=Us(P);return Object.assign(c,{focus:function(){Vn((()=>{let e=document.activeElement;null!==b.value&&b.value!==e&&(null===e||e.id!==P.targetUid.value)&&b.value.focus({preventScroll:!0})}))},select:function(){null!==b.value&&b.value.select()},getNativeElement:()=>b.value}),N(c,"nativeEl",(()=>b.value)),U}}),_l={threshold:0,root:null,rootMargin:"0px"};function yl(e,t,n){let a,i,r;"function"==typeof n?(a=n,i=_l,r=void 0===t.cfg):(a=n.handler,i=Object.assign({},_l,n.cfg),r=void 0===t.cfg||!1===De(t.cfg,i)),t.handler!==a&&(t.handler=a),!0===r&&(t.cfg=i,void 0!==t.observer&&t.observer.unobserve(e),t.observer=new IntersectionObserver((([n])=>{if("function"==typeof t.handler){if(null===n.rootBounds&&!0===document.body.contains(e))return t.observer.unobserve(e),void t.observer.observe(e);(!1===t.handler(n,t.observer)||!0===t.once&&!0===n.isIntersecting)&&wl(e)}}),i),t.observer.observe(e))}function wl(e){let t=e.__qvisible;void 0!==t&&(void 0!==t.observer&&t.observer.unobserve(e),delete e.__qvisible)}var kl=V({name:"intersection",mounted(e,{modifiers:t,value:n}){let a={once:!0===t.once};yl(e,a,n),e.__qvisible=a},updated(e,t){let n=e.__qvisible;void 0!==n&&yl(e,n,t.value)},beforeUnmount:wl}),xl=F({name:"QIntersection",props:{tag:{type:String,default:"div"},once:Boolean,transition:String,transitionDuration:{type:[String,Number],default:300},ssrPrerender:Boolean,margin:String,threshold:[Number,Array],root:{default:null},disable:Boolean,onVisibility:Function},setup(e,{slots:t,emit:r}){let o=a(!0===z.value&&e.ssrPrerender),s=i((()=>void 0!==e.root||void 0!==e.margin||void 0!==e.threshold?{handler:d,cfg:{root:e.root,rootMargin:e.margin,threshold:e.threshold}}:d)),l=i((()=>!0!==e.disable&&(!0!==z.value||!0!==e.once||!0!==e.ssrPrerender))),u=i((()=>[[kl,s.value,void 0,{once:e.once}]])),c=i((()=>`--q-transition-duration: ${e.transitionDuration}ms`));function d(t){o.value!==t.isIntersecting&&(o.value=t.isIntersecting,void 0!==e.onVisibility&&r("visibility",o.value))}function h(){return!0===o.value?[n("div",{key:"content",style:c.value},dt(t.default))]:void 0!==t.hidden?[n("div",{key:"hidden",style:c.value},t.hidden())]:void 0}return()=>{let t=e.transition?[n(S,{name:"q-transition--"+e.transition},h)]:h();return mt(e.tag,{class:"q-intersection"},t,"main",l.value,(()=>u.value))}}}),Sl=["ul","ol"],Cl=F({name:"QList",props:{...Rt,bordered:Boolean,dense:Boolean,separator:Boolean,padding:Boolean,tag:{type:String,default:"div"}},setup(e,{slots:t}){let a=k(),r=It(e,a.proxy.$q),o=i((()=>Sl.includes(e.tag)?null:"list")),s=i((()=>"q-list"+(!0===e.bordered?" q-list--bordered":"")+(!0===e.dense?" q-list--dense":"")+(!0===e.separator?" q-list--separator":"")+(!0===r.value?" q-list--dark":"")+(!0===e.padding?" q-list--padding":"")));return()=>n(e.tag,{class:s.value,role:o.value},dt(t.default))}}),El=[34,37,40,33,39,38],Tl=Object.keys(Vi),Al=F({name:"QKnob",props:{...ii,...Vi,modelValue:{type:Number,required:!0},innerMin:Number,innerMax:Number,step:{type:Number,default:1,validator:e=>e>=0},tabindex:{type:[Number,String],default:0},disable:Boolean,readonly:Boolean},emits:["update:modelValue","change","dragValue"],setup(e,{slots:t,emit:o}){let s,{proxy:l}=k(),{$q:u}=l,c=a(e.modelValue),d=a(!1),h=i((()=>!0===isNaN(e.innerMin)||e.innerMin!0===isNaN(e.innerMax)||e.innerMax>e.max?e.max:e.innerMax));function f(){c.value=null===e.modelValue?h.value:Je(e.modelValue,h.value,p.value),O(!0)}r((()=>`${e.modelValue}|${h.value}|${p.value}`),f),f();let m=i((()=>!1===e.disable&&!1===e.readonly)),g=i((()=>"q-knob non-selectable"+(!0===m.value?" q-knob--editable":!0===e.disable?" disabled":""))),v=i((()=>(String(e.step).trim().split(".")[1]||"").length)),b=i((()=>0===e.step?1:e.step)),_=i((()=>!0===e.instantFeedback||!0===d.value)),y=!0===u.platform.is.mobile?i((()=>!0===m.value?{onClick:A}:{})):i((()=>!0===m.value?{onMousedown:T,onClick:A,onKeydown:M,onKeyup:L}:{})),w=i((()=>!0===m.value?{tabindex:e.tabindex}:{["aria-"+(!0===e.disable?"disabled":"readonly")]:"true"})),x=i((()=>{let t={};return Tl.forEach((n=>{t[n]=e[n]})),t}));function S(e){e.isFinal?(P(e.evt,!0),d.value=!1):(e.isFirst&&(E(),d.value=!0),P(e.evt))}let C=i((()=>[[Ki,S,void 0,{prevent:!0,stop:!0,mouse:!0}]]));function E(){let{top:e,left:t,width:n,height:a}=l.$el.getBoundingClientRect();s={top:e+a/2,left:t+n/2}}function T(e){E(),P(e)}function A(e){E(),P(e,!0)}function M(e){if(!El.includes(e.keyCode))return;J(e);let t=([34,33].includes(e.keyCode)?10:1)*b.value,n=[34,37,40].includes(e.keyCode)?-t:t;c.value=Je(parseFloat((c.value+n).toFixed(v.value)),h.value,p.value),O()}function P(t,n){let a=Q(t),i=Math.abs(a.top-s.top),r=Math.sqrt(i**2+Math.abs(a.left-s.left)**2),l=Math.asin(i/r)*(180/Math.PI);l=a.top=b.value/2?(e<0?-1:1)*b.value:0),d=parseFloat(d.toFixed(v.value))}d=Je(d,h.value,p.value),o("dragValue",d),c.value!==d&&(c.value=d),O(n)}function L(e){El.includes(e.keyCode)&&O(!0)}function O(t){e.modelValue!==c.value&&o("update:modelValue",c.value),!0===t&&o("change",c.value)}let N=ri(e);function R(){return n("input",N.value)}return()=>{let n={class:g.value,role:"slider","aria-valuemin":h.value,"aria-valuemax":p.value,"aria-valuenow":e.modelValue,...w.value,...x.value,value:c.value,instantFeedback:_.value,...y.value},a={default:t.default};return!0===m.value&&void 0!==e.name&&(a.internal=R),mt(Wi,n,a,"knob",m.value,(()=>C.value))}}}),{passive:Ml}=H,Pl=["both","horizontal","vertical"],Ll=F({name:"QScrollObserver",props:{axis:{type:String,validator:e=>Pl.includes(e),default:"vertical"},debounce:[String,Number],scrollTarget:ra},emits:["scroll"],setup(e,{emit:t}){let n,a,i={position:{top:0,left:0},direction:"down",directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},o=null;function s(){null!==o&&o();let a=Math.max(0,ua(n)),r=ca(n),s={top:a-i.position.top,left:r-i.position.left};if("vertical"===e.axis&&0===s.top||"horizontal"===e.axis&&0===s.left)return;let l=Math.abs(s.top)>=Math.abs(s.left)?s.top<0?"up":"down":s.left<0?"left":"right";i.position={top:a,left:r},i.directionChanged=i.direction!==l,i.delta=s,!0===i.directionChanged&&(i.direction=l,i.inflectionPoint=i.position),t("scroll",{...i})}function l(){n=sa(a,e.scrollTarget),n.addEventListener("scroll",c,Ml),c(!0)}function u(){void 0!==n&&(n.removeEventListener("scroll",c,Ml),n=void 0)}function c(t){if(!0===t||0===e.debounce||"0"===e.debounce)s();else if(null===o){let[t,n]=e.debounce?[setTimeout(s,e.debounce),clearTimeout]:[requestAnimationFrame(s),cancelAnimationFrame];o=()=>{n(t),o=null}}}r((()=>e.scrollTarget),(()=>{u(),l()}));let{proxy:d}=k();return r((()=>d.$q.lang.rtl),s),m((()=>{a=d.$el.parentNode,l()})),g((()=>{null!==o&&o(),u()})),Object.assign(d,{trigger:c,getPosition:()=>i}),W}}),Ol=F({name:"QLayout",props:{container:Boolean,view:{type:String,default:"hhh lpr fff",validator:e=>/^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=a(null),c=a(s.screen.height),d=a(!0===e.container?0:s.screen.width),h=a({position:0,direction:"down",inflectionPoint:0}),p=a(0),f=a(!0===z.value?0:va()),m=i((()=>"q-layout q-layout--"+(!0===e.container?"containerized":"standard"))),g=i((()=>!1===e.container?{minHeight:s.screen.height+"px"}:null)),b=i((()=>0!==f.value?{[!0===s.lang.rtl?"left":"right"]:`${f.value}px`}:null)),_=i((()=>0!==f.value?{[!0===s.lang.rtl?"right":"left"]:0,[!0===s.lang.rtl?"left":"right"]:`-${f.value}px`,width:`calc(100% + ${f.value}px)`}:null));function y(t){if(!0===e.container||!0!==document.qScrollPrevented){let n={position:t.position.top,direction:t.direction,directionChanged:t.directionChanged,inflectionPoint:t.inflectionPoint.top,delta:t.delta.top};h.value=n,void 0!==e.onScroll&&o("scroll",n)}}function x(t){let{height:n,width:a}=t,i=!1;c.value!==n&&(i=!0,c.value=n,void 0!==e.onScrollHeight&&o("scrollHeight",n),C()),d.value!==a&&(i=!0,d.value=a),!0===i&&void 0!==e.onResize&&o("resize",t)}function S({height:e}){p.value!==e&&(p.value=e,C())}function C(){if(!0===e.container){let e=c.value>p.value?va():0;f.value!==e&&(f.value=e)}}let E=null,T={instances:{},view:i((()=>e.view)),isContainer:i((()=>e.container)),rootRef:l,height:c,containerHeight:p,scrollbarWidth:f,totalWidth:i((()=>d.value+f.value)),rows:i((()=>{let t=e.view.toLowerCase().split(" ");return{top:t[0].split(""),middle:t[1].split(""),bottom:t[2].split("")}})),header:u({size:0,offset:0,space:!1}),right:u({size:300,offset:0,space:!1}),footer:u({size:0,offset:0,space:!1}),left:u({size:300,offset:0,space:!1}),scroll:h,animate(){null!==E?clearTimeout(E):document.body.classList.add("q-body--layout-animate"),E=setTimeout((()=>{E=null,document.body.classList.remove("q-body--layout-animate")}),155)},update(e,t,n){T[e][t]=n}};if(w(Me,T),va()>0){let t=function(){i=null,o.classList.remove("hide-scrollbar")},n=function(){if(null===i){if(o.scrollHeight>s.screen.height)return;o.classList.add("hide-scrollbar")}else clearTimeout(i);i=setTimeout(t,300)},a=function(e){null!==i&&"remove"===e&&(clearTimeout(i),t()),window[`${e}EventListener`]("resize",n)},i=null,o=document.body;r((()=>!0!==e.container?"add":"remove"),a),!0!==e.container&&a("add"),v((()=>{a("remove")}))}return()=>{let a=pt(t.default,[n(Ll,{onScroll:y}),n(lr,{onResize:x})]),i=n("div",{class:m.value,style:g.value,ref:!0===e.container?void 0:l,tabindex:-1},a);return!0===e.container?n("div",{class:"q-layout-container overflow-hidden",ref:l},[n(lr,{onResize:S}),n("div",{class:"absolute-full",style:b.value},[n("div",{class:"scroll",style:_.value},[i])])]):i}}}),Nl=["horizontal","vertical","cell","none"],Rl=F({name:"QMarkupTable",props:{...Rt,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:"horizontal",validator:e=>Nl.includes(e)}},setup(e,{slots:t}){let a=k(),r=It(e,a.proxy.$q),o=i((()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(!0===r.value?" q-table--dark q-table__card--dark q-dark":"")+(!0===e.dense?" q-table--dense":"")+(!0===e.flat?" q-table--flat":"")+(!0===e.bordered?" q-table--bordered":"")+(!0===e.square?" q-table--square":"")+(!1===e.wrapCells?" q-table--no-wrap":"")));return()=>n("div",{class:o.value},[n("table",{class:"q-table"},dt(t.default))])}}),Il=F({name:"QNoSsr",props:{tag:{type:String,default:"div"},placeholder:String},setup(e,{slots:t}){let{isHydrated:a}=rr();return()=>{if(!0===a.value){let a=dt(t.default);return void 0===a?a:a.length>1?n(e.tag,{},a):a[0]}let i={class:"q-no-ssr-placeholder"},r=dt(t.placeholder);return void 0!==r?r.length>1?n(e.tag,i,r):r[0]:void 0!==e.placeholder?n(e.tag,i,e.placeholder):void 0}}}),zl=F({name:"QRadio",props:{...Rt,...ut,...ii,modelValue:{required:!0},val:{required:!0},label:String,leftLabel:Boolean,checkedIcon:String,uncheckedIcon:String,color:String,keepColor:Boolean,dense:Boolean,disable:Boolean,tabindex:[String,Number]},emits:["update:modelValue"],setup(e,{slots:t,emit:r}){let{proxy:o}=k(),l=It(e,o.$q),u=ct(e,zi),c=a(null),{refocusTargetEl:d,refocusTarget:h}=Ii(e,c),p=i((()=>s(e.modelValue)===s(e.val))),f=i((()=>"q-radio cursor-pointer no-outline row inline no-wrap items-center"+(!0===e.disable?" disabled":"")+(!0===l.value?" q-radio--dark":"")+(!0===e.dense?" q-radio--dense":"")+(!0===e.leftLabel?" reverse":""))),m=i((()=>{let t=void 0===e.color||!0!==e.keepColor&&!0!==p.value?"":` text-${e.color}`;return`q-radio__inner relative-position q-radio__inner--${!0===p.value?"truthy":"falsy"}${t}`})),g=i((()=>(!0===p.value?e.checkedIcon:e.uncheckedIcon)||null)),v=i((()=>!0===e.disable?-1:e.tabindex||0)),b=oi(i((()=>{let t={type:"radio"};return void 0!==e.name&&Object.assign(t,{".checked":!0===p.value,"^checked":!0===p.value?"checked":void 0,name:e.name,value:e.val}),t})));function _(t){void 0!==t&&(J(t),h(t)),!0!==e.disable&&!0!==p.value&&r("update:modelValue",e.val,t)}function y(e){(13===e.keyCode||32===e.keyCode)&&J(e)}function w(e){(13===e.keyCode||32===e.keyCode)&&_(e)}Object.assign(o,{set:_});let x=n("svg",{key:"svg",class:"q-radio__bg absolute non-selectable",viewBox:"0 0 24 24"},[n("path",{d:"M12,22a10,10 0 0 1 -10,-10a10,10 0 0 1 10,-10a10,10 0 0 1 10,10a10,10 0 0 1 -10,10m0,-22a12,12 0 0 0 -12,12a12,12 0 0 0 12,12a12,12 0 0 0 12,-12a12,12 0 0 0 -12,-12"}),n("path",{class:"q-radio__check",d:"M12,6a6,6 0 0 0 -6,6a6,6 0 0 0 6,6a6,6 0 0 0 6,-6a6,6 0 0 0 -6,-6"})]);return()=>{let a=null!==g.value?[n("div",{key:"icon",class:"q-radio__icon-container absolute-full flex flex-center no-wrap"},[n(Pt,{class:"q-radio__icon",name:g.value})])]:[x];!0!==e.disable&&b(a,"unshift"," q-radio__native q-ma-none q-pa-none");let i=[n("div",{class:m.value,style:u.value,"aria-hidden":"true"},a)];null!==d.value&&i.push(d.value);let r=void 0!==e.label?pt(t.default,[e.label]):dt(t.default);return void 0!==r&&i.push(n("div",{class:"q-radio__label q-anchor--skip"},r)),n("div",{ref:c,class:f.value,tabindex:v.value,role:"radio","aria-label":e.label,"aria-checked":!0===p.value?"true":"false","aria-disabled":!0===e.disable?"true":void 0,onClick:_,onKeydown:y,onKeyup:w},i)}}}),ql=F({name:"QToggle",props:{...qi,icon:String,iconColor:String},emits:Di,setup:e=>ji("toggle",(function(t,a){let r=i((()=>(!0===t.value?e.checkedIcon:!0===a.value?e.indeterminateIcon:e.uncheckedIcon)||e.icon)),o=i((()=>!0===t.value?e.iconColor:null));return()=>[n("div",{class:"q-toggle__track"}),n("div",{class:"q-toggle__thumb absolute flex flex-center no-wrap"},void 0!==r.value?[n(Pt,{name:r.value,color:o.value})]:void 0)]}))}),Dl={radio:zl,checkbox:$i,toggle:ql},jl=Object.keys(Dl);function $l(e,t){if("function"==typeof e)return e;let n=void 0!==e?e:t;return e=>e[n]}var Bl=F({name:"QOptionGroup",props:{...Rt,modelValue:{required:!0},options:{type:Array,validator:e=>e.every(je),default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],name:String,type:{type:String,default:"radio",validator:e=>jl.includes(e)},color:String,keepColor:Boolean,dense:Boolean,size:String,leftLabel:Boolean,inline:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{emit:t,slots:a}){let{proxy:{$q:r}}=k(),o=Array.isArray(e.modelValue);"radio"===e.type?!0===o&&console.error("q-option-group: model should not be array"):!1===o&&console.error("q-option-group: model should be array in your case");let s=It(e,r),l=i((()=>Dl[e.type])),u=i((()=>$l(e.optionValue,"value"))),c=i((()=>$l(e.optionLabel,"label"))),d=i((()=>$l(e.optionDisable,"disable"))),h=i((()=>e.options.map((t=>({val:u.value(t),name:void 0===t.name?e.name:t.name,disable:e.disable||d.value(t),leftLabel:void 0===t.leftLabel?e.leftLabel:t.leftLabel,color:void 0===t.color?e.color:t.color,checkedIcon:t.checkedIcon,uncheckedIcon:t.uncheckedIcon,dark:void 0===t.dark?s.value:t.dark,size:void 0===t.size?e.size:t.size,dense:e.dense,keepColor:void 0===t.keepColor?e.keepColor:t.keepColor}))))),p=i((()=>"q-option-group q-gutter-x-sm"+(!0===e.inline?" q-option-group--inline":""))),f=i((()=>{let t={role:"group"};return"radio"===e.type&&(t.role="radiogroup",!0===e.disable&&(t["aria-disabled"]="true")),t}));function m(e){t("update:modelValue",e)}return()=>n("div",{class:p.value,...f.value},e.options.map(((t,i)=>{let r=void 0!==a["label-"+i]?()=>a["label-"+i](t):void 0!==a.label?()=>a.label(t):void 0;return n("div",[n(l.value,{label:void 0===r?c.value(t):null,modelValue:e.modelValue,"onUpdate:modelValue":m,...h.value[i]},r)])})))}}),Fl=F({name:"QPage",props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=y(Me,Ie);if(r===Ie)return console.error("QPage needs to be a deep child of QLayout"),Ie;if(y(Pe,Ie)===Ie)return console.error("QPage needs to be child of QPageContainer"),Ie;let o=i((()=>{let t=(!0===r.header.space?r.header.size:0)+(!0===r.footer.space?r.footer.size:0);if("function"==typeof e.styleFn){let n=!0===r.isContainer.value?r.containerHeight.value:a.screen.height;return e.styleFn(t,n)}return{minHeight:!0===r.isContainer.value?r.containerHeight.value-t+"px":0===a.screen.height?0!==t?`calc(100vh - ${t}px)`:"100vh":a.screen.height-t+"px"}})),s=i((()=>"q-page"+(!0===e.padding?" q-layout-padding":"")));return()=>n("main",{class:s.value,style:o.value},dt(t.default))}}),Vl=F({name:"QPageContainer",setup(e,{slots:t}){let{proxy:{$q:a}}=k(),r=y(Me,Ie);if(r===Ie)return console.error("QPageContainer needs to be child of QLayout"),Ie;w(Pe,!0);let o=i((()=>{let e={};return!0===r.header.space&&(e.paddingTop=`${r.header.size}px`),!0===r.right.space&&(e["padding"+(!0===a.lang.rtl?"Left":"Right")]=`${r.right.size}px`),!0===r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),!0===r.left.space&&(e["padding"+(!0===a.lang.rtl?"Right":"Left")]=`${r.left.size}px`),e}));return()=>n("div",{class:"q-page-container",style:o.value},dt(t.default))}}),Ul={position:{type:String,default:"bottom-right",validator:e=>["top-right","top-left","bottom-right","bottom-left","top","right","bottom","left"].includes(e)},offset:{type:Array,validator:e=>2===e.length},expand:Boolean};function Hl(){let{props:e,proxy:{$q:t}}=k(),a=y(Me,Ie);if(a===Ie)return console.error("QPageSticky needs to be child of QLayout"),Ie;let r=i((()=>{let t=e.position;return{top:-1!==t.indexOf("top"),right:-1!==t.indexOf("right"),bottom:-1!==t.indexOf("bottom"),left:-1!==t.indexOf("left"),vertical:"top"===t||"bottom"===t,horizontal:"left"===t||"right"===t}})),o=i((()=>a.header.offset)),s=i((()=>a.right.offset)),l=i((()=>a.footer.offset)),u=i((()=>a.left.offset)),c=i((()=>{let n=0,a=0,i=r.value,c=!0===t.lang.rtl?-1:1;!0===i.top&&0!==o.value?a=`${o.value}px`:!0===i.bottom&&0!==l.value&&(a=-l.value+"px"),!0===i.left&&0!==u.value?n=c*u.value+"px":!0===i.right&&0!==s.value&&(n=-c*s.value+"px");let d={transform:`translate(${n}, ${a})`};return e.offset&&(d.margin=`${e.offset[1]}px ${e.offset[0]}px`),!0===i.vertical?(0!==u.value&&(d[!0===t.lang.rtl?"right":"left"]=`${u.value}px`),0!==s.value&&(d[!0===t.lang.rtl?"left":"right"]=`${s.value}px`)):!0===i.horizontal&&(0!==o.value&&(d.top=`${o.value}px`),0!==l.value&&(d.bottom=`${l.value}px`)),d})),d=i((()=>`q-page-sticky row flex-center fixed-${e.position} q-page-sticky--${!0===e.expand?"expand":"shrink"}`));return{$layout:a,getStickyContent:function(t){let a=dt(t.default);return n("div",{class:d.value,style:c.value},!0===e.expand?a:[n("div",a)])}}}var Wl=F({name:"QPageScroller",props:{...Ul,scrollOffset:{type:Number,default:1e3},reverse:Boolean,duration:{type:Number,default:300},offset:{...Ul.offset,default:()=>[18,18]}},emits:["click"],setup(e,{slots:t,emit:o}){let s,{proxy:{$q:l}}=k(),{$layout:u,getStickyContent:c}=Hl(),d=a(null),h=i((()=>u.height.value-(!0===u.isContainer.value?u.containerHeight.value:l.screen.height)));function p(){return!0===e.reverse?h.value-u.scroll.value.position>e.scrollOffset:u.scroll.value.position>e.scrollOffset}let f=a(p());function m(){let e=p();f.value!==e&&(f.value=e)}function v(){!0===e.reverse?void 0===s&&(s=r(h,m)):b()}function b(){void 0!==s&&(s(),s=void 0)}function _(t){ma(sa(!0===u.isContainer.value?d.value:u.rootRef.value),!0===e.reverse?u.height.value:0,e.duration),o("click",t)}function y(){return!0===f.value?n("div",{ref:d,class:"q-page-scroller",onClick:_},c(t)):null}return r(u.scroll,m),r((()=>e.reverse),v),v(),g(b),()=>n(S,{name:"q-transition--fade"},y)}}),Yl=F({name:"QPageSticky",props:Ul,setup(e,{slots:t}){let{getStickyContent:n}=Hl();return()=>n(t)}});function Ql(e,t){return[!0,!1].includes(e)?e:t}var Kl=F({name:"QPagination",props:{...Rt,modelValue:{type:Number,required:!0},min:{type:[Number,String],default:1},max:{type:[Number,String],required:!0},maxPages:{type:[Number,String],default:0,validator:e=>("string"==typeof e?parseInt(e,10):e)>=0},inputStyle:[Array,String,Object],inputClass:[Array,String,Object],size:String,disable:Boolean,input:Boolean,iconPrev:String,iconNext:String,iconFirst:String,iconLast:String,toFn:Function,boundaryLinks:{type:Boolean,default:null},boundaryNumbers:{type:Boolean,default:null},directionLinks:{type:Boolean,default:null},ellipses:{type:Boolean,default:null},ripple:{type:[Boolean,Object],default:null},round:Boolean,rounded:Boolean,flat:Boolean,outline:Boolean,unelevated:Boolean,push:Boolean,glossy:Boolean,color:{type:String,default:"primary"},textColor:String,activeDesign:{type:String,default:"",values:e=>""===e||yn.includes(e)},activeColor:String,activeTextColor:String,gutter:String,padding:{type:String,default:"3px 2px"}},emits:["update:modelValue"],setup(e,{emit:t}){let{proxy:o}=k(),{$q:s}=o,l=It(e,s),u=i((()=>parseInt(e.min,10))),c=i((()=>parseInt(e.max,10))),d=i((()=>parseInt(e.maxPages,10))),h=i((()=>b.value+" / "+c.value)),p=i((()=>Ql(e.boundaryLinks,e.input))),f=i((()=>Ql(e.boundaryNumbers,!e.input))),m=i((()=>Ql(e.directionLinks,e.input))),g=i((()=>Ql(e.ellipses,!e.input))),v=a(null),b=i({get:()=>e.modelValue,set:n=>{if(n=parseInt(n,10),e.disable||isNaN(n))return;let a=Je(n,u.value,c.value);e.modelValue!==a&&t("update:modelValue",a)}});r((()=>`${u.value}|${c.value}`),(()=>{b.value=e.modelValue}));let _=i((()=>"q-pagination row no-wrap items-center"+(!0===e.disable?" disabled":""))),y=i((()=>e.gutter in gn?`${gn[e.gutter]}px`:e.gutter||null)),w=i((()=>null!==y.value?`--q-pagination-gutter-parent:-${y.value};--q-pagination-gutter-child:${y.value}`:null)),x=i((()=>{let t=[e.iconFirst||s.iconSet.pagination.first,e.iconPrev||s.iconSet.pagination.prev,e.iconNext||s.iconSet.pagination.next,e.iconLast||s.iconSet.pagination.last];return!0===s.lang.rtl?t.reverse():t})),S=i((()=>({"aria-disabled":!0===e.disable?"true":"false",role:"navigation"}))),C=i((()=>wn(e,"flat"))),E=i((()=>({[C.value]:!0,round:e.round,rounded:e.rounded,padding:e.padding,color:e.color,textColor:e.textColor,size:e.size,ripple:null===e.ripple||e.ripple}))),T=i((()=>{let t={[C.value]:!1};return""!==e.activeDesign&&(t[e.activeDesign]=!0),t})),A=i((()=>({...T.value,color:e.activeColor||e.color,textColor:e.activeTextColor||e.textColor}))),M=i((()=>{let t=Math.max(d.value,1+(g.value?2:0)+(f.value?2:0)),n={pgFrom:u.value,pgTo:c.value,ellipsesStart:!1,ellipsesEnd:!1,boundaryStart:!1,boundaryEnd:!1,marginalStyle:{minWidth:`${Math.max(2,String(c.value).length)}em`}};return d.value&&tu.value+(f.value?1:0)&&(n.ellipsesStart=!0,n.pgFrom++),f.value&&(n.boundaryEnd=!0,n.pgTo--),g.value&&n.pgTo{function e(){b.value=v.value,v.value=null}return{"onUpdate:modelValue":e=>{v.value=e},onKeyup:t=>{!0===pe(t,13)&&e()},onBlur:e}}));function O(t,a,i){let r={"aria-label":a,"aria-current":"false",...E.value,...t};return!0===i&&Object.assign(r,{"aria-current":"true",...A.value}),void 0!==a&&(void 0!==e.toFn?r.to=e.toFn(a):r.onClick=()=>{P(a)}),n(Mn,r)}return Object.assign(o,{set:P,setByOffset:function(e){b.value=b.value+e}}),()=>{let t,a=[],i=[];if(!0===p.value&&(a.push(O({key:"bls",disable:e.disable||e.modelValue<=u.value,icon:x.value[0]},u.value)),i.unshift(O({key:"ble",disable:e.disable||e.modelValue>=c.value,icon:x.value[3]},c.value))),!0===m.value&&(a.push(O({key:"bdp",disable:e.disable||e.modelValue<=u.value,icon:x.value[1]},e.modelValue-1)),i.unshift(O({key:"bdn",disable:e.disable||e.modelValue>=c.value,icon:x.value[2]},e.modelValue+1))),!0!==e.input){t=[];let{pgFrom:n,pgTo:r,marginalStyle:o}=M.value;if(!0===M.value.boundaryStart){let t=u.value===e.modelValue;a.push(O({key:"bns",style:o,disable:e.disable,label:u.value},u.value,t))}if(!0===M.value.boundaryEnd){let t=c.value===e.modelValue;i.unshift(O({key:"bne",style:o,disable:e.disable,label:c.value},c.value,t))}!0===M.value.ellipsesStart&&a.push(O({key:"bes",style:o,disable:e.disable,label:"…",ripple:!1},n-1)),!0===M.value.ellipsesEnd&&i.unshift(O({key:"bee",style:o,disable:e.disable,label:"…",ripple:!1},r+1));for(let a=n;a<=r;a++)t.push(O({key:`bpg${a}`,style:o,disable:e.disable,label:a},a,a===e.modelValue))}return n("div",{class:_.value,...S.value},[n("div",{class:"q-pagination__content row no-wrap items-center",style:w.value},[...a,!0===e.input?n(bl,{class:"inline",style:{width:h.value.length/1.5+"em"},type:"number",dense:!0,value:v.value,disable:e.disable,dark:l.value,borderless:!0,inputClass:e.inputClass,inputStyle:e.inputStyle,placeholder:h.value,min:u.value,max:c.value,...L.value}):n("div",{class:"q-pagination__middle row justify-center"},t),...i])])}}});function Gl(e){let t,n,a=!1;function i(){n=arguments,!0!==a&&(a=!0,t=window.requestAnimationFrame((()=>{e.apply(this,n),n=void 0,a=!1})))}return i.cancel=()=>{window.cancelAnimationFrame(t),a=!1},i}var{passive:Zl}=H,Jl=F({name:"QParallax",props:{src:String,height:{type:Number,default:500},speed:{type:Number,default:1,validator:e=>e>=0&&e<=1},scrollTarget:ra,onScroll:Function},setup(e,{slots:t,emit:i}){let o,s,l,u,c,d,h=a(0),p=a(null),f=a(null),v=a(null);r((()=>e.height),(()=>{!0===o&&_()})),r((()=>e.scrollTarget),(()=>{!0===o&&(x(),k())}));let b=t=>{h.value=t,void 0!==e.onScroll&&i("scroll",t)};function _(){let t,n,a;d===window?(t=0,a=n=window.innerHeight):(t=sn(d).top,n=ln(d),a=t+n);let i=sn(p.value).top,r=i+e.height;if(void 0!==c||r>t&&i{s.style.transform=`translate3d(-50%,${Math.round(e)}px,0)`};function w(){l=s.naturalHeight||s.videoHeight||ln(s),!0===o&&_()}function k(){o=!0,d=sa(p.value,e.scrollTarget),d.addEventListener("scroll",_,Zl),window.addEventListener("resize",u,Zl),_()}function x(){!0===o&&(o=!1,d.removeEventListener("scroll",_,Zl),window.removeEventListener("resize",u,Zl),d=void 0,y.cancel(),b.cancel(),u.cancel())}return m((()=>{y=Gl(y),b=Gl(b),u=Gl(w),s=void 0!==t.media?f.value.children[0]:v.value,s.onload=s.onloadstart=s.loadedmetadata=w,w(),s.style.display="initial",void 0!==window.IntersectionObserver?(c=new IntersectionObserver((e=>{(!0===e[0].isIntersecting?k:x)()})),c.observe(p.value)):k()})),g((()=>{x(),void 0!==c&&c.disconnect(),s.onload=s.onloadstart=s.loadedmetadata=null})),()=>n("div",{ref:p,class:"q-parallax",style:{height:`${e.height}px`}},[n("div",{ref:f,class:"q-parallax__media absolute-full"},void 0!==t.media?t.media():[n("img",{ref:v,src:e.src})]),n("div",{class:"q-parallax__content absolute-full column flex-center"},void 0!==t.content?t.content({percentScrolled:h.value}):dt(t.default))])}});function Xl(e,t=new WeakMap){if(Object(e)!==e)return e;if(t.has(e))return t.get(e);let n=e instanceof Date?new Date(e):e instanceof RegExp?new RegExp(e.source,e.flags):e instanceof Set?new Set:e instanceof Map?new Map:"function"!=typeof e.constructor?Object.create(null):void 0!==e.prototype&&"function"==typeof e.prototype.constructor?e:new e.constructor;if("function"==typeof e.constructor&&"function"==typeof e.valueOf){let n=e.valueOf();if(Object(n)!==n){let a=new e.constructor(n);return t.set(e,a),a}}return t.set(e,n),e instanceof Set?e.forEach((e=>{n.add(Xl(e,t))})):e instanceof Map&&e.forEach(((e,a)=>{n.set(a,Xl(e,t))})),Object.assign(n,...Object.keys(e).map((n=>({[n]:Xl(e[n],t)}))))}var eu=F({name:"QPopupEdit",props:{modelValue:{required:!0},title:String,buttons:Boolean,labelSet:String,labelCancel:String,color:{type:String,default:"primary"},validate:{type:Function,default:()=>!0},autoSave:Boolean,cover:{type:Boolean,default:!0},disable:Boolean},emits:["update:modelValue","save","cancel","beforeShow","show","beforeHide","hide"],setup(e,{slots:t,emit:r}){let{proxy:o}=k(),{$q:s}=o,l=a(null),u=a(""),c=a(""),h=!1,p=i((()=>N({initialValue:u.value,validate:e.validate,set:f,cancel:m,updatePosition:g},"value",(()=>c.value),(e=>{c.value=e}))));function f(){!1!==e.validate(c.value)&&(!0===v()&&(r("save",c.value,u.value),r("update:modelValue",c.value)),b())}function m(){!0===v()&&r("cancel",c.value,u.value),b()}function g(){d((()=>{l.value.updatePosition()}))}function v(){return!1===De(c.value,u.value)}function b(){h=!0,l.value.hide()}function _(){h=!1,u.value=Xl(e.modelValue),c.value=Xl(e.modelValue),r("beforeShow")}function y(){r("show")}function w(){!1===h&&!0===v()&&(!0===e.autoSave&&!0===e.validate(c.value)?(r("save",c.value,u.value),r("update:modelValue",c.value)):r("cancel",c.value,u.value)),r("beforeHide")}function x(){r("hide")}function S(){let a=void 0!==t.default?[].concat(t.default(p.value)):[];return e.title&&a.unshift(n("div",{class:"q-dialog__title q-mt-sm q-mb-sm"},e.title)),!0===e.buttons&&a.push(n("div",{class:"q-popup-edit__buttons row justify-center no-wrap"},[n(Mn,{flat:!0,color:e.color,label:e.labelCancel||s.lang.label.cancel,onClick:m}),n(Mn,{flat:!0,color:e.color,label:e.labelSet||s.lang.label.set,onClick:f})])),a}return Object.assign(o,{set:f,cancel:m,show(e){null!==l.value&&l.value.show(e)},hide(e){null!==l.value&&l.value.hide(e)},updatePosition:g}),()=>{if(!0!==e.disable)return n(Qa,{ref:l,class:"q-popup-edit",cover:e.cover,onBeforeShow:_,onShow:y,onBeforeHide:w,onHide:x,onEscapeKey:m},S)}}}),tu=F({name:"QPopupProxy",props:{...Nn,breakpoint:{type:[String,Number],default:450}},emits:["show","hide"],setup(e,{slots:t,emit:o,attrs:s}){let{proxy:l}=k(),{$q:u}=l,c=a(!1),d=a(null),h=i((()=>parseInt(e.breakpoint,10))),{canShow:p}=Rn({showing:c});function f(){return u.screen.width"menu"===m.value?{maxHeight:"99vh"}:{}));function v(e){c.value=!0,o("show",e)}function b(e){c.value=!1,m.value=f(),o("hide",e)}return r((()=>f()),(e=>{!0!==c.value&&(m.value=e)})),Object.assign(l,{show(e){!0===p(e)&&d.value.show(e)},hide(e){d.value.hide(e)},toggle(e){d.value.toggle(e)}}),N(l,"currentComponent",(()=>({type:m.value,ref:d.value}))),()=>{let a,i={ref:d,...g.value,...s,onShow:v,onHide:b};return"dialog"===m.value?a=Zo:(a=Qa,Object.assign(i,{target:e.target,contextMenu:e.contextMenu,noParentEvent:!0,separateClosePopup:!0})),n(a,i,t.default)}}}),nu={xs:2,sm:4,md:6,lg:10,xl:14};function au(e,t,n){return{transform:!0===t?`translateX(${!0===n.lang.rtl?"-":""}100%) scale3d(${-e},1,1)`:`scale3d(${e},1,1)`}}var iu=F({name:"QLinearProgress",props:{...Rt,...ut,value:{type:Number,default:0},buffer:Number,color:String,trackColor:String,reverse:Boolean,stripe:Boolean,indeterminate:Boolean,query:Boolean,rounded:Boolean,animationSpeed:{type:[String,Number],default:2100},instantFeedback:Boolean},setup(e,{slots:t}){let{proxy:a}=k(),r=It(e,a.$q),o=ct(e,nu),s=i((()=>!0===e.indeterminate||!0===e.query)),l=i((()=>e.reverse!==e.query)),u=i((()=>({...null!==o.value?o.value:{},"--q-linear-progress-speed":`${e.animationSpeed}ms`}))),c=i((()=>"q-linear-progress"+(void 0!==e.color?` text-${e.color}`:"")+(!0===e.reverse||!0===e.query?" q-linear-progress--reverse":"")+(!0===e.rounded?" rounded-borders":""))),d=i((()=>au(void 0!==e.buffer?e.buffer:1,l.value,a.$q))),h=i((()=>`with${!0===e.instantFeedback?"out":""}-transition`)),p=i((()=>`q-linear-progress__track absolute-full q-linear-progress__track--${h.value} q-linear-progress__track--${!0===r.value?"dark":"light"}`+(void 0!==e.trackColor?` bg-${e.trackColor}`:""))),f=i((()=>au(!0===s.value?1:e.value,l.value,a.$q))),m=i((()=>`q-linear-progress__model absolute-full q-linear-progress__model--${h.value} q-linear-progress__model--${!0===s.value?"in":""}determinate`)),g=i((()=>({width:100*e.value+"%"}))),v=i((()=>`q-linear-progress__stripe absolute-${!0===e.reverse?"right":"left"} q-linear-progress__stripe--${h.value}`));return()=>{let a=[n("div",{class:p.value,style:d.value}),n("div",{class:m.value,style:f.value})];return!0===e.stripe&&!1===s.value&&a.push(n("div",{class:v.value,style:g.value})),n("div",{class:c.value,style:u.value,role:"progressbar","aria-valuemin":0,"aria-valuemax":1,"aria-valuenow":!0===e.indeterminate?void 0:e.value},pt(t.default,a))}}}),ru=40,ou=F({name:"QPullToRefresh",props:{color:String,bgColor:String,icon:String,noMouse:Boolean,disable:Boolean,scrollTarget:ra},emits:["refresh"],setup(e,{slots:t,emit:o}){let{proxy:s}=k(),{$q:l}=s,u=a("pull"),c=a(0),d=a(!1),h=a(-40),p=a(!1),f=a({}),v=i((()=>({opacity:c.value,transform:`translateY(${h.value}px) rotate(${360*c.value}deg)`}))),b=i((()=>"q-pull-to-refresh__puller row flex-center"+(!0===p.value?" q-pull-to-refresh__puller--animating":"")+(void 0!==e.bgColor?` bg-${e.bgColor}`:"")));function _(e){if(!0===e.isFinal)return void(!0===d.value&&(d.value=!1,"pulled"===u.value?(u.value="refreshing",T({pos:20}),x()):"pull"===u.value&&T({pos:-40,ratio:0})));if(!0===p.value||"refreshing"===u.value)return!1;if(!0===e.isFirst){if(0!==ua(C)||"down"!==e.direction)return!0===d.value&&(d.value=!1,u.value="pull",T({pos:-40,ratio:0})),!1;d.value=!0;let{top:t,left:n}=S.getBoundingClientRect();f.value={top:t+"px",left:n+"px",width:window.getComputedStyle(S).getPropertyValue("width")}}Z(e.evt);let t=Math.min(140,Math.max(0,e.distance.y));h.value=t-ru,c.value=Je(t/60,0,1);let n=h.value>20?"pulled":"pull";u.value!==n&&(u.value=n)}let y=i((()=>{let t={down:!0};return!0!==e.noMouse&&(t.mouse=!0),[[Ki,_,void 0,t]]})),w=i((()=>"q-pull-to-refresh__content"+(!0===d.value?" no-pointer-events":"")));function x(){o("refresh",(()=>{T({pos:-40,ratio:0},(()=>{u.value="pull"}))}))}let S,C,E=null;function T({pos:e,ratio:t},n){p.value=!0,h.value=e,void 0!==t&&(c.value=t),null!==E&&clearTimeout(E),E=setTimeout((()=>{E=null,p.value=!1,n&&n()}),300)}function A(){C=sa(S,e.scrollTarget)}return r((()=>e.scrollTarget),A),m((()=>{S=s.$el,A()})),g((()=>{null!==E&&clearTimeout(E)})),Object.assign(s,{trigger:x,updateScrollTarget:A}),()=>mt("div",{class:"q-pull-to-refresh"},[n("div",{class:w.value},dt(t.default)),n("div",{class:"q-pull-to-refresh__puller-container fixed row flex-center no-pointer-events z-top",style:f.value},[n("div",{class:b.value,style:v.value},["refreshing"!==u.value?n(Pt,{name:e.icon||l.iconSet.pullToRefresh.icon,color:e.color,size:"32px"}):n(on,{size:"24px",color:e.color})])])],"main",!1===e.disable,(()=>y.value))}}),su=0,lu=1,uu=2,cu=F({name:"QRange",props:{...er,modelValue:{type:Object,default:()=>({min:null,max:null}),validator:e=>"min"in e&&"max"in e},dragRange:Boolean,dragOnlyRange:Boolean,leftLabelColor:String,leftLabelTextColor:String,rightLabelColor:String,rightLabelTextColor:String,leftLabelValue:[String,Number],rightLabelValue:[String,Number],leftThumbColor:String,rightThumbColor:String},emits:tr,setup(e,{emit:t}){let{proxy:{$q:o}}=k(),{state:s,methods:l}=nr({updateValue:M,updatePosition:function(t,n=s.dragging.value){let a,i=l.getDraggingRatio(t,n),r=l.convertRatioToModel(i);switch(n.type){case su:i<=n.ratioMax?(a={minR:i,maxR:n.ratioMax,min:r,max:n.valueMax},s.focus.value="min"):(a={minR:n.ratioMax,maxR:i,min:n.valueMax,max:r},s.focus.value="max");break;case uu:i>=n.ratioMin?(a={minR:n.ratioMin,maxR:i,min:n.valueMin,max:r},s.focus.value="max"):(a={minR:i,maxR:n.ratioMin,min:r,max:n.valueMin},s.focus.value="min");break;case lu:let e=i-n.offsetRatio,t=Je(n.ratioMin+e,s.innerMinRatio.value,s.innerMaxRatio.value-n.rangeRatio),o=r-n.offsetModel,l=Je(n.valueMin+o,s.innerMin.value,s.innerMax.value-n.rangeValue);a={minR:t,maxR:t+n.rangeRatio,min:s.roundValueFn.value(l),max:s.roundValueFn.value(l+n.rangeValue)},s.focus.value="both"}h.value=null===h.value.min||null===h.value.max?{min:a.min||e.min,max:a.max||e.max}:{min:a.min,max:a.max},!0!==e.snap||0===e.step?(c.value=a.minR,d.value=a.maxR):(c.value=l.convertModelToRatio(h.value.min),d.value=l.convertModelToRatio(h.value.max))},getDragging:function(t){let{left:n,top:a,width:i,height:r}=u.value.getBoundingClientRect(),o=!0===e.dragOnlyRange?0:!0===e.vertical?S.value.offsetHeight/(2*r):S.value.offsetWidth/(2*i),s={left:n,top:a,width:i,height:r,valueMin:h.value.min,valueMax:h.value.max,ratioMin:f.value,ratioMax:m.value},c=l.getDraggingRatio(t,s);return!0!==e.dragOnlyRange&&c({type:"hidden",name:e.name,value:`${e.modelValue.min}|${e.modelValue.max}`})))}),u=a(null),c=a(0),d=a(0),h=a({min:0,max:0});function p(){h.value.min=null===e.modelValue.min?s.innerMin.value:Je(e.modelValue.min,s.innerMin.value,s.innerMax.value),h.value.max=null===e.modelValue.max?s.innerMax.value:Je(e.modelValue.max,s.innerMin.value,s.innerMax.value)}r((()=>`${e.modelValue.min}|${e.modelValue.max}|${s.innerMin.value}|${s.innerMax.value}`),p),p();let f=i((()=>l.convertModelToRatio(h.value.min))),m=i((()=>l.convertModelToRatio(h.value.max))),g=i((()=>!0===s.active.value?c.value:f.value)),v=i((()=>!0===s.active.value?d.value:m.value)),b=i((()=>{let t={[s.positionProp.value]:100*g.value+"%",[s.sizeProp.value]:100*(v.value-g.value)+"%"};return void 0!==e.selectionImg&&(t.backgroundImage=`url(${e.selectionImg}) !important`),t})),_=i((()=>{if(!0!==s.editable.value)return{};if(!0===o.platform.is.mobile)return{onClick:l.onMobileClick};let t={onMousedown:l.onActivate};return(!0===e.dragRange||!0===e.dragOnlyRange)&&Object.assign(t,{onFocus:()=>{s.focus.value="both"},onBlur:l.onBlur,onKeydown:P,onKeyup:l.onKeyup}),t}));function y(t){return!0!==o.platform.is.mobile&&!0===s.editable.value&&!0!==e.dragOnlyRange?{onFocus:()=>{s.focus.value=t},onBlur:l.onBlur,onKeydown:P,onKeyup:l.onKeyup}:{}}let w=i((()=>!0!==e.dragOnlyRange?s.tabindex.value:null)),x=i((()=>!0===o.platform.is.mobile||!e.dragRange&&!0!==e.dragOnlyRange?null:s.tabindex.value)),S=a(null),C=i((()=>y("min"))),E=l.getThumbRenderFn({focusValue:"min",getNodeData:()=>({ref:S,key:"tmin",...C.value,tabindex:w.value}),ratio:g,label:i((()=>void 0!==e.leftLabelValue?e.leftLabelValue:h.value.min)),thumbColor:i((()=>e.leftThumbColor||e.thumbColor||e.color)),labelColor:i((()=>e.leftLabelColor||e.labelColor)),labelTextColor:i((()=>e.leftLabelTextColor||e.labelTextColor))}),T=i((()=>y("max"))),A=l.getThumbRenderFn({focusValue:"max",getNodeData:()=>({...T.value,key:"tmax",tabindex:w.value}),ratio:v,label:i((()=>void 0!==e.rightLabelValue?e.rightLabelValue:h.value.max)),thumbColor:i((()=>e.rightThumbColor||e.thumbColor||e.color)),labelColor:i((()=>e.rightLabelColor||e.labelColor)),labelTextColor:i((()=>e.rightLabelTextColor||e.labelTextColor))});function M(n){(h.value.min!==e.modelValue.min||h.value.max!==e.modelValue.max)&&t("update:modelValue",{...h.value}),!0===n&&t("change",{...h.value})}function P(t){if(!Xi.includes(t.keyCode))return;J(t);let n=([34,33].includes(t.keyCode)?10:1)*s.keyStep.value,a=([34,37,40].includes(t.keyCode)?-1:1)*(!0===s.isReversed.value?-1:1)*(!0===e.vertical?-1:1)*n;if("both"===s.focus.value){let e=h.value.max-h.value.min,t=Je(s.roundValueFn.value(h.value.min+a),s.innerMin.value,s.innerMax.value-e);h.value={min:t,max:s.roundValueFn.value(t+e)}}else{if(!1===s.focus.value)return;{let e=s.focus.value;h.value={...h.value,[e]:Je(s.roundValueFn.value(h.value[e]+a),"min"===e?s.innerMin.value:h.value.min,"max"===e?s.innerMax.value:h.value.max)}}}M()}return()=>{let t=l.getContent(b,x,_,(e=>{e.push(E(),A())}));return n("div",{ref:u,class:"q-range "+s.classes.value+(null===e.modelValue.min||null===e.modelValue.max?" q-slider--no-value":""),...s.attributes.value,"aria-valuenow":e.modelValue.min+"|"+e.modelValue.max},t)}}}),du=F({name:"QRating",props:{...ut,...ii,modelValue:{type:Number,required:!0},max:{type:[String,Number],default:5},icon:[String,Array],iconHalf:[String,Array],iconSelected:[String,Array],iconAriaLabel:[String,Array],color:[String,Array],colorHalf:[String,Array],colorSelected:[String,Array],noReset:Boolean,noDimming:Boolean,readonly:Boolean,disable:Boolean},emits:["update:modelValue"],setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=k(),s=ct(e),l=oi(ri(e)),u=a(0),c={},d=i((()=>!0!==e.readonly&&!0!==e.disable)),h=i((()=>`q-rating row inline items-center q-rating--${!0===d.value?"":"non-"}editable`+(!0===e.noDimming?" q-rating--no-dimming":"")+(!0===e.disable?" disabled":"")+(void 0!==e.color&&!1===Array.isArray(e.color)?` text-${e.color}`:""))),p=i((()=>{let t=!0===Array.isArray(e.icon)?e.icon.length:0,n=!0===Array.isArray(e.iconSelected)?e.iconSelected.length:0,a=!0===Array.isArray(e.iconHalf)?e.iconHalf.length:0,i=!0===Array.isArray(e.color)?e.color.length:0,r=!0===Array.isArray(e.colorSelected)?e.colorSelected.length:0,o=!0===Array.isArray(e.colorHalf)?e.colorHalf.length:0;return{iconLen:t,icon:t>0?e.icon[t-1]:e.icon,selIconLen:n,selIcon:n>0?e.iconSelected[n-1]:e.iconSelected,halfIconLen:a,halfIcon:a>0?e.iconHalf[n-1]:e.iconHalf,colorLen:i,color:i>0?e.color[i-1]:e.color,selColorLen:r,selColor:r>0?e.colorSelected[r-1]:e.colorSelected,halfColorLen:o,halfColor:o>0?e.colorHalf[o-1]:e.colorHalf}})),f=i((()=>{if("string"==typeof e.iconAriaLabel){let t=0!==e.iconAriaLabel.length?`${e.iconAriaLabel} `:"";return e=>`${t}${e}`}if(!0===Array.isArray(e.iconAriaLabel)){let t=e.iconAriaLabel.length;if(t>0)return n=>e.iconAriaLabel[Math.min(n,t)-1]}return(e,t)=>`${t} ${e}`})),m=i((()=>{let t=[],n=p.value,a=Math.ceil(e.modelValue),i=!0===d.value?0:null,r=void 0===e.iconHalf||a===e.modelValue?-1:a;for(let s=1;s<=e.max;s++){let l=0===u.value&&e.modelValue>=s||u.value>0&&u.value>=s,c=r===s&&u.value0&&(!0===c?a:e.modelValue)>=s&&u.value{let t={role:"radiogroup"};return!0===e.disable&&(t["aria-disabled"]="true"),!0===e.readonly&&(t["aria-readonly"]="true"),t}));function v(t){if(!0===d.value){let n=Je(parseInt(t,10),1,parseInt(e.max,10)),a=!0!==e.noReset&&e.modelValue===n?0:n;a!==e.modelValue&&r("update:modelValue",a),u.value=0}}function _(e){!0===d.value&&(u.value=e)}function y(){u.value=0}return b((()=>{c={}})),()=>{let a=[];return m.value.forEach((({iconClass:e,name:i,attrs:r},o)=>{let s=o+1;a.push(n("div",{key:s,ref:e=>{c[`rt${s}`]=e},class:"q-rating__icon-container flex flex-center",...r,onClick(){v(s)},onMouseover(){_(s)},onMouseout:y,onFocus(){_(s)},onBlur:y,onKeyup(e){!function(e,t){switch(e.keyCode){case 13:case 32:return v(t),J(e);case 37:case 40:return c["rt"+(t-1)]&&c["rt"+(t-1)].focus(),J(e);case 39:case 38:c[`rt${t+1}`]&&c[`rt${t+1}`].focus(),J(e)}}(e,s)}},pt(t[`tip-${s}`],[n(Pt,{class:e,name:i})])))})),void 0!==e.name&&!0!==e.disable&&l(a,"push"),n("div",{class:h.value,style:s.value,...g.value},a)}}}),hu=F({name:"QResponsive",props:al,setup(e,{slots:t}){let a=il(e);return()=>n("div",{class:"q-responsive"},[n("div",{class:"q-responsive__filler overflow-hidden"},[n("div",{style:a.value})]),n("div",{class:"q-responsive__content absolute-full fit"},dt(t.default))])}}),pu=F({props:["store","barStyle","verticalBarStyle","horizontalBarStyle"],setup:e=>()=>[n("div",{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":"true",onMousedown:e.store.onVerticalMousedown}),n("div",{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":"true",onMousedown:e.store.onHorizontalMousedown}),M(n("div",{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":"true"}),e.store.thumbVertDir),M(n("div",{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":"true"}),e.store.thumbHorizDir)]}),fu=["vertical","horizontal"],mu={vertical:{offset:"offsetY",scroll:"scrollTop",dir:"down",dist:"y"},horizontal:{offset:"offsetX",scroll:"scrollLeft",dir:"right",dist:"x"}},gu={prevent:!0,mouse:!0,mouseAllDir:!0},vu=e=>e>=250?50:Math.ceil(e/5),bu=F({name:"QScrollArea",props:{...Rt,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(e,{slots:t,emit:o}){let s,l=a(!1),u=a(!1),c=a(!1),d={vertical:a(0),horizontal:a(0)},f={vertical:{ref:a(null),position:a(0),size:a(0)},horizontal:{ref:a(null),position:a(0),size:a(0)}},{proxy:m}=k(),v=It(e,m.$q),b=null,_=a(null),y=i((()=>"q-scrollarea"+(!0===v.value?" q-scrollarea--dark":"")));Object.assign(d,{verticalInner:i((()=>d.vertical.value-e.verticalOffset[0]-e.verticalOffset[1])),horizontalInner:i((()=>d.horizontal.value-e.horizontalOffset[0]-e.horizontalOffset[1]))}),f.vertical.percentage=i((()=>{let e=f.vertical.size.value-d.vertical.value;if(e<=0)return 0;let t=Je(f.vertical.position.value/e,0,1);return Math.round(1e4*t)/1e4})),f.vertical.thumbHidden=i((()=>!0!==(null===e.visible?c.value:e.visible)&&!1===l.value&&!1===u.value||f.vertical.size.value<=d.vertical.value+1)),f.vertical.thumbStart=i((()=>e.verticalOffset[0]+f.vertical.percentage.value*(d.verticalInner.value-f.vertical.thumbSize.value))),f.vertical.thumbSize=i((()=>Math.round(Je(d.verticalInner.value*d.verticalInner.value/f.vertical.size.value,vu(d.verticalInner.value),d.verticalInner.value)))),f.vertical.style=i((()=>({...e.thumbStyle,...e.verticalThumbStyle,top:`${f.vertical.thumbStart.value}px`,height:`${f.vertical.thumbSize.value}px`,right:`${e.horizontalOffset[1]}px`}))),f.vertical.thumbClass=i((()=>"q-scrollarea__thumb q-scrollarea__thumb--v absolute-right"+(!0===f.vertical.thumbHidden.value?" q-scrollarea__thumb--invisible":""))),f.vertical.barClass=i((()=>"q-scrollarea__bar q-scrollarea__bar--v absolute-right"+(!0===f.vertical.thumbHidden.value?" q-scrollarea__bar--invisible":""))),f.horizontal.percentage=i((()=>{let e=f.horizontal.size.value-d.horizontal.value;if(e<=0)return 0;let t=Je(Math.abs(f.horizontal.position.value)/e,0,1);return Math.round(1e4*t)/1e4})),f.horizontal.thumbHidden=i((()=>!0!==(null===e.visible?c.value:e.visible)&&!1===l.value&&!1===u.value||f.horizontal.size.value<=d.horizontal.value+1)),f.horizontal.thumbStart=i((()=>e.horizontalOffset[0]+f.horizontal.percentage.value*(d.horizontalInner.value-f.horizontal.thumbSize.value))),f.horizontal.thumbSize=i((()=>Math.round(Je(d.horizontalInner.value*d.horizontalInner.value/f.horizontal.size.value,vu(d.horizontalInner.value),d.horizontalInner.value)))),f.horizontal.style=i((()=>({...e.thumbStyle,...e.horizontalThumbStyle,[!0===m.$q.lang.rtl?"right":"left"]:`${f.horizontal.thumbStart.value}px`,width:`${f.horizontal.thumbSize.value}px`,bottom:`${e.verticalOffset[1]}px`}))),f.horizontal.thumbClass=i((()=>"q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom"+(!0===f.horizontal.thumbHidden.value?" q-scrollarea__thumb--invisible":""))),f.horizontal.barClass=i((()=>"q-scrollarea__bar q-scrollarea__bar--h absolute-bottom"+(!0===f.horizontal.thumbHidden.value?" q-scrollarea__bar--invisible":"")));let w=i((()=>!0===f.vertical.thumbHidden.value&&!0===f.horizontal.thumbHidden.value?e.contentStyle:e.contentActiveStyle));function x(){let e={};return fu.forEach((t=>{let n=f[t];Object.assign(e,{[t+"Position"]:n.position.value,[t+"Percentage"]:n.percentage.value,[t+"Size"]:n.size.value,[t+"ContainerSize"]:d[t].value,[t+"ContainerInnerSize"]:d[t+"Inner"].value})})),e}let S=ae((()=>{let e=x();e.ref=m,o("scroll",e)}),0);function C(e,t,n){!1!==fu.includes(e)?("vertical"===e?ma:ga)(_.value,t,n):console.error("[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)")}function E({height:e,width:t}){let n=!1;d.vertical.value!==e&&(d.vertical.value=e,n=!0),d.horizontal.value!==t&&(d.horizontal.value=t,n=!0),!0===n&&L()}function T({position:e}){let t=!1;f.vertical.position.value!==e.top&&(f.vertical.position.value=e.top,t=!0),f.horizontal.position.value!==e.left&&(f.horizontal.position.value=e.left,t=!0),!0===t&&L()}function A({height:e,width:t}){f.horizontal.size.value!==t&&(f.horizontal.size.value=t,L()),f.vertical.size.value!==e&&(f.vertical.size.value=e,L())}function M(e,t){let n=f[t];if(!0===e.isFirst){if(!0===n.thumbHidden.value)return;s=n.position.value,u.value=!0}else if(!0!==u.value)return;!0===e.isFinal&&(u.value=!1);let a=mu[t],i=(n.size.value-d[t].value)/(d[t+"Inner"].value-n.thumbSize.value),r=e.distance[a.dist];O(s+(e.direction===a.dir?1:-1)*r*i,t)}function P(t,n){let a=f[n];if(!0!==a.thumbHidden.value){let i="vertical"===n?e.verticalOffset[0]:e.horizontalOffset[0],r=t[mu[n].offset]-i,o=a.thumbStart.value-i;if(ro+a.thumbSize.value){O(Je((r-a.thumbSize.value/2)/(d[n+"Inner"].value-a.thumbSize.value),0,1)*Math.max(0,a.size.value-d[n].value),n)}null!==a.ref.value&&a.ref.value.dispatchEvent(new MouseEvent(t.type,t))}}function L(){l.value=!0,null!==b&&clearTimeout(b),b=setTimeout((()=>{b=null,l.value=!1}),e.delay),void 0!==e.onScroll&&S()}function O(e,t){_.value[mu[t].scroll]=e}let N=null;function R(){null!==N&&clearTimeout(N),N=setTimeout((()=>{N=null,c.value=!0}),m.$q.platform.is.ios?50:0)}function I(){null!==N&&(clearTimeout(N),N=null),c.value=!1}let z=null;r((()=>m.$q.lang.rtl),(e=>{null!==_.value&&ga(_.value,Math.abs(f.horizontal.position.value)*(!0===e?-1:1))})),p((()=>{z={top:f.vertical.position.value,left:f.horizontal.position.value}})),h((()=>{if(null===z)return;let e=_.value;null!==e&&(ga(e,z.left),ma(e,z.top))})),g(S.cancel),Object.assign(m,{getScrollTarget:()=>_.value,getScroll:x,getScrollPosition:()=>({top:f.vertical.position.value,left:f.horizontal.position.value}),getScrollPercentage:()=>({top:f.vertical.percentage.value,left:f.horizontal.percentage.value}),setScrollPosition:C,setScrollPercentage(e,t,n){C(e,t*(f[e].size.value-d[e].value)*("horizontal"===e&&!0===m.$q.lang.rtl?-1:1),n)}});let q={scroll:f,thumbVertDir:[[Ki,e=>{M(e,"vertical")},void 0,{vertical:!0,...gu}]],thumbHorizDir:[[Ki,e=>{M(e,"horizontal")},void 0,{horizontal:!0,...gu}]],onVerticalMousedown(e){P(e,"vertical")},onHorizontalMousedown(e){P(e,"horizontal")}};return()=>n("div",{class:y.value,onMouseenter:R,onMouseleave:I},[n("div",{ref:_,class:"q-scrollarea__container scroll relative-position fit hide-scrollbar",tabindex:void 0!==e.tabindex?e.tabindex:void 0},[n("div",{class:"q-scrollarea__content absolute",style:w.value},pt(t.default,[n(lr,{debounce:0,onResize:A})])),n(Ll,{axis:"both",onScroll:T})]),n(lr,{debounce:0,onResize:E}),n(pu,{store:q,barStyle:e.barStyle,verticalBarStyle:e.verticalBarStyle,horizontalBarStyle:e.horizontalBarStyle})])}}),_u=1e3,yu=["start","center","end","start-force","center-force","end-force"],wu=Array.prototype.filter,ku=void 0===window.getComputedStyle(document.body).overflowAnchor?W:function(e,t){null!==e&&(void 0!==e._qOverflowAnimationFrame&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame((()=>{if(null===e)return;e._qOverflowAnimationFrame=void 0;let n=e.children||[];wu.call(n,(e=>e.dataset&&void 0!==e.dataset.qVsAnchor)).forEach((e=>{delete e.dataset.qVsAnchor}));let a=n[t];a&&a.dataset&&(a.dataset.qVsAnchor="")})))};function xu(e,t){return e+t}function Su(e,t,n,a,i,r,o,s){let l=e===window?document.scrollingElement||document.documentElement:e,u=!0===i?"offsetWidth":"offsetHeight",c={scrollStart:0,scrollViewSize:-o-s,scrollMaxSize:0,offsetStart:-o,offsetEnd:-s};if(!0===i?(e===window?(c.scrollStart=window.pageXOffset||window.scrollX||document.body.scrollLeft||0,c.scrollViewSize+=document.documentElement.clientWidth):(c.scrollStart=l.scrollLeft,c.scrollViewSize+=l.clientWidth),c.scrollMaxSize=l.scrollWidth,!0===r&&(c.scrollStart=(!0===ur?c.scrollMaxSize-c.scrollViewSize:0)-c.scrollStart)):(e===window?(c.scrollStart=window.pageYOffset||window.scrollY||document.body.scrollTop||0,c.scrollViewSize+=document.documentElement.clientHeight):(c.scrollStart=l.scrollTop,c.scrollViewSize+=l.clientHeight),c.scrollMaxSize=l.scrollHeight),null!==n)for(let e=n.previousElementSibling;null!==e;e=e.previousElementSibling)!1===e.classList.contains("q-virtual-scroll--skip")&&(c.offsetStart+=e[u]);if(null!==a)for(let e=a.nextElementSibling;null!==e;e=e.nextElementSibling)!1===e.classList.contains("q-virtual-scroll--skip")&&(c.offsetEnd+=e[u]);if(t!==e){let n=l.getBoundingClientRect(),a=t.getBoundingClientRect();!0===i?(c.offsetStart+=a.left-n.left,c.offsetEnd-=a.width):(c.offsetStart+=a.top-n.top,c.offsetEnd-=a.height),e!==window&&(c.offsetStart+=c.scrollStart),c.offsetEnd+=c.scrollMaxSize-c.offsetStart}return c}function Cu(e,t,n,a){"end"===t&&(t=(e===window?document.body:e)[!0===n?"scrollWidth":"scrollHeight"]),e===window?!0===n?(!0===a&&(t=(!0===ur?document.body.scrollWidth-document.documentElement.clientWidth:0)-t),window.scrollTo(t,window.pageYOffset||window.scrollY||document.body.scrollTop||0)):window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,t):!0===n?(!0===a&&(t=(!0===ur?e.scrollWidth-e.offsetWidth:0)-t),e.scrollLeft=t):e.scrollTop=t}function Eu(e,t,n,a){if(n>=a)return 0;let i=t.length,r=Math.floor(n/_u),o=Math.floor((a-1)/_u)+1,s=e.slice(r,o).reduce(xu,0);return n%_u!=0&&(s-=t.slice(r*_u,n).reduce(xu,0)),a%_u!=0&&a!==i&&(s-=t.slice(a,o*_u).reduce(xu,0)),s}var Tu={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]},Au=Object.keys(Tu),Mu={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Tu};function Pu({virtualScrollLength:e,getVirtualScrollTarget:t,getVirtualScrollEl:o,virtualScrollItemSizeComputed:s}){let l,u,c,m,v=k(),{props:b,emit:_,proxy:y}=v,{$q:w}=y,x=[],S=a(0),C=a(0),E=a({}),T=a(null),A=a(null),M=a(null),P=a({from:0,to:0}),L=i((()=>void 0!==b.tableColspan?b.tableColspan:100));void 0===s&&(s=i((()=>b.virtualScrollItemSize)));let O=i((()=>s.value+";"+b.virtualScrollHorizontal)),N=i((()=>O.value+";"+b.virtualScrollSliceRatioBefore+";"+b.virtualScrollSliceRatioAfter));function R(){$(u,!0)}function I(e){$(void 0===e?u:e)}function z(n,a){let i=t();if(null==i||8===i.nodeType)return;let r=Su(i,o(),T.value,A.value,b.virtualScrollHorizontal,w.lang.rtl,b.virtualScrollStickySizeStart,b.virtualScrollStickySizeEnd);c!==r.scrollViewSize&&B(r.scrollViewSize),q(i,r,Math.min(e.value-1,Math.max(0,parseInt(n,10)||0)),0,-1!==yu.indexOf(a)?a:-1!==u&&n>u?"end":"start")}function q(t,n,a,i,r){let o="string"==typeof r&&-1!==r.indexOf("-force"),s=!0===o?r.replace("-force",""):r,u=void 0!==s?s:"start",c=Math.max(0,a-E.value[u]),d=c+E.value.total;d>e.value&&(d=e.value,c=Math.max(0,d-E.value.total)),l=n.scrollStart;let h=c!==P.value.from||d!==P.value.to;if(!1===h&&void 0===s)return void F(a);let{activeElement:p}=document,f=M.value;!0===h&&null!==f&&f!==p&&!0===f.contains(p)&&(f.addEventListener("focusout",j),setTimeout((()=>{null!==f&&f.removeEventListener("focusout",j)}))),ku(f,a-c);let g=void 0!==s?m.slice(c,a).reduce(xu,0):0;if(!0===h){let t=d>=P.value.from&&c<=P.value.to?P.value.to:d;P.value={from:c,to:t},S.value=Eu(x,m,0,c),C.value=Eu(x,m,d,e.value),requestAnimationFrame((()=>{P.value.to!==d&&l===n.scrollStart&&(P.value={from:P.value.from,to:d},C.value=Eu(x,m,d,e.value))}))}requestAnimationFrame((()=>{if(l!==n.scrollStart)return;!0===h&&D(c);let e=m.slice(c,a).reduce(xu,0),r=e+n.offsetStart+S.value,u=r+m[a],d=r+i;if(void 0!==s){let t=e-g,i=n.scrollStart+t;d=!0!==o&&ie.classList&&!1===e.classList.contains("q-virtual-scroll--skip"))),r=i.length,o=!0===b.virtualScrollHorizontal?e=>e.getBoundingClientRect().width:e=>e.offsetHeight,s=e;for(let e=0;e=i;t--)m[t]=a;let r=Math.floor((e.value-1)/_u);x=[];for(let t=0;t<=r;t++){let n=0,a=Math.min((t+1)*_u,e.value);for(let e=t*_u;e=0?(D(P.value.from),d((()=>{z(t)}))):V()}function B(e){if(void 0===e&&typeof window<"u"){let n=t();null!=n&&8!==n.nodeType&&(e=Su(n,o(),T.value,A.value,b.virtualScrollHorizontal,w.lang.rtl,b.virtualScrollStickySizeStart,b.virtualScrollStickySizeEnd).scrollViewSize)}c=e;let n=parseFloat(b.virtualScrollSliceRatioBefore)||0,a=1+n+(parseFloat(b.virtualScrollSliceRatioAfter)||0),i=void 0===e||e<=0?1:Math.ceil(e/s.value),r=Math.max(1,i,Math.ceil((b.virtualScrollSliceSize>0?b.virtualScrollSliceSize:10)/a));E.value={total:Math.ceil(r*a),start:Math.ceil(r*n),center:Math.ceil(r*(.5+n)),end:Math.ceil(r*(1+n)),view:i}}function F(e){u!==e&&(void 0!==b.onVirtualScroll&&_("virtualScroll",{index:e,from:P.value.from,to:P.value.to-1,direction:e{B()})),r(O,R),B();let V=ae((function(){let n=t();if(null==n||8===n.nodeType)return;let a=Su(n,o(),T.value,A.value,b.virtualScrollHorizontal,w.lang.rtl,b.virtualScrollStickySizeStart,b.virtualScrollStickySizeEnd),i=e.value-1,r=a.scrollMaxSize-a.offsetStart-a.offsetEnd-C.value;if(l===a.scrollStart)return;if(a.scrollMaxSize<=0)return void q(n,a,0,0);c!==a.scrollViewSize&&B(a.scrollViewSize),D(P.value.from);let s=Math.floor(a.scrollMaxSize-Math.max(a.scrollViewSize,a.offsetEnd)-Math.min(m[i],a.scrollViewSize/2));if(s>0&&Math.ceil(a.scrollStart)>=s)return void q(n,a,i,a.scrollMaxSize-a.offsetEnd-x.reduce(xu,0));let u=0,d=a.scrollStart-a.offsetStart,h=d;if(d<=r&&d+a.scrollViewSize>=S.value)d-=S.value,u=P.value.from,h=d;else for(let e=0;d>=x[e]&&u0&&u-a.scrollViewSize?(u++,h=d):h=m[u]+d;q(n,a,u,h)}),!0===w.platform.is.ios?120:35);f((()=>{B()}));let U=!1;return p((()=>{U=!0})),h((()=>{if(!0!==U)return;let e=t();void 0!==l&&null!=e&&8!==e.nodeType?Cu(e,l,b.virtualScrollHorizontal,w.lang.rtl):z(u)})),g((()=>{V.cancel()})),Object.assign(y,{scrollTo:z,reset:R,refresh:I}),{virtualScrollSliceRange:P,virtualScrollSliceSizeComputed:E,setVirtualScrollSize:B,onVirtualScrollEvt:V,localResetVirtualScroll:$,padVirtualScroll:function(e,t){let a=!0===b.virtualScrollHorizontal?"width":"height",i={["--q-virtual-scroll-item-"+a]:s.value+"px"};return["tbody"===e?n(e,{class:"q-virtual-scroll__padding",key:"before",ref:T},[n("tr",[n("td",{style:{[a]:`${S.value}px`,...i},colspan:L.value})])]):n(e,{class:"q-virtual-scroll__padding",key:"before",ref:T,style:{[a]:`${S.value}px`,...i}}),n(e,{class:"q-virtual-scroll__content",key:"content",ref:M,tabindex:-1},t.flat()),"tbody"===e?n(e,{class:"q-virtual-scroll__padding",key:"after",ref:A},[n("tr",[n("td",{style:{[a]:`${C.value}px`,...i},colspan:L.value})])]):n(e,{class:"q-virtual-scroll__padding",key:"after",ref:A,style:{[a]:`${C.value}px`,...i}})]},scrollTo:z,reset:R,refresh:I}}var Lu=e=>["add","add-unique","toggle"].includes(e),Ou=Object.keys(Bs);function Nu(e,t){if("function"==typeof e)return e;let n=void 0!==e?e:t;return e=>null!==e&&"object"==typeof e&&n in e?e[n]:e}var Ru=F({name:"QSelect",inheritAttrs:!1,props:{...Mu,...ii,...Bs,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,newValueMode:{type:String,validator:Lu},mapOptions:Boolean,emitValue:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>["default","menu","dialog"].includes(e),default:"default"},virtualScrollItemSize:Mu.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...Fs,"add","remove","inputValue","keyup","keypress","keydown","popupShow","popupHide","filterAbort"],setup(e,{slots:t,emit:o}){let s,l,u,c,h,p,f,{proxy:m}=k(),{$q:v}=m,y=a(!1),w=a(!1),x=a(-1),S=a(""),C=a(!1),E=a(!1),T=null,A=null,M=null,P=a(null),L=a(null),O=a(null),N=a(null),R=a(null),I=si(e),z=vl(qe),q=i((()=>e.options.length)),D=i((()=>void 0===e.virtualScrollItemSize?!0===e.optionsDense?24:48:e.virtualScrollItemSize)),{virtualScrollSliceRange:j,virtualScrollSliceSizeComputed:$,localResetVirtualScroll:B,padVirtualScroll:F,onVirtualScrollEvt:V,scrollTo:U,setVirtualScrollSize:H}=Pu({virtualScrollLength:q,getVirtualScrollTarget:function(){return Ie()},getVirtualScrollEl:Ie,virtualScrollItemSizeComputed:D}),W=Vs(),Y=i((()=>{let t=!0===e.mapOptions&&!0!==e.multiple,n=void 0===e.modelValue||null===e.modelValue&&!0!==t?[]:!0===e.multiple&&Array.isArray(e.modelValue)?e.modelValue:[e.modelValue];if(!0===e.mapOptions){let a=!0===e.mapOptions&&void 0!==s?s:[],i=n.map((t=>function(t,n){let a=e=>De(ve.value(e),t);return e.options.find(a)||n.find(a)||t}(t,a)));return null===e.modelValue&&!0===t?i.filter((e=>null!==e)):i}return n})),Q=i((()=>{let t={};return Ou.forEach((n=>{let a=e[n];void 0!==a&&(t[n]=a)})),t})),K=i((()=>null===e.optionsDark?W.isDark.value:e.optionsDark)),X=i((()=>js(Y.value))),ee=i((()=>{let t="q-field__input q-placeholder col";return!0===e.hideSelected||0===Y.value.length?[t,e.inputClass]:(t+=" q-field__input--padding",void 0===e.inputClass?t:[t,e.inputClass])})),te=i((()=>(!0===e.virtualScrollHorizontal?"q-virtual-scroll--horizontal":"")+(e.popupContentClass?" "+e.popupContentClass:""))),ne=i((()=>0===q.value)),ae=i((()=>Y.value.map((e=>be.value(e))).join(", "))),ie=i((()=>void 0!==e.displayValue?e.displayValue:ae.value)),re=i((()=>!0===e.optionsHtml?()=>!0:e=>null!=e&&!0===e.html)),oe=i((()=>!0===e.displayValueHtml||void 0===e.displayValue&&(!0===e.optionsHtml||Y.value.some(re.value)))),se=i((()=>!0===W.focused.value?e.tabindex:-1)),le=i((()=>{let t={tabindex:e.tabindex,role:"combobox","aria-label":e.label,"aria-readonly":!0===e.readonly?"true":"false","aria-autocomplete":!0===e.useInput?"list":"none","aria-expanded":!0===y.value?"true":"false","aria-controls":`${W.targetUid.value}_lb`};return x.value>=0&&(t["aria-activedescendant"]=`${W.targetUid.value}_${x.value}`),t})),ue=i((()=>({id:`${W.targetUid.value}_lb`,role:"listbox","aria-multiselectable":!0===e.multiple?"true":"false"}))),ce=i((()=>Y.value.map(((e,t)=>({index:t,opt:e,html:re.value(e),selected:!0,removeAtIndex:Se,toggleOption:Ee,tabindex:se.value}))))),de=i((()=>{if(0===q.value)return[];let{from:t,to:n}=j.value;return e.options.slice(t,n).map(((n,a)=>{let i=!0===_e.value(n),r=!0===Me(n),o=t+a,s={clickable:!0,active:r,activeClass:ge.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:e.optionsDense,dark:K.value,role:"option","aria-selected":!0===r?"true":"false",id:`${W.targetUid.value}_${o}`,onClick:()=>{Ee(n)}};return!0!==i&&(x.value===o&&(s.focused=!0),!0===v.platform.is.desktop&&(s.onMousemove=()=>{!0===y.value&&Te(o)})),{index:o,opt:n,html:re.value(n),label:be.value(n),selected:s.active,focused:s.focused,toggleOption:Ee,setOptionIndex:Te,itemProps:s}}))})),fe=i((()=>void 0!==e.dropdownIcon?e.dropdownIcon:v.iconSet.arrow.dropdown)),me=i((()=>!1===e.optionsCover&&!0!==e.outlined&&!0!==e.standout&&!0!==e.borderless&&!0!==e.rounded)),ge=i((()=>void 0!==e.optionsSelectedClass?e.optionsSelectedClass:void 0!==e.color?`text-${e.color}`:"")),ve=i((()=>Nu(e.optionValue,"value"))),be=i((()=>Nu(e.optionLabel,"label"))),_e=i((()=>Nu(e.optionDisable,"disable"))),ye=i((()=>Y.value.map(ve.value))),we=i((()=>{let e={onInput:qe,onChange:z,onKeydown:Re,onKeyup:Oe,onKeypress:Ne,onFocus:Pe,onClick(e){!0===l&&G(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=z,e}));function ke(t){return!0===e.emitValue?ve.value(t):t}function xe(t){if(-1!==t&&t=e.maxValues)return;let i=e.modelValue.slice();o("add",{index:i.length,value:a}),i.push(a),o("update:modelValue",i)}function Ee(t,n){if(!0!==W.editable.value||void 0===t||!0===_e.value(t))return;let a=ve.value(t);if(!0!==e.multiple)return!0!==n&&($e(!0===e.fillInput?be.value(t):"",!0,!0),Ze()),null!==L.value&&L.value.focus(),void((0===Y.value.length||!0!==De(ve.value(Y.value[0]),a))&&o("update:modelValue",!0===e.emitValue?a:t));if((!0!==l||!0===C.value)&&W.focus(),Pe(),0===Y.value.length){let n=!0===e.emitValue?a:t;return o("add",{index:0,value:n}),void o("update:modelValue",!0===e.multiple?[n]:n)}let i=e.modelValue.slice(),r=ye.value.findIndex((e=>De(e,a)));if(-1!==r)o("remove",{index:r,value:i.splice(r,1)[0]});else{if(void 0!==e.maxValues&&i.length>=e.maxValues)return;let n=!0===e.emitValue?a:t;o("add",{index:i.length,value:n}),i.push(n)}o("update:modelValue",i)}function Te(e){if(!0!==v.platform.is.desktop)return;let t=-1!==e&&e=0?be.value(e.options[a]):c,!0))}}function Me(e){let t=ve.value(e);return void 0!==ye.value.find((e=>De(e,t)))}function Pe(t){!0===e.useInput&&null!==L.value&&(void 0===t||L.value===t.target&&t.target.value===ae.value)&&L.value.select()}function Le(e){!0===pe(e,27)&&!0===y.value&&(G(e),Ze(),Je()),o("keyup",e)}function Oe(t){let{value:n}=t.target;if(void 0===t.keyCode)if(t.target.value="",null!==T&&(clearTimeout(T),T=null),null!==A&&(clearTimeout(A),A=null),Je(),"string"==typeof n&&0!==n.length){let t=n.toLocaleLowerCase(),a=n=>{let a=e.options.find((e=>n.value(e).toLocaleLowerCase()===t));return void 0!==a&&(-1===Y.value.indexOf(a)?Ee(a):Ze(),!0)},i=e=>{!0!==a(ve)&&(!0===a(be)||!0===e||Be(n,!0,(()=>i(!0))))};i()}else W.clearValue(t);else Le(t)}function Ne(e){o("keypress",e)}function Re(t){if(o("keydown",t),!0===he(t))return;let n=0!==S.value.length&&(void 0!==e.newValueMode||void 0!==e.onNewValue),a=!0!==t.shiftKey&&!0!==e.disableTabSelection&&!0!==e.multiple&&(-1!==x.value||!0===n);if(27===t.keyCode)return void Z(t);if(9===t.keyCode&&!1===a)return void Ke();if(void 0===t.target||t.target.id!==W.targetUid.value||!0!==W.editable.value)return;if(40===t.keyCode&&!0!==W.innerLoading.value&&!1===y.value)return J(t),void Ge();if(8===t.keyCode&&(!0===e.useChips||!0===e.clearable)&&!0!==e.hideSelected&&0===S.value.length)return void(!0===e.multiple&&!0===Array.isArray(e.modelValue)?xe(e.modelValue.length-1):!0!==e.multiple&&null!==e.modelValue&&o("update:modelValue",null));(35===t.keyCode||36===t.keyCode)&&("string"!=typeof S.value||0===S.value.length)&&(J(t),x.value=-1,Ae(36===t.keyCode?1:-1,e.multiple)),(33===t.keyCode||34===t.keyCode)&&void 0!==$.value&&(J(t),x.value=Math.max(-1,Math.min(q.value,x.value+(33===t.keyCode?-1:1)*$.value.view)),Ae(33===t.keyCode?1:-1,e.multiple)),(38===t.keyCode||40===t.keyCode)&&(J(t),Ae(38===t.keyCode?-1:1,e.multiple));let i=q.value;if((void 0===p||f0&&!0!==e.useInput&&void 0!==t.key&&1===t.key.length&&!1===t.altKey&&!1===t.ctrlKey&&!1===t.metaKey&&(32!==t.keyCode||0!==p.length)){!0!==y.value&&Ge(t);let n=t.key.toLocaleLowerCase(),a=1===p.length&&p[0]===n;f=Date.now()+1500,!1===a&&(J(t),p+=n);let r=new RegExp("^"+p.split("").map((e=>-1!==".*+?^${}()|[]\\".indexOf(e)?"\\"+e:e)).join(".*"),"i"),o=x.value;if(!0===a||o<0||!0!==r.test(be.value(e.options[o])))do{o=Xe(o+1,-1,i-1)}while(o!==x.value&&(!0===_e.value(e.options[o])||!0!==r.test(be.value(e.options[o]))));x.value!==o&&d((()=>{Te(o),U(o),o>=0&&!0===e.useInput&&!0===e.fillInput&&je(be.value(e.options[o]),!0)}))}else if(13===t.keyCode||32===t.keyCode&&!0!==e.useInput&&""===p||9===t.keyCode&&!1!==a){if(9!==t.keyCode&&J(t),-1!==x.value&&x.value{if(n){if(!0!==Lu(n))return}else n=e.newValueMode;$e("",!0!==e.multiple,!0),null!=t&&(("toggle"===n?Ee:Ce)(t,"add-unique"===n),!0!==e.multiple&&(null!==L.value&&L.value.focus(),Ze()))};if(void 0!==e.onNewValue?o("newValue",S.value,t):t(S.value),!0!==e.multiple)return}!0===y.value?Ke():!0!==W.innerLoading.value&&Ge()}}function Ie(){return!0===l?R.value:null!==O.value&&null!==O.value.contentEl?O.value.contentEl:void 0}function ze(){if(!0===ne.value)return void 0!==t["no-option"]?t["no-option"]({inputValue:S.value}):void 0;let e=void 0!==t.option?t.option:e=>n(rs,{key:e.index,...e.itemProps},(()=>n(os,(()=>n(_s,(()=>n("span",{[!0===e.html?"innerHTML":"textContent"]:e.label}))))))),a=F("div",de.value.map(e));return void 0!==t["before-options"]&&(a=t["before-options"]().concat(a)),pt(t["after-options"],a)}function qe(t){null!==T&&(clearTimeout(T),T=null),null!==A&&(clearTimeout(A),A=null),(!t||!t.target||!0!==t.target.qComposing)&&(je(t.target.value||""),u=!0,c=S.value,!0!==W.focused.value&&(!0!==l||!0===C.value)&&W.focus(),void 0!==e.onFilter&&(T=setTimeout((()=>{T=null,Be(S.value)}),e.inputDebounce)))}function je(t,n){S.value!==t&&(S.value=t,!0===n||0===e.inputDebounce||"0"===e.inputDebounce?o("inputValue",t):A=setTimeout((()=>{A=null,o("inputValue",t)}),e.inputDebounce))}function $e(t,n,a){u=!0!==a,!0===e.useInput&&(je(t,!0),(!0===n||!0!==a)&&(c=t),!0!==n&&Be(t))}function Be(t,n,a){if(void 0===e.onFilter||!0!==n&&!0!==W.focused.value)return;!0===W.innerLoading.value?o("filterAbort"):(W.innerLoading.value=!0,E.value=!0),""!==t&&!0!==e.multiple&&0!==Y.value.length&&!0!==u&&t===be.value(Y.value[0])&&(t="");let i=setTimeout((()=>{!0===y.value&&(y.value=!1)}),10);null!==M&&clearTimeout(M),M=i,o("filter",t,((e,t)=>{(!0===n||!0===W.focused.value)&&M===i&&(clearTimeout(M),"function"==typeof e&&e(),E.value=!1,d((()=>{W.innerLoading.value=!1,!0===W.editable.value&&(!0===n?!0===y.value&&Ze():!0===y.value?et(!0):y.value=!0),"function"==typeof t&&d((()=>{t(m)})),"function"==typeof a&&d((()=>{a(m)}))})))}),(()=>{!0===W.focused.value&&M===i&&(clearTimeout(M),W.innerLoading.value=!1,E.value=!1),!0===y.value&&(y.value=!1)}))}function Fe(e){at(e),Ke()}function Ve(){H()}function Ue(e){G(e),null!==L.value&&L.value.focus(),C.value=!0,window.scrollTo(window.pageXOffset||window.scrollX||document.body.scrollLeft||0,0)}function He(e){G(e),d((()=>{C.value=!1}))}function We(e){at(e),null!==N.value&&N.value.__updateRefocusTarget(W.rootRef.value.querySelector(".q-field__native > [tabindex]:last-child")),W.focused.value=!1}function Ye(e){Ze(),!1===W.focused.value&&o("blur",e),Je()}function Qe(){let e=document.activeElement;(null===e||e.id!==W.targetUid.value)&&null!==L.value&&L.value!==e&&L.value.focus(),H()}function Ke(){!0!==w.value&&(x.value=-1,!0===y.value&&(y.value=!1),!1===W.focused.value&&(null!==M&&(clearTimeout(M),M=null),!0===W.innerLoading.value&&(o("filterAbort"),W.innerLoading.value=!1,E.value=!1)))}function Ge(n){!0===W.editable.value&&(!0===l?(W.onControlFocusin(n),w.value=!0,d((()=>{W.focus()}))):W.focus(),void 0!==e.onFilter?Be(S.value):(!0!==ne.value||void 0!==t["no-option"])&&(y.value=!0))}function Ze(){w.value=!1,Ke()}function Je(){!0===e.useInput&&$e(!0!==e.multiple&&!0===e.fillInput&&0!==Y.value.length&&be.value(Y.value[0])||"",!0,!0)}function et(t){let n=-1;if(!0===t){if(0!==Y.value.length){let t=ve.value(Y.value[0]);n=e.options.findIndex((e=>De(ve.value(e),t)))}B(n)}Te(n)}function tt(){!1===w.value&&null!==O.value&&O.value.updatePosition()}function nt(e){void 0!==e&&G(e),o("popupShow",e),W.hasPopupOpen=!0,W.onControlFocusin(e)}function at(e){void 0!==e&&G(e),o("popupHide",e),W.hasPopupOpen=!1,W.onControlFocusout(e)}function it(){l=(!0===v.platform.is.mobile||"dialog"===e.behavior)&&("menu"!==e.behavior&&(!0!==e.useInput||(void 0!==t["no-option"]||void 0!==e.onFilter||!1===ne.value))),h=!0===v.platform.is.ios&&!0===l&&!0===e.useInput?"fade":e.transitionShow}return r(Y,(t=>{s=t,!0===e.useInput&&!0===e.fillInput&&!0!==e.multiple&&!0!==W.innerLoading.value&&(!0!==w.value&&!0!==y.value||!0!==X.value)&&(!0!==u&&Je(),(!0===w.value||!0===y.value)&&Be(""))}),{immediate:!0}),r((()=>e.fillInput),Je),r(y,et),r(q,(function(e,t){!0===y.value&&!1===W.innerLoading.value&&(B(-1,!0),d((()=>{!0===y.value&&!1===W.innerLoading.value&&(e>t?B():et(!0))})))})),b(it),_(tt),it(),g((()=>{null!==T&&clearTimeout(T),null!==A&&clearTimeout(A)})),Object.assign(m,{showPopup:Ge,hidePopup:Ze,removeAtIndex:xe,add:Ce,toggleOption:Ee,getOptionIndex:()=>x.value,setOptionIndex:Te,moveOptionSelection:Ae,filter:Be,updateMenuPosition:tt,updateInputValue:$e,isOptionSelected:Me,getEmittingOptionValue:ke,isOptionDisabled:(...e)=>!0===_e.value.apply(null,e),getOptionValue:(...e)=>ve.value.apply(null,e),getOptionLabel:(...e)=>be.value.apply(null,e)}),Object.assign(W,{innerValue:Y,fieldClass:i((()=>`q-select q-field--auto-height q-select--with${!0!==e.useInput?"out":""}-input q-select--with${!0!==e.useChips?"out":""}-chips q-select--${!0===e.multiple?"multiple":"single"}`)),inputRef:P,targetRef:L,hasValue:X,showPopup:Ge,floatingLabel:i((()=>!0!==e.hideSelected&&!0===X.value||"number"==typeof S.value||0!==S.value.length||js(e.displayValue))),getControlChild:()=>{if(!1!==W.editable.value&&(!0===w.value||!0!==ne.value||void 0!==t["no-option"]))return!0===l?function(){let a=[n(Hs,{class:`col-auto ${W.fieldClass.value}`,...Q.value,for:W.targetUid.value,dark:K.value,square:!0,loading:E.value,itemAligned:!1,filled:!0,stackLabel:0!==S.value.length,...W.splitAttrs.listeners.value,onFocus:Ue,onBlur:He},{...t,rawControl:()=>W.getControl(!0),before:void 0,after:void 0})];return!0===y.value&&a.push(n("div",{ref:R,class:te.value+" scroll",style:e.popupContentStyle,...ue.value,onClick:Z,onScrollPassive:V},ze())),n(Zo,{ref:N,modelValue:w.value,position:!0===e.useInput?"top":void 0,transitionShow:h,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,noRouteDismiss:e.popupNoRouteDismiss,onBeforeShow:nt,onBeforeHide:We,onHide:Ye,onShow:Qe},(()=>n("div",{class:"q-select__dialog"+(!0===K.value?" q-select__dialog--dark q-dark":"")+(!0===C.value?" q-select__dialog--focused":"")},a)))}():n(Qa,{ref:O,class:te.value,style:e.popupContentStyle,modelValue:y.value,fit:!0!==e.menuShrink,cover:!0===e.optionsCover&&!0!==ne.value&&!0!==e.useInput,anchor:e.menuAnchor,self:e.menuSelf,offset:e.menuOffset,dark:K.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:e.popupNoRouteDismiss,square:me.value,transitionShow:e.transitionShow,transitionHide:e.transitionHide,transitionDuration:e.transitionDuration,separateClosePopup:!0,...ue.value,onScrollPassive:V,onBeforeShow:nt,onBeforeHide:Fe,onShow:Ve},ze);!0===W.hasPopupOpen&&(W.hasPopupOpen=!1)},controlEvents:{onFocusin(e){W.onControlFocusin(e)},onFocusout(e){W.onControlFocusout(e,(()=>{Je(),Ke()}))},onClick(e){if(Z(e),!0!==l&&!0===y.value)return Ke(),void(null!==L.value&&L.value.focus());Ge(e)}},getControl:a=>{let i=!0===e.hideSelected?[]:void 0!==t["selected-item"]?ce.value.map((e=>t["selected-item"](e))).slice():void 0!==t.selected?[].concat(t.selected()):!0===e.useChips?ce.value.map(((t,a)=>n(Fi,{key:"option-"+a,removable:!0===W.editable.value&&!0!==_e.value(t.opt),dense:!0,textColor:e.color,tabindex:se.value,onRemove(){t.removeAtIndex(a)}},(()=>n("span",{class:"ellipsis",[!0===t.html?"innerHTML":"textContent"]:be.value(t.opt)}))))):[n("span",{[!0===oe.value?"innerHTML":"textContent"]:ie.value})],r=!0===a||!0!==w.value||!0!==l;if(!0===e.useInput)i.push(function(t,a){let i=!0===a?{...le.value,...W.splitAttrs.attributes.value}:void 0,r={ref:!0===a?L:void 0,key:"i_t",class:ee.value,style:e.inputStyle,value:void 0!==S.value?S.value:"",type:"search",...i,id:!0===a?W.targetUid.value:void 0,maxlength:e.maxlength,autocomplete:e.autocomplete,"data-autofocus":!0===t||!0===e.autofocus||void 0,disabled:!0===e.disable,readonly:!0===e.readonly,...we.value};return!0!==t&&!0===l&&(!0===Array.isArray(r.class)?r.class=[...r.class,"no-pointer-events"]:r.class+=" no-pointer-events"),n("input",r)}(a,r));else if(!0===W.editable.value){let t=!0===r?le.value:void 0;i.push(n("input",{ref:!0===r?L:void 0,key:"d_t",class:"q-select__focus-target",id:!0===r?W.targetUid.value:void 0,value:ie.value,readonly:!0,"data-autofocus":!0===a||!0===e.autofocus||void 0,...t,onKeydown:Re,onKeyup:Le,onKeypress:Ne})),!0===r&&"string"==typeof e.autocomplete&&0!==e.autocomplete.length&&i.push(n("input",{class:"q-select__autocomplete-input",autocomplete:e.autocomplete,tabindex:-1,onKeyup:Oe}))}if(void 0!==I.value&&!0!==e.disable&&0!==ye.value.length){let t=ye.value.map((e=>n("option",{value:e,selected:!0})));i.push(n("select",{class:"hidden",name:I.value,multiple:e.multiple},t))}let o=!0===e.useInput||!0!==r?void 0:W.splitAttrs.attributes.value;return n("div",{class:"q-field__native row items-center",...o,...W.splitAttrs.listeners.value},i)},getInnerAppend:()=>!0!==e.loading&&!0!==E.value&&!0!==e.hideDropdownIcon?[n(Pt,{class:"q-select__dropdown-icon"+(!0===y.value?" rotate-180":""),name:fe.value})]:null}),Us(W)}}),Iu=["text","rect","circle","QBtn","QBadge","QChip","QToolbar","QCheckbox","QRadio","QToggle","QSlider","QRange","QInput","QAvatar"],zu=["wave","pulse","pulse-x","pulse-y","fade","blink","none"],qu=F({name:"QSkeleton",props:{...Rt,tag:{type:String,default:"div"},type:{type:String,validator:e=>Iu.includes(e),default:"rect"},animation:{type:String,validator:e=>zu.includes(e),default:"wave"},animationSpeed:{type:[String,Number],default:1500},square:Boolean,bordered:Boolean,size:String,width:String,height:String},setup(e,{slots:t}){let a=k(),r=It(e,a.proxy.$q),o=i((()=>{let t=void 0!==e.size?[e.size,e.size]:[e.width,e.height];return{"--q-skeleton-speed":`${e.animationSpeed}ms`,width:t[0],height:t[1]}})),s=i((()=>`q-skeleton q-skeleton--${!0===r.value?"dark":"light"} q-skeleton--type-${e.type}`+("none"!==e.animation?` q-skeleton--anim q-skeleton--anim-${e.animation}`:"")+(!0===e.square?" q-skeleton--square":"")+(!0===e.bordered?" q-skeleton--bordered":"")));return()=>n(e.tag,{class:s.value,style:o.value},dt(t.default))}}),Du=[["left","center","start","width"],["right","center","end","width"],["top","start","center","height"],["bottom","end","center","height"]],ju=F({name:"QSlideItem",props:{...Rt,leftColor:String,rightColor:String,topColor:String,bottomColor:String,onSlide:Function},emits:["action","top","right","bottom","left"],setup(e,{slots:t,emit:r}){let{proxy:o}=k(),{$q:s}=o,l=It(e,s),{getCache:u}=_i(),c=a(null),d=null,h={},p={},f={},m=i((()=>!0===s.lang.rtl?{left:"right",right:"left"}:{left:"left",right:"right"})),v=i((()=>"q-slide-item q-item-type overflow-hidden"+(!0===l.value?" q-slide-item--dark q-dark":"")));function _(){c.value.style.transform="translate(0,0)"}function y(t,n,a){void 0!==e.onSlide&&r("slide",{side:t,ratio:n,isReset:a})}function w(e){let n,a,i,o=c.value;if(e.isFirst)h={dir:null,size:{left:0,right:0,top:0,bottom:0},scale:0},o.classList.add("no-transition"),Du.forEach((e=>{if(void 0!==t[e[0]]){let t=f[e[0]];t.style.transform="scale(1)",h.size[e[0]]=t.getBoundingClientRect()[e[3]]}})),h.axis="up"===e.direction||"down"===e.direction?"Y":"X";else{if(e.isFinal)return o.classList.remove("no-transition"),void(1===h.scale?(o.style.transform=`translate${h.axis}(${100*h.dir}%)`,null!==d&&clearTimeout(d),d=setTimeout((()=>{d=null,r(h.showing,{reset:_}),r("action",{side:h.showing,reset:_})}),230)):(o.style.transform="translate(0,0)",y(h.showing,0,!0)));e.direction="X"===h.axis?e.offset.x<0?"left":"right":e.offset.y<0?"up":"down"}void 0===t.left&&e.direction===m.value.right||void 0===t.right&&e.direction===m.value.left||void 0===t.top&&"down"===e.direction||void 0===t.bottom&&"up"===e.direction?o.style.transform="translate(0,0)":("X"===h.axis?(a="left"===e.direction?-1:1,n=1===a?m.value.left:m.value.right,i=e.distance.x):(a="up"===e.direction?-2:2,n=2===a?"top":"bottom",i=e.distance.y),(null===h.dir||Math.abs(a)===Math.abs(h.dir))&&(h.dir!==a&&(["left","right","top","bottom"].forEach((e=>{p[e]&&(p[e].style.visibility=n===e?"visible":"hidden")})),h.showing=n,h.dir=a),h.scale=Math.max(0,Math.min(1,(i-40)/h.size[n])),o.style.transform=`translate${h.axis}(${i*a/Math.abs(a)}px)`,f[n].style.transform=`scale(${h.scale})`,y(n,h.scale,!1)))}return b((()=>{p={},f={}})),g((()=>{null!==d&&clearTimeout(d)})),Object.assign(o,{reset:_}),()=>{let a=[],i={left:void 0!==t[m.value.right],right:void 0!==t[m.value.left],up:void 0!==t.bottom,down:void 0!==t.top},r=Object.keys(i).filter((e=>!0===i[e]));Du.forEach((i=>{let r=i[0];void 0!==t[r]&&a.push(n("div",{key:r,ref:e=>{p[r]=e},class:`q-slide-item__${r} absolute-full row no-wrap items-${i[1]} justify-${i[2]}`+(void 0!==e[r+"Color"]?` bg-${e[r+"Color"]}`:"")},[n("div",{ref:e=>{f[r]=e}},t[r]())]))}));let o=n("div",{key:(0===r.length?"only-":"")+" content",ref:c,class:"q-slide-item__content"},dt(t.default));return 0===r.length?a.push(o):a.push(M(o,u("dir#"+r.join(""),(()=>{let e={prevent:!0,stop:!0,mouse:!0};return r.forEach((t=>{e[t]=!0})),[[Ki,w,void 0,e]]})))),n("div",{class:v.value},a)}}}),$u=F({name:"QSpace",setup(){let e=n("div",{class:"q-space"});return()=>e}}),Bu=F({name:"QSpinnerAudio",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 55 80",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Fu=F({name:"QSpinnerBall",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 57 57",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Vu=F({name:"QSpinnerBars",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 135 140",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Uu=F({name:"QSpinnerBox",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Hu=F({name:"QSpinnerClock",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Wu=F({name:"QSpinnerComment",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),Yu=F({name:"QSpinnerCube",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),Qu=F({name:"QSpinnerDots",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 120 30",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Ku=F({name:"QSpinnerFacebook",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),Gu=F({name:"QSpinnerGears",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Zu=F({name:"QSpinnerGrid",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 105 105",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Ju=F({name:"QSpinnerHearts",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,fill:"currentColor",width:t.value,height:t.value,viewBox:"0 0 140 64",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),Xu=F({name:"QSpinnerHourglass",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),ec=F({name:"QSpinnerInfinity",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",innerHTML:''})}}),tc=F({name:"QSpinnerIos",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,stroke:"currentColor",fill:"currentColor",viewBox:"0 0 64 64",innerHTML:''})}}),nc=F({name:"QSpinnerOrbit",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),ac=F({name:"QSpinnerOval",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),ic=F({name:"QSpinnerPie",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),rc=F({name:"QSpinnerPuff",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 44 44",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),oc=F({name:"QSpinnerRadio",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),sc=F({name:"QSpinnerRings",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,stroke:"currentColor",width:t.value,height:t.value,viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),lc=F({name:"QSpinnerTail",props:an,setup(e){let{cSize:t,classes:a}=rn(e);return()=>n("svg",{class:a.value,width:t.value,height:t.value,viewBox:"0 0 38 38",xmlns:"http://www.w3.org/2000/svg",innerHTML:''})}}),uc=F({name:"QSplitter",props:{...Rt,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:"%",validator:e=>["%","px"].includes(e)},limits:{type:Array,validator:e=>2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]&&(e[0]>=0&&e[0]<=e[1])},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object]},emits:["update:modelValue"],setup(e,{slots:t,emit:o}){let{proxy:{$q:s}}=k(),l=It(e,s),u=a(null),c={before:a(null),after:a(null)},h=i((()=>`q-splitter no-wrap ${!0===e.horizontal?"q-splitter--horizontal column":"q-splitter--vertical row"} q-splitter--${!0===e.disable?"disabled":"workable"}`+(!0===l.value?" q-splitter--dark":""))),p=i((()=>!0===e.horizontal?"height":"width")),f=i((()=>!0!==e.reverse?"before":"after")),m=i((()=>void 0!==e.limits?e.limits:"%"===e.unit?[10,90]:[50,1/0]));function g(t){return("%"===e.unit?t:Math.round(t))+e.unit}let v,b,_,y,w,x=i((()=>({[f.value]:{[p.value]:g(e.modelValue)}})));function S(t){if(!0===t.isFirst){let t=u.value.getBoundingClientRect()[p.value];return v=!0===e.horizontal?"up":"left",b="%"===e.unit?100:t,_=Math.min(b,m.value[1],Math.max(m.value[0],e.modelValue)),y=(!0!==e.reverse?1:-1)*(!0===e.horizontal?1:!0===s.lang.rtl?-1:1)*("%"===e.unit?0===t?0:100/t:1),void u.value.classList.add("q-splitter--active")}if(!0===t.isFinal)return w!==e.modelValue&&o("update:modelValue",w),void u.value.classList.remove("q-splitter--active");let n=_+y*(t.direction===v?-1:1)*t.distance[!0===e.horizontal?"y":"x"];w=Math.min(b,m.value[1],Math.max(m.value[0],n)),c[f.value].value.style[p.value]=g(w),!0===e.emitImmediately&&e.modelValue!==w&&o("update:modelValue",w)}let C=i((()=>[[Ki,S,void 0,{[!0===e.horizontal?"vertical":"horizontal"]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]));function E(e,t){et[1]&&o("update:modelValue",t[1])}return r((()=>e.modelValue),(e=>{E(e,m.value)})),r((()=>e.limits),(()=>{d((()=>{E(e.modelValue,m.value)}))})),()=>{let a=[n("div",{ref:c.before,class:["q-splitter__panel q-splitter__before"+(!0===e.reverse?" col":""),e.beforeClass],style:x.value.before},dt(t.before)),n("div",{class:["q-splitter__separator",e.separatorClass],style:e.separatorStyle,"aria-disabled":!0===e.disable?"true":void 0},[mt("div",{class:"q-splitter__separator-area absolute-full"},dt(t.separator),"sep",!0!==e.disable,(()=>C.value))]),n("div",{ref:c.after,class:["q-splitter__panel q-splitter__after"+(!0===e.reverse?"":" col"),e.afterClass],style:x.value.after},dt(t.after))];return n("div",{class:h.value,ref:u},pt(t.default,a))}}}),cc=F({name:"StepHeader",props:{stepper:{},step:{},goToPanel:Function},setup(e,{attrs:t}){let{proxy:{$q:r}}=k(),o=a(null),s=i((()=>e.stepper.modelValue===e.step.name)),l=i((()=>{let t=e.step.disable;return!0===t||""===t})),u=i((()=>{let t=e.step.error;return!0===t||""===t})),c=i((()=>{let t=e.step.done;return!1===l.value&&(!0===t||""===t)})),d=i((()=>{let t=e.step.headerNav,n=!0===t||""===t||void 0===t;return!1===l.value&&e.stepper.headerNav&&n})),h=i((()=>e.step.prefix&&(!1===s.value||"none"===e.stepper.activeIcon)&&(!1===u.value||"none"===e.stepper.errorIcon)&&(!1===c.value||"none"===e.stepper.doneIcon))),p=i((()=>{let t=e.step.icon||e.stepper.inactiveIcon;if(!0===s.value){let n=e.step.activeIcon||e.stepper.activeIcon;return"none"===n?t:n||r.iconSet.stepper.active}if(!0===u.value){let n=e.step.errorIcon||e.stepper.errorIcon;return"none"===n?t:n||r.iconSet.stepper.error}if(!1===l.value&&!0===c.value){let n=e.step.doneIcon||e.stepper.doneIcon;return"none"===n?t:n||r.iconSet.stepper.done}return t})),f=i((()=>{let t=!0===u.value?e.step.errorColor||e.stepper.errorColor:void 0;if(!0===s.value){let n=e.step.activeColor||e.stepper.activeColor||e.step.color;return void 0!==n?n:t}return void 0!==t?t:!1===l.value&&!0===c.value?e.step.doneColor||e.stepper.doneColor||e.step.color||e.stepper.inactiveColor:e.step.color||e.stepper.inactiveColor})),m=i((()=>"q-stepper__tab col-grow flex items-center no-wrap relative-position"+(void 0!==f.value?` text-${f.value}`:"")+(!0===u.value?" q-stepper__tab--error q-stepper__tab--error-with-"+(!0===h.value?"prefix":"icon"):"")+(!0===s.value?" q-stepper__tab--active":"")+(!0===c.value?" q-stepper__tab--done":"")+(!0===d.value?" q-stepper__tab--navigation q-focusable q-hoverable":"")+(!0===l.value?" q-stepper__tab--disabled":""))),g=i((()=>!0===e.stepper.headerNav&&d.value));function v(){null!==o.value&&o.value.focus(),!1===s.value&&e.goToPanel(e.step.name)}function b(t){13===t.keyCode&&!1===s.value&&e.goToPanel(e.step.name)}return()=>{let a={class:m.value};!0===d.value&&(a.onClick=v,a.onKeyup=b,Object.assign(a,!0===l.value?{tabindex:-1,"aria-disabled":"true"}:{tabindex:t.tabindex||0}));let i=[n("div",{class:"q-focus-helper",tabindex:-1,ref:o}),n("div",{class:"q-stepper__dot row flex-center q-stepper__line relative-position"},[n("span",{class:"row flex-center"},[!0===h.value?e.step.prefix:n(Pt,{name:p.value})])])];if(void 0!==e.step.title&&null!==e.step.title){let t=[n("div",{class:"q-stepper__title"},e.step.title)];void 0!==e.step.caption&&null!==e.step.caption&&t.push(n("div",{class:"q-stepper__caption"},e.step.caption)),i.push(n("div",{class:"q-stepper__label q-stepper__line relative-position"},t))}return M(n("div",a,i),[[mn,g.value]])}}});function dc(e){return n("div",{class:"q-stepper__step-content"},[n("div",{class:"q-stepper__step-inner"},dt(e.default))])}var hc={setup:(e,{slots:t})=>()=>dc(t)},pc=F({name:"QStep",props:{...yi,icon:String,color:String,title:{type:String,required:!0},caption:String,prefix:[String,Number],doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String,headerNav:{type:Boolean,default:!0},done:Boolean,error:Boolean,onScroll:[Function,Array]},setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=k(),s=y(Ae,Ie);if(s===Ie)return console.error("QStep needs to be a child of QStepper"),Ie;let{getCache:l}=_i(),u=a(null),c=i((()=>s.value.modelValue===e.name)),d=i((()=>!0!==o.platform.is.ios&&!0===o.platform.is.chrome||!0!==c.value||!0!==s.value.vertical?{}:{onScroll(t){let{target:n}=t;n.scrollTop>0&&(n.scrollTop=0),void 0!==e.onScroll&&r("scroll",t)}})),h=i((()=>"string"==typeof e.name||"number"==typeof e.name?e.name:String(e.name)));function p(){let e=s.value.vertical;return!0===e&&!0===s.value.keepAlive?n(E,s.value.keepAliveProps.value,!0===c.value?[n(!0===s.value.needsUniqueKeepAliveWrapper.value?l(h.value,(()=>({...hc,name:h.value}))):hc,{key:h.value},t.default)]:void 0):!0!==e||!0===c.value?dc(t):void 0}return()=>n("div",{ref:u,class:"q-stepper__step",role:"tabpanel",...d.value},!0===s.value.vertical?[n(cc,{stepper:s.value,step:e,goToPanel:s.value.goToPanel}),!0===s.value.animated?n(ys,p):p()]:[p()])}}),fc=/(-\w)/g;var mc=F({name:"QStepper",props:{...Rt,...ki,flat:Boolean,bordered:Boolean,alternativeLabels:Boolean,headerNav:Boolean,contracted:Boolean,headerClass:String,inactiveColor:String,inactiveIcon:String,doneIcon:String,doneColor:String,activeIcon:String,activeColor:String,errorIcon:String,errorColor:String},emits:xi,setup(e,{slots:t}){let a=k(),r=It(e,a.proxy.$q),{updatePanelsList:o,isValidPanelName:s,updatePanelIndex:l,getPanelContent:u,getPanels:c,panelDirectives:d,goToPanel:h,keepAliveProps:p,needsUniqueKeepAliveWrapper:f}=Si();w(Ae,i((()=>({goToPanel:h,keepAliveProps:p,needsUniqueKeepAliveWrapper:f,...e}))));let m=i((()=>"q-stepper q-stepper--"+(!0===e.vertical?"vertical":"horizontal")+(!0===e.flat?" q-stepper--flat":"")+(!0===e.bordered?" q-stepper--bordered":"")+(!0===r.value?" q-stepper--dark q-dark":""))),g=i((()=>`q-stepper__header row items-stretch justify-between q-stepper__header--${!0===e.alternativeLabels?"alternative":"standard"}-labels`+(!1===e.flat||!0===e.bordered?" q-stepper__header--border":"")+(!0===e.contracted?" q-stepper__header--contracted":"")+(void 0!==e.headerClass?` ${e.headerClass}`:"")));function v(){let a=dt(t.message,[]);if(!0===e.vertical){s(e.modelValue)&&l();let i=n("div",{class:"q-stepper__content"},dt(t.default));return void 0===a?[i]:a.concat(i)}return[n("div",{class:g.value},c().map((t=>{let a=function(e){let t={};for(let n in e)t[n.replace(fc,(e=>e[1].toUpperCase()))]=e[n];return t}(t.props);return n(cc,{key:a.name,stepper:e,step:a,goToPanel:h})}))),a,mt("div",{class:"q-stepper__content q-panel-parent"},u(),"cont",e.swipeable,(()=>d.value))]}return()=>(o(t),n("div",{class:m.value},pt(t.navigation,v())))}}),gc=F({name:"QStepperNavigation",setup:(e,{slots:t})=>()=>n("div",{class:"q-stepper__nav"},dt(t.default))}),vc=F({name:"QTh",props:{props:Object,autoWidth:Boolean},emits:["click"],setup(e,{slots:t,emit:a}){let i=k(),{proxy:{$q:r}}=i,o=e=>{a("click",e)};return()=>{if(void 0===e.props)return n("th",{class:!0===e.autoWidth?"q-table--col-auto-width":"",onClick:o},dt(t.default));let a,s,l=i.vnode.key;if(l){if(a=e.props.colsMap[l],void 0===a)return}else a=e.props.col;if(!0===a.sortable){let e="right"===a.align?"unshift":"push";s=ht(t.default,[]),s[e](n(Pt,{class:a.__iconClass,name:r.iconSet.table.arrowUp}))}else s=dt(t.default);let u={class:a.__thClass+(!0===e.autoWidth?" q-table--col-auto-width":""),style:a.headerStyle,onClick:t=>{!0===a.sortable&&e.props.sort(a),o(t)}};return n("th",u,s)}}});function bc(e,t){return n("div",e,[n("table",{class:"q-table"},t)])}var _c={list:Cl,table:Rl},yc=["list","table","__qtable"],wc=F({name:"QVirtualScroll",props:{...Mu,type:{type:String,default:"list",validator:e=>yc.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:ra},setup(e,{slots:t,attrs:o}){let s,l=a(null),u=i((()=>e.itemsSize>=0&&void 0!==e.itemsFn?parseInt(e.itemsSize,10):Array.isArray(e.items)?e.items.length:0)),{virtualScrollSliceRange:c,localResetVirtualScroll:d,padVirtualScroll:v,onVirtualScrollEvt:b}=Pu({virtualScrollLength:u,getVirtualScrollTarget:function(){return s},getVirtualScrollEl:k}),_=i((()=>{if(0===u.value)return[];let t=(e,t)=>({index:c.value.from+t,item:e});return void 0===e.itemsFn?e.items.slice(c.value.from,c.value.to).map(t):e.itemsFn(c.value.from,c.value.to-c.value.from).map(t)})),y=i((()=>"q-virtual-scroll q-virtual-scroll"+(!0===e.virtualScrollHorizontal?"--horizontal":"--vertical")+(void 0!==e.scrollTarget?"":" scroll"))),w=i((()=>void 0!==e.scrollTarget?{}:{tabindex:0}));function k(){return l.value.$el||l.value}function x(){s=sa(k(),e.scrollTarget),s.addEventListener("scroll",b,H.passive)}function S(){void 0!==s&&(s.removeEventListener("scroll",b,H.passive),s=void 0)}function C(){let n=v("list"===e.type?"div":"tbody",_.value.map(t.default));return void 0!==t.before&&(n=t.before().concat(n)),pt(t.after,n)}return r(u,(()=>{d()})),r((()=>e.scrollTarget),(()=>{S(),x()})),f((()=>{d()})),m((()=>{x()})),h((()=>{x()})),p((()=>{S()})),g((()=>{S()})),()=>{if(void 0!==t.default)return"__qtable"===e.type?bc({ref:l,class:"q-table__middle "+y.value},C()):n(_c[e.type],{...o,ref:l,class:[o.class,y.value],...w.value},C);console.error("QVirtualScroll: default scoped slot is required for rendering")}}});var kc={sortMethod:Function,binaryStateSort:Boolean,columnSortOrder:{type:String,validator:e=>"ad"===e||"da"===e,default:"ad"}};function xc(e,t,n,a){let r=i((()=>{let{sortBy:e}=t.value;return e&&n.value.find((t=>t.name===e))||null})),o=i((()=>void 0!==e.sortMethod?e.sortMethod:(e,t,a)=>{let i=n.value.find((e=>e.name===t));if(void 0===i||void 0===i.field)return e;let r=!0===a?-1:1,o="function"==typeof i.field?e=>i.field(e):e=>e[i.field];return e.sort(((e,t)=>{let n=o(e),a=o(t);return void 0!==i.rawSort?i.rawSort(n,a,e,t)*r:null==n?-1*r:null==a?1*r:void 0!==i.sort?i.sort(n,a,e,t)*r:!0===Fe(n)&&!0===Fe(a)?(n-a)*r:!0===$e(n)&&!0===$e(a)?function(e,t){return new Date(e)-new Date(t)}(n,a)*r:"boolean"==typeof n&&"boolean"==typeof a?(n-a)*r:([n,a]=[n,a].map((e=>(e+"").toLocaleString().toLowerCase())),ne.name===i));void 0!==e&&e.sortOrder&&(r=e.sortOrder)}let{sortBy:o,descending:s}=t.value;o!==i?(o=i,s="da"===r):!0===e.binaryStateSort?s=!s:!0===s?"ad"===r?o=null:s=!1:"ad"===r?s=!0:o=null,a({sortBy:o,descending:s,page:1})}}}var Sc={filter:[String,Object],filterMethod:Function};function Cc(e){return e.page<1&&(e.page=1),void 0!==e.rowsPerPage&&e.rowsPerPage<1&&(e.rowsPerPage=0),e}var Ec={pagination:Object,rowsPerPageOptions:{type:Array,default:()=>[5,7,10,15,20,25,50,0]},"onUpdate:pagination":[Function,Array]};var Tc={selection:{type:String,default:"none",validator:e=>["single","multiple","none"].includes(e)},selected:{type:Array,default:()=>[]}};function Ac(e){return Array.isArray(e)?e.slice():[]}var Mc={expanded:Array};var Pc={visibleColumns:Array};var Lc="q-table__bottom row items-center",Oc={};Au.forEach((e=>{Oc[e]={}}));var Nc=F({name:"QTable",props:{rows:{type:Array,required:!0},rowKey:{type:[String,Function],default:"id"},columns:Array,loading:Boolean,iconFirstPage:String,iconPrevPage:String,iconNextPage:String,iconLastPage:String,title:String,hideHeader:Boolean,grid:Boolean,gridHeader:Boolean,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,separator:{type:String,default:"horizontal",validator:e=>["horizontal","vertical","cell","none"].includes(e)},wrapCells:Boolean,virtualScroll:Boolean,virtualScrollTarget:{},...Oc,noDataLabel:String,noResultsLabel:String,loadingLabel:String,selectedRowsLabel:Function,rowsPerPageLabel:String,paginationLabel:Function,color:{type:String,default:"grey-8"},titleClass:[String,Array,Object],tableStyle:[String,Array,Object],tableClass:[String,Array,Object],tableHeaderStyle:[String,Array,Object],tableHeaderClass:[String,Array,Object],cardContainerClass:[String,Array,Object],cardContainerStyle:[String,Array,Object],cardStyle:[String,Array,Object],cardClass:[String,Array,Object],hideBottom:Boolean,hideSelectedBanner:Boolean,hideNoData:Boolean,hidePagination:Boolean,onRowClick:Function,onRowDblclick:Function,onRowContextmenu:Function,...Rt,...Ei,...Pc,...Sc,...Ec,...Mc,...Tc,...kc},emits:["request","virtualScroll",...Ti,"update:expanded","update:selected","selection"],setup(e,{slots:t,emit:o}){let s=k(),{proxy:{$q:l}}=s,u=It(e,l),{inFullscreen:c,toggleFullscreen:h}=Ai(),p=i((()=>"function"==typeof e.rowKey?e.rowKey:t=>t[e.rowKey])),f=a(null),m=a(null),g=i((()=>!0!==e.grid&&!0===e.virtualScroll)),v=i((()=>" q-table__card"+(!0===u.value?" q-table__card--dark q-dark":"")+(!0===e.square?" q-table--square":"")+(!0===e.flat?" q-table--flat":"")+(!0===e.bordered?" q-table--bordered":""))),b=i((()=>`q-table__container q-table--${e.separator}-separator column no-wrap`+(!0===e.grid?" q-table--grid":v.value)+(!0===u.value?" q-table--dark":"")+(!0===e.dense?" q-table--dense":"")+(!1===e.wrapCells?" q-table--no-wrap":"")+(!0===c.value?" fullscreen scroll":""))),_=i((()=>b.value+(!0===e.loading?" q-table--loading":"")));r((()=>e.tableStyle+e.tableClass+e.tableHeaderStyle+e.tableHeaderClass+b.value),(()=>{!0===g.value&&null!==m.value&&m.value.reset()}));let{innerPagination:y,computedPagination:w,isServerSide:x,requestServerInteraction:S,setPagination:C}=function(e,t){let{props:n,emit:r}=e,o=a(Object.assign({sortBy:null,descending:!1,page:1,rowsPerPage:0!==n.rowsPerPageOptions.length?n.rowsPerPageOptions[0]:5},n.pagination)),s=i((()=>Cc(void 0!==n["onUpdate:pagination"]?{...o.value,...n.pagination}:o.value))),l=i((()=>void 0!==s.value.rowsNumber));function u(e){c({pagination:e,filter:n.filter})}function c(e={}){d((()=>{r("request",{pagination:e.pagination||s.value,filter:e.filter||n.filter,getCellValue:t})}))}return{innerPagination:o,computedPagination:s,isServerSide:l,requestServerInteraction:c,setPagination:function(e,t){let a=Cc({...s.value,...e});!0!==function(e,t){for(let n in t)if(t[n]!==e[n])return!1;return!0}(s.value,a)?!0!==l.value?void 0!==n.pagination&&void 0!==n["onUpdate:pagination"]?r("update:pagination",a):o.value=a:u(a):!0===l.value&&!0===t&&u(a)}}}(s,ve),{computedFilterMethod:E}=function(e,t){let n=i((()=>void 0!==e.filterMethod?e.filterMethod:(e,t,n,a)=>{let i=t?t.toLowerCase():"";return e.filter((e=>n.some((t=>{let n=a(t,e)+"";return-1!==("undefined"===n||"null"===n?"":n.toLowerCase()).indexOf(i)}))))}));return r((()=>e.filter),(()=>{d((()=>{t({page:1},!0)}))}),{deep:!0}),{computedFilterMethod:n}}(e,C),{isRowExpanded:T,setExpanded:A,updateExpanded:M}=function(e,t){let n=a(Ac(e.expanded));function i(a){void 0!==e.expanded?t("update:expanded",a):n.value=a}return r((()=>e.expanded),(e=>{n.value=Ac(e)})),{isRowExpanded:function(e){return n.value.includes(e)},setExpanded:i,updateExpanded:function(e,t){let a=n.value.slice(),r=a.indexOf(e);!0===t?-1===r&&(a.push(e),i(a)):-1!==r&&(a.splice(r,1),i(a))}}}(e,o),P=i((()=>{let t=e.rows;if(!0===x.value||0===t.length)return t;let{sortBy:n,descending:a}=w.value;return e.filter&&(t=E.value(t,e.filter,H.value,ve)),null!==Q.value&&(t=K.value(e.rows===t?t.slice():t,n,a)),t})),L=i((()=>P.value.length)),O=i((()=>{let t=P.value;if(!0===x.value)return t;let{rowsPerPage:n}=w.value;return 0!==n&&(0===Z.value&&e.rows!==t?t.length>J.value&&(t=t.slice(0,J.value)):t=t.slice(Z.value,J.value)),t})),{hasSelectionMode:I,singleSelection:z,multipleSelection:q,allRowsSelected:D,someRowsSelected:j,rowsSelectedNumber:$,isRowSelected:B,clearSelection:F,updateSelection:V}=function(e,t,n,a){let r=i((()=>{let t={};return e.selected.map(a.value).forEach((e=>{t[e]=!0})),t})),o=i((()=>"none"!==e.selection)),s=i((()=>"single"===e.selection)),l=i((()=>"multiple"===e.selection)),u=i((()=>0!==n.value.length&&n.value.every((e=>!0===r.value[a.value(e)])))),c=i((()=>!0!==u.value&&n.value.some((e=>!0===r.value[a.value(e)])))),d=i((()=>e.selected.length));return{hasSelectionMode:o,singleSelection:s,multipleSelection:l,allRowsSelected:u,someRowsSelected:c,rowsSelectedNumber:d,isRowSelected:function(e){return!0===r.value[e]},clearSelection:function(){t("update:selected",[])},updateSelection:function(n,i,r,o){t("selection",{rows:i,added:r,keys:n,evt:o});let l=!0===s.value?!0===r?i:[]:!0===r?e.selected.concat(i):e.selected.filter((e=>!1===n.includes(a.value(e))));t("update:selected",l)}}}(e,o,O,p),{colList:U,computedCols:H,computedColsMap:W,computedColspan:Y}=function(e,t,n){let a=i((()=>{if(void 0!==e.columns)return e.columns;let t=e.rows[0];return void 0!==t?Object.keys(t).map((e=>({name:e,label:e.toUpperCase(),field:e,align:Fe(t[e])?"right":"left",sortable:!0}))):[]})),r=i((()=>{let{sortBy:n,descending:i}=t.value;return(void 0!==e.visibleColumns?a.value.filter((t=>!0===t.required||!0===e.visibleColumns.includes(t.name))):a.value).map((e=>{let t=e.align||"right",a=`text-${t}`;return{...e,align:t,__iconClass:`q-table__sort-icon q-table__sort-icon--${t}`,__thClass:a+(void 0!==e.headerClasses?" "+e.headerClasses:"")+(!0===e.sortable?" sortable":"")+(e.name===n?" sorted "+(!0===i?"sort-desc":""):""),__tdStyle:void 0!==e.style?"function"!=typeof e.style?()=>e.style:e.style:()=>null,__tdClass:void 0!==e.classes?"function"!=typeof e.classes?()=>a+" "+e.classes:t=>a+" "+e.classes(t):()=>a}}))})),o=i((()=>{let e={};return r.value.forEach((t=>{e[t.name]=t})),e})),s=i((()=>void 0!==e.tableColspan?e.tableColspan:r.value.length+(!0===n.value?1:0)));return{colList:a,computedCols:r,computedColsMap:o,computedColspan:s}}(e,w,I),{columnToSort:Q,computedSortMethod:K,sort:G}=xc(e,w,U,C),{firstRowIndex:Z,lastRowIndex:J,isFirstPage:X,isLastPage:ee,pagesNumber:te,computedRowsPerPageOptions:ne,computedRowsNumber:ae,firstPage:ie,prevPage:re,nextPage:oe,lastPage:se}=function(e,t,n,a,o,s){let{props:l,emit:u,proxy:{$q:c}}=e,d=i((()=>!0===a.value?n.value.rowsNumber||0:s.value)),h=i((()=>{let{page:e,rowsPerPage:t}=n.value;return(e-1)*t})),p=i((()=>{let{page:e,rowsPerPage:t}=n.value;return e*t})),f=i((()=>1===n.value.page)),m=i((()=>0===n.value.rowsPerPage?1:Math.max(1,Math.ceil(d.value/n.value.rowsPerPage)))),g=i((()=>0===p.value||n.value.page>=m.value)),v=i((()=>(l.rowsPerPageOptions.includes(t.value.rowsPerPage)?l.rowsPerPageOptions:[t.value.rowsPerPage].concat(l.rowsPerPageOptions)).map((e=>({label:0===e?c.lang.table.allRows:""+e,value:e})))));return r(m,((e,t)=>{if(e===t)return;let a=n.value.page;e&&!a?o({page:1}):e1&&o({page:e-1})},nextPage:function(){let{page:e,rowsPerPage:t}=n.value;p.value>0&&e*t0===O.value.length)),ue=i((()=>{let t={};return Au.forEach((n=>{t[n]=e[n]})),void 0===t.virtualScrollItemSize&&(t.virtualScrollItemSize=!0===e.dense?28:48),t}));function ce(){if(!0===e.grid)return function(){let a=void 0!==t.item?t.item:a=>{let i=a.cols.map((e=>n("div",{class:"q-table__grid-item-row"},[n("div",{class:"q-table__grid-item-title"},[e.label]),n("div",{class:"q-table__grid-item-value"},[e.value])])));if(!0===I.value){let r=t["body-selection"],o=void 0!==r?r(a):[n($i,{modelValue:a.selected,color:e.color,dark:u.value,dense:e.dense,"onUpdate:modelValue":(e,t)=>{V([a.key],[a.row],e,t)}})];i.unshift(n("div",{class:"q-table__grid-item-row"},o),n(xs,{dark:u.value}))}let r={class:["q-table__grid-item-card"+v.value,e.cardClass],style:e.cardStyle};return(void 0!==e.onRowClick||void 0!==e.onRowDblclick)&&(r.class[0]+=" cursor-pointer",void 0!==e.onRowClick&&(r.onClick=e=>{o("RowClick",e,a.row,a.pageIndex)}),void 0!==e.onRowDblclick&&(r.onDblclick=e=>{o("RowDblclick",e,a.row,a.pageIndex)})),n("div",{class:"q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3"+(!0===a.selected?" q-table__grid-item--selected":"")},[n("div",r,i)])};return n("div",{class:["q-table__grid-content row",e.cardContainerClass],style:e.cardContainerStyle},O.value.map(((e,t)=>a(me({key:p.value(e),row:e,pageIndex:t})))))}();let a=!0!==e.hideHeader?we:null;if(!0===g.value){let i=t["top-row"],r=t["bottom-row"],o={default:e=>pe(e.item,t.body,e.index)};if(void 0!==i){let e=n("tbody",i({cols:H.value}));o.before=null===a?()=>e:()=>[a()].concat(e)}else null!==a&&(o.before=a);return void 0!==r&&(o.after=()=>n("tbody",r({cols:H.value}))),n(wc,{ref:m,class:e.tableClass,style:e.tableStyle,...ue.value,scrollTarget:e.virtualScrollTarget,items:O.value,type:"__qtable",tableColspan:Y.value,onVirtualScroll:de},o)}let i=[fe()];return null!==a&&i.unshift(a()),bc({class:["q-table__middle scroll",e.tableClass],style:e.tableStyle},i)}function de(e){o("virtualScroll",e)}function he(){return[n(iu,{class:"q-table__linear-progress",color:e.color,dark:u.value,indeterminate:!0,trackColor:"transparent"})]}function pe(a,i,r){let s=p.value(a),l=B(s);if(void 0!==i)return i(me({key:s,row:a,pageIndex:r,__trClass:l?"selected":""}));let c=t["body-cell"],d=H.value.map((e=>{let i=t[`body-cell-${e.name}`],o=void 0!==i?i:c;return void 0!==o?o(function(e){return ge(e),N(e,"value",(()=>ve(e.col,e.row))),e}({key:s,row:a,pageIndex:r,col:e})):n("td",{class:e.__tdClass(a),style:e.__tdStyle(a)},ve(e,a))}));if(!0===I.value){let i=t["body-selection"],o=void 0!==i?i(function(e){return ge(e),e}({key:s,row:a,pageIndex:r})):[n($i,{modelValue:l,color:e.color,dark:u.value,dense:e.dense,"onUpdate:modelValue":(e,t)=>{V([s],[a],e,t)}})];d.unshift(n("td",{class:"q-table--col-auto-width"},o))}let h={key:s,class:{selected:l}};return void 0!==e.onRowClick&&(h.class["cursor-pointer"]=!0,h.onClick=e=>{o("rowClick",e,a,r)}),void 0!==e.onRowDblclick&&(h.class["cursor-pointer"]=!0,h.onDblclick=e=>{o("rowDblclick",e,a,r)}),void 0!==e.onRowContextmenu&&(h.class["cursor-pointer"]=!0,h.onContextmenu=e=>{o("rowContextmenu",e,a,r)}),n("tr",h,d)}function fe(){let e=t.body,a=t["top-row"],i=t["bottom-row"],r=O.value.map(((t,n)=>pe(t,e,n)));return void 0!==a&&(r=a({cols:H.value}).concat(r)),void 0!==i&&(r=r.concat(i({cols:H.value}))),n("tbody",r)}function me(e){return ge(e),e.cols=e.cols.map((t=>N({...t},"value",(()=>ve(t,e.row))))),e}function ge(t){Object.assign(t,{cols:H.value,colsMap:W.value,sort:G,rowIndex:Z.value+t.pageIndex,color:e.color,dark:u.value,dense:e.dense}),!0===I.value&&N(t,"selected",(()=>B(t.key)),((e,n)=>{V([t.key],[t.row],e,n)})),N(t,"expand",(()=>T(t.key)),(e=>{M(t.key,e)}))}function ve(e,t){let n="function"==typeof e.field?e.field(t):t[e.field];return void 0!==e.format?e.format(n,t):n}let be=i((()=>({pagination:w.value,pagesNumber:te.value,isFirstPage:X.value,isLastPage:ee.value,firstPage:ie,prevPage:re,nextPage:oe,lastPage:se,inFullscreen:c.value,toggleFullscreen:h})));function _e(){let a,i=t.top,r=t["top-left"],o=t["top-right"],s=t["top-selection"],l=!0===I.value&&void 0!==s&&$.value>0,u="q-table__top relative-position row items-center";return void 0!==i?n("div",{class:u},[i(be.value)]):(!0===l?a=s(be.value).slice():(a=[],void 0!==r?a.push(n("div",{class:"q-table__control"},[r(be.value)])):e.title&&a.push(n("div",{class:"q-table__control"},[n("div",{class:["q-table__title",e.titleClass]},e.title)]))),void 0!==o&&(a.push(n("div",{class:"q-table__separator col"})),a.push(n("div",{class:"q-table__control"},[o(be.value)]))),0!==a.length?n("div",{class:u},a):void 0)}let ye=i((()=>!0===j.value?null:D.value));function we(){let a=function(){let a=t.header,i=t["header-cell"];if(void 0!==a)return a(ke({header:!0})).slice();let r=H.value.map((e=>{let a=t[`header-cell-${e.name}`],r=void 0!==a?a:i,o=ke({col:e});return void 0!==r?r(o):n(vc,{key:e.name,props:o},(()=>e.label))}));if(!0===z.value&&!0!==e.grid)r.unshift(n("th",{class:"q-table--col-auto-width"}," "));else if(!0===q.value){let a=t["header-selection"],i=void 0!==a?a(ke({})):[n($i,{color:e.color,modelValue:ye.value,dark:u.value,dense:e.dense,"onUpdate:modelValue":xe})];r.unshift(n("th",{class:"q-table--col-auto-width"},i))}return[n("tr",{class:e.tableHeaderClass,style:e.tableHeaderStyle},r)]}();return!0===e.loading&&void 0===t.loading&&a.push(n("tr",{class:"q-table__progress"},[n("th",{class:"relative-position",colspan:Y.value},he())])),n("thead",a)}function ke(t){return Object.assign(t,{cols:H.value,sort:G,colsMap:W.value,color:e.color,dark:u.value,dense:e.dense}),!0===q.value&&N(t,"selected",(()=>ye.value),xe),t}function xe(e){!0===j.value&&(e=!1),V(O.value.map(p.value),O.value,e)}let Se=i((()=>{let t=[e.iconFirstPage||l.iconSet.table.firstPage,e.iconPrevPage||l.iconSet.table.prevPage,e.iconNextPage||l.iconSet.table.nextPage,e.iconLastPage||l.iconSet.table.lastPage];return!0===l.lang.rtl?t.reverse():t}));function Ce(){if(!0===e.hideBottom)return;if(!0===le.value){if(!0===e.hideNoData)return;let a=!0===e.loading?e.loadingLabel||l.lang.table.loading:e.filter?e.noResultsLabel||l.lang.table.noResults:e.noDataLabel||l.lang.table.noData,i=t["no-data"],r=void 0!==i?[i({message:a,icon:l.iconSet.table.warning,filter:e.filter})]:[n(Pt,{class:"q-table__bottom-nodata-icon",name:l.iconSet.table.warning}),a];return n("div",{class:Lc+" q-table__bottom--nodata"},r)}let a=t.bottom;if(void 0!==a)return n("div",{class:Lc},[a(be.value)]);let i=!0!==e.hideSelectedBanner&&!0===I.value&&$.value>0?[n("div",{class:"q-table__control"},[n("div",[(e.selectedRowsLabel||l.lang.table.selectedRecords)($.value)])])]:[];return!0!==e.hidePagination?n("div",{class:Lc+" justify-end"},function(a){let i,{rowsPerPage:r}=w.value,o=e.paginationLabel||l.lang.table.pagination,s=t.pagination,c=e.rowsPerPageOptions.length>1;if(a.push(n("div",{class:"q-table__separator col"})),!0===c&&a.push(n("div",{class:"q-table__control"},[n("span",{class:"q-table__bottom-item"},[e.rowsPerPageLabel||l.lang.table.recordsPerPage]),n(Ru,{class:"q-table__select inline q-table__bottom-item",color:e.color,modelValue:r,options:ne.value,displayValue:0===r?l.lang.table.allRows:r,dark:u.value,borderless:!0,dense:!0,optionsDense:!0,optionsCover:!0,"onUpdate:modelValue":Ee})])),void 0!==s)i=s(be.value);else if(i=[n("span",0!==r?{class:"q-table__bottom-item"}:{},[r?o(Z.value+1,Math.min(J.value,ae.value),ae.value):o(1,L.value,ae.value)])],0!==r&&te.value>1){let t={color:e.color,round:!0,dense:!0,flat:!0};!0===e.dense&&(t.size="sm"),te.value>2&&i.push(n(Mn,{key:"pgFirst",...t,icon:Se.value[0],disable:X.value,onClick:ie})),i.push(n(Mn,{key:"pgPrev",...t,icon:Se.value[1],disable:X.value,onClick:re}),n(Mn,{key:"pgNext",...t,icon:Se.value[2],disable:ee.value,onClick:oe})),te.value>2&&i.push(n(Mn,{key:"pgLast",...t,icon:Se.value[3],disable:ee.value,onClick:se}))}return a.push(n("div",{class:"q-table__control"},i)),a}(i)):0!==i.length?n("div",{class:Lc},i):void 0}function Ee(e){C({page:1,rowsPerPage:e.value})}return Object.assign(s.proxy,{requestServerInteraction:S,setPagination:C,firstPage:ie,prevPage:re,nextPage:oe,lastPage:se,isRowSelected:B,clearSelection:F,isRowExpanded:T,setExpanded:A,sort:G,resetVirtualScroll:function(){!0===g.value&&m.value.reset()},scrollTo:function(t,n){if(null!==m.value)return void m.value.scrollTo(t,n);t=parseInt(t,10);let a=f.value.querySelector(`tbody tr:nth-of-type(${t+1})`);if(null!==a){let n=f.value.querySelector(".q-table__middle.scroll"),i=a.offsetTop-e.virtualScrollStickySizeStart,r=iP.value,computedRows:()=>O.value,computedRowsNumber:()=>ae.value}),()=>{let a=[_e()],i={ref:f,class:_.value};return!0===e.grid?a.push(function(){let a=!0===e.gridHeader?[n("table",{class:"q-table"},[we()])]:!0===e.loading&&void 0===t.loading?he():void 0;return n("div",{class:"q-table__middle"},a)}()):Object.assign(i,{class:[i.class,e.cardClass],style:e.cardStyle}),a.push(ce(),Ce()),!0===e.loading&&void 0!==t.loading&&a.push(t.loading()),n("div",i,a)}}}),Rc=F({name:"QTr",props:{props:Object,noHover:Boolean},setup(e,{slots:t}){let a=i((()=>"q-tr"+(void 0===e.props||!0===e.props.header?"":" "+e.props.__trClass)+(!0===e.noHover?" q-tr--no-hover":"")));return()=>n("tr",{class:a.value},dt(t.default))}}),Ic=F({name:"QTd",props:{props:Object,autoWidth:Boolean,noHover:Boolean},setup(e,{slots:t}){let a=k(),r=i((()=>"q-td"+(!0===e.autoWidth?" q-table--col-auto-width":"")+(!0===e.noHover?" q-td--no-hover":"")+" "));return()=>{if(void 0===e.props)return n("td",{class:r.value},dt(t.default));let i=a.vnode.key,o=(void 0!==e.props.colsMap?e.props.colsMap[i]:null)||e.props.col;if(void 0===o)return;let{row:s}=e.props;return n("td",{class:r.value+o.__tdClass(s),style:o.__tdStyle(s)},dt(t.default))}}}),zc=F({name:"QRouteTab",props:{...en,...mr},emits:fr,setup(e,{slots:t,emit:n}){let a=tn({useDisableForRouterLinkProps:!1}),{renderTab:o,$tabs:s}=gr(e,t,n,{exact:i((()=>e.exact)),...a});return r((()=>`${e.name} | ${e.exact} | ${(a.resolvedLink.value||{}).href}`),s.verifyRouteModel),()=>o(a.linkTag.value,a.linkAttrs.value)}});function qc(){let e=new Date;return{hour:e.getHours(),minute:e.getMinutes(),second:e.getSeconds(),millisecond:e.getMilliseconds()}}var Dc=F({name:"QTime",props:{...Rt,...ii,...Gr,modelValue:{required:!0,validator:e=>"string"==typeof e||null===e},mask:{...Gr.mask,default:null},format24h:{type:Boolean,default:null},defaultDate:{type:String,validator:e=>/^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(e)},options:Function,hourOptions:Array,minuteOptions:Array,secondOptions:Array,withSeconds:Boolean,nowBtn:Boolean},emits:Zr,setup(e,{slots:t,emit:o}){let s,l,u=k(),{$q:c}=u.proxy,h=It(e,c),{tabindex:p,headerClass:f,getLocale:m,getCurrentDate:g}=Xr(e,c),v=oi(ri(e)),b=a(null),_=i((()=>"persian"!==e.calendar&&null!==e.mask?e.mask:"HH:mm"+(!0===e.withSeconds?":ss":""))),y=i((()=>m())),w=i((()=>function(){if("string"!=typeof e.defaultDate){let e=g(!0);return e.dateHash=Jr(e),e}return po(e.defaultDate,"YYYY/MM/DD",void 0,e.calendar)}())),x=po(e.modelValue,_.value,y.value,e.calendar,w.value),C=a(function(e,t){if(null!==e.hour){if(null===e.minute)return"minute";if(!0===t&&null===e.second)return"second"}return"hour"}(x)),E=a(x),T=a(null===x.hour||x.hour<12),A=i((()=>"q-time q-time--"+(!0===e.landscape?"landscape":"portrait")+(!0===h.value?" q-time--dark q-dark":"")+(!0===e.disable?" disabled":!0===e.readonly?" q-time--readonly":"")+(!0===e.bordered?" q-time--bordered":"")+(!0===e.square?" q-time--square no-border-radius":"")+(!0===e.flat?" q-time--flat no-shadow":""))),P=i((()=>{let e=E.value;return{hour:null===e.hour?"--":!0===L.value?et(e.hour):String(!0===T.value?0===e.hour?12:e.hour:e.hour>12?e.hour-12:e.hour),minute:null===e.minute?"--":et(e.minute),second:null===e.second?"--":et(e.second)}})),L=i((()=>null!==e.format24h?e.format24h:c.lang.date.format24h)),O=i((()=>{let e="hour"===C.value,t=!0===e?12:60,n=E.value[C.value],a=`rotate(${Math.round(n*(360/t))-180}deg) translateX(-50%)`;return!0===e&&!0===L.value&&E.value.hour>=12&&(a+=" scale(.7)"),{transform:a}})),N=i((()=>null!==E.value.hour)),R=i((()=>!0===N.value&&null!==E.value.minute)),I=i((()=>void 0!==e.hourOptions?t=>e.hourOptions.includes(t):void 0!==e.options?t=>e.options(t,null,null):null)),z=i((()=>void 0!==e.minuteOptions?t=>e.minuteOptions.includes(t):void 0!==e.options?t=>e.options(E.value.hour,t,null):null)),q=i((()=>void 0!==e.secondOptions?t=>e.secondOptions.includes(t):void 0!==e.options?t=>e.options(E.value.hour,E.value.minute,t):null)),D=i((()=>{if(null===I.value)return null;let e=H(0,11,I.value),t=H(12,11,I.value);return{am:e,pm:t,values:e.values.concat(t.values)}})),j=i((()=>null!==z.value?H(0,59,z.value):null)),$=i((()=>null!==q.value?H(0,59,q.value):null)),B=i((()=>{switch(C.value){case"hour":return D.value;case"minute":return j.value;case"second":return $.value}})),F=i((()=>{let e,t,n=0,a=1,i=null!==B.value?B.value.values:void 0;"hour"===C.value?!0===L.value?(e=0,t=23):(e=0,t=11,!1===T.value&&(n=12)):(e=0,t=55,a=5);let r=[];for(let o=e,s=e;o<=t;o+=a,s++){let e=o+n,t=void 0!==i&&!1===i.includes(e),a="hour"===C.value&&0===o?!0===L.value?"00":"12":o;r.push({val:e,index:s,disable:t,label:a})}return r})),V=i((()=>[[Ki,Z,void 0,{stop:!0,prevent:!0,mouse:!0}]]));function U(){let e={...g(),...qc()};ge(e),Object.assign(E.value,e),C.value="hour"}function H(e,t,n){let a=Array.apply(null,{length:t+1}).map(((t,a)=>{let i=a+e;return{index:i,val:!0===n(i)}})).filter((e=>!0===e.val)).map((e=>e.index));return{min:a[0],max:a[a.length-1],values:a,threshold:t+1}}function W(e,t,n){let a=Math.abs(e-t);return Math.min(a,n-a)}function Y(e,{min:t,max:n,values:a,threshold:i}){if(e===t)return t;if(en)return W(e,t,i)<=W(e,n,i)?t:n;let r=a.findIndex((t=>e<=t)),o=a[r-1],s=a[r];return e-o<=s-e?o:s}function K(){return!0===Wt(u)||null!==B.value&&(0===B.value.values.length||"hour"===C.value&&!0!==L.value&&0===D.value[!0===T.value?"am":"pm"].values.length)}function G(){let e=b.value,{top:t,left:n,width:a}=e.getBoundingClientRect(),i=a/2;return{top:t+i,left:n+i,dist:.7*i}}function Z(e){if(!0!==K()){if(!0===e.isFirst)return s=G(),void(l=X(e.evt,s));l=X(e.evt,s,l),!0===e.isFinal&&(s=!1,l=null,J())}}function J(){"hour"===C.value?C.value="minute":e.withSeconds&&"minute"===C.value&&(C.value="second")}function X(e,t,n){let a,i=Q(e),r=Math.abs(i.top-t.top),o=Math.sqrt(Math.pow(Math.abs(i.top-t.top),2)+Math.pow(Math.abs(i.left-t.left),2)),s=Math.asin(r/o)*(180/Math.PI);if(s=i.top=t.dist:0!==D.value.am.values.length;a=Y(a+(!0===e?0:12),D.value[!0===e?"am":"pm"])}else a=Math.round(a),!0===L.value?oe.modelValue),(t=>{let n=po(t,_.value,y.value,e.calendar,w.value);(n.dateHash!==E.value.dateHash||n.timeHash!==E.value.timeHash)&&(E.value=n,null===n.hour?C.value="hour":T.value=n.hour<12)})),r([_,y],(()=>{d((()=>{ge()}))}));let ee={hour(){C.value="hour"},minute(){C.value="minute"},second(){C.value="second"}};function te(e){13===e.keyCode&&he()}function ne(e){13===e.keyCode&&pe()}function ae(e){!0!==K()&&(!0!==c.platform.is.desktop&&X(e,G()),J())}function ie(e){!0!==K()&&X(e,G())}function re(e){if(13===e.keyCode)C.value="hour";else if([37,39].includes(e.keyCode)){let t=37===e.keyCode?-1:1;if(null!==D.value){let e=!0===L.value?D.value.values:D.value[!0===T.value?"am":"pm"].values;if(0===e.length)return;if(null===E.value.hour)le(e[0]);else{let n=(e.length+e.indexOf(E.value.hour)+t)%e.length;le(e[n])}}else{let e=!0===L.value?24:12;le((!0!==L.value&&!1===T.value?12:0)+(24+(null===E.value.hour?-t:E.value.hour)+t)%e)}}}function oe(e){if(13===e.keyCode)C.value="minute";else if([37,39].includes(e.keyCode)){let t=37===e.keyCode?-1:1;if(null!==j.value){let e=j.value.values;if(0===e.length)return;if(null===E.value.minute)ue(e[0]);else{let n=(e.length+e.indexOf(E.value.minute)+t)%e.length;ue(e[n])}}else{ue((60+(null===E.value.minute?-t:E.value.minute)+t)%60)}}}function se(e){if(13===e.keyCode)C.value="second";else if([37,39].includes(e.keyCode)){let t=37===e.keyCode?-1:1;if(null!==$.value){let e=$.value.values;if(0===e.length)return;if(null===E.value.seconds)ce(e[0]);else{let n=(e.length+e.indexOf(E.value.second)+t)%e.length;ce(e[n])}}else{ce((60+(null===E.value.second?-t:E.value.second)+t)%60)}}}function le(e){E.value.hour!==e&&(E.value.hour=e,me())}function ue(e){E.value.minute!==e&&(E.value.minute=e,me())}function ce(e){E.value.second!==e&&(E.value.second=e,me())}let de={hour:le,minute:ue,second:ce};function he(){!1===T.value&&(T.value=!0,null!==E.value.hour&&(E.value.hour-=12,me()))}function pe(){!0===T.value&&(T.value=!1,null!==E.value.hour&&(E.value.hour+=12,me()))}function fe(t){let n=e.modelValue;C.value!==t&&null!=n&&""!==n&&"string"!=typeof n&&(C.value=t)}function me(){return null!==I.value&&!0!==I.value(E.value.hour)?(E.value=po(),void fe("hour")):null!==z.value&&!0!==z.value(E.value.minute)?(E.value.minute=null,E.value.second=null,void fe("minute")):!0===e.withSeconds&&null!==q.value&&!0!==q.value(E.value.second)?(E.value.second=null,void fe("second")):void(null===E.value.hour||null===E.value.minute||!0===e.withSeconds&&null===E.value.second||ge())}function ge(t){let n=Object.assign({...E.value},t),a="persian"===e.calendar?et(n.hour)+":"+et(n.minute)+(!0===e.withSeconds?":"+et(n.second):""):xo(new Date(n.year,null===n.month?null:n.month-1,n.day,n.hour,n.minute,n.second,n.millisecond),_.value,y.value,n.year,n.timezoneOffset);n.changed=a!==e.modelValue,o("update:modelValue",a,n)}function ve(){let t=[n("div",{class:"q-time__link "+("hour"===C.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onClick:ee.hour,onKeyup:re},P.value.hour),n("div",":"),n("div",!0===N.value?{class:"q-time__link "+("minute"===C.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onKeyup:oe,onClick:ee.minute}:{class:"q-time__link"},P.value.minute)];!0===e.withSeconds&&t.push(n("div",":"),n("div",!0===R.value?{class:"q-time__link "+("second"===C.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onKeyup:se,onClick:ee.second}:{class:"q-time__link"},P.value.second));let a=[n("div",{class:"q-time__header-label row items-center no-wrap",dir:"ltr"},t)];return!1===L.value&&a.push(n("div",{class:"q-time__header-ampm column items-between no-wrap"},[n("div",{class:"q-time__link "+(!0===T.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onClick:he,onKeyup:te},"AM"),n("div",{class:"q-time__link "+(!0!==T.value?"q-time__link--active":"cursor-pointer"),tabindex:p.value,onClick:pe,onKeyup:ne},"PM")])),n("div",{class:"q-time__header flex flex-center no-wrap "+f.value},a)}function be(){let t=E.value[C.value];return n("div",{class:"q-time__content col relative-position"},[n(S,{name:"q-transition--scale"},(()=>n("div",{key:"clock"+C.value,class:"q-time__container-parent absolute-full"},[n("div",{ref:b,class:"q-time__container-child fit overflow-hidden"},[M(n("div",{class:"q-time__clock cursor-pointer non-selectable",onClick:ae,onMousedown:ie},[n("div",{class:"q-time__clock-circle fit"},[n("div",{class:"q-time__clock-pointer"+(null===E.value[C.value]?" hidden":void 0!==e.color?` text-${e.color}`:""),style:O.value}),F.value.map((e=>n("div",{class:`q-time__clock-position row flex-center q-time__clock-pos-${e.index}`+(e.val===t?" q-time__clock-position--active "+f.value:!0===e.disable?" q-time__clock-position--disable":"")},[n("span",e.label)])))])]),V.value)])]))),!0===e.nowBtn?n(Mn,{class:"q-time__now-button absolute",icon:c.iconSet.datetime.now,unelevated:!0,size:"sm",round:!0,color:e.color,textColor:e.textColor,tabindex:p.value,onClick:U}):null])}return u.proxy.setNow=U,()=>{let a=[be()],i=dt(t.default);return void 0!==i&&a.push(n("div",{class:"q-time__actions"},i)),void 0!==e.name&&!0!==e.disable&&v(a,"push"),n("div",{class:A.value,tabindex:-1},[ve(),n("div",{class:"q-time__main col overflow-auto"},a)])}}}),jc=F({name:"QTimeline",props:{...Rt,color:{type:String,default:"primary"},side:{type:String,default:"right",validator:e=>["left","right"].includes(e)},layout:{type:String,default:"dense",validator:e=>["dense","comfortable","loose"].includes(e)}},setup(e,{slots:t}){let a=k(),r=It(e,a.proxy.$q);w(Te,e);let o=i((()=>`q-timeline q-timeline--${e.layout} q-timeline--${e.layout}--${e.side}`+(!0===r.value?" q-timeline--dark":"")));return()=>n("ul",{class:o.value},dt(t.default))}}),$c=F({name:"QTimelineEntry",props:{heading:Boolean,tag:{type:String,default:"h3"},side:{type:String,default:"right",validator:e=>["left","right"].includes(e)},icon:String,avatar:String,color:String,title:String,subtitle:String,body:String},setup(e,{slots:t}){let a=y(Te,Ie);if(a===Ie)return console.error("QTimelineEntry needs to be child of QTimeline"),Ie;let r=i((()=>`q-timeline__entry q-timeline__entry--${e.side}`+(void 0!==e.icon||void 0!==e.avatar?" q-timeline__entry--icon":""))),o=i((()=>`q-timeline__dot text-${e.color||a.color}`)),s=i((()=>"comfortable"===a.layout&&"left"===a.side));return()=>{let a,i=ht(t.default,[]);if(void 0!==e.body&&i.unshift(e.body),!0===e.heading){let t=[n("div"),n("div"),n(e.tag,{class:"q-timeline__heading-title"},i)];return n("div",{class:"q-timeline__heading"},!0===s.value?t.reverse():t)}void 0!==e.icon?a=[n(Pt,{class:"row items-center justify-center",name:e.icon})]:void 0!==e.avatar&&(a=[n("img",{class:"q-timeline__dot-img",src:e.avatar})]);let l=[n("div",{class:"q-timeline__subtitle"},[n("span",{},dt(t.subtitle,[e.subtitle]))]),n("div",{class:o.value},a),n("div",{class:"q-timeline__content"},[n("h6",{class:"q-timeline__title"},dt(t.title,[e.title]))].concat(i))];return n("li",{class:r.value},!0===s.value?l.reverse():l)}}}),Bc=F({name:"QToolbar",props:{inset:Boolean},setup(e,{slots:t}){let a=i((()=>"q-toolbar row no-wrap items-center"+(!0===e.inset?" q-toolbar--inset":"")));return()=>n("div",{class:a.value,role:"toolbar"},dt(t.default))}}),Fc=F({name:"QToolbarTitle",props:{shrink:Boolean},setup(e,{slots:t}){let a=i((()=>"q-toolbar__title ellipsis"+(!0===e.shrink?" col-shrink":"")));return()=>n("div",{class:a.value},dt(t.default))}}),Vc=["none","strict","leaf","leaf-filtered"],Uc=F({name:"QTree",props:{...Rt,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:"label"},childrenKey:{type:String,default:"children"},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:"none",validator:e=>Vc.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:["update:expanded","update:ticked","update:selected","lazyLoad","afterShow","afterHide"],setup(e,{slots:t,emit:o}){let{proxy:s}=k(),{$q:l}=s,u=It(e,l),c=a({}),h=a(e.ticked||[]),p=a(e.expanded||[]),f={};b((()=>{f={}}));let m=i((()=>"q-tree q-tree--"+(!0===e.dense?"dense":"standard")+(!0===e.noConnectors?" q-tree--no-connectors":"")+(!0===u.value?" q-tree--dark":"")+(void 0!==e.color?` text-${e.color}`:""))),g=i((()=>void 0!==e.selected)),v=i((()=>e.icon||l.iconSet.tree.icon)),_=i((()=>e.controlColor||e.color)),y=i((()=>void 0!==e.textColor?` text-${e.textColor}`:"")),w=i((()=>{let t=e.selectedColor||e.color;return t?` text-${t}`:""})),x=i((()=>void 0!==e.filterMethod?e.filterMethod:(t,n)=>{let a=n.toLowerCase();return t[e.labelKey]&&-1!==t[e.labelKey].toLowerCase().indexOf(a)})),S=i((()=>{let t={},n=(a,i)=>{let r=a.tickStrategy||(i?i.tickStrategy:e.tickStrategy),o=a[e.nodeKey],s=a[e.childrenKey]&&Array.isArray(a[e.childrenKey])&&0!==a[e.childrenKey].length,l=!0!==a.disabled&&!0===g.value&&!1!==a.selectable,u=!0!==a.disabled&&!1!==a.expandable,d="none"!==r,f="strict"===r,m="leaf-filtered"===r,v="leaf"===r||"leaf-filtered"===r,b=!0!==a.disabled&&!1!==a.tickable;!0===v&&!0===b&&i&&!0!==i.tickable&&(b=!1);let _=a.lazy;!0===_&&void 0!==c.value[o]&&!0===Array.isArray(a[e.childrenKey])&&(_=c.value[o]);let y={key:o,parent:i,isParent:s,lazy:_,disabled:a.disabled,link:!0!==a.disabled&&(!0===l||!0===u&&(!0===s||!0===_)),children:[],matchesFilter:!e.filter||x.value(a,e.filter),selected:o===e.selected&&!0===l,selectable:l,expanded:!0===s&&p.value.includes(o),expandable:u,noTick:!0===a.noTick||!0!==f&&_&&"loaded"!==_,tickable:b,tickStrategy:r,hasTicking:d,strictTicking:f,leafFilteredTicking:m,leafTicking:v,ticked:(!0===f||!0!==s)&&h.value.includes(o)};if(t[o]=y,!0===s&&(y.children=a[e.childrenKey].map((e=>n(e,y))),e.filter&&(!0!==y.matchesFilter?y.matchesFilter=y.children.some((e=>e.matchesFilter)):!0!==y.noTick&&!0!==y.disabled&&!0===y.tickable&&!0===m&&!0===y.children.every((e=>!0!==e.matchesFilter||!0===e.noTick||!0!==e.tickable))&&(y.tickable=!1)),!0===y.matchesFilter&&(!0!==y.noTick&&!0!==f&&!0===y.children.every((e=>e.noTick))&&(y.noTick=!0),v))){if(y.ticked=!1,y.indeterminate=y.children.some((e=>!0===e.indeterminate)),y.tickable=!0===y.tickable&&y.children.some((e=>e.tickable)),!0!==y.indeterminate){let e=y.children.reduce(((e,t)=>!0===t.ticked?e+1:e),0);e===y.children.length?y.ticked=!0:e>0&&(y.indeterminate=!0)}!0===y.indeterminate&&(y.indeterminateNextState=y.children.every((e=>!0!==e.tickable||!0!==e.ticked)))}return y};return e.nodes.forEach((e=>n(e,null))),t}));function C(t){let n=[].reduce,a=(i,r)=>i||!r?i:!0===Array.isArray(r)?n.call(Object(r),a,i):r[e.nodeKey]===t?r:r[e.childrenKey]?a(null,r[e.childrenKey]):void 0;return a(null,e.nodes)}function E(){let t=[],n=a=>{a[e.childrenKey]&&0!==a[e.childrenKey].length&&!1!==a.expandable&&!0!==a.disabled&&(t.push(a[e.nodeKey]),a[e.childrenKey].forEach(n))};e.nodes.forEach(n),void 0!==e.expanded?o("update:expanded",t):p.value=t}function T(t,n,a=C(t),i=S.value[t]){if(i.lazy&&"loaded"!==i.lazy){if("loading"===i.lazy)return;c.value[t]="loading",!0!==Array.isArray(a[e.childrenKey])&&(a[e.childrenKey]=[]),o("lazyLoad",{node:a,key:t,done:n=>{c.value[t]="loaded",a[e.childrenKey]=!0===Array.isArray(n)?n:[],d((()=>{let e=S.value[t];e&&!0===e.isParent&&A(t,!0)}))},fail:()=>{delete c.value[t],0===a[e.childrenKey].length&&delete a[e.childrenKey]}})}else!0===i.isParent&&!0===i.expandable&&A(t,n)}function A(t,n){let a=p.value,i=void 0!==e.expanded;if(!0===i&&(a=a.slice()),n){if(e.accordion&&S.value[t]){let n=[];S.value[t].parent?S.value[t].parent.children.forEach((e=>{e.key!==t&&!0===e.expandable&&n.push(e.key)})):e.nodes.forEach((a=>{let i=a[e.nodeKey];i!==t&&n.push(i)})),0!==n.length&&(a=a.filter((e=>!1===n.includes(e))))}a=a.concat([t]).filter(((e,t,n)=>n.indexOf(e)===t))}else a=a.filter((e=>e!==t));!0===i?o("update:expanded",a):p.value=a}function L(t,n){let a=h.value,i=void 0!==e.ticked;!0===i&&(a=a.slice()),a=n?a.concat(t).filter(((e,t,n)=>n.indexOf(e)===t)):a.filter((e=>!1===t.includes(e))),!0===i&&o("update:ticked",a)}function O(a){return(e.filter?a.filter((t=>S.value[t[e.nodeKey]].matchesFilter)):a).map((a=>function(a){let i=a[e.nodeKey],r=S.value[i],o=a.header&&t[`header-${a.header}`]||t["default-header"],l=!0===r.isParent?O(a[e.childrenKey]):[],c=0!==l.length||r.lazy&&"loaded"!==r.lazy,d=a.body&&t[`body-${a.body}`]||t["default-body"],h=void 0!==o||void 0!==d?function(t,n,a){let i={tree:s,node:t,key:a,color:e.color,dark:u.value};return N(i,"expanded",(()=>n.expanded),(e=>{e!==n.expanded&&T(a,e)})),N(i,"ticked",(()=>n.ticked),(e=>{e!==n.ticked&&L([a],e)})),i}(a,r,i):null;return void 0!==d&&(d=n("div",{class:"q-tree__node-body relative-position"},[n("div",{class:y.value},[d(h)])])),n("div",{key:i,class:"q-tree__node relative-position q-tree__node--"+(!0===c?"parent":"child")},[n("div",{class:"q-tree__node-header relative-position row no-wrap items-center"+(!0===r.link?" q-tree__node--link q-hoverable q-focusable":"")+(!0===r.selected?" q-tree__node--selected":"")+(!0===r.disabled?" q-tree__node--disabled":""),tabindex:!0===r.link?0:-1,ariaExpanded:l.length>0?r.expanded:null,role:"treeitem",onClick:e=>{D(a,r,e)},onKeypress(e){!0!==he(e)&&(13===e.keyCode?D(a,r,e,!0):32===e.keyCode&&j(a,r,e,!0))}},[n("div",{class:"q-focus-helper",tabindex:-1,ref:e=>{f[r.key]=e}}),"loading"===r.lazy?n(on,{class:"q-tree__spinner",color:_.value}):!0===c?n(Pt,{class:"q-tree__arrow"+(!0===r.expanded?" q-tree__arrow--rotate":""),name:v.value,onClick(e){j(a,r,e)}}):null,!0===r.hasTicking&&!0!==r.noTick?n($i,{class:"q-tree__tickbox",modelValue:!0===r.indeterminate?null:r.ticked,color:_.value,dark:u.value,dense:!0,keepColor:!0,disable:!0!==r.tickable,onKeydown:J,"onUpdate:modelValue":e=>{!function(e,t){if(!0===e.indeterminate&&(t=e.indeterminateNextState),e.strictTicking)L([e.key],t);else if(e.leafTicking){let n=[],a=e=>{e.isParent?(!0!==t&&!0!==e.noTick&&!0===e.tickable&&n.push(e.key),!0===e.leafTicking&&e.children.forEach(a)):!0!==e.noTick&&!0===e.tickable&&(!0!==e.leafFilteredTicking||!0===e.matchesFilter)&&n.push(e.key)};a(e),L(n,t)}}(r,e)}}):null,n("div",{class:"q-tree__node-header-content col row no-wrap items-center"+(!0===r.selected?w.value:y.value)},[o?o(h):[R(a),n("div",a[e.labelKey])]])]),!0===c?!0===e.noTransition?!0===r.expanded?n("div",{class:"q-tree__node-collapsible"+y.value,key:`${i}__q`},[d,n("div",{class:"q-tree__children"+(!0===r.disabled?" q-tree__node--disabled":""),role:"group"},l)]):null:n(ys,{duration:e.duration,onShow:I,onHide:z},(()=>M(n("div",{class:"q-tree__node-collapsible"+y.value,key:`${i}__q`},[d,n("div",{class:"q-tree__children"+(!0===r.disabled?" q-tree__node--disabled":""),role:"group"},l)]),[[P,r.expanded]]))):d])}(a)))}function R(e){if(void 0!==e.icon)return n(Pt,{class:"q-tree__icon q-mr-sm",name:e.icon,color:e.iconColor});let t=e.img||e.avatar;return t?n("img",{class:`q-tree__${e.img?"img":"avatar"} q-mr-sm`,src:t}):void 0}function I(){o("afterShow")}function z(){o("afterHide")}function q(e){let t=f[e];t&&t.focus()}function D(t,n,a,i){!0!==i&&!1!==n.selectable&&q(n.key),g.value&&n.selectable?!1===e.noSelectionUnset?o("update:selected",n.key!==e.selected?n.key:null):n.key!==e.selected&&o("update:selected",void 0===n.key?null:n.key):j(t,n,a,i),"function"==typeof t.handler&&t.handler(t)}function j(e,t,n,a){void 0!==n&&J(n),!0!==a&&!1!==t.selectable&&q(t.key),T(t.key,!t.expanded,e,t)}return r((()=>e.ticked),(e=>{h.value=e})),r((()=>e.expanded),(e=>{p.value=e})),!0===e.defaultExpandAll&&E(),Object.assign(s,{getNodeByKey:C,getTickedNodes:function(){return h.value.map((e=>C(e)))},getExpandedNodes:function(){return p.value.map((e=>C(e)))},isExpanded:function(e){return!(!e||!S.value[e])&&S.value[e].expanded},collapseAll:function(){void 0!==e.expanded?o("update:expanded",[]):p.value=[]},expandAll:E,setExpanded:T,isTicked:function(e){return!(!e||!S.value[e])&&S.value[e].ticked},setTicked:L}),()=>{let t=O(e.nodes);return n("div",{class:m.value,role:"tree"},0===t.length?e.filter?e.noResultsLabel||l.lang.tree.noResults:e.noNodesLabel||l.lang.tree.noNodes:t)}}});function Hc(e){return(100*e).toFixed(2)+"%"}var Wc={...Rt,...Qs,label:String,color:String,textColor:String,square:Boolean,flat:Boolean,bordered:Boolean,noThumbnails:Boolean,thumbnailFit:{type:String,default:"cover"},autoUpload:Boolean,hideUploadBtn:Boolean,disable:Boolean,readonly:Boolean},Yc=[...Ks,"start","finish","added","removed"];var Qc=()=>!0;function Kc(e){let t={};return e.forEach((e=>{t[e]=Qc})),t}var Gc=Kc(Yc),Zc=({name:e,props:t,emits:s,injectPlugin:l})=>F({name:e,props:{...Wc,...t},emits:!0===je(s)?{...Gc,...s}:[...Yc,...s],setup:(e,{expose:t})=>function(e,t){let s=k(),{props:l,slots:u,emit:c,proxy:d}=s,{$q:h}=d,p=It(l,h),f=i((()=>!0!==l.disable&&!0!==l.readonly)),m=a(!1),v=a(null),b=a(null),_={files:a([]),queuedFiles:a([]),uploadedFiles:a([]),uploadedSize:a(0),updateFileStatus:function(e,t,n){if(e.__status=t,"idle"===t)return e.__uploaded=0,e.__progress=0,e.__sizeLabel=Ge(e.size),void(e.__progressLabel="0.00%");"failed"!==t?(e.__uploaded="uploaded"===t?e.size:n,e.__progress="uploaded"===t?1:Math.min(.9999,e.__uploaded/e.size),e.__progressLabel=Hc(e.__progress),d.$forceUpdate()):d.$forceUpdate()},isAlive:()=>!1===Wt(s)},{pickFiles:y,addFiles:x,onDragover:S,onDragleave:C,processFiles:E,getDndNode:T,maxFilesNumber:A,maxTotalSizeNumber:M}=Gs({editable:f,dnd:m,getFileInput:W,addFilesToQueue:Y});Object.assign(_,e({props:l,slots:u,emit:c,helpers:_,exposeApi:e=>{Object.assign(_,e)}})),void 0===_.isBusy&&(_.isBusy=a(!1));let P=a(0),L=i((()=>0===P.value?0:_.uploadedSize.value/P.value)),O=i((()=>Hc(L.value))),I=i((()=>Ge(P.value))),z=i((()=>!0===f.value&&!0!==_.isUploading.value&&(!0===l.multiple||0===_.queuedFiles.value.length)&&(void 0===l.maxFiles||_.files.value.length!0===f.value&&!0!==_.isBusy.value&&!0!==_.isUploading.value&&0!==_.queuedFiles.value.length));w(Re,Z);let D=i((()=>"q-uploader column no-wrap"+(!0===p.value?" q-uploader--dark q-dark":"")+(!0===l.bordered?" q-uploader--bordered":"")+(!0===l.square?" q-uploader--square no-border-radius":"")+(!0===l.flat?" q-uploader--flat no-shadow":"")+(!0===l.disable?" disabled q-uploader--disable":"")+(!0===m.value?" q-uploader--dnd":""))),j=i((()=>"q-uploader__header"+(void 0!==l.color?` bg-${l.color}`:"")+(void 0!==l.textColor?` text-${l.textColor}`:"")));function $(){!1===l.disable&&(_.abort(),_.uploadedSize.value=0,P.value=0,H(),_.files.value=[],_.queuedFiles.value=[],_.uploadedFiles.value=[])}function B(){!1===l.disable&&V(["uploaded"],(()=>{_.uploadedFiles.value=[]}))}function F(){V(["idle","failed"],(({size:e})=>{P.value-=e,_.queuedFiles.value=[]}))}function V(e,t){if(!0===l.disable)return;let n={files:[],size:0},a=_.files.value.filter((t=>-1===e.indexOf(t.__status)||(n.size+=t.size,n.files.push(t),void 0!==t.__img&&window.URL.revokeObjectURL(t.__img.src),!1)));0!==n.files.length&&(_.files.value=a,t(n),c("removed",n.files))}function U(e){l.disable||("uploaded"===e.__status?_.uploadedFiles.value=_.uploadedFiles.value.filter((t=>t.__key!==e.__key)):"uploading"===e.__status?e.__abort():P.value-=e.size,_.files.value=_.files.value.filter((t=>t.__key!==e.__key||(void 0!==t.__img&&window.URL.revokeObjectURL(t.__img.src),!1))),_.queuedFiles.value=_.queuedFiles.value.filter((t=>t.__key!==e.__key)),c("removed",[e]))}function H(){_.files.value.forEach((e=>{void 0!==e.__img&&window.URL.revokeObjectURL(e.__img.src)}))}function W(){return b.value||v.value.getElementsByClassName("q-uploader__input")[0]}function Y(e,t){let n=E(e,t,_.files.value,!0),a=W();null!=a&&(a.value=""),void 0!==n&&(n.forEach((e=>{if(_.updateFileStatus(e,"idle"),P.value+=e.size,!0!==l.noThumbnails&&e.type.toUpperCase().startsWith("IMAGE")){let t=new Image;t.src=window.URL.createObjectURL(e),e.__img=t}})),_.files.value=_.files.value.concat(n),_.queuedFiles.value=_.queuedFiles.value.concat(n),c("added",n),!0===l.autoUpload&&_.upload())}function Q(){!0===q.value&&_.upload()}function K(e,t,a){if(!0===e){let e,i={type:"a",key:t,icon:h.iconSet.uploader[t],flat:!0,dense:!0};return"add"===t?(i.onClick=y,e=Z):i.onClick=a,n(Mn,i,e)}}function Z(){return n("input",{ref:b,class:"q-uploader__input overflow-hidden absolute-full",tabindex:-1,type:"file",title:"",accept:l.accept,multiple:!0===l.multiple?"multiple":void 0,capture:l.capture,onMousedown:G,onClick:y,onChange:Y})}r(_.isUploading,((e,t)=>{!1===t&&!0===e?c("start"):!0===t&&!1===e&&c("finish")})),g((()=>{!0===_.isUploading.value&&_.abort(),0!==_.files.value.length&&H()}));let J={};for(let e in _)!0===o(_[e])?N(J,e,(()=>_[e].value)):J[e]=_[e];return Object.assign(J,{upload:Q,reset:$,removeUploadedFiles:B,removeQueuedFiles:F,removeFile:U,pickFiles:y,addFiles:x}),R(J,{canAddFiles:()=>z.value,canUpload:()=>q.value,uploadSizeLabel:()=>I.value,uploadProgressLabel:()=>O.value}),t({..._,upload:Q,reset:$,removeUploadedFiles:B,removeQueuedFiles:F,removeFile:U,pickFiles:y,addFiles:x,canAddFiles:z,canUpload:q,uploadSizeLabel:I,uploadProgressLabel:O}),()=>{let e=[n("div",{class:j.value},void 0!==u.header?u.header(J):[n("div",{class:"q-uploader__header-content column"},[n("div",{class:"flex flex-center no-wrap q-gutter-xs"},[K(0!==_.queuedFiles.value.length,"removeQueue",F),K(0!==_.uploadedFiles.value.length,"removeUploaded",B),!0===_.isUploading.value?n(on,{class:"q-uploader__spinner"}):null,n("div",{class:"col column justify-center"},[void 0!==l.label?n("div",{class:"q-uploader__title"},[l.label]):null,n("div",{class:"q-uploader__subtitle"},[I.value+" / "+O.value])]),K(z.value,"add"),K(!1===l.hideUploadBtn&&!0===q.value,"upload",_.upload),K(_.isUploading.value,"clear",_.abort)])])]),n("div",{class:"q-uploader__list scroll"},void 0!==u.list?u.list(J):_.files.value.map((e=>n("div",{key:e.__key,class:"q-uploader__file relative-position"+(!0!==l.noThumbnails&&void 0!==e.__img?" q-uploader__file--img":"")+("failed"===e.__status?" q-uploader__file--failed":"uploaded"===e.__status?" q-uploader__file--uploaded":""),style:!0!==l.noThumbnails&&void 0!==e.__img?{backgroundImage:'url("'+e.__img.src+'")',backgroundSize:l.thumbnailFit}:null},[n("div",{class:"q-uploader__file-header row flex-center no-wrap"},["failed"===e.__status?n(Pt,{class:"q-uploader__file-status",name:h.iconSet.type.negative,color:"negative"}):null,n("div",{class:"q-uploader__file-header-content col"},[n("div",{class:"q-uploader__title"},[e.name]),n("div",{class:"q-uploader__subtitle row items-center no-wrap"},[e.__sizeLabel+" / "+e.__progressLabel])]),"uploading"===e.__status?n(Wi,{value:e.__progress,min:0,max:1,indeterminate:0===e.__progress}):n(Mn,{round:!0,dense:!0,flat:!0,icon:h.iconSet.uploader["uploaded"===e.__status?"done":"clear"],onClick:()=>{U(e)}})])])))),T("uploader")];!0===_.isBusy.value&&e.push(n("div",{class:"q-uploader__overlay absolute-full flex flex-center"},[n(on)]));let t={ref:v,class:D.value};return!0===z.value&&Object.assign(t,{onDragover:S,onDragleave:C}),n("div",t,e)}}(l,t)});function Jc(e){return"function"==typeof e?e:()=>e}var Xc={url:[Function,String],method:{type:[Function,String],default:"POST"},fieldName:{type:[Function,String],default:()=>e=>e.name},headers:[Function,Array],formFields:[Function,Array],withCredentials:[Function,Boolean],sendRaw:[Function,Boolean],batch:[Function,Boolean],factory:Function};var ed={name:"QUploader",props:Xc,emits:["factoryFailed","uploaded","failed","uploading"],injectPlugin:function({props:e,emit:t,helpers:n}){let r,o=a([]),s=a([]),l=a(0),u=i((()=>({url:Jc(e.url),method:Jc(e.method),headers:Jc(e.headers),formFields:Jc(e.formFields),fieldName:Jc(e.fieldName),withCredentials:Jc(e.withCredentials),sendRaw:Jc(e.sendRaw),batch:Jc(e.batch)})));function c(a){if(l.value++,"function"!=typeof e.factory)return void d(a,{});let i=e.factory(a);if(i)if("function"==typeof i.catch&&"function"==typeof i.then){s.value.push(i);let e=e=>{!0===n.isAlive()&&(s.value=s.value.filter((e=>e!==i)),0===s.value.length&&(r=!1),n.queuedFiles.value=n.queuedFiles.value.concat(a),a.forEach((e=>{n.updateFileStatus(e,"failed")})),t("factoryFailed",e,a),l.value--)};i.then((t=>{!0===r?e(new Error("Aborted")):!0===n.isAlive()&&(s.value=s.value.filter((e=>e!==i)),d(a,t))})).catch(e)}else d(a,i||{});else t("factoryFailed",new Error("QUploader: factory() does not return properly"),a),l.value--}function d(e,a){let i=new FormData,r=new XMLHttpRequest,s=(e,t)=>void 0!==a[e]?Jc(a[e])(t):u.value[e](t),c=s("url",e);if(!c)return console.error("q-uploader: invalid or no URL specified"),void l.value--;let d=s("formFields",e);void 0!==d&&d.forEach((e=>{i.append(e.name,e.value)}));let h,p=0,f=0,m=0,g=0;r.upload.addEventListener("progress",(t=>{if(!0===h)return;let a=Math.min(g,t.loaded);n.uploadedSize.value+=a-m,m=a;let i=m-f;for(let t=p;i>0&&ta.size))return void n.updateFileStatus(a,"uploading",i);i-=a.size,p++,f+=a.size,n.updateFileStatus(a,"uploading",a.size)}}),!1),r.onreadystatechange=()=>{r.readyState<4||(r.status&&r.status<400?(n.uploadedFiles.value=n.uploadedFiles.value.concat(e),e.forEach((e=>{n.updateFileStatus(e,"uploaded")})),t("uploaded",{files:e,xhr:r})):(h=!0,n.uploadedSize.value-=m,n.queuedFiles.value=n.queuedFiles.value.concat(e),e.forEach((e=>{n.updateFileStatus(e,"failed")})),t("failed",{files:e,xhr:r})),l.value--,o.value=o.value.filter((e=>e!==r)))},r.open(s("method",e),c),!0===s("withCredentials",e)&&(r.withCredentials=!0);let v=s("headers",e);void 0!==v&&v.forEach((e=>{r.setRequestHeader(e.name,e.value)}));let b=s("sendRaw",e);e.forEach((e=>{n.updateFileStatus(e,"uploading",0),!0!==b&&i.append(s("fieldName",e),e,e.name),e.xhr=r,e.__abort=()=>{r.abort()},g+=e.size})),t("uploading",{files:e,xhr:r}),o.value.push(r),!0===b?r.send(new Blob(e)):r.send(i)}return{isUploading:i((()=>l.value>0)),isBusy:i((()=>0!==s.value.length)),abort:function(){o.value.forEach((e=>{e.abort()})),0!==s.value.length&&(r=!0)},upload:function(){let e=n.queuedFiles.value.slice(0);n.queuedFiles.value=[],u.value.batch(e)?c(e):e.forEach((e=>{c([e])}))}}}},td=Zc(ed),nd=F({name:"QUploaderAddTrigger",setup(){let e=y(Re,Ie);return e===Ie&&console.error("QUploaderAddTrigger needs to be child of QUploader"),e}}),ad=F({name:"QVideo",props:{...al,src:{type:String,required:!0},title:String,fetchpriority:{type:String,default:"auto"},loading:{type:String,default:"eager"},referrerpolicy:{type:String,default:"strict-origin-when-cross-origin"}},setup(e){let t=il(e),a=i((()=>"q-video"+(void 0!==e.ratio?" q-video--responsive":"")));return()=>n("div",{class:a.value,style:t.value},[n("iframe",{src:e.src,title:e.title,fetchpriority:e.fetchpriority,loading:e.loading,referrerpolicy:e.referrerpolicy,frameborder:"0",allowfullscreen:!0})])}}),id={};function rd(e){if(!1===e)return 0;if(!0===e||void 0===e)return 1;let t=parseInt(e,10);return isNaN(t)?0:t}t(id,{ClosePopup:()=>sd,Intersection:()=>kl,Morph:()=>Md,Mutation:()=>Nd,Ripple:()=>mn,Scroll:()=>Dd,ScrollFire:()=>zd,TouchHold:()=>jd,TouchPan:()=>Ki,TouchRepeat:()=>Vd,TouchSwipe:()=>bi});var od,sd=V({name:"close-popup",beforeMount(e,{value:t}){let n={depth:rd(t),handler(t){0!==n.depth&&setTimeout((()=>{let a=function(e){return Gn.find((t=>null!==t.contentEl&&t.contentEl.contains(e)))}(e);void 0!==a&&function(e,t,n){for(;0!==n&&null!=e;){if(!0===e.__qPortal){if(n--,"QMenu"===e.$options.name){e=Zn(e,t);continue}e.hide(t)}e=Ft(e)}}(a,t,n.depth)}))},handlerKey(e){!0===pe(e,13)&&n.handler(e)}};e.__qclosepopup=n,e.addEventListener("click",n.handler),e.addEventListener("keyup",n.handlerKey)},updated(e,{value:t,oldValue:n}){t!==n&&(e.__qclosepopup.depth=rd(t))},beforeUnmount(e){let t=e.__qclosepopup;e.removeEventListener("click",t.handler),e.removeEventListener("keyup",t.handlerKey),delete e.__qclosepopup}}),ld=0;function ud(e,t){void 0===od&&((od=document.createElement("div")).style.cssText="position: absolute; left: 0; top: 0",document.body.appendChild(od));let n=e.getBoundingClientRect(),a=od.getBoundingClientRect(),{marginLeft:i,marginRight:r,marginTop:o,marginBottom:s}=window.getComputedStyle(e),l=parseInt(i,10)+parseInt(r,10),u=parseInt(o,10)+parseInt(s,10);return{left:n.left-a.left,top:n.top-a.top,width:n.right-n.left,height:n.bottom-n.top,widthM:n.right-n.left+(!0===t?0:l),heightM:n.bottom-n.top+(!0===t?0:u),marginH:!0===t?l:0,marginV:!0===t?u:0}}function cd(e){return{width:e.scrollWidth,height:e.scrollHeight}}var dd=["Top","Right","Bottom","Left"],hd=["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],pd=/-block|-inline|block-|inline-/,fd=/(-block|-inline|block-|inline-).*:/;function md(e,t){let n=window.getComputedStyle(e),a={};for(let e=0;e!0!==fd.test(e))).join(";"):n[i]}return a}var gd=["absolute","fixed","relative","sticky"];function vd(e){let t=e,n=0;for(;null!==t&&t!==document;){let{position:a,zIndex:i}=window.getComputedStyle(t),r=Number(i);r>n&&(t===e||!0===gd.includes(a))&&(n=r),t=t.parentNode}return n}function bd(e){let t=typeof e;return"function"===t?e():"string"===t?document.querySelector(e):e}function _d(e){return e&&e.ownerDocument===document&&null!==e.parentNode}function yd(e){let t=()=>!1,n=!1,a=!0,i=function(e){return{from:e.from,to:void 0!==e.to?e.to:e.from}}(e),r=function(e){return"number"==typeof e?e={duration:e}:"function"==typeof e&&(e={onEnd:e}),{...e,waitFor:void 0===e.waitFor?0:e.waitFor,duration:!0===isNaN(e.duration)?300:parseInt(e.duration,10),easing:"string"==typeof e.easing&&0!==e.easing.length?e.easing:"ease-in-out",delay:!0===isNaN(e.delay)?0:parseInt(e.delay,10),fill:"string"==typeof e.fill&&0!==e.fill.length?e.fill:"none",resize:!0===e.resize,useCSS:!0===e.useCSS||!0===e.usecss,hideFromClone:!0===e.hideFromClone||!0===e.hidefromclone,keepToClone:!0===e.keepToClone||!0===e.keeptoclone,tween:!0===e.tween,tweenFromOpacity:!0===isNaN(e.tweenFromOpacity)?.6:parseFloat(e.tweenFromOpacity),tweenToOpacity:!0===isNaN(e.tweenToOpacity)?.5:parseFloat(e.tweenToOpacity)}}(e),o=bd(i.from);if(!0!==_d(o))return t;"function"==typeof o.qMorphCancel&&o.qMorphCancel();let s,l,u,c,d=o.parentNode,h=o.nextElementSibling,p=ud(o,r.resize),{width:f,height:m}=cd(d),{borderWidth:g,borderStyle:v,borderColor:b,borderRadius:_,backgroundColor:y,transform:w,position:k,cssText:x}=md(o,["borderWidth","borderStyle","borderColor","borderRadius","backgroundColor","transform","position","cssText"]),S=o.classList.toString(),C=o.style.cssText,E=o.cloneNode(!0),T=!0===r.tween?o.cloneNode(!0):void 0;void 0!==T&&(T.className=T.classList.toString().split(" ").filter((e=>!1===/^bg-/.test(e))).join(" ")),!0===r.hideFromClone&&E.classList.add("q-morph--internal"),E.setAttribute("aria-hidden","true"),E.style.transition="none",E.style.animation="none",E.style.pointerEvents="none",d.insertBefore(E,h),o.qMorphCancel=()=>{n=!0,E.remove(),void 0!==T&&T.remove(),!0===r.hideFromClone&&E.classList.remove("q-morph--internal"),o.qMorphCancel=void 0};return"function"==typeof e.onToggle&&e.onToggle(),requestAnimationFrame((()=>{let e=bd(i.to);if(!0===n||!0!==_d(e))return void("function"==typeof o.qMorphCancel&&o.qMorphCancel());o!==e&&"function"==typeof e.qMorphCancel&&e.qMorphCancel(),!0!==r.keepToClone&&e.classList.add("q-morph--internal"),E.classList.add("q-morph--internal");let{width:h,height:A}=cd(d),{width:M,height:P}=cd(e.parentNode);!0!==r.hideFromClone&&E.classList.remove("q-morph--internal"),e.qMorphCancel=()=>{n=!0,E.remove(),void 0!==T&&T.remove(),!0===r.hideFromClone&&E.classList.remove("q-morph--internal"),!0!==r.keepToClone&&e.classList.remove("q-morph--internal"),o.qMorphCancel=void 0,e.qMorphCancel=void 0};let L=()=>{if(!0===n)return void("function"==typeof e.qMorphCancel&&e.qMorphCancel());!0!==r.hideFromClone&&(E.classList.add("q-morph--internal"),E.innerHTML="",E.style.left=0,E.style.right="unset",E.style.top=0,E.style.bottom="unset",E.style.transform="none"),!0!==r.keepToClone&&e.classList.remove("q-morph--internal");let i=e.parentNode,{width:L,height:O}=cd(i),N=e.cloneNode(r.keepToClone);N.setAttribute("aria-hidden","true"),!0!==r.keepToClone&&(N.style.left=0,N.style.right="unset",N.style.top=0,N.style.bottom="unset",N.style.transform="none",N.style.pointerEvents="none"),N.classList.add("q-morph--internal");let R=e===o&&d===i?E:e.nextElementSibling;i.insertBefore(N,R);let{borderWidth:I,borderStyle:z,borderColor:q,borderRadius:D,backgroundColor:j,transform:$,position:B,cssText:F}=md(e,["borderWidth","borderStyle","borderColor","borderRadius","backgroundColor","transform","position","cssText"]),V=e.classList.toString(),U=e.style.cssText;e.style.cssText=F,e.style.transform="none",e.style.animation="none",e.style.transition="none",e.className=V.split(" ").filter((e=>!1===/^bg-/.test(e))).join(" ");let H=ud(e,r.resize),W=p.left-H.left,Y=p.top-H.top,Q=p.width/(H.width>0?H.width:10),K=p.height/(H.height>0?H.height:100),G=f-h,Z=m-A,J=L-M,X=O-P,ee=Math.max(p.widthM,G),te=Math.max(p.heightM,Z),ne=Math.max(H.widthM,J),ae=Math.max(H.heightM,X),ie=o===e&&!1===["absolute","fixed"].includes(B)&&!1===["absolute","fixed"].includes(k),re="fixed"===B,oe=i;for(;!0!==re&&oe!==document;)re="fixed"===window.getComputedStyle(oe).position,oe=oe.parentNode;if(!0!==r.hideFromClone&&(E.style.display="block",E.style.flex="0 0 auto",E.style.opacity=0,E.style.minWidth="unset",E.style.maxWidth="unset",E.style.minHeight="unset",E.style.maxHeight="unset",E.classList.remove("q-morph--internal")),!0!==r.keepToClone&&(N.style.display="block",N.style.flex="0 0 auto",N.style.opacity=0,N.style.minWidth="unset",N.style.maxWidth="unset",N.style.minHeight="unset",N.style.maxHeight="unset"),N.classList.remove("q-morph--internal"),"string"==typeof r.classes&&(e.className+=" "+r.classes),"string"==typeof r.style)e.style.cssText+=" "+r.style;else if(!0===je(r.style))for(let t in r.style)e.style[t]=r.style[t];let se=vd(E),le=vd(e),ue=!0===re?document.documentElement:{scrollLeft:0,scrollTop:0};e.style.position=!0===re?"fixed":"absolute",e.style.left=H.left-ue.scrollLeft+"px",e.style.right="unset",e.style.top=H.top-ue.scrollTop+"px",e.style.margin=0,!0===r.resize&&(e.style.minWidth="unset",e.style.maxWidth="unset",e.style.minHeight="unset",e.style.maxHeight="unset",e.style.overflow="hidden",e.style.overflowX="hidden",e.style.overflowY="hidden"),document.body.appendChild(e),void 0!==T&&(T.style.cssText=x,T.style.transform="none",T.style.animation="none",T.style.transition="none",T.style.position=e.style.position,T.style.left=p.left-ue.scrollLeft+"px",T.style.right="unset",T.style.top=p.top-ue.scrollTop+"px",T.style.margin=0,T.style.pointerEvents="none",!0===r.resize&&(T.style.minWidth="unset",T.style.maxWidth="unset",T.style.minHeight="unset",T.style.maxHeight="unset",T.style.overflow="hidden",T.style.overflowX="hidden",T.style.overflowY="hidden"),document.body.appendChild(T));let ce=n=>{o===e&&!0!==a?(e.style.cssText=C,e.className=S):(e.style.cssText=U,e.className=V),N.parentNode===i&&i.insertBefore(e,N),E.remove(),N.remove(),void 0!==T&&T.remove(),t=()=>!1,o.qMorphCancel=void 0,e.qMorphCancel=void 0,"function"==typeof r.onEnd&&r.onEnd(!0===a?"to":"from",!0===n)};if(!0!==r.useCSS&&"function"==typeof e.animate){let i=!0===r.resize?{transform:`translate(${W}px, ${Y}px)`,width:`${ee}px`,height:`${te}px`}:{transform:`translate(${W}px, ${Y}px) scale(${Q}, ${K})`},d=!0===r.resize?{width:`${ne}px`,height:`${ae}px`}:{},h=!0===r.resize?{width:`${ee}px`,height:`${te}px`}:{},f=!0===r.resize?{transform:`translate(${-1*W}px, ${-1*Y}px)`,width:`${ne}px`,height:`${ae}px`}:{transform:`translate(${-1*W}px, ${-1*Y}px) scale(${1/Q}, ${1/K})`},m=void 0!==T?{opacity:r.tweenToOpacity}:{backgroundColor:y},k=void 0!==T?{opacity:1}:{backgroundColor:j};c=e.animate([{margin:0,borderWidth:g,borderStyle:v,borderColor:b,borderRadius:_,zIndex:se,transformOrigin:"0 0",...i,...m},{margin:0,borderWidth:I,borderStyle:z,borderColor:q,borderRadius:D,zIndex:le,transformOrigin:"0 0",transform:$,...d,...k}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay}),l=void 0===T?void 0:T.animate([{opacity:r.tweenFromOpacity,margin:0,borderWidth:g,borderStyle:v,borderColor:b,borderRadius:_,zIndex:se,transformOrigin:"0 0",transform:w,...h},{opacity:0,margin:0,borderWidth:I,borderStyle:z,borderColor:q,borderRadius:D,zIndex:le,transformOrigin:"0 0",...f}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay}),s=!0===r.hideFromClone||!0===ie?void 0:E.animate([{margin:`${Z<0?Z/2:0}px ${G<0?G/2:0}px`,width:`${ee+p.marginH}px`,height:`${te+p.marginV}px`},{margin:0,width:0,height:0}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay}),u=!0===r.keepToClone?void 0:N.animate([!0===ie?{margin:`${Z<0?Z/2:0}px ${G<0?G/2:0}px`,width:`${ee+p.marginH}px`,height:`${te+p.marginV}px`}:{margin:0,width:0,height:0},{margin:`${X<0?X/2:0}px ${J<0?J/2:0}px`,width:`${ne+H.marginH}px`,height:`${ae+H.marginV}px`}],{duration:r.duration,easing:r.easing,fill:r.fill,delay:r.delay});let x=e=>{void 0!==s&&s.cancel(),void 0!==l&&l.cancel(),void 0!==u&&u.cancel(),c.cancel(),c.removeEventListener("finish",x),c.removeEventListener("cancel",x),ce(e),s=void 0,l=void 0,u=void 0,c=void 0};o.qMorphCancel=()=>{o.qMorphCancel=void 0,n=!0,x()},e.qMorphCancel=()=>{e.qMorphCancel=void 0,n=!0,x()},c.addEventListener("finish",x),c.addEventListener("cancel",x),t=e=>!0!==n&&void 0!==c&&(!0===e?(x(!0),!0):(a=!0!==a,void 0!==s&&s.reverse(),void 0!==l&&l.reverse(),void 0!==u&&u.reverse(),c.reverse(),!0))}else{let i="q-morph-anim-"+ ++ld,s=document.createElement("style"),l=!0===r.resize?`\n transform: translate(${W}px, ${Y}px);\n width: ${ee}px;\n height: ${te}px;\n `:`transform: translate(${W}px, ${Y}px) scale(${Q}, ${K});`,u=!0===r.resize?`\n width: ${ne}px;\n height: ${ae}px;\n `:"",c=!0===r.resize?`\n width: ${ee}px;\n height: ${te}px;\n `:"",d=!0===r.resize?`\n transform: translate(${-1*W}px, ${-1*Y}px);\n width: ${ne}px;\n height: ${ae}px;\n `:`transform: translate(${-1*W}px, ${-1*Y}px) scale(${1/Q}, ${1/K});`,h=void 0!==T?`opacity: ${r.tweenToOpacity};`:`background-color: ${y};`,f=void 0!==T?"opacity: 1;":`background-color: ${j};`,m=void 0===T?"":`\n @keyframes ${i}-from-tween {\n 0% {\n opacity: ${r.tweenFromOpacity};\n margin: 0;\n border-width: ${g};\n border-style: ${v};\n border-color: ${b};\n border-radius: ${_};\n z-index: ${se};\n transform-origin: 0 0;\n transform: ${w};\n ${c}\n }\n\n 100% {\n opacity: 0;\n margin: 0;\n border-width: ${I};\n border-style: ${z};\n border-color: ${q};\n border-radius: ${D};\n z-index: ${le};\n transform-origin: 0 0;\n ${d}\n }\n }\n `,k=!0===r.hideFromClone||!0===ie?"":`\n @keyframes ${i}-from {\n 0% {\n margin: ${Z<0?Z/2:0}px ${G<0?G/2:0}px;\n width: ${ee+p.marginH}px;\n height: ${te+p.marginV}px;\n }\n\n 100% {\n margin: 0;\n width: 0;\n height: 0;\n }\n }\n `,x=!0===ie?`\n margin: ${Z<0?Z/2:0}px ${G<0?G/2:0}px;\n width: ${ee+p.marginH}px;\n height: ${te+p.marginV}px;\n `:"\n margin: 0;\n width: 0;\n height: 0;\n ",S=!0===r.keepToClone?"":`\n @keyframes ${i}-to {\n 0% {\n ${x}\n }\n\n 100% {\n margin: ${X<0?X/2:0}px ${J<0?J/2:0}px;\n width: ${ne+H.marginH}px;\n height: ${ae+H.marginV}px;\n }\n }\n `;s.innerHTML=`\n @keyframes ${i} {\n 0% {\n margin: 0;\n border-width: ${g};\n border-style: ${v};\n border-color: ${b};\n border-radius: ${_};\n background-color: ${y};\n z-index: ${se};\n transform-origin: 0 0;\n ${l}\n ${h}\n }\n\n 100% {\n margin: 0;\n border-width: ${I};\n border-style: ${z};\n border-color: ${q};\n border-radius: ${D};\n background-color: ${j};\n z-index: ${le};\n transform-origin: 0 0;\n transform: ${$};\n ${u}\n ${f}\n }\n }\n\n ${k}\n\n ${m}\n\n ${S}\n `,document.head.appendChild(s);let C="normal";E.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}-from`,void 0!==T&&(T.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}-from-tween`),N.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}-to`,e.style.animation=`${r.duration}ms ${r.easing} ${r.delay}ms ${C} ${r.fill} ${i}`;let A=t=>{t===Object(t)&&t.animationName!==i||(e.removeEventListener("animationend",A),e.removeEventListener("animationcancel",A),ce(),s.remove())};o.qMorphCancel=()=>{o.qMorphCancel=void 0,n=!0,A()},e.qMorphCancel=()=>{e.qMorphCancel=void 0,n=!0,A()},e.addEventListener("animationend",A),e.addEventListener("animationcancel",A),t=t=>!!(!0!==n&&e&&E&&N)&&(!0===t?(A(),!0):(a=!0!==a,C="normal"===C?"reverse":"normal",E.style.animationDirection=C,T.style.animationDirection=C,N.style.animationDirection=C,e.style.animationDirection=C,!0))}};r.waitFor>0||"transitionend"===r.waitFor||r.waitFor===Object(r.waitFor)&&"function"==typeof r.waitFor.then?(r.waitFor>0?new Promise((e=>setTimeout(e,r.waitFor))):"transitionend"===r.waitFor?new Promise((t=>{let n=()=>{null!==a&&(clearTimeout(a),a=null),e&&(e.removeEventListener("transitionend",n),e.removeEventListener("transitioncancel",n)),t()},a=setTimeout(n,400);e.addEventListener("transitionend",n),e.addEventListener("transitioncancel",n)})):r.waitFor).then(L).catch((()=>{"function"==typeof e.qMorphCancel&&e.qMorphCancel()})):L()})),e=>t(e)}var wd={},kd=["duration","delay","easing","fill","classes","style","duration","resize","useCSS","hideFromClone","keepToClone","tween","tweenFromOpacity","tweenToOpacity","waitFor","onEnd"],xd=["resize","useCSS","hideFromClone","keepToClone","tween"];function Sd(e,t){e.clsAction!==t&&(e.clsAction=t,e.el.classList[t]("q-morph--invisible"))}function Cd(e){if(!0===e.animating||e.queue.length<2)return;let[t,n]=e.queue;e.animating=!0,t.animating=!0,n.animating=!0,Sd(t,"remove"),Sd(n,"remove");let a=yd({from:t.el,to:n.el,onToggle(){Sd(t,"add"),Sd(n,"remove")},...n.opts,onEnd(a,i){void 0!==n.opts.onEnd&&n.opts.onEnd(a,i),!0!==i&&(t.animating=!1,n.animating=!1,e.animating=!1,e.cancel=void 0,e.queue.shift(),Cd(e))}});e.cancel=()=>{a(!0),e.cancel=void 0}}function Ed(e,t){let n=t.opts;xd.forEach((t=>{n[t]=!0===e[t]}))}function Td(e,t){if(t.name!==e)!1===t.animating&&Sd(t,"add");else{let n=wd[t.group];void 0===n?(wd[t.group]={name:t.group,model:e,queue:[t],animating:!1},Sd(t,"remove")):n.model!==e&&(n.model=e,n.queue.push(t),!1===n.animating&&2===n.queue.length&&Cd(n))}}function Ad(e,t){let n;Object(t)===t?(n=""+t.model,function(e,t){void 0!==e.group&&(t.group=e.group),void 0!==e.name&&(t.name=e.name);let n=t.opts;kd.forEach((t=>{void 0!==e[t]&&(n[t]=e[t])}))}(t,e),Ed(t,e)):n=""+t,n!==e.model?(e.model=n,Td(n,e)):!1===e.animating&&void 0!==e.clsAction&&e.el.classList[e.clsAction]("q-morph--invisible")}var Md=V({name:"morph",mounted(e,t){let n={el:e,animating:!1,opts:{}};Ed(t.modifiers,n),function(e,t){let n="string"==typeof e&&0!==e.length?e.split(":"):[];t.name=n[0],t.group=n[1],Object.assign(t.opts,{duration:!0===isNaN(n[2])?300:parseFloat(n[2]),waitFor:n[3]})}(t.arg,n),Ad(n,t.value),e.__qmorph=n},updated(e,t){Ad(e.__qmorph,t.value)},beforeUnmount(e){let t=e.__qmorph,n=wd[t.group];void 0!==n&&-1!==n.queue.indexOf(t)&&(n.queue=n.queue.filter((e=>e!==t)),0===n.queue.length&&(void 0!==n.cancel&&n.cancel(),delete wd[t.group])),"add"===t.clsAction&&e.classList.remove("q-morph--invisible"),delete e.__qmorph}}),Pd={childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0};function Ld(e,t,n){t.handler=n,void 0!==t.observer&&t.observer.disconnect(),t.observer=new MutationObserver((n=>{"function"==typeof t.handler&&(!1===t.handler(n)||!0===t.once)&&Od(e)})),t.observer.observe(e,t.opts)}function Od(e){let t=e.__qmutation;void 0!==t&&(void 0!==t.observer&&t.observer.disconnect(),delete e.__qmutation)}var Nd=V({name:"mutation",mounted(e,{modifiers:{once:t,...n},value:a}){let i={once:t,opts:0===Object.keys(n).length?Pd:n};Ld(e,i,a),e.__qmutation=i},updated(e,{oldValue:t,value:n}){let a=e.__qmutation;void 0!==a&&t!==n&&Ld(e,a,n)},beforeUnmount:Od}),{passive:Rd}=H;function Id(e,{value:t,oldValue:n}){"function"==typeof t?(e.handler=t,"function"!=typeof n&&(e.scrollTarget.addEventListener("scroll",e.scroll,Rd),e.scroll())):e.scrollTarget.removeEventListener("scroll",e.scroll,Rd)}var zd=V({name:"scroll-fire",mounted(e,t){let n={scrollTarget:sa(e),scroll:ae((()=>{let t,a;n.scrollTarget===window?(a=e.getBoundingClientRect().bottom,t=window.innerHeight):(a=sn(e).top+ln(e),t=sn(n.scrollTarget).top+ln(n.scrollTarget)),a>0&&a{a.styleCleanup=void 0;let t=()=>{document.body.classList.remove("non-selectable")};!0===e?(Ln(),setTimeout(t,10)):t()}),a.triggered=!1,a.sensitivity=!0===t?a.mouseSensitivity:a.touchSensitivity,a.timer=setTimeout((()=>{a.timer=void 0,Ln(),a.triggered=!0,a.handler({evt:e,touch:!0!==t,mouse:!0===t,position:a.origin,duration:Date.now()-n})}),a.duration)},move(e){let{top:t,left:n}=Q(e);void 0!==a.timer&&(Math.abs(n-a.origin.left)>=a.sensitivity||Math.abs(t-a.origin.top)>=a.sensitivity)&&(clearTimeout(a.timer),a.timer=void 0)},end(e){te(a,"temp"),void 0!==a.styleCleanup&&a.styleCleanup(a.triggered),!0===a.triggered?void 0!==e&&J(e):void 0!==a.timer&&(clearTimeout(a.timer),a.timer=void 0)}},i=[600,5,7];if("string"==typeof t.arg&&0!==t.arg.length&&t.arg.split(":").forEach(((e,t)=>{let n=parseInt(e,10);n&&(i[t]=n)})),[a.duration,a.touchSensitivity,a.mouseSensitivity]=i,e.__qtouchhold=a,!0===n.mouse){let t=!0===n.mouseCapture||!0===n.mousecapture?"Capture":"";ee(a,"main",[[e,"mousedown","mouseStart",`passive${t}`]])}!0===j.has.touch&&ee(a,"main",[[e,"touchstart","touchStart","passive"+(!0===n.capture?"Capture":"")],[e,"touchend","noop","notPassiveCapture"]])},updated(e,t){let n=e.__qtouchhold;void 0!==n&&t.oldValue!==t.value&&("function"!=typeof t.value&&n.end(),n.handler=t.value)},beforeUnmount(e){let t=e.__qtouchhold;void 0!==t&&(te(t,"main"),te(t,"temp"),void 0!==t.timer&&clearTimeout(t.timer),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchhold)}}),$d={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Bd=new RegExp(`^([\\d+]+|${Object.keys($d).join("|")})$`,"i");var Fd,Vd=V({name:"touch-repeat",beforeMount(e,{modifiers:t,value:n,arg:a}){let i=Object.keys(t).reduce(((e,t)=>{if(!0===Bd.test(t)){let n=isNaN(parseInt(t,10))?$d[t.toLowerCase()]:parseInt(t,10);n>=0&&e.push(n)}return e}),[]);if(!0!==t.mouse&&!0!==j.has.touch&&0===i.length)return;let r="string"==typeof a&&0!==a.length?a.split(":").map((e=>parseInt(e,10))):[0,600,300],o=r.length-1,s={keyboard:i,handler:n,noop:W,mouseStart(e){void 0===s.event&&"function"==typeof s.handler&&!0===Y(e)&&(ee(s,"temp",[[document,"mousemove","move","passiveCapture"],[document,"click","end","notPassiveCapture"]]),s.start(e,!0))},keyboardStart(t){if("function"==typeof s.handler&&!0===pe(t,i)){if((0===r[0]||void 0!==s.event)&&(J(t),e.focus(),void 0!==s.event))return;ee(s,"temp",[[document,"keyup","end","notPassiveCapture"],[document,"click","end","notPassiveCapture"]]),s.start(t,!1,!0)}},touchStart(e){if(void 0!==e.target&&"function"==typeof s.handler){let t=e.target;ee(s,"temp",[[t,"touchmove","move","passiveCapture"],[t,"touchcancel","end","notPassiveCapture"],[t,"touchend","end","notPassiveCapture"]]),s.start(e)}},start(e,t,n){function a(e){s.styleCleanup=void 0,document.documentElement.style.cursor="";let t=()=>{document.body.classList.remove("non-selectable")};!0===e?(Ln(),setTimeout(t,10)):t()}!0!==n&&(s.origin=Q(e)),!0===j.is.mobile&&(document.body.classList.add("non-selectable"),Ln(),s.styleCleanup=a),s.event={touch:!0!==t&&!0!==n,mouse:!0===t,keyboard:!0===n,startTime:Date.now(),repeatCount:0};let i=()=>{if(s.timer=void 0,void 0===s.event)return;0===s.event.repeatCount&&(s.event.evt=e,!0===n?s.event.keyCode=e.keyCode:s.event.position=Q(e),!0!==j.is.mobile&&(document.documentElement.style.cursor="pointer",document.body.classList.add("non-selectable"),Ln(),s.styleCleanup=a)),s.event.duration=Date.now()-s.event.startTime,s.event.repeatCount+=1,s.handler(s.event);let t=o=7||Math.abs(n-t.top)>=7}(e,s.origin)&&(clearTimeout(s.timer),s.timer=void 0)},end(e){void 0!==s.event&&(void 0!==s.styleCleanup&&s.styleCleanup(!0),void 0!==e&&s.event.repeatCount>0&&J(e),te(s,"temp"),void 0!==s.timer&&(clearTimeout(s.timer),s.timer=void 0),s.event=void 0)}};if(e.__qtouchrepeat=s,!0===t.mouse){let n=!0===t.mouseCapture||!0===t.mousecapture?"Capture":"";ee(s,"main",[[e,"mousedown","mouseStart",`passive${n}`]])}if(!0===j.has.touch&&ee(s,"main",[[e,"touchstart","touchStart","passive"+(!0===t.capture?"Capture":"")],[e,"touchend","noop","passiveCapture"]]),0!==i.length){let n=!0===t.keyCapture||!0===t.keycapture?"Capture":"";ee(s,"main",[[e,"keydown","keyboardStart",`notPassive${n}`]])}},updated(e,{oldValue:t,value:n}){let a=e.__qtouchrepeat;void 0!==a&&t!==n&&("function"!=typeof n&&a.end(),a.handler=n)},beforeUnmount(e){let t=e.__qtouchrepeat;void 0!==t&&(void 0!==t.timer&&clearTimeout(t.timer),te(t,"main"),te(t,"temp"),void 0!==t.styleCleanup&&t.styleCleanup(),delete e.__qtouchrepeat)}}),Ud={};function Hd(e,t=document.body){if("string"!=typeof e)throw new TypeError("Expected a string as propName");if(!(t instanceof Element))throw new TypeError("Expected a DOM element");return getComputedStyle(t).getPropertyValue(`--q-${e}`).trim()||null}function Wd(e){void 0===Fd&&(Fd=j.is.winphone?"msapplication-navbutton-color":j.is.safari?"apple-mobile-web-app-status-bar-style":"theme-color");let t=function(e){let t=document.getElementsByTagName("META");for(let n in t)if(t[n].name===e)return t[n]}(Fd),n=void 0===t;n&&(t=document.createElement("meta"),t.setAttribute("name",Fd)),t.setAttribute("content",e),n&&document.head.appendChild(t)}t(Ud,{AddressbarColor:()=>Yd,AppFullscreen:()=>th,AppVisibility:()=>ah,BottomSheet:()=>sh,Cookies:()=>vh,Dark:()=>le,Dialog:()=>_h,IconSet:()=>Ee,Lang:()=>xe,Loading:()=>Ah,LoadingBar:()=>Lh,LocalStorage:()=>rp,Meta:()=>jh,Notify:()=>ep,Platform:()=>B,Screen:()=>oe,SessionStorage:()=>lp});var Yd={set:!0!==j.is.mobile||!0!==j.is.nativeMobile&&!0!==j.is.winphone&&!0!==j.is.safari&&!0!==j.is.webkit&&!0!==j.is.vivaldi?W:e=>{let t=e||Hd("primary");!0===j.is.nativeMobile&&window.StatusBar?window.StatusBar.backgroundColorByHexString(t):Wd(t)},install({$q:e}){e.addressbarColor=this,e.config.addressbarColor&&this.set(e.config.addressbarColor)}},Qd={};function Kd(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement||null}function Gd(){let e=eh.activeEl=!1===eh.isActive?null:Kd();!function(e){if(e===Yn)return;if((Yn=e)===document.body||Hn.reduce(((e,t)=>"dialog"===t?e+1:e),0)<2)return void Un.forEach((e=>{!1===e.contains(Yn)&&Yn.appendChild(e)}));let t=Hn.lastIndexOf("dialog");for(let e=0;evoid 0!==document.documentElement[e])),eh.isCapable=void 0!==Qd.request,!1===eh.isCapable?(Xd=()=>Promise.reject("Not capable"),Object.assign(eh,{request:Xd,exit:Xd,toggle:Xd})):(Object.assign(eh,{request(e){let t=e||document.documentElement,{activeEl:n}=eh;return t===n?Promise.resolve():(null!==n&&!0===t.contains(n)?eh.exit():Promise.resolve()).finally((()=>Jd(t,Qd.request)))},exit:()=>!0===eh.isActive?Jd(document,Qd.exit):Promise.resolve(),toggle:e=>!0===eh.isActive?eh.exit():eh.request(e)}),Qd.exit=["exitFullscreen","msExitFullscreen","mozCancelFullScreen","webkitExitFullscreen"].find((e=>document[e])),eh.isActive=!!Kd(),!0===eh.isActive&&Gd(),["onfullscreenchange","onmsfullscreenchange","onwebkitfullscreenchange"].forEach((e=>{document[e]=Zd})));var th=eh,nh=U({appVisible:!0},{install({$q:e}){N(e,"appVisible",(()=>this.appVisible))}});{let e,t;if(typeof document.hidden<"u"?(e="hidden",t="visibilitychange"):typeof document.msHidden<"u"?(e="msHidden",t="msvisibilitychange"):typeof document.webkitHidden<"u"&&(e="webkitHidden",t="webkitvisibilitychange"),t&&typeof document[e]<"u"){let n=()=>{nh.appVisible=!document[e]};document.addEventListener(t,n,!1)}}var ah=nh,ih=F({name:"BottomSheetComponent",props:{...Rt,title:String,message:String,actions:Array,grid:Boolean,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){let{proxy:i}=k(),r=It(e,i.$q),o=a(null);function s(){o.value.hide()}function l(e){t("ok",e),s()}function u(){t("hide")}function c(){let t=[];return e.title&&t.push(n(ci,{class:"q-dialog__title"},(()=>e.title))),e.message&&t.push(n(ci,{class:"q-dialog__message"},(()=>e.message))),t.push(!0===e.grid?n("div",{class:"row items-stretch justify-start",role:"list"},e.actions.map((e=>{let t=e.avatar||e.img;return void 0===e.label?n(xs,{class:"col-all",dark:r.value}):n("div",{class:["q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position",e.class],style:e.style,tabindex:0,role:"listitem",onClick(){l(e)},onKeyup(t){13===t.keyCode&&l(e)}},[n("div",{class:"q-focus-helper"}),e.icon?n(Pt,{name:e.icon,color:e.color}):t?n("img",{class:e.avatar?"q-bottom-sheet__avatar":"",src:t}):n("div",{class:"q-bottom-sheet__empty-icon"}),n("div",e.label)])}))):n("div",{role:"list"},e.actions.map((e=>{let t=e.avatar||e.img;return void 0===e.label?n(xs,{spaced:!0,dark:r.value}):n(rs,{class:["q-bottom-sheet__item",e.classes],style:e.style,tabindex:0,clickable:!0,dark:r.value,onClick(){l(e)}},(()=>[n(os,{avatar:!0},(()=>e.icon?n(Pt,{name:e.icon,color:e.color}):t?n("img",{class:e.avatar?"q-bottom-sheet__avatar":"",src:t}):null)),n(os,(()=>e.label))]))})))),t}function d(){return[n(ui,{class:["q-bottom-sheet q-bottom-sheet--"+(!0===e.grid?"grid":"list")+(!0===r.value?" q-bottom-sheet--dark q-dark":""),e.cardClass],style:e.cardStyle},c)]}return Object.assign(i,{show:function(){o.value.show()},hide:s}),()=>n(Zo,{ref:o,position:"bottom",onHide:u},d)}});function rh(e,t){for(let n in t)"spinner"!==n&&Object(t[n])===t[n]?(e[n]=Object(e[n])!==e[n]?{}:{...e[n]},rh(e[n],t[n])):e[n]=t[n]}function oh(e,t,i){return r=>{let o,s,l=!0===t&&void 0!==r.component;if(!0===l){let{component:e,componentProps:t}=r;o="string"==typeof e?i.component(e):e,s=t||{}}else{let{class:t,style:n,...a}=r;o=e,s=a,void 0!==t&&(a.cardClass=t),void 0!==n&&(a.cardStyle=n)}let u,c=!1,h=a(null),p=Qn(!1,"dialog"),f=e=>{if(null!==h.value&&void 0!==h.value[e])return void h.value[e]();let t=u.$.subTree;if(t&&t.component){if(t.component.proxy&&t.component.proxy[e])return void t.component.proxy[e]();if(t.component.subTree&&t.component.subTree.component&&t.component.subTree.component.proxy&&t.component.subTree.component.proxy[e])return void t.component.subTree.component.proxy[e]()}console.error("[Quasar] Incorrectly defined Dialog component")},m=[],g=[],v={onOk:e=>(m.push(e),v),onCancel:e=>(g.push(e),v),onDismiss:e=>(m.push(e),g.push(e),v),hide:()=>(f("hide"),v),update(e){if(null!==u){if(!0===l)Object.assign(s,e);else{let{class:t,style:n,...a}=e;void 0!==t&&(a.cardClass=t),void 0!==n&&(a.cardStyle=n),rh(s,a)}u.$forceUpdate()}return v}},b=e=>{c=!0,m.forEach((t=>{t(e)}))},_=()=>{y.unmount(p),Kn(p),y=null,u=null,!0!==c&&g.forEach((e=>{e()}))},y=He({name:"QGlobalDialog",setup:()=>()=>n(o,{...s,ref:h,onOk:b,onHide:_,onVnodeMounted(...e){"function"==typeof s.onVnodeMounted&&s.onVnodeMounted(...e),d((()=>f("show")))}})},i);return u=y.mount(p),v}}var sh={install({$q:e,parentApp:t}){e.bottomSheet=this.create=oh(ih,!1,t)}};function lh(e){return encodeURIComponent(e)}function uh(e){return decodeURIComponent(e)}function ch(e){if(""===e)return e;0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\")),e=uh(e.replace(/\+/g," "));try{let t=JSON.parse(e);(t===Object(t)||!0===Array.isArray(t))&&(e=t)}catch{}return e}function dh(e){let t=new Date;return t.setMilliseconds(t.getMilliseconds()+e),t.toUTCString()}function hh(e,t,n={},a){let i,r;void 0!==n.expires&&("[object Date]"===Object.prototype.toString.call(n.expires)?i=n.expires.toUTCString():"string"==typeof n.expires?i=function(e){let t=0,n=e.match(/(\d+)d/),a=e.match(/(\d+)h/),i=e.match(/(\d+)m/),r=e.match(/(\d+)s/);return n&&(t+=864e5*n[1]),a&&(t+=36e5*a[1]),i&&(t+=6e4*i[1]),r&&(t+=1e3*r[1]),0===t?e:dh(t)}(n.expires):(r=parseFloat(n.expires),i=!1===isNaN(r)?dh(864e5*r):n.expires));let o=`${lh(e)}=${function(e){return lh(e===Object(e)?JSON.stringify(e):""+e)}(t)}`,s=[o,void 0!==i?"; Expires="+i:"",n.path?"; Path="+n.path:"",n.domain?"; Domain="+n.domain:"",n.sameSite?"; SameSite="+n.sameSite:"",n.httpOnly?"; HttpOnly":"",n.secure?"; Secure":"",n.other?"; "+n.other:""].join("");if(a){a.req.qCookies?a.req.qCookies.push(s):a.req.qCookies=[s],a.res.setHeader("Set-Cookie",a.req.qCookies);let t=a.req.headers.cookie||"";if(void 0!==i&&r<0){let n=ph(e,a);void 0!==n&&(t=t.replace(`${e}=${n}; `,"").replace(`; ${e}=${n}`,"").replace(`${e}=${n}`,""))}else t=t?`${o}; ${t}`:s;a.req.headers.cookie=t}else document.cookie=s}function ph(e,t){let n,a,i,r=t?t.req.headers:document,o=r.cookie?r.cookie.split("; "):[],s=o.length,l=e?null:{},u=0;for(;uph(t,e),set:(t,n,a)=>hh(t,n,a,e),has:t=>function(e,t){return null!==ph(e,t)}(t,e),remove:(t,n)=>function(e,t,n){hh(e,"",{expires:-1,...t},n)}(t,n,e),getAll:()=>ph(null,e)}}());var mh,gh,vh=fh,bh=F({name:"DialogPluginComponent",props:{...Rt,title:String,message:String,prompt:Object,options:Object,progress:[Boolean,Object],html:Boolean,ok:{type:[String,Object,Boolean],default:!0},cancel:[String,Object,Boolean],focus:{type:String,default:"ok",validator:e=>["ok","cancel","none"].includes(e)},stackButtons:Boolean,color:String,cardClass:[String,Array,Object],cardStyle:[String,Array,Object]},emits:["ok","hide"],setup(e,{emit:t}){let{proxy:o}=k(),{$q:l}=o,u=It(e,l),c=a(null),d=a(void 0!==e.prompt?e.prompt.model:void 0!==e.options?e.options.model:void 0),h=i((()=>"q-dialog-plugin"+(!0===u.value?" q-dialog-plugin--dark q-dark":"")+(!1!==e.progress?" q-dialog-plugin--progress":""))),p=i((()=>e.color||(!0===u.value?"amber":"primary"))),f=i((()=>!1===e.progress?null:!0===je(e.progress)?{component:e.progress.spinner||on,props:{color:e.progress.color||p.value}}:{component:on,props:{color:p.value}})),m=i((()=>void 0!==e.prompt||void 0!==e.options)),g=i((()=>{if(!0!==m.value)return{};let{model:t,isValid:n,items:a,...i}=void 0!==e.prompt?e.prompt:e.options;return i})),v=i((()=>!0===je(e.ok)||!0===e.ok?l.lang.label.ok:e.ok)),b=i((()=>!0===je(e.cancel)||!0===e.cancel?l.lang.label.cancel:e.cancel)),_=i((()=>void 0!==e.prompt?void 0!==e.prompt.isValid&&!0!==e.prompt.isValid(d.value):void 0!==e.options&&(void 0!==e.options.isValid&&!0!==e.options.isValid(d.value)))),y=i((()=>({color:p.value,label:v.value,ripple:!1,disable:_.value,...!0===je(e.ok)?e.ok:{flat:!0},"data-autofocus":"ok"===e.focus&&!0!==m.value||void 0,onClick:S}))),w=i((()=>({color:p.value,label:b.value,ripple:!1,...!0===je(e.cancel)?e.cancel:{flat:!0},"data-autofocus":"cancel"===e.focus&&!0!==m.value||void 0,onClick:C})));function x(){c.value.hide()}function S(){t("ok",s(d.value)),x()}function C(){x()}function E(){t("hide")}function T(e){d.value=e}function A(t){!0!==_.value&&"textarea"!==e.prompt.type&&!0===pe(t,13)&&S()}function M(t,a){return!0===e.html?n(ci,{class:t,innerHTML:a}):n(ci,{class:t},(()=>a))}function P(){return[n(bl,{color:p.value,dense:!0,autofocus:!0,dark:u.value,...g.value,modelValue:d.value,"onUpdate:modelValue":T,onKeyup:A})]}function L(){return[n(Bl,{color:p.value,options:e.options.items,dark:u.value,...g.value,modelValue:d.value,"onUpdate:modelValue":T})]}function O(){let t=[];return e.title&&t.push(M("q-dialog__title",e.title)),!1!==e.progress&&t.push(n(ci,{class:"q-dialog__progress"},(()=>n(f.value.component,f.value.props)))),e.message&&t.push(M("q-dialog__message",e.message)),void 0!==e.prompt?t.push(n(ci,{class:"scroll q-dialog-plugin__form"},P)):void 0!==e.options&&t.push(n(xs,{dark:u.value}),n(ci,{class:"scroll q-dialog-plugin__form"},L),n(xs,{dark:u.value})),(e.ok||e.cancel)&&t.push(function(){let t=[];return e.cancel&&t.push(n(Mn,w.value)),e.ok&&t.push(n(Mn,y.value)),n(di,{class:!0===e.stackButtons?"items-end":"",vertical:e.stackButtons,align:"right"},(()=>t))}()),t}function N(){return[n(ui,{class:[h.value,e.cardClass],style:e.cardStyle,dark:u.value},O)]}return r((()=>e.prompt&&e.prompt.model),T),r((()=>e.options&&e.options.model),T),Object.assign(o,{show:function(){c.value.show()},hide:x}),()=>n(Zo,{ref:c,onHide:E},N)}}),_h={install({$q:e,parentApp:t}){e.dialog=this.create=oh(bh,!0,t)}},yh=0,wh=null,kh={},xh={},Sh={group:"__default_quasar_group__",delay:0,message:!1,html:!1,spinnerSize:80,spinnerColor:"",messageColor:"",backgroundColor:"",boxClass:"",spinner:on,customClass:""},Ch={...Sh};var Eh,Th=U({isActive:!1},{show(e){kh=function(e){if(e&&void 0!==e.group&&void 0!==xh[e.group])return Object.assign(xh[e.group],e);let t=!0===je(e)&&!0===e.ignoreDefaults?{...Sh,...e}:{...Ch,...e};return xh[t.group]=t,t}(e);let{group:t}=kh;return Th.isActive=!0,void 0!==mh?(kh.uid=yh,gh.$forceUpdate()):(kh.uid=++yh,null!==wh&&clearTimeout(wh),wh=setTimeout((()=>{wh=null;let e=Qn("q-loading");mh=He({name:"QLoading",setup(){function t(){!0!==Th.isActive&&void 0!==mh&&(Wo(!1),mh.unmount(e),Kn(e),mh=void 0,gh=void 0)}function a(){if(!0!==Th.isActive)return null;let e=[n(kh.spinner,{class:"q-loading__spinner",color:kh.spinnerColor,size:kh.spinnerSize})];return kh.message&&e.push(n("div",{class:"q-loading__message"+(kh.messageColor?` text-${kh.messageColor}`:""),[!0===kh.html?"innerHTML":"textContent"]:kh.message})),n("div",{class:"q-loading fullscreen flex flex-center z-max "+kh.customClass.trim(),key:kh.uid},[n("div",{class:"q-loading__backdrop"+(kh.backgroundColor?` bg-${kh.backgroundColor}`:"")}),n("div",{class:"q-loading__box column items-center "+kh.boxClass},e)])}return m((()=>{Wo(!0)})),()=>n(S,{name:"q-transition--fade",appear:!0,onAfterLeave:t},a)}},Th.__parentApp),gh=mh.mount(e)}),kh.delay)),e=>{void 0!==e&&Object(e)===e?Th.show({...e,group:t}):Th.hide(t)}},hide(e){if(!0===Th.isActive){if(void 0===e)xh={};else{if(void 0===xh[e])return;{delete xh[e];let t=Object.keys(xh);if(0!==t.length){let e=t[t.length-1];return void Th.show({group:e})}}}null!==wh&&(clearTimeout(wh),wh=null),Th.isActive=!1}},setDefaults(e){!0===je(e)&&Object.assign(Ch,e)},install({$q:e,parentApp:t}){e.loading=this,Th.__parentApp=t,void 0!==e.config.loading&&this.setDefaults(e.config.loading)}}),Ah=Th,Mh=a(null),Ph=U({isActive:!1},{start:W,stop:W,increment:W,setDefaults:W,install({$q:e,parentApp:t}){if(e.loadingBar=this,!0===this.__installed)return void(void 0!==e.config.loadingBar&&this.setDefaults(e.config.loadingBar));let i=a(void 0!==e.config.loadingBar?{...e.config.loadingBar}:{});function r(){Ph.isActive=!0}function o(){Ph.isActive=!1}let s=Qn("q-loading-bar");He({name:"LoadingBar",devtools:{hide:!0},setup:()=>()=>n(st,{...i.value,onStart:r,onStop:o,ref:Mh})},t).mount(s),Object.assign(this,{start(e){Mh.value.start(e)},stop(){Mh.value.stop()},increment(){Mh.value.increment.apply(null,arguments)},setDefaults(e){!0===je(e)&&Object.assign(i.value,e)}})}}),Lh=Ph,Oh=null,Nh=[];function Rh(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!0;for(let n in e)if(e[n]!==t[n])return!0}function Ih(e){return!1===["class","style"].includes(e)}function zh(e){return!1===["lang","dir"].includes(e)}function qh(){Oh=null;let e={title:"",titleTemplate:null,meta:{},link:{},script:{},htmlAttr:{},bodyAttr:{}};for(let t=0;t{let n=e[t[0]],a=t[1];for(let e in n){let t=n[e];t.template&&(1===Object.keys(t).length?delete n[e]:(t[a]=t.template(t[a]||""),delete t.template))}}))})(e),function({add:e,remove:t}){e.title&&(document.title=e.title),0!==Object.keys(t).length&&(["meta","link","script"].forEach((e=>{t[e].forEach((t=>{document.head.querySelector(`${e}[data-qmeta="${t}"]`).remove()}))})),t.htmlAttr.filter(zh).forEach((e=>{document.documentElement.removeAttribute(e)})),t.bodyAttr.filter(Ih).forEach((e=>{document.body.removeAttribute(e)}))),["meta","link","script"].forEach((t=>{let n=e[t];for(let e in n){let a=document.createElement(t);for(let t in n[e])"innerHTML"!==t&&a.setAttribute(t,n[e][t]);a.setAttribute("data-qmeta",e),"script"===t&&(a.innerHTML=n[e].innerHTML||""),document.head.appendChild(a)}})),Object.keys(e.htmlAttr).filter(zh).forEach((t=>{document.documentElement.setAttribute(t,e.htmlAttr[t]||"")})),Object.keys(e.bodyAttr).filter(Ih).forEach((t=>{document.body.setAttribute(t,e.bodyAttr[t]||"")}))}(function(e,t){let n={},a={};return void 0===e?{add:t,remove:a}:(e.title!==t.title&&(n.title=t.title),["meta","link","script","htmlAttr","bodyAttr"].forEach((i=>{let r=e[i],o=t[i];if(a[i]=[],null!=r){n[i]={};for(let e in r)!1===o.hasOwnProperty(e)&&a[i].push(e);for(let e in o)!1===r.hasOwnProperty(e)?n[i][e]=o[e]:!0===Rh(r[e],o[e])&&(a[i].push(e),n[i][e]=o[e])}else n[i]=o})),{add:n,remove:a})}(Eh,e)),Eh=e}function Dh(){null!==Oh&&clearTimeout(Oh),Oh=setTimeout(qh,50)}var jh={install(e){!0!==this.__installed&&!0===z.value&&(Eh=window.__Q_META__,document.getElementById("qmeta-init").remove())}},$h=0,Bh={},Fh={},Vh={},Uh={},Hh=/^\s*$/,Wh=[],Yh=[void 0,null,!0,!1,""],Qh=["top-left","top-right","bottom-left","bottom-right","top","bottom","left","right","center"],Kh=["top-left","top-right","bottom-left","bottom-right"],Gh={positive:{icon:e=>e.iconSet.type.positive,color:"positive"},negative:{icon:e=>e.iconSet.type.negative,color:"negative"},warning:{icon:e=>e.iconSet.type.warning,color:"warning",textColor:"dark"},info:{icon:e=>e.iconSet.type.info,color:"info"},ongoing:{group:!1,timeout:0,spinner:!0,color:"grey-8"}};function Zh(e,t,n){if(!e)return Xh("parameter required");let a,i={textColor:"white"};if(!0!==e.ignoreDefaults&&Object.assign(i,Bh),!1===je(e)&&(i.type&&Object.assign(i,Gh[i.type]),e={message:e}),Object.assign(i,Gh[e.type||i.type],e),"function"==typeof i.icon&&(i.icon=i.icon(t)),i.spinner?(!0===i.spinner&&(i.spinner=on),i.spinner=x(i.spinner)):i.spinner=!1,i.meta={hasMedia:!(!1===i.spinner&&!i.icon&&!i.avatar),hasText:Jh(i.message)||Jh(i.caption)},i.position){if(!1===Qh.includes(i.position))return Xh("wrong position",e)}else i.position="bottom";if(!0===Yh.includes(i.timeout))i.timeout=5e3;else{let t=Number(i.timeout);if(isNaN(t)||t<0)return Xh("wrong timeout",e);i.timeout=Number.isFinite(t)?t:0}0===i.timeout?i.progress=!1:!0===i.progress&&(i.meta.progressClass="q-notification__progress"+(i.progressClass?` ${i.progressClass}`:""),i.meta.progressStyle={animationDuration:`${i.timeout+1e3}ms`});let r=(!0===Array.isArray(e.actions)?e.actions:[]).concat(!0!==e.ignoreDefaults&&!0===Array.isArray(Bh.actions)?Bh.actions:[]).concat(void 0!==Gh[e.type]&&!0===Array.isArray(Gh[e.type].actions)?Gh[e.type].actions:[]),{closeBtn:o}=i;if(o&&r.push({label:"string"==typeof o?o:t.lang.label.close}),i.actions=r.map((({handler:e,noDismiss:t,...n})=>({flat:!0,...n,onClick:"function"==typeof e?()=>{e(),!0!==t&&s()}:()=>{s()}}))),void 0===i.multiLine&&(i.multiLine=i.actions.length>1),Object.assign(i.meta,{class:"q-notification row items-stretch q-notification--"+(!0===i.multiLine?"multi-line":"standard")+(void 0!==i.color?` bg-${i.color}`:"")+(void 0!==i.textColor?` text-${i.textColor}`:"")+(void 0!==i.classes?` ${i.classes}`:""),wrapperClass:"q-notification__wrapper col relative-position border-radius-inherit "+(!0===i.multiLine?"column no-wrap justify-center":"row items-center"),contentClass:"q-notification__content row items-center"+(!0===i.multiLine?"":" col"),leftClass:!0===i.meta.hasText?"additional":"single",attrs:{role:"alert",...i.attrs}}),!1===i.group?(i.group=void 0,i.meta.group=void 0):((void 0===i.group||!0===i.group)&&(i.group=[i.message,i.caption,i.multiline].concat(i.actions.map((e=>`${e.label}*${e.icon}`))).join("|")),i.meta.group=i.group+"|"+i.position),0===i.actions.length?i.actions=void 0:i.meta.actionsClass="q-notification__actions row items-center "+(!0===i.multiLine?"justify-end":"col-auto")+(!0===i.meta.hasMedia?" q-notification__actions--with-media":""),void 0!==n){n.notif.meta.timer&&(clearTimeout(n.notif.meta.timer),n.notif.meta.timer=void 0),i.meta.uid=n.notif.meta.uid;let e=Vh[i.position].value.indexOf(n.notif);Vh[i.position].value[e]=i}else{let t=Fh[i.meta.group];if(void 0===t){if(i.meta.uid=$h++,i.meta.badge=1,-1!==["left","right","center"].indexOf(i.position))Vh[i.position].value.splice(Math.floor(Vh[i.position].value.length/2),0,i);else{let e=-1!==i.position.indexOf("top")?"unshift":"push";Vh[i.position].value[e](i)}void 0!==i.group&&(Fh[i.meta.group]=i)}else{if(t.meta.timer&&(clearTimeout(t.meta.timer),t.meta.timer=void 0),void 0!==i.badgePosition){if(!1===Kh.includes(i.badgePosition))return Xh("wrong badgePosition",e)}else i.badgePosition="top-"+(-1!==i.position.indexOf("left")?"right":"left");i.meta.uid=t.meta.uid,i.meta.badge=t.meta.badge+1,i.meta.badgeClass=`q-notification__badge q-notification__badge--${i.badgePosition}`+(void 0!==i.badgeColor?` bg-${i.badgeColor}`:"")+(void 0!==i.badgeTextColor?` text-${i.badgeTextColor}`:"")+(i.badgeClass?` ${i.badgeClass}`:"");let n=Vh[i.position].value.indexOf(t);Vh[i.position].value[n]=Fh[i.meta.group]=i}}let s=()=>{(function(e){e.meta.timer&&(clearTimeout(e.meta.timer),e.meta.timer=void 0);let t=Vh[e.position].value.indexOf(e);if(-1!==t){void 0!==e.group&&delete Fh[e.meta.group];let n=Wh[""+e.meta.uid];if(n){let{width:e,height:t}=getComputedStyle(n);n.style.left=`${n.offsetLeft}px`,n.style.width=e,n.style.height=t}Vh[e.position].value.splice(t,1),"function"==typeof e.onDismiss&&e.onDismiss()}})(i),a=void 0};return i.timeout>0&&(i.meta.timer=setTimeout((()=>{i.meta.timer=void 0,s()}),i.timeout+1e3)),void 0!==i.group?t=>{void 0!==t?Xh("trying to update a grouped one which is forbidden",e):s()}:(a={dismiss:s,config:e,notif:i},void 0===n?e=>{if(void 0!==a)if(void 0===e)a.dismiss();else{Zh(Object.assign({},a.config,e,{group:!1,position:i.position}),t,a)}}:void Object.assign(n,a))}function Jh(e){return null!=e&&!0!==Hh.test(e)}function Xh(e,t){return console.error(`Notify: ${e}`,t),!1}var ep={setDefaults(e){!0===je(e)&&Object.assign(Bh,e)},registerType(e,t){!0===je(t)&&(Gh[e]=t)},install({$q:e,parentApp:t}){if(e.notify=this.create=t=>Zh(t,e),e.notify.setDefaults=this.setDefaults,e.notify.registerType=this.registerType,void 0!==e.config.notify&&this.setDefaults(e.config.notify),!0!==this.__installed){Qh.forEach((e=>{Vh[e]=a([]);let t=!0===["left","center","right"].includes(e)?"center":-1!==e.indexOf("top")?"top":"bottom",n=-1!==e.indexOf("left")?"start":-1!==e.indexOf("right")?"end":"center",i=["left","right"].includes(e)?`items-${"left"===e?"start":"end"} justify-center`:"center"===e?"flex-center":`items-${n}`;Uh[e]=`q-notifications__list q-notifications__list--${t} fixed column no-wrap ${i}`}));let e=Qn("q-notify");He(F({name:"QNotifications",devtools:{hide:!0},setup:()=>()=>n("div",{class:"q-notifications"},Qh.map((e=>n(C,{key:e,class:Uh[e],tag:"div",name:`q-notification--${e}`},(()=>Vh[e].value.map((e=>{let t=e.meta,a=[];if(!0===t.hasMedia&&(!1!==e.spinner?a.push(n(e.spinner,{class:"q-notification__spinner q-notification__spinner--"+t.leftClass,color:e.spinnerColor,size:e.spinnerSize})):e.icon?a.push(n(Pt,{class:"q-notification__icon q-notification__icon--"+t.leftClass,name:e.icon,color:e.iconColor,size:e.iconSize,role:"img"})):e.avatar&&a.push(n(Lt,{class:"q-notification__avatar q-notification__avatar--"+t.leftClass},(()=>n("img",{src:e.avatar,"aria-hidden":"true"}))))),!0===t.hasText){let t,i={class:"q-notification__message col"};if(!0===e.html)i.innerHTML=e.caption?`
${e.message}
${e.caption}
`:e.message;else{let a=[e.message];t=e.caption?[n("div",a),n("div",{class:"q-notification__caption"},[e.caption])]:a}a.push(n("div",i,t))}let i=[n("div",{class:t.contentClass},a)];return!0===e.progress&&i.push(n("div",{key:`${t.uid}|p|${t.badge}`,class:t.progressClass,style:t.progressStyle})),void 0!==e.actions&&i.push(n("div",{class:t.actionsClass},e.actions.map((e=>n(Mn,e))))),t.badge>1&&i.push(n("div",{key:`${t.uid}|${t.badge}`,class:e.meta.badgeClass,style:e.badgeStyle},[t.badge])),n("div",{ref:e=>{Wh[""+t.uid]=e},key:t.uid,class:t.class,...t.attrs},[n("div",{class:t.wrapperClass},i)])})))))))}),t).mount(e)}}};function tp(){let e=()=>null;return{has:()=>!1,hasItem:()=>!1,getLength:()=>0,getItem:e,getIndex:e,getKey:e,getAll:()=>{},getAllKeys:()=>[],set:W,setItem:W,remove:W,removeItem:W,clear:W,isEmpty:()=>!0}}function np(e){let t=window[e+"Storage"],n=e=>{let n=t.getItem(e);return n?function(e){if(e.length<9)return e;let t=e.substring(0,8),n=e.substring(9);switch(t){case"__q_date":let t=Number(n);return new Date(!0===Number.isNaN(t)?n:t);case"__q_expr":return new RegExp(n);case"__q_numb":return Number(n);case"__q_bool":return"1"===n;case"__q_strn":return""+n;case"__q_objt":return JSON.parse(n);default:return e}}(n):null},a=e=>null!==t.getItem(e),i=(e,n)=>{t.setItem(e,function(e){return!0===$e(e)?"__q_date|"+e.getTime():!0===Be(e)?"__q_expr|"+e.source:"number"==typeof e?"__q_numb|"+e:"boolean"==typeof e?"__q_bool|"+(e?"1":"0"):"string"==typeof e?"__q_strn|"+e:"function"==typeof e?"__q_strn|"+e.toString():e===Object(e)?"__q_objt|"+JSON.stringify(e):e}(n))},r=e=>{t.removeItem(e)};return{has:a,hasItem:a,getLength:()=>t.length,getItem:n,getIndex:e=>ee{let e,a={},i=t.length;for(let r=0;r{let e=[],n=t.length;for(let a=0;a{t.clear()},isEmpty:()=>0===t.length}}var ap=!1===j.has.webStorage?tp():np("local"),ip={install({$q:e}){e.localStorage=ap}};Object.assign(ip,ap);var rp=ip,op=!1===j.has.webStorage?tp():np("session"),sp={install({$q:e}){e.sessionStorage=op}};Object.assign(sp,op);var lp=sp,up={};function cp(e){return void 0!==navigator.clipboard?navigator.clipboard.writeText(e):new Promise(((t,n)=>{let a=function(e){let t=document.createElement("textarea");t.value=e,t.contentEditable="true",t.style.position="fixed";let n=()=>{};Pa(n),document.body.appendChild(t),t.focus(),t.select();let a=document.execCommand("copy");return t.remove(),La(n),a}(e);a?t(!0):n(a)}))}t(up,{EventBus:()=>hp,clone:()=>Xl,colors:()=>Ir,copyToClipboard:()=>cp,createMetaMixin:()=>dp,createUploaderComponent:()=>Zc,date:()=>So,debounce:()=>ae,dom:()=>dn,event:()=>ne,exportFile:()=>fp,extend:()=>vs,format:()=>tt,frameDebounce:()=>Gl,getCssVar:()=>Hd,is:()=>Ve,morph:()=>yd,noop:()=>W,openURL:()=>gp,patterns:()=>Er,runSequentialPromises:()=>vp,scroll:()=>ya,setCssVar:()=>ue,throttle:()=>hn,uid:()=>Xa});var dp=e=>{let t={activated(){this.__qMeta.active=!0,Dh()},deactivated(){this.__qMeta.active=!1,Dh()},unmounted(){Nh.splice(Nh.indexOf(this.__qMeta),1),Dh(),this.__qMeta=void 0}};return"function"==typeof e?Object.assign(t,{computed:{__qMetaOptions(){return e.call(this)||{}}},watch:{__qMetaOptions(e){this.__qMeta.val=e,!0===this.__qMeta.active&&Dh()}},created(){this.__qMeta={active:!0,val:this.__qMetaOptions},Nh.push(this.__qMeta),Dh()}}):t.created=function(){this.__qMeta={active:!0,val:e},Nh.push(this.__qMeta),Dh()},t},hp=class{constructor(){this.__stack={}}on(e,t,n){return(this.__stack[e]||(this.__stack[e]=[])).push({fn:t,ctx:n}),this}once(e,t,n){let a=(...i)=>{this.off(e,a),t.apply(n,i)};return a.__callback=t,this.on(e,a,n)}emit(e){let t=this.__stack[e];if(void 0!==t){let e=[].slice.call(arguments,1);t.forEach((t=>{t.fn.apply(t.ctx,e)}))}return this}off(e,t){let n=this.__stack[e];if(void 0===n)return this;if(void 0===t)return delete this.__stack[e],this;let a=n.filter((e=>e.fn!==t&&e.fn.__callback!==t));return 0!==a.length?this.__stack[e]=a:delete this.__stack[e],this}};function pp(e){setTimeout((()=>{window.URL.revokeObjectURL(e.href)}),1e4),e.remove()}function fp(e,t,n={}){let{mimeType:a,byteOrderMark:i,encoding:r}="string"==typeof n?{mimeType:n}:n,o=void 0!==r?new TextEncoder(r).encode([t]):t,s=new Blob(void 0!==i?[i,o]:[o],{type:a||"application/octet-stream"}),l=document.createElement("a");l.href=window.URL.createObjectURL(s),l.setAttribute("download",e),typeof l.download>"u"&&l.setAttribute("target","_blank"),l.classList.add("hidden"),l.style.position="fixed",document.body.appendChild(l);try{return l.click(),pp(l),!0}catch(e){return pp(l),e}}function mp(e,t,n){let a=window.open;if(!0===B.is.cordova)if(void 0!==cordova&&void 0!==cordova.InAppBrowser&&void 0!==cordova.InAppBrowser.open)a=cordova.InAppBrowser.open;else if(void 0!==navigator&&void 0!==navigator.app)return navigator.app.loadUrl(e,{openExternal:!0});let i=a(e,"_blank",function(e){let t=Object.assign({noopener:!0},e),n=[];for(let e in t){let a=t[e];!0===a?n.push(e):(Fe(a)||"string"==typeof a&&""!==a)&&n.push(e+"="+a)}return n.join(",")}(n));if(i)return B.is.desktop&&i.focus(),i;t&&t()}var gp=(e,t,n)=>{if(!0!==B.is.ios||void 0===window.SafariViewController)return mp(e,t,n);window.SafariViewController.isAvailable((a=>{a?window.SafariViewController.show({url:e},W,t):mp(e,t,n)}))};function vp(e,{threadsNumber:t=1,abortOnFail:n=!0}={}){let a=-1,i=!1,{isList:r,totalJobs:o,resultAggregator:s,resultKeys:l}=function(e){let t=Array.isArray(e);if(!0===t){let n=e.length;return{isList:t,totalJobs:n,resultAggregator:Array(n).fill(null)}}let n=Object.keys(e),a={};return n.forEach((e=>{a[e]=null})),{isList:t,totalJobs:n.length,resultAggregator:a,resultKeys:n}}(e),u=Array(t).fill(new Promise(((t,u)=>{!function c(){let d=++a;if(!0===i||d>=o)return void t();let h=!0===r?d:l[d];e[h](s).then((e=>{!0!==i?(s[h]={key:h,status:"fulfilled",value:e},setTimeout(c)):t()})).catch((e=>{if(!0===i)return void t();let a={key:h,status:"rejected",reason:e};if(s[h]=a,!0===n)return i=!0,void u({...a,resultAggregator:s});setTimeout(c)}))}()})));return Promise.all(u).then((()=>s))}var bp={};function _p(){let{emit:e,proxy:t}=k(),n=a(null);function i(){n.value.hide()}return Object.assign(t,{show:function(){n.value.show()},hide:i}),{dialogRef:n,onDialogHide:function(){e("hide")},onDialogOK:function(t){e("ok",t),i()},onDialogCancel:i}}t(bp,{useDialogPluginComponent:()=>_p,useFormChild:()=>zs,useHydration:()=>rr,useId:()=>ti,useInterval:()=>xp,useMeta:()=>wp,useQuasar:()=>kp,useRenderCache:()=>_i,useSplitAttrs:()=>hs,useTick:()=>na,useTimeout:()=>aa});var yp=["ok","hide"];function wp(e){{let t={active:!0};if("function"==typeof e){let n=i(e);t.val=n.value,r(n,(e=>{t.val=e,!0===t.active&&Dh()}))}else t.val=e;Nh.push(t),Dh(),h((()=>{t.active=!0,Dh()})),p((()=>{t.active=!1,Dh()})),v((()=>{Nh.splice(Nh.indexOf(t),1),Dh()}))}}function kp(){return y("_q_")}function xp(){let e=null,t=k();function n(){null!==e&&(clearInterval(e),e=null)}return p(n),g(n),{removeInterval:n,registerInterval(a,i){n(),!1===Wt(t)&&(e=setInterval(a,i))}}}_p.emits=yp,_p.emitsObject=Kc(yp),void 0===window.Vue&&console.error("[ Quasar ] Vue is required to run. Please add a script tag for it before loading Quasar."),window.Quasar={version:"2.17.0",install(e,t){Ye(e,{components:Qe,directives:id,plugins:Ud,...t})},lang:xe,iconSet:Ee,...Qe,...id,...Ud,...bp,...up}})(); /*! * vuex v4.1.0 * (c) 2022 Evan You * @license MIT */ -var Vuex=function(e){"use strict";var t="store";function n(){return"undefined"!=typeof navigator?window:"undefined"!=typeof global?global:{}}var a="devtools-plugin:setup";function i(e,t){var i=n().__VUE_DEVTOOLS_GLOBAL_HOOK__;if(i)i.emit(a,e,t);else{var r=n();(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:e,setupFn:t})}}function r(e,t){if(void 0===t&&(t=[]),null===e||"object"!=typeof e)return e;var n,a=(n=function(t){return t.original===e},t.filter(n)[0]);if(a)return a.copy;var i=Array.isArray(e)?[]:{};return t.push({original:e,copy:i}),Object.keys(e).forEach((function(n){i[n]=r(e[n],t)})),i}function o(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function s(e){return null!==e&&"object"==typeof e}function l(e,t){if(!e)throw new Error("[vuex] "+t)}function u(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function c(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;h(e,n,[],e._modules.root,!0),d(e,n,t)}function d(t,n,a){var i=t._state,r=t._scope;t.getters={},t._makeLocalGettersCache=Object.create(null);var s=t._wrappedGetters,u={},c={},d=e.effectScope(!0);d.run((function(){o(s,(function(n,a){u[a]=function(e,t){return function(){return e(t)}}(n,t),c[a]=e.computed((function(){return u[a]()})),Object.defineProperty(t.getters,a,{get:function(){return c[a].value},enumerable:!0})}))})),t._state=e.reactive({data:n}),t._scope=d,t.strict&&function(t){e.watch((function(){return t._state.data}),(function(){l(t._committing,"do not mutate vuex store state outside mutation handlers.")}),{deep:!0,flush:"sync"})}(t),i&&a&&t._withCommit((function(){i.data=null})),r&&r.stop()}function h(e,t,n,a,i){var r=!n.length,o=e._modules.getNamespace(n);if(a.namespaced&&(e._modulesNamespaceMap[o]&&console.error("[vuex] duplicate namespace "+o+" for the namespaced module "+n.join("/")),e._modulesNamespaceMap[o]=a),!r&&!i){var s=f(t,n.slice(0,-1)),l=n[n.length-1];e._withCommit((function(){l in s&&console.warn('[vuex] state field "'+l+'" was overridden by a module with the same name at "'+n.join(".")+'"'),s[l]=a.state}))}var u=a.context=function(e,t,n){var a=""===t,i={dispatch:a?e.dispatch:function(n,a,i){var r=m(n,a,i),o=r.payload,s=r.options,l=r.type;if(s&&s.root||(l=t+l,e._actions[l]))return e.dispatch(l,o);console.error("[vuex] unknown local action type: "+r.type+", global type: "+l)},commit:a?e.commit:function(n,a,i){var r=m(n,a,i),o=r.payload,s=r.options,l=r.type;s&&s.root||(l=t+l,e._mutations[l])?e.commit(l,o,s):console.error("[vuex] unknown local mutation type: "+r.type+", global type: "+l)}};return Object.defineProperties(i,{getters:{get:a?function(){return e.getters}:function(){return p(e,t)}},state:{get:function(){return f(e.state,n)}}}),i}(e,o,n);a.forEachMutation((function(t,n){!function(e,t,n,a){var i=e._mutations[t]||(e._mutations[t]=[]);i.push((function(t){n.call(e,a.state,t)}))}(e,o+n,t,u)})),a.forEachAction((function(t,n){var a=t.root?n:o+n,i=t.handler||t;!function(e,t,n,a){var i=e._actions[t]||(e._actions[t]=[]);i.push((function(t){var i,r=n.call(e,{dispatch:a.dispatch,commit:a.commit,getters:a.getters,state:a.state,rootGetters:e.getters,rootState:e.state},t);return(i=r)&&"function"==typeof i.then||(r=Promise.resolve(r)),e._devtoolHook?r.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):r}))}(e,a,i,u)})),a.forEachGetter((function(t,n){!function(e,t,n,a){if(e._wrappedGetters[t])return void console.error("[vuex] duplicate getter key: "+t);e._wrappedGetters[t]=function(e){return n(a.state,a.getters,e.state,e.getters)}}(e,o+n,t,u)})),a.forEachChild((function(a,r){h(e,t,n.concat(r),a,i)}))}function p(e,t){if(!e._makeLocalGettersCache[t]){var n={},a=t.length;Object.keys(e.getters).forEach((function(i){if(i.slice(0,a)===t){var r=i.slice(a);Object.defineProperty(n,r,{get:function(){return e.getters[i]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function f(e,t){return t.reduce((function(e,t){return e[t]}),e)}function m(e,t,n){return s(e)&&e.type&&(n=t,t=e,e=e.type),l("string"==typeof e,"expects string as the type, but found "+typeof e+"."),{type:e,payload:t,options:n}}var v="vuex:mutations",g="vuex:actions",_="vuex",b=0;function y(e,t){i({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:["vuex bindings"]},(function(n){n.addTimelineLayer({id:v,label:"Vuex Mutations",color:w}),n.addTimelineLayer({id:g,label:"Vuex Actions",color:w}),n.addInspector({id:_,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===e&&n.inspectorId===_)if(n.filter){var a=[];C(a,t._modules.root,n.filter,""),n.rootNodes=a}else n.rootNodes=[S(t._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===e&&n.inspectorId===_){var a=n.nodeId;p(t,a),n.state=function(e,t,n){t="root"===n?t:t[n];var a=Object.keys(t),i={state:Object.keys(e.state).map((function(t){return{key:t,editable:!0,value:e.state[t]}}))};if(a.length){var r=function(e){var t={};return Object.keys(e).forEach((function(n){var a=n.split("/");if(a.length>1){var i=t,r=a.pop();a.forEach((function(e){i[e]||(i[e]={_custom:{value:{},display:e,tooltip:"Module",abstract:!0}}),i=i[e]._custom.value})),i[r]=T((function(){return e[n]}))}else t[n]=T((function(){return e[n]}))})),t}(t);i.getters=Object.keys(r).map((function(e){return{key:e.endsWith("/")?x(e):e,editable:!1,value:T((function(){return r[e]}))}}))}return i}((i=t._modules,(o=(r=a).split("/").filter((function(e){return e}))).reduce((function(e,t,n){var a=e[t];if(!a)throw new Error('Missing module "'+t+'" for path "'+r+'".');return n===o.length-1?a:a._children}),"root"===r?i:i.root._children)),"root"===a?t.getters:t._makeLocalGettersCache,a)}var i,r,o})),n.on.editInspectorState((function(n){if(n.app===e&&n.inspectorId===_){var a=n.nodeId,i=n.path;"root"!==a&&(i=a.split("/").filter(Boolean).concat(i)),t._withCommit((function(){n.set(t._state.data,i,n.state.value)}))}})),t.subscribe((function(e,t){var a={};e.payload&&(a.payload=e.payload),a.state=t,n.notifyComponentUpdate(),n.sendInspectorTree(_),n.sendInspectorState(_),n.addTimelineEvent({layerId:v,event:{time:Date.now(),title:e.type,data:a}})})),t.subscribeAction({before:function(e,t){var a={};e.payload&&(a.payload=e.payload),e._id=b++,e._time=Date.now(),a.state=t,n.addTimelineEvent({layerId:g,event:{time:e._time,title:e.type,groupId:e._id,subtitle:"start",data:a}})},after:function(e,t){var a={},i=Date.now()-e._time;a.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},e.payload&&(a.payload=e.payload),a.state=t,n.addTimelineEvent({layerId:g,event:{time:Date.now(),title:e.type,groupId:e._id,subtitle:"end",data:a}})}})}))}var w=8702998,k={label:"namespaced",textColor:16777215,backgroundColor:6710886};function x(e){return e&&"root"!==e?e.split("/").slice(-2,-1)[0]:"Root"}function S(e,t){return{id:t||"root",label:x(t),tags:e.namespaced?[k]:[],children:Object.keys(e._children).map((function(n){return S(e._children[n],t+n+"/")}))}}function C(e,t,n,a){a.includes(n)&&e.push({id:a||"root",label:a.endsWith("/")?a.slice(0,a.length-1):a||"Root",tags:t.namespaced?[k]:[]}),Object.keys(t._children).forEach((function(i){C(e,t._children[i],n,a+i+"/")}))}function T(e){try{return e()}catch(e){return e}}var M=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"==typeof n?n():n)||{}},E={namespaced:{configurable:!0}};E.namespaced.get=function(){return!!this._rawModule.namespaced},M.prototype.addChild=function(e,t){this._children[e]=t},M.prototype.removeChild=function(e){delete this._children[e]},M.prototype.getChild=function(e){return this._children[e]},M.prototype.hasChild=function(e){return e in this._children},M.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},M.prototype.forEachChild=function(e){o(this._children,e)},M.prototype.forEachGetter=function(e){this._rawModule.getters&&o(this._rawModule.getters,e)},M.prototype.forEachAction=function(e){this._rawModule.actions&&o(this._rawModule.actions,e)},M.prototype.forEachMutation=function(e){this._rawModule.mutations&&o(this._rawModule.mutations,e)},Object.defineProperties(M.prototype,E);var P=function(e){this.register([],e,!1)};function A(e,t,n){if(N(e,n),t.update(n),n.modules)for(var a in n.modules){if(!t.getChild(a))return void console.warn("[vuex] trying to add a new module '"+a+"' on hot reloading, manual reload is needed");A(e.concat(a),t.getChild(a),n.modules[a])}}P.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},P.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return e+((t=t.getChild(n)).namespaced?n+"/":"")}),"")},P.prototype.update=function(e){A([],this.root,e)},P.prototype.register=function(e,t,n){var a=this;void 0===n&&(n=!0),N(e,t);var i=new M(t,n);0===e.length?this.root=i:this.get(e.slice(0,-1)).addChild(e[e.length-1],i);t.modules&&o(t.modules,(function(t,i){a.register(e.concat(i),t,n)}))},P.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],a=t.getChild(n);a?a.runtime&&t.removeChild(n):console.warn("[vuex] trying to unregister module '"+n+"', which is not registered")},P.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};var L={assert:function(e){return"function"==typeof e},expected:"function"},O={getters:L,mutations:L,actions:{assert:function(e){return"function"==typeof e||"object"==typeof e&&"function"==typeof e.handler},expected:'function or object with "handler" function'}};function N(e,t){Object.keys(O).forEach((function(n){if(t[n]){var a=O[n];o(t[n],(function(t,i){l(a.assert(t),function(e,t,n,a,i){var r=t+" should be "+i+' but "'+t+"."+n+'"';e.length>0&&(r+=' in module "'+e.join(".")+'"');return r+=" is "+JSON.stringify(a)+".",r}(e,n,i,t,a.expected))}))}}))}var R=function e(t){var n=this;void 0===t&&(t={}),l("undefined"!=typeof Promise,"vuex requires a Promise polyfill in this browser."),l(this instanceof e,"store must be called with the new operator.");var a=t.plugins;void 0===a&&(a=[]);var i=t.strict;void 0===i&&(i=!1);var r=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new P(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=r;var o=this,s=this.dispatch,u=this.commit;this.dispatch=function(e,t){return s.call(o,e,t)},this.commit=function(e,t,n){return u.call(o,e,t,n)},this.strict=i;var c=this._modules.root.state;h(this,c,[],this._modules.root),d(this,c),a.forEach((function(e){return e(n)}))},z={state:{configurable:!0}};R.prototype.install=function(e,n){e.provide(n||t,this),e.config.globalProperties.$store=this,(void 0===this._devtools||this._devtools)&&y(e,this)},z.state.get=function(){return this._state.data},z.state.set=function(e){l(!1,"use store.replaceState() to explicit replace store state.")},R.prototype.commit=function(e,t,n){var a=this,i=m(e,t,n),r=i.type,o=i.payload,s=i.options,l={type:r,payload:o},u=this._mutations[r];u?(this._withCommit((function(){u.forEach((function(e){e(o)}))})),this._subscribers.slice().forEach((function(e){return e(l,a.state)})),s&&s.silent&&console.warn("[vuex] mutation type: "+r+". Silent option has been removed. Use the filter functionality in the vue-devtools")):console.error("[vuex] unknown mutation type: "+r)},R.prototype.dispatch=function(e,t){var n=this,a=m(e,t),i=a.type,r=a.payload,o={type:i,payload:r},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(o,n.state)}))}catch(e){console.warn("[vuex] error in before action subscribers: "),console.error(e)}var l=s.length>1?Promise.all(s.map((function(e){return e(r)}))):s[0](r);return new Promise((function(e,t){l.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(o,n.state)}))}catch(e){console.warn("[vuex] error in after action subscribers: "),console.error(e)}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(o,n.state,e)}))}catch(e){console.warn("[vuex] error in error action subscribers: "),console.error(e)}t(e)}))}))}console.error("[vuex] unknown action type: "+i)},R.prototype.subscribe=function(e,t){return u(e,this._subscribers,t)},R.prototype.subscribeAction=function(e,t){return u("function"==typeof e?{before:e}:e,this._actionSubscribers,t)},R.prototype.watch=function(t,n,a){var i=this;return l("function"==typeof t,"store.watch only accepts a function."),e.watch((function(){return t(i.state,i.getters)}),n,Object.assign({},a))},R.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._state.data=e}))},R.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"==typeof e&&(e=[e]),l(Array.isArray(e),"module path must be a string or an Array."),l(e.length>0,"cannot register the root module by using registerModule."),this._modules.register(e,t),h(this,this.state,e,this._modules.get(e),n.preserveState),d(this,this.state)},R.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),l(Array.isArray(e),"module path must be a string or an Array."),this._modules.unregister(e),this._withCommit((function(){delete f(t.state,e.slice(0,-1))[e[e.length-1]]})),c(this)},R.prototype.hasModule=function(e){return"string"==typeof e&&(e=[e]),l(Array.isArray(e),"module path must be a string or an Array."),this._modules.isRegistered(e)},R.prototype.hotUpdate=function(e){this._modules.update(e),c(this,!0)},R.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(R.prototype,z);var q=B((function(e,t){var n={};return F(t)||console.error("[vuex] mapState: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;n[a]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var a=V(this.$store,"mapState",e);if(!a)return;t=a.context.state,n=a.context.getters}return"function"==typeof i?i.call(this,t,n):t[i]},n[a].vuex=!0})),n})),I=B((function(e,t){var n={};return F(t)||console.error("[vuex] mapMutations: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;n[a]=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];var a=this.$store.commit;if(e){var r=V(this.$store,"mapMutations",e);if(!r)return;a=r.context.commit}return"function"==typeof i?i.apply(this,[a].concat(t)):a.apply(this.$store,[i].concat(t))}})),n})),D=B((function(e,t){var n={};return F(t)||console.error("[vuex] mapGetters: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;i=e+i,n[a]=function(){if(!e||V(this.$store,"mapGetters",e)){if(i in this.$store.getters)return this.$store.getters[i];console.error("[vuex] unknown getter: "+i)}},n[a].vuex=!0})),n})),j=B((function(e,t){var n={};return F(t)||console.error("[vuex] mapActions: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;n[a]=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];var a=this.$store.dispatch;if(e){var r=V(this.$store,"mapActions",e);if(!r)return;a=r.context.dispatch}return"function"==typeof i?i.apply(this,[a].concat(t)):a.apply(this.$store,[i].concat(t))}})),n}));function $(e){return F(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function F(e){return Array.isArray(e)||s(e)}function B(e){return function(t,n){return"string"!=typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function V(e,t,n){var a=e._modulesNamespaceMap[n];return a||console.error("[vuex] module namespace not found in "+t+"(): "+n),a}function H(e,t,n){var a=n?e.groupCollapsed:e.group;try{a.call(e,t)}catch(n){e.log(t)}}function U(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function W(){var e=new Date;return" @ "+Y(e.getHours(),2)+":"+Y(e.getMinutes(),2)+":"+Y(e.getSeconds(),2)+"."+Y(e.getMilliseconds(),3)}function Y(e,t){return n="0",a=t-e.toString().length,new Array(a+1).join(n)+e;var n,a}return{version:"4.1.0",Store:R,storeKey:t,createStore:function(e){return new R(e)},useStore:function(n){return void 0===n&&(n=null),e.inject(null!==n?n:t)},mapState:q,mapMutations:I,mapGetters:D,mapActions:j,createNamespacedHelpers:function(e){return{mapState:q.bind(null,e),mapGetters:D.bind(null,e),mapMutations:I.bind(null,e),mapActions:j.bind(null,e)}},createLogger:function(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var n=e.filter;void 0===n&&(n=function(e,t,n){return!0});var a=e.transformer;void 0===a&&(a=function(e){return e});var i=e.mutationTransformer;void 0===i&&(i=function(e){return e});var o=e.actionFilter;void 0===o&&(o=function(e,t){return!0});var s=e.actionTransformer;void 0===s&&(s=function(e){return e});var l=e.logMutations;void 0===l&&(l=!0);var u=e.logActions;void 0===u&&(u=!0);var c=e.logger;return void 0===c&&(c=console),function(e){var d=r(e.state);void 0!==c&&(l&&e.subscribe((function(e,o){var s=r(o);if(n(e,d,s)){var l=W(),u=i(e),h="mutation "+e.type+l;H(c,h,t),c.log("%c prev state","color: #9E9E9E; font-weight: bold",a(d)),c.log("%c mutation","color: #03A9F4; font-weight: bold",u),c.log("%c next state","color: #4CAF50; font-weight: bold",a(s)),U(c)}d=s})),u&&e.subscribeAction((function(e,n){if(o(e,n)){var a=W(),i=s(e),r="action "+e.type+a;H(c,r,t),c.log("%c action","color: #03A9F4; font-weight: bold",i),U(c)}})))}}}}(Vue),VueI18n=function(e,t){"use strict";const n="undefined"!=typeof window,a=(e,t=!1)=>t?Symbol.for(e):Symbol(e),i=(e,t,n)=>r({l:e,k:t,s:n}),r=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),o=e=>"number"==typeof e&&isFinite(e),s=e=>"[object Date]"===w(e),l=e=>"[object RegExp]"===w(e),u=e=>k(e)&&0===Object.keys(e).length,c=Object.assign;function d(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const h=Object.prototype.hasOwnProperty;function p(e,t){return h.call(e,t)}const f=Array.isArray,m=e=>"function"==typeof e,v=e=>"string"==typeof e,g=e=>"boolean"==typeof e,_=e=>null!==e&&"object"==typeof e,b=e=>_(e)&&m(e.then)&&m(e.catch),y=Object.prototype.toString,w=e=>y.call(e),k=e=>"[object Object]"===w(e);function x(e,t=""){return e.reduce(((e,n,a)=>0===a?e+n:e+t+n),"")}function S(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const C=e=>!_(e)||f(e);function T(e,t){if(C(e)||C(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:e,des:t}=n.pop();Object.keys(e).forEach((a=>{_(e[a])&&!_(t[a])&&(t[a]=Array.isArray(e[a])?[]:{}),C(t[a])||C(e[a])?t[a]=e[a]:n.push({src:e[a],des:t[a]})}))}}const M={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16};function E(e){throw e}const P=" ",A="\r",L="\n",O=String.fromCharCode(8232),N=String.fromCharCode(8233);function R(e){const t=e;let n=0,a=1,i=1,r=0;const o=e=>t[e]===A&&t[e+1]===L,s=e=>t[e]===N,l=e=>t[e]===O,u=e=>o(e)||s(e)||l(e)?L:t[e];function c(){return r=0,(e=>o(e)||(e=>t[e]===L)(e)||s(e)||l(e))(n)&&(a++,i=0),o(n)&&n++,n++,i++,t[n]}return{index:()=>n,line:()=>a,column:()=>i,peekOffset:()=>r,charAt:u,currentChar:()=>u(n),currentPeek:()=>u(n+r),next:c,peek:function(){return o(n+r)&&r++,r++,t[n+r]},reset:function(){n=0,a=1,i=1,r=0},resetPeek:function(e=0){r=e},skipToPeek:function(){const e=n+r;for(;e!==n;)c();r=0}}}const z=void 0,q="'";function I(e,t={}){const n=!1!==t.location,a=R(e),i=()=>a.index(),r=()=>({line:a.line(),column:a.column(),offset:a.index()}),o=r(),s=i(),l={currentType:13,offset:s,startLoc:o,endLoc:o,lastType:13,lastOffset:s,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},{onError:u}=t;function c(e,t,a){e.endLoc=r(),e.currentType=t;const i={type:t};return n&&(i.loc=function(e,t){return{start:e,end:t}}(e.startLoc,e.endLoc)),null!=a&&(i.value=a),i}const d=e=>c(e,13);function h(e,t){return e.currentChar()===t?(e.next(),t):(M.EXPECTED_TOKEN,r(),"")}function p(e){let t="";for(;e.currentPeek()===P||e.currentPeek()===L;)t+=e.currentPeek(),e.peek();return t}function f(e){const t=p(e);return e.skipToPeek(),t}function m(e){if(e===z)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function v(e){p(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function g(e,t=!0){const n=(t=!1,a="")=>{const i=e.currentPeek();return"{"===i?t:"@"!==i&&i?"|"===i?!(a===P||a===L):i===P?(e.peek(),n(!0,P)):i!==L||(e.peek(),n(!0,L)):t},a=n();return t&&e.resetPeek(),a}function _(e,t){const n=e.currentChar();return n===z?z:t(n)?(e.next(),n):null}function b(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function y(e){return _(e,b)}function w(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function k(e){return _(e,w)}function x(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function S(e){return _(e,x)}function C(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function T(e){return _(e,C)}function E(e){let t="",n="";for(;t=S(e);)n+=t;return n}function A(e){return e!==q&&e!==L}function O(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return N(e,t,4);case"U":return N(e,t,6);default:return M.UNKNOWN_ESCAPE_SEQUENCE,r(),""}}function N(e,t,n){h(e,t);let a="";for(let t=0;t=1&&(M.NOT_ALLOW_NEST_PLACEHOLDER,r()),e.next(),n=c(t,2,"{"),f(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(M.EMPTY_PLACEHOLDER,r()),e.next(),n=c(t,3,"}"),t.braceNest--,t.braceNest>0&&f(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(M.UNTERMINATED_CLOSING_BRACE,r()),n=$(e,t)||d(t),t.braceNest=0,n;default:{let a=!0,i=!0,o=!0;if(v(e))return t.braceNest>0&&(M.UNTERMINATED_CLOSING_BRACE,r()),n=c(t,1,D(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(4===t.currentType||5===t.currentType||6===t.currentType))return M.UNTERMINATED_CLOSING_BRACE,r(),t.braceNest=0,F(e,t);if(a=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const a=m(e.currentPeek());return e.resetPeek(),a}(e,t))return n=c(t,4,function(e){f(e);let t="",n="";for(;t=k(e);)n+=t;return e.currentChar()===z&&(M.UNTERMINATED_CLOSING_BRACE,r()),n}(e)),f(e),n;if(i=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const a=function(e){if(e===z)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),a}(e,t))return n=c(t,5,function(e){f(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${E(e)}`):t+=E(e),e.currentChar()===z&&(M.UNTERMINATED_CLOSING_BRACE,r()),t}(e)),f(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const a=e.currentPeek()===q;return e.resetPeek(),a}(e,t))return n=c(t,6,function(e){f(e),h(e,"'");let t="",n="";for(;t=_(e,A);)n+="\\"===t?O(e):t;const a=e.currentChar();return a===L||a===z?(M.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),a===L&&(e.next(),h(e,"'")),n):(h(e,"'"),n)}(e)),f(e),n;if(!a&&!i&&!o)return n=c(t,12,function(e){f(e);let t="",n="";for(;t=_(e,I);)n+=t;return n}(e)),M.INVALID_TOKEN_IN_PLACEHOLDER,r(),n.value,f(e),n;break}}return n}function $(e,t){const{currentType:n}=t;let a=null;const i=e.currentChar();switch(7!==n&&8!==n&&11!==n&&9!==n||i!==L&&i!==P||(M.INVALID_LINKED_FORMAT,r()),i){case"@":return e.next(),a=c(t,7,"@"),t.inLinked=!0,a;case".":return f(e),e.next(),c(t,8,".");case":":return f(e),e.next(),c(t,9,":");default:return v(e)?(a=c(t,1,D(e)),t.braceNest=0,t.inLinked=!1,a):function(e,t){const{currentType:n}=t;if(7!==n)return!1;p(e);const a="."===e.currentPeek();return e.resetPeek(),a}(e,t)||function(e,t){const{currentType:n}=t;if(7!==n&&11!==n)return!1;p(e);const a=":"===e.currentPeek();return e.resetPeek(),a}(e,t)?(f(e),$(e,t)):function(e,t){const{currentType:n}=t;if(8!==n)return!1;p(e);const a=m(e.currentPeek());return e.resetPeek(),a}(e,t)?(f(e),c(t,11,function(e){let t="",n="";for(;t=y(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(9!==n)return!1;const a=()=>{const t=e.currentPeek();return"{"===t?m(e.peek()):!("@"===t||"|"===t||":"===t||"."===t||t===P||!t)&&(t===L?(e.peek(),a()):g(e,!1))},i=a();return e.resetPeek(),i}(e,t)?(f(e),"{"===i?j(e,t)||a:c(t,10,function(e){const t=n=>{const a=e.currentChar();return"{"!==a&&"@"!==a&&"|"!==a&&"("!==a&&")"!==a&&a?a===P?n:(n+=a,e.next(),t(n)):n};return t("")}(e))):(7===n&&(M.INVALID_LINKED_FORMAT,r()),t.braceNest=0,t.inLinked=!1,F(e,t))}}function F(e,t){let n={type:13};if(t.braceNest>0)return j(e,t)||d(t);if(t.inLinked)return $(e,t)||d(t);switch(e.currentChar()){case"{":return j(e,t)||d(t);case"}":return M.UNBALANCED_CLOSING_BRACE,r(),e.next(),c(t,3,"}");case"@":return $(e,t)||d(t);default:if(v(e))return n=c(t,1,D(e)),t.braceNest=0,t.inLinked=!1,n;if(g(e))return c(t,0,function(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if(n===P||n===L)if(g(e))t+=n,e.next();else{if(v(e))break;t+=n,e.next()}else t+=n,e.next()}return t}(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:o}=l;return l.lastType=e,l.lastOffset=t,l.lastStartLoc=n,l.lastEndLoc=o,l.offset=i(),l.startLoc=r(),a.currentChar()===z?c(l,13):F(a,l)},currentOffset:i,currentPosition:r,context:()=>l}}const D=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function j(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function $(e={}){const t=!1!==e.location,{onError:n}=e;function a(e,n,a){const i={type:e};return t&&(i.start=n,i.end=n,i.loc={start:a,end:a}),i}function i(e,n,a,i){t&&(e.end=n,e.loc&&(e.loc.end=a))}function r(e,t){const n=e.context(),r=a(3,n.offset,n.startLoc);return r.value=t,i(r,e.currentOffset(),e.currentPosition()),r}function o(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(5,r,o);return s.index=parseInt(t,10),e.nextToken(),i(s,e.currentOffset(),e.currentPosition()),s}function s(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(4,r,o);return s.key=t,e.nextToken(),i(s,e.currentOffset(),e.currentPosition()),s}function l(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(9,r,o);return s.value=t.replace(D,j),e.nextToken(),i(s,e.currentOffset(),e.currentPosition()),s}function u(e){const t=e.context(),n=a(6,t.offset,t.startLoc);let r=e.nextToken();if(8===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(8,r,o);return 11!==t.type?(M.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,s.value="",i(s,r,o),{nextConsumeToken:t,node:s}):(null==t.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,F(t)),s.value=t.value||"",i(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(9!==r.type&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 10:null==r.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.key=function(e,t){const n=e.context(),r=a(7,n.offset,n.startLoc);return r.value=t,i(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 4:null==r.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.key=s(e,r.value||"");break;case 5:null==r.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.key=o(e,r.value||"");break;case 6:null==r.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(r)),n.key=l(e,r.value||"");break;default:{M.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const o=e.context(),s=a(7,o.offset,o.startLoc);return s.value="",i(s,o.offset,o.startLoc),n.key=s,i(n,o.offset,o.startLoc),{nextConsumeToken:r,node:n}}}return i(n,e.currentOffset(),e.currentPosition()),{node:n}}function d(e){const t=e.context(),n=a(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let c=null;do{const a=c||e.nextToken();switch(c=null,a.type){case 0:null==a.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.items.push(r(e,a.value||""));break;case 5:null==a.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.items.push(o(e,a.value||""));break;case 4:null==a.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.items.push(s(e,a.value||""));break;case 6:null==a.value&&(M.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,F(a)),n.items.push(l(e,a.value||""));break;case 7:{const t=u(e);n.items.push(t.node),c=t.nextConsumeToken||null;break}}}while(13!==t.currentType&&1!==t.currentType);return i(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}return{parse:function(n){const r=I(n,c({},e)),o=r.context(),s=a(0,o.offset,o.startLoc);return t&&s.loc&&(s.loc.source=n),s.body=function(e){const t=e.context(),{offset:n,startLoc:r}=t,o=d(e);return 13===t.currentType?o:function(e,t,n,r){const o=e.context();let s=0===r.items.length;const l=a(1,t,n);l.cases=[],l.cases.push(r);do{const t=d(e);s||(s=0===t.items.length),l.cases.push(t)}while(13!==o.currentType);return i(l,e.currentOffset(),e.currentPosition()),l}(e,n,r,o)}(r),e.onCacheKey&&(s.cacheKey=e.onCacheKey(n)),13!==o.currentType&&(M.UNEXPECTED_LEXICAL_ANALYSIS,o.lastStartLoc,n[o.offset]),i(s,r.currentOffset(),r.currentPosition()),s}}}function F(e){if(13===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function B(e,t){for(let n=0;n1){e.push(`${n("plural")}([`),e.indent(a());const i=t.cases.length;for(let n=0;n{const n=v(t.mode)?t.mode:"normal",a=v(t.filename)?t.filename:"message.intl",i=!!t.sourceMap,r=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",o=t.needIndent?t.needIndent:"arrow"!==n,s=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:a,breakLineCode:i,needIndent:r}=t,o={filename:a,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:i,needIndent:r,indentLevel:0};function s(e,t){o.code+=e}function l(e,t=!0){const n=t?i:"";s(r?n+" ".repeat(e):n)}return!1!==t.location&&e.loc&&(o.source=e.loc.source),{context:()=>o,push:s,indent:function(e=!0){const t=++o.indentLevel;e&&l(t)},deindent:function(e=!0){const t=--o.indentLevel;e&&l(t)},newline:function(){l(o.indentLevel)},helper:e=>`_${e}`,needIndent:()=>o.needIndent}}(e,{mode:n,filename:a,sourceMap:i,breakLineCode:r,needIndent:o});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(o),s.length>0&&(l.push(`const { ${x(s.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),W(l,e),l.deindent(o),l.push("}"),delete e.helpers;const{code:u,map:c}=l.context();return{ast:e,code:u,map:c?c.toJSON():void 0}};function Q(e,t={}){const n=c({},t),a=!!n.jit,i=!!n.minify,r=null==n.optimize||n.optimize,o=$(n).parse(e);return a?(r&&function(e){const t=e.body;2===t.type?H(t):t.cases.forEach((e=>H(e)))}(o),i&&U(o),{ast:o,code:""}):(function(e){const t=function(e){const t={ast:e,helpers:new Set};return{context:()=>t,helper:e=>(t.helpers.add(e),e)}}(e);t.helper("normalize"),e.body&&V(e.body,t);const n=t.context();e.helpers=Array.from(n.helpers)}(o,n),Y(o,n))}function K(e){return t=>function(e,t){const n=t.b||t.body;if(1===(n.t||n.type)){const t=n,a=t.c||t.cases;return e.plural(a.reduce(((t,n)=>[...t,G(e,n)]),[]))}return G(e,n)}(t,e)}function G(e,t){const n=t.s||t.static;if(n)return"text"===e.type?n:e.normalize([n]);{const n=(t.i||t.items).reduce(((t,n)=>[...t,Z(e,n)]),[]);return e.normalize(n)}}function Z(e,t){const n=t.t||t.type;switch(n){case 3:{const e=t;return e.v||e.value}case 9:{const e=t;return e.v||e.value}case 4:{const n=t;return e.interpolate(e.named(n.k||n.key))}case 5:{const n=t;return e.interpolate(e.list(null!=n.i?n.i:n.index))}case 6:{const n=t,a=n.m||n.modifier;return e.linked(Z(e,n.k||n.key),a?Z(e,a):void 0,e.type)}case 7:{const e=t;return e.v||e.value}case 8:{const e=t;return e.v||e.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const X=e=>e;let J=Object.create(null);const ee=e=>_(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e),te={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23};function ne(e,t){return null!=t.locale?ie(t.locale):ie(e.locale)}let ae;function ie(e){if(v(e))return e;if(m(e)){if(e.resolvedOnce&&null!=ae)return ae;if("Function"===e.constructor.name){const t=e();if(b(t))throw Error(te.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ae=t}throw Error(te.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw Error(te.NOT_SUPPORT_LOCALE_TYPE)}function re(e,t,n){return[...new Set([n,...f(t)?t:_(t)?Object.keys(t):v(t)?[t]:[n]])]}function oe(e,t,n){const a=v(n)?n:ge,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let r=i.__localeChainCache.get(a);if(!r){r=[];let e=[n];for(;f(e);)e=se(r,e,t);const o=f(t)||!k(t)?t:t.default?t.default:null;e=v(o)?[o]:o,f(e)&&se(r,e,!1),i.__localeChainCache.set(a,r)}return r}function se(e,t,n){let a=!0;for(let i=0;i`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let ye,we,ke,xe=null;const Se=e=>{xe=e},Ce=()=>xe;let Te=0;function Me(e={}){const t=m(e.onWarn)?e.onWarn:S,n=v(e.version)?e.version:me,a=v(e.locale)||m(e.locale)?e.locale:ge,i=m(a)?ge:a,r=f(e.fallbackLocale)||k(e.fallbackLocale)||v(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:i,o=k(e.messages)?e.messages:{[i]:{}},s=k(e.datetimeFormats)?e.datetimeFormats:{[i]:{}},u=k(e.numberFormats)?e.numberFormats:{[i]:{}},d=c({},e.modifiers||{},{upper:(e,t)=>"text"===t&&v(e)?e.toUpperCase():"vnode"===t&&_(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&v(e)?e.toLowerCase():"vnode"===t&&_(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&v(e)?be(e):"vnode"===t&&_(e)&&"__v_isVNode"in e?be(e.children):e}),h=e.pluralRules||{},p=m(e.missing)?e.missing:null,b=!g(e.missingWarn)&&!l(e.missingWarn)||e.missingWarn,y=!g(e.fallbackWarn)&&!l(e.fallbackWarn)||e.fallbackWarn,w=!!e.fallbackFormat,x=!!e.unresolving,C=m(e.postTranslation)?e.postTranslation:null,T=k(e.processor)?e.processor:null,M=!g(e.warnHtmlMessage)||e.warnHtmlMessage,E=!!e.escapeParameter,P=m(e.messageCompiler)?e.messageCompiler:ye,A=m(e.messageResolver)?e.messageResolver:we||fe,L=m(e.localeFallbacker)?e.localeFallbacker:ke||re,O=_(e.fallbackContext)?e.fallbackContext:void 0,N=e,R=_(N.__datetimeFormatters)?N.__datetimeFormatters:new Map,z=_(N.__numberFormatters)?N.__numberFormatters:new Map,q=_(N.__meta)?N.__meta:{};Te++;const I={version:n,cid:Te,locale:a,fallbackLocale:r,messages:o,modifiers:d,pluralRules:h,missing:p,missingWarn:b,fallbackWarn:y,fallbackFormat:w,unresolving:x,postTranslation:C,processor:T,warnHtmlMessage:M,escapeParameter:E,messageCompiler:P,messageResolver:A,localeFallbacker:L,fallbackContext:O,onWarn:t,__meta:q};return I.datetimeFormats=s,I.numberFormats=u,I.__datetimeFormatters=R,I.__numberFormatters=z,I}function Ee(e,t,n,a,i){const{missing:r,onWarn:o}=e;if(null!==r){const a=r(e,n,t,i);return v(a)?a:t}return t}function Pe(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Ae(e,t){const n=t.indexOf(e);if(-1===n)return!1;for(let r=n+1;r{Oe.includes(e)?u[e]=n[e]:r[e]=n[e]})),v(a)?r.locale=a:k(a)&&(u=a),k(i)&&(u=i),[r.key||"",l,r,u]}function Re(e,t,n){const a=e;for(const e in n){const n=`${t}__${e}`;a.__datetimeFormatters.has(n)&&a.__datetimeFormatters.delete(n)}}function ze(e,...t){const{numberFormats:n,unresolving:a,fallbackLocale:i,onWarn:r,localeFallbacker:o}=e,{__numberFormatters:s}=e,[l,d,h,p]=Ie(...t);g(h.missingWarn)?h.missingWarn:e.missingWarn,g(h.fallbackWarn)?h.fallbackWarn:e.fallbackWarn;const f=!!h.part,m=ne(e,h),_=o(e,i,m);if(!v(l)||""===l)return new Intl.NumberFormat(m,p).format(d);let b,y={},w=null;for(let t=0;t<_.length&&(b=_[t],y=n[b]||{},w=y[l],!k(w));t++)Ee(e,l,b,0,"number format");if(!k(w)||!v(b))return a?ve:l;let x=`${b}__${l}`;u(p)||(x=`${x}__${JSON.stringify(p)}`);let S=s.get(x);return S||(S=new Intl.NumberFormat(b,c({},w,p)),s.set(x,S)),f?S.formatToParts(d):S.format(d)}const qe=["localeMatcher","style","currency","currencyDisplay","currencySign","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","minimumSignificantDigits","maximumSignificantDigits","compactDisplay","notation","signDisplay","unit","unitDisplay","roundingMode","roundingPriority","roundingIncrement","trailingZeroDisplay"];function Ie(...e){const[t,n,a,i]=e,r={};let s={};if(!o(t))throw Error(te.INVALID_ARGUMENT);const l=t;return v(n)?r.key=n:k(n)&&Object.keys(n).forEach((e=>{qe.includes(e)?s[e]=n[e]:r[e]=n[e]})),v(a)?r.locale=a:k(a)&&(s=a),k(i)&&(s=i),[r.key||"",l,r,s]}function De(e,t,n){const a=e;for(const e in n){const n=`${t}__${e}`;a.__numberFormatters.has(n)&&a.__numberFormatters.delete(n)}}const je=e=>e,$e=e=>"",Fe="text",Be=e=>0===e.length?"":x(e),Ve=e=>null==e?"":f(e)||k(e)&&e.toString===y?JSON.stringify(e,null,2):String(e);function He(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function Ue(e={}){const t=e.locale,n=function(e){const t=o(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(o(e.named.count)||o(e.named.n))?o(e.named.count)?e.named.count:o(e.named.n)?e.named.n:t:t}(e),a=_(e.pluralRules)&&v(t)&&m(e.pluralRules[t])?e.pluralRules[t]:He,i=_(e.pluralRules)&&v(t)&&m(e.pluralRules[t])?He:void 0,r=e.list||[],s=e.named||{};function l(t,n){return(m(e.messages)?e.messages(t,!!n):!!_(e.messages)&&e.messages[t])||(e.parent?e.parent.message(t):$e)}o(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,s);const u=k(e.processor)&&m(e.processor.normalize)?e.processor.normalize:Be,d=k(e.processor)&&m(e.processor.interpolate)?e.processor.interpolate:Ve,h={list:e=>r[e],named:e=>s[e],plural:e=>e[a(n,e.length,i)],linked:(t,...n)=>{const[a,i]=n;let r="text",o="";1===n.length?_(a)?(o=a.modifier||o,r=a.type||r):v(a)&&(o=a||o):2===n.length&&(v(a)&&(o=a||o),v(i)&&(r=i||r));const s=l(t,!0)(h),u="vnode"===r&&f(s)&&o?s[0]:s;return o?(c=o,e.modifiers?e.modifiers[c]:je)(u,r):u;var c},message:l,type:k(e.processor)&&v(e.processor.type)?e.processor.type:Fe,interpolate:d,normalize:u,values:c({},r,s)};return h}const We=()=>"",Ye=e=>m(e);function Qe(e,...t){const{fallbackFormat:n,postTranslation:a,unresolving:i,messageCompiler:r,fallbackLocale:s,messages:l}=e,[u,c]=Ze(...t),h=g(c.missingWarn)?c.missingWarn:e.missingWarn,p=g(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,b=g(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,w=v(c.default)||g(c.default)?g(c.default)?r?u:()=>u:c.default:n?r?u:()=>u:null,k=n||null!=w&&(v(w)||m(w)),x=ne(e,c);b&&function(e){f(e.list)?e.list=e.list.map((e=>v(e)?d(e):e)):_(e.named)&&Object.keys(e.named).forEach((t=>{v(e.named[t])&&(e.named[t]=d(e.named[t]))}))}(c);let[S,C,T]=y?[u,x,l[x]||{}]:Ke(e,u,x,s,p,h),M=S,E=u;if(y||v(M)||ee(M)||Ye(M)||k&&(M=w,E=M),!(y||(v(M)||ee(M)||Ye(M))&&v(C)))return i?ve:u;let P=!1;const A=Ye(M)?M:Ge(e,u,C,M,E,(()=>{P=!0}));if(P)return M;const L=function(e,t,n,a){const{modifiers:i,pluralRules:r,messageResolver:s,fallbackLocale:l,fallbackWarn:u,missingWarn:c,fallbackContext:d}=e,h={locale:t,modifiers:i,pluralRules:r,messages:(a,i)=>{let r=s(n,a);if(null==r&&(d||i)){const[,,n]=Ke(d||e,a,t,l,u,c);r=s(n,a)}if(v(r)||ee(r)){let n=!1;const i=Ge(e,a,t,r,a,(()=>{n=!0}));return n?We:i}return Ye(r)?r:We}};return e.processor&&(h.processor=e.processor),a.list&&(h.list=a.list),a.named&&(h.named=a.named),o(a.plural)&&(h.pluralIndex=a.plural),h}(e,C,T,c),O=function(e,t,n){return t(n)}(0,A,Ue(L));return a?a(O,u):O}function Ke(e,t,n,a,i,r){const{messages:o,onWarn:s,messageResolver:l,localeFallbacker:u}=e,c=u(e,a,n);let d,h={},p=null;for(let n=0;na;return e.locale=n,e.key=t,e}const u=s(a,function(e,t,n,a,r,o){return{locale:t,key:n,warnHtmlMessage:r,onError:e=>{throw o&&o(e),e},onCacheKey:e=>i(t,n,e)}}(0,n,r,0,l,o));return u.locale=n,u.key=t,u.source=a,u}function Ze(...e){const[t,n,a]=e,i={};if(!(v(t)||o(t)||Ye(t)||ee(t)))throw Error(te.INVALID_ARGUMENT);const r=o(t)?String(t):(Ye(t),t);return o(n)?i.plural=n:v(n)?i.default=n:k(n)&&!u(n)?i.named=n:f(n)&&(i.list=n),o(a)?i.plural=a:v(a)?i.default=a:k(a)&&c(i,a),[r,i]}const Xe="10.0.3",Je={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34},et=a("__translateVNode"),tt=a("__datetimeParts"),nt=a("__numberParts"),at=a("__setPluralRules"),it=a("__injectWithOption"),rt=a("__dispose");function ot(e){if(!_(e))return e;for(const t in e)if(p(e,t))if(t.includes(".")){const n=t.split("."),a=n.length-1;let i=e,r=!1;for(let e=0;e{if("locale"in e&&"resource"in e){const{locale:t,resource:n}=e;t?(o[t]=o[t]||{},T(n,o[t])):T(n,o)}else v(e)&&T(JSON.parse(e),o)})),null==i&&r)for(const e in o)p(o,e)&&ot(o[e]);return o}function lt(e,t,n){let a=_(t.messages)?t.messages:{};"__i18nGlobal"in n&&(a=st(e.locale.value,{messages:a,__i18n:n.__i18nGlobal}));const i=Object.keys(a);if(i.length&&i.forEach((t=>{e.mergeLocaleMessage(t,a[t])})),_(t.datetimeFormats)){const n=Object.keys(t.datetimeFormats);n.length&&n.forEach((n=>{e.mergeDateTimeFormat(n,t.datetimeFormats[n])}))}if(_(t.numberFormats)){const n=Object.keys(t.numberFormats);n.length&&n.forEach((n=>{e.mergeNumberFormat(n,t.numberFormats[n])}))}}function ut(e){return t.createVNode(t.Text,null,e,0)}const ct=()=>[],dt=()=>!1;let ht=0;function pt(e){return(n,a,i,r)=>e(a,i,t.getCurrentInstance()||void 0,r)}function ft(e={}){const{__root:a,__injectWithOption:i}=e,r=void 0===a,s=e.flatJson,u=n?t.ref:t.shallowRef;let d=!g(e.inheritLocale)||e.inheritLocale;const h=u(a&&d?a.locale.value:v(e.locale)?e.locale:ge),b=u(a&&d?a.fallbackLocale.value:v(e.fallbackLocale)||f(e.fallbackLocale)||k(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:h.value),y=u(st(h.value,e)),w=u(k(e.datetimeFormats)?e.datetimeFormats:{[h.value]:{}}),x=u(k(e.numberFormats)?e.numberFormats:{[h.value]:{}});let S=a?a.missingWarn:!g(e.missingWarn)&&!l(e.missingWarn)||e.missingWarn,C=a?a.fallbackWarn:!g(e.fallbackWarn)&&!l(e.fallbackWarn)||e.fallbackWarn,M=a?a.fallbackRoot:!g(e.fallbackRoot)||e.fallbackRoot,E=!!e.fallbackFormat,P=m(e.missing)?e.missing:null,A=m(e.missing)?pt(e.missing):null,L=m(e.postTranslation)?e.postTranslation:null,O=a?a.warnHtmlMessage:!g(e.warnHtmlMessage)||e.warnHtmlMessage,N=!!e.escapeParameter;const R=a?a.modifiers:k(e.modifiers)?e.modifiers:{};let z,q=e.pluralRules||a&&a.pluralRules;z=(()=>{r&&Se(null);const t={version:Xe,locale:h.value,fallbackLocale:b.value,messages:y.value,modifiers:R,pluralRules:q,missing:null===A?void 0:A,missingWarn:S,fallbackWarn:C,fallbackFormat:E,unresolving:!0,postTranslation:null===L?void 0:L,warnHtmlMessage:O,escapeParameter:N,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=w.value,t.numberFormats=x.value,t.__datetimeFormatters=k(z)?z.__datetimeFormatters:void 0,t.__numberFormatters=k(z)?z.__numberFormatters:void 0;const n=Me(t);return r&&Se(n),n})(),Pe(z,h.value,b.value);const I=t.computed({get:()=>h.value,set:e=>{h.value=e,z.locale=h.value}}),D=t.computed({get:()=>b.value,set:e=>{b.value=e,z.fallbackLocale=b.value,Pe(z,h.value,e)}}),j=t.computed((()=>y.value)),$=t.computed((()=>w.value)),F=t.computed((()=>x.value)),B=(e,t,n,i,s,l)=>{let u;h.value,b.value,y.value,w.value,x.value;try{r||(z.fallbackContext=a?Ce():void 0),u=e(z)}finally{r||(z.fallbackContext=void 0)}if("translate exists"!==n&&o(u)&&u===ve||"translate exists"===n&&!u){const[e,n]=t();return a&&M?i(a):s(e)}if(l(u))return u;throw Error(Je.UNEXPECTED_RETURN_TYPE)};function V(...e){return B((t=>Reflect.apply(Qe,null,[t,...e])),(()=>Ze(...e)),"translate",(t=>Reflect.apply(t.t,t,[...e])),(e=>e),(e=>v(e)))}const H={normalize:function(e){return e.map((e=>v(e)||o(e)||g(e)?ut(String(e)):e))},interpolate:e=>e,type:"vnode"};function U(e){return y.value[e]||{}}ht++,a&&n&&(t.watch(a.locale,(e=>{d&&(h.value=e,z.locale=e,Pe(z,h.value,b.value))})),t.watch(a.fallbackLocale,(e=>{d&&(b.value=e,z.fallbackLocale=e,Pe(z,h.value,b.value))})));const W={id:ht,locale:I,fallbackLocale:D,get inheritLocale(){return d},set inheritLocale(e){d=e,e&&a&&(h.value=a.locale.value,b.value=a.fallbackLocale.value,Pe(z,h.value,b.value))},get availableLocales(){return Object.keys(y.value).sort()},messages:j,get modifiers(){return R},get pluralRules(){return q||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(e){S=e,z.missingWarn=S},get fallbackWarn(){return C},set fallbackWarn(e){C=e,z.fallbackWarn=C},get fallbackRoot(){return M},set fallbackRoot(e){M=e},get fallbackFormat(){return E},set fallbackFormat(e){E=e,z.fallbackFormat=E},get warnHtmlMessage(){return O},set warnHtmlMessage(e){O=e,z.warnHtmlMessage=e},get escapeParameter(){return N},set escapeParameter(e){N=e,z.escapeParameter=e},t:V,getLocaleMessage:U,setLocaleMessage:function(e,t){if(s){const n={[e]:t};for(const e in n)p(n,e)&&ot(n[e]);t=n[e]}y.value[e]=t,z.messages=y.value},mergeLocaleMessage:function(e,t){y.value[e]=y.value[e]||{};const n={[e]:t};if(s)for(const e in n)p(n,e)&&ot(n[e]);T(t=n[e],y.value[e]),z.messages=y.value},getPostTranslationHandler:function(){return m(L)?L:null},setPostTranslationHandler:function(e){L=e,z.postTranslation=e},getMissingHandler:function(){return P},setMissingHandler:function(e){null!==e&&(A=pt(e)),P=e,z.missing=A},[at]:function(e){q=e,z.pluralRules=q}};return W.datetimeFormats=$,W.numberFormats=F,W.rt=function(...e){const[t,n,a]=e;if(a&&!_(a))throw Error(Je.INVALID_ARGUMENT);return V(t,n,c({resolvedMessage:!0},a||{}))},W.te=function(e,t){return B((()=>{if(!e)return!1;const n=U(v(t)?t:h.value),a=z.messageResolver(n,e);return ee(a)||Ye(a)||v(a)}),(()=>[e]),"translate exists",(n=>Reflect.apply(n.te,n,[e,t])),dt,(e=>g(e)))},W.tm=function(e){const t=function(e){let t=null;const n=oe(z,b.value,h.value);for(let a=0;aReflect.apply(Le,null,[t,...e])),(()=>Ne(...e)),"datetime format",(t=>Reflect.apply(t.d,t,[...e])),(()=>_e),(e=>v(e)))},W.n=function(...e){return B((t=>Reflect.apply(ze,null,[t,...e])),(()=>Ie(...e)),"number format",(t=>Reflect.apply(t.n,t,[...e])),(()=>_e),(e=>v(e)))},W.getDateTimeFormat=function(e){return w.value[e]||{}},W.setDateTimeFormat=function(e,t){w.value[e]=t,z.datetimeFormats=w.value,Re(z,e,t)},W.mergeDateTimeFormat=function(e,t){w.value[e]=c(w.value[e]||{},t),z.datetimeFormats=w.value,Re(z,e,t)},W.getNumberFormat=function(e){return x.value[e]||{}},W.setNumberFormat=function(e,t){x.value[e]=t,z.numberFormats=x.value,De(z,e,t)},W.mergeNumberFormat=function(e,t){x.value[e]=c(x.value[e]||{},t),z.numberFormats=x.value,De(z,e,t)},W[it]=i,W[et]=function(...e){return B((t=>{let n;const a=t;try{a.processor=H,n=Reflect.apply(Qe,null,[a,...e])}finally{a.processor=null}return n}),(()=>Ze(...e)),"translate",(t=>t[et](...e)),(e=>[ut(e)]),(e=>f(e)))},W[tt]=function(...e){return B((t=>Reflect.apply(Le,null,[t,...e])),(()=>Ne(...e)),"datetime format",(t=>t[tt](...e)),ct,(e=>v(e)||f(e)))},W[nt]=function(...e){return B((t=>Reflect.apply(ze,null,[t,...e])),(()=>Ie(...e)),"number format",(t=>t[nt](...e)),ct,(e=>v(e)||f(e)))},W}function mt(e={}){const t=ft(function(e){const t=v(e.locale)?e.locale:ge,n=v(e.fallbackLocale)||f(e.fallbackLocale)||k(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:t,a=m(e.missing)?e.missing:void 0,i=!g(e.silentTranslationWarn)&&!l(e.silentTranslationWarn)||!e.silentTranslationWarn,r=!g(e.silentFallbackWarn)&&!l(e.silentFallbackWarn)||!e.silentFallbackWarn,o=!g(e.fallbackRoot)||e.fallbackRoot,s=!!e.formatFallbackMessages,u=k(e.modifiers)?e.modifiers:{},d=e.pluralizationRules,h=m(e.postTranslation)?e.postTranslation:void 0,p=!v(e.warnHtmlInMessage)||"off"!==e.warnHtmlInMessage,_=!!e.escapeParameterHtml,b=!g(e.sync)||e.sync;let y=e.messages;if(k(e.sharedMessages)){const t=e.sharedMessages;y=Object.keys(t).reduce(((e,n)=>{const a=e[n]||(e[n]={});return c(a,t[n]),e}),y||{})}const{__i18n:w,__root:x,__injectWithOption:S}=e,C=e.datetimeFormats,T=e.numberFormats;return{locale:t,fallbackLocale:n,messages:y,flatJson:e.flatJson,datetimeFormats:C,numberFormats:T,missing:a,missingWarn:i,fallbackWarn:r,fallbackRoot:o,fallbackFormat:s,modifiers:u,pluralRules:d,postTranslation:h,warnHtmlMessage:p,escapeParameter:_,messageResolver:e.messageResolver,inheritLocale:b,__i18n:w,__root:x,__injectWithOption:S}}(e)),{__extender:n}=e,a={id:t.id,get locale(){return t.locale.value},set locale(e){t.locale.value=e},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(e){t.fallbackLocale.value=e},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(e){t.setMissingHandler(e)},get silentTranslationWarn(){return g(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(e){t.missingWarn=g(e)?!e:e},get silentFallbackWarn(){return g(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(e){t.fallbackWarn=g(e)?!e:e},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(e){t.fallbackFormat=e},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(e){t.setPostTranslationHandler(e)},get sync(){return t.inheritLocale},set sync(e){t.inheritLocale=e},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(e){t.warnHtmlMessage="off"!==e},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(e){t.escapeParameter=e},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t:(...e)=>Reflect.apply(t.t,t,[...e]),rt:(...e)=>Reflect.apply(t.rt,t,[...e]),tc(...e){const[n,a,i]=e,r={plural:1};let s=null,l=null;if(!v(n))throw Error(Je.INVALID_ARGUMENT);const u=n;return v(a)?r.locale=a:o(a)?r.plural=a:f(a)?s=a:k(a)&&(l=a),v(i)?r.locale=i:f(i)?s=i:k(i)&&(l=i),Reflect.apply(t.t,t,[u,s||l||{},r])},te:(e,n)=>t.te(e,n),tm:e=>t.tm(e),getLocaleMessage:e=>t.getLocaleMessage(e),setLocaleMessage(e,n){t.setLocaleMessage(e,n)},mergeLocaleMessage(e,n){t.mergeLocaleMessage(e,n)},d:(...e)=>Reflect.apply(t.d,t,[...e]),getDateTimeFormat:e=>t.getDateTimeFormat(e),setDateTimeFormat(e,n){t.setDateTimeFormat(e,n)},mergeDateTimeFormat(e,n){t.mergeDateTimeFormat(e,n)},n:(...e)=>Reflect.apply(t.n,t,[...e]),getNumberFormat:e=>t.getNumberFormat(e),setNumberFormat(e,n){t.setNumberFormat(e,n)},mergeNumberFormat(e,n){t.mergeNumberFormat(e,n)}};return a.__extender=n,a}function vt(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[at](t.pluralizationRules||e.pluralizationRules);const n=st(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach((t=>e.mergeLocaleMessage(t,n[t]))),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach((n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n]))),t.numberFormats&&Object.keys(t.numberFormats).forEach((n=>e.mergeNumberFormat(n,t.numberFormats[n]))),e}const gt={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};function _t(){return t.Fragment}const bt=t.defineComponent({name:"i18n-t",props:c({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>o(e)||!isNaN(e)}},gt),setup(e,n){const{slots:a,attrs:i}=n,r=e.i18n||At({useScope:e.scope,__useComponent:!0});return()=>{const o=Object.keys(a).filter((e=>"_"!==e)),s={};e.locale&&(s.locale=e.locale),void 0!==e.plural&&(s.plural=v(e.plural)?+e.plural:e.plural);const l=function({slots:e},n){return 1===n.length&&"default"===n[0]?(e.default?e.default():[]).reduce(((e,n)=>[...e,...n.type===t.Fragment?n.children:[n]]),[]):n.reduce(((t,n)=>{const a=e[n];return a&&(t[n]=a()),t}),{})}(n,o),u=r[et](e.keypath,l,s),d=c({},i),h=v(e.tag)||_(e.tag)?e.tag:_t();return t.h(h,d,u)}}}),yt=bt;function wt(e,n,a,i){const{slots:r,attrs:o}=n;return()=>{const n={part:!0};let s={};e.locale&&(n.locale=e.locale),v(e.format)?n.key=e.format:_(e.format)&&(v(e.format.key)&&(n.key=e.format.key),s=Object.keys(e.format).reduce(((t,n)=>a.includes(n)?c({},t,{[n]:e.format[n]}):t),{}));const l=i(e.value,n,s);let u=[n.key];f(l)?u=l.map(((e,t)=>{const n=r[e.type],a=n?n({[e.type]:e.value,index:t,parts:l}):[e.value];var i;return f(i=a)&&!v(i[0])&&(a[0].key=`${e.type}-${t}`),a})):v(l)&&(u=[l]);const d=c({},o),h=v(e.tag)||_(e.tag)?e.tag:_t();return t.h(h,d,u)}}const kt=t.defineComponent({name:"i18n-n",props:c({value:{type:Number,required:!0},format:{type:[String,Object]}},gt),setup(e,t){const n=e.i18n||At({useScope:e.scope,__useComponent:!0});return wt(e,t,qe,((...e)=>n[nt](...e)))}}),xt=kt,St=t.defineComponent({name:"i18n-d",props:c({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},gt),setup(e,t){const n=e.i18n||At({useScope:e.scope,__useComponent:!0});return wt(e,t,Oe,((...e)=>n[tt](...e)))}}),Ct=St;function Tt(e){const a=t=>{const{instance:n,value:a}=t;if(!n||!n.$)throw Error(Je.UNEXPECTED_ERROR);const i=function(e,t){const n=e;if("composition"===e.mode)return n.__getInstance(t)||e.global;{const a=n.__getInstance(t);return null!=a?a.__composer:e.global.__composer}}(e,n.$),r=Mt(a);return[Reflect.apply(i.t,i,[...Et(r)]),i]};return{created:(i,r)=>{const[o,s]=a(r);n&&e.global===s&&(i.__i18nWatcher=t.watch(s.locale,(()=>{r.instance&&r.instance.$forceUpdate()}))),i.__composer=s,i.textContent=o},unmounted:e=>{n&&e.__i18nWatcher&&(e.__i18nWatcher(),e.__i18nWatcher=void 0,delete e.__i18nWatcher),e.__composer&&(e.__composer=void 0,delete e.__composer)},beforeUpdate:(e,{value:t})=>{if(e.__composer){const n=e.__composer,a=Mt(t);e.textContent=Reflect.apply(n.t,n,[...Et(a)])}},getSSRProps:e=>{const[t]=a(e);return{textContent:t}}}}function Mt(e){if(v(e))return{path:e};if(k(e)){if(!("path"in e))throw Error(Je.REQUIRED_VALUE,"path");return e}throw Error(Je.INVALID_VALUE)}function Et(e){const{path:t,locale:n,args:a,choice:i,plural:r}=e,s={},l=a||{};return v(n)&&(s.locale=n),o(i)&&(s.plural=i),o(r)&&(s.plural=r),[t,l,s]}const Pt=a("global-vue-i18n");function At(e={}){const n=t.getCurrentInstance();if(null==n)throw Error(Je.MUST_BE_CALL_SETUP_TOP);if(!n.isCE&&null!=n.appContext.app&&!n.appContext.app.__VUE_I18N_SYMBOL__)throw Error(Je.NOT_INSTALLED);const a=function(e){const n=t.inject(e.isCE?Pt:e.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw Error(e.isCE?Je.NOT_INSTALLED_WITH_PROVIDE:Je.UNEXPECTED_ERROR);return n}(n),i=function(e){return"composition"===e.mode?e.global:e.global.__composer}(a),r=function(e){return e.type}(n),o=function(e,t){return u(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}(e,r);if("global"===o)return lt(i,e,r),i;if("parent"===o){let t=function(e,t,n=!1){let a=null;const i=t.root;let r=function(e,t=!1){return null==e?null:t&&e.vnode.ctx||e.parent}(t,n);for(;null!=r;){const t=e;if("composition"===e.mode)a=t.__getInstance(r);else{const e=t.__getInstance(r);null!=e&&(a=e.__composer,n&&a&&!a[it]&&(a=null))}if(null!=a)break;if(i===r)break;r=r.parent}return a}(a,n,e.__useComponent);return null==t&&(t=i),t}const s=a;let l=s.__getInstance(n);if(null==l){const a=c({},e);"__i18n"in r&&(a.__i18n=r.__i18n),i&&(a.__root=i),l=ft(a),s.__composerExtend&&(l[rt]=s.__composerExtend(l)),function(e,n,a){t.onMounted((()=>{}),n),t.onUnmounted((()=>{const t=a;e.__deleteInstance(n);const i=t[rt];i&&(i(),delete t[rt])}),n)}(s,n,l),s.__setInstance(n,l)}return l}const Lt=["locale","fallbackLocale","availableLocales"],Ot=["t","rt","d","n","tm","te"];return ye=function(e,t){if(v(e)){!g(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||X)(e),a=J[n];if(a)return a;const{ast:i,detectError:r}=function(e,t={}){let n=!1;const a=t.onError||E;return t.onError=e=>{n=!0,a(e)},{...Q(e,t),detectError:n}}(e,{...t,location:!1,jit:!0}),o=K(i);return r?o:J[n]=o}{const t=e.cacheKey;if(t){return J[t]||(J[t]=K(e))}return K(e)}},we=function(e,t){if(!_(e))return null;let n=pe.get(t);if(n||(n=function(e){const t=[];let n,a,i,r,o,s,l,u=-1,c=0,d=0;const h=[];function p(){const t=e[u+1];if(5===c&&"'"===t||6===c&&'"'===t)return u++,i="\\"+t,h[0](),!0}for(h[0]=()=>{void 0===a?a=i:a+=i},h[1]=()=>{void 0!==a&&(t.push(a),a=void 0)},h[2]=()=>{h[0](),d++},h[3]=()=>{if(d>0)d--,c=4,h[0]();else{if(d=0,void 0===a)return!1;if(a=function(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(n=t,de.test(n)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}(a),!1===a)return!1;h[1]()}};null!==c;)if(u++,n=e[u],"\\"!==n||!p()){if(r=he(n),l=ce[c],o=l[r]||l.l||8,8===o)return;if(c=o[0],void 0!==o[1]&&(s=h[o[1]],s&&(i=n,!1===s())))return;if(7===c)return t}}(t),n&&pe.set(t,n)),!n)return null;const a=n.length;let i=e,r=0;for(;rmt(e))):a.run((()=>ft(e)));if(null==i)throw Error(Je.UNEXPECTED_ERROR);return[a,i]}(e,i),u=a(""),c={get mode(){return i?"legacy":"composition"},async install(e,...n){if(e.__VUE_I18N_SYMBOL__=u,e.provide(e.__VUE_I18N_SYMBOL__,c),k(n[0])){const e=n[0];c.__composerExtend=e.__composerExtend,c.__vueI18nExtend=e.__vueI18nExtend}let a=null;!i&&r&&(a=function(e,n){const a=Object.create(null);Lt.forEach((e=>{const i=Object.getOwnPropertyDescriptor(n,e);if(!i)throw Error(Je.UNEXPECTED_ERROR);const r=t.isRef(i.value)?{get:()=>i.value.value,set(e){i.value.value=e}}:{get:()=>i.get&&i.get()};Object.defineProperty(a,e,r)})),e.config.globalProperties.$i18n=a,Ot.forEach((t=>{const a=Object.getOwnPropertyDescriptor(n,t);if(!a||!a.value)throw Error(Je.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${t}`,a)}));return()=>{delete e.config.globalProperties.$i18n,Ot.forEach((t=>{delete e.config.globalProperties[`$${t}`]}))}}(e,c.global)),function(e,t,...n){const a=k(n[0])?n[0]:{};(!g(a.globalInstall)||a.globalInstall)&&([bt.name,"I18nT"].forEach((t=>e.component(t,bt))),[kt.name,"I18nN"].forEach((t=>e.component(t,kt))),[St.name,"I18nD"].forEach((t=>e.component(t,St)))),e.directive("t",Tt(t))}(e,c,...n),i&&e.mixin(function(e,n,a){return{beforeCreate(){const i=t.getCurrentInstance();if(!i)throw Error(Je.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const t=r.i18n;if(r.__i18n&&(t.__i18n=r.__i18n),t.__root=n,this===this.$root)this.$i18n=vt(e,t);else{t.__injectWithOption=!0,t.__extender=a.__vueI18nExtend,this.$i18n=mt(t);const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=vt(e,r);else{this.$i18n=mt({__i18n:r.__i18n,__injectWithOption:!0,__extender:a.__vueI18nExtend,__root:n});const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&<(n,r,r),this.$t=(...e)=>this.$i18n.t(...e),this.$rt=(...e)=>this.$i18n.rt(...e),this.$tc=(...e)=>this.$i18n.tc(...e),this.$te=(e,t)=>this.$i18n.te(e,t),this.$d=(...e)=>this.$i18n.d(...e),this.$n=(...e)=>this.$i18n.n(...e),this.$tm=e=>this.$i18n.tm(e),a.__setInstance(i,this.$i18n)},mounted(){},unmounted(){const e=t.getCurrentInstance();if(!e)throw Error(Je.UNEXPECTED_ERROR);const n=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__disposer&&(n.__disposer(),delete n.__disposer,delete n.__extender),a.__deleteInstance(e),delete this.$i18n}}}(l,l.__composer,c));const o=e.unmount;e.unmount=()=>{a&&a(),c.dispose(),o()}},get global(){return l},dispose(){s.stop()},__instances:o,__getInstance:function(e){return o.get(e)||null},__setInstance:function(e,t){o.set(e,t)},__deleteInstance:function(e){o.delete(e)}};return c},e.useI18n=At,e.vTDirective=Tt,e}({},Vue),VueRouter=function(e,t){"use strict";const n="undefined"!=typeof document;function a(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]||e.default&&a(e.default)}const r=Object.assign;function o(e,t){const n={};for(const a in t){const i=t[a];n[a]=l(i)?i.map(e):e(i)}return n}const s=()=>{},l=Array.isArray;function u(e){const t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const c=/#/g,d=/&/g,h=/\//g,p=/=/g,f=/\?/g,m=/\+/g,v=/%5B/g,g=/%5D/g,_=/%5E/g,b=/%60/g,y=/%7B/g,w=/%7C/g,k=/%7D/g,x=/%20/g;function S(e){return encodeURI(""+e).replace(w,"|").replace(v,"[").replace(g,"]")}function C(e){return S(e).replace(m,"%2B").replace(x,"+").replace(c,"%23").replace(d,"%26").replace(b,"`").replace(y,"{").replace(k,"}").replace(_,"^")}function T(e){return null==e?"":function(e){return S(e).replace(c,"%23").replace(f,"%3F")}(e).replace(h,"%2F")}function M(e){try{return decodeURIComponent(""+e)}catch(t){u(`Error decoding "${e}". Using original value`)}return""+e}const E=/\/$/,P=e=>e.replace(E,"");function A(e,t,n="/"){let a,i={},r="",o="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(a=t.slice(0,l),r=t.slice(l+1,s>-1?s:t.length),i=e(r)),s>-1&&(a=a||t.slice(0,s),o=t.slice(s,t.length)),a=function(e,t){if(e.startsWith("/"))return e;if(!t.startsWith("/"))return u(`Cannot resolve a relative location without an absolute path. Trying to resolve "${e}" from "${t}". It should look like "/${t}".`),e;if(!e)return t;const n=t.split("/"),a=e.split("/"),i=a[a.length-1];".."!==i&&"."!==i||a.push("");let r,o,s=n.length-1;for(r=0;r1&&s--}return n.slice(0,s).join("/")+"/"+a.slice(r).join("/")}(null!=a?a:t,n),{fullPath:a+(r&&"?")+r+o,path:a,query:i,hash:M(o)}}function L(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function O(e,t,n){const a=t.matched.length-1,i=n.matched.length-1;return a>-1&&a===i&&N(t.matched[a],n.matched[i])&&R(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function N(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function R(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!z(e[n],t[n]))return!1;return!0}function z(e,t){return l(e)?q(e,t):l(t)?q(t,e):e===t}function q(e,t){return l(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}const I={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var D,j;!function(e){e.pop="pop",e.push="push"}(D||(D={})),function(e){e.back="back",e.forward="forward",e.unknown=""}(j||(j={}));function $(e){if(!e)if(n){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),P(e)}const F=/^[^#]+#/;function B(e,t){return e.replace(F,"#")+t}const V=()=>({left:window.scrollX,top:window.scrollY});function H(e){let t;if("el"in e){const n=e.el,a="string"==typeof n&&n.startsWith("#");if(!("string"!=typeof e.el||a&&document.getElementById(e.el.slice(1))))try{const t=document.querySelector(e.el);if(a&&t)return void u(`The selector "${e.el}" should be passed as "el: document.querySelector('${e.el}')" because it starts with "#".`)}catch(t){return void u(`The selector "${e.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`)}const i="string"==typeof n?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return void u(`Couldn't find element using selector "${e.el}" returned by scrollBehavior.`);t=function(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function U(e,t){return(history.state?history.state.position-t:-1)+e}const W=new Map;let Y=()=>location.protocol+"//"+location.host;function Q(e,t){const{pathname:n,search:a,hash:i}=t,r=e.indexOf("#");if(r>-1){let t=i.includes(e.slice(r))?e.slice(r).length:1,n=i.slice(t);return"/"!==n[0]&&(n="/"+n),L(n,"")}return L(n,e)+a+i}function K(e,t,n,a=!1,i=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:i?V():null}}function G(e){const t=function(e){const{history:t,location:n}=window,a={value:Q(e,n)},i={value:t.state};function o(a,r,o){const s=e.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?e:e.slice(s))+a:Y()+e+a;try{t[o?"replaceState":"pushState"](r,"",l),i.value=r}catch(e){u("Error with push/replace State",e),n[o?"replace":"assign"](l)}}return i.value||o(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:a,state:i,push:function(e,n){const s=r({},i.value,t.state,{forward:e,scroll:V()});t.state||u("history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state"),o(s.current,s,!0),o(e,r({},K(a.value,e,null),{position:s.position+1},n),!1),a.value=e},replace:function(e,n){o(e,r({},t.state,K(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),a.value=e}}}(e=$(e)),n=function(e,t,n,a){let i=[],o=[],s=null;const l=({state:r})=>{const o=Q(e,location),l=n.value,u=t.value;let c=0;if(r){if(n.value=o,t.value=r,s&&s===l)return void(s=null);c=u?r.position-u.position:0}else a(o);i.forEach((e=>{e(n.value,l,{delta:c,type:D.pop,direction:c?c>0?j.forward:j.back:j.unknown})}))};function u(){const{history:e}=window;e.state&&e.replaceState(r({},e.state,{scroll:V()}),"")}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:function(){s=n.value},listen:function(e){i.push(e);const t=()=>{const t=i.indexOf(e);t>-1&&i.splice(t,1)};return o.push(t),t},destroy:function(){for(const e of o)e();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",u)}}}(e,t.state,t.location,t.replace);const a=r({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:B.bind(null,e)},t,n);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}function Z(e){return"string"==typeof e||e&&"object"==typeof e}function X(e){return"string"==typeof e||"symbol"==typeof e}const J=Symbol("navigation failure");var ee;e.NavigationFailureType=void 0,(ee=e.NavigationFailureType||(e.NavigationFailureType={}))[ee.aborted=4]="aborted",ee[ee.cancelled=8]="cancelled",ee[ee.duplicated=16]="duplicated";const te={1:({location:e,currentLocation:t})=>`No match for\n ${JSON.stringify(e)}${t?"\nwhile being at\n"+JSON.stringify(t):""}`,2:({from:e,to:t})=>`Redirected from "${e.fullPath}" to "${function(e){if("string"==typeof e)return e;if(null!=e.path)return e.path;const t={};for(const n of ie)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}(t)}" via a navigation guard.`,4:({from:e,to:t})=>`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`,8:({from:e,to:t})=>`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`,16:({from:e,to:t})=>`Avoided redundant navigation to current location: "${e.fullPath}".`};function ne(e,t){return r(new Error(te[e](t)),{type:e,[J]:!0},t)}function ae(e,t){return e instanceof Error&&J in e&&(null==t||!!(e.type&t))}const ie=["params","query","hash"];const re="[^/]+?",oe={sensitive:!1,strict:!1,start:!0,end:!0},se=/[.+*?^${}()[\]/\\]/g;function le(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function ue(e,t){let n=0;const a=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const de={type:0,value:""},he=/[a-zA-Z0-9_]/;function pe(e,t,n){const a=function(e,t){const n=r({},oe,t),a=[];let i=n.start?"^":"";const o=[];for(const t of e){const e=t.length?[]:[90];n.strict&&!t.length&&(i+="/");for(let a=0;a1&&("*"===s||"+"===s)&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:u,regexp:c,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):t("Invalid state to consume buffer"),u="")}function h(){u+=s}for(;l{o(m)}:s}function o(e){if(X(e)){const t=a.get(e);t&&(a.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&a.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function l(e){const t=function(e,t){let n=0,a=t.length;for(;n!==a;){const i=n+a>>1;ue(e,t[i])<0?a=i:n=i+1}const i=function(e){let t=e;for(;t=t.parent;)if(Se(t)&&0===ue(e,t))return t;return}(e);i&&(a=t.lastIndexOf(i,a-1),a<0&&u(`Finding ancestor route "${i.record.path}" failed for "${e.record.path}"`));return a}(e,n);n.splice(t,0,e),e.record.name&&!_e(e)&&a.set(e.record.name,e)}return t=ye({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>i(e))),{addRoute:i,resolve:function(e,t){let i,o,s,l={};if("name"in e&&e.name){if(i=a.get(e.name),!i)throw ne(1,{location:e});{const t=Object.keys(e.params||{}).filter((e=>!i.keys.find((t=>t.name===e))));t.length&&u(`Discarded invalid param(s) "${t.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}s=i.record.name,l=r(me(t.params,i.keys.filter((e=>!e.optional)).concat(i.parent?i.parent.keys.filter((e=>e.optional)):[]).map((e=>e.name))),e.params&&me(e.params,i.keys.map((e=>e.name)))),o=i.stringify(l)}else if(null!=e.path)o=e.path,o.startsWith("/")||u(`The Matcher cannot resolve relative paths but received "${o}". Unless you directly called \`matcher.resolve("${o}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`),i=n.find((e=>e.re.test(o))),i&&(l=i.parse(o),s=i.record.name);else{if(i=t.name?a.get(t.name):n.find((e=>e.re.test(t.path))),!i)throw ne(1,{location:e,currentLocation:t});s=i.record.name,l=r({},t.params,e.params),o=i.stringify(l)}const c=[];let d=i;for(;d;)c.unshift(d.record),d=d.parent;return{name:s,path:o,params:l,matched:c,meta:be(c)}},removeRoute:o,clearRoutes:function(){n.length=0,a.clear()},getRoutes:function(){return n},getRecordMatcher:function(e){return a.get(e)}}}function me(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function ve(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ge(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ge(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]="object"==typeof n?n[a]:n;return t}function _e(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function be(e){return e.reduce(((e,t)=>r(e,t.meta)),{})}function ye(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}function we(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}function ke(e,t){for(const n of e.keys)if(!n.optional&&!t.keys.find(we.bind(null,n)))return u(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`);for(const n of t.keys)if(!n.optional&&!e.keys.find(we.bind(null,n)))return u(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`)}function xe(e,t){for(const n of t.keys)if(!e.keys.find(we.bind(null,n)))return u(`Absolute path "${e.record.path}" must have the exact same param named "${n.name}" as its parent "${t.record.path}".`)}function Se({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ce(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;ee&&C(e))):[a&&C(a)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Me(e){const t={};for(const n in e){const a=e[n];void 0!==a&&(t[n]=l(a)?a.map((e=>null==e?null:""+e)):null==a?a:""+a)}return t}const Ee=Symbol("router view location matched"),Pe=Symbol("router view depth"),Ae=Symbol("router"),Le=Symbol("route location"),Oe=Symbol("router view location");function Ne(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function Re(e,n,a){const i=()=>{e[n].delete(a)};t.onUnmounted(i),t.onDeactivated(i),t.onActivated((()=>{e[n].add(a)})),e[n].add(a)}function ze(e,t,n,a,i,r=e=>e()){const o=a&&(a.enterCallbacks[i]=a.enterCallbacks[i]||[]);return()=>new Promise(((s,l)=>{const c=e=>{!1===e?l(ne(4,{from:n,to:t})):e instanceof Error?l(e):Z(e)?l(ne(2,{from:t,to:e})):(o&&a.enterCallbacks[i]===o&&"function"==typeof e&&o.push(e),s())},d=r((()=>e.call(a&&a.instances[i],t,n,function(e,t,n){let a=0;return function(){1==a++&&u(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,1===a&&e.apply(null,arguments)}}(c,t,n))));let h=Promise.resolve(d);if(e.length<3&&(h=h.then(c)),e.length>2){const t=`The "next" callback was never called inside of ${e.name?'"'+e.name+'"':""}:\n${e.toString()}\n. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`;if("object"==typeof d&&"then"in d)h=h.then((e=>c._called?e:(u(t),Promise.reject(new Error("Invalid navigation guard")))));else if(void 0!==d&&!c._called)return u(t),void l(new Error("Invalid navigation guard"))}h.catch((e=>l(e)))}))}function qe(e,t,n,r,o=e=>e()){const s=[];for(const l of e){l.components||l.children.length||u(`Record with path "${l.path}" is either missing a "component(s)" or "children" property.`);for(const e in l.components){let c=l.components[e];if(!c||"object"!=typeof c&&"function"!=typeof c)throw u(`Component "${e}" in record with path "${l.path}" is not a valid component. Received "${String(c)}".`),new Error("Invalid route component");if("then"in c){u(`Component "${e}" in record with path "${l.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`);const t=c;c=()=>t}else c.__asyncLoader&&!c.__warnedDefineAsync&&(c.__warnedDefineAsync=!0,u(`Component "${e}" in record with path "${l.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`));if("beforeRouteEnter"===t||l.instances[e])if(a(c)){const a=(c.__vccOpts||c)[t];a&&s.push(ze(a,n,r,l,e,o))}else{let a=c();"catch"in a||(u(`Component "${e}" in record with path "${l.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),a=Promise.resolve(a)),s.push((()=>a.then((a=>{if(!a)throw new Error(`Couldn't resolve component "${e}" at "${l.path}"`);const s=i(a)?a.default:a;l.mods[e]=a,l.components[e]=s;const u=(s.__vccOpts||s)[t];return u&&ze(u,n,r,l,e,o)()}))))}}}return s}function Ie(e){const a=t.inject(Ae),i=t.inject(Le);let r=!1,o=null;const c=t.computed((()=>{const n=t.unref(e.to);return r&&n===o||(Z(n)||(r?u('Invalid value for prop "to" in useLink()\n- to:',n,"\n- previous to:",o,"\n- props:",e):u('Invalid value for prop "to" in useLink()\n- to:',n,"\n- props:",e)),o=n,r=!0),a.resolve(n)})),d=t.computed((()=>{const{matched:e}=c.value,{length:t}=e,n=e[t-1],a=i.matched;if(!n||!a.length)return-1;const r=a.findIndex(N.bind(null,n));if(r>-1)return r;const o=je(e[t-2]);return t>1&&je(n)===o&&a[a.length-1].path!==o?a.findIndex(N.bind(null,e[t-2])):r})),h=t.computed((()=>d.value>-1&&function(e,t){for(const n in t){const a=t[n],i=e[n];if("string"==typeof a){if(a!==i)return!1}else if(!l(i)||i.length!==a.length||a.some(((e,t)=>e!==i[t])))return!1}return!0}(i.params,c.value.params))),p=t.computed((()=>d.value>-1&&d.value===i.matched.length-1&&R(i.params,c.value.params)));if(n){const n=t.getCurrentInstance();if(n){const a={route:c.value,isActive:h.value,isExactActive:p.value,error:null};n.__vrl_devtools=n.__vrl_devtools||[],n.__vrl_devtools.push(a),t.watchEffect((()=>{a.route=c.value,a.isActive=h.value,a.isExactActive=p.value,a.error=Z(t.unref(e.to))?null:'Invalid "to" value'}),{flush:"post"})}}return{route:c,href:t.computed((()=>c.value.href)),isActive:h,isExactActive:p,navigate:function(n={}){return function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)?a[t.unref(e.replace)?"replace":"push"](t.unref(e.to)).catch(s):Promise.resolve()}}}const De=t.defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ie,setup(e,{slots:n}){const a=t.reactive(Ie(e)),{options:i}=t.inject(Ae),r=t.computed((()=>({[$e(e.activeClass,i.linkActiveClass,"router-link-active")]:a.isActive,[$e(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:a.isExactActive})));return()=>{const i=n.default&&n.default(a);return e.custom?i:t.h("a",{"aria-current":a.isExactActive?e.ariaCurrentValue:null,href:a.href,onClick:a.navigate,class:r.value},i)}}});function je(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const $e=(e,t,n)=>null!=e?e:null!=t?t:n;function Fe(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const Be=t.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:a,slots:i}){!function(){const e=t.getCurrentInstance(),n=e.parent&&e.parent.type.name,a=e.parent&&e.parent.subTree&&e.parent.subTree.type;if(n&&("KeepAlive"===n||n.includes("Transition"))&&"object"==typeof a&&"RouterView"===a.name){const e="KeepAlive"===n?"keep-alive":"transition";u(` can no longer be used directly inside or .\nUse slot props instead:\n\n\n <${e}>\n \n \n`)}}();const o=t.inject(Oe),s=t.computed((()=>e.route||o.value)),c=t.inject(Pe,0),d=t.computed((()=>{let e=t.unref(c);const{matched:n}=s.value;let a;for(;(a=n[e])&&!a.components;)e++;return e})),h=t.computed((()=>s.value.matched[d.value]));t.provide(Pe,t.computed((()=>d.value+1))),t.provide(Ee,h),t.provide(Oe,s);const p=t.ref();return t.watch((()=>[p.value,h.value,e.name]),(([e,t,n],[a,i,r])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===a&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),!e||!t||i&&N(t,i)&&a||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=s.value,u=e.name,c=h.value,f=c&&c.components[u];if(!f)return Fe(i.default,{Component:f,route:o});const m=c.props[u],v=m?!0===m?o.params:"function"==typeof m?m(o):m:null,g=t.h(f,r({},v,a,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(c.instances[u]=null)},ref:p}));if(n&&g.ref){const e={depth:d.value,name:c.name,path:c.path,meta:c.meta};(l(g.ref)?g.ref.map((e=>e.i)):[g.ref.i]).forEach((t=>{t.__vrv_devtools=e}))}return Fe(i.default,{Component:g,route:o})||g}}});function Ve(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:{}}const He="function"==typeof Proxy,Ue="devtools-plugin:setup";let We,Ye;function Qe(){return void 0!==We||("undefined"!=typeof window&&window.performance?(We=!0,Ye=window.performance):"undefined"!=typeof globalThis&&(null===(e=globalThis.perf_hooks)||void 0===e?void 0:e.performance)?(We=!0,Ye=globalThis.perf_hooks.performance):We=!1),We?Ye.now():Date.now();var e}class Ke{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const t in e.settings){const a=e.settings[t];n[t]=a.defaultValue}const a=`__vue-devtools-plugin-settings__${e.id}`;let i=Object.assign({},n);try{const e=localStorage.getItem(a),t=JSON.parse(e);Object.assign(i,t)}catch(e){}this.fallbacks={getSettings:()=>i,setSettings(e){try{localStorage.setItem(a,JSON.stringify(e))}catch(e){}i=e},now:()=>Qe()},t&&t.on("plugin:settings:set",((e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)})),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,t)=>this.target?this.target[t]:"on"===t?this.proxiedOn:Object.keys(this.fallbacks).includes(t)?(...e)=>(this.targetQueue.push({method:t,args:e,resolve:()=>{}}),this.fallbacks[t](...e)):(...e)=>new Promise((n=>{this.targetQueue.push({method:t,args:e,resolve:n})}))})}async setRealTarget(e){this.target=e;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function Ge(e,t){const n=e,a=Ve(),i=Ve().__VUE_DEVTOOLS_GLOBAL_HOOK__,r=He&&n.enableEarlyProxy;if(!i||!a.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&r){const e=r?new Ke(n,i):null;(a.__VUE_DEVTOOLS_PLUGINS__=a.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:e}),e&&t(e.proxiedTarget)}else i.emit(Ue,e,t)}function Ze(e,t){const n=r({},e,{matched:e.matched.map((e=>function(e,t){const n={};for(const a in e)t.includes(a)||(n[a]=e[a]);return n}(e,["instances","children","aliasOf"])))});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function Xe(e){return{_custom:{display:e}}}let Je=0;function et(e,n,a){if(n.__hasDevtools)return;n.__hasDevtools=!0;const i=Je++;Ge({id:"org.vuejs.router"+(i?"."+i:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:e},(r=>{"function"!=typeof r.now&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),r.on.inspectComponent(((e,t)=>{e.instanceData&&e.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:Ze(n.currentRoute.value,"Current Route")})})),r.on.visitComponentTree((({treeNode:e,componentInstance:t})=>{if(t.__vrv_devtools){const n=t.__vrv_devtools;e.tags.push({label:(n.name?`${n.name.toString()}: `:"")+n.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:nt})}l(t.__vrl_devtools)&&(t.__devtoolsApi=r,t.__vrl_devtools.forEach((t=>{let n=t.route.path,a=ot,i="",r=0;t.error?(n=t.error,a=lt,r=ut):t.isExactActive?(a=it,i="This is exactly active"):t.isActive&&(a=at,i="This link is active"),e.tags.push({label:n,textColor:r,tooltip:i,backgroundColor:a})})))})),t.watch(n.currentRoute,(()=>{c(),r.notifyComponentUpdate(),r.sendInspectorTree(u),r.sendInspectorState(u)}));const o="router:navigations:"+i;r.addTimelineLayer({id:o,label:`Router${i?" "+i:""} Navigations`,color:4237508}),n.onError(((e,t)=>{r.addTimelineEvent({layerId:o,event:{title:"Error during Navigation",subtitle:t.fullPath,logType:"error",time:r.now(),data:{error:e},groupId:t.meta.__navigationId}})}));let s=0;n.beforeEach(((e,t)=>{const n={guard:Xe("beforeEach"),from:Ze(t,"Current Location during this navigation"),to:Ze(e,"Target location")};Object.defineProperty(e.meta,"__navigationId",{value:s++}),r.addTimelineEvent({layerId:o,event:{time:r.now(),title:"Start of navigation",subtitle:e.fullPath,data:n,groupId:e.meta.__navigationId}})})),n.afterEach(((e,t,n)=>{const a={guard:Xe("afterEach")};n?(a.failure={_custom:{type:Error,readOnly:!0,display:n?n.message:"",tooltip:"Navigation Failure",value:n}},a.status=Xe("❌")):a.status=Xe("✅"),a.from=Ze(t,"Current Location during this navigation"),a.to=Ze(e,"Target location"),r.addTimelineEvent({layerId:o,event:{title:"End of navigation",subtitle:e.fullPath,time:r.now(),data:a,logType:n?"warning":"default",groupId:e.meta.__navigationId}})}));const u="router-inspector:"+i;function c(){if(!d)return;const e=d;let t=a.getRoutes().filter((e=>!e.parent||!e.parent.record.components));t.forEach(ft),e.filter&&(t=t.filter((t=>mt(t,e.filter.toLowerCase())))),t.forEach((e=>pt(e,n.currentRoute.value))),e.rootNodes=t.map(ct)}let d;r.addInspector({id:u,label:"Routes"+(i?" "+i:""),icon:"book",treeFilterPlaceholder:"Search routes"}),r.on.getInspectorTree((t=>{d=t,t.app===e&&t.inspectorId===u&&c()})),r.on.getInspectorState((t=>{if(t.app===e&&t.inspectorId===u){const e=a.getRoutes().find((e=>e.record.__vd_id===t.nodeId));e&&(t.state={options:tt(e)})}})),r.sendInspectorTree(u),r.sendInspectorState(u)}))}function tt(e){const{record:t}=e,n=[{editable:!1,key:"path",value:t.path}];return null!=t.name&&n.push({editable:!1,key:"name",value:t.name}),n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map((e=>`${e.name}${function(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}(e)}`)).join(" "),tooltip:"Param keys",value:e.keys}}}),null!=t.redirect&&n.push({editable:!1,key:"redirect",value:t.redirect}),e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map((e=>e.record.path))}),Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta}),n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map((e=>e.join(", "))).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}const nt=15485081,at=2450411,it=8702998,rt=2282478,ot=16486972,st=6710886,lt=16704226,ut=12131356;function ct(e){const t=[],{record:n}=e;null!=n.name&&t.push({label:String(n.name),textColor:0,backgroundColor:rt}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:ot}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:nt}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:it}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:at}),n.redirect&&t.push({label:"string"==typeof n.redirect?`redirect: ${n.redirect}`:"redirects",textColor:16777215,backgroundColor:st});let a=n.__vd_id;return null==a&&(a=String(dt++),n.__vd_id=a),{id:a,label:n.path,tags:t,children:e.children.map(ct)}}let dt=0;const ht=/^\/(.*)\/([a-z]*)$/;function pt(e,t){const n=t.matched.length&&N(t.matched[t.matched.length-1],e.record);e.__vd_exactActive=e.__vd_active=n,n||(e.__vd_active=t.matched.some((t=>N(t,e.record)))),e.children.forEach((e=>pt(e,t)))}function ft(e){e.__vd_match=!1,e.children.forEach(ft)}function mt(e,t){const n=String(e.re).match(ht);if(e.__vd_match=!1,!n||n.length<3)return!1;if(new RegExp(n[1].replace(/\$$/,""),n[2]).test(t))return e.children.forEach((e=>mt(e,t))),("/"!==e.record.path||"/"===t)&&(e.__vd_match=e.re.test(t),!0);const a=e.record.path.toLowerCase(),i=M(a);return!(t.startsWith("/")||!i.includes(t)&&!a.includes(t))||(!(!i.startsWith(t)&&!a.startsWith(t))||(!(!e.record.name||!String(e.record.name).includes(t))||e.children.some((e=>mt(e,t)))))}return e.RouterLink=De,e.RouterView=Be,e.START_LOCATION=I,e.createMemoryHistory=function(e=""){let t=[],n=[""],a=0;function i(e){a++,a!==n.length&&n.splice(a),n.push(e)}const r={location:"",state:{},base:e=$(e),createHref:B.bind(null,e),replace(e){n.splice(a--,1),i(e)},push(e,t){i(e)},listen:e=>(t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}),destroy(){t=[],n=[""],a=0},go(e,i=!0){const r=this.location,o=e<0?j.back:j.forward;a=Math.max(0,Math.min(a+e,n.length-1)),i&&function(e,n,{direction:a,delta:i}){const r={direction:a,delta:i,type:D.pop};for(const a of t)a(e,n,r)}(this.location,r,{direction:o,delta:e})}};return Object.defineProperty(r,"location",{enumerable:!0,get:()=>n[a]}),r},e.createRouter=function(e){const a=fe(e.routes,e),i=e.parseQuery||Ce,c=e.stringifyQuery||Te,d=e.history;if(!d)throw new Error('Provide the "history" option when calling "createRouter()": https://router.vuejs.org/api/interfaces/RouterOptions.html#history');const h=Ne(),p=Ne(),f=Ne(),m=t.shallowRef(I);let v=I;n&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=o.bind(null,(e=>""+e)),b=o.bind(null,T),w=o.bind(null,M);function x(e,t){if(t=r({},t||m.value),"string"==typeof e){const n=A(i,e,t.path),o=a.resolve({path:n.path},t),s=d.createHref(n.fullPath);return s.startsWith("//")?u(`Location "${e}" resolved to "${s}". A resolved location cannot start with multiple slashes.`):o.matched.length||u(`No match found for location with path "${e}"`),r(n,o,{params:w(o.params),hash:M(n.hash),redirectedFrom:void 0,href:s})}if(!Z(e))return u("router.resolve() was passed an invalid location. This will fail in production.\n- Location:",e),x({});let n;if(null!=e.path)"params"in e&&!("name"in e)&&Object.keys(e.params).length&&u(`Path "${e.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),n=r({},e,{path:A(i,e.path,t.path).path});else{const a=r({},e.params);for(const e in a)null==a[e]&&delete a[e];n=r({},e,{params:b(a)}),t.params=b(t.params)}const o=a.resolve(n,t),s=e.hash||"";s&&!s.startsWith("#")&&u(`A \`hash\` should always start with the character "#". Replace "${s}" with "#${s}".`),o.params=g(w(o.params));const l=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(c,r({},e,{hash:(h=s,S(h).replace(y,"{").replace(k,"}").replace(_,"^")),path:o.path}));var h;const p=d.createHref(l);return p.startsWith("//")?u(`Location "${e}" resolved to "${p}". A resolved location cannot start with multiple slashes.`):o.matched.length||u(`No match found for location with path "${null!=e.path?e.path:e}"`),r({fullPath:l,hash:s,query:c===Te?Me(e.query):e.query||{}},o,{redirectedFrom:void 0,href:p})}function C(e){return"string"==typeof e?A(i,e,m.value.path):r({},e)}function E(e,t){if(v!==e)return ne(8,{from:t,to:e})}function P(e){return R(e)}function L(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let a="function"==typeof n?n(e):n;if("string"==typeof a&&(a=a.includes("?")||a.includes("#")?a=C(a):{path:a},a.params={}),null==a.path&&!("name"in a))throw u(`Invalid redirect found:\n${JSON.stringify(a,null,2)}\n when navigating to "${e.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect");return r({query:e.query,hash:e.hash,params:null!=a.path?{}:e.params},a)}}function R(e,t){const n=v=x(e),a=m.value,i=e.state,o=e.force,s=!0===e.replace,l=L(n);if(l)return R(r(C(l),{state:"object"==typeof l?r({},i,l.state):i,force:o,replace:s}),t||n);const d=n;let h;return d.redirectedFrom=t,!o&&O(c,a,n)&&(h=ne(16,{to:d,from:a}),te(a,a,!0,!1)),(h?Promise.resolve(h):j(d,a)).catch((e=>ae(e)?ae(e,2)?e:ee(e):J(e,d,a))).then((e=>{if(e){if(ae(e,2))return O(c,x(e.to),d)&&t&&(t._count=t._count?t._count+1:1)>30?(u(`Detected a possibly infinite redirection in a navigation guard when going from "${a.fullPath}" to "${d.fullPath}". Aborting to avoid a Stack Overflow.\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):R(r({replace:s},C(e.to),{state:"object"==typeof e.to?r({},i,e.to.state):i,force:o}),t||d)}else e=F(d,a,!0,s,i);return $(d,a,e),e}))}function z(e,t){const n=E(e,t);return n?Promise.reject(n):Promise.resolve()}function q(e){const t=oe.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function j(e,t){let n;const[a,i,r]=function(e,t){const n=[],a=[],i=[],r=Math.max(t.matched.length,e.matched.length);for(let o=0;oN(e,r)))?a.push(r):n.push(r));const s=e.matched[o];s&&(t.matched.find((e=>N(e,s)))||i.push(s))}return[n,a,i]}(e,t);n=qe(a.reverse(),"beforeRouteLeave",e,t);for(const i of a)i.leaveGuards.forEach((a=>{n.push(ze(a,e,t))}));const o=z.bind(null,e,t);return n.push(o),le(n).then((()=>{n=[];for(const a of h.list())n.push(ze(a,e,t));return n.push(o),le(n)})).then((()=>{n=qe(i,"beforeRouteUpdate",e,t);for(const a of i)a.updateGuards.forEach((a=>{n.push(ze(a,e,t))}));return n.push(o),le(n)})).then((()=>{n=[];for(const a of r)if(a.beforeEnter)if(l(a.beforeEnter))for(const i of a.beforeEnter)n.push(ze(i,e,t));else n.push(ze(a.beforeEnter,e,t));return n.push(o),le(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=qe(r,"beforeRouteEnter",e,t,q),n.push(o),le(n)))).then((()=>{n=[];for(const a of p.list())n.push(ze(a,e,t));return n.push(o),le(n)})).catch((e=>ae(e,8)?e:Promise.reject(e)))}function $(e,t,n){f.list().forEach((a=>q((()=>a(e,t,n)))))}function F(e,t,a,i,o){const s=E(e,t);if(s)return s;const l=t===I,u=n?history.state:{};a&&(i||l?d.replace(e.fullPath,r({scroll:l&&u&&u.scroll},o)):d.push(e.fullPath,o)),m.value=e,te(e,t,a,l),ee()}let B;function Y(){B||(B=d.listen(((e,t,a)=>{if(!se.listening)return;const i=x(e),o=L(i);if(o)return void R(r(o,{replace:!0}),i).catch(s);v=i;const l=m.value;var u,c;n&&(u=U(l.fullPath,a.delta),c=V(),W.set(u,c)),j(i,l).catch((e=>ae(e,12)?e:ae(e,2)?(R(e.to,i).then((e=>{ae(e,20)&&!a.delta&&a.type===D.pop&&d.go(-1,!1)})).catch(s),Promise.reject()):(a.delta&&d.go(-a.delta,!1),J(e,i,l)))).then((e=>{(e=e||F(i,l,!1))&&(a.delta&&!ae(e,8)?d.go(-a.delta,!1):a.type===D.pop&&ae(e,20)&&d.go(-1,!1)),$(i,l,e)})).catch(s)})))}let Q,K=Ne(),G=Ne();function J(e,t,n){ee(e);const a=G.list();return a.length?a.forEach((a=>a(e,t,n))):(u("uncaught error during route navigation:"),console.error(e)),Promise.reject(e)}function ee(e){return Q||(Q=!e,Y(),K.list().forEach((([t,n])=>e?n(e):t())),K.reset()),e}function te(a,i,r,o){const{scrollBehavior:s}=e;if(!n||!s)return Promise.resolve();const l=!r&&function(e){const t=W.get(e);return W.delete(e),t}(U(a.fullPath,0))||(o||!r)&&history.state&&history.state.scroll||null;return t.nextTick().then((()=>s(a,i,l))).then((e=>e&&H(e))).catch((e=>J(e,a,i)))}const ie=e=>d.go(e);let re;const oe=new Set,se={currentRoute:m,listening:!0,addRoute:function(e,t){let n,i;return X(e)?(n=a.getRecordMatcher(e),n||u(`Parent route "${String(e)}" not found when adding child route`,t),i=t):i=e,a.addRoute(i,n)},removeRoute:function(e){const t=a.getRecordMatcher(e);t?a.removeRoute(t):u(`Cannot remove non-existent route "${String(e)}"`)},clearRoutes:a.clearRoutes,hasRoute:function(e){return!!a.getRecordMatcher(e)},getRoutes:function(){return a.getRoutes().map((e=>e.record))},resolve:x,options:e,push:P,replace:function(e){return P(r(C(e),{replace:!0}))},go:ie,back:()=>ie(-1),forward:()=>ie(1),beforeEach:h.add,beforeResolve:p.add,afterEach:f.add,onError:G.add,isReady:function(){return Q&&m.value!==I?Promise.resolve():new Promise(((e,t)=>{K.add([e,t])}))},install(e){const i=this;e.component("RouterLink",De),e.component("RouterView",Be),e.config.globalProperties.$router=i,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>t.unref(m)}),n&&!re&&m.value===I&&(re=!0,P(d.location).catch((e=>{u("Unexpected error when starting the router:",e)})));const r={};for(const e in I)Object.defineProperty(r,e,{get:()=>m.value[e],enumerable:!0});e.provide(Ae,i),e.provide(Le,t.shallowReactive(r)),e.provide(Oe,m);const o=e.unmount;oe.add(e),e.unmount=function(){oe.delete(e),oe.size<1&&(v=I,B&&B(),B=null,m.value=I,re=!1,Q=!1),o()},n&&et(e,i,a)}};function le(e){return e.reduce(((e,t)=>e.then((()=>q(t)))),Promise.resolve())}return se},e.createRouterMatcher=fe,e.createWebHashHistory=function(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),e.endsWith("#/")||e.endsWith("#")||u(`A hash base must end with a "#":\n"${e}" should be "${e.replace(/#.*$/,"#")}".`),G(e)},e.createWebHistory=G,e.isNavigationFailure=ae,e.loadRouteLocation=function(e){return e.matched.every((e=>e.redirect))?Promise.reject(new Error("Cannot load a route that redirects.")):Promise.all(e.matched.map((e=>e.components&&Promise.all(Object.keys(e.components).reduce(((t,n)=>{const a=e.components[n];return"function"!=typeof a||"displayName"in a||t.push(a().then((t=>{if(!t)return Promise.reject(new Error(`Couldn't resolve component "${n}" at "${e.path}". Ensure you passed a function that returns a promise.`));const a=i(t)?t.default:t;e.mods[n]=t,e.components[n]=a}))),t}),[]))))).then((()=>e))},e.matchedRouteKey=Ee,e.onBeforeRouteLeave=function(e){if(!t.getCurrentInstance())return void u("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function");const n=t.inject(Ee,{}).value;n?Re(n,"leaveGuards",e):u("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?")},e.onBeforeRouteUpdate=function(e){if(!t.getCurrentInstance())return void u("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function");const n=t.inject(Ee,{}).value;n?Re(n,"updateGuards",e):u("No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?")},e.parseQuery=Ce,e.routeLocationKey=Le,e.routerKey=Ae,e.routerViewLocationKey=Oe,e.stringifyQuery=Te,e.useLink=Ie,e.useRoute=function(e){return t.inject(Le)},e.useRouter=function(){return t.inject(Ae)},e.viewDepthKey=Pe,e}({},Vue); +var Vuex=function(e){"use strict";var t="store";function n(){return"undefined"!=typeof navigator?window:"undefined"!=typeof global?global:{}}var a="devtools-plugin:setup";function i(e,t){var i=n().__VUE_DEVTOOLS_GLOBAL_HOOK__;if(i)i.emit(a,e,t);else{var r=n();(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:e,setupFn:t})}}function r(e,t){if(void 0===t&&(t=[]),null===e||"object"!=typeof e)return e;var n,a=(n=function(t){return t.original===e},t.filter(n)[0]);if(a)return a.copy;var i=Array.isArray(e)?[]:{};return t.push({original:e,copy:i}),Object.keys(e).forEach((function(n){i[n]=r(e[n],t)})),i}function o(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function s(e){return null!==e&&"object"==typeof e}function l(e,t){if(!e)throw new Error("[vuex] "+t)}function u(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function c(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;h(e,n,[],e._modules.root,!0),d(e,n,t)}function d(t,n,a){var i=t._state,r=t._scope;t.getters={},t._makeLocalGettersCache=Object.create(null);var s=t._wrappedGetters,u={},c={},d=e.effectScope(!0);d.run((function(){o(s,(function(n,a){u[a]=function(e,t){return function(){return e(t)}}(n,t),c[a]=e.computed((function(){return u[a]()})),Object.defineProperty(t.getters,a,{get:function(){return c[a].value},enumerable:!0})}))})),t._state=e.reactive({data:n}),t._scope=d,t.strict&&function(t){e.watch((function(){return t._state.data}),(function(){l(t._committing,"do not mutate vuex store state outside mutation handlers.")}),{deep:!0,flush:"sync"})}(t),i&&a&&t._withCommit((function(){i.data=null})),r&&r.stop()}function h(e,t,n,a,i){var r=!n.length,o=e._modules.getNamespace(n);if(a.namespaced&&(e._modulesNamespaceMap[o]&&console.error("[vuex] duplicate namespace "+o+" for the namespaced module "+n.join("/")),e._modulesNamespaceMap[o]=a),!r&&!i){var s=f(t,n.slice(0,-1)),l=n[n.length-1];e._withCommit((function(){l in s&&console.warn('[vuex] state field "'+l+'" was overridden by a module with the same name at "'+n.join(".")+'"'),s[l]=a.state}))}var u=a.context=function(e,t,n){var a=""===t,i={dispatch:a?e.dispatch:function(n,a,i){var r=m(n,a,i),o=r.payload,s=r.options,l=r.type;if(s&&s.root||(l=t+l,e._actions[l]))return e.dispatch(l,o);console.error("[vuex] unknown local action type: "+r.type+", global type: "+l)},commit:a?e.commit:function(n,a,i){var r=m(n,a,i),o=r.payload,s=r.options,l=r.type;s&&s.root||(l=t+l,e._mutations[l])?e.commit(l,o,s):console.error("[vuex] unknown local mutation type: "+r.type+", global type: "+l)}};return Object.defineProperties(i,{getters:{get:a?function(){return e.getters}:function(){return p(e,t)}},state:{get:function(){return f(e.state,n)}}}),i}(e,o,n);a.forEachMutation((function(t,n){!function(e,t,n,a){var i=e._mutations[t]||(e._mutations[t]=[]);i.push((function(t){n.call(e,a.state,t)}))}(e,o+n,t,u)})),a.forEachAction((function(t,n){var a=t.root?n:o+n,i=t.handler||t;!function(e,t,n,a){var i=e._actions[t]||(e._actions[t]=[]);i.push((function(t){var i,r=n.call(e,{dispatch:a.dispatch,commit:a.commit,getters:a.getters,state:a.state,rootGetters:e.getters,rootState:e.state},t);return(i=r)&&"function"==typeof i.then||(r=Promise.resolve(r)),e._devtoolHook?r.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):r}))}(e,a,i,u)})),a.forEachGetter((function(t,n){!function(e,t,n,a){if(e._wrappedGetters[t])return void console.error("[vuex] duplicate getter key: "+t);e._wrappedGetters[t]=function(e){return n(a.state,a.getters,e.state,e.getters)}}(e,o+n,t,u)})),a.forEachChild((function(a,r){h(e,t,n.concat(r),a,i)}))}function p(e,t){if(!e._makeLocalGettersCache[t]){var n={},a=t.length;Object.keys(e.getters).forEach((function(i){if(i.slice(0,a)===t){var r=i.slice(a);Object.defineProperty(n,r,{get:function(){return e.getters[i]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function f(e,t){return t.reduce((function(e,t){return e[t]}),e)}function m(e,t,n){return s(e)&&e.type&&(n=t,t=e,e=e.type),l("string"==typeof e,"expects string as the type, but found "+typeof e+"."),{type:e,payload:t,options:n}}var g="vuex:mutations",v="vuex:actions",b="vuex",_=0;function y(e,t){i({id:"org.vuejs.vuex",app:e,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:["vuex bindings"]},(function(n){n.addTimelineLayer({id:g,label:"Vuex Mutations",color:w}),n.addTimelineLayer({id:v,label:"Vuex Actions",color:w}),n.addInspector({id:b,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree((function(n){if(n.app===e&&n.inspectorId===b)if(n.filter){var a=[];C(a,t._modules.root,n.filter,""),n.rootNodes=a}else n.rootNodes=[S(t._modules.root,"")]})),n.on.getInspectorState((function(n){if(n.app===e&&n.inspectorId===b){var a=n.nodeId;p(t,a),n.state=function(e,t,n){t="root"===n?t:t[n];var a=Object.keys(t),i={state:Object.keys(e.state).map((function(t){return{key:t,editable:!0,value:e.state[t]}}))};if(a.length){var r=function(e){var t={};return Object.keys(e).forEach((function(n){var a=n.split("/");if(a.length>1){var i=t,r=a.pop();a.forEach((function(e){i[e]||(i[e]={_custom:{value:{},display:e,tooltip:"Module",abstract:!0}}),i=i[e]._custom.value})),i[r]=E((function(){return e[n]}))}else t[n]=E((function(){return e[n]}))})),t}(t);i.getters=Object.keys(r).map((function(e){return{key:e.endsWith("/")?x(e):e,editable:!1,value:E((function(){return r[e]}))}}))}return i}((i=t._modules,(o=(r=a).split("/").filter((function(e){return e}))).reduce((function(e,t,n){var a=e[t];if(!a)throw new Error('Missing module "'+t+'" for path "'+r+'".');return n===o.length-1?a:a._children}),"root"===r?i:i.root._children)),"root"===a?t.getters:t._makeLocalGettersCache,a)}var i,r,o})),n.on.editInspectorState((function(n){if(n.app===e&&n.inspectorId===b){var a=n.nodeId,i=n.path;"root"!==a&&(i=a.split("/").filter(Boolean).concat(i)),t._withCommit((function(){n.set(t._state.data,i,n.state.value)}))}})),t.subscribe((function(e,t){var a={};e.payload&&(a.payload=e.payload),a.state=t,n.notifyComponentUpdate(),n.sendInspectorTree(b),n.sendInspectorState(b),n.addTimelineEvent({layerId:g,event:{time:Date.now(),title:e.type,data:a}})})),t.subscribeAction({before:function(e,t){var a={};e.payload&&(a.payload=e.payload),e._id=_++,e._time=Date.now(),a.state=t,n.addTimelineEvent({layerId:v,event:{time:e._time,title:e.type,groupId:e._id,subtitle:"start",data:a}})},after:function(e,t){var a={},i=Date.now()-e._time;a.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},e.payload&&(a.payload=e.payload),a.state=t,n.addTimelineEvent({layerId:v,event:{time:Date.now(),title:e.type,groupId:e._id,subtitle:"end",data:a}})}})}))}var w=8702998,k={label:"namespaced",textColor:16777215,backgroundColor:6710886};function x(e){return e&&"root"!==e?e.split("/").slice(-2,-1)[0]:"Root"}function S(e,t){return{id:t||"root",label:x(t),tags:e.namespaced?[k]:[],children:Object.keys(e._children).map((function(n){return S(e._children[n],t+n+"/")}))}}function C(e,t,n,a){a.includes(n)&&e.push({id:a||"root",label:a.endsWith("/")?a.slice(0,a.length-1):a||"Root",tags:t.namespaced?[k]:[]}),Object.keys(t._children).forEach((function(i){C(e,t._children[i],n,a+i+"/")}))}function E(e){try{return e()}catch(e){return e}}var T=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"==typeof n?n():n)||{}},A={namespaced:{configurable:!0}};A.namespaced.get=function(){return!!this._rawModule.namespaced},T.prototype.addChild=function(e,t){this._children[e]=t},T.prototype.removeChild=function(e){delete this._children[e]},T.prototype.getChild=function(e){return this._children[e]},T.prototype.hasChild=function(e){return e in this._children},T.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},T.prototype.forEachChild=function(e){o(this._children,e)},T.prototype.forEachGetter=function(e){this._rawModule.getters&&o(this._rawModule.getters,e)},T.prototype.forEachAction=function(e){this._rawModule.actions&&o(this._rawModule.actions,e)},T.prototype.forEachMutation=function(e){this._rawModule.mutations&&o(this._rawModule.mutations,e)},Object.defineProperties(T.prototype,A);var M=function(e){this.register([],e,!1)};function P(e,t,n){if(N(e,n),t.update(n),n.modules)for(var a in n.modules){if(!t.getChild(a))return void console.warn("[vuex] trying to add a new module '"+a+"' on hot reloading, manual reload is needed");P(e.concat(a),t.getChild(a),n.modules[a])}}M.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},M.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return e+((t=t.getChild(n)).namespaced?n+"/":"")}),"")},M.prototype.update=function(e){P([],this.root,e)},M.prototype.register=function(e,t,n){var a=this;void 0===n&&(n=!0),N(e,t);var i=new T(t,n);0===e.length?this.root=i:this.get(e.slice(0,-1)).addChild(e[e.length-1],i);t.modules&&o(t.modules,(function(t,i){a.register(e.concat(i),t,n)}))},M.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],a=t.getChild(n);a?a.runtime&&t.removeChild(n):console.warn("[vuex] trying to unregister module '"+n+"', which is not registered")},M.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};var L={assert:function(e){return"function"==typeof e},expected:"function"},O={getters:L,mutations:L,actions:{assert:function(e){return"function"==typeof e||"object"==typeof e&&"function"==typeof e.handler},expected:'function or object with "handler" function'}};function N(e,t){Object.keys(O).forEach((function(n){if(t[n]){var a=O[n];o(t[n],(function(t,i){l(a.assert(t),function(e,t,n,a,i){var r=t+" should be "+i+' but "'+t+"."+n+'"';e.length>0&&(r+=' in module "'+e.join(".")+'"');return r+=" is "+JSON.stringify(a)+".",r}(e,n,i,t,a.expected))}))}}))}var R=function e(t){var n=this;void 0===t&&(t={}),l("undefined"!=typeof Promise,"vuex requires a Promise polyfill in this browser."),l(this instanceof e,"store must be called with the new operator.");var a=t.plugins;void 0===a&&(a=[]);var i=t.strict;void 0===i&&(i=!1);var r=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new M(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=r;var o=this,s=this.dispatch,u=this.commit;this.dispatch=function(e,t){return s.call(o,e,t)},this.commit=function(e,t,n){return u.call(o,e,t,n)},this.strict=i;var c=this._modules.root.state;h(this,c,[],this._modules.root),d(this,c),a.forEach((function(e){return e(n)}))},I={state:{configurable:!0}};R.prototype.install=function(e,n){e.provide(n||t,this),e.config.globalProperties.$store=this,(void 0===this._devtools||this._devtools)&&y(e,this)},I.state.get=function(){return this._state.data},I.state.set=function(e){l(!1,"use store.replaceState() to explicit replace store state.")},R.prototype.commit=function(e,t,n){var a=this,i=m(e,t,n),r=i.type,o=i.payload,s=i.options,l={type:r,payload:o},u=this._mutations[r];u?(this._withCommit((function(){u.forEach((function(e){e(o)}))})),this._subscribers.slice().forEach((function(e){return e(l,a.state)})),s&&s.silent&&console.warn("[vuex] mutation type: "+r+". Silent option has been removed. Use the filter functionality in the vue-devtools")):console.error("[vuex] unknown mutation type: "+r)},R.prototype.dispatch=function(e,t){var n=this,a=m(e,t),i=a.type,r=a.payload,o={type:i,payload:r},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(o,n.state)}))}catch(e){console.warn("[vuex] error in before action subscribers: "),console.error(e)}var l=s.length>1?Promise.all(s.map((function(e){return e(r)}))):s[0](r);return new Promise((function(e,t){l.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(o,n.state)}))}catch(e){console.warn("[vuex] error in after action subscribers: "),console.error(e)}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(o,n.state,e)}))}catch(e){console.warn("[vuex] error in error action subscribers: "),console.error(e)}t(e)}))}))}console.error("[vuex] unknown action type: "+i)},R.prototype.subscribe=function(e,t){return u(e,this._subscribers,t)},R.prototype.subscribeAction=function(e,t){return u("function"==typeof e?{before:e}:e,this._actionSubscribers,t)},R.prototype.watch=function(t,n,a){var i=this;return l("function"==typeof t,"store.watch only accepts a function."),e.watch((function(){return t(i.state,i.getters)}),n,Object.assign({},a))},R.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._state.data=e}))},R.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"==typeof e&&(e=[e]),l(Array.isArray(e),"module path must be a string or an Array."),l(e.length>0,"cannot register the root module by using registerModule."),this._modules.register(e,t),h(this,this.state,e,this._modules.get(e),n.preserveState),d(this,this.state)},R.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),l(Array.isArray(e),"module path must be a string or an Array."),this._modules.unregister(e),this._withCommit((function(){delete f(t.state,e.slice(0,-1))[e[e.length-1]]})),c(this)},R.prototype.hasModule=function(e){return"string"==typeof e&&(e=[e]),l(Array.isArray(e),"module path must be a string or an Array."),this._modules.isRegistered(e)},R.prototype.hotUpdate=function(e){this._modules.update(e),c(this,!0)},R.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(R.prototype,I);var z=F((function(e,t){var n={};return B(t)||console.error("[vuex] mapState: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;n[a]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var a=V(this.$store,"mapState",e);if(!a)return;t=a.context.state,n=a.context.getters}return"function"==typeof i?i.call(this,t,n):t[i]},n[a].vuex=!0})),n})),q=F((function(e,t){var n={};return B(t)||console.error("[vuex] mapMutations: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;n[a]=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];var a=this.$store.commit;if(e){var r=V(this.$store,"mapMutations",e);if(!r)return;a=r.context.commit}return"function"==typeof i?i.apply(this,[a].concat(t)):a.apply(this.$store,[i].concat(t))}})),n})),D=F((function(e,t){var n={};return B(t)||console.error("[vuex] mapGetters: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;i=e+i,n[a]=function(){if(!e||V(this.$store,"mapGetters",e)){if(i in this.$store.getters)return this.$store.getters[i];console.error("[vuex] unknown getter: "+i)}},n[a].vuex=!0})),n})),j=F((function(e,t){var n={};return B(t)||console.error("[vuex] mapActions: mapper parameter must be either an Array or an Object"),$(t).forEach((function(t){var a=t.key,i=t.val;n[a]=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];var a=this.$store.dispatch;if(e){var r=V(this.$store,"mapActions",e);if(!r)return;a=r.context.dispatch}return"function"==typeof i?i.apply(this,[a].concat(t)):a.apply(this.$store,[i].concat(t))}})),n}));function $(e){return B(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function B(e){return Array.isArray(e)||s(e)}function F(e){return function(t,n){return"string"!=typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function V(e,t,n){var a=e._modulesNamespaceMap[n];return a||console.error("[vuex] module namespace not found in "+t+"(): "+n),a}function U(e,t,n){var a=n?e.groupCollapsed:e.group;try{a.call(e,t)}catch(n){e.log(t)}}function H(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function W(){var e=new Date;return" @ "+Y(e.getHours(),2)+":"+Y(e.getMinutes(),2)+":"+Y(e.getSeconds(),2)+"."+Y(e.getMilliseconds(),3)}function Y(e,t){return n="0",a=t-e.toString().length,new Array(a+1).join(n)+e;var n,a}return{version:"4.1.0",Store:R,storeKey:t,createStore:function(e){return new R(e)},useStore:function(n){return void 0===n&&(n=null),e.inject(null!==n?n:t)},mapState:z,mapMutations:q,mapGetters:D,mapActions:j,createNamespacedHelpers:function(e){return{mapState:z.bind(null,e),mapGetters:D.bind(null,e),mapMutations:q.bind(null,e),mapActions:j.bind(null,e)}},createLogger:function(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var n=e.filter;void 0===n&&(n=function(e,t,n){return!0});var a=e.transformer;void 0===a&&(a=function(e){return e});var i=e.mutationTransformer;void 0===i&&(i=function(e){return e});var o=e.actionFilter;void 0===o&&(o=function(e,t){return!0});var s=e.actionTransformer;void 0===s&&(s=function(e){return e});var l=e.logMutations;void 0===l&&(l=!0);var u=e.logActions;void 0===u&&(u=!0);var c=e.logger;return void 0===c&&(c=console),function(e){var d=r(e.state);void 0!==c&&(l&&e.subscribe((function(e,o){var s=r(o);if(n(e,d,s)){var l=W(),u=i(e),h="mutation "+e.type+l;U(c,h,t),c.log("%c prev state","color: #9E9E9E; font-weight: bold",a(d)),c.log("%c mutation","color: #03A9F4; font-weight: bold",u),c.log("%c next state","color: #4CAF50; font-weight: bold",a(s)),H(c)}d=s})),u&&e.subscribeAction((function(e,n){if(o(e,n)){var a=W(),i=s(e),r="action "+e.type+a;U(c,r,t),c.log("%c action","color: #03A9F4; font-weight: bold",i),H(c)}})))}}}}(Vue),VueI18n=function(e,t){"use strict";const n="undefined"!=typeof window,a=(e,t=!1)=>t?Symbol.for(e):Symbol(e),i=(e,t,n)=>r({l:e,k:t,s:n}),r=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),o=e=>"number"==typeof e&&isFinite(e),s=e=>"[object Date]"===w(e),l=e=>"[object RegExp]"===w(e),u=e=>k(e)&&0===Object.keys(e).length,c=Object.assign;function d(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const h=Object.prototype.hasOwnProperty;function p(e,t){return h.call(e,t)}const f=Array.isArray,m=e=>"function"==typeof e,g=e=>"string"==typeof e,v=e=>"boolean"==typeof e,b=e=>null!==e&&"object"==typeof e,_=e=>b(e)&&m(e.then)&&m(e.catch),y=Object.prototype.toString,w=e=>y.call(e),k=e=>"[object Object]"===w(e);function x(e,t=""){return e.reduce(((e,n,a)=>0===a?e+n:e+t+n),"")}function S(e,t){"undefined"!=typeof console&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const C=e=>!b(e)||f(e);function E(e,t){if(C(e)||C(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:e,des:t}=n.pop();Object.keys(e).forEach((a=>{b(e[a])&&!b(t[a])&&(t[a]=Array.isArray(e[a])?[]:{}),C(t[a])||C(e[a])?t[a]=e[a]:n.push({src:e[a],des:t[a]})}))}}const T={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16};function A(e){throw e}const M=" ",P="\r",L="\n",O=String.fromCharCode(8232),N=String.fromCharCode(8233);function R(e){const t=e;let n=0,a=1,i=1,r=0;const o=e=>t[e]===P&&t[e+1]===L,s=e=>t[e]===N,l=e=>t[e]===O,u=e=>o(e)||s(e)||l(e)?L:t[e];function c(){return r=0,(e=>o(e)||(e=>t[e]===L)(e)||s(e)||l(e))(n)&&(a++,i=0),o(n)&&n++,n++,i++,t[n]}return{index:()=>n,line:()=>a,column:()=>i,peekOffset:()=>r,charAt:u,currentChar:()=>u(n),currentPeek:()=>u(n+r),next:c,peek:function(){return o(n+r)&&r++,r++,t[n+r]},reset:function(){n=0,a=1,i=1,r=0},resetPeek:function(e=0){r=e},skipToPeek:function(){const e=n+r;for(;e!==n;)c();r=0}}}const I=void 0,z="'";function q(e,t={}){const n=!1!==t.location,a=R(e),i=()=>a.index(),r=()=>({line:a.line(),column:a.column(),offset:a.index()}),o=r(),s=i(),l={currentType:13,offset:s,startLoc:o,endLoc:o,lastType:13,lastOffset:s,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},{onError:u}=t;function c(e,t,a){e.endLoc=r(),e.currentType=t;const i={type:t};return n&&(i.loc=function(e,t){return{start:e,end:t}}(e.startLoc,e.endLoc)),null!=a&&(i.value=a),i}const d=e=>c(e,13);function h(e,t){return e.currentChar()===t?(e.next(),t):(T.EXPECTED_TOKEN,r(),"")}function p(e){let t="";for(;e.currentPeek()===M||e.currentPeek()===L;)t+=e.currentPeek(),e.peek();return t}function f(e){const t=p(e);return e.skipToPeek(),t}function m(e){if(e===I)return!1;const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||95===t}function g(e){p(e);const t="|"===e.currentPeek();return e.resetPeek(),t}function v(e,t=!0){const n=(t=!1,a="")=>{const i=e.currentPeek();return"{"===i?t:"@"!==i&&i?"|"===i?!(a===M||a===L):i===M?(e.peek(),n(!0,M)):i!==L||(e.peek(),n(!0,L)):t},a=n();return t&&e.resetPeek(),a}function b(e,t){const n=e.currentChar();return n===I?I:t(n)?(e.next(),n):null}function _(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t}function y(e){return b(e,_)}function w(e){const t=e.charCodeAt(0);return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57||95===t||36===t||45===t}function k(e){return b(e,w)}function x(e){const t=e.charCodeAt(0);return t>=48&&t<=57}function S(e){return b(e,x)}function C(e){const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function E(e){return b(e,C)}function A(e){let t="",n="";for(;t=S(e);)n+=t;return n}function P(e){return e!==z&&e!==L}function O(e){const t=e.currentChar();switch(t){case"\\":case"'":return e.next(),`\\${t}`;case"u":return N(e,t,4);case"U":return N(e,t,6);default:return T.UNKNOWN_ESCAPE_SEQUENCE,r(),""}}function N(e,t,n){h(e,t);let a="";for(let t=0;t=1&&(T.NOT_ALLOW_NEST_PLACEHOLDER,r()),e.next(),n=c(t,2,"{"),f(e),t.braceNest++,n;case"}":return t.braceNest>0&&2===t.currentType&&(T.EMPTY_PLACEHOLDER,r()),e.next(),n=c(t,3,"}"),t.braceNest--,t.braceNest>0&&f(e),t.inLinked&&0===t.braceNest&&(t.inLinked=!1),n;case"@":return t.braceNest>0&&(T.UNTERMINATED_CLOSING_BRACE,r()),n=$(e,t)||d(t),t.braceNest=0,n;default:{let a=!0,i=!0,o=!0;if(g(e))return t.braceNest>0&&(T.UNTERMINATED_CLOSING_BRACE,r()),n=c(t,1,D(e)),t.braceNest=0,t.inLinked=!1,n;if(t.braceNest>0&&(4===t.currentType||5===t.currentType||6===t.currentType))return T.UNTERMINATED_CLOSING_BRACE,r(),t.braceNest=0,B(e,t);if(a=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const a=m(e.currentPeek());return e.resetPeek(),a}(e,t))return n=c(t,4,function(e){f(e);let t="",n="";for(;t=k(e);)n+=t;return e.currentChar()===I&&(T.UNTERMINATED_CLOSING_BRACE,r()),n}(e)),f(e),n;if(i=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const a=function(e){if(e===I)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57}("-"===e.currentPeek()?e.peek():e.currentPeek());return e.resetPeek(),a}(e,t))return n=c(t,5,function(e){f(e);let t="";return"-"===e.currentChar()?(e.next(),t+=`-${A(e)}`):t+=A(e),e.currentChar()===I&&(T.UNTERMINATED_CLOSING_BRACE,r()),t}(e)),f(e),n;if(o=function(e,t){const{currentType:n}=t;if(2!==n)return!1;p(e);const a=e.currentPeek()===z;return e.resetPeek(),a}(e,t))return n=c(t,6,function(e){f(e),h(e,"'");let t="",n="";for(;t=b(e,P);)n+="\\"===t?O(e):t;const a=e.currentChar();return a===L||a===I?(T.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,r(),a===L&&(e.next(),h(e,"'")),n):(h(e,"'"),n)}(e)),f(e),n;if(!a&&!i&&!o)return n=c(t,12,function(e){f(e);let t="",n="";for(;t=b(e,q);)n+=t;return n}(e)),T.INVALID_TOKEN_IN_PLACEHOLDER,r(),n.value,f(e),n;break}}return n}function $(e,t){const{currentType:n}=t;let a=null;const i=e.currentChar();switch(7!==n&&8!==n&&11!==n&&9!==n||i!==L&&i!==M||(T.INVALID_LINKED_FORMAT,r()),i){case"@":return e.next(),a=c(t,7,"@"),t.inLinked=!0,a;case".":return f(e),e.next(),c(t,8,".");case":":return f(e),e.next(),c(t,9,":");default:return g(e)?(a=c(t,1,D(e)),t.braceNest=0,t.inLinked=!1,a):function(e,t){const{currentType:n}=t;if(7!==n)return!1;p(e);const a="."===e.currentPeek();return e.resetPeek(),a}(e,t)||function(e,t){const{currentType:n}=t;if(7!==n&&11!==n)return!1;p(e);const a=":"===e.currentPeek();return e.resetPeek(),a}(e,t)?(f(e),$(e,t)):function(e,t){const{currentType:n}=t;if(8!==n)return!1;p(e);const a=m(e.currentPeek());return e.resetPeek(),a}(e,t)?(f(e),c(t,11,function(e){let t="",n="";for(;t=y(e);)n+=t;return n}(e))):function(e,t){const{currentType:n}=t;if(9!==n)return!1;const a=()=>{const t=e.currentPeek();return"{"===t?m(e.peek()):!("@"===t||"|"===t||":"===t||"."===t||t===M||!t)&&(t===L?(e.peek(),a()):v(e,!1))},i=a();return e.resetPeek(),i}(e,t)?(f(e),"{"===i?j(e,t)||a:c(t,10,function(e){const t=n=>{const a=e.currentChar();return"{"!==a&&"@"!==a&&"|"!==a&&"("!==a&&")"!==a&&a?a===M?n:(n+=a,e.next(),t(n)):n};return t("")}(e))):(7===n&&(T.INVALID_LINKED_FORMAT,r()),t.braceNest=0,t.inLinked=!1,B(e,t))}}function B(e,t){let n={type:13};if(t.braceNest>0)return j(e,t)||d(t);if(t.inLinked)return $(e,t)||d(t);switch(e.currentChar()){case"{":return j(e,t)||d(t);case"}":return T.UNBALANCED_CLOSING_BRACE,r(),e.next(),c(t,3,"}");case"@":return $(e,t)||d(t);default:if(g(e))return n=c(t,1,D(e)),t.braceNest=0,t.inLinked=!1,n;if(v(e))return c(t,0,function(e){let t="";for(;;){const n=e.currentChar();if("{"===n||"}"===n||"@"===n||"|"===n||!n)break;if(n===M||n===L)if(v(e))t+=n,e.next();else{if(g(e))break;t+=n,e.next()}else t+=n,e.next()}return t}(e))}return n}return{nextToken:function(){const{currentType:e,offset:t,startLoc:n,endLoc:o}=l;return l.lastType=e,l.lastOffset=t,l.lastStartLoc=n,l.lastEndLoc=o,l.offset=i(),l.startLoc=r(),a.currentChar()===I?c(l,13):B(a,l)},currentOffset:i,currentPosition:r,context:()=>l}}const D=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function j(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const e=parseInt(t||n,16);return e<=55295||e>=57344?String.fromCodePoint(e):"�"}}}function $(e={}){const t=!1!==e.location,{onError:n}=e;function a(e,n,a){const i={type:e};return t&&(i.start=n,i.end=n,i.loc={start:a,end:a}),i}function i(e,n,a,i){t&&(e.end=n,e.loc&&(e.loc.end=a))}function r(e,t){const n=e.context(),r=a(3,n.offset,n.startLoc);return r.value=t,i(r,e.currentOffset(),e.currentPosition()),r}function o(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(5,r,o);return s.index=parseInt(t,10),e.nextToken(),i(s,e.currentOffset(),e.currentPosition()),s}function s(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(4,r,o);return s.key=t,e.nextToken(),i(s,e.currentOffset(),e.currentPosition()),s}function l(e,t){const n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(9,r,o);return s.value=t.replace(D,j),e.nextToken(),i(s,e.currentOffset(),e.currentPosition()),s}function u(e){const t=e.context(),n=a(6,t.offset,t.startLoc);let r=e.nextToken();if(8===r.type){const t=function(e){const t=e.nextToken(),n=e.context(),{lastOffset:r,lastStartLoc:o}=n,s=a(8,r,o);return 11!==t.type?(T.UNEXPECTED_EMPTY_LINKED_MODIFIER,n.lastStartLoc,s.value="",i(s,r,o),{nextConsumeToken:t,node:s}):(null==t.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,n.lastStartLoc,B(t)),s.value=t.value||"",i(s,e.currentOffset(),e.currentPosition()),{node:s})}(e);n.modifier=t.node,r=t.nextConsumeToken||e.nextToken()}switch(9!==r.type&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(r)),r=e.nextToken(),2===r.type&&(r=e.nextToken()),r.type){case 10:null==r.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(r)),n.key=function(e,t){const n=e.context(),r=a(7,n.offset,n.startLoc);return r.value=t,i(r,e.currentOffset(),e.currentPosition()),r}(e,r.value||"");break;case 4:null==r.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(r)),n.key=s(e,r.value||"");break;case 5:null==r.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(r)),n.key=o(e,r.value||"");break;case 6:null==r.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(r)),n.key=l(e,r.value||"");break;default:{T.UNEXPECTED_EMPTY_LINKED_KEY,t.lastStartLoc;const o=e.context(),s=a(7,o.offset,o.startLoc);return s.value="",i(s,o.offset,o.startLoc),n.key=s,i(n,o.offset,o.startLoc),{nextConsumeToken:r,node:n}}}return i(n,e.currentOffset(),e.currentPosition()),{node:n}}function d(e){const t=e.context(),n=a(2,1===t.currentType?e.currentOffset():t.offset,1===t.currentType?t.endLoc:t.startLoc);n.items=[];let c=null;do{const a=c||e.nextToken();switch(c=null,a.type){case 0:null==a.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(a)),n.items.push(r(e,a.value||""));break;case 5:null==a.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(a)),n.items.push(o(e,a.value||""));break;case 4:null==a.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(a)),n.items.push(s(e,a.value||""));break;case 6:null==a.value&&(T.UNEXPECTED_LEXICAL_ANALYSIS,t.lastStartLoc,B(a)),n.items.push(l(e,a.value||""));break;case 7:{const t=u(e);n.items.push(t.node),c=t.nextConsumeToken||null;break}}}while(13!==t.currentType&&1!==t.currentType);return i(n,1===t.currentType?t.lastOffset:e.currentOffset(),1===t.currentType?t.lastEndLoc:e.currentPosition()),n}return{parse:function(n){const r=q(n,c({},e)),o=r.context(),s=a(0,o.offset,o.startLoc);return t&&s.loc&&(s.loc.source=n),s.body=function(e){const t=e.context(),{offset:n,startLoc:r}=t,o=d(e);return 13===t.currentType?o:function(e,t,n,r){const o=e.context();let s=0===r.items.length;const l=a(1,t,n);l.cases=[],l.cases.push(r);do{const t=d(e);s||(s=0===t.items.length),l.cases.push(t)}while(13!==o.currentType);return i(l,e.currentOffset(),e.currentPosition()),l}(e,n,r,o)}(r),e.onCacheKey&&(s.cacheKey=e.onCacheKey(n)),13!==o.currentType&&(T.UNEXPECTED_LEXICAL_ANALYSIS,o.lastStartLoc,n[o.offset]),i(s,r.currentOffset(),r.currentPosition()),s}}}function B(e){if(13===e.type)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function F(e,t){for(let n=0;n1){e.push(`${n("plural")}([`),e.indent(a());const i=t.cases.length;for(let n=0;n{const n=g(t.mode)?t.mode:"normal",a=g(t.filename)?t.filename:"message.intl",i=!!t.sourceMap,r=null!=t.breakLineCode?t.breakLineCode:"arrow"===n?";":"\n",o=t.needIndent?t.needIndent:"arrow"!==n,s=e.helpers||[],l=function(e,t){const{sourceMap:n,filename:a,breakLineCode:i,needIndent:r}=t,o={filename:a,code:"",column:1,line:1,offset:0,map:void 0,breakLineCode:i,needIndent:r,indentLevel:0};function s(e,t){o.code+=e}function l(e,t=!0){const n=t?i:"";s(r?n+" ".repeat(e):n)}return!1!==t.location&&e.loc&&(o.source=e.loc.source),{context:()=>o,push:s,indent:function(e=!0){const t=++o.indentLevel;e&&l(t)},deindent:function(e=!0){const t=--o.indentLevel;e&&l(t)},newline:function(){l(o.indentLevel)},helper:e=>`_${e}`,needIndent:()=>o.needIndent}}(e,{mode:n,filename:a,sourceMap:i,breakLineCode:r,needIndent:o});l.push("normal"===n?"function __msg__ (ctx) {":"(ctx) => {"),l.indent(o),s.length>0&&(l.push(`const { ${x(s.map((e=>`${e}: _${e}`)),", ")} } = ctx`),l.newline()),l.push("return "),W(l,e),l.deindent(o),l.push("}"),delete e.helpers;const{code:u,map:c}=l.context();return{ast:e,code:u,map:c?c.toJSON():void 0}};function Q(e,t={}){const n=c({},t),a=!!n.jit,i=!!n.minify,r=null==n.optimize||n.optimize,o=$(n).parse(e);return a?(r&&function(e){const t=e.body;2===t.type?U(t):t.cases.forEach((e=>U(e)))}(o),i&&H(o),{ast:o,code:""}):(function(e){const t=function(e){const t={ast:e,helpers:new Set};return{context:()=>t,helper:e=>(t.helpers.add(e),e)}}(e);t.helper("normalize"),e.body&&V(e.body,t);const n=t.context();e.helpers=Array.from(n.helpers)}(o,n),Y(o,n))}function K(e){return t=>function(e,t){const n=t.b||t.body;if(1===(n.t||n.type)){const t=n,a=t.c||t.cases;return e.plural(a.reduce(((t,n)=>[...t,G(e,n)]),[]))}return G(e,n)}(t,e)}function G(e,t){const n=t.s||t.static;if(n)return"text"===e.type?n:e.normalize([n]);{const n=(t.i||t.items).reduce(((t,n)=>[...t,Z(e,n)]),[]);return e.normalize(n)}}function Z(e,t){const n=t.t||t.type;switch(n){case 3:{const e=t;return e.v||e.value}case 9:{const e=t;return e.v||e.value}case 4:{const n=t;return e.interpolate(e.named(n.k||n.key))}case 5:{const n=t;return e.interpolate(e.list(null!=n.i?n.i:n.index))}case 6:{const n=t,a=n.m||n.modifier;return e.linked(Z(e,n.k||n.key),a?Z(e,a):void 0,e.type)}case 7:{const e=t;return e.v||e.value}case 8:{const e=t;return e.v||e.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const J=e=>e;let X=Object.create(null);const ee=e=>b(e)&&(0===e.t||0===e.type)&&("b"in e||"body"in e),te={INVALID_ARGUMENT:17,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23};function ne(e,t){return null!=t.locale?ie(t.locale):ie(e.locale)}let ae;function ie(e){if(g(e))return e;if(m(e)){if(e.resolvedOnce&&null!=ae)return ae;if("Function"===e.constructor.name){const t=e();if(_(t))throw Error(te.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return ae=t}throw Error(te.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}throw Error(te.NOT_SUPPORT_LOCALE_TYPE)}function re(e,t,n){return[...new Set([n,...f(t)?t:b(t)?Object.keys(t):g(t)?[t]:[n]])]}function oe(e,t,n){const a=g(n)?n:ve,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let r=i.__localeChainCache.get(a);if(!r){r=[];let e=[n];for(;f(e);)e=se(r,e,t);const o=f(t)||!k(t)?t:t.default?t.default:null;e=g(o)?[o]:o,f(e)&&se(r,e,!1),i.__localeChainCache.set(a,r)}return r}function se(e,t,n){let a=!0;for(let i=0;i`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;let ye,we,ke,xe=null;const Se=e=>{xe=e},Ce=()=>xe;let Ee=0;function Te(e={}){const t=m(e.onWarn)?e.onWarn:S,n=g(e.version)?e.version:me,a=g(e.locale)||m(e.locale)?e.locale:ve,i=m(a)?ve:a,r=f(e.fallbackLocale)||k(e.fallbackLocale)||g(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:i,o=k(e.messages)?e.messages:{[i]:{}},s=k(e.datetimeFormats)?e.datetimeFormats:{[i]:{}},u=k(e.numberFormats)?e.numberFormats:{[i]:{}},d=c({},e.modifiers||{},{upper:(e,t)=>"text"===t&&g(e)?e.toUpperCase():"vnode"===t&&b(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>"text"===t&&g(e)?e.toLowerCase():"vnode"===t&&b(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>"text"===t&&g(e)?_e(e):"vnode"===t&&b(e)&&"__v_isVNode"in e?_e(e.children):e}),h=e.pluralRules||{},p=m(e.missing)?e.missing:null,_=!v(e.missingWarn)&&!l(e.missingWarn)||e.missingWarn,y=!v(e.fallbackWarn)&&!l(e.fallbackWarn)||e.fallbackWarn,w=!!e.fallbackFormat,x=!!e.unresolving,C=m(e.postTranslation)?e.postTranslation:null,E=k(e.processor)?e.processor:null,T=!v(e.warnHtmlMessage)||e.warnHtmlMessage,A=!!e.escapeParameter,M=m(e.messageCompiler)?e.messageCompiler:ye,P=m(e.messageResolver)?e.messageResolver:we||fe,L=m(e.localeFallbacker)?e.localeFallbacker:ke||re,O=b(e.fallbackContext)?e.fallbackContext:void 0,N=e,R=b(N.__datetimeFormatters)?N.__datetimeFormatters:new Map,I=b(N.__numberFormatters)?N.__numberFormatters:new Map,z=b(N.__meta)?N.__meta:{};Ee++;const q={version:n,cid:Ee,locale:a,fallbackLocale:r,messages:o,modifiers:d,pluralRules:h,missing:p,missingWarn:_,fallbackWarn:y,fallbackFormat:w,unresolving:x,postTranslation:C,processor:E,warnHtmlMessage:T,escapeParameter:A,messageCompiler:M,messageResolver:P,localeFallbacker:L,fallbackContext:O,onWarn:t,__meta:z};return q.datetimeFormats=s,q.numberFormats=u,q.__datetimeFormatters=R,q.__numberFormatters=I,q}function Ae(e,t,n,a,i){const{missing:r,onWarn:o}=e;if(null!==r){const a=r(e,n,t,i);return g(a)?a:t}return t}function Me(e,t,n){e.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function Pe(e,t){const n=t.indexOf(e);if(-1===n)return!1;for(let r=n+1;r{Oe.includes(e)?u[e]=n[e]:r[e]=n[e]})),g(a)?r.locale=a:k(a)&&(u=a),k(i)&&(u=i),[r.key||"",l,r,u]}function Re(e,t,n){const a=e;for(const e in n){const n=`${t}__${e}`;a.__datetimeFormatters.has(n)&&a.__datetimeFormatters.delete(n)}}function Ie(e,...t){const{numberFormats:n,unresolving:a,fallbackLocale:i,onWarn:r,localeFallbacker:o}=e,{__numberFormatters:s}=e,[l,d,h,p]=qe(...t);v(h.missingWarn)?h.missingWarn:e.missingWarn,v(h.fallbackWarn)?h.fallbackWarn:e.fallbackWarn;const f=!!h.part,m=ne(e,h),b=o(e,i,m);if(!g(l)||""===l)return new Intl.NumberFormat(m,p).format(d);let _,y={},w=null;for(let t=0;t{ze.includes(e)?s[e]=n[e]:r[e]=n[e]})),g(a)?r.locale=a:k(a)&&(s=a),k(i)&&(s=i),[r.key||"",l,r,s]}function De(e,t,n){const a=e;for(const e in n){const n=`${t}__${e}`;a.__numberFormatters.has(n)&&a.__numberFormatters.delete(n)}}const je=e=>e,$e=e=>"",Be="text",Fe=e=>0===e.length?"":x(e),Ve=e=>null==e?"":f(e)||k(e)&&e.toString===y?JSON.stringify(e,null,2):String(e);function Ue(e,t){return e=Math.abs(e),2===t?e?e>1?1:0:1:e?Math.min(e,2):0}function He(e={}){const t=e.locale,n=function(e){const t=o(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(o(e.named.count)||o(e.named.n))?o(e.named.count)?e.named.count:o(e.named.n)?e.named.n:t:t}(e),a=b(e.pluralRules)&&g(t)&&m(e.pluralRules[t])?e.pluralRules[t]:Ue,i=b(e.pluralRules)&&g(t)&&m(e.pluralRules[t])?Ue:void 0,r=e.list||[],s=e.named||{};function l(t,n){return(m(e.messages)?e.messages(t,!!n):!!b(e.messages)&&e.messages[t])||(e.parent?e.parent.message(t):$e)}o(e.pluralIndex)&&function(e,t){t.count||(t.count=e),t.n||(t.n=e)}(n,s);const u=k(e.processor)&&m(e.processor.normalize)?e.processor.normalize:Fe,d=k(e.processor)&&m(e.processor.interpolate)?e.processor.interpolate:Ve,h={list:e=>r[e],named:e=>s[e],plural:e=>e[a(n,e.length,i)],linked:(t,...n)=>{const[a,i]=n;let r="text",o="";1===n.length?b(a)?(o=a.modifier||o,r=a.type||r):g(a)&&(o=a||o):2===n.length&&(g(a)&&(o=a||o),g(i)&&(r=i||r));const s=l(t,!0)(h),u="vnode"===r&&f(s)&&o?s[0]:s;return o?(c=o,e.modifiers?e.modifiers[c]:je)(u,r):u;var c},message:l,type:k(e.processor)&&g(e.processor.type)?e.processor.type:Be,interpolate:d,normalize:u,values:c({},r,s)};return h}const We=()=>"",Ye=e=>m(e);function Qe(e,...t){const{fallbackFormat:n,postTranslation:a,unresolving:i,messageCompiler:r,fallbackLocale:s,messages:l}=e,[u,c]=Ze(...t),h=v(c.missingWarn)?c.missingWarn:e.missingWarn,p=v(c.fallbackWarn)?c.fallbackWarn:e.fallbackWarn,_=v(c.escapeParameter)?c.escapeParameter:e.escapeParameter,y=!!c.resolvedMessage,w=g(c.default)||v(c.default)?v(c.default)?r?u:()=>u:c.default:n?r?u:()=>u:null,k=n||null!=w&&(g(w)||m(w)),x=ne(e,c);_&&function(e){f(e.list)?e.list=e.list.map((e=>g(e)?d(e):e)):b(e.named)&&Object.keys(e.named).forEach((t=>{g(e.named[t])&&(e.named[t]=d(e.named[t]))}))}(c);let[S,C,E]=y?[u,x,l[x]||{}]:Ke(e,u,x,s,p,h),T=S,A=u;if(y||g(T)||ee(T)||Ye(T)||k&&(T=w,A=T),!(y||(g(T)||ee(T)||Ye(T))&&g(C)))return i?ge:u;let M=!1;const P=Ye(T)?T:Ge(e,u,C,T,A,(()=>{M=!0}));if(M)return T;const L=function(e,t,n,a){const{modifiers:i,pluralRules:r,messageResolver:s,fallbackLocale:l,fallbackWarn:u,missingWarn:c,fallbackContext:d}=e,h={locale:t,modifiers:i,pluralRules:r,messages:(a,i)=>{let r=s(n,a);if(null==r&&(d||i)){const[,,n]=Ke(d||e,a,t,l,u,c);r=s(n,a)}if(g(r)||ee(r)){let n=!1;const i=Ge(e,a,t,r,a,(()=>{n=!0}));return n?We:i}return Ye(r)?r:We}};return e.processor&&(h.processor=e.processor),a.list&&(h.list=a.list),a.named&&(h.named=a.named),o(a.plural)&&(h.pluralIndex=a.plural),h}(e,C,E,c),O=function(e,t,n){return t(n)}(0,P,He(L));return a?a(O,u):O}function Ke(e,t,n,a,i,r){const{messages:o,onWarn:s,messageResolver:l,localeFallbacker:u}=e,c=u(e,a,n);let d,h={},p=null;for(let n=0;na;return e.locale=n,e.key=t,e}const u=s(a,function(e,t,n,a,r,o){return{locale:t,key:n,warnHtmlMessage:r,onError:e=>{throw o&&o(e),e},onCacheKey:e=>i(t,n,e)}}(0,n,r,0,l,o));return u.locale=n,u.key=t,u.source=a,u}function Ze(...e){const[t,n,a]=e,i={};if(!(g(t)||o(t)||Ye(t)||ee(t)))throw Error(te.INVALID_ARGUMENT);const r=o(t)?String(t):(Ye(t),t);return o(n)?i.plural=n:g(n)?i.default=n:k(n)&&!u(n)?i.named=n:f(n)&&(i.list=n),o(a)?i.plural=a:g(a)?i.default=a:k(a)&&c(i,a),[r,i]}const Je="10.0.3",Xe={UNEXPECTED_RETURN_TYPE:24,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34},et=a("__translateVNode"),tt=a("__datetimeParts"),nt=a("__numberParts"),at=a("__setPluralRules"),it=a("__injectWithOption"),rt=a("__dispose");function ot(e){if(!b(e))return e;for(const t in e)if(p(e,t))if(t.includes(".")){const n=t.split("."),a=n.length-1;let i=e,r=!1;for(let e=0;e{if("locale"in e&&"resource"in e){const{locale:t,resource:n}=e;t?(o[t]=o[t]||{},E(n,o[t])):E(n,o)}else g(e)&&E(JSON.parse(e),o)})),null==i&&r)for(const e in o)p(o,e)&&ot(o[e]);return o}function lt(e,t,n){let a=b(t.messages)?t.messages:{};"__i18nGlobal"in n&&(a=st(e.locale.value,{messages:a,__i18n:n.__i18nGlobal}));const i=Object.keys(a);if(i.length&&i.forEach((t=>{e.mergeLocaleMessage(t,a[t])})),b(t.datetimeFormats)){const n=Object.keys(t.datetimeFormats);n.length&&n.forEach((n=>{e.mergeDateTimeFormat(n,t.datetimeFormats[n])}))}if(b(t.numberFormats)){const n=Object.keys(t.numberFormats);n.length&&n.forEach((n=>{e.mergeNumberFormat(n,t.numberFormats[n])}))}}function ut(e){return t.createVNode(t.Text,null,e,0)}const ct=()=>[],dt=()=>!1;let ht=0;function pt(e){return(n,a,i,r)=>e(a,i,t.getCurrentInstance()||void 0,r)}function ft(e={}){const{__root:a,__injectWithOption:i}=e,r=void 0===a,s=e.flatJson,u=n?t.ref:t.shallowRef;let d=!v(e.inheritLocale)||e.inheritLocale;const h=u(a&&d?a.locale.value:g(e.locale)?e.locale:ve),_=u(a&&d?a.fallbackLocale.value:g(e.fallbackLocale)||f(e.fallbackLocale)||k(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:h.value),y=u(st(h.value,e)),w=u(k(e.datetimeFormats)?e.datetimeFormats:{[h.value]:{}}),x=u(k(e.numberFormats)?e.numberFormats:{[h.value]:{}});let S=a?a.missingWarn:!v(e.missingWarn)&&!l(e.missingWarn)||e.missingWarn,C=a?a.fallbackWarn:!v(e.fallbackWarn)&&!l(e.fallbackWarn)||e.fallbackWarn,T=a?a.fallbackRoot:!v(e.fallbackRoot)||e.fallbackRoot,A=!!e.fallbackFormat,M=m(e.missing)?e.missing:null,P=m(e.missing)?pt(e.missing):null,L=m(e.postTranslation)?e.postTranslation:null,O=a?a.warnHtmlMessage:!v(e.warnHtmlMessage)||e.warnHtmlMessage,N=!!e.escapeParameter;const R=a?a.modifiers:k(e.modifiers)?e.modifiers:{};let I,z=e.pluralRules||a&&a.pluralRules;I=(()=>{r&&Se(null);const t={version:Je,locale:h.value,fallbackLocale:_.value,messages:y.value,modifiers:R,pluralRules:z,missing:null===P?void 0:P,missingWarn:S,fallbackWarn:C,fallbackFormat:A,unresolving:!0,postTranslation:null===L?void 0:L,warnHtmlMessage:O,escapeParameter:N,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};t.datetimeFormats=w.value,t.numberFormats=x.value,t.__datetimeFormatters=k(I)?I.__datetimeFormatters:void 0,t.__numberFormatters=k(I)?I.__numberFormatters:void 0;const n=Te(t);return r&&Se(n),n})(),Me(I,h.value,_.value);const q=t.computed({get:()=>h.value,set:e=>{h.value=e,I.locale=h.value}}),D=t.computed({get:()=>_.value,set:e=>{_.value=e,I.fallbackLocale=_.value,Me(I,h.value,e)}}),j=t.computed((()=>y.value)),$=t.computed((()=>w.value)),B=t.computed((()=>x.value)),F=(e,t,n,i,s,l)=>{let u;h.value,_.value,y.value,w.value,x.value;try{r||(I.fallbackContext=a?Ce():void 0),u=e(I)}finally{r||(I.fallbackContext=void 0)}if("translate exists"!==n&&o(u)&&u===ge||"translate exists"===n&&!u){const[e,n]=t();return a&&T?i(a):s(e)}if(l(u))return u;throw Error(Xe.UNEXPECTED_RETURN_TYPE)};function V(...e){return F((t=>Reflect.apply(Qe,null,[t,...e])),(()=>Ze(...e)),"translate",(t=>Reflect.apply(t.t,t,[...e])),(e=>e),(e=>g(e)))}const U={normalize:function(e){return e.map((e=>g(e)||o(e)||v(e)?ut(String(e)):e))},interpolate:e=>e,type:"vnode"};function H(e){return y.value[e]||{}}ht++,a&&n&&(t.watch(a.locale,(e=>{d&&(h.value=e,I.locale=e,Me(I,h.value,_.value))})),t.watch(a.fallbackLocale,(e=>{d&&(_.value=e,I.fallbackLocale=e,Me(I,h.value,_.value))})));const W={id:ht,locale:q,fallbackLocale:D,get inheritLocale(){return d},set inheritLocale(e){d=e,e&&a&&(h.value=a.locale.value,_.value=a.fallbackLocale.value,Me(I,h.value,_.value))},get availableLocales(){return Object.keys(y.value).sort()},messages:j,get modifiers(){return R},get pluralRules(){return z||{}},get isGlobal(){return r},get missingWarn(){return S},set missingWarn(e){S=e,I.missingWarn=S},get fallbackWarn(){return C},set fallbackWarn(e){C=e,I.fallbackWarn=C},get fallbackRoot(){return T},set fallbackRoot(e){T=e},get fallbackFormat(){return A},set fallbackFormat(e){A=e,I.fallbackFormat=A},get warnHtmlMessage(){return O},set warnHtmlMessage(e){O=e,I.warnHtmlMessage=e},get escapeParameter(){return N},set escapeParameter(e){N=e,I.escapeParameter=e},t:V,getLocaleMessage:H,setLocaleMessage:function(e,t){if(s){const n={[e]:t};for(const e in n)p(n,e)&&ot(n[e]);t=n[e]}y.value[e]=t,I.messages=y.value},mergeLocaleMessage:function(e,t){y.value[e]=y.value[e]||{};const n={[e]:t};if(s)for(const e in n)p(n,e)&&ot(n[e]);E(t=n[e],y.value[e]),I.messages=y.value},getPostTranslationHandler:function(){return m(L)?L:null},setPostTranslationHandler:function(e){L=e,I.postTranslation=e},getMissingHandler:function(){return M},setMissingHandler:function(e){null!==e&&(P=pt(e)),M=e,I.missing=P},[at]:function(e){z=e,I.pluralRules=z}};return W.datetimeFormats=$,W.numberFormats=B,W.rt=function(...e){const[t,n,a]=e;if(a&&!b(a))throw Error(Xe.INVALID_ARGUMENT);return V(t,n,c({resolvedMessage:!0},a||{}))},W.te=function(e,t){return F((()=>{if(!e)return!1;const n=H(g(t)?t:h.value),a=I.messageResolver(n,e);return ee(a)||Ye(a)||g(a)}),(()=>[e]),"translate exists",(n=>Reflect.apply(n.te,n,[e,t])),dt,(e=>v(e)))},W.tm=function(e){const t=function(e){let t=null;const n=oe(I,_.value,h.value);for(let a=0;aReflect.apply(Le,null,[t,...e])),(()=>Ne(...e)),"datetime format",(t=>Reflect.apply(t.d,t,[...e])),(()=>be),(e=>g(e)))},W.n=function(...e){return F((t=>Reflect.apply(Ie,null,[t,...e])),(()=>qe(...e)),"number format",(t=>Reflect.apply(t.n,t,[...e])),(()=>be),(e=>g(e)))},W.getDateTimeFormat=function(e){return w.value[e]||{}},W.setDateTimeFormat=function(e,t){w.value[e]=t,I.datetimeFormats=w.value,Re(I,e,t)},W.mergeDateTimeFormat=function(e,t){w.value[e]=c(w.value[e]||{},t),I.datetimeFormats=w.value,Re(I,e,t)},W.getNumberFormat=function(e){return x.value[e]||{}},W.setNumberFormat=function(e,t){x.value[e]=t,I.numberFormats=x.value,De(I,e,t)},W.mergeNumberFormat=function(e,t){x.value[e]=c(x.value[e]||{},t),I.numberFormats=x.value,De(I,e,t)},W[it]=i,W[et]=function(...e){return F((t=>{let n;const a=t;try{a.processor=U,n=Reflect.apply(Qe,null,[a,...e])}finally{a.processor=null}return n}),(()=>Ze(...e)),"translate",(t=>t[et](...e)),(e=>[ut(e)]),(e=>f(e)))},W[tt]=function(...e){return F((t=>Reflect.apply(Le,null,[t,...e])),(()=>Ne(...e)),"datetime format",(t=>t[tt](...e)),ct,(e=>g(e)||f(e)))},W[nt]=function(...e){return F((t=>Reflect.apply(Ie,null,[t,...e])),(()=>qe(...e)),"number format",(t=>t[nt](...e)),ct,(e=>g(e)||f(e)))},W}function mt(e={}){const t=ft(function(e){const t=g(e.locale)?e.locale:ve,n=g(e.fallbackLocale)||f(e.fallbackLocale)||k(e.fallbackLocale)||!1===e.fallbackLocale?e.fallbackLocale:t,a=m(e.missing)?e.missing:void 0,i=!v(e.silentTranslationWarn)&&!l(e.silentTranslationWarn)||!e.silentTranslationWarn,r=!v(e.silentFallbackWarn)&&!l(e.silentFallbackWarn)||!e.silentFallbackWarn,o=!v(e.fallbackRoot)||e.fallbackRoot,s=!!e.formatFallbackMessages,u=k(e.modifiers)?e.modifiers:{},d=e.pluralizationRules,h=m(e.postTranslation)?e.postTranslation:void 0,p=!g(e.warnHtmlInMessage)||"off"!==e.warnHtmlInMessage,b=!!e.escapeParameterHtml,_=!v(e.sync)||e.sync;let y=e.messages;if(k(e.sharedMessages)){const t=e.sharedMessages;y=Object.keys(t).reduce(((e,n)=>{const a=e[n]||(e[n]={});return c(a,t[n]),e}),y||{})}const{__i18n:w,__root:x,__injectWithOption:S}=e,C=e.datetimeFormats,E=e.numberFormats;return{locale:t,fallbackLocale:n,messages:y,flatJson:e.flatJson,datetimeFormats:C,numberFormats:E,missing:a,missingWarn:i,fallbackWarn:r,fallbackRoot:o,fallbackFormat:s,modifiers:u,pluralRules:d,postTranslation:h,warnHtmlMessage:p,escapeParameter:b,messageResolver:e.messageResolver,inheritLocale:_,__i18n:w,__root:x,__injectWithOption:S}}(e)),{__extender:n}=e,a={id:t.id,get locale(){return t.locale.value},set locale(e){t.locale.value=e},get fallbackLocale(){return t.fallbackLocale.value},set fallbackLocale(e){t.fallbackLocale.value=e},get messages(){return t.messages.value},get datetimeFormats(){return t.datetimeFormats.value},get numberFormats(){return t.numberFormats.value},get availableLocales(){return t.availableLocales},get missing(){return t.getMissingHandler()},set missing(e){t.setMissingHandler(e)},get silentTranslationWarn(){return v(t.missingWarn)?!t.missingWarn:t.missingWarn},set silentTranslationWarn(e){t.missingWarn=v(e)?!e:e},get silentFallbackWarn(){return v(t.fallbackWarn)?!t.fallbackWarn:t.fallbackWarn},set silentFallbackWarn(e){t.fallbackWarn=v(e)?!e:e},get modifiers(){return t.modifiers},get formatFallbackMessages(){return t.fallbackFormat},set formatFallbackMessages(e){t.fallbackFormat=e},get postTranslation(){return t.getPostTranslationHandler()},set postTranslation(e){t.setPostTranslationHandler(e)},get sync(){return t.inheritLocale},set sync(e){t.inheritLocale=e},get warnHtmlInMessage(){return t.warnHtmlMessage?"warn":"off"},set warnHtmlInMessage(e){t.warnHtmlMessage="off"!==e},get escapeParameterHtml(){return t.escapeParameter},set escapeParameterHtml(e){t.escapeParameter=e},get pluralizationRules(){return t.pluralRules||{}},__composer:t,t:(...e)=>Reflect.apply(t.t,t,[...e]),rt:(...e)=>Reflect.apply(t.rt,t,[...e]),tc(...e){const[n,a,i]=e,r={plural:1};let s=null,l=null;if(!g(n))throw Error(Xe.INVALID_ARGUMENT);const u=n;return g(a)?r.locale=a:o(a)?r.plural=a:f(a)?s=a:k(a)&&(l=a),g(i)?r.locale=i:f(i)?s=i:k(i)&&(l=i),Reflect.apply(t.t,t,[u,s||l||{},r])},te:(e,n)=>t.te(e,n),tm:e=>t.tm(e),getLocaleMessage:e=>t.getLocaleMessage(e),setLocaleMessage(e,n){t.setLocaleMessage(e,n)},mergeLocaleMessage(e,n){t.mergeLocaleMessage(e,n)},d:(...e)=>Reflect.apply(t.d,t,[...e]),getDateTimeFormat:e=>t.getDateTimeFormat(e),setDateTimeFormat(e,n){t.setDateTimeFormat(e,n)},mergeDateTimeFormat(e,n){t.mergeDateTimeFormat(e,n)},n:(...e)=>Reflect.apply(t.n,t,[...e]),getNumberFormat:e=>t.getNumberFormat(e),setNumberFormat(e,n){t.setNumberFormat(e,n)},mergeNumberFormat(e,n){t.mergeNumberFormat(e,n)}};return a.__extender=n,a}function gt(e,t){e.locale=t.locale||e.locale,e.fallbackLocale=t.fallbackLocale||e.fallbackLocale,e.missing=t.missing||e.missing,e.silentTranslationWarn=t.silentTranslationWarn||e.silentFallbackWarn,e.silentFallbackWarn=t.silentFallbackWarn||e.silentFallbackWarn,e.formatFallbackMessages=t.formatFallbackMessages||e.formatFallbackMessages,e.postTranslation=t.postTranslation||e.postTranslation,e.warnHtmlInMessage=t.warnHtmlInMessage||e.warnHtmlInMessage,e.escapeParameterHtml=t.escapeParameterHtml||e.escapeParameterHtml,e.sync=t.sync||e.sync,e.__composer[at](t.pluralizationRules||e.pluralizationRules);const n=st(e.locale,{messages:t.messages,__i18n:t.__i18n});return Object.keys(n).forEach((t=>e.mergeLocaleMessage(t,n[t]))),t.datetimeFormats&&Object.keys(t.datetimeFormats).forEach((n=>e.mergeDateTimeFormat(n,t.datetimeFormats[n]))),t.numberFormats&&Object.keys(t.numberFormats).forEach((n=>e.mergeNumberFormat(n,t.numberFormats[n]))),e}const vt={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>"parent"===e||"global"===e,default:"parent"},i18n:{type:Object}};function bt(){return t.Fragment}const _t=t.defineComponent({name:"i18n-t",props:c({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>o(e)||!isNaN(e)}},vt),setup(e,n){const{slots:a,attrs:i}=n,r=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return()=>{const o=Object.keys(a).filter((e=>"_"!==e)),s={};e.locale&&(s.locale=e.locale),void 0!==e.plural&&(s.plural=g(e.plural)?+e.plural:e.plural);const l=function({slots:e},n){return 1===n.length&&"default"===n[0]?(e.default?e.default():[]).reduce(((e,n)=>[...e,...n.type===t.Fragment?n.children:[n]]),[]):n.reduce(((t,n)=>{const a=e[n];return a&&(t[n]=a()),t}),{})}(n,o),u=r[et](e.keypath,l,s),d=c({},i),h=g(e.tag)||b(e.tag)?e.tag:bt();return t.h(h,d,u)}}}),yt=_t;function wt(e,n,a,i){const{slots:r,attrs:o}=n;return()=>{const n={part:!0};let s={};e.locale&&(n.locale=e.locale),g(e.format)?n.key=e.format:b(e.format)&&(g(e.format.key)&&(n.key=e.format.key),s=Object.keys(e.format).reduce(((t,n)=>a.includes(n)?c({},t,{[n]:e.format[n]}):t),{}));const l=i(e.value,n,s);let u=[n.key];f(l)?u=l.map(((e,t)=>{const n=r[e.type],a=n?n({[e.type]:e.value,index:t,parts:l}):[e.value];var i;return f(i=a)&&!g(i[0])&&(a[0].key=`${e.type}-${t}`),a})):g(l)&&(u=[l]);const d=c({},o),h=g(e.tag)||b(e.tag)?e.tag:bt();return t.h(h,d,u)}}const kt=t.defineComponent({name:"i18n-n",props:c({value:{type:Number,required:!0},format:{type:[String,Object]}},vt),setup(e,t){const n=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return wt(e,t,ze,((...e)=>n[nt](...e)))}}),xt=kt,St=t.defineComponent({name:"i18n-d",props:c({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},vt),setup(e,t){const n=e.i18n||Pt({useScope:e.scope,__useComponent:!0});return wt(e,t,Oe,((...e)=>n[tt](...e)))}}),Ct=St;function Et(e){const a=t=>{const{instance:n,value:a}=t;if(!n||!n.$)throw Error(Xe.UNEXPECTED_ERROR);const i=function(e,t){const n=e;if("composition"===e.mode)return n.__getInstance(t)||e.global;{const a=n.__getInstance(t);return null!=a?a.__composer:e.global.__composer}}(e,n.$),r=Tt(a);return[Reflect.apply(i.t,i,[...At(r)]),i]};return{created:(i,r)=>{const[o,s]=a(r);n&&e.global===s&&(i.__i18nWatcher=t.watch(s.locale,(()=>{r.instance&&r.instance.$forceUpdate()}))),i.__composer=s,i.textContent=o},unmounted:e=>{n&&e.__i18nWatcher&&(e.__i18nWatcher(),e.__i18nWatcher=void 0,delete e.__i18nWatcher),e.__composer&&(e.__composer=void 0,delete e.__composer)},beforeUpdate:(e,{value:t})=>{if(e.__composer){const n=e.__composer,a=Tt(t);e.textContent=Reflect.apply(n.t,n,[...At(a)])}},getSSRProps:e=>{const[t]=a(e);return{textContent:t}}}}function Tt(e){if(g(e))return{path:e};if(k(e)){if(!("path"in e))throw Error(Xe.REQUIRED_VALUE,"path");return e}throw Error(Xe.INVALID_VALUE)}function At(e){const{path:t,locale:n,args:a,choice:i,plural:r}=e,s={},l=a||{};return g(n)&&(s.locale=n),o(i)&&(s.plural=i),o(r)&&(s.plural=r),[t,l,s]}const Mt=a("global-vue-i18n");function Pt(e={}){const n=t.getCurrentInstance();if(null==n)throw Error(Xe.MUST_BE_CALL_SETUP_TOP);if(!n.isCE&&null!=n.appContext.app&&!n.appContext.app.__VUE_I18N_SYMBOL__)throw Error(Xe.NOT_INSTALLED);const a=function(e){const n=t.inject(e.isCE?Mt:e.appContext.app.__VUE_I18N_SYMBOL__);if(!n)throw Error(e.isCE?Xe.NOT_INSTALLED_WITH_PROVIDE:Xe.UNEXPECTED_ERROR);return n}(n),i=function(e){return"composition"===e.mode?e.global:e.global.__composer}(a),r=function(e){return e.type}(n),o=function(e,t){return u(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}(e,r);if("global"===o)return lt(i,e,r),i;if("parent"===o){let t=function(e,t,n=!1){let a=null;const i=t.root;let r=function(e,t=!1){return null==e?null:t&&e.vnode.ctx||e.parent}(t,n);for(;null!=r;){const t=e;if("composition"===e.mode)a=t.__getInstance(r);else{const e=t.__getInstance(r);null!=e&&(a=e.__composer,n&&a&&!a[it]&&(a=null))}if(null!=a)break;if(i===r)break;r=r.parent}return a}(a,n,e.__useComponent);return null==t&&(t=i),t}const s=a;let l=s.__getInstance(n);if(null==l){const a=c({},e);"__i18n"in r&&(a.__i18n=r.__i18n),i&&(a.__root=i),l=ft(a),s.__composerExtend&&(l[rt]=s.__composerExtend(l)),function(e,n,a){t.onMounted((()=>{}),n),t.onUnmounted((()=>{const t=a;e.__deleteInstance(n);const i=t[rt];i&&(i(),delete t[rt])}),n)}(s,n,l),s.__setInstance(n,l)}return l}const Lt=["locale","fallbackLocale","availableLocales"],Ot=["t","rt","d","n","tm","te"];return ye=function(e,t){if(g(e)){!v(t.warnHtmlMessage)||t.warnHtmlMessage;const n=(t.onCacheKey||J)(e),a=X[n];if(a)return a;const{ast:i,detectError:r}=function(e,t={}){let n=!1;const a=t.onError||A;return t.onError=e=>{n=!0,a(e)},{...Q(e,t),detectError:n}}(e,{...t,location:!1,jit:!0}),o=K(i);return r?o:X[n]=o}{const t=e.cacheKey;if(t){return X[t]||(X[t]=K(e))}return K(e)}},we=function(e,t){if(!b(e))return null;let n=pe.get(t);if(n||(n=function(e){const t=[];let n,a,i,r,o,s,l,u=-1,c=0,d=0;const h=[];function p(){const t=e[u+1];if(5===c&&"'"===t||6===c&&'"'===t)return u++,i="\\"+t,h[0](),!0}for(h[0]=()=>{void 0===a?a=i:a+=i},h[1]=()=>{void 0!==a&&(t.push(a),a=void 0)},h[2]=()=>{h[0](),d++},h[3]=()=>{if(d>0)d--,c=4,h[0]();else{if(d=0,void 0===a)return!1;if(a=function(e){const t=e.trim();return("0"!==e.charAt(0)||!isNaN(parseInt(e)))&&(n=t,de.test(n)?function(e){const t=e.charCodeAt(0);return t!==e.charCodeAt(e.length-1)||34!==t&&39!==t?e:e.slice(1,-1)}(t):"*"+t);var n}(a),!1===a)return!1;h[1]()}};null!==c;)if(u++,n=e[u],"\\"!==n||!p()){if(r=he(n),l=ce[c],o=l[r]||l.l||8,8===o)return;if(c=o[0],void 0!==o[1]&&(s=h[o[1]],s&&(i=n,!1===s())))return;if(7===c)return t}}(t),n&&pe.set(t,n)),!n)return null;const a=n.length;let i=e,r=0;for(;rmt(e))):a.run((()=>ft(e)));if(null==i)throw Error(Xe.UNEXPECTED_ERROR);return[a,i]}(e,i),u=a(""),c={get mode(){return i?"legacy":"composition"},async install(e,...n){if(e.__VUE_I18N_SYMBOL__=u,e.provide(e.__VUE_I18N_SYMBOL__,c),k(n[0])){const e=n[0];c.__composerExtend=e.__composerExtend,c.__vueI18nExtend=e.__vueI18nExtend}let a=null;!i&&r&&(a=function(e,n){const a=Object.create(null);Lt.forEach((e=>{const i=Object.getOwnPropertyDescriptor(n,e);if(!i)throw Error(Xe.UNEXPECTED_ERROR);const r=t.isRef(i.value)?{get:()=>i.value.value,set(e){i.value.value=e}}:{get:()=>i.get&&i.get()};Object.defineProperty(a,e,r)})),e.config.globalProperties.$i18n=a,Ot.forEach((t=>{const a=Object.getOwnPropertyDescriptor(n,t);if(!a||!a.value)throw Error(Xe.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${t}`,a)}));return()=>{delete e.config.globalProperties.$i18n,Ot.forEach((t=>{delete e.config.globalProperties[`$${t}`]}))}}(e,c.global)),function(e,t,...n){const a=k(n[0])?n[0]:{};(!v(a.globalInstall)||a.globalInstall)&&([_t.name,"I18nT"].forEach((t=>e.component(t,_t))),[kt.name,"I18nN"].forEach((t=>e.component(t,kt))),[St.name,"I18nD"].forEach((t=>e.component(t,St)))),e.directive("t",Et(t))}(e,c,...n),i&&e.mixin(function(e,n,a){return{beforeCreate(){const i=t.getCurrentInstance();if(!i)throw Error(Xe.UNEXPECTED_ERROR);const r=this.$options;if(r.i18n){const t=r.i18n;if(r.__i18n&&(t.__i18n=r.__i18n),t.__root=n,this===this.$root)this.$i18n=gt(e,t);else{t.__injectWithOption=!0,t.__extender=a.__vueI18nExtend,this.$i18n=mt(t);const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}}else if(r.__i18n)if(this===this.$root)this.$i18n=gt(e,r);else{this.$i18n=mt({__i18n:r.__i18n,__injectWithOption:!0,__extender:a.__vueI18nExtend,__root:n});const e=this.$i18n;e.__extender&&(e.__disposer=e.__extender(this.$i18n))}else this.$i18n=e;r.__i18nGlobal&<(n,r,r),this.$t=(...e)=>this.$i18n.t(...e),this.$rt=(...e)=>this.$i18n.rt(...e),this.$tc=(...e)=>this.$i18n.tc(...e),this.$te=(e,t)=>this.$i18n.te(e,t),this.$d=(...e)=>this.$i18n.d(...e),this.$n=(...e)=>this.$i18n.n(...e),this.$tm=e=>this.$i18n.tm(e),a.__setInstance(i,this.$i18n)},mounted(){},unmounted(){const e=t.getCurrentInstance();if(!e)throw Error(Xe.UNEXPECTED_ERROR);const n=this.$i18n;delete this.$t,delete this.$rt,delete this.$tc,delete this.$te,delete this.$d,delete this.$n,delete this.$tm,n.__disposer&&(n.__disposer(),delete n.__disposer,delete n.__extender),a.__deleteInstance(e),delete this.$i18n}}}(l,l.__composer,c));const o=e.unmount;e.unmount=()=>{a&&a(),c.dispose(),o()}},get global(){return l},dispose(){s.stop()},__instances:o,__getInstance:function(e){return o.get(e)||null},__setInstance:function(e,t){o.set(e,t)},__deleteInstance:function(e){o.delete(e)}};return c},e.useI18n=Pt,e.vTDirective=Et,e}({},Vue),VueRouter=function(e,t){"use strict";const n="undefined"!=typeof document;function a(e){return"object"==typeof e||"displayName"in e||"props"in e||"__vccOpts"in e}function i(e){return e.__esModule||"Module"===e[Symbol.toStringTag]||e.default&&a(e.default)}const r=Object.assign;function o(e,t){const n={};for(const a in t){const i=t[a];n[a]=l(i)?i.map(e):e(i)}return n}const s=()=>{},l=Array.isArray;function u(e){const t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const c=/#/g,d=/&/g,h=/\//g,p=/=/g,f=/\?/g,m=/\+/g,g=/%5B/g,v=/%5D/g,b=/%5E/g,_=/%60/g,y=/%7B/g,w=/%7C/g,k=/%7D/g,x=/%20/g;function S(e){return encodeURI(""+e).replace(w,"|").replace(g,"[").replace(v,"]")}function C(e){return S(e).replace(m,"%2B").replace(x,"+").replace(c,"%23").replace(d,"%26").replace(_,"`").replace(y,"{").replace(k,"}").replace(b,"^")}function E(e){return null==e?"":function(e){return S(e).replace(c,"%23").replace(f,"%3F")}(e).replace(h,"%2F")}function T(e){try{return decodeURIComponent(""+e)}catch(t){u(`Error decoding "${e}". Using original value`)}return""+e}const A=/\/$/,M=e=>e.replace(A,"");function P(e,t,n="/"){let a,i={},r="",o="";const s=t.indexOf("#");let l=t.indexOf("?");return s=0&&(l=-1),l>-1&&(a=t.slice(0,l),r=t.slice(l+1,s>-1?s:t.length),i=e(r)),s>-1&&(a=a||t.slice(0,s),o=t.slice(s,t.length)),a=function(e,t){if(e.startsWith("/"))return e;if(!t.startsWith("/"))return u(`Cannot resolve a relative location without an absolute path. Trying to resolve "${e}" from "${t}". It should look like "/${t}".`),e;if(!e)return t;const n=t.split("/"),a=e.split("/"),i=a[a.length-1];".."!==i&&"."!==i||a.push("");let r,o,s=n.length-1;for(r=0;r1&&s--}return n.slice(0,s).join("/")+"/"+a.slice(r).join("/")}(null!=a?a:t,n),{fullPath:a+(r&&"?")+r+o,path:a,query:i,hash:T(o)}}function L(e,t){return t&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length)||"/":e}function O(e,t,n){const a=t.matched.length-1,i=n.matched.length-1;return a>-1&&a===i&&N(t.matched[a],n.matched[i])&&R(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function N(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function R(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!I(e[n],t[n]))return!1;return!0}function I(e,t){return l(e)?z(e,t):l(t)?z(t,e):e===t}function z(e,t){return l(t)?e.length===t.length&&e.every(((e,n)=>e===t[n])):1===e.length&&e[0]===t}const q={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var D,j;!function(e){e.pop="pop",e.push="push"}(D||(D={})),function(e){e.back="back",e.forward="forward",e.unknown=""}(j||(j={}));function $(e){if(!e)if(n){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),M(e)}const B=/^[^#]+#/;function F(e,t){return e.replace(B,"#")+t}const V=()=>({left:window.scrollX,top:window.scrollY});function U(e){let t;if("el"in e){const n=e.el,a="string"==typeof n&&n.startsWith("#");if(!("string"!=typeof e.el||a&&document.getElementById(e.el.slice(1))))try{const t=document.querySelector(e.el);if(a&&t)return void u(`The selector "${e.el}" should be passed as "el: document.querySelector('${e.el}')" because it starts with "#".`)}catch(t){return void u(`The selector "${e.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`)}const i="string"==typeof n?a?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return void u(`Couldn't find element using selector "${e.el}" returned by scrollBehavior.`);t=function(e,t){const n=document.documentElement.getBoundingClientRect(),a=e.getBoundingClientRect();return{behavior:t.behavior,left:a.left-n.left-(t.left||0),top:a.top-n.top-(t.top||0)}}(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(null!=t.left?t.left:window.scrollX,null!=t.top?t.top:window.scrollY)}function H(e,t){return(history.state?history.state.position-t:-1)+e}const W=new Map;let Y=()=>location.protocol+"//"+location.host;function Q(e,t){const{pathname:n,search:a,hash:i}=t,r=e.indexOf("#");if(r>-1){let t=i.includes(e.slice(r))?e.slice(r).length:1,n=i.slice(t);return"/"!==n[0]&&(n="/"+n),L(n,"")}return L(n,e)+a+i}function K(e,t,n,a=!1,i=!1){return{back:e,current:t,forward:n,replaced:a,position:window.history.length,scroll:i?V():null}}function G(e){const t=function(e){const{history:t,location:n}=window,a={value:Q(e,n)},i={value:t.state};function o(a,r,o){const s=e.indexOf("#"),l=s>-1?(n.host&&document.querySelector("base")?e:e.slice(s))+a:Y()+e+a;try{t[o?"replaceState":"pushState"](r,"",l),i.value=r}catch(e){u("Error with push/replace State",e),n[o?"replace":"assign"](l)}}return i.value||o(a.value,{back:null,current:a.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0),{location:a,state:i,push:function(e,n){const s=r({},i.value,t.state,{forward:e,scroll:V()});t.state||u("history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\n\nhistory.replaceState(history.state, '', url)\n\nYou can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state"),o(s.current,s,!0),o(e,r({},K(a.value,e,null),{position:s.position+1},n),!1),a.value=e},replace:function(e,n){o(e,r({},t.state,K(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),a.value=e}}}(e=$(e)),n=function(e,t,n,a){let i=[],o=[],s=null;const l=({state:r})=>{const o=Q(e,location),l=n.value,u=t.value;let c=0;if(r){if(n.value=o,t.value=r,s&&s===l)return void(s=null);c=u?r.position-u.position:0}else a(o);i.forEach((e=>{e(n.value,l,{delta:c,type:D.pop,direction:c?c>0?j.forward:j.back:j.unknown})}))};function u(){const{history:e}=window;e.state&&e.replaceState(r({},e.state,{scroll:V()}),"")}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:function(){s=n.value},listen:function(e){i.push(e);const t=()=>{const t=i.indexOf(e);t>-1&&i.splice(t,1)};return o.push(t),t},destroy:function(){for(const e of o)e();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",u)}}}(e,t.state,t.location,t.replace);const a=r({location:"",base:e,go:function(e,t=!0){t||n.pauseListeners(),history.go(e)},createHref:F.bind(null,e)},t,n);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}function Z(e){return"string"==typeof e||e&&"object"==typeof e}function J(e){return"string"==typeof e||"symbol"==typeof e}const X=Symbol("navigation failure");var ee;e.NavigationFailureType=void 0,(ee=e.NavigationFailureType||(e.NavigationFailureType={}))[ee.aborted=4]="aborted",ee[ee.cancelled=8]="cancelled",ee[ee.duplicated=16]="duplicated";const te={1:({location:e,currentLocation:t})=>`No match for\n ${JSON.stringify(e)}${t?"\nwhile being at\n"+JSON.stringify(t):""}`,2:({from:e,to:t})=>`Redirected from "${e.fullPath}" to "${function(e){if("string"==typeof e)return e;if(null!=e.path)return e.path;const t={};for(const n of ie)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}(t)}" via a navigation guard.`,4:({from:e,to:t})=>`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`,8:({from:e,to:t})=>`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`,16:({from:e,to:t})=>`Avoided redundant navigation to current location: "${e.fullPath}".`};function ne(e,t){return r(new Error(te[e](t)),{type:e,[X]:!0},t)}function ae(e,t){return e instanceof Error&&X in e&&(null==t||!!(e.type&t))}const ie=["params","query","hash"];const re="[^/]+?",oe={sensitive:!1,strict:!1,start:!0,end:!0},se=/[.+*?^${}()[\]/\\]/g;function le(e,t){let n=0;for(;nt.length?1===t.length&&80===t[0]?1:-1:0}function ue(e,t){let n=0;const a=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const de={type:0,value:""},he=/[a-zA-Z0-9_]/;function pe(e,t,n){const a=function(e,t){const n=r({},oe,t),a=[];let i=n.start?"^":"";const o=[];for(const t of e){const e=t.length?[]:[90];n.strict&&!t.length&&(i+="/");for(let a=0;a1&&("*"===s||"+"===s)&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:u,regexp:c,repeatable:"*"===s||"+"===s,optional:"*"===s||"?"===s})):t("Invalid state to consume buffer"),u="")}function h(){u+=s}for(;l{o(m)}:s}function o(e){if(J(e)){const t=a.get(e);t&&(a.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{const t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&a.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function l(e){const t=function(e,t){let n=0,a=t.length;for(;n!==a;){const i=n+a>>1;ue(e,t[i])<0?a=i:n=i+1}const i=function(e){let t=e;for(;t=t.parent;)if(Se(t)&&0===ue(e,t))return t;return}(e);i&&(a=t.lastIndexOf(i,a-1),a<0&&u(`Finding ancestor route "${i.record.path}" failed for "${e.record.path}"`));return a}(e,n);n.splice(t,0,e),e.record.name&&!be(e)&&a.set(e.record.name,e)}return t=ye({strict:!1,end:!0,sensitive:!1},t),e.forEach((e=>i(e))),{addRoute:i,resolve:function(e,t){let i,o,s,l={};if("name"in e&&e.name){if(i=a.get(e.name),!i)throw ne(1,{location:e});{const t=Object.keys(e.params||{}).filter((e=>!i.keys.find((t=>t.name===e))));t.length&&u(`Discarded invalid param(s) "${t.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}s=i.record.name,l=r(me(t.params,i.keys.filter((e=>!e.optional)).concat(i.parent?i.parent.keys.filter((e=>e.optional)):[]).map((e=>e.name))),e.params&&me(e.params,i.keys.map((e=>e.name)))),o=i.stringify(l)}else if(null!=e.path)o=e.path,o.startsWith("/")||u(`The Matcher cannot resolve relative paths but received "${o}". Unless you directly called \`matcher.resolve("${o}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`),i=n.find((e=>e.re.test(o))),i&&(l=i.parse(o),s=i.record.name);else{if(i=t.name?a.get(t.name):n.find((e=>e.re.test(t.path))),!i)throw ne(1,{location:e,currentLocation:t});s=i.record.name,l=r({},t.params,e.params),o=i.stringify(l)}const c=[];let d=i;for(;d;)c.unshift(d.record),d=d.parent;return{name:s,path:o,params:l,matched:c,meta:_e(c)}},removeRoute:o,clearRoutes:function(){n.length=0,a.clear()},getRoutes:function(){return n},getRecordMatcher:function(e){return a.get(e)}}}function me(e,t){const n={};for(const a of t)a in e&&(n[a]=e[a]);return n}function ge(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ve(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ve(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const a in e.components)t[a]="object"==typeof n?n[a]:n;return t}function be(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _e(e){return e.reduce(((e,t)=>r(e,t.meta)),{})}function ye(e,t){const n={};for(const a in e)n[a]=a in t?t[a]:e[a];return n}function we(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}function ke(e,t){for(const n of e.keys)if(!n.optional&&!t.keys.find(we.bind(null,n)))return u(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`);for(const n of t.keys)if(!n.optional&&!e.keys.find(we.bind(null,n)))return u(`Alias "${t.record.path}" and the original record: "${e.record.path}" must have the exact same param named "${n.name}"`)}function xe(e,t){for(const n of t.keys)if(!e.keys.find(we.bind(null,n)))return u(`Absolute path "${e.record.path}" must have the exact same param named "${n.name}" as its parent "${t.record.path}".`)}function Se({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ce(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;ee&&C(e))):[a&&C(a)]).forEach((e=>{void 0!==e&&(t+=(t.length?"&":"")+n,null!=e&&(t+="="+e))}))}return t}function Te(e){const t={};for(const n in e){const a=e[n];void 0!==a&&(t[n]=l(a)?a.map((e=>null==e?null:""+e)):null==a?a:""+a)}return t}const Ae=Symbol("router view location matched"),Me=Symbol("router view depth"),Pe=Symbol("router"),Le=Symbol("route location"),Oe=Symbol("router view location");function Ne(){let e=[];return{add:function(t){return e.push(t),()=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)}},list:()=>e.slice(),reset:function(){e=[]}}}function Re(e,n,a){const i=()=>{e[n].delete(a)};t.onUnmounted(i),t.onDeactivated(i),t.onActivated((()=>{e[n].add(a)})),e[n].add(a)}function Ie(e,t,n,a,i,r=e=>e()){const o=a&&(a.enterCallbacks[i]=a.enterCallbacks[i]||[]);return()=>new Promise(((s,l)=>{const c=e=>{!1===e?l(ne(4,{from:n,to:t})):e instanceof Error?l(e):Z(e)?l(ne(2,{from:t,to:e})):(o&&a.enterCallbacks[i]===o&&"function"==typeof e&&o.push(e),s())},d=r((()=>e.call(a&&a.instances[i],t,n,function(e,t,n){let a=0;return function(){1==a++&&u(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,1===a&&e.apply(null,arguments)}}(c,t,n))));let h=Promise.resolve(d);if(e.length<3&&(h=h.then(c)),e.length>2){const t=`The "next" callback was never called inside of ${e.name?'"'+e.name+'"':""}:\n${e.toString()}\n. If you are returning a value instead of calling "next", make sure to remove the "next" parameter from your function.`;if("object"==typeof d&&"then"in d)h=h.then((e=>c._called?e:(u(t),Promise.reject(new Error("Invalid navigation guard")))));else if(void 0!==d&&!c._called)return u(t),void l(new Error("Invalid navigation guard"))}h.catch((e=>l(e)))}))}function ze(e,t,n,r,o=e=>e()){const s=[];for(const l of e){l.components||l.children.length||u(`Record with path "${l.path}" is either missing a "component(s)" or "children" property.`);for(const e in l.components){let c=l.components[e];if(!c||"object"!=typeof c&&"function"!=typeof c)throw u(`Component "${e}" in record with path "${l.path}" is not a valid component. Received "${String(c)}".`),new Error("Invalid route component");if("then"in c){u(`Component "${e}" in record with path "${l.path}" is a Promise instead of a function that returns a Promise. Did you write "import('./MyPage.vue')" instead of "() => import('./MyPage.vue')" ? This will break in production if not fixed.`);const t=c;c=()=>t}else c.__asyncLoader&&!c.__warnedDefineAsync&&(c.__warnedDefineAsync=!0,u(`Component "${e}" in record with path "${l.path}" is defined using "defineAsyncComponent()". Write "() => import('./MyPage.vue')" instead of "defineAsyncComponent(() => import('./MyPage.vue'))".`));if("beforeRouteEnter"===t||l.instances[e])if(a(c)){const a=(c.__vccOpts||c)[t];a&&s.push(Ie(a,n,r,l,e,o))}else{let a=c();"catch"in a||(u(`Component "${e}" in record with path "${l.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),a=Promise.resolve(a)),s.push((()=>a.then((a=>{if(!a)throw new Error(`Couldn't resolve component "${e}" at "${l.path}"`);const s=i(a)?a.default:a;l.mods[e]=a,l.components[e]=s;const u=(s.__vccOpts||s)[t];return u&&Ie(u,n,r,l,e,o)()}))))}}}return s}function qe(e){const a=t.inject(Pe),i=t.inject(Le);let r=!1,o=null;const c=t.computed((()=>{const n=t.unref(e.to);return r&&n===o||(Z(n)||(r?u('Invalid value for prop "to" in useLink()\n- to:',n,"\n- previous to:",o,"\n- props:",e):u('Invalid value for prop "to" in useLink()\n- to:',n,"\n- props:",e)),o=n,r=!0),a.resolve(n)})),d=t.computed((()=>{const{matched:e}=c.value,{length:t}=e,n=e[t-1],a=i.matched;if(!n||!a.length)return-1;const r=a.findIndex(N.bind(null,n));if(r>-1)return r;const o=je(e[t-2]);return t>1&&je(n)===o&&a[a.length-1].path!==o?a.findIndex(N.bind(null,e[t-2])):r})),h=t.computed((()=>d.value>-1&&function(e,t){for(const n in t){const a=t[n],i=e[n];if("string"==typeof a){if(a!==i)return!1}else if(!l(i)||i.length!==a.length||a.some(((e,t)=>e!==i[t])))return!1}return!0}(i.params,c.value.params))),p=t.computed((()=>d.value>-1&&d.value===i.matched.length-1&&R(i.params,c.value.params)));if(n){const n=t.getCurrentInstance();if(n){const a={route:c.value,isActive:h.value,isExactActive:p.value,error:null};n.__vrl_devtools=n.__vrl_devtools||[],n.__vrl_devtools.push(a),t.watchEffect((()=>{a.route=c.value,a.isActive=h.value,a.isExactActive=p.value,a.error=Z(t.unref(e.to))?null:'Invalid "to" value'}),{flush:"post"})}}return{route:c,href:t.computed((()=>c.value.href)),isActive:h,isExactActive:p,navigate:function(n={}){return function(e){if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;if(e.defaultPrevented)return;if(void 0!==e.button&&0!==e.button)return;if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}e.preventDefault&&e.preventDefault();return!0}(n)?a[t.unref(e.replace)?"replace":"push"](t.unref(e.to)).catch(s):Promise.resolve()}}}const De=t.defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:qe,setup(e,{slots:n}){const a=t.reactive(qe(e)),{options:i}=t.inject(Pe),r=t.computed((()=>({[$e(e.activeClass,i.linkActiveClass,"router-link-active")]:a.isActive,[$e(e.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:a.isExactActive})));return()=>{const i=n.default&&n.default(a);return e.custom?i:t.h("a",{"aria-current":a.isExactActive?e.ariaCurrentValue:null,href:a.href,onClick:a.navigate,class:r.value},i)}}});function je(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const $e=(e,t,n)=>null!=e?e:null!=t?t:n;function Be(e,t){if(!e)return null;const n=e(t);return 1===n.length?n[0]:n}const Fe=t.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:a,slots:i}){!function(){const e=t.getCurrentInstance(),n=e.parent&&e.parent.type.name,a=e.parent&&e.parent.subTree&&e.parent.subTree.type;if(n&&("KeepAlive"===n||n.includes("Transition"))&&"object"==typeof a&&"RouterView"===a.name){const e="KeepAlive"===n?"keep-alive":"transition";u(` can no longer be used directly inside or .\nUse slot props instead:\n\n\n <${e}>\n \n \n`)}}();const o=t.inject(Oe),s=t.computed((()=>e.route||o.value)),c=t.inject(Me,0),d=t.computed((()=>{let e=t.unref(c);const{matched:n}=s.value;let a;for(;(a=n[e])&&!a.components;)e++;return e})),h=t.computed((()=>s.value.matched[d.value]));t.provide(Me,t.computed((()=>d.value+1))),t.provide(Ae,h),t.provide(Oe,s);const p=t.ref();return t.watch((()=>[p.value,h.value,e.name]),(([e,t,n],[a,i,r])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===a&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),!e||!t||i&&N(t,i)&&a||(t.enterCallbacks[n]||[]).forEach((t=>t(e)))}),{flush:"post"}),()=>{const o=s.value,u=e.name,c=h.value,f=c&&c.components[u];if(!f)return Be(i.default,{Component:f,route:o});const m=c.props[u],g=m?!0===m?o.params:"function"==typeof m?m(o):m:null,v=t.h(f,r({},g,a,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(c.instances[u]=null)},ref:p}));if(n&&v.ref){const e={depth:d.value,name:c.name,path:c.path,meta:c.meta};(l(v.ref)?v.ref.map((e=>e.i)):[v.ref.i]).forEach((t=>{t.__vrv_devtools=e}))}return Be(i.default,{Component:v,route:o})||v}}});function Ve(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:{}}const Ue="function"==typeof Proxy,He="devtools-plugin:setup";let We,Ye;function Qe(){return void 0!==We||("undefined"!=typeof window&&window.performance?(We=!0,Ye=window.performance):"undefined"!=typeof globalThis&&(null===(e=globalThis.perf_hooks)||void 0===e?void 0:e.performance)?(We=!0,Ye=globalThis.perf_hooks.performance):We=!1),We?Ye.now():Date.now();var e}class Ke{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const t in e.settings){const a=e.settings[t];n[t]=a.defaultValue}const a=`__vue-devtools-plugin-settings__${e.id}`;let i=Object.assign({},n);try{const e=localStorage.getItem(a),t=JSON.parse(e);Object.assign(i,t)}catch(e){}this.fallbacks={getSettings:()=>i,setSettings(e){try{localStorage.setItem(a,JSON.stringify(e))}catch(e){}i=e},now:()=>Qe()},t&&t.on("plugin:settings:set",((e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)})),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,t)=>this.target?this.target[t]:"on"===t?this.proxiedOn:Object.keys(this.fallbacks).includes(t)?(...e)=>(this.targetQueue.push({method:t,args:e,resolve:()=>{}}),this.fallbacks[t](...e)):(...e)=>new Promise((n=>{this.targetQueue.push({method:t,args:e,resolve:n})}))})}async setRealTarget(e){this.target=e;for(const e of this.onQueue)this.target.on[e.method](...e.args);for(const e of this.targetQueue)e.resolve(await this.target[e.method](...e.args))}}function Ge(e,t){const n=e,a=Ve(),i=Ve().__VUE_DEVTOOLS_GLOBAL_HOOK__,r=Ue&&n.enableEarlyProxy;if(!i||!a.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&r){const e=r?new Ke(n,i):null;(a.__VUE_DEVTOOLS_PLUGINS__=a.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:e}),e&&t(e.proxiedTarget)}else i.emit(He,e,t)}function Ze(e,t){const n=r({},e,{matched:e.matched.map((e=>function(e,t){const n={};for(const a in e)t.includes(a)||(n[a]=e[a]);return n}(e,["instances","children","aliasOf"])))});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function Je(e){return{_custom:{display:e}}}let Xe=0;function et(e,n,a){if(n.__hasDevtools)return;n.__hasDevtools=!0;const i=Xe++;Ge({id:"org.vuejs.router"+(i?"."+i:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:e},(r=>{"function"!=typeof r.now&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),r.on.inspectComponent(((e,t)=>{e.instanceData&&e.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:Ze(n.currentRoute.value,"Current Route")})})),r.on.visitComponentTree((({treeNode:e,componentInstance:t})=>{if(t.__vrv_devtools){const n=t.__vrv_devtools;e.tags.push({label:(n.name?`${n.name.toString()}: `:"")+n.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:nt})}l(t.__vrl_devtools)&&(t.__devtoolsApi=r,t.__vrl_devtools.forEach((t=>{let n=t.route.path,a=ot,i="",r=0;t.error?(n=t.error,a=lt,r=ut):t.isExactActive?(a=it,i="This is exactly active"):t.isActive&&(a=at,i="This link is active"),e.tags.push({label:n,textColor:r,tooltip:i,backgroundColor:a})})))})),t.watch(n.currentRoute,(()=>{c(),r.notifyComponentUpdate(),r.sendInspectorTree(u),r.sendInspectorState(u)}));const o="router:navigations:"+i;r.addTimelineLayer({id:o,label:`Router${i?" "+i:""} Navigations`,color:4237508}),n.onError(((e,t)=>{r.addTimelineEvent({layerId:o,event:{title:"Error during Navigation",subtitle:t.fullPath,logType:"error",time:r.now(),data:{error:e},groupId:t.meta.__navigationId}})}));let s=0;n.beforeEach(((e,t)=>{const n={guard:Je("beforeEach"),from:Ze(t,"Current Location during this navigation"),to:Ze(e,"Target location")};Object.defineProperty(e.meta,"__navigationId",{value:s++}),r.addTimelineEvent({layerId:o,event:{time:r.now(),title:"Start of navigation",subtitle:e.fullPath,data:n,groupId:e.meta.__navigationId}})})),n.afterEach(((e,t,n)=>{const a={guard:Je("afterEach")};n?(a.failure={_custom:{type:Error,readOnly:!0,display:n?n.message:"",tooltip:"Navigation Failure",value:n}},a.status=Je("❌")):a.status=Je("✅"),a.from=Ze(t,"Current Location during this navigation"),a.to=Ze(e,"Target location"),r.addTimelineEvent({layerId:o,event:{title:"End of navigation",subtitle:e.fullPath,time:r.now(),data:a,logType:n?"warning":"default",groupId:e.meta.__navigationId}})}));const u="router-inspector:"+i;function c(){if(!d)return;const e=d;let t=a.getRoutes().filter((e=>!e.parent||!e.parent.record.components));t.forEach(ft),e.filter&&(t=t.filter((t=>mt(t,e.filter.toLowerCase())))),t.forEach((e=>pt(e,n.currentRoute.value))),e.rootNodes=t.map(ct)}let d;r.addInspector({id:u,label:"Routes"+(i?" "+i:""),icon:"book",treeFilterPlaceholder:"Search routes"}),r.on.getInspectorTree((t=>{d=t,t.app===e&&t.inspectorId===u&&c()})),r.on.getInspectorState((t=>{if(t.app===e&&t.inspectorId===u){const e=a.getRoutes().find((e=>e.record.__vd_id===t.nodeId));e&&(t.state={options:tt(e)})}})),r.sendInspectorTree(u),r.sendInspectorState(u)}))}function tt(e){const{record:t}=e,n=[{editable:!1,key:"path",value:t.path}];return null!=t.name&&n.push({editable:!1,key:"name",value:t.name}),n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map((e=>`${e.name}${function(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}(e)}`)).join(" "),tooltip:"Param keys",value:e.keys}}}),null!=t.redirect&&n.push({editable:!1,key:"redirect",value:t.redirect}),e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map((e=>e.record.path))}),Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta}),n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map((e=>e.join(", "))).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}const nt=15485081,at=2450411,it=8702998,rt=2282478,ot=16486972,st=6710886,lt=16704226,ut=12131356;function ct(e){const t=[],{record:n}=e;null!=n.name&&t.push({label:String(n.name),textColor:0,backgroundColor:rt}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:ot}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:nt}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:it}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:at}),n.redirect&&t.push({label:"string"==typeof n.redirect?`redirect: ${n.redirect}`:"redirects",textColor:16777215,backgroundColor:st});let a=n.__vd_id;return null==a&&(a=String(dt++),n.__vd_id=a),{id:a,label:n.path,tags:t,children:e.children.map(ct)}}let dt=0;const ht=/^\/(.*)\/([a-z]*)$/;function pt(e,t){const n=t.matched.length&&N(t.matched[t.matched.length-1],e.record);e.__vd_exactActive=e.__vd_active=n,n||(e.__vd_active=t.matched.some((t=>N(t,e.record)))),e.children.forEach((e=>pt(e,t)))}function ft(e){e.__vd_match=!1,e.children.forEach(ft)}function mt(e,t){const n=String(e.re).match(ht);if(e.__vd_match=!1,!n||n.length<3)return!1;if(new RegExp(n[1].replace(/\$$/,""),n[2]).test(t))return e.children.forEach((e=>mt(e,t))),("/"!==e.record.path||"/"===t)&&(e.__vd_match=e.re.test(t),!0);const a=e.record.path.toLowerCase(),i=T(a);return!(t.startsWith("/")||!i.includes(t)&&!a.includes(t))||(!(!i.startsWith(t)&&!a.startsWith(t))||(!(!e.record.name||!String(e.record.name).includes(t))||e.children.some((e=>mt(e,t)))))}return e.RouterLink=De,e.RouterView=Fe,e.START_LOCATION=q,e.createMemoryHistory=function(e=""){let t=[],n=[""],a=0;function i(e){a++,a!==n.length&&n.splice(a),n.push(e)}const r={location:"",state:{},base:e=$(e),createHref:F.bind(null,e),replace(e){n.splice(a--,1),i(e)},push(e,t){i(e)},listen:e=>(t.push(e),()=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)}),destroy(){t=[],n=[""],a=0},go(e,i=!0){const r=this.location,o=e<0?j.back:j.forward;a=Math.max(0,Math.min(a+e,n.length-1)),i&&function(e,n,{direction:a,delta:i}){const r={direction:a,delta:i,type:D.pop};for(const a of t)a(e,n,r)}(this.location,r,{direction:o,delta:e})}};return Object.defineProperty(r,"location",{enumerable:!0,get:()=>n[a]}),r},e.createRouter=function(e){const a=fe(e.routes,e),i=e.parseQuery||Ce,c=e.stringifyQuery||Ee,d=e.history;if(!d)throw new Error('Provide the "history" option when calling "createRouter()": https://router.vuejs.org/api/interfaces/RouterOptions.html#history');const h=Ne(),p=Ne(),f=Ne(),m=t.shallowRef(q);let g=q;n&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const v=o.bind(null,(e=>""+e)),_=o.bind(null,E),w=o.bind(null,T);function x(e,t){if(t=r({},t||m.value),"string"==typeof e){const n=P(i,e,t.path),o=a.resolve({path:n.path},t),s=d.createHref(n.fullPath);return s.startsWith("//")?u(`Location "${e}" resolved to "${s}". A resolved location cannot start with multiple slashes.`):o.matched.length||u(`No match found for location with path "${e}"`),r(n,o,{params:w(o.params),hash:T(n.hash),redirectedFrom:void 0,href:s})}if(!Z(e))return u("router.resolve() was passed an invalid location. This will fail in production.\n- Location:",e),x({});let n;if(null!=e.path)"params"in e&&!("name"in e)&&Object.keys(e.params).length&&u(`Path "${e.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),n=r({},e,{path:P(i,e.path,t.path).path});else{const a=r({},e.params);for(const e in a)null==a[e]&&delete a[e];n=r({},e,{params:_(a)}),t.params=_(t.params)}const o=a.resolve(n,t),s=e.hash||"";s&&!s.startsWith("#")&&u(`A \`hash\` should always start with the character "#". Replace "${s}" with "#${s}".`),o.params=v(w(o.params));const l=function(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}(c,r({},e,{hash:(h=s,S(h).replace(y,"{").replace(k,"}").replace(b,"^")),path:o.path}));var h;const p=d.createHref(l);return p.startsWith("//")?u(`Location "${e}" resolved to "${p}". A resolved location cannot start with multiple slashes.`):o.matched.length||u(`No match found for location with path "${null!=e.path?e.path:e}"`),r({fullPath:l,hash:s,query:c===Ee?Te(e.query):e.query||{}},o,{redirectedFrom:void 0,href:p})}function C(e){return"string"==typeof e?P(i,e,m.value.path):r({},e)}function A(e,t){if(g!==e)return ne(8,{from:t,to:e})}function M(e){return R(e)}function L(e){const t=e.matched[e.matched.length-1];if(t&&t.redirect){const{redirect:n}=t;let a="function"==typeof n?n(e):n;if("string"==typeof a&&(a=a.includes("?")||a.includes("#")?a=C(a):{path:a},a.params={}),null==a.path&&!("name"in a))throw u(`Invalid redirect found:\n${JSON.stringify(a,null,2)}\n when navigating to "${e.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect");return r({query:e.query,hash:e.hash,params:null!=a.path?{}:e.params},a)}}function R(e,t){const n=g=x(e),a=m.value,i=e.state,o=e.force,s=!0===e.replace,l=L(n);if(l)return R(r(C(l),{state:"object"==typeof l?r({},i,l.state):i,force:o,replace:s}),t||n);const d=n;let h;return d.redirectedFrom=t,!o&&O(c,a,n)&&(h=ne(16,{to:d,from:a}),te(a,a,!0,!1)),(h?Promise.resolve(h):j(d,a)).catch((e=>ae(e)?ae(e,2)?e:ee(e):X(e,d,a))).then((e=>{if(e){if(ae(e,2))return O(c,x(e.to),d)&&t&&(t._count=t._count?t._count+1:1)>30?(u(`Detected a possibly infinite redirection in a navigation guard when going from "${a.fullPath}" to "${d.fullPath}". Aborting to avoid a Stack Overflow.\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):R(r({replace:s},C(e.to),{state:"object"==typeof e.to?r({},i,e.to.state):i,force:o}),t||d)}else e=B(d,a,!0,s,i);return $(d,a,e),e}))}function I(e,t){const n=A(e,t);return n?Promise.reject(n):Promise.resolve()}function z(e){const t=oe.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function j(e,t){let n;const[a,i,r]=function(e,t){const n=[],a=[],i=[],r=Math.max(t.matched.length,e.matched.length);for(let o=0;oN(e,r)))?a.push(r):n.push(r));const s=e.matched[o];s&&(t.matched.find((e=>N(e,s)))||i.push(s))}return[n,a,i]}(e,t);n=ze(a.reverse(),"beforeRouteLeave",e,t);for(const i of a)i.leaveGuards.forEach((a=>{n.push(Ie(a,e,t))}));const o=I.bind(null,e,t);return n.push(o),le(n).then((()=>{n=[];for(const a of h.list())n.push(Ie(a,e,t));return n.push(o),le(n)})).then((()=>{n=ze(i,"beforeRouteUpdate",e,t);for(const a of i)a.updateGuards.forEach((a=>{n.push(Ie(a,e,t))}));return n.push(o),le(n)})).then((()=>{n=[];for(const a of r)if(a.beforeEnter)if(l(a.beforeEnter))for(const i of a.beforeEnter)n.push(Ie(i,e,t));else n.push(Ie(a.beforeEnter,e,t));return n.push(o),le(n)})).then((()=>(e.matched.forEach((e=>e.enterCallbacks={})),n=ze(r,"beforeRouteEnter",e,t,z),n.push(o),le(n)))).then((()=>{n=[];for(const a of p.list())n.push(Ie(a,e,t));return n.push(o),le(n)})).catch((e=>ae(e,8)?e:Promise.reject(e)))}function $(e,t,n){f.list().forEach((a=>z((()=>a(e,t,n)))))}function B(e,t,a,i,o){const s=A(e,t);if(s)return s;const l=t===q,u=n?history.state:{};a&&(i||l?d.replace(e.fullPath,r({scroll:l&&u&&u.scroll},o)):d.push(e.fullPath,o)),m.value=e,te(e,t,a,l),ee()}let F;function Y(){F||(F=d.listen(((e,t,a)=>{if(!se.listening)return;const i=x(e),o=L(i);if(o)return void R(r(o,{replace:!0}),i).catch(s);g=i;const l=m.value;var u,c;n&&(u=H(l.fullPath,a.delta),c=V(),W.set(u,c)),j(i,l).catch((e=>ae(e,12)?e:ae(e,2)?(R(e.to,i).then((e=>{ae(e,20)&&!a.delta&&a.type===D.pop&&d.go(-1,!1)})).catch(s),Promise.reject()):(a.delta&&d.go(-a.delta,!1),X(e,i,l)))).then((e=>{(e=e||B(i,l,!1))&&(a.delta&&!ae(e,8)?d.go(-a.delta,!1):a.type===D.pop&&ae(e,20)&&d.go(-1,!1)),$(i,l,e)})).catch(s)})))}let Q,K=Ne(),G=Ne();function X(e,t,n){ee(e);const a=G.list();return a.length?a.forEach((a=>a(e,t,n))):(u("uncaught error during route navigation:"),console.error(e)),Promise.reject(e)}function ee(e){return Q||(Q=!e,Y(),K.list().forEach((([t,n])=>e?n(e):t())),K.reset()),e}function te(a,i,r,o){const{scrollBehavior:s}=e;if(!n||!s)return Promise.resolve();const l=!r&&function(e){const t=W.get(e);return W.delete(e),t}(H(a.fullPath,0))||(o||!r)&&history.state&&history.state.scroll||null;return t.nextTick().then((()=>s(a,i,l))).then((e=>e&&U(e))).catch((e=>X(e,a,i)))}const ie=e=>d.go(e);let re;const oe=new Set,se={currentRoute:m,listening:!0,addRoute:function(e,t){let n,i;return J(e)?(n=a.getRecordMatcher(e),n||u(`Parent route "${String(e)}" not found when adding child route`,t),i=t):i=e,a.addRoute(i,n)},removeRoute:function(e){const t=a.getRecordMatcher(e);t?a.removeRoute(t):u(`Cannot remove non-existent route "${String(e)}"`)},clearRoutes:a.clearRoutes,hasRoute:function(e){return!!a.getRecordMatcher(e)},getRoutes:function(){return a.getRoutes().map((e=>e.record))},resolve:x,options:e,push:M,replace:function(e){return M(r(C(e),{replace:!0}))},go:ie,back:()=>ie(-1),forward:()=>ie(1),beforeEach:h.add,beforeResolve:p.add,afterEach:f.add,onError:G.add,isReady:function(){return Q&&m.value!==q?Promise.resolve():new Promise(((e,t)=>{K.add([e,t])}))},install(e){const i=this;e.component("RouterLink",De),e.component("RouterView",Fe),e.config.globalProperties.$router=i,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>t.unref(m)}),n&&!re&&m.value===q&&(re=!0,M(d.location).catch((e=>{u("Unexpected error when starting the router:",e)})));const r={};for(const e in q)Object.defineProperty(r,e,{get:()=>m.value[e],enumerable:!0});e.provide(Pe,i),e.provide(Le,t.shallowReactive(r)),e.provide(Oe,m);const o=e.unmount;oe.add(e),e.unmount=function(){oe.delete(e),oe.size<1&&(g=q,F&&F(),F=null,m.value=q,re=!1,Q=!1),o()},n&&et(e,i,a)}};function le(e){return e.reduce(((e,t)=>e.then((()=>z(t)))),Promise.resolve())}return se},e.createRouterMatcher=fe,e.createWebHashHistory=function(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),e.endsWith("#/")||e.endsWith("#")||u(`A hash base must end with a "#":\n"${e}" should be "${e.replace(/#.*$/,"#")}".`),G(e)},e.createWebHistory=G,e.isNavigationFailure=ae,e.loadRouteLocation=function(e){return e.matched.every((e=>e.redirect))?Promise.reject(new Error("Cannot load a route that redirects.")):Promise.all(e.matched.map((e=>e.components&&Promise.all(Object.keys(e.components).reduce(((t,n)=>{const a=e.components[n];return"function"!=typeof a||"displayName"in a||t.push(a().then((t=>{if(!t)return Promise.reject(new Error(`Couldn't resolve component "${n}" at "${e.path}". Ensure you passed a function that returns a promise.`));const a=i(t)?t.default:t;e.mods[n]=t,e.components[n]=a}))),t}),[]))))).then((()=>e))},e.matchedRouteKey=Ae,e.onBeforeRouteLeave=function(e){if(!t.getCurrentInstance())return void u("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function");const n=t.inject(Ae,{}).value;n?Re(n,"leaveGuards",e):u("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?")},e.onBeforeRouteUpdate=function(e){if(!t.getCurrentInstance())return void u("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function");const n=t.inject(Ae,{}).value;n?Re(n,"updateGuards",e):u("No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?")},e.parseQuery=Ce,e.routeLocationKey=Le,e.routerKey=Pe,e.routerViewLocationKey=Oe,e.stringifyQuery=Ee,e.useLink=qe,e.useRoute=function(e){return t.inject(Le)},e.useRouter=function(){return t.inject(Pe)},e.viewDepthKey=Me,e}({},Vue); /*! * vue-i18n v10.0.3 * (c) 2024 kazuya kawaguchi * Released under the MIT License. - */function eventReactionWebocket(e){localUrl="",reaction=localStorage.getItem("lnbits.reactions"),reaction&&"None"!==reaction&&("http:"!==location.protocol?localUrl="wss://"+location.host+"/api/v1/ws/"+e:localUrl="ws://"+location.host+"/api/v1/ws/"+e,connection=new WebSocket(localUrl),connection.onmessage=function(e){try{if(JSON.parse(e.data).payment.amount<0)return;reaction=localStorage.getItem("lnbits.reactions"),reaction&&window[reaction.split("|")[1]]()}catch(e){console.log(e)}})}function confettiBothSides(){document.getElementById("vue").disabled=!0;var e=Date.now()+2e3,t=["#FFD700","#ffffff"];!function n(){confetti({particleCount:2,angle:60,spread:55,origin:{x:0},colors:t,zIndex:999999}),confetti({particleCount:2,angle:120,spread:55,origin:{x:1},colors:t,zIndex:999999}),Date.now(){e.substring(0,n.length)===n&&(t=n)})),null==t)throw"Malformed request: unknown prefix";let n=decodeAmount(e.substring(t.length,e.length));return{prefix:t,amount:n}}function decodeData(e,t){let n=e.substring(0,7),a=bech32ToInt(n),i=e.substring(e.length-104,e.length),r=e.substring(7,e.length-104),o=decodeTags(r),s=bech32ToFiveBitArray(n+r);return s=fiveBitArrayTo8BitArray(s,!0),s=textToHexString(t).concat(byteArrayToHexString(s)),{time_stamp:a,tags:o,signature:decodeSignature(i),signing_data:s}}function decodeSignature(e){let t=fiveBitArrayTo8BitArray(bech32ToFiveBitArray(e)),n=t[t.length-1];return{r:byteArrayToHexString(t.slice(0,32)),s:byteArrayToHexString(t.slice(32,t.length-1)),recovery_flag:n}}function decodeAmount(e){let t=e.charAt(e.length-1),n=e.substring(0,e.length-1);if("0"===n.substring(0,1))throw"Malformed request: amount cannot contain leading zeros";if(n=Number(n),n<0||!Number.isInteger(n))throw"Malformed request: amount must be a positive decimal integer";switch(t){case"":return"Any amount";case"p":return n/10;case"n":return 100*n;case"u":return 1e5*n;case"m":return 1e8*n;default:throw"Malformed request: undefined amount multiplier"}}function decodeTags(e){let t=extractTags(e),n=[];return t.forEach((e=>n.push(decodeTag(e.type,e.length,e.data)))),n}function extractTags(e){let t=[];for(;e.length>0;){let n=e.charAt(0),a=bech32ToInt(e.substring(1,3)),i=e.substring(3,a+3);t.push({type:n,length:a,data:i}),e=e.substring(3+a,e.length)}return t}function decodeTag(e,t,n){switch(e){case"p":if(52!==t)break;return{type:e,length:t,description:"payment_hash",value:byteArrayToHexString(fiveBitArrayTo8BitArray(bech32ToFiveBitArray(n)))};case"d":return{type:e,length:t,description:"description",value:bech32ToUTF8String(n)};case"n":if(53!==t)break;return{type:e,length:t,description:"payee_public_key",value:byteArrayToHexString(fiveBitArrayTo8BitArray(bech32ToFiveBitArray(n)))};case"h":if(52!==t)break;return{type:e,length:t,description:"description_hash",value:n};case"x":return{type:e,length:t,description:"expiry",value:bech32ToInt(n)};case"c":return{type:e,length:t,description:"min_final_cltv_expiry",value:bech32ToInt(n)};case"f":let a=bech32ToFiveBitArray(n.charAt(0))[0];if(a<0||a>18)break;return{type:e,length:t,description:"fallback_address",value:{version:a,fallback_address:n=n.substring(1,n.length)}};case"r":let i=(n=fiveBitArrayTo8BitArray(bech32ToFiveBitArray(n))).slice(0,33),r=n.slice(33,41),o=n.slice(41,45),s=n.slice(45,49),l=n.slice(49,51);return{type:e,length:t,description:"routing_information",value:{public_key:byteArrayToHexString(i),short_channel_id:byteArrayToHexString(r),fee_base_msat:byteArrayToInt(o),fee_proportional_millionths:byteArrayToInt(s),cltv_expiry_delta:byteArrayToInt(l)}}}}function polymod(e){let t=[996825010,642813549,513874426,1027748829,705979059],n=1;return e.forEach((e=>{let a=n>>25;n=(33554431&n)<<5^e;for(let e=0;e<5;e++)n^=1==(a>>e&1)?t[e]:0})),n}function expand(e){let t=[];for(let n=0;n>5);t.push(0);for(let n=0;n{if(!t.has(e))throw TypeError("Cannot "+n)},a=(e,t,a)=>(n(e,t,"read from private field"),a?a.call(e):t.get(e));const i=[["aztec","Aztec"],["code_128","Code128"],["code_39","Code39"],["code_93","Code93"],["codabar","Codabar"],["databar","DataBar"],["databar_expanded","DataBarExpanded"],["data_matrix","DataMatrix"],["dx_film_edge","DXFilmEdge"],["ean_13","EAN-13"],["ean_8","EAN-8"],["itf","ITF"],["maxi_code","MaxiCode"],["micro_qr_code","MicroQRCode"],["pdf417","PDF417"],["qr_code","QRCode"],["rm_qr_code","rMQRCode"],["upc_a","UPC-A"],["upc_e","UPC-E"],["linear_codes","Linear-Codes"],["matrix_codes","Matrix-Codes"]],r=[...i,["unknown"]].map((e=>e[0])),o=new Map(i);function s(e){for(const[t,n]of o)if(e===n)return t;return"unknown"}function l(e){try{return e instanceof HTMLImageElement}catch(e){return!1}}function u(e){try{return e instanceof SVGImageElement}catch(e){return!1}}function c(e){try{return e instanceof HTMLVideoElement}catch(e){return!1}}function d(e){try{return e instanceof HTMLCanvasElement}catch(e){return!1}}function h(e){try{return e instanceof ImageBitmap}catch(e){return!1}}function p(e){try{return e instanceof OffscreenCanvas}catch(e){return!1}}function f(e){try{return e instanceof VideoFrame}catch(e){return!1}}function m(e){try{return e instanceof Blob}catch(e){return!1}}async function v(e){if(l(e)&&!await async function(e){try{return await e.decode(),!0}catch(e){return!1}}(e))throw new DOMException("Failed to load or decode HTMLImageElement.","InvalidStateError");if(u(e)&&!await async function(e){var t;try{return await(null==(t=e.decode)?void 0:t.call(e)),!0}catch(e){return!1}}(e))throw new DOMException("Failed to load or decode SVGImageElement.","InvalidStateError");if(f(e)&&function(e){return null===e.format}(e))throw new DOMException("VideoFrame is closed.","InvalidStateError");if(c(e)&&(0===e.readyState||1===e.readyState))throw new DOMException("Invalid element or state.","InvalidStateError");if(h(e)&&function(e){return 0===e.width&&0===e.height}(e))throw new DOMException("The image source is detached.","InvalidStateError");const{width:t,height:n}=function(e){if(l(e))return{width:e.naturalWidth,height:e.naturalHeight};if(u(e))return{width:e.width.baseVal.value,height:e.height.baseVal.value};if(c(e))return{width:e.videoWidth,height:e.videoHeight};if(h(e))return{width:e.width,height:e.height};if(f(e))return{width:e.displayWidth,height:e.displayHeight};if(d(e))return{width:e.width,height:e.height};if(p(e))return{width:e.width,height:e.height};throw new TypeError("The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'.")}(e);if(0===t||0===n)return null;const a=function(e,t){try{const n=new OffscreenCanvas(e,t);if(n.getContext("2d")instanceof OffscreenCanvasRenderingContext2D)return n;throw void 0}catch(n){const a=document.createElement("canvas");return a.width=e,a.height=t,a}}(t,n).getContext("2d");a.drawImage(e,0,0);try{return a.getImageData(0,0,t,n)}catch(e){throw new DOMException("Source would taint origin.","SecurityError")}}async function g(e){if(m(e))return await async function(e){let t;try{if(globalThis.createImageBitmap)t=await createImageBitmap(e);else{if(!globalThis.Image)return e;{t=new Image;let n="";try{n=URL.createObjectURL(e),t.src=n,await t.decode()}finally{URL.revokeObjectURL(n)}}}}catch(e){throw new DOMException("Failed to load or decode Blob.","InvalidStateError")}return await v(t)}(e);if(function(e){try{return e instanceof ImageData}catch(e){return!1}}(e)){if(function(e){return 0===e.data.buffer.byteLength}(e))throw new DOMException("The image data has been detached.","InvalidStateError");return e}return d(e)||p(e)?function(e){const{width:t,height:n}=e;if(0===t||0===n)return null;const a=e.getContext("2d");try{return a.getImageData(0,0,t,n)}catch(e){throw new DOMException("Source would taint origin.","SecurityError")}}(e):await v(e)}function _(e,t){return e instanceof DOMException?new DOMException(`${t}: ${e.message}`,e.name):e instanceof Error?new e.constructor(`${t}: ${e.message}`):new Error(`${t}: ${e}`)}const b=["Aztec","Codabar","Code128","Code39","Code93","DataBar","DataBarExpanded","DataMatrix","DXFilmEdge","EAN-13","EAN-8","ITF","Linear-Codes","Matrix-Codes","MaxiCode","MicroQRCode","None","PDF417","QRCode","rMQRCode","UPC-A","UPC-E"];function y(e){return e.join("|")}function w(e){const t=k(e);let n=0,a=b.length-1;for(;n<=a;){const e=Math.floor((n+a)/2),i=b[e],r=k(i);if(r===t)return i;r{const n=e.match(/_(.+?)\.wasm$/);return n?`https://fastly.jsdelivr.net/npm/zxing-wasm@1.1.3/dist/${n[1]}/${e}`:t+e}};let N=new WeakMap;function R(e,t){var n;const a=N.get(e);if(null!=a&&a.modulePromise&&void 0===t)return a.modulePromise;const i=null!=(n=null==a?void 0:a.moduleOverrides)?n:O,r=e({...i});return N.set(e,{moduleOverrides:i,modulePromise:r}),r}P.formats;var z,q,I=(z=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,n,a=e;a.ready=new Promise(((e,a)=>{t=e,n=a}));var i=Object.assign({},a),r="./this.program",o="object"==typeof window,s="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var l,u="";(o||s)&&(s?u=self.location.href:typeof document<"u"&&document.currentScript&&(u=document.currentScript.src),z&&(u=z),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s&&(l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)})),a.print||console.log.bind(console);var c,d=a.printErr||console.error.bind(console);Object.assign(a,i),i=null,a.arguments&&a.arguments,a.thisProgram&&(r=a.thisProgram),a.quit&&a.quit,a.wasmBinary&&(c=a.wasmBinary),"object"!=typeof WebAssembly&&E("no native wasm support detected");var h,p,f,m,v,g,_,b,y,w=!1;function k(){var e=h.buffer;a.HEAP8=p=new Int8Array(e),a.HEAP16=m=new Int16Array(e),a.HEAPU8=f=new Uint8Array(e),a.HEAPU16=v=new Uint16Array(e),a.HEAP32=g=new Int32Array(e),a.HEAPU32=_=new Uint32Array(e),a.HEAPF32=b=new Float32Array(e),a.HEAPF64=y=new Float64Array(e)}var x=[],S=[],C=[],T=0,M=null;function E(e){var t;null===(t=a.onAbort)||void 0===t||t.call(a,e),d(e="Aborted("+e+")"),w=!0,e+=". Build with -sASSERTIONS for more info.";var i=new WebAssembly.RuntimeError(e);throw n(i),i}var P,A,L=e=>e.startsWith("data:application/octet-stream;base64,");function O(e){if(e==P&&c)return new Uint8Array(c);if(l)return l(e);throw"both async and sync fetching of the wasm failed"}function N(e,t,n){return function(e){return c||!o&&!s||"function"!=typeof fetch?Promise.resolve().then((()=>O(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>O(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(n,(e=>{d(`failed to asynchronously prepare wasm: ${e}`),E(e)}))}L(P="zxing_reader.wasm")||(A=P,P=a.locateFile?a.locateFile(A,u):u+A);var R=e=>{for(;e.length>0;)e.shift()(a)};a.noExitRuntime;var q=[],I=0,D=0;function j(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){_[this.ptr+4>>2]=e},this.get_type=function(){return _[this.ptr+4>>2]},this.set_destructor=function(e){_[this.ptr+8>>2]=e},this.get_destructor=function(){return _[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,p[this.ptr+12|0]=e},this.get_caught=function(){return 0!=p[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,p[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=p[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){_[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return _[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Nt(this.get_type()))return _[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var $=e=>{var t=D;if(!t)return Mt(0),0;var n=new j(t);n.set_adjusted_ptr(t);var a=n.get_type();if(!a)return Mt(0),t;for(var i in e){var r=e[i];if(0===r||r===a)break;var o=n.ptr+16;if(Ot(r,a,o))return Mt(r),t}return Mt(a),t},F={},B=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function V(e){return this.fromWireType(g[e>>2])}var H,U,W,Y={},Q={},K={},G=e=>{throw new H(e)},Z=(e,t,n)=>{function a(t){var a=n(t);a.length!==e.length&&G("Mismatched type converter count");for(var i=0;i{Q.hasOwnProperty(e)?i[t]=Q[e]:(r.push(e),Y.hasOwnProperty(e)||(Y[e]=[]),Y[e].push((()=>{i[t]=Q[e],++o===r.length&&a(i)})))})),0===r.length&&a(i)},X=e=>{for(var t="",n=e;f[n];)t+=U[f[n++]];return t},J=e=>{throw new W(e)};function ee(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var a=t.name;if(e||J(`type "${a}" must have a positive integer typeid pointer`),Q.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;J(`Cannot register type '${a}' twice`)}if(Q[e]=t,delete K[e],Y.hasOwnProperty(e)){var i=Y[e];delete Y[e],i.forEach((e=>e()))}}(e,t,n)}var te,ne=8,ae=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),ie=e=>{J(e.$$.ptrType.registeredClass.name+" instance already deleted")},re=!1,oe=e=>{},se=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},le=(e,t,n)=>{if(t===n)return e;if(void 0===n.baseClass)return null;var a=le(e,t,n.baseClass);return null===a?null:n.downcast(a)},ue={},ce=()=>Object.keys(me).length,de=()=>{var e=[];for(var t in me)me.hasOwnProperty(t)&&e.push(me[t]);return e},he=[],pe=()=>{for(;he.length;){var e=he.pop();e.$$.deleteScheduled=!1,e.delete()}},fe=e=>{te=e,he.length&&te&&te(pe)},me={},ve=(e,t)=>(t=((e,t)=>{for(void 0===t&&J("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),me[t]),ge=(e,t)=>((!t.ptrType||!t.ptr)&&G("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&G("Both smartPtrType and smartPtr must be specified"),t.count={value:1},be(Object.create(e,{$$:{value:t,writable:!0}})));function _e(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=ve(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var a=n.clone();return this.destructor(e),a}function i(){return this.isSmartPointer?ge(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ge(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var r,o=this.registeredClass.getActualType(t),s=ue[o];if(!s)return i.call(this);r=this.isConst?s.constPointerType:s.pointerType;var l=le(t,this.registeredClass,r.registeredClass);return null===l?i.call(this):this.isSmartPointer?ge(r.registeredClass.instancePrototype,{ptrType:r,ptr:l,smartPtrType:this,smartPtr:e}):ge(r.registeredClass.instancePrototype,{ptrType:r,ptr:l})}var be=e=>typeof FinalizationRegistry>"u"?(be=e=>e,e):(re=new FinalizationRegistry((e=>{se(e.$$)})),oe=e=>re.unregister(e),(be=e=>{var t=e.$$;if(t.smartPtr){var n={$$:t};re.register(e,n,e)}return e})(e));function ye(){}var we=(e,t)=>Object.defineProperty(t,"name",{value:e}),ke=(e,t,n)=>{if(void 0===e[t].overloadTable){var a=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||J(`Function '${n}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[a.argCount]=a}},xe=(e,t,n)=>{a.hasOwnProperty(e)?((void 0===n||void 0!==a[e].overloadTable&&void 0!==a[e].overloadTable[n])&&J(`Cannot register public name '${e}' twice`),ke(a,e,e),a.hasOwnProperty(n)&&J(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),a[e].overloadTable[n]=t):(a[e]=t,void 0!==n&&(a[e].numArguments=n))};function Se(e,t,n,a,i,r,o,s){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=a,this.baseClass=i,this.getActualType=r,this.upcast=o,this.downcast=s,this.pureVirtualFunctions=[]}var Ce=(e,t,n)=>{for(;t!==n;)t.upcast||J(`Expected null or instance of ${n.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Te(e,t){if(null===t)return this.isReference&&J(`null is not a valid ${this.name}`),0;t.$$||J(`Cannot pass "${Ge(t)}" as a ${this.name}`),t.$$.ptr||J(`Cannot pass deleted object as a pointer of type ${this.name}`);var n=t.$$.ptrType.registeredClass;return Ce(t.$$.ptr,n,this.registeredClass)}function Me(e,t){var n;if(null===t)return this.isReference&&J(`null is not a valid ${this.name}`),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;(!t||!t.$$)&&J(`Cannot pass "${Ge(t)}" as a ${this.name}`),t.$$.ptr||J(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&J(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var a=t.$$.ptrType.registeredClass;if(n=Ce(t.$$.ptr,a,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&J("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:J(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Ye.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,n)}break;default:J("Unsupporting sharing policy")}return n}function Ee(e,t){if(null===t)return this.isReference&&J(`null is not a valid ${this.name}`),0;t.$$||J(`Cannot pass "${Ge(t)}" as a ${this.name}`),t.$$.ptr||J(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&J(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;return Ce(t.$$.ptr,n,this.registeredClass)}function Pe(e){return this.fromWireType(_[e>>2])}function Ae(e,t,n,a,i,r,o,s,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=a,this.isSmartPointer=i,this.pointeeType=r,this.sharingPolicy=o,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=Me:a?(this.toWireType=Te,this.destructorFunction=null):(this.toWireType=Ee,this.destructorFunction=null)}var Le,Oe,Ne=(e,t,n)=>{a.hasOwnProperty(e)||G("Replacing nonexistant public symbol"),void 0!==a[e].overloadTable&&void 0!==n?a[e].overloadTable[n]=t:(a[e]=t,a[e].argCount=n)},Re=[],ze=e=>{var t=Re[e];return t||(e>=Re.length&&(Re.length=e+1),Re[e]=t=Le.get(e)),t},qe=(e,t,n)=>e.includes("j")?((e,t,n)=>{var i=a["dynCall_"+e];return n&&n.length?i.apply(null,[t].concat(n)):i.call(null,t)})(e,t,n):ze(t).apply(null,n),Ie=(e,t)=>{var n=(e=X(e)).includes("j")?((e,t)=>{var n=[];return function(){return n.length=0,Object.assign(n,arguments),qe(e,t,n)}})(e,t):ze(t);return"function"!=typeof n&&J(`unknown function pointer with signature ${e}: ${t}`),n},De=e=>{var t=Ct(e),n=X(t);return xt(t),n},je=(e,t)=>{var n=[],a={};throw t.forEach((function e(t){if(!a[t]&&!Q[t]){if(K[t])return void K[t].forEach(e);n.push(t),a[t]=!0}})),new Oe(`${e}: `+n.map(De).join([", "]))},$e=(e,t)=>{for(var n=[],a=0;a>2]);return n};function Fe(e,t,n,a,i,r){var o=t.length;o<2&&J("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==n,l=function(e){for(var t=1;t{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e};function Ve(){this.allocated=[void 0],this.freelist=[]}var He=new Ve,Ue=e=>{e>=He.reserved&&0==--He.get(e).refcount&&He.free(e)},We=()=>{for(var e=0,t=He.reserved;t(e||J("Cannot use deleted val. handle = "+e),He.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return He.allocate({refcount:1,value:e})}}},Qe=(e,t,n)=>{switch(t){case 1:return n?function(e){return this.fromWireType(p[0|e])}:function(e){return this.fromWireType(f[0|e])};case 2:return n?function(e){return this.fromWireType(m[e>>1])}:function(e){return this.fromWireType(v[e>>1])};case 4:return n?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(_[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ke=(e,t)=>{var n=Q[e];return void 0===n&&J(t+" has unknown type "+De(e)),n},Ge=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Ze=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(b[e>>2])};case 8:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Xe=(e,t,n)=>{switch(t){case 1:return n?e=>p[0|e]:e=>f[0|e];case 2:return n?e=>m[e>>1]:e=>v[e>>1];case 4:return n?e=>g[e>>2]:e=>_[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Je=(e,t,n,a)=>{if(!(a>0))return 0;for(var i=n,r=n+a-1,o=0;o=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),s<=127){if(n>=r)break;t[n++]=s}else if(s<=2047){if(n+1>=r)break;t[n++]=192|s>>6,t[n++]=128|63&s}else if(s<=65535){if(n+2>=r)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|63&s}else{if(n+3>=r)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|63&s}}return t[n]=0,n-i},et=e=>{for(var t=0,n=0;n=55296&&a<=57343?(t+=4,++n):t+=3}return t},tt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,nt=(e,t)=>e?((e,t,n)=>{for(var a=t+n,i=t;e[i]&&!(i>=a);)++i;if(i-t>16&&e.buffer&&tt)return tt.decode(e.subarray(t,i));for(var r="";t>10,56320|1023&u)}}else r+=String.fromCharCode((31&o)<<6|s)}else r+=String.fromCharCode(o)}return r})(f,e,t):"",at=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,it=(e,t)=>{for(var n=e,a=n>>1,i=a+t/2;!(a>=i)&&v[a];)++a;if((n=a<<1)-e>32&&at)return at.decode(f.subarray(e,n));for(var r="",o=0;!(o>=t/2);++o){var s=m[e+2*o>>1];if(0==s)break;r+=String.fromCharCode(s)}return r},rt=(e,t,n)=>{var a;if(null!==(a=n)&&void 0!==a||(n=2147483647),n<2)return 0;for(var i=t,r=(n-=2)<2*e.length?n/2:e.length,o=0;o>1]=s,t+=2}return m[t>>1]=0,t-i},ot=e=>2*e.length,st=(e,t)=>{for(var n=0,a="";!(n>=t/4);){var i=g[e+4*n>>2];if(0==i)break;if(++n,i>=65536){var r=i-65536;a+=String.fromCharCode(55296|r>>10,56320|1023&r)}else a+=String.fromCharCode(i)}return a},lt=(e,t,n)=>{var a;if(null!==(a=n)&&void 0!==a||(n=2147483647),n<4)return 0;for(var i=t,r=i+n-4,o=0;o=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),g[t>>2]=s,(t+=4)+4>r)break}return g[t>>2]=0,t-i},ut=e=>{for(var t=0,n=0;n=55296&&a<=57343&&++n,t+=4}return t},ct=[],dt={},ht=()=>{if("object"==typeof globalThis)return globalThis;function e(e){e.$$$embind_global$$$=e;var t="object"==typeof $$$embind_global$$$&&e.$$$embind_global$$$==e;return t||delete e.$$$embind_global$$$,t}if("object"==typeof $$$embind_global$$$||("object"==typeof global&&e(global)?$$$embind_global$$$=global:"object"==typeof self&&e(self)&&($$$embind_global$$$=self),"object"==typeof $$$embind_global$$$))return $$$embind_global$$$;throw Error("unable to get global object.")},pt=Reflect.construct,ft=e=>{var t=(e-h.buffer.byteLength+65535)/65536;try{return h.grow(t),k(),1}catch(e){}},mt={},vt=()=>{if(!vt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:r||"./this.program"};for(var t in mt)void 0===mt[t]?delete e[t]:e[t]=mt[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);vt.strings=n}return vt.strings},gt=e=>e%4==0&&(e%100!=0||e%400==0),_t=[31,29,31,30,31,30,31,31,30,31,30,31],bt=[31,28,31,30,31,30,31,31,30,31,30,31],yt=(e,t,n,a)=>{var i=_[a+40>>2],r={tm_sec:g[a>>2],tm_min:g[a+4>>2],tm_hour:g[a+8>>2],tm_mday:g[a+12>>2],tm_mon:g[a+16>>2],tm_year:g[a+20>>2],tm_wday:g[a+24>>2],tm_yday:g[a+28>>2],tm_isdst:g[a+32>>2],tm_gmtoff:g[a+36>>2],tm_zone:i?nt(i):""},o=nt(n),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)o=o.replace(new RegExp(l,"g"),s[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,n){for(var a="number"==typeof e?e.toString():e||"";a.length0?1:0}var a;return 0===(a=n(e.getFullYear()-t.getFullYear()))&&0===(a=n(e.getMonth()-t.getMonth()))&&(a=n(e.getDate()-t.getDate())),a}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function v(e){var t=((e,t)=>{for(var n=new Date(e.getTime());t>0;){var a=gt(n.getFullYear()),i=n.getMonth(),r=(a?_t:bt)[i];if(!(t>r-n.getDate()))return n.setDate(n.getDate()+t),n;t-=r-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n})(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),a=new Date(t.getFullYear()+1,0,4),i=m(n),r=m(a);return f(i,t)<=0?f(r,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>v(e).toString().substring(2),"%G":e=>v(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),h(t,2)},"%j":e=>h(e.tm_mday+((e,t)=>{for(var n=0,a=0;a<=t;n+=e[a++]);return n})(gt(e.tm_year+1900)?_t:bt,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return h(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4!=n&&(3!=n||!gt(e.tm_year))&&(t=1)}}else{t=52;var a=(e.tm_wday+7-e.tm_yday-1)%7;(4==a||5==a&>(e.tm_year%400-1))&&t++}return h(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff;return(t>=0?"+":"-")+("0000"+(t=(t=Math.abs(t)/60)/60*100+t%60)).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in o=o.replace(/%%/g,"\0\0"),b)o.includes(l)&&(o=o.replace(new RegExp(l,"g"),b[l](r)));var y=function(e){var t=et(e)+1,n=new Array(t);return Je(e,n,0,n.length),n}(o=o.replace(/\0\0/g,"%"));return y.length>t?0:(((e,t)=>{p.set(e,t)})(y,e),y.length-1)};H=a.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);U=e})(),W=a.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(ye.prototype,{isAliasOf(e){if(!(this instanceof ye&&e instanceof ye))return!1;var t=this.$$.ptrType.registeredClass,n=this.$$.ptr;e.$$=e.$$;for(var a=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;a.baseClass;)i=a.upcast(i),a=a.baseClass;return t===a&&n===i},clone(){if(this.$$.ptr||ie(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=be(Object.create(Object.getPrototypeOf(this),{$$:{value:ae(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&J("Object already scheduled for deletion"),oe(this),se(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&J("Object already scheduled for deletion"),he.push(this),1===he.length&&te&&te(pe),this.$$.deleteScheduled=!0,this}}),a.getInheritedInstanceCount=ce,a.getLiveInheritedInstances=de,a.flushPendingDeletes=pe,a.setDelayFunction=fe,Object.assign(Ae.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null===(t=this.rawDestructor)||void 0===t||t.call(this,e)},argPackAdvance:ne,readValueFromPointer:Pe,deleteObject(e){null!==e&&e.delete()},fromWireType:_e}),Oe=a.UnboundTypeError=((e,t)=>{var n=we(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},n})(Error,"UnboundTypeError"),Object.assign(Ve.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),He.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),He.reserved=He.allocated.length,a.count_emval_handles=We;var wt={s:e=>{var t=new j(e);return t.get_caught()||(t.set_caught(!0),I--),t.set_rethrown(!1),q.push(t),Lt(t.excPtr),t.get_exception_ptr()},u:()=>{Tt(0,0);var e=q.pop();At(e.excPtr),D=0},b:()=>$([]),g:e=>$([e]),q:(e,t)=>$([e,t]),J:()=>{var e=q.pop();e||E("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(q.push(e),e.set_rethrown(!0),e.set_caught(!1),I++),D=t},f:(e,t,n)=>{throw new j(e).init(t,n),I++,D=e},V:()=>I,d:e=>{throw D||(D=e),D},da:e=>{var t=F[e];delete F[e];var n=t.rawConstructor,a=t.rawDestructor,i=t.fields,r=i.map((e=>e.getterReturnType)).concat(i.map((e=>e.setterArgumentType)));Z([e],r,(e=>{var r={};return i.forEach(((t,n)=>{var a=t.fieldName,o=e[n],s=t.getter,l=t.getterContext,u=e[n+i.length],c=t.setter,d=t.setterContext;r[a]={read:e=>o.fromWireType(s(l,e)),write:(e,t)=>{var n=[];c(d,e,u.toWireType(n,t)),B(n)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var n in r)t[n]=r[n].read(e);return a(e),t},toWireType:(e,t)=>{for(var i in r)if(!(i in t))throw new TypeError(`Missing field: "${i}"`);var o=n();for(i in r)r[i].write(o,t[i]);return null!==e&&e.push(a,o),o},argPackAdvance:ne,readValueFromPointer:V,destructorFunction:a}]}))},Q:(e,t,n,a,i)=>{},_:(e,t,n,a)=>{ee(e,{name:t=X(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:a},argPackAdvance:ne,readValueFromPointer:function(e){return this.fromWireType(f[e])},destructorFunction:null})},ca:(e,t,n,a,i,r,o,s,l,u,c,d,h)=>{c=X(c),r=Ie(i,r),s&&(s=Ie(o,s)),u&&(u=Ie(l,u)),h=Ie(d,h);var p=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);xe(p,(function(){je(`Cannot construct ${c} due to unbound types`,[a])})),Z([e,t,n],a?[a]:[],(function(t){var n,i;t=t[0],i=a?(n=t.registeredClass).instancePrototype:ye.prototype;var o=we(c,(function(){if(Object.getPrototypeOf(this)!==l)throw new W("Use 'new' to construct "+c);if(void 0===m.constructor_body)throw new W(c+" has no accessible constructor");var e=m.constructor_body[arguments.length];if(void 0===e)throw new W(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(m.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:o}});o.prototype=l;var d,f,m=new Se(c,o,l,h,n,r,s,u);m.baseClass&&(null!==(f=(d=m.baseClass).__derivedClasses)&&void 0!==f||(d.__derivedClasses=[]),m.baseClass.__derivedClasses.push(m));var v=new Ae(c,m,!0,!1,!1),g=new Ae(c+"*",m,!1,!1,!1),_=new Ae(c+" const*",m,!1,!0,!1);return ue[e]={pointerType:g,constPointerType:_},Ne(p,o),[v,g,_]}))},ba:(e,t,n,a,i,r)=>{var o=$e(t,n);i=Ie(a,i),Z([],[e],(function(e){var n=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new W(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{je(`Cannot construct ${e.name} due to unbound types`,o)},Z([],o,(a=>(a.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Fe(n,a,null,i,r),[]))),[]}))},w:(e,t,n,a,i,r,o,s,l)=>{var u=$e(n,a);t=X(t),t=Be(t),r=Ie(i,r),Z([],[e],(function(e){var a=`${(e=e[0]).name}.${t}`;function i(){je(`Cannot call ${a} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,c=l[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,l[t]=i):(ke(l,t,a),l[t].overloadTable[n-2]=i),Z([],u,(function(i){var s=Fe(a,i,e,r,o);return void 0===l[t].overloadTable?(s.argCount=n-2,l[t]=s):l[t].overloadTable[n-2]=s,[]})),[]}))},Y:(e,t)=>{ee(e,{name:t=X(t),fromWireType:e=>{var t=Ye.toValue(e);return Ue(e),t},toWireType:(e,t)=>Ye.toHandle(t),argPackAdvance:ne,readValueFromPointer:V,destructorFunction:null})},x:(e,t,n,a)=>{function i(){}t=X(t),i.values={},ee(e,{name:t,constructor:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:ne,readValueFromPointer:Qe(t,n,a),destructorFunction:null}),xe(t,i)},h:(e,t,n)=>{var a=Ke(e,"enum");t=X(t);var i=a.constructor,r=Object.create(a.constructor.prototype,{value:{value:n},constructor:{value:we(`${a.name}_${t}`,(function(){}))}});i.values[n]=r,i[t]=r},L:(e,t,n)=>{ee(e,{name:t=X(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:ne,readValueFromPointer:Ze(t,n),destructorFunction:null})},M:(e,t,n,a,i,r,o)=>{var s=$e(t,n);e=X(e),e=Be(e),i=Ie(a,i),xe(e,(function(){je(`Cannot call ${e} due to unbound types`,s)}),t-1),Z([],s,(function(n){var a=[n[0],null].concat(n.slice(1));return Ne(e,Fe(e,a,null,i,r),t-1),[]}))},t:(e,t,n,a,i)=>{t=X(t);var r=e=>e;if(0===a){var o=32-8*n;r=e=>e<>>o}var s=t.includes("unsigned");ee(e,{name:t,fromWireType:r,toWireType:s?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:ne,readValueFromPointer:Xe(t,n,0!==a),destructorFunction:null})},o:(e,t,n)=>{var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=_[e>>2],n=_[e+4>>2];return new a(p.buffer,n,t)}ee(e,{name:n=X(n),fromWireType:i,argPackAdvance:ne,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},K:(e,t)=>{var n="std::string"===(t=X(t));ee(e,{name:t,fromWireType(e){var t,a=_[e>>2],i=e+4;if(n)for(var r=i,o=0;o<=a;++o){var s=i+o;if(o==a||0==f[s]){var l=nt(r,s-r);void 0===t?t=l:(t+="\0",t+=l),r=s+1}}else{var u=new Array(a);for(o=0;o>2]=a,n&&i)((e,t,n)=>{Je(e,f,t,n)})(t,o,a+1);else if(i)for(var s=0;s255&&(xt(o),J("String has UTF-16 code units that do not fit in 8 bits")),f[o+s]=l}else for(s=0;s{var a,i,r,o,s;n=X(n),2===t?(a=it,i=rt,o=ot,r=()=>v,s=1):4===t&&(a=st,i=lt,o=ut,r=()=>_,s=2),ee(e,{name:n,fromWireType:e=>{for(var n,i=_[e>>2],o=r(),l=e+4,u=0;u<=i;++u){var c=e+4+u*t;if(u==i||0==o[c>>s]){var d=a(l,c-l);void 0===n?n=d:(n+="\0",n+=d),l=c+t}}return xt(e),n},toWireType:(e,a)=>{"string"!=typeof a&&J(`Cannot pass non-string to C++ string type ${n}`);var r=o(a),l=St(4+r+t);return _[l>>2]=r>>s,i(a,l+4,r+t),null!==e&&e.push(xt,l),l},argPackAdvance:ne,readValueFromPointer:V,destructorFunction(e){xt(e)}})},A:(e,t,n,a,i,r)=>{F[e]={name:X(t),rawConstructor:Ie(n,a),rawDestructor:Ie(i,r),fields:[]}},ea:(e,t,n,a,i,r,o,s,l,u)=>{F[e].fields.push({fieldName:X(t),getterReturnType:n,getter:Ie(a,i),getterContext:r,setterArgumentType:o,setter:Ie(s,l),setterContext:u})},$:(e,t)=>{ee(e,{isVoid:!0,name:t=X(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},R:(e,t,n,a)=>(e=ct[e])(null,t=Ye.toValue(t),n,a),ha:Ue,fa:e=>0===e?Ye.toHandle(ht()):(e=(e=>{var t=dt[e];return void 0===t?X(e):t})(e),Ye.toHandle(ht()[e])),Z:(e,t,n)=>{var a=((e,t)=>{for(var n=new Array(e),a=0;a>2],"parameter "+a);return n})(e,t),i=a.shift();e--;var r=new Array(e),o=`methodCaller<(${a.map((e=>e.name)).join(", ")}) => ${i.name}>`;return(e=>{var t=ct.length;return ct.push(e),t})(we(o,((t,o,s,l)=>{for(var u=0,c=0;c{var a=[],i=e.toWireType(a,n);return a.length&&(_[t>>2]=Ye.toHandle(a)),i})(i,s,d)})))},N:e=>{e>4&&(He.get(e).refcount+=1)},O:e=>{var t=Ye.toValue(e);B(t),Ue(e)},aa:(e,t)=>{var n=(e=Ke(e,"_emval_take_value")).readValueFromPointer(t);return Ye.toHandle(n)},B:()=>{E("")},X:(e,t,n)=>f.copyWithin(e,t,t+n),W:e=>{var t,n,a=f.length,i=2147483648;if((e>>>=0)>i)return!1;for(var r=1;r<=4;r*=2){var o=a*(1+.2/r);o=Math.min(o,e+100663296);var s=Math.min(i,(t=Math.max(e,o))+((n=65536)-t%n)%n);if(ft(s))return!0}return!1},T:(e,t)=>{var n=0;return vt().forEach(((a,i)=>{var r=t+n;_[e+4*i>>2]=r,((e,t)=>{for(var n=0;n{var n=vt();_[e>>2]=n.length;var a=0;return n.forEach((e=>a+=e.length+1)),_[t>>2]=a,0},E:function(e,t,n,a){var i=Et();try{return ze(e)(t,n,a)}catch(e){if(Pt(i),e!==e+0)throw e;Tt(1,0)}},D:function(e,t,n,a,i){var r=Et();try{return ze(e)(t,n,a,i)}catch(e){if(Pt(r),e!==e+0)throw e;Tt(1,0)}},F:function(e,t,n,a){var i=Et();try{return ze(e)(t,n,a)}catch(e){if(Pt(i),e!==e+0)throw e;Tt(1,0)}},n:function(e){var t=Et();try{return ze(e)()}catch(e){if(Pt(t),e!==e+0)throw e;Tt(1,0)}},a:function(e,t){var n=Et();try{return ze(e)(t)}catch(e){if(Pt(n),e!==e+0)throw e;Tt(1,0)}},e:function(e,t,n){var a=Et();try{return ze(e)(t,n)}catch(e){if(Pt(a),e!==e+0)throw e;Tt(1,0)}},m:function(e,t,n,a){var i=Et();try{return ze(e)(t,n,a)}catch(e){if(Pt(i),e!==e+0)throw e;Tt(1,0)}},k:function(e,t,n,a,i){var r=Et();try{return ze(e)(t,n,a,i)}catch(e){if(Pt(r),e!==e+0)throw e;Tt(1,0)}},H:function(e,t,n,a,i,r){var o=Et();try{return ze(e)(t,n,a,i,r)}catch(e){if(Pt(o),e!==e+0)throw e;Tt(1,0)}},v:function(e,t,n,a,i,r,o){var s=Et();try{return ze(e)(t,n,a,i,r,o)}catch(e){if(Pt(s),e!==e+0)throw e;Tt(1,0)}},G:function(e,t,n,a,i,r,o,s){var l=Et();try{return ze(e)(t,n,a,i,r,o,s)}catch(e){if(Pt(l),e!==e+0)throw e;Tt(1,0)}},z:function(e,t,n,a,i,r,o,s,l,u,c,d){var h=Et();try{return ze(e)(t,n,a,i,r,o,s,l,u,c,d)}catch(e){if(Pt(h),e!==e+0)throw e;Tt(1,0)}},P:function(e,t,n,a,i){var r=Et();try{return zt(e,t,n,a,i)}catch(e){if(Pt(r),e!==e+0)throw e;Tt(1,0)}},l:function(e){var t=Et();try{ze(e)()}catch(e){if(Pt(t),e!==e+0)throw e;Tt(1,0)}},j:function(e,t){var n=Et();try{ze(e)(t)}catch(e){if(Pt(n),e!==e+0)throw e;Tt(1,0)}},c:function(e,t,n){var a=Et();try{ze(e)(t,n)}catch(e){if(Pt(a),e!==e+0)throw e;Tt(1,0)}},p:function(e,t,n,a){var i=Et();try{ze(e)(t,n,a)}catch(e){if(Pt(i),e!==e+0)throw e;Tt(1,0)}},I:function(e,t,n,a,i){var r=Et();try{ze(e)(t,n,a,i)}catch(e){if(Pt(r),e!==e+0)throw e;Tt(1,0)}},r:function(e,t,n,a,i,r,o,s){var l=Et();try{ze(e)(t,n,a,i,r,o,s)}catch(e){if(Pt(l),e!==e+0)throw e;Tt(1,0)}},i:function(e,t,n,a,i,r,o,s,l,u,c){var d=Et();try{ze(e)(t,n,a,i,r,o,s,l,u,c)}catch(e){if(Pt(d),e!==e+0)throw e;Tt(1,0)}},y:function(e,t,n,a,i,r,o,s,l,u,c,d,h,p,f,m){var v=Et();try{ze(e)(t,n,a,i,r,o,s,l,u,c,d,h,p,f,m)}catch(e){if(Pt(v),e!==e+0)throw e;Tt(1,0)}},ga:e=>e,S:(e,t,n,a,i)=>yt(e,t,n,a)},kt=function(){var e={a:wt};function t(e,t){return kt=e.exports,h=kt.ia,k(),Le=kt.ma,function(e){S.unshift(e)}(kt.ja),function(){var e;if(T--,null===(e=a.monitorRunDependencies)||void 0===e||e.call(a,T),0==T&&M){var t=M;M=null,t()}}(),kt}if(function(){var e;T++,null===(e=a.monitorRunDependencies)||void 0===e||e.call(a,T)}(),a.instantiateWasm)try{return a.instantiateWasm(e,t)}catch(e){d(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return function(e,t,n,a){return e||"function"!=typeof WebAssembly.instantiateStreaming||L(t)||"function"!=typeof fetch?N(t,n,a):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(a,(function(e){return d(`wasm streaming compile failed: ${e}`),d("falling back to ArrayBuffer instantiation"),N(t,n,a)}))))}(c,P,e,(function(e){t(e.instance)})).catch(n),{}}(),xt=a._free=e=>(xt=a._free=kt.ka)(e),St=a._malloc=e=>(St=a._malloc=kt.la)(e),Ct=e=>(Ct=kt.na)(e),Tt=(e,t)=>(Tt=kt.oa)(e,t),Mt=e=>(Mt=kt.pa)(e),Et=()=>(Et=kt.qa)(),Pt=e=>(Pt=kt.ra)(e),At=e=>(At=kt.sa)(e),Lt=e=>(Lt=kt.ta)(e),Ot=(e,t,n)=>(Ot=kt.ua)(e,t,n),Nt=e=>(Nt=kt.va)(e);a.dynCall_viijii=(e,t,n,i,r,o,s)=>(a.dynCall_viijii=kt.wa)(e,t,n,i,r,o,s);var Rt,zt=a.dynCall_jiiii=(e,t,n,i,r)=>(zt=a.dynCall_jiiii=kt.xa)(e,t,n,i,r);function qt(){function e(){Rt||(Rt=!0,a.calledRun=!0,!w&&(R(S),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)e=a.postRun.shift(),C.unshift(e);var e;R(C)}()))}T>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),x.unshift(e);var e;R(x)}(),T>0)||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),e()}),1)):e())}if(a.dynCall_iiiiij=(e,t,n,i,r,o,s)=>(a.dynCall_iiiiij=kt.ya)(e,t,n,i,r,o,s),a.dynCall_iiiiijj=(e,t,n,i,r,o,s,l,u)=>(a.dynCall_iiiiijj=kt.za)(e,t,n,i,r,o,s,l,u),a.dynCall_iiiiiijj=(e,t,n,i,r,o,s,l,u,c)=>(a.dynCall_iiiiiijj=kt.Aa)(e,t,n,i,r,o,s,l,u,c),M=function e(){Rt||qt(),Rt||(M=e)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return qt(),e.ready});async function D(e,t){return async function(e,t,n=P){const a={...P,...n},i=await R(e),{size:r}=t,o=new Uint8Array(await t.arrayBuffer()),s=i._malloc(r);i.HEAPU8.set(o,s);const l=i.readBarcodesFromImage(s,r,A(i,a));i._free(s);const u=[];for(let e=0;e{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)})(this,q,void 0);try{const a=null==(t=null==e?void 0:e.formats)?void 0:t.filter((e=>"unknown"!==e));if(0===(null==a?void 0:a.length))throw new TypeError("Hint option provided, but is empty.");null==a||a.forEach((e=>{if(!o.has(e))throw new TypeError(`Failed to read the 'formats' property from 'BarcodeDetectorOptions': The provided value '${e}' is not a valid enum value of type BarcodeFormat.`)})),((e,t,a)=>{n(e,t,"write to private field"),t.set(e,a)})(this,q,null!=a?a:[]),function(e){return R(I,e)}().then((e=>{this.dispatchEvent(new CustomEvent("load",{detail:e}))})).catch((e=>{this.dispatchEvent(new CustomEvent("error",{detail:e}))}))}catch(e){throw _(e,"Failed to construct 'BarcodeDetector'")}}static async getSupportedFormats(){return r.filter((e=>"unknown"!==e))}async detect(e){try{const t=await g(e);if(null===t)return[];let n;try{n=m(t)?await D(t,{tryHarder:!0,formats:a(this,q).map((e=>o.get(e)))}):await j(t,{tryHarder:!0,formats:a(this,q).map((e=>o.get(e)))})}catch(e){throw console.error(e),new DOMException("Barcode detection service unavailable.","NotSupportedError")}return n.map((e=>{const{topLeft:{x:t,y:n},topRight:{x:a,y:i},bottomLeft:{x:r,y:o},bottomRight:{x:l,y:u}}=e.position,c=Math.min(t,a,r,l),d=Math.min(n,i,o,u),h=Math.max(t,a,r,l),p=Math.max(n,i,o,u);return{boundingBox:new DOMRectReadOnly(c,d,h-c,p-d),rawValue:e.text,format:s(e.format),cornerPoints:[{x:t,y:n},{x:a,y:i},{x:l,y:u},{x:r,y:o}]}}))}catch(e){throw _(e,"Failed to execute 'detect' on 'BarcodeDetector'")}}}q=new WeakMap;const F=(e,t,n="error")=>{let a,i;const r=new Promise(((r,o)=>{a=r,i=o,e.addEventListener(t,a),e.addEventListener(n,i)}));return r.finally((()=>{e.removeEventListener(t,a),e.removeEventListener(n,i)})),r},B=e=>new Promise((t=>setTimeout(t,e)));class V extends Error{constructor(){super("can't process cross-origin image"),this.name="DropImageFetchError"}}class H extends Error{constructor(){super("this browser has no Stream API support"),this.name="StreamApiNotSupportedError"}}class U extends Error{constructor(){super("camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP."),this.name="InsecureContextError"}}class W extends Error{constructor(){super("Loading camera stream timed out after 6 seconds. If you are on iOS in PWA mode, this is a known issue (see https://github.com/gruhn/vue-qrcode-reader/issues/298)"),this.name="StreamLoadTimeoutError"}}let Y;async function Q(e){Y=await async function(e){if(void 0===window.BarcodeDetector)return console.debug("[vue-qrcode-reader] Native BarcodeDetector not supported. Will use polyfill."),new $({formats:e});const t=await window.BarcodeDetector.getSupportedFormats(),n=e.filter((e=>!t.includes(e)));return n.length>0?(console.debug(`[vue-qrcode-reader] Native BarcodeDetector does not support formats ${JSON.stringify(n)}. Will use polyfill.`),new $({formats:e})):(console.debug("[vue-qrcode-reader] Will use native BarcodeDetector."),new window.BarcodeDetector({formats:e}))}(e)}const K=async(e,t=["qr_code"])=>await new $({formats:t}).detect(e),G=async(e,t=["qr_code"])=>{const n=new $({formats:t}),a=await(async e=>{if(e.startsWith("http")&&!1===e.includes(location.host))throw new V;const t=document.createElement("img");return t.src=e,await F(t,"load"),t})(e);return await n.detect(a)};var Z={},X={};Object.defineProperty(X,"__esModule",{value:!0}),X.compactObject=function e(t){return ie(t)?Object.keys(t).reduce((function(n,a){var i=ie(t[a]),r=i?e(t[a]):t[a],o=i&&!Object.keys(r).length;return void 0===r||o?n:Object.assign(n,function(e,t,n){return t=function(e){var t=function(e,t){if("object"!==ee(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!==ee(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ee(t)?t:String(t)}(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},a,r))}),{}):t},X.deprecated=function(e,t){ne&&console.warn(e+" is deprecated, please use "+t+" instead.")};var J=X.detectBrowser=function(e){var t={browser:null,version:null};if(typeof e>"u"||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;var n=e.navigator;if(n.mozGetUserMedia)t.browser="firefox",t.version=ae(n.userAgent,/Firefox\/(\d+)\./,1);else if(n.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=ae(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!n.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=ae(n.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t};function ee(e){return(ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}X.disableLog=function(e){return"boolean"!=typeof e?new Error("Argument type: "+ee(e)+". Please use a boolean."):(te=e,e?"adapter.js logging disabled":"adapter.js logging enabled")},X.disableWarnings=function(e){return"boolean"!=typeof e?new Error("Argument type: "+ee(e)+". Please use a boolean."):(ne=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))},X.extractVersion=ae,X.filterStats=function(e,t,n){var a=n?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;var r=[];return e.forEach((function(e){"track"===e.type&&e.trackIdentifier===t.id&&r.push(e)})),r.forEach((function(t){e.forEach((function(n){n.type===a&&n.trackId===t.id&&re(e,n,i)}))})),i},X.log=function(){if("object"===(typeof window>"u"?"undefined":ee(window))){if(te)return;typeof console<"u"&&"function"==typeof console.log&&console.log.apply(console,arguments)}},X.walkStats=re,X.wrapPeerConnectionEvent=function(e,t,n){if(e.RTCPeerConnection){var a=e.RTCPeerConnection.prototype,i=a.addEventListener;a.addEventListener=function(e,a){if(e!==t)return i.apply(this,arguments);var r=function(e){var t=n(e);t&&(a.handleEvent?a.handleEvent(t):a(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(a,r),i.apply(this,[e,r])};var r=a.removeEventListener;a.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t])return r.apply(this,arguments);if(!this._eventMap[t].has(n))return r.apply(this,arguments);var a=this._eventMap[t].get(n);return this._eventMap[t].delete(n),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,r.apply(this,[e,a])},Object.defineProperty(a,"on"+t,{get:function(){return this["_on"+t]},set:function(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}};var te=!0,ne=!0;function ae(e,t,n){var a=e.match(t);return a&&a.length>=n&&parseInt(a[n],10)}function ie(e){return"[object Object]"===Object.prototype.toString.call(e)}function re(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach((function(a){a.endsWith("Id")?re(e,e.get(t[a]),n):a.endsWith("Ids")&&t[a].forEach((function(t){re(e,e.get(t),n)}))})))}Object.defineProperty(Z,"__esModule",{value:!0});var oe=Z.shimGetUserMedia=function(e,t){var n=e&&e.navigator;if(n.mediaDevices){var a=function(e){if("object"!==ue(e)||e.mandatory||e.optional)return e;var t={};return Object.keys(e).forEach((function(n){if("require"!==n&&"advanced"!==n&&"mediaSource"!==n){var a="object"===ue(e[n])?e[n]:{ideal:e[n]};void 0!==a.exact&&"number"==typeof a.exact&&(a.min=a.max=a.exact);var i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==a.ideal){t.optional=t.optional||[];var r={};"number"==typeof a.ideal?(r[i("min",n)]=a.ideal,t.optional.push(r),(r={})[i("max",n)]=a.ideal,t.optional.push(r)):(r[i("",n)]=a.ideal,t.optional.push(r))}void 0!==a.exact&&"number"!=typeof a.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",n)]=a.exact):["min","max"].forEach((function(e){void 0!==a[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=a[e])}))}})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"===ue(e.audio)){var r=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};r((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),r(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=a(e.audio)}if(e&&"object"===ue(e.video)){var o=e.video.facingMode;o=o&&("object"===ue(o)?o:{ideal:o});var s,l=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!n.mediaDevices.getSupportedConstraints||!n.mediaDevices.getSupportedConstraints().facingMode||l))if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?s=["back","rear"]:("user"===o.exact||"user"===o.ideal)&&(s=["front"]),s)return n.mediaDevices.enumerateDevices().then((function(t){var n=(t=t.filter((function(e){return"videoinput"===e.kind}))).find((function(e){return s.some((function(t){return e.label.toLowerCase().includes(t)}))}));return!n&&t.length&&s.includes("back")&&(n=t[t.length-1]),n&&(e.video.deviceId=o.exact?{exact:n.deviceId}:{ideal:n.deviceId}),e.video=a(e.video),ce("chrome: "+JSON.stringify(e)),i(e)}));e.video=a(e.video)}return ce("chrome: "+JSON.stringify(e)),i(e)},r=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}};if(n.getUserMedia=function(e,t,a){i(e,(function(e){n.webkitGetUserMedia(e,t,(function(e){a&&a(r(e))}))}))}.bind(n),n.mediaDevices.getUserMedia){var o=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(e){return i(e,(function(e){return o(e).then((function(t){if(e.audio&&!t.getAudioTracks().length||e.video&&!t.getVideoTracks().length)throw t.getTracks().forEach((function(e){e.stop()})),new DOMException("","NotFoundError");return t}),(function(e){return Promise.reject(r(e))}))}))}}}},se=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==ue(e)&&"function"!=typeof e)return{default:e};var n=le(t);if(n&&n.has(e))return n.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var o=i?Object.getOwnPropertyDescriptor(e,r):null;o&&(o.get||o.set)?Object.defineProperty(a,r,o):a[r]=e[r]}return a.default=e,n&&n.set(e,a),a}(X);function le(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(le=function(e){return e?n:t})(e)}function ue(e){return(ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ce=se.log;var de={};Object.defineProperty(de,"__esModule",{value:!0});var he=de.shimGetUserMedia=function(e,t){var n=e&&e.navigator,a=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,a){pe.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(e).then(t,a)},!(t.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){var i=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},r=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(e){return"object"===me(e)&&"object"===me(e.audio)&&(e=JSON.parse(JSON.stringify(e)),i(e.audio,"autoGainControl","mozAutoGainControl"),i(e.audio,"noiseSuppression","mozNoiseSuppression")),r(e)},a&&a.prototype.getSettings){var o=a.prototype.getSettings;a.prototype.getSettings=function(){var e=o.apply(this,arguments);return i(e,"mozAutoGainControl","autoGainControl"),i(e,"mozNoiseSuppression","noiseSuppression"),e}}if(a&&a.prototype.applyConstraints){var s=a.prototype.applyConstraints;a.prototype.applyConstraints=function(e){return"audio"===this.kind&&"object"===me(e)&&(e=JSON.parse(JSON.stringify(e)),i(e,"autoGainControl","mozAutoGainControl"),i(e,"noiseSuppression","mozNoiseSuppression")),s.apply(this,[e])}}}},pe=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==me(e)&&"function"!=typeof e)return{default:e};var n=fe(t);if(n&&n.has(e))return n.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var o=i?Object.getOwnPropertyDescriptor(e,r):null;o&&(o.get||o.set)?Object.defineProperty(a,r,o):a[r]=e[r]}return a.default=e,n&&n.set(e,a),a}(X);function fe(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(fe=function(e){return e?n:t})(e)}function me(e){return(me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ve={};Object.defineProperty(ve,"__esModule",{value:!0}),ve.shimAudioContext=function(e){"object"!==ye(e)||e.AudioContext||(e.AudioContext=e.webkitAudioContext)},ve.shimCallbacksAPI=function(e){if("object"===ye(e)&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype,n=t.createOffer,a=t.createAnswer,i=t.setLocalDescription,r=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){var a=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[a]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){var n=arguments.length>=2?arguments[2]:arguments[0],i=a.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};var s=function(e,t,n){var a=i.apply(this,[e]);return n?(a.then(t,n),Promise.resolve()):a};t.setLocalDescription=s,s=function(e,t,n){var a=r.apply(this,[e]);return n?(a.then(t,n),Promise.resolve()):a},t.setRemoteDescription=s,s=function(e,t,n){var a=o.apply(this,[e]);return n?(a.then(t,n),Promise.resolve()):a},t.addIceCandidate=s}},ve.shimConstraints=we,ve.shimCreateOfferLegacy=function(e){var t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){typeof e.offerToReceiveAudio<"u"&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);var n=this.getTransceivers().find((function(e){return"audio"===e.receiver.track.kind}));!1===e.offerToReceiveAudio&&n?"sendrecv"===n.direction?n.setDirection?n.setDirection("sendonly"):n.direction="sendonly":"recvonly"===n.direction&&(n.setDirection?n.setDirection("inactive"):n.direction="inactive"):!0===e.offerToReceiveAudio&&!n&&this.addTransceiver("audio",{direction:"recvonly"}),typeof e.offerToReceiveVideo<"u"&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);var a=this.getTransceivers().find((function(e){return"video"===e.receiver.track.kind}));!1===e.offerToReceiveVideo&&a?"sendrecv"===a.direction?a.setDirection?a.setDirection("sendonly"):a.direction="sendonly":"recvonly"===a.direction&&(a.setDirection?a.setDirection("inactive"):a.direction="inactive"):!0===e.offerToReceiveVideo&&!a&&this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}};var ge=ve.shimGetUserMedia=function(e){var t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){var n=t.mediaDevices,a=n.getUserMedia.bind(n);t.mediaDevices.getUserMedia=function(e){return a(we(e))}}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,a){t.mediaDevices.getUserMedia(e).then(n,a)}.bind(t))};ve.shimLocalStreamsAPI=function(e){if("object"===ye(e)&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){var t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){var n=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((function(a){return t.call(n,a,e)})),e.getVideoTracks().forEach((function(a){return t.call(n,a,e)}))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var n=this,a=arguments.length,i=new Array(a>1?a-1:0),r=1;r=0)){e._remoteStreams.push(t);var n=new Event("addstream");n.stream=t,e.dispatchEvent(n)}}))}),t.apply(e,arguments)}}},ve.shimTrackEventTransceiver=function(e){"object"===ye(e)&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})};var _e=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==ye(e)&&"function"!=typeof e)return{default:e};var n=be(t);if(n&&n.has(e))return n.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var o=i?Object.getOwnPropertyDescriptor(e,r):null;o&&(o.get||o.set)?Object.defineProperty(a,r,o):a[r]=e[r]}return a.default=e,n&&n.set(e,a),a}(X);function be(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(be=function(e){return e?n:t})(e)}function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function we(e){return e&&void 0!==e.video?Object.assign({},e,{video:_e.compactObject(e.video)}):e}function ke(e,t){if(!1===e)throw new Error(null!=t?t:"assertion failure")}function xe(e){throw new Error("this code should be unreachable")}const Se=(e=>{let t,n=!1;return(...a)=>(n||(t=e(a),n=!0),t)})((()=>{const e=J(window);switch(e.browser){case"chrome":oe(window,e);break;case"firefox":he(window,e);break;case"safari":ge(window,e);break;default:throw new H}}));let Ce=Promise.resolve({type:"stop",data:{}});async function Te(e,t,n){var a,i,r;if(console.debug("[vue-qrcode-reader] starting camera with constraints: ",JSON.stringify(t)),!0!==window.isSecureContext)throw new U;if(void 0===(null==(a=null==navigator?void 0:navigator.mediaDevices)?void 0:a.getUserMedia))throw new H;Se(),console.debug("[vue-qrcode-reader] calling getUserMedia");const o=await navigator.mediaDevices.getUserMedia({audio:!1,video:t});void 0!==e.srcObject?e.srcObject=o:void 0!==e.mozSrcObject?e.mozSrcObject=o:window.URL.createObjectURL?e.src=window.URL.createObjectURL(o):window.webkitURL?e.src=window.webkitURL.createObjectURL(o):e.src=o.id,e.play(),console.debug("[vue-qrcode-reader] waiting for video element to load"),await Promise.race([F(e,"loadeddata"),B(6e3).then((()=>{throw new W}))]),console.debug("[vue-qrcode-reader] video element loaded"),await B(500);const[s]=o.getVideoTracks(),l=null!=(r=null==(i=null==s?void 0:s.getCapabilities)?void 0:i.call(s))?r:{};let u=!1;return n&&l.torch&&(await s.applyConstraints({advanced:[{torch:!0}]}),u=!0),console.debug("[vue-qrcode-reader] camera ready"),{type:"start",data:{videoEl:e,stream:o,capabilities:l,constraints:t,isTorchOn:u}}}async function Me(e,t,n){console.debug("[vue-qrcode-reader] stopping camera"),e.src="",e.srcObject=null,e.load(),await F(e,"error");for(const e of t.getTracks())null!=n||await e.applyConstraints({advanced:[{torch:!1}]}),t.removeTrack(e),e.stop();return{type:"stop",data:{}}}async function Ee(){if(Ce=Ce.then((e=>{if("stop"===e.type||"failed"===e.type)return e;const{data:{videoEl:t,stream:n,isTorchOn:a}}=e;return Me(t,n,a)})),"start"===(await Ce).type)throw new Error("Something went wrong with the camera task queue (stop task).")}const Pe=t.defineComponent({__name:"QrcodeStream",props:{constraints:{type:Object,default:()=>({facingMode:"environment"})},formats:{type:Array,default:()=>["qr_code"]},paused:{type:Boolean,default:!1},torch:{type:Boolean,default:!1},track:{type:Function}},emits:["detect","camera-on","camera-off","error"],setup(e,{emit:n}){const a=e,i=n,r=t.ref(a.constraints),o=t.ref(a.formats);t.watch((()=>a.constraints),((e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&(r.value=e)}),{deep:!0}),t.watch((()=>a.formats),((e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&(o.value=e)}),{deep:!0});const s=t.ref(),l=t.ref(),u=t.ref(),c=t.ref(!1),d=t.ref(!1);t.onMounted((()=>{d.value=!0})),t.onUnmounted((()=>{Ee()}));const h=t.computed((()=>({torch:a.torch,constraints:r.value,shouldStream:d.value&&!a.paused})));t.watch(h,(async e=>{const t=u.value;ke(void 0!==t,"cameraSettings watcher should never be triggered when component is not mounted. Thus video element should always be defined.");const n=s.value;ke(void 0!==n,"cameraSettings watcher should never be triggered when component is not mounted. Thus canvas should always be defined.");const a=n.getContext("2d");if(ke(null!==a,"if cavnas is defined, canvas 2d context should also be non-null"),e.shouldStream){Ee(),c.value=!1;try{const n=await async function(e,{constraints:t,torch:n,restart:a=!1}){Ce=Ce.then((i=>{if("start"===i.type){const{data:{videoEl:r,stream:o,constraints:s,isTorchOn:l}}=i;return a||e!==r||t!==s||n!==l?Me(r,o,l).then((()=>Te(e,t,n))):i}if("stop"===i.type||"failed"===i.type)return Te(e,t,n);xe()})).catch((e=>(console.debug(`[vue-qrcode-reader] starting camera failed with "${e}"`),{type:"failed",error:e})));const i=await Ce;if("stop"===i.type)throw new Error("Something went wrong with the camera task queue (start task).");if("failed"===i.type)throw i.error;if("start"===i.type)return i.data.capabilities;xe()}(t,e);d.value?(c.value=!0,i("camera-on",n)):await Ee()}catch(e){i("error",e)}}else n.width=t.videoWidth,n.height=t.videoHeight,a.drawImage(t,0,0,t.videoWidth,t.videoHeight),Ee(),c.value=!1,i("camera-off")}),{deep:!0}),t.watch(o,(async e=>{d.value&&await Q(e)}));const p=t.computed((()=>h.value.shouldStream&&c.value));t.watch(p,(e=>{if(e){ke(void 0!==s.value,"shouldScan watcher should only be triggered when component is mounted. Thus pause frame canvas is defined"),f(s.value),ke(void 0!==l.value,"shouldScan watcher should only be triggered when component is mounted. Thus tracking canvas is defined"),f(l.value);const e=()=>void 0===a.track?500:40;ke(void 0!==u.value,"shouldScan watcher should only be triggered when component is mounted. Thus video element is defined"),(async(e,{detectHandler:t,locateHandler:n,minDelay:a,formats:i})=>{console.debug("[vue-qrcode-reader] start scanning"),await Q(i);const r=i=>async o=>{if(0===e.readyState)console.debug("[vue-qrcode-reader] stop scanning: video element readyState is 0");else{const{lastScanned:s,contentBefore:l,lastScanHadContent:u}=i;if(o-s!l.includes(e.rawValue)));i&&t(a);const s=a.length>0;s&&n(a),!s&&u&&n(a);const c={lastScanned:o,lastScanHadContent:s,contentBefore:i?a.map((e=>e.rawValue)):l};window.requestAnimationFrame(r(c))}}};r({lastScanned:performance.now(),contentBefore:[],lastScanHadContent:!1})(performance.now())})(u.value,{detectHandler:e=>i("detect",e),formats:o.value,locateHandler:m,minDelay:e()})}}));const f=e=>{const t=e.getContext("2d");ke(null!==t,"canvas 2d context should always be non-null"),t.clearRect(0,0,e.width,e.height)},m=e=>{const t=l.value;ke(void 0!==t,"onLocate handler should only be called when component is mounted. Thus tracking canvas is always defined.");const n=u.value;if(ke(void 0!==n,"onLocate handler should only be called when component is mounted. Thus video element is always defined."),0===e.length||void 0===a.track)f(t);else{const i=n.offsetWidth,r=n.offsetHeight,o=n.videoWidth,s=n.videoHeight,l=Math.max(i/o,r/s),u=o*l,c=s*l,d=u/o,h=c/s,p=(i-u)/2,f=(r-c)/2,m=({x:e,y:t})=>({x:Math.floor(e*d),y:Math.floor(t*h)}),v=({x:e,y:t})=>({x:Math.floor(e+p),y:Math.floor(t+f)}),g=e.map((e=>{const{boundingBox:t,cornerPoints:n}=e,{x:a,y:i}=v(m({x:t.x,y:t.y})),{x:r,y:o}=m({x:t.width,y:t.height});return{...e,cornerPoints:n.map((e=>v(m(e)))),boundingBox:DOMRectReadOnly.fromRect({x:a,y:i,width:r,height:o})}}));t.width=n.offsetWidth,t.height=n.offsetHeight;const _=t.getContext("2d");a.track(g,_)}},v={width:"100%",height:"100%",position:"relative","z-index":"0"},g={width:"100%",height:"100%",position:"absolute",top:"0",left:"0"},_={width:"100%",height:"100%","object-fit":"cover"},b=t.computed((()=>p.value?_:{..._,visibility:"hidden",position:"absolute"}));return(e,n)=>(t.openBlock(),t.createElementBlock("div",{style:v},[t.createElementVNode("video",{ref_key:"videoRef",ref:u,style:t.normalizeStyle(b.value),autoplay:"",muted:"",playsinline:""},null,4),t.withDirectives(t.createElementVNode("canvas",{id:"qrcode-stream-pause-frame",ref_key:"pauseFrameRef",ref:s,style:_},null,512),[[t.vShow,!p.value]]),t.createElementVNode("canvas",{id:"qrcode-stream-tracking-layer",ref_key:"trackingLayerRef",ref:l,style:g},null,512),t.createElementVNode("div",{style:g},[t.renderSlot(e.$slots,"default")])]))}}),Ae=t.defineComponent({__name:"QrcodeCapture",props:{formats:{type:Array,default:()=>["qr_code"]}},emits:["detect"],setup(e,{emit:n}){const a=e,i=n,r=e=>{if(e.target instanceof HTMLInputElement&&e.target.files)for(const t of Array.from(e.target.files))K(t,a.formats).then((e=>{i("detect",e)}))};return(e,n)=>(t.openBlock(),t.createElementBlock("input",{onChange:r,type:"file",name:"image",accept:"image/*",capture:"environment",multiple:""},null,32))}}),Le=t.defineComponent({__name:"QrcodeDropZone",props:{formats:{type:Array,default:()=>["qr_code"]}},emits:["detect","dragover","error"],setup(e,{emit:n}){const a=e,i=n,r=async e=>{try{const t=await e;i("detect",t)}catch(e){i("error",e)}},o=e=>{i("dragover",e)},s=({dataTransfer:e})=>{if(!e)return;o(!1);const t=[...Array.from(e.files)],n=e.getData("text/uri-list");t.forEach((e=>{r(K(e))})),""!==n&&r(G(n,a.formats))};return(e,n)=>(t.openBlock(),t.createElementBlock("div",{onDrop:t.withModifiers(s,["prevent","stop"]),onDragenter:n[0]||(n[0]=t.withModifiers((e=>o(!0)),["prevent","stop"])),onDragleave:n[1]||(n[1]=t.withModifiers((e=>o(!1)),["prevent","stop"])),onDragover:n[2]||(n[2]=t.withModifiers((()=>{}),["prevent","stop"]))},[t.renderSlot(e.$slots,"default")],32))}});function Oe(e){e.component("qrcode-stream",Pe),e.component("qrcode-capture",Ae),e.component("qrcode-drop-zone",Le)}const Ne={install:Oe};e.QrcodeCapture=Ae,e.QrcodeDropZone=Le,e.QrcodeStream=Pe,e.VueQrcodeReader=Ne,e.install=Oe,e.setZXingModuleOverrides=function(e){return function(e,t){N.set(e,{moduleOverrides:t})}(I,e)},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})})), + */!function(e,t){"object"==typeof exports&&typeof module<"u"?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e=typeof globalThis<"u"?globalThis:e||self).VueQrcodeReader={},e.Vue)}(this,(function(e,t){"use strict";var n=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)},a=(e,t,a)=>(n(e,t,"read from private field"),a?a.call(e):t.get(e));const i=[["aztec","Aztec"],["code_128","Code128"],["code_39","Code39"],["code_93","Code93"],["codabar","Codabar"],["databar","DataBar"],["databar_expanded","DataBarExpanded"],["data_matrix","DataMatrix"],["dx_film_edge","DXFilmEdge"],["ean_13","EAN-13"],["ean_8","EAN-8"],["itf","ITF"],["maxi_code","MaxiCode"],["micro_qr_code","MicroQRCode"],["pdf417","PDF417"],["qr_code","QRCode"],["rm_qr_code","rMQRCode"],["upc_a","UPC-A"],["upc_e","UPC-E"],["linear_codes","Linear-Codes"],["matrix_codes","Matrix-Codes"]],r=[...i,["unknown"]].map((e=>e[0])),o=new Map(i);function s(e){for(const[t,n]of o)if(e===n)return t;return"unknown"}function l(e){try{return e instanceof HTMLImageElement}catch(e){return!1}}function u(e){try{return e instanceof SVGImageElement}catch(e){return!1}}function c(e){try{return e instanceof HTMLVideoElement}catch(e){return!1}}function d(e){try{return e instanceof HTMLCanvasElement}catch(e){return!1}}function h(e){try{return e instanceof ImageBitmap}catch(e){return!1}}function p(e){try{return e instanceof OffscreenCanvas}catch(e){return!1}}function f(e){try{return e instanceof VideoFrame}catch(e){return!1}}function m(e){try{return e instanceof Blob}catch(e){return!1}}async function g(e){if(l(e)&&!await async function(e){try{return await e.decode(),!0}catch(e){return!1}}(e))throw new DOMException("Failed to load or decode HTMLImageElement.","InvalidStateError");if(u(e)&&!await async function(e){var t;try{return await(null==(t=e.decode)?void 0:t.call(e)),!0}catch(e){return!1}}(e))throw new DOMException("Failed to load or decode SVGImageElement.","InvalidStateError");if(f(e)&&function(e){return null===e.format}(e))throw new DOMException("VideoFrame is closed.","InvalidStateError");if(c(e)&&(0===e.readyState||1===e.readyState))throw new DOMException("Invalid element or state.","InvalidStateError");if(h(e)&&function(e){return 0===e.width&&0===e.height}(e))throw new DOMException("The image source is detached.","InvalidStateError");const{width:t,height:n}=function(e){if(l(e))return{width:e.naturalWidth,height:e.naturalHeight};if(u(e))return{width:e.width.baseVal.value,height:e.height.baseVal.value};if(c(e))return{width:e.videoWidth,height:e.videoHeight};if(h(e))return{width:e.width,height:e.height};if(f(e))return{width:e.displayWidth,height:e.displayHeight};if(d(e))return{width:e.width,height:e.height};if(p(e))return{width:e.width,height:e.height};throw new TypeError("The provided value is not of type '(Blob or HTMLCanvasElement or HTMLImageElement or HTMLVideoElement or ImageBitmap or ImageData or OffscreenCanvas or SVGImageElement or VideoFrame)'.")}(e);if(0===t||0===n)return null;const a=function(e,t){try{const n=new OffscreenCanvas(e,t);if(n.getContext("2d")instanceof OffscreenCanvasRenderingContext2D)return n;throw void 0}catch(n){const a=document.createElement("canvas");return a.width=e,a.height=t,a}}(t,n).getContext("2d");a.drawImage(e,0,0);try{return a.getImageData(0,0,t,n)}catch(e){throw new DOMException("Source would taint origin.","SecurityError")}}async function v(e){if(m(e))return await async function(e){let t;try{if(globalThis.createImageBitmap)t=await createImageBitmap(e);else{if(!globalThis.Image)return e;{t=new Image;let n="";try{n=URL.createObjectURL(e),t.src=n,await t.decode()}finally{URL.revokeObjectURL(n)}}}}catch(e){throw new DOMException("Failed to load or decode Blob.","InvalidStateError")}return await g(t)}(e);if(function(e){try{return e instanceof ImageData}catch(e){return!1}}(e)){if(function(e){return 0===e.data.buffer.byteLength}(e))throw new DOMException("The image data has been detached.","InvalidStateError");return e}return d(e)||p(e)?function(e){const{width:t,height:n}=e;if(0===t||0===n)return null;const a=e.getContext("2d");try{return a.getImageData(0,0,t,n)}catch(e){throw new DOMException("Source would taint origin.","SecurityError")}}(e):await g(e)}function b(e,t){return e instanceof DOMException?new DOMException(`${t}: ${e.message}`,e.name):e instanceof Error?new e.constructor(`${t}: ${e.message}`):new Error(`${t}: ${e}`)}const _=["Aztec","Codabar","Code128","Code39","Code93","DataBar","DataBarExpanded","DataMatrix","DXFilmEdge","EAN-13","EAN-8","ITF","Linear-Codes","Matrix-Codes","MaxiCode","MicroQRCode","None","PDF417","QRCode","rMQRCode","UPC-A","UPC-E"];function y(e){return e.join("|")}function w(e){const t=k(e);let n=0,a=_.length-1;for(;n<=a;){const e=Math.floor((n+a)/2),i=_[e],r=k(i);if(r===t)return i;r{const n=e.match(/_(.+?)\.wasm$/);return n?`https://fastly.jsdelivr.net/npm/zxing-wasm@1.1.3/dist/${n[1]}/${e}`:t+e}};let N=new WeakMap;function R(e,t){var n;const a=N.get(e);if(null!=a&&a.modulePromise&&void 0===t)return a.modulePromise;const i=null!=(n=null==a?void 0:a.moduleOverrides)?n:O,r=e({...i});return N.set(e,{moduleOverrides:i,modulePromise:r}),r}M.formats;var I,z,q=(I=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0,function(e={}){var t,n,a=e;a.ready=new Promise(((e,a)=>{t=e,n=a}));var i=Object.assign({},a),r="./this.program",o="object"==typeof window,s="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var l,u="";(o||s)&&(s?u=self.location.href:typeof document<"u"&&document.currentScript&&(u=document.currentScript.src),I&&(u=I),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",s&&(l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)})),a.print||console.log.bind(console);var c,d=a.printErr||console.error.bind(console);Object.assign(a,i),i=null,a.arguments&&a.arguments,a.thisProgram&&(r=a.thisProgram),a.quit&&a.quit,a.wasmBinary&&(c=a.wasmBinary),"object"!=typeof WebAssembly&&A("no native wasm support detected");var h,p,f,m,g,v,b,_,y,w=!1;function k(){var e=h.buffer;a.HEAP8=p=new Int8Array(e),a.HEAP16=m=new Int16Array(e),a.HEAPU8=f=new Uint8Array(e),a.HEAPU16=g=new Uint16Array(e),a.HEAP32=v=new Int32Array(e),a.HEAPU32=b=new Uint32Array(e),a.HEAPF32=_=new Float32Array(e),a.HEAPF64=y=new Float64Array(e)}var x=[],S=[],C=[],E=0,T=null;function A(e){var t;null===(t=a.onAbort)||void 0===t||t.call(a,e),d(e="Aborted("+e+")"),w=!0,e+=". Build with -sASSERTIONS for more info.";var i=new WebAssembly.RuntimeError(e);throw n(i),i}var M,P,L=e=>e.startsWith("data:application/octet-stream;base64,");function O(e){if(e==M&&c)return new Uint8Array(c);if(l)return l(e);throw"both async and sync fetching of the wasm failed"}function N(e,t,n){return function(e){return c||!o&&!s||"function"!=typeof fetch?Promise.resolve().then((()=>O(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw"failed to load wasm binary file at '"+e+"'";return t.arrayBuffer()})).catch((()=>O(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(n,(e=>{d(`failed to asynchronously prepare wasm: ${e}`),A(e)}))}L(M="zxing_reader.wasm")||(P=M,M=a.locateFile?a.locateFile(P,u):u+P);var R=e=>{for(;e.length>0;)e.shift()(a)};a.noExitRuntime;var z=[],q=0,D=0;function j(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){b[this.ptr+4>>2]=e},this.get_type=function(){return b[this.ptr+4>>2]},this.set_destructor=function(e){b[this.ptr+8>>2]=e},this.get_destructor=function(){return b[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,p[this.ptr+12|0]=e},this.get_caught=function(){return 0!=p[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,p[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=p[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){b[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return b[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Nt(this.get_type()))return b[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var $=e=>{var t=D;if(!t)return Tt(0),0;var n=new j(t);n.set_adjusted_ptr(t);var a=n.get_type();if(!a)return Tt(0),t;for(var i in e){var r=e[i];if(0===r||r===a)break;var o=n.ptr+16;if(Ot(r,a,o))return Tt(r),t}return Tt(a),t},B={},F=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function V(e){return this.fromWireType(v[e>>2])}var U,H,W,Y={},Q={},K={},G=e=>{throw new U(e)},Z=(e,t,n)=>{function a(t){var a=n(t);a.length!==e.length&&G("Mismatched type converter count");for(var i=0;i{Q.hasOwnProperty(e)?i[t]=Q[e]:(r.push(e),Y.hasOwnProperty(e)||(Y[e]=[]),Y[e].push((()=>{i[t]=Q[e],++o===r.length&&a(i)})))})),0===r.length&&a(i)},J=e=>{for(var t="",n=e;f[n];)t+=H[f[n++]];return t},X=e=>{throw new W(e)};function ee(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var a=t.name;if(e||X(`type "${a}" must have a positive integer typeid pointer`),Q.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;X(`Cannot register type '${a}' twice`)}if(Q[e]=t,delete K[e],Y.hasOwnProperty(e)){var i=Y[e];delete Y[e],i.forEach((e=>e()))}}(e,t,n)}var te,ne=8,ae=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),ie=e=>{X(e.$$.ptrType.registeredClass.name+" instance already deleted")},re=!1,oe=e=>{},se=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},le=(e,t,n)=>{if(t===n)return e;if(void 0===n.baseClass)return null;var a=le(e,t,n.baseClass);return null===a?null:n.downcast(a)},ue={},ce=()=>Object.keys(me).length,de=()=>{var e=[];for(var t in me)me.hasOwnProperty(t)&&e.push(me[t]);return e},he=[],pe=()=>{for(;he.length;){var e=he.pop();e.$$.deleteScheduled=!1,e.delete()}},fe=e=>{te=e,he.length&&te&&te(pe)},me={},ge=(e,t)=>(t=((e,t)=>{for(void 0===t&&X("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),me[t]),ve=(e,t)=>((!t.ptrType||!t.ptr)&&G("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&G("Both smartPtrType and smartPtr must be specified"),t.count={value:1},_e(Object.create(e,{$$:{value:t,writable:!0}})));function be(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=ge(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var a=n.clone();return this.destructor(e),a}function i(){return this.isSmartPointer?ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var r,o=this.registeredClass.getActualType(t),s=ue[o];if(!s)return i.call(this);r=this.isConst?s.constPointerType:s.pointerType;var l=le(t,this.registeredClass,r.registeredClass);return null===l?i.call(this):this.isSmartPointer?ve(r.registeredClass.instancePrototype,{ptrType:r,ptr:l,smartPtrType:this,smartPtr:e}):ve(r.registeredClass.instancePrototype,{ptrType:r,ptr:l})}var _e=e=>typeof FinalizationRegistry>"u"?(_e=e=>e,e):(re=new FinalizationRegistry((e=>{se(e.$$)})),oe=e=>re.unregister(e),(_e=e=>{var t=e.$$;if(t.smartPtr){var n={$$:t};re.register(e,n,e)}return e})(e));function ye(){}var we=(e,t)=>Object.defineProperty(t,"name",{value:e}),ke=(e,t,n)=>{if(void 0===e[t].overloadTable){var a=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||X(`Function '${n}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[a.argCount]=a}},xe=(e,t,n)=>{a.hasOwnProperty(e)?((void 0===n||void 0!==a[e].overloadTable&&void 0!==a[e].overloadTable[n])&&X(`Cannot register public name '${e}' twice`),ke(a,e,e),a.hasOwnProperty(n)&&X(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),a[e].overloadTable[n]=t):(a[e]=t,void 0!==n&&(a[e].numArguments=n))};function Se(e,t,n,a,i,r,o,s){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=a,this.baseClass=i,this.getActualType=r,this.upcast=o,this.downcast=s,this.pureVirtualFunctions=[]}var Ce=(e,t,n)=>{for(;t!==n;)t.upcast||X(`Expected null or instance of ${n.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function Ee(e,t){if(null===t)return this.isReference&&X(`null is not a valid ${this.name}`),0;t.$$||X(`Cannot pass "${Ge(t)}" as a ${this.name}`),t.$$.ptr||X(`Cannot pass deleted object as a pointer of type ${this.name}`);var n=t.$$.ptrType.registeredClass;return Ce(t.$$.ptr,n,this.registeredClass)}function Te(e,t){var n;if(null===t)return this.isReference&&X(`null is not a valid ${this.name}`),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;(!t||!t.$$)&&X(`Cannot pass "${Ge(t)}" as a ${this.name}`),t.$$.ptr||X(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&X(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var a=t.$$.ptrType.registeredClass;if(n=Ce(t.$$.ptr,a,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&X("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:X(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Ye.toHandle((()=>i.delete()))),null!==e&&e.push(this.rawDestructor,n)}break;default:X("Unsupporting sharing policy")}return n}function Ae(e,t){if(null===t)return this.isReference&&X(`null is not a valid ${this.name}`),0;t.$$||X(`Cannot pass "${Ge(t)}" as a ${this.name}`),t.$$.ptr||X(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&X(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var n=t.$$.ptrType.registeredClass;return Ce(t.$$.ptr,n,this.registeredClass)}function Me(e){return this.fromWireType(b[e>>2])}function Pe(e,t,n,a,i,r,o,s,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=a,this.isSmartPointer=i,this.pointeeType=r,this.sharingPolicy=o,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=Te:a?(this.toWireType=Ee,this.destructorFunction=null):(this.toWireType=Ae,this.destructorFunction=null)}var Le,Oe,Ne=(e,t,n)=>{a.hasOwnProperty(e)||G("Replacing nonexistant public symbol"),void 0!==a[e].overloadTable&&void 0!==n?a[e].overloadTable[n]=t:(a[e]=t,a[e].argCount=n)},Re=[],Ie=e=>{var t=Re[e];return t||(e>=Re.length&&(Re.length=e+1),Re[e]=t=Le.get(e)),t},ze=(e,t,n)=>e.includes("j")?((e,t,n)=>{var i=a["dynCall_"+e];return n&&n.length?i.apply(null,[t].concat(n)):i.call(null,t)})(e,t,n):Ie(t).apply(null,n),qe=(e,t)=>{var n=(e=J(e)).includes("j")?((e,t)=>{var n=[];return function(){return n.length=0,Object.assign(n,arguments),ze(e,t,n)}})(e,t):Ie(t);return"function"!=typeof n&&X(`unknown function pointer with signature ${e}: ${t}`),n},De=e=>{var t=Ct(e),n=J(t);return xt(t),n},je=(e,t)=>{var n=[],a={};throw t.forEach((function e(t){if(!a[t]&&!Q[t]){if(K[t])return void K[t].forEach(e);n.push(t),a[t]=!0}})),new Oe(`${e}: `+n.map(De).join([", "]))},$e=(e,t)=>{for(var n=[],a=0;a>2]);return n};function Be(e,t,n,a,i,r){var o=t.length;o<2&&X("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==n,l=function(e){for(var t=1;t{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e};function Ve(){this.allocated=[void 0],this.freelist=[]}var Ue=new Ve,He=e=>{e>=Ue.reserved&&0==--Ue.get(e).refcount&&Ue.free(e)},We=()=>{for(var e=0,t=Ue.reserved;t(e||X("Cannot use deleted val. handle = "+e),Ue.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Ue.allocate({refcount:1,value:e})}}},Qe=(e,t,n)=>{switch(t){case 1:return n?function(e){return this.fromWireType(p[0|e])}:function(e){return this.fromWireType(f[0|e])};case 2:return n?function(e){return this.fromWireType(m[e>>1])}:function(e){return this.fromWireType(g[e>>1])};case 4:return n?function(e){return this.fromWireType(v[e>>2])}:function(e){return this.fromWireType(b[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ke=(e,t)=>{var n=Q[e];return void 0===n&&X(t+" has unknown type "+De(e)),n},Ge=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Ze=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(_[e>>2])};case 8:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Je=(e,t,n)=>{switch(t){case 1:return n?e=>p[0|e]:e=>f[0|e];case 2:return n?e=>m[e>>1]:e=>g[e>>1];case 4:return n?e=>v[e>>2]:e=>b[e>>2];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Xe=(e,t,n,a)=>{if(!(a>0))return 0;for(var i=n,r=n+a-1,o=0;o=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),s<=127){if(n>=r)break;t[n++]=s}else if(s<=2047){if(n+1>=r)break;t[n++]=192|s>>6,t[n++]=128|63&s}else if(s<=65535){if(n+2>=r)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|63&s}else{if(n+3>=r)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|63&s}}return t[n]=0,n-i},et=e=>{for(var t=0,n=0;n=55296&&a<=57343?(t+=4,++n):t+=3}return t},tt=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,nt=(e,t)=>e?((e,t,n)=>{for(var a=t+n,i=t;e[i]&&!(i>=a);)++i;if(i-t>16&&e.buffer&&tt)return tt.decode(e.subarray(t,i));for(var r="";t>10,56320|1023&u)}}else r+=String.fromCharCode((31&o)<<6|s)}else r+=String.fromCharCode(o)}return r})(f,e,t):"",at=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,it=(e,t)=>{for(var n=e,a=n>>1,i=a+t/2;!(a>=i)&&g[a];)++a;if((n=a<<1)-e>32&&at)return at.decode(f.subarray(e,n));for(var r="",o=0;!(o>=t/2);++o){var s=m[e+2*o>>1];if(0==s)break;r+=String.fromCharCode(s)}return r},rt=(e,t,n)=>{var a;if(null!==(a=n)&&void 0!==a||(n=2147483647),n<2)return 0;for(var i=t,r=(n-=2)<2*e.length?n/2:e.length,o=0;o>1]=s,t+=2}return m[t>>1]=0,t-i},ot=e=>2*e.length,st=(e,t)=>{for(var n=0,a="";!(n>=t/4);){var i=v[e+4*n>>2];if(0==i)break;if(++n,i>=65536){var r=i-65536;a+=String.fromCharCode(55296|r>>10,56320|1023&r)}else a+=String.fromCharCode(i)}return a},lt=(e,t,n)=>{var a;if(null!==(a=n)&&void 0!==a||(n=2147483647),n<4)return 0;for(var i=t,r=i+n-4,o=0;o=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o)),v[t>>2]=s,(t+=4)+4>r)break}return v[t>>2]=0,t-i},ut=e=>{for(var t=0,n=0;n=55296&&a<=57343&&++n,t+=4}return t},ct=[],dt={},ht=()=>{if("object"==typeof globalThis)return globalThis;function e(e){e.$$$embind_global$$$=e;var t="object"==typeof $$$embind_global$$$&&e.$$$embind_global$$$==e;return t||delete e.$$$embind_global$$$,t}if("object"==typeof $$$embind_global$$$||("object"==typeof global&&e(global)?$$$embind_global$$$=global:"object"==typeof self&&e(self)&&($$$embind_global$$$=self),"object"==typeof $$$embind_global$$$))return $$$embind_global$$$;throw Error("unable to get global object.")},pt=Reflect.construct,ft=e=>{var t=(e-h.buffer.byteLength+65535)/65536;try{return h.grow(t),k(),1}catch(e){}},mt={},gt=()=>{if(!gt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:r||"./this.program"};for(var t in mt)void 0===mt[t]?delete e[t]:e[t]=mt[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);gt.strings=n}return gt.strings},vt=e=>e%4==0&&(e%100!=0||e%400==0),bt=[31,29,31,30,31,30,31,31,30,31,30,31],_t=[31,28,31,30,31,30,31,31,30,31,30,31],yt=(e,t,n,a)=>{var i=b[a+40>>2],r={tm_sec:v[a>>2],tm_min:v[a+4>>2],tm_hour:v[a+8>>2],tm_mday:v[a+12>>2],tm_mon:v[a+16>>2],tm_year:v[a+20>>2],tm_wday:v[a+24>>2],tm_yday:v[a+28>>2],tm_isdst:v[a+32>>2],tm_gmtoff:v[a+36>>2],tm_zone:i?nt(i):""},o=nt(n),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)o=o.replace(new RegExp(l,"g"),s[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,n){for(var a="number"==typeof e?e.toString():e||"";a.length0?1:0}var a;return 0===(a=n(e.getFullYear()-t.getFullYear()))&&0===(a=n(e.getMonth()-t.getMonth()))&&(a=n(e.getDate()-t.getDate())),a}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function g(e){var t=((e,t)=>{for(var n=new Date(e.getTime());t>0;){var a=vt(n.getFullYear()),i=n.getMonth(),r=(a?bt:_t)[i];if(!(t>r-n.getDate()))return n.setDate(n.getDate()+t),n;t-=r-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n})(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),a=new Date(t.getFullYear()+1,0,4),i=m(n),r=m(a);return f(i,t)<=0?f(r,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var _={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>g(e).toString().substring(2),"%G":e=>g(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),h(t,2)},"%j":e=>h(e.tm_mday+((e,t)=>{for(var n=0,a=0;a<=t;n+=e[a++]);return n})(vt(e.tm_year+1900)?bt:_t,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return h(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4!=n&&(3!=n||!vt(e.tm_year))&&(t=1)}}else{t=52;var a=(e.tm_wday+7-e.tm_yday-1)%7;(4==a||5==a&&vt(e.tm_year%400-1))&&t++}return h(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff;return(t>=0?"+":"-")+("0000"+(t=(t=Math.abs(t)/60)/60*100+t%60)).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var l in o=o.replace(/%%/g,"\0\0"),_)o.includes(l)&&(o=o.replace(new RegExp(l,"g"),_[l](r)));var y=function(e){var t=et(e)+1,n=new Array(t);return Xe(e,n,0,n.length),n}(o=o.replace(/\0\0/g,"%"));return y.length>t?0:(((e,t)=>{p.set(e,t)})(y,e),y.length-1)};U=a.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);H=e})(),W=a.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(ye.prototype,{isAliasOf(e){if(!(this instanceof ye&&e instanceof ye))return!1;var t=this.$$.ptrType.registeredClass,n=this.$$.ptr;e.$$=e.$$;for(var a=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;a.baseClass;)i=a.upcast(i),a=a.baseClass;return t===a&&n===i},clone(){if(this.$$.ptr||ie(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=_e(Object.create(Object.getPrototypeOf(this),{$$:{value:ae(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&X("Object already scheduled for deletion"),oe(this),se(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&X("Object already scheduled for deletion"),he.push(this),1===he.length&&te&&te(pe),this.$$.deleteScheduled=!0,this}}),a.getInheritedInstanceCount=ce,a.getLiveInheritedInstances=de,a.flushPendingDeletes=pe,a.setDelayFunction=fe,Object.assign(Pe.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null===(t=this.rawDestructor)||void 0===t||t.call(this,e)},argPackAdvance:ne,readValueFromPointer:Me,deleteObject(e){null!==e&&e.delete()},fromWireType:be}),Oe=a.UnboundTypeError=((e,t)=>{var n=we(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},n})(Error,"UnboundTypeError"),Object.assign(Ve.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Ue.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Ue.reserved=Ue.allocated.length,a.count_emval_handles=We;var wt={s:e=>{var t=new j(e);return t.get_caught()||(t.set_caught(!0),q--),t.set_rethrown(!1),z.push(t),Lt(t.excPtr),t.get_exception_ptr()},u:()=>{Et(0,0);var e=z.pop();Pt(e.excPtr),D=0},b:()=>$([]),g:e=>$([e]),q:(e,t)=>$([e,t]),J:()=>{var e=z.pop();e||A("no exception to throw");var t=e.excPtr;throw e.get_rethrown()||(z.push(e),e.set_rethrown(!0),e.set_caught(!1),q++),D=t},f:(e,t,n)=>{throw new j(e).init(t,n),q++,D=e},V:()=>q,d:e=>{throw D||(D=e),D},da:e=>{var t=B[e];delete B[e];var n=t.rawConstructor,a=t.rawDestructor,i=t.fields,r=i.map((e=>e.getterReturnType)).concat(i.map((e=>e.setterArgumentType)));Z([e],r,(e=>{var r={};return i.forEach(((t,n)=>{var a=t.fieldName,o=e[n],s=t.getter,l=t.getterContext,u=e[n+i.length],c=t.setter,d=t.setterContext;r[a]={read:e=>o.fromWireType(s(l,e)),write:(e,t)=>{var n=[];c(d,e,u.toWireType(n,t)),F(n)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var n in r)t[n]=r[n].read(e);return a(e),t},toWireType:(e,t)=>{for(var i in r)if(!(i in t))throw new TypeError(`Missing field: "${i}"`);var o=n();for(i in r)r[i].write(o,t[i]);return null!==e&&e.push(a,o),o},argPackAdvance:ne,readValueFromPointer:V,destructorFunction:a}]}))},Q:(e,t,n,a,i)=>{},_:(e,t,n,a)=>{ee(e,{name:t=J(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?n:a},argPackAdvance:ne,readValueFromPointer:function(e){return this.fromWireType(f[e])},destructorFunction:null})},ca:(e,t,n,a,i,r,o,s,l,u,c,d,h)=>{c=J(c),r=qe(i,r),s&&(s=qe(o,s)),u&&(u=qe(l,u)),h=qe(d,h);var p=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);xe(p,(function(){je(`Cannot construct ${c} due to unbound types`,[a])})),Z([e,t,n],a?[a]:[],(function(t){var n,i;t=t[0],i=a?(n=t.registeredClass).instancePrototype:ye.prototype;var o=we(c,(function(){if(Object.getPrototypeOf(this)!==l)throw new W("Use 'new' to construct "+c);if(void 0===m.constructor_body)throw new W(c+" has no accessible constructor");var e=m.constructor_body[arguments.length];if(void 0===e)throw new W(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(m.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:o}});o.prototype=l;var d,f,m=new Se(c,o,l,h,n,r,s,u);m.baseClass&&(null!==(f=(d=m.baseClass).__derivedClasses)&&void 0!==f||(d.__derivedClasses=[]),m.baseClass.__derivedClasses.push(m));var g=new Pe(c,m,!0,!1,!1),v=new Pe(c+"*",m,!1,!1,!1),b=new Pe(c+" const*",m,!1,!0,!1);return ue[e]={pointerType:v,constPointerType:b},Ne(p,o),[g,v,b]}))},ba:(e,t,n,a,i,r)=>{var o=$e(t,n);i=qe(a,i),Z([],[e],(function(e){var n=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new W(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{je(`Cannot construct ${e.name} due to unbound types`,o)},Z([],o,(a=>(a.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Be(n,a,null,i,r),[]))),[]}))},w:(e,t,n,a,i,r,o,s,l)=>{var u=$e(n,a);t=J(t),t=Fe(t),r=qe(i,r),Z([],[e],(function(e){var a=`${(e=e[0]).name}.${t}`;function i(){je(`Cannot call ${a} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,c=l[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,l[t]=i):(ke(l,t,a),l[t].overloadTable[n-2]=i),Z([],u,(function(i){var s=Be(a,i,e,r,o);return void 0===l[t].overloadTable?(s.argCount=n-2,l[t]=s):l[t].overloadTable[n-2]=s,[]})),[]}))},Y:(e,t)=>{ee(e,{name:t=J(t),fromWireType:e=>{var t=Ye.toValue(e);return He(e),t},toWireType:(e,t)=>Ye.toHandle(t),argPackAdvance:ne,readValueFromPointer:V,destructorFunction:null})},x:(e,t,n,a)=>{function i(){}t=J(t),i.values={},ee(e,{name:t,constructor:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:ne,readValueFromPointer:Qe(t,n,a),destructorFunction:null}),xe(t,i)},h:(e,t,n)=>{var a=Ke(e,"enum");t=J(t);var i=a.constructor,r=Object.create(a.constructor.prototype,{value:{value:n},constructor:{value:we(`${a.name}_${t}`,(function(){}))}});i.values[n]=r,i[t]=r},L:(e,t,n)=>{ee(e,{name:t=J(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:ne,readValueFromPointer:Ze(t,n),destructorFunction:null})},M:(e,t,n,a,i,r,o)=>{var s=$e(t,n);e=J(e),e=Fe(e),i=qe(a,i),xe(e,(function(){je(`Cannot call ${e} due to unbound types`,s)}),t-1),Z([],s,(function(n){var a=[n[0],null].concat(n.slice(1));return Ne(e,Be(e,a,null,i,r),t-1),[]}))},t:(e,t,n,a,i)=>{t=J(t);var r=e=>e;if(0===a){var o=32-8*n;r=e=>e<>>o}var s=t.includes("unsigned");ee(e,{name:t,fromWireType:r,toWireType:s?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:ne,readValueFromPointer:Je(t,n,0!==a),destructorFunction:null})},o:(e,t,n)=>{var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=b[e>>2],n=b[e+4>>2];return new a(p.buffer,n,t)}ee(e,{name:n=J(n),fromWireType:i,argPackAdvance:ne,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},K:(e,t)=>{var n="std::string"===(t=J(t));ee(e,{name:t,fromWireType(e){var t,a=b[e>>2],i=e+4;if(n)for(var r=i,o=0;o<=a;++o){var s=i+o;if(o==a||0==f[s]){var l=nt(r,s-r);void 0===t?t=l:(t+="\0",t+=l),r=s+1}}else{var u=new Array(a);for(o=0;o>2]=a,n&&i)((e,t,n)=>{Xe(e,f,t,n)})(t,o,a+1);else if(i)for(var s=0;s255&&(xt(o),X("String has UTF-16 code units that do not fit in 8 bits")),f[o+s]=l}else for(s=0;s{var a,i,r,o,s;n=J(n),2===t?(a=it,i=rt,o=ot,r=()=>g,s=1):4===t&&(a=st,i=lt,o=ut,r=()=>b,s=2),ee(e,{name:n,fromWireType:e=>{for(var n,i=b[e>>2],o=r(),l=e+4,u=0;u<=i;++u){var c=e+4+u*t;if(u==i||0==o[c>>s]){var d=a(l,c-l);void 0===n?n=d:(n+="\0",n+=d),l=c+t}}return xt(e),n},toWireType:(e,a)=>{"string"!=typeof a&&X(`Cannot pass non-string to C++ string type ${n}`);var r=o(a),l=St(4+r+t);return b[l>>2]=r>>s,i(a,l+4,r+t),null!==e&&e.push(xt,l),l},argPackAdvance:ne,readValueFromPointer:V,destructorFunction(e){xt(e)}})},A:(e,t,n,a,i,r)=>{B[e]={name:J(t),rawConstructor:qe(n,a),rawDestructor:qe(i,r),fields:[]}},ea:(e,t,n,a,i,r,o,s,l,u)=>{B[e].fields.push({fieldName:J(t),getterReturnType:n,getter:qe(a,i),getterContext:r,setterArgumentType:o,setter:qe(s,l),setterContext:u})},$:(e,t)=>{ee(e,{isVoid:!0,name:t=J(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},R:(e,t,n,a)=>(e=ct[e])(null,t=Ye.toValue(t),n,a),ha:He,fa:e=>0===e?Ye.toHandle(ht()):(e=(e=>{var t=dt[e];return void 0===t?J(e):t})(e),Ye.toHandle(ht()[e])),Z:(e,t,n)=>{var a=((e,t)=>{for(var n=new Array(e),a=0;a>2],"parameter "+a);return n})(e,t),i=a.shift();e--;var r=new Array(e),o=`methodCaller<(${a.map((e=>e.name)).join(", ")}) => ${i.name}>`;return(e=>{var t=ct.length;return ct.push(e),t})(we(o,((t,o,s,l)=>{for(var u=0,c=0;c{var a=[],i=e.toWireType(a,n);return a.length&&(b[t>>2]=Ye.toHandle(a)),i})(i,s,d)})))},N:e=>{e>4&&(Ue.get(e).refcount+=1)},O:e=>{var t=Ye.toValue(e);F(t),He(e)},aa:(e,t)=>{var n=(e=Ke(e,"_emval_take_value")).readValueFromPointer(t);return Ye.toHandle(n)},B:()=>{A("")},X:(e,t,n)=>f.copyWithin(e,t,t+n),W:e=>{var t,n,a=f.length,i=2147483648;if((e>>>=0)>i)return!1;for(var r=1;r<=4;r*=2){var o=a*(1+.2/r);o=Math.min(o,e+100663296);var s=Math.min(i,(t=Math.max(e,o))+((n=65536)-t%n)%n);if(ft(s))return!0}return!1},T:(e,t)=>{var n=0;return gt().forEach(((a,i)=>{var r=t+n;b[e+4*i>>2]=r,((e,t)=>{for(var n=0;n{var n=gt();b[e>>2]=n.length;var a=0;return n.forEach((e=>a+=e.length+1)),b[t>>2]=a,0},E:function(e,t,n,a){var i=At();try{return Ie(e)(t,n,a)}catch(e){if(Mt(i),e!==e+0)throw e;Et(1,0)}},D:function(e,t,n,a,i){var r=At();try{return Ie(e)(t,n,a,i)}catch(e){if(Mt(r),e!==e+0)throw e;Et(1,0)}},F:function(e,t,n,a){var i=At();try{return Ie(e)(t,n,a)}catch(e){if(Mt(i),e!==e+0)throw e;Et(1,0)}},n:function(e){var t=At();try{return Ie(e)()}catch(e){if(Mt(t),e!==e+0)throw e;Et(1,0)}},a:function(e,t){var n=At();try{return Ie(e)(t)}catch(e){if(Mt(n),e!==e+0)throw e;Et(1,0)}},e:function(e,t,n){var a=At();try{return Ie(e)(t,n)}catch(e){if(Mt(a),e!==e+0)throw e;Et(1,0)}},m:function(e,t,n,a){var i=At();try{return Ie(e)(t,n,a)}catch(e){if(Mt(i),e!==e+0)throw e;Et(1,0)}},k:function(e,t,n,a,i){var r=At();try{return Ie(e)(t,n,a,i)}catch(e){if(Mt(r),e!==e+0)throw e;Et(1,0)}},H:function(e,t,n,a,i,r){var o=At();try{return Ie(e)(t,n,a,i,r)}catch(e){if(Mt(o),e!==e+0)throw e;Et(1,0)}},v:function(e,t,n,a,i,r,o){var s=At();try{return Ie(e)(t,n,a,i,r,o)}catch(e){if(Mt(s),e!==e+0)throw e;Et(1,0)}},G:function(e,t,n,a,i,r,o,s){var l=At();try{return Ie(e)(t,n,a,i,r,o,s)}catch(e){if(Mt(l),e!==e+0)throw e;Et(1,0)}},z:function(e,t,n,a,i,r,o,s,l,u,c,d){var h=At();try{return Ie(e)(t,n,a,i,r,o,s,l,u,c,d)}catch(e){if(Mt(h),e!==e+0)throw e;Et(1,0)}},P:function(e,t,n,a,i){var r=At();try{return It(e,t,n,a,i)}catch(e){if(Mt(r),e!==e+0)throw e;Et(1,0)}},l:function(e){var t=At();try{Ie(e)()}catch(e){if(Mt(t),e!==e+0)throw e;Et(1,0)}},j:function(e,t){var n=At();try{Ie(e)(t)}catch(e){if(Mt(n),e!==e+0)throw e;Et(1,0)}},c:function(e,t,n){var a=At();try{Ie(e)(t,n)}catch(e){if(Mt(a),e!==e+0)throw e;Et(1,0)}},p:function(e,t,n,a){var i=At();try{Ie(e)(t,n,a)}catch(e){if(Mt(i),e!==e+0)throw e;Et(1,0)}},I:function(e,t,n,a,i){var r=At();try{Ie(e)(t,n,a,i)}catch(e){if(Mt(r),e!==e+0)throw e;Et(1,0)}},r:function(e,t,n,a,i,r,o,s){var l=At();try{Ie(e)(t,n,a,i,r,o,s)}catch(e){if(Mt(l),e!==e+0)throw e;Et(1,0)}},i:function(e,t,n,a,i,r,o,s,l,u,c){var d=At();try{Ie(e)(t,n,a,i,r,o,s,l,u,c)}catch(e){if(Mt(d),e!==e+0)throw e;Et(1,0)}},y:function(e,t,n,a,i,r,o,s,l,u,c,d,h,p,f,m){var g=At();try{Ie(e)(t,n,a,i,r,o,s,l,u,c,d,h,p,f,m)}catch(e){if(Mt(g),e!==e+0)throw e;Et(1,0)}},ga:e=>e,S:(e,t,n,a,i)=>yt(e,t,n,a)},kt=function(){var e={a:wt};function t(e,t){return kt=e.exports,h=kt.ia,k(),Le=kt.ma,function(e){S.unshift(e)}(kt.ja),function(){var e;if(E--,null===(e=a.monitorRunDependencies)||void 0===e||e.call(a,E),0==E&&T){var t=T;T=null,t()}}(),kt}if(function(){var e;E++,null===(e=a.monitorRunDependencies)||void 0===e||e.call(a,E)}(),a.instantiateWasm)try{return a.instantiateWasm(e,t)}catch(e){d(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return function(e,t,n,a){return e||"function"!=typeof WebAssembly.instantiateStreaming||L(t)||"function"!=typeof fetch?N(t,n,a):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(a,(function(e){return d(`wasm streaming compile failed: ${e}`),d("falling back to ArrayBuffer instantiation"),N(t,n,a)}))))}(c,M,e,(function(e){t(e.instance)})).catch(n),{}}(),xt=a._free=e=>(xt=a._free=kt.ka)(e),St=a._malloc=e=>(St=a._malloc=kt.la)(e),Ct=e=>(Ct=kt.na)(e),Et=(e,t)=>(Et=kt.oa)(e,t),Tt=e=>(Tt=kt.pa)(e),At=()=>(At=kt.qa)(),Mt=e=>(Mt=kt.ra)(e),Pt=e=>(Pt=kt.sa)(e),Lt=e=>(Lt=kt.ta)(e),Ot=(e,t,n)=>(Ot=kt.ua)(e,t,n),Nt=e=>(Nt=kt.va)(e);a.dynCall_viijii=(e,t,n,i,r,o,s)=>(a.dynCall_viijii=kt.wa)(e,t,n,i,r,o,s);var Rt,It=a.dynCall_jiiii=(e,t,n,i,r)=>(It=a.dynCall_jiiii=kt.xa)(e,t,n,i,r);function zt(){function e(){Rt||(Rt=!0,a.calledRun=!0,!w&&(R(S),t(a),a.onRuntimeInitialized&&a.onRuntimeInitialized(),function(){if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;)e=a.postRun.shift(),C.unshift(e);var e;R(C)}()))}E>0||(function(){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)e=a.preRun.shift(),x.unshift(e);var e;R(x)}(),E>0)||(a.setStatus?(a.setStatus("Running..."),setTimeout((function(){setTimeout((function(){a.setStatus("")}),1),e()}),1)):e())}if(a.dynCall_iiiiij=(e,t,n,i,r,o,s)=>(a.dynCall_iiiiij=kt.ya)(e,t,n,i,r,o,s),a.dynCall_iiiiijj=(e,t,n,i,r,o,s,l,u)=>(a.dynCall_iiiiijj=kt.za)(e,t,n,i,r,o,s,l,u),a.dynCall_iiiiiijj=(e,t,n,i,r,o,s,l,u,c)=>(a.dynCall_iiiiiijj=kt.Aa)(e,t,n,i,r,o,s,l,u,c),T=function e(){Rt||zt(),Rt||(T=e)},a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);a.preInit.length>0;)a.preInit.pop()();return zt(),e.ready});async function D(e,t){return async function(e,t,n=M){const a={...M,...n},i=await R(e),{size:r}=t,o=new Uint8Array(await t.arrayBuffer()),s=i._malloc(r);i.HEAPU8.set(o,s);const l=i.readBarcodesFromImage(s,r,P(i,a));i._free(s);const u=[];for(let e=0;e{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)})(this,z,void 0);try{const a=null==(t=null==e?void 0:e.formats)?void 0:t.filter((e=>"unknown"!==e));if(0===(null==a?void 0:a.length))throw new TypeError("Hint option provided, but is empty.");null==a||a.forEach((e=>{if(!o.has(e))throw new TypeError(`Failed to read the 'formats' property from 'BarcodeDetectorOptions': The provided value '${e}' is not a valid enum value of type BarcodeFormat.`)})),((e,t,a)=>{n(e,t,"write to private field"),t.set(e,a)})(this,z,null!=a?a:[]),function(e){return R(q,e)}().then((e=>{this.dispatchEvent(new CustomEvent("load",{detail:e}))})).catch((e=>{this.dispatchEvent(new CustomEvent("error",{detail:e}))}))}catch(e){throw b(e,"Failed to construct 'BarcodeDetector'")}}static async getSupportedFormats(){return r.filter((e=>"unknown"!==e))}async detect(e){try{const t=await v(e);if(null===t)return[];let n;try{n=m(t)?await D(t,{tryHarder:!0,formats:a(this,z).map((e=>o.get(e)))}):await j(t,{tryHarder:!0,formats:a(this,z).map((e=>o.get(e)))})}catch(e){throw console.error(e),new DOMException("Barcode detection service unavailable.","NotSupportedError")}return n.map((e=>{const{topLeft:{x:t,y:n},topRight:{x:a,y:i},bottomLeft:{x:r,y:o},bottomRight:{x:l,y:u}}=e.position,c=Math.min(t,a,r,l),d=Math.min(n,i,o,u),h=Math.max(t,a,r,l),p=Math.max(n,i,o,u);return{boundingBox:new DOMRectReadOnly(c,d,h-c,p-d),rawValue:e.text,format:s(e.format),cornerPoints:[{x:t,y:n},{x:a,y:i},{x:l,y:u},{x:r,y:o}]}}))}catch(e){throw b(e,"Failed to execute 'detect' on 'BarcodeDetector'")}}}z=new WeakMap;const B=(e,t,n="error")=>{let a,i;const r=new Promise(((r,o)=>{a=r,i=o,e.addEventListener(t,a),e.addEventListener(n,i)}));return r.finally((()=>{e.removeEventListener(t,a),e.removeEventListener(n,i)})),r},F=e=>new Promise((t=>setTimeout(t,e)));class V extends Error{constructor(){super("can't process cross-origin image"),this.name="DropImageFetchError"}}class U extends Error{constructor(){super("this browser has no Stream API support"),this.name="StreamApiNotSupportedError"}}class H extends Error{constructor(){super("camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP."),this.name="InsecureContextError"}}class W extends Error{constructor(){super("Loading camera stream timed out after 6 seconds. If you are on iOS in PWA mode, this is a known issue (see https://github.com/gruhn/vue-qrcode-reader/issues/298)"),this.name="StreamLoadTimeoutError"}}let Y;async function Q(e){Y=await async function(e){if(void 0===window.BarcodeDetector)return console.debug("[vue-qrcode-reader] Native BarcodeDetector not supported. Will use polyfill."),new $({formats:e});const t=await window.BarcodeDetector.getSupportedFormats(),n=e.filter((e=>!t.includes(e)));return n.length>0?(console.debug(`[vue-qrcode-reader] Native BarcodeDetector does not support formats ${JSON.stringify(n)}. Will use polyfill.`),new $({formats:e})):(console.debug("[vue-qrcode-reader] Will use native BarcodeDetector."),new window.BarcodeDetector({formats:e}))}(e)}const K=async(e,t=["qr_code"])=>await new $({formats:t}).detect(e),G=async(e,t=["qr_code"])=>{const n=new $({formats:t}),a=await(async e=>{if(e.startsWith("http")&&!1===e.includes(location.host))throw new V;const t=document.createElement("img");return t.src=e,await B(t,"load"),t})(e);return await n.detect(a)};var Z={},J={};Object.defineProperty(J,"__esModule",{value:!0}),J.compactObject=function e(t){return ie(t)?Object.keys(t).reduce((function(n,a){var i=ie(t[a]),r=i?e(t[a]):t[a],o=i&&!Object.keys(r).length;return void 0===r||o?n:Object.assign(n,function(e,t,n){return t=function(e){var t=function(e,t){if("object"!==ee(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!==ee(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ee(t)?t:String(t)}(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},a,r))}),{}):t},J.deprecated=function(e,t){ne&&console.warn(e+" is deprecated, please use "+t+" instead.")};var X=J.detectBrowser=function(e){var t={browser:null,version:null};if(typeof e>"u"||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;var n=e.navigator;if(n.mozGetUserMedia)t.browser="firefox",t.version=ae(n.userAgent,/Firefox\/(\d+)\./,1);else if(n.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=ae(n.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!n.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=ae(n.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t};function ee(e){return(ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}J.disableLog=function(e){return"boolean"!=typeof e?new Error("Argument type: "+ee(e)+". Please use a boolean."):(te=e,e?"adapter.js logging disabled":"adapter.js logging enabled")},J.disableWarnings=function(e){return"boolean"!=typeof e?new Error("Argument type: "+ee(e)+". Please use a boolean."):(ne=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))},J.extractVersion=ae,J.filterStats=function(e,t,n){var a=n?"outbound-rtp":"inbound-rtp",i=new Map;if(null===t)return i;var r=[];return e.forEach((function(e){"track"===e.type&&e.trackIdentifier===t.id&&r.push(e)})),r.forEach((function(t){e.forEach((function(n){n.type===a&&n.trackId===t.id&&re(e,n,i)}))})),i},J.log=function(){if("object"===(typeof window>"u"?"undefined":ee(window))){if(te)return;typeof console<"u"&&"function"==typeof console.log&&console.log.apply(console,arguments)}},J.walkStats=re,J.wrapPeerConnectionEvent=function(e,t,n){if(e.RTCPeerConnection){var a=e.RTCPeerConnection.prototype,i=a.addEventListener;a.addEventListener=function(e,a){if(e!==t)return i.apply(this,arguments);var r=function(e){var t=n(e);t&&(a.handleEvent?a.handleEvent(t):a(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(a,r),i.apply(this,[e,r])};var r=a.removeEventListener;a.removeEventListener=function(e,n){if(e!==t||!this._eventMap||!this._eventMap[t])return r.apply(this,arguments);if(!this._eventMap[t].has(n))return r.apply(this,arguments);var a=this._eventMap[t].get(n);return this._eventMap[t].delete(n),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,r.apply(this,[e,a])},Object.defineProperty(a,"on"+t,{get:function(){return this["_on"+t]},set:function(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}};var te=!0,ne=!0;function ae(e,t,n){var a=e.match(t);return a&&a.length>=n&&parseInt(a[n],10)}function ie(e){return"[object Object]"===Object.prototype.toString.call(e)}function re(e,t,n){!t||n.has(t.id)||(n.set(t.id,t),Object.keys(t).forEach((function(a){a.endsWith("Id")?re(e,e.get(t[a]),n):a.endsWith("Ids")&&t[a].forEach((function(t){re(e,e.get(t),n)}))})))}Object.defineProperty(Z,"__esModule",{value:!0});var oe=Z.shimGetUserMedia=function(e,t){var n=e&&e.navigator;if(n.mediaDevices){var a=function(e){if("object"!==ue(e)||e.mandatory||e.optional)return e;var t={};return Object.keys(e).forEach((function(n){if("require"!==n&&"advanced"!==n&&"mediaSource"!==n){var a="object"===ue(e[n])?e[n]:{ideal:e[n]};void 0!==a.exact&&"number"==typeof a.exact&&(a.min=a.max=a.exact);var i=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==a.ideal){t.optional=t.optional||[];var r={};"number"==typeof a.ideal?(r[i("min",n)]=a.ideal,t.optional.push(r),(r={})[i("max",n)]=a.ideal,t.optional.push(r)):(r[i("",n)]=a.ideal,t.optional.push(r))}void 0!==a.exact&&"number"!=typeof a.exact?(t.mandatory=t.mandatory||{},t.mandatory[i("",n)]=a.exact):["min","max"].forEach((function(e){void 0!==a[e]&&(t.mandatory=t.mandatory||{},t.mandatory[i(e,n)]=a[e])}))}})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},i=function(e,i){if(t.version>=61)return i(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"===ue(e.audio)){var r=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])};r((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),r(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=a(e.audio)}if(e&&"object"===ue(e.video)){var o=e.video.facingMode;o=o&&("object"===ue(o)?o:{ideal:o});var s,l=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!n.mediaDevices.getSupportedConstraints||!n.mediaDevices.getSupportedConstraints().facingMode||l))if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?s=["back","rear"]:("user"===o.exact||"user"===o.ideal)&&(s=["front"]),s)return n.mediaDevices.enumerateDevices().then((function(t){var n=(t=t.filter((function(e){return"videoinput"===e.kind}))).find((function(e){return s.some((function(t){return e.label.toLowerCase().includes(t)}))}));return!n&&t.length&&s.includes("back")&&(n=t[t.length-1]),n&&(e.video.deviceId=o.exact?{exact:n.deviceId}:{ideal:n.deviceId}),e.video=a(e.video),ce("chrome: "+JSON.stringify(e)),i(e)}));e.video=a(e.video)}return ce("chrome: "+JSON.stringify(e)),i(e)},r=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString:function(){return this.name+(this.message&&": ")+this.message}}};if(n.getUserMedia=function(e,t,a){i(e,(function(e){n.webkitGetUserMedia(e,t,(function(e){a&&a(r(e))}))}))}.bind(n),n.mediaDevices.getUserMedia){var o=n.mediaDevices.getUserMedia.bind(n.mediaDevices);n.mediaDevices.getUserMedia=function(e){return i(e,(function(e){return o(e).then((function(t){if(e.audio&&!t.getAudioTracks().length||e.video&&!t.getVideoTracks().length)throw t.getTracks().forEach((function(e){e.stop()})),new DOMException("","NotFoundError");return t}),(function(e){return Promise.reject(r(e))}))}))}}}},se=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==ue(e)&&"function"!=typeof e)return{default:e};var n=le(t);if(n&&n.has(e))return n.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var o=i?Object.getOwnPropertyDescriptor(e,r):null;o&&(o.get||o.set)?Object.defineProperty(a,r,o):a[r]=e[r]}return a.default=e,n&&n.set(e,a),a}(J);function le(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(le=function(e){return e?n:t})(e)}function ue(e){return(ue="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ce=se.log;var de={};Object.defineProperty(de,"__esModule",{value:!0});var he=de.shimGetUserMedia=function(e,t){var n=e&&e.navigator,a=e&&e.MediaStreamTrack;if(n.getUserMedia=function(e,t,a){pe.deprecated("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),n.mediaDevices.getUserMedia(e).then(t,a)},!(t.version>55&&"autoGainControl"in n.mediaDevices.getSupportedConstraints())){var i=function(e,t,n){t in e&&!(n in e)&&(e[n]=e[t],delete e[t])},r=n.mediaDevices.getUserMedia.bind(n.mediaDevices);if(n.mediaDevices.getUserMedia=function(e){return"object"===me(e)&&"object"===me(e.audio)&&(e=JSON.parse(JSON.stringify(e)),i(e.audio,"autoGainControl","mozAutoGainControl"),i(e.audio,"noiseSuppression","mozNoiseSuppression")),r(e)},a&&a.prototype.getSettings){var o=a.prototype.getSettings;a.prototype.getSettings=function(){var e=o.apply(this,arguments);return i(e,"mozAutoGainControl","autoGainControl"),i(e,"mozNoiseSuppression","noiseSuppression"),e}}if(a&&a.prototype.applyConstraints){var s=a.prototype.applyConstraints;a.prototype.applyConstraints=function(e){return"audio"===this.kind&&"object"===me(e)&&(e=JSON.parse(JSON.stringify(e)),i(e,"autoGainControl","mozAutoGainControl"),i(e,"noiseSuppression","mozNoiseSuppression")),s.apply(this,[e])}}}},pe=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==me(e)&&"function"!=typeof e)return{default:e};var n=fe(t);if(n&&n.has(e))return n.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var o=i?Object.getOwnPropertyDescriptor(e,r):null;o&&(o.get||o.set)?Object.defineProperty(a,r,o):a[r]=e[r]}return a.default=e,n&&n.set(e,a),a}(J);function fe(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(fe=function(e){return e?n:t})(e)}function me(e){return(me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var ge={};Object.defineProperty(ge,"__esModule",{value:!0}),ge.shimAudioContext=function(e){"object"!==ye(e)||e.AudioContext||(e.AudioContext=e.webkitAudioContext)},ge.shimCallbacksAPI=function(e){if("object"===ye(e)&&e.RTCPeerConnection){var t=e.RTCPeerConnection.prototype,n=t.createOffer,a=t.createAnswer,i=t.setLocalDescription,r=t.setRemoteDescription,o=t.addIceCandidate;t.createOffer=function(e,t){var a=arguments.length>=2?arguments[2]:arguments[0],i=n.apply(this,[a]);return t?(i.then(e,t),Promise.resolve()):i},t.createAnswer=function(e,t){var n=arguments.length>=2?arguments[2]:arguments[0],i=a.apply(this,[n]);return t?(i.then(e,t),Promise.resolve()):i};var s=function(e,t,n){var a=i.apply(this,[e]);return n?(a.then(t,n),Promise.resolve()):a};t.setLocalDescription=s,s=function(e,t,n){var a=r.apply(this,[e]);return n?(a.then(t,n),Promise.resolve()):a},t.setRemoteDescription=s,s=function(e,t,n){var a=o.apply(this,[e]);return n?(a.then(t,n),Promise.resolve()):a},t.addIceCandidate=s}},ge.shimConstraints=we,ge.shimCreateOfferLegacy=function(e){var t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){typeof e.offerToReceiveAudio<"u"&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);var n=this.getTransceivers().find((function(e){return"audio"===e.receiver.track.kind}));!1===e.offerToReceiveAudio&&n?"sendrecv"===n.direction?n.setDirection?n.setDirection("sendonly"):n.direction="sendonly":"recvonly"===n.direction&&(n.setDirection?n.setDirection("inactive"):n.direction="inactive"):!0===e.offerToReceiveAudio&&!n&&this.addTransceiver("audio",{direction:"recvonly"}),typeof e.offerToReceiveVideo<"u"&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);var a=this.getTransceivers().find((function(e){return"video"===e.receiver.track.kind}));!1===e.offerToReceiveVideo&&a?"sendrecv"===a.direction?a.setDirection?a.setDirection("sendonly"):a.direction="sendonly":"recvonly"===a.direction&&(a.setDirection?a.setDirection("inactive"):a.direction="inactive"):!0===e.offerToReceiveVideo&&!a&&this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}};var ve=ge.shimGetUserMedia=function(e){var t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){var n=t.mediaDevices,a=n.getUserMedia.bind(n);t.mediaDevices.getUserMedia=function(e){return a(we(e))}}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,n,a){t.mediaDevices.getUserMedia(e).then(n,a)}.bind(t))};ge.shimLocalStreamsAPI=function(e){if("object"===ye(e)&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){var t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){var n=this;this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((function(a){return t.call(n,a,e)})),e.getVideoTracks().forEach((function(a){return t.call(n,a,e)}))},e.RTCPeerConnection.prototype.addTrack=function(e){for(var n=this,a=arguments.length,i=new Array(a>1?a-1:0),r=1;r=0)){e._remoteStreams.push(t);var n=new Event("addstream");n.stream=t,e.dispatchEvent(n)}}))}),t.apply(e,arguments)}}},ge.shimTrackEventTransceiver=function(e){"object"===ye(e)&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get:function(){return{receiver:this.receiver}}})};var be=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!==ye(e)&&"function"!=typeof e)return{default:e};var n=_e(t);if(n&&n.has(e))return n.get(e);var a={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in e)if("default"!==r&&Object.prototype.hasOwnProperty.call(e,r)){var o=i?Object.getOwnPropertyDescriptor(e,r):null;o&&(o.get||o.set)?Object.defineProperty(a,r,o):a[r]=e[r]}return a.default=e,n&&n.set(e,a),a}(J);function _e(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(_e=function(e){return e?n:t})(e)}function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function we(e){return e&&void 0!==e.video?Object.assign({},e,{video:be.compactObject(e.video)}):e}function ke(e,t){if(!1===e)throw new Error(null!=t?t:"assertion failure")}function xe(e){throw new Error("this code should be unreachable")}const Se=(e=>{let t,n=!1;return(...a)=>(n||(t=e(a),n=!0),t)})((()=>{const e=X(window);switch(e.browser){case"chrome":oe(window,e);break;case"firefox":he(window,e);break;case"safari":ve(window,e);break;default:throw new U}}));let Ce=Promise.resolve({type:"stop",data:{}});async function Ee(e,t,n){var a,i,r;if(console.debug("[vue-qrcode-reader] starting camera with constraints: ",JSON.stringify(t)),!0!==window.isSecureContext)throw new H;if(void 0===(null==(a=null==navigator?void 0:navigator.mediaDevices)?void 0:a.getUserMedia))throw new U;Se(),console.debug("[vue-qrcode-reader] calling getUserMedia");const o=await navigator.mediaDevices.getUserMedia({audio:!1,video:t});void 0!==e.srcObject?e.srcObject=o:void 0!==e.mozSrcObject?e.mozSrcObject=o:window.URL.createObjectURL?e.src=window.URL.createObjectURL(o):window.webkitURL?e.src=window.webkitURL.createObjectURL(o):e.src=o.id,e.play(),console.debug("[vue-qrcode-reader] waiting for video element to load"),await Promise.race([B(e,"loadeddata"),F(6e3).then((()=>{throw new W}))]),console.debug("[vue-qrcode-reader] video element loaded"),await F(500);const[s]=o.getVideoTracks(),l=null!=(r=null==(i=null==s?void 0:s.getCapabilities)?void 0:i.call(s))?r:{};let u=!1;return n&&l.torch&&(await s.applyConstraints({advanced:[{torch:!0}]}),u=!0),console.debug("[vue-qrcode-reader] camera ready"),{type:"start",data:{videoEl:e,stream:o,capabilities:l,constraints:t,isTorchOn:u}}}async function Te(e,t,n){console.debug("[vue-qrcode-reader] stopping camera"),e.src="",e.srcObject=null,e.load(),await B(e,"error");for(const e of t.getTracks())null!=n||await e.applyConstraints({advanced:[{torch:!1}]}),t.removeTrack(e),e.stop();return{type:"stop",data:{}}}async function Ae(){if(Ce=Ce.then((e=>{if("stop"===e.type||"failed"===e.type)return e;const{data:{videoEl:t,stream:n,isTorchOn:a}}=e;return Te(t,n,a)})),"start"===(await Ce).type)throw new Error("Something went wrong with the camera task queue (stop task).")}const Me=t.defineComponent({__name:"QrcodeStream",props:{constraints:{type:Object,default:()=>({facingMode:"environment"})},formats:{type:Array,default:()=>["qr_code"]},paused:{type:Boolean,default:!1},torch:{type:Boolean,default:!1},track:{type:Function}},emits:["detect","camera-on","camera-off","error"],setup(e,{emit:n}){const a=e,i=n,r=t.ref(a.constraints),o=t.ref(a.formats);t.watch((()=>a.constraints),((e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&(r.value=e)}),{deep:!0}),t.watch((()=>a.formats),((e,t)=>{JSON.stringify(e)!==JSON.stringify(t)&&(o.value=e)}),{deep:!0});const s=t.ref(),l=t.ref(),u=t.ref(),c=t.ref(!1),d=t.ref(!1);t.onMounted((()=>{d.value=!0})),t.onUnmounted((()=>{Ae()}));const h=t.computed((()=>({torch:a.torch,constraints:r.value,shouldStream:d.value&&!a.paused})));t.watch(h,(async e=>{const t=u.value;ke(void 0!==t,"cameraSettings watcher should never be triggered when component is not mounted. Thus video element should always be defined.");const n=s.value;ke(void 0!==n,"cameraSettings watcher should never be triggered when component is not mounted. Thus canvas should always be defined.");const a=n.getContext("2d");if(ke(null!==a,"if cavnas is defined, canvas 2d context should also be non-null"),e.shouldStream){Ae(),c.value=!1;try{const n=await async function(e,{constraints:t,torch:n,restart:a=!1}){Ce=Ce.then((i=>{if("start"===i.type){const{data:{videoEl:r,stream:o,constraints:s,isTorchOn:l}}=i;return a||e!==r||t!==s||n!==l?Te(r,o,l).then((()=>Ee(e,t,n))):i}if("stop"===i.type||"failed"===i.type)return Ee(e,t,n);xe()})).catch((e=>(console.debug(`[vue-qrcode-reader] starting camera failed with "${e}"`),{type:"failed",error:e})));const i=await Ce;if("stop"===i.type)throw new Error("Something went wrong with the camera task queue (start task).");if("failed"===i.type)throw i.error;if("start"===i.type)return i.data.capabilities;xe()}(t,e);d.value?(c.value=!0,i("camera-on",n)):await Ae()}catch(e){i("error",e)}}else n.width=t.videoWidth,n.height=t.videoHeight,a.drawImage(t,0,0,t.videoWidth,t.videoHeight),Ae(),c.value=!1,i("camera-off")}),{deep:!0}),t.watch(o,(async e=>{d.value&&await Q(e)}));const p=t.computed((()=>h.value.shouldStream&&c.value));t.watch(p,(e=>{if(e){ke(void 0!==s.value,"shouldScan watcher should only be triggered when component is mounted. Thus pause frame canvas is defined"),f(s.value),ke(void 0!==l.value,"shouldScan watcher should only be triggered when component is mounted. Thus tracking canvas is defined"),f(l.value);const e=()=>void 0===a.track?500:40;ke(void 0!==u.value,"shouldScan watcher should only be triggered when component is mounted. Thus video element is defined"),(async(e,{detectHandler:t,locateHandler:n,minDelay:a,formats:i})=>{console.debug("[vue-qrcode-reader] start scanning"),await Q(i);const r=i=>async o=>{if(0===e.readyState)console.debug("[vue-qrcode-reader] stop scanning: video element readyState is 0");else{const{lastScanned:s,contentBefore:l,lastScanHadContent:u}=i;if(o-s!l.includes(e.rawValue)));i&&t(a);const s=a.length>0;s&&n(a),!s&&u&&n(a);const c={lastScanned:o,lastScanHadContent:s,contentBefore:i?a.map((e=>e.rawValue)):l};window.requestAnimationFrame(r(c))}}};r({lastScanned:performance.now(),contentBefore:[],lastScanHadContent:!1})(performance.now())})(u.value,{detectHandler:e=>i("detect",e),formats:o.value,locateHandler:m,minDelay:e()})}}));const f=e=>{const t=e.getContext("2d");ke(null!==t,"canvas 2d context should always be non-null"),t.clearRect(0,0,e.width,e.height)},m=e=>{const t=l.value;ke(void 0!==t,"onLocate handler should only be called when component is mounted. Thus tracking canvas is always defined.");const n=u.value;if(ke(void 0!==n,"onLocate handler should only be called when component is mounted. Thus video element is always defined."),0===e.length||void 0===a.track)f(t);else{const i=n.offsetWidth,r=n.offsetHeight,o=n.videoWidth,s=n.videoHeight,l=Math.max(i/o,r/s),u=o*l,c=s*l,d=u/o,h=c/s,p=(i-u)/2,f=(r-c)/2,m=({x:e,y:t})=>({x:Math.floor(e*d),y:Math.floor(t*h)}),g=({x:e,y:t})=>({x:Math.floor(e+p),y:Math.floor(t+f)}),v=e.map((e=>{const{boundingBox:t,cornerPoints:n}=e,{x:a,y:i}=g(m({x:t.x,y:t.y})),{x:r,y:o}=m({x:t.width,y:t.height});return{...e,cornerPoints:n.map((e=>g(m(e)))),boundingBox:DOMRectReadOnly.fromRect({x:a,y:i,width:r,height:o})}}));t.width=n.offsetWidth,t.height=n.offsetHeight;const b=t.getContext("2d");a.track(v,b)}},g={width:"100%",height:"100%",position:"relative","z-index":"0"},v={width:"100%",height:"100%",position:"absolute",top:"0",left:"0"},b={width:"100%",height:"100%","object-fit":"cover"},_=t.computed((()=>p.value?b:{...b,visibility:"hidden",position:"absolute"}));return(e,n)=>(t.openBlock(),t.createElementBlock("div",{style:g},[t.createElementVNode("video",{ref_key:"videoRef",ref:u,style:t.normalizeStyle(_.value),autoplay:"",muted:"",playsinline:""},null,4),t.withDirectives(t.createElementVNode("canvas",{id:"qrcode-stream-pause-frame",ref_key:"pauseFrameRef",ref:s,style:b},null,512),[[t.vShow,!p.value]]),t.createElementVNode("canvas",{id:"qrcode-stream-tracking-layer",ref_key:"trackingLayerRef",ref:l,style:v},null,512),t.createElementVNode("div",{style:v},[t.renderSlot(e.$slots,"default")])]))}}),Pe=t.defineComponent({__name:"QrcodeCapture",props:{formats:{type:Array,default:()=>["qr_code"]}},emits:["detect"],setup(e,{emit:n}){const a=e,i=n,r=e=>{if(e.target instanceof HTMLInputElement&&e.target.files)for(const t of Array.from(e.target.files))K(t,a.formats).then((e=>{i("detect",e)}))};return(e,n)=>(t.openBlock(),t.createElementBlock("input",{onChange:r,type:"file",name:"image",accept:"image/*",capture:"environment",multiple:""},null,32))}}),Le=t.defineComponent({__name:"QrcodeDropZone",props:{formats:{type:Array,default:()=>["qr_code"]}},emits:["detect","dragover","error"],setup(e,{emit:n}){const a=e,i=n,r=async e=>{try{const t=await e;i("detect",t)}catch(e){i("error",e)}},o=e=>{i("dragover",e)},s=({dataTransfer:e})=>{if(!e)return;o(!1);const t=[...Array.from(e.files)],n=e.getData("text/uri-list");t.forEach((e=>{r(K(e))})),""!==n&&r(G(n,a.formats))};return(e,n)=>(t.openBlock(),t.createElementBlock("div",{onDrop:t.withModifiers(s,["prevent","stop"]),onDragenter:n[0]||(n[0]=t.withModifiers((e=>o(!0)),["prevent","stop"])),onDragleave:n[1]||(n[1]=t.withModifiers((e=>o(!1)),["prevent","stop"])),onDragover:n[2]||(n[2]=t.withModifiers((()=>{}),["prevent","stop"]))},[t.renderSlot(e.$slots,"default")],32))}});function Oe(e){e.component("qrcode-stream",Me),e.component("qrcode-capture",Pe),e.component("qrcode-drop-zone",Le)}const Ne={install:Oe};e.QrcodeCapture=Pe,e.QrcodeDropZone=Le,e.QrcodeStream=Me,e.VueQrcodeReader=Ne,e.install=Oe,e.setZXingModuleOverrides=function(e){return function(e,t){N.set(e,{moduleOverrides:t})}(q,e)},Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})})), /*! * qrcode.vue v3.4.1 * A Vue.js component to generate QRCode. * © 2017-2023 @scopewu(https://github.com/scopewu) * MIT License. */ -function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).QrcodeVue=t(e.Vue)}(this,(function(e){"use strict";var t,n=function(){return n=Object.assign||function(e){for(var t,n=1,a=arguments.length;nt.MAX_VERSION)throw new RangeError("Version value out of range");if(r<-1||r>7)throw new RangeError("Mask value out of range");this.size=4*e+17;for(var o=[],s=0;s7)throw new RangeError("Invalid value");var c,d;for(c=o;;c++){var h=8*t.getNumDataCodewords(c,a),p=r.getTotalBits(e,c);if(p<=h){d=p;break}if(c>=s)throw new RangeError("Data too long")}for(var f=0,m=[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH];f>>3]|=e<<7-(7&t)})),new t(c,a,T,l)},t.prototype.getModule=function(e,t){return 0<=e&&e>>9);var o=21522^(t<<10|n);i(o>>>15==0);for(r=0;r<=5;r++)this.setFunctionModule(8,r,a(o,r));this.setFunctionModule(8,7,a(o,6)),this.setFunctionModule(8,8,a(o,7)),this.setFunctionModule(7,8,a(o,8));for(r=9;r<15;r++)this.setFunctionModule(14-r,8,a(o,r));for(r=0;r<8;r++)this.setFunctionModule(this.size-1-r,8,a(o,r));for(r=8;r<15;r++)this.setFunctionModule(8,this.size-15+r,a(o,r));this.setFunctionModule(8,this.size-8,!0)},t.prototype.drawVersion=function(){if(!(this.version<7)){for(var e=this.version,t=0;t<12;t++)e=e<<1^7973*(e>>>11);var n=this.version<<12|e;i(n>>>18==0);for(t=0;t<18;t++){var r=a(n,t),o=this.size-11+t%3,s=Math.floor(t/3);this.setFunctionModule(o,s,r),this.setFunctionModule(s,o,r)}}},t.prototype.drawFinderPattern=function(e,t){for(var n=-4;n<=4;n++)for(var a=-4;a<=4;a++){var i=Math.max(Math.abs(a),Math.abs(n)),r=e+a,o=t+n;0<=r&&r=l)&&v.push(t[e])}))};for(h=0;h=1;r-=2){6==r&&(r=5);for(var o=0;o>>3],7-(7&n)),n++)}}i(n==8*e.length)},t.prototype.applyMask=function(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(var t=0;t5&&e++:(this.finderPenaltyAddHistory(r,o),a||(e+=this.finderPenaltyCountPatterns(o)*t.PENALTY_N3),a=this.modules[n][s],r=1);e+=this.finderPenaltyTerminateAndCount(a,r,o)*t.PENALTY_N3}for(s=0;s5&&e++:(this.finderPenaltyAddHistory(l,o),a||(e+=this.finderPenaltyCountPatterns(o)*t.PENALTY_N3),a=this.modules[n][s],l=1);e+=this.finderPenaltyTerminateAndCount(a,l,o)*t.PENALTY_N3}for(n=0;nt.MAX_VERSION)throw new RangeError("Version number out of range");var n=(16*e+128)*e+64;if(e>=2){var a=Math.floor(e/7)+2;n-=(25*a-10)*a-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n},t.getNumDataCodewords=function(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]},t.reedSolomonComputeDivisor=function(e){if(e<1||e>255)throw new RangeError("Degree out of range");for(var n=[],a=0;a>>8!=0||t>>>8!=0)throw new RangeError("Byte out of range");for(var n=0,a=7;a>=0;a--)n=n<<1^285*(n>>>7),n^=(t>>>a&1)*e;return i(n>>>8==0),n},t.prototype.finderPenaltyCountPatterns=function(e){var t=e[1];i(t<=3*this.size);var n=t>0&&e[2]==t&&e[3]==3*t&&e[4]==t&&e[5]==t;return(n&&e[0]>=4*t&&e[6]>=t?1:0)+(n&&e[6]>=4*t&&e[0]>=t?1:0)},t.prototype.finderPenaltyTerminateAndCount=function(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)},t.prototype.finderPenaltyAddHistory=function(e,t){0==t[0]&&(e+=this.size),t.pop(),t.unshift(e)},t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],t}();function n(e,t,n){if(t<0||t>31||e>>>t!=0)throw new RangeError("Value out of range");for(var a=t-1;a>=0;a--)n.push(e>>>a&1)}function a(e,t){return!!(e>>>t&1)}function i(e){if(!e)throw new Error("Assertion error")}e.QrCode=t;var r=function(){function e(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw new RangeError("Invalid argument");this.bitData=n.slice()}return e.makeBytes=function(t){for(var a=[],i=0,r=t;i=1<-1}}}),c=e.defineComponent({name:"QRCodeSvg",props:l,setup:function(t){var n=e.ref(0),r=e.ref(""),o=function(){var e=t.value,o=t.level,l=t.margin,u=a.QrCode.encodeText(e,i[o]).getModules();n.value=u.length+2*l,r.value=s(u,l)};return o(),e.onUpdated(o),function(){return e.h("svg",{width:t.size,height:t.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(n.value," ").concat(n.value)},[e.h("path",{fill:t.background,d:"M0,0 h".concat(n.value,"v").concat(n.value,"H0z")}),e.h("path",{fill:t.foreground,d:r.value})])}}}),d=e.defineComponent({name:"QRCodeCanvas",props:l,setup:function(t){var n=e.ref(null),o=function(){var e=t.value,o=t.level,l=t.size,u=t.margin,c=t.background,d=t.foreground,h=n.value;if(h){var p=h.getContext("2d");if(p){var f=a.QrCode.encodeText(e,i[o]).getModules(),m=f.length+2*u,v=window.devicePixelRatio||1,g=l/m*v;h.height=h.width=l*v,p.scale(g,g),p.fillStyle=c,p.fillRect(0,0,m,m),p.fillStyle=d,r?p.fill(new Path2D(s(f,u))):f.forEach((function(e,t){e.forEach((function(e,n){e&&p.fillRect(n+u,t+u,1,1)}))}))}}};return e.onMounted(o),e.onUpdated(o),function(){return e.h("canvas",{ref:n,style:{width:"".concat(t.size,"px"),height:"".concat(t.size,"px")}})}}});return e.defineComponent({name:"Qrcode",render:function(){var t=this.$props,n=t.renderAs,a=t.value,i=t.size,r=t.margin,s=t.level,l=t.background,u=t.foreground,h=i>>>0,p=r>>>0,f=o(s)?s:"H";return e.h("svg"===n?c:d,{value:a,size:h,margin:p,level:f,background:l,foreground:u})},props:u})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Chart=t()}(this,(function(){"use strict";var e=Object.freeze({__proto__:null,get Colors(){return Nr},get Decimation(){return qr},get Filler(){return Jr},get Legend(){return ao},get SubTitle(){return so},get Title(){return ro},get Tooltip(){return xo}});function t(){}const n=(()=>{let e=0;return()=>e++})();function a(e){return null==e}function i(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return"[object"===t.slice(0,7)&&"Array]"===t.slice(-6)}function r(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){return("number"==typeof e||e instanceof Number)&&isFinite(+e)}function s(e,t){return o(e)?e:t}function l(e,t){return void 0===e?t:e}const u=(e,t)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100:+e/t,c=(e,t)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100*t:+e;function d(e,t,n){if(e&&"function"==typeof e.call)return e.apply(n,t)}function h(e,t,n,a){let o,s,l;if(i(e))if(s=e.length,a)for(o=s-1;o>=0;o--)t.call(n,e[o],o);else for(o=0;oe,x:e=>e.x,y:e=>e.y};function w(e){const t=e.split("."),n=[];let a="";for(const e of t)a+=e,a.endsWith("\\")?a=a.slice(0,-1)+".":(n.push(a),a="");return n}function k(e,t){const n=y[t]||(y[t]=function(e){const t=w(e);return e=>{for(const n of t){if(""===n)break;e=e&&e[n]}return e}}(t));return n(e)}function x(e){return e.charAt(0).toUpperCase()+e.slice(1)}const S=e=>void 0!==e,C=e=>"function"==typeof e,T=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function M(e){return"mouseup"===e.type||"click"===e.type||"contextmenu"===e.type}const E=Math.PI,P=2*E,A=P+E,L=Number.POSITIVE_INFINITY,O=E/180,N=E/2,R=E/4,z=2*E/3,q=Math.log10,I=Math.sign;function D(e,t,n){return Math.abs(e-t)e-t)).pop(),t}function F(e){return!isNaN(parseFloat(e))&&isFinite(e)}function B(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function V(e,t,n){let a,i,r;for(a=0,i=e.length;al&&u=Math.min(t,n)-a&&e<=Math.max(t,n)+a}function te(e,t,n){n=n||(n=>e[n]1;)a=r+i>>1,n(a)?r=a:i=a;return{lo:r,hi:i}}const ne=(e,t,n,a)=>te(e,n,a?a=>{const i=e[a][t];return ie[a][t]te(e,n,(a=>e[a][t]>=n));function ie(e,t,n){let a=0,i=e.length;for(;aa&&e[i-1]>n;)i--;return a>0||i{const n="_onData"+x(t),a=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){const i=a.apply(this,t);return e._chartjs.listeners.forEach((e=>{"function"==typeof e[n]&&e[n](...t)})),i}})})))}function se(e,t){const n=e._chartjs;if(!n)return;const a=n.listeners,i=a.indexOf(t);-1!==i&&a.splice(i,1),a.length>0||(re.forEach((t=>{delete e[t]})),delete e._chartjs)}function le(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const ue="undefined"==typeof window?function(e){return e()}:window.requestAnimationFrame;function ce(e,t){let n=[],a=!1;return function(...i){n=i,a||(a=!0,ue.call(window,(()=>{a=!1,e.apply(t,n)})))}}function de(e,t){let n;return function(...a){return t?(clearTimeout(n),n=setTimeout(e,t,a)):e.apply(this,a),t}}const he=e=>"start"===e?"left":"end"===e?"right":"center",pe=(e,t,n)=>"start"===e?t:"end"===e?n:(t+n)/2,fe=(e,t,n,a)=>e===(a?"left":"right")?n:"center"===e?(t+n)/2:t;function me(e,t,n){const a=t.length;let i=0,r=a;if(e._sorted){const{iScale:o,_parsed:s}=e,l=o.axis,{min:u,max:c,minDefined:d,maxDefined:h}=o.getUserBounds();d&&(i=X(Math.min(ne(s,l,u).lo,n?a:ne(t,l,o.getPixelForValue(u)).lo),0,a-1)),r=h?X(Math.max(ne(s,o.axis,c,!0).hi+1,n?0:ne(t,l,o.getPixelForValue(c),!0).hi+1),i,a)-i:a-i}return{start:i,count:r}}function ve(e){const{xScale:t,yScale:n,_scaleRanges:a}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!a)return e._scaleRanges=i,!0;const r=a.xmin!==t.min||a.xmax!==t.max||a.ymin!==n.min||a.ymax!==n.max;return Object.assign(a,i),r}var ge=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,n,a){const i=t.listeners[a],r=t.duration;i.forEach((a=>a({chart:e,initial:t.initial,numSteps:r,currentStep:Math.min(n-t.start,r)})))}_refresh(){this._request||(this._running=!0,this._request=ue.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(e=Date.now()){let t=0;this._charts.forEach(((n,a)=>{if(!n.running||!n.items.length)return;const i=n.items;let r,o=i.length-1,s=!1;for(;o>=0;--o)r=i[o],r._active?(r._total>n.duration&&(n.duration=r._total),r.tick(e),s=!0):(i[o]=i[i.length-1],i.pop());s&&(a.draw(),this._notify(a,n,e,"progress")),i.length||(n.running=!1,this._notify(a,n,e,"complete"),n.initial=!1),t+=i.length})),this._lastDate=e,0===t&&(this._running=!1)}_getAnims(e){const t=this._charts;let n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){t&&t.length&&this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce(((e,t)=>Math.max(e,t._duration)),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!!(t&&t.running&&t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const n=t.items;let a=n.length-1;for(;a>=0;--a)n[a].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}}; +function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).QrcodeVue=t(e.Vue)}(this,(function(e){"use strict";var t,n=function(){return n=Object.assign||function(e){for(var t,n=1,a=arguments.length;nt.MAX_VERSION)throw new RangeError("Version value out of range");if(r<-1||r>7)throw new RangeError("Mask value out of range");this.size=4*e+17;for(var o=[],s=0;s7)throw new RangeError("Invalid value");var c,d;for(c=o;;c++){var h=8*t.getNumDataCodewords(c,a),p=r.getTotalBits(e,c);if(p<=h){d=p;break}if(c>=s)throw new RangeError("Data too long")}for(var f=0,m=[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH];f>>3]|=e<<7-(7&t)})),new t(c,a,E,l)},t.prototype.getModule=function(e,t){return 0<=e&&e>>9);var o=21522^(t<<10|n);i(o>>>15==0);for(r=0;r<=5;r++)this.setFunctionModule(8,r,a(o,r));this.setFunctionModule(8,7,a(o,6)),this.setFunctionModule(8,8,a(o,7)),this.setFunctionModule(7,8,a(o,8));for(r=9;r<15;r++)this.setFunctionModule(14-r,8,a(o,r));for(r=0;r<8;r++)this.setFunctionModule(this.size-1-r,8,a(o,r));for(r=8;r<15;r++)this.setFunctionModule(8,this.size-15+r,a(o,r));this.setFunctionModule(8,this.size-8,!0)},t.prototype.drawVersion=function(){if(!(this.version<7)){for(var e=this.version,t=0;t<12;t++)e=e<<1^7973*(e>>>11);var n=this.version<<12|e;i(n>>>18==0);for(t=0;t<18;t++){var r=a(n,t),o=this.size-11+t%3,s=Math.floor(t/3);this.setFunctionModule(o,s,r),this.setFunctionModule(s,o,r)}}},t.prototype.drawFinderPattern=function(e,t){for(var n=-4;n<=4;n++)for(var a=-4;a<=4;a++){var i=Math.max(Math.abs(a),Math.abs(n)),r=e+a,o=t+n;0<=r&&r=l)&&g.push(t[e])}))};for(h=0;h=1;r-=2){6==r&&(r=5);for(var o=0;o>>3],7-(7&n)),n++)}}i(n==8*e.length)},t.prototype.applyMask=function(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(var t=0;t5&&e++:(this.finderPenaltyAddHistory(r,o),a||(e+=this.finderPenaltyCountPatterns(o)*t.PENALTY_N3),a=this.modules[n][s],r=1);e+=this.finderPenaltyTerminateAndCount(a,r,o)*t.PENALTY_N3}for(s=0;s5&&e++:(this.finderPenaltyAddHistory(l,o),a||(e+=this.finderPenaltyCountPatterns(o)*t.PENALTY_N3),a=this.modules[n][s],l=1);e+=this.finderPenaltyTerminateAndCount(a,l,o)*t.PENALTY_N3}for(n=0;nt.MAX_VERSION)throw new RangeError("Version number out of range");var n=(16*e+128)*e+64;if(e>=2){var a=Math.floor(e/7)+2;n-=(25*a-10)*a-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n},t.getNumDataCodewords=function(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]},t.reedSolomonComputeDivisor=function(e){if(e<1||e>255)throw new RangeError("Degree out of range");for(var n=[],a=0;a>>8!=0||t>>>8!=0)throw new RangeError("Byte out of range");for(var n=0,a=7;a>=0;a--)n=n<<1^285*(n>>>7),n^=(t>>>a&1)*e;return i(n>>>8==0),n},t.prototype.finderPenaltyCountPatterns=function(e){var t=e[1];i(t<=3*this.size);var n=t>0&&e[2]==t&&e[3]==3*t&&e[4]==t&&e[5]==t;return(n&&e[0]>=4*t&&e[6]>=t?1:0)+(n&&e[6]>=4*t&&e[0]>=t?1:0)},t.prototype.finderPenaltyTerminateAndCount=function(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)},t.prototype.finderPenaltyAddHistory=function(e,t){0==t[0]&&(e+=this.size),t.pop(),t.unshift(e)},t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],t}();function n(e,t,n){if(t<0||t>31||e>>>t!=0)throw new RangeError("Value out of range");for(var a=t-1;a>=0;a--)n.push(e>>>a&1)}function a(e,t){return!!(e>>>t&1)}function i(e){if(!e)throw new Error("Assertion error")}e.QrCode=t;var r=function(){function e(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw new RangeError("Invalid argument");this.bitData=n.slice()}return e.makeBytes=function(t){for(var a=[],i=0,r=t;i=1<-1}}}),c=e.defineComponent({name:"QRCodeSvg",props:l,setup:function(t){var n=e.ref(0),r=e.ref(""),o=function(){var e=t.value,o=t.level,l=t.margin,u=a.QrCode.encodeText(e,i[o]).getModules();n.value=u.length+2*l,r.value=s(u,l)};return o(),e.onUpdated(o),function(){return e.h("svg",{width:t.size,height:t.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(n.value," ").concat(n.value)},[e.h("path",{fill:t.background,d:"M0,0 h".concat(n.value,"v").concat(n.value,"H0z")}),e.h("path",{fill:t.foreground,d:r.value})])}}}),d=e.defineComponent({name:"QRCodeCanvas",props:l,setup:function(t){var n=e.ref(null),o=function(){var e=t.value,o=t.level,l=t.size,u=t.margin,c=t.background,d=t.foreground,h=n.value;if(h){var p=h.getContext("2d");if(p){var f=a.QrCode.encodeText(e,i[o]).getModules(),m=f.length+2*u,g=window.devicePixelRatio||1,v=l/m*g;h.height=h.width=l*g,p.scale(v,v),p.fillStyle=c,p.fillRect(0,0,m,m),p.fillStyle=d,r?p.fill(new Path2D(s(f,u))):f.forEach((function(e,t){e.forEach((function(e,n){e&&p.fillRect(n+u,t+u,1,1)}))}))}}};return e.onMounted(o),e.onUpdated(o),function(){return e.h("canvas",{ref:n,style:{width:"".concat(t.size,"px"),height:"".concat(t.size,"px")}})}}});return e.defineComponent({name:"Qrcode",render:function(){var t=this.$props,n=t.renderAs,a=t.value,i=t.size,r=t.margin,s=t.level,l=t.background,u=t.foreground,h=i>>>0,p=r>>>0,f=o(s)?s:"H";return e.h("svg"===n?c:d,{value:a,size:h,margin:p,level:f,background:l,foreground:u})},props:u})})),function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Chart=t()}(this,(function(){"use strict";var e=Object.freeze({__proto__:null,get Colors(){return Nr},get Decimation(){return zr},get Filler(){return Xr},get Legend(){return ao},get SubTitle(){return so},get Title(){return ro},get Tooltip(){return xo}});function t(){}const n=(()=>{let e=0;return()=>e++})();function a(e){return null==e}function i(e){if(Array.isArray&&Array.isArray(e))return!0;const t=Object.prototype.toString.call(e);return"[object"===t.slice(0,7)&&"Array]"===t.slice(-6)}function r(e){return null!==e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){return("number"==typeof e||e instanceof Number)&&isFinite(+e)}function s(e,t){return o(e)?e:t}function l(e,t){return void 0===e?t:e}const u=(e,t)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100:+e/t,c=(e,t)=>"string"==typeof e&&e.endsWith("%")?parseFloat(e)/100*t:+e;function d(e,t,n){if(e&&"function"==typeof e.call)return e.apply(n,t)}function h(e,t,n,a){let o,s,l;if(i(e))if(s=e.length,a)for(o=s-1;o>=0;o--)t.call(n,e[o],o);else for(o=0;oe,x:e=>e.x,y:e=>e.y};function w(e){const t=e.split("."),n=[];let a="";for(const e of t)a+=e,a.endsWith("\\")?a=a.slice(0,-1)+".":(n.push(a),a="");return n}function k(e,t){const n=y[t]||(y[t]=function(e){const t=w(e);return e=>{for(const n of t){if(""===n)break;e=e&&e[n]}return e}}(t));return n(e)}function x(e){return e.charAt(0).toUpperCase()+e.slice(1)}const S=e=>void 0!==e,C=e=>"function"==typeof e,E=(e,t)=>{if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0};function T(e){return"mouseup"===e.type||"click"===e.type||"contextmenu"===e.type}const A=Math.PI,M=2*A,P=M+A,L=Number.POSITIVE_INFINITY,O=A/180,N=A/2,R=A/4,I=2*A/3,z=Math.log10,q=Math.sign;function D(e,t,n){return Math.abs(e-t)e-t)).pop(),t}function B(e){return!isNaN(parseFloat(e))&&isFinite(e)}function F(e,t){const n=Math.round(e);return n-t<=e&&n+t>=e}function V(e,t,n){let a,i,r;for(a=0,i=e.length;al&&u=Math.min(t,n)-a&&e<=Math.max(t,n)+a}function te(e,t,n){n=n||(n=>e[n]1;)a=r+i>>1,n(a)?r=a:i=a;return{lo:r,hi:i}}const ne=(e,t,n,a)=>te(e,n,a?a=>{const i=e[a][t];return ie[a][t]te(e,n,(a=>e[a][t]>=n));function ie(e,t,n){let a=0,i=e.length;for(;aa&&e[i-1]>n;)i--;return a>0||i{const n="_onData"+x(t),a=e[t];Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value(...t){const i=a.apply(this,t);return e._chartjs.listeners.forEach((e=>{"function"==typeof e[n]&&e[n](...t)})),i}})})))}function se(e,t){const n=e._chartjs;if(!n)return;const a=n.listeners,i=a.indexOf(t);-1!==i&&a.splice(i,1),a.length>0||(re.forEach((t=>{delete e[t]})),delete e._chartjs)}function le(e){const t=new Set(e);return t.size===e.length?e:Array.from(t)}const ue="undefined"==typeof window?function(e){return e()}:window.requestAnimationFrame;function ce(e,t){let n=[],a=!1;return function(...i){n=i,a||(a=!0,ue.call(window,(()=>{a=!1,e.apply(t,n)})))}}function de(e,t){let n;return function(...a){return t?(clearTimeout(n),n=setTimeout(e,t,a)):e.apply(this,a),t}}const he=e=>"start"===e?"left":"end"===e?"right":"center",pe=(e,t,n)=>"start"===e?t:"end"===e?n:(t+n)/2,fe=(e,t,n,a)=>e===(a?"left":"right")?n:"center"===e?(t+n)/2:t;function me(e,t,n){const a=t.length;let i=0,r=a;if(e._sorted){const{iScale:o,_parsed:s}=e,l=o.axis,{min:u,max:c,minDefined:d,maxDefined:h}=o.getUserBounds();d&&(i=J(Math.min(ne(s,l,u).lo,n?a:ne(t,l,o.getPixelForValue(u)).lo),0,a-1)),r=h?J(Math.max(ne(s,o.axis,c,!0).hi+1,n?0:ne(t,l,o.getPixelForValue(c),!0).hi+1),i,a)-i:a-i}return{start:i,count:r}}function ge(e){const{xScale:t,yScale:n,_scaleRanges:a}=e,i={xmin:t.min,xmax:t.max,ymin:n.min,ymax:n.max};if(!a)return e._scaleRanges=i,!0;const r=a.xmin!==t.min||a.xmax!==t.max||a.ymin!==n.min||a.ymax!==n.max;return Object.assign(a,i),r}var ve=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,n,a){const i=t.listeners[a],r=t.duration;i.forEach((a=>a({chart:e,initial:t.initial,numSteps:r,currentStep:Math.min(n-t.start,r)})))}_refresh(){this._request||(this._running=!0,this._request=ue.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(e=Date.now()){let t=0;this._charts.forEach(((n,a)=>{if(!n.running||!n.items.length)return;const i=n.items;let r,o=i.length-1,s=!1;for(;o>=0;--o)r=i[o],r._active?(r._total>n.duration&&(n.duration=r._total),r.tick(e),s=!0):(i[o]=i[i.length-1],i.pop());s&&(a.draw(),this._notify(a,n,e,"progress")),i.length||(n.running=!1,this._notify(a,n,e,"complete"),n.initial=!1),t+=i.length})),this._lastDate=e,0===t&&(this._running=!1)}_getAnims(e){const t=this._charts;let n=t.get(e);return n||(n={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,n)),n}listen(e,t,n){this._getAnims(e).listeners[t].push(n)}add(e,t){t&&t.length&&this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);t&&(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce(((e,t)=>Math.max(e,t._duration)),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!!(t&&t.running&&t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const n=t.items;let a=n.length-1;for(;a>=0;--a)n[a].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}}; /*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela * Released under the MIT License - */function _e(e){return e+.5|0}const be=(e,t,n)=>Math.max(Math.min(e,n),t);function ye(e){return be(_e(2.55*e),0,255)}function we(e){return be(_e(255*e),0,255)}function ke(e){return be(_e(e/2.55)/100,0,1)}function xe(e){return be(_e(100*e),0,100)}const Se={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ce=[..."0123456789ABCDEF"],Te=e=>Ce[15&e],Me=e=>Ce[(240&e)>>4]+Ce[15&e],Ee=e=>(240&e)>>4==(15&e);const Pe=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Ae(e,t,n){const a=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-a*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function Le(e,t,n){const a=(a,i=(a+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[a(5),a(3),a(1)]}function Oe(e,t,n){const a=Ae(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)a[i]*=1-t-n,a[i]+=t;return a}function Ne(e){const t=e.r/255,n=e.g/255,a=e.b/255,i=Math.max(t,n,a),r=Math.min(t,n,a),o=(i+r)/2;let s,l,u;return i!==r&&(u=i-r,l=o>.5?u/(2-i-r):u/(i+r),s=function(e,t,n,a,i){return e===i?(t-n)/a+(te<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055,Be=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function Ve(e,t,n){if(e){let a=Ne(e);a[t]=Math.max(0,Math.min(a[t]+a[t]*n,0===t?360:1)),a=ze(a),e.r=a[0],e.g=a[1],e.b=a[2]}}function He(e,t){return e?Object.assign(t||{},e):e}function Ue(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=we(e[3]))):(t=He(e,{r:0,g:0,b:0,a:1})).a=we(t.a),t}function We(e){return"r"===e.charAt(0)?function(e){const t=$e.exec(e);let n,a,i,r=255;if(t){if(t[7]!==n){const e=+t[7];r=t[8]?ye(e):be(255*e,0,255)}return n=+t[1],a=+t[3],i=+t[5],n=255&(t[2]?ye(n):be(n,0,255)),a=255&(t[4]?ye(a):be(a,0,255)),i=255&(t[6]?ye(i):be(i,0,255)),{r:n,g:a,b:i,a:r}}}(e):function(e){const t=Pe.exec(e);let n,a=255;if(!t)return;t[5]!==n&&(a=t[6]?ye(+t[5]):we(+t[5]));const i=qe(+t[2]),r=+t[3]/100,o=+t[4]/100;return n="hwb"===t[1]?function(e,t,n){return Re(Oe,e,t,n)}(i,r,o):"hsv"===t[1]?function(e,t,n){return Re(Le,e,t,n)}(i,r,o):ze(i,r,o),{r:n[0],g:n[1],b:n[2],a:a}}(e)}class Ye{constructor(e){if(e instanceof Ye)return e;const t=typeof e;let n;var a,i,r;"object"===t?n=Ue(e):"string"===t&&(r=(a=e).length,"#"===a[0]&&(4===r||5===r?i={r:255&17*Se[a[1]],g:255&17*Se[a[2]],b:255&17*Se[a[3]],a:5===r?17*Se[a[4]]:255}:7!==r&&9!==r||(i={r:Se[a[1]]<<4|Se[a[2]],g:Se[a[3]]<<4|Se[a[4]],b:Se[a[5]]<<4|Se[a[6]],a:9===r?Se[a[7]]<<4|Se[a[8]]:255})),n=i||function(e){je||(je=function(){const e={},t=Object.keys(De),n=Object.keys(Ie);let a,i,r,o,s;for(a=0;a>16&255,r>>8&255,255&r]}return e}(),je.transparent=[0,0,0,0]);const t=je[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:4===t.length?t[3]:255}}(e)||We(e)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var e=He(this._rgb);return e&&(e.a=ke(e.a)),e}set rgb(e){this._rgb=Ue(e)}rgbString(){return this._valid?(e=this._rgb)&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${ke(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`):void 0;var e}hexString(){return this._valid?function(e){var t=(e=>Ee(e.r)&&Ee(e.g)&&Ee(e.b)&&Ee(e.a))(e)?Te:Me;return e?"#"+t(e.r)+t(e.g)+t(e.b)+((e,t)=>e<255?t(e):"")(e.a,t):void 0}(this._rgb):void 0}hslString(){return this._valid?function(e){if(!e)return;const t=Ne(e),n=t[0],a=xe(t[1]),i=xe(t[2]);return e.a<255?`hsla(${n}, ${a}%, ${i}%, ${ke(e.a)})`:`hsl(${n}, ${a}%, ${i}%)`}(this._rgb):void 0}mix(e,t){if(e){const n=this.rgb,a=e.rgb;let i;const r=t===i?.5:t,o=2*r-1,s=n.a-a.a,l=((o*s==-1?o:(o+s)/(1+o*s))+1)/2;i=1-l,n.r=255&l*n.r+i*a.r+.5,n.g=255&l*n.g+i*a.g+.5,n.b=255&l*n.b+i*a.b+.5,n.a=r*n.a+(1-r)*a.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=function(e,t,n){const a=Be(ke(e.r)),i=Be(ke(e.g)),r=Be(ke(e.b));return{r:we(Fe(a+n*(Be(ke(t.r))-a))),g:we(Fe(i+n*(Be(ke(t.g))-i))),b:we(Fe(r+n*(Be(ke(t.b))-r))),a:e.a+n*(t.a-e.a)}}(this._rgb,e._rgb,t)),this}clone(){return new Ye(this.rgb)}alpha(e){return this._rgb.a=we(e),this}clearer(e){return this._rgb.a*=1-e,this}greyscale(){const e=this._rgb,t=_e(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=t,this}opaquer(e){return this._rgb.a*=1+e,this}negate(){const e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Ve(this._rgb,2,e),this}darken(e){return Ve(this._rgb,2,-e),this}saturate(e){return Ve(this._rgb,1,e),this}desaturate(e){return Ve(this._rgb,1,-e),this}rotate(e){return function(e,t){var n=Ne(e);n[0]=qe(n[0]+t),n=ze(n),e.r=n[0],e.g=n[1],e.b=n[2]}(this._rgb,e),this}}function Qe(e){if(e&&"object"==typeof e){const t=e.toString();return"[object CanvasPattern]"===t||"[object CanvasGradient]"===t}return!1}function Ke(e){return Qe(e)?e:new Ye(e)}function Ge(e){return Qe(e)?e:new Ye(e).saturate(.5).darken(.1).hexString()}const Ze=["x","y","borderWidth","radius","tension"],Xe=["color","borderColor","backgroundColor"],Je=new Map;function et(e,t,n){return function(e,t){t=t||{};const n=e+JSON.stringify(t);let a=Je.get(n);return a||(a=new Intl.NumberFormat(e,t),Je.set(n,a)),a}(t,n).format(e)}const tt={values:e=>i(e)?e:""+e,numeric(e,t,n){if(0===e)return"0";const a=this.chart.options.locale;let i,r=e;if(n.length>1){const t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>1e15)&&(i="scientific"),r=function(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}(e,n)}const o=q(Math.abs(r)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),l={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(l,this.options.ticks.format),et(e,a,l)},logarithmic(e,t,n){if(0===e)return"0";const a=n[t].significand||e/Math.pow(10,Math.floor(q(e)));return[1,2,3,5,10,15].includes(a)||t>.8*n.length?tt.numeric.call(this,e,t,n):""}};var nt={formatters:tt};const at=Object.create(null),it=Object.create(null);function rt(e,t){if(!t)return e;const n=t.split(".");for(let t=0,a=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>Ge(t.backgroundColor),this.hoverBorderColor=(e,t)=>Ge(t.borderColor),this.hoverColor=(e,t)=>Ge(t.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return ot(this,e,t)}get(e){return rt(this,e)}describe(e,t){return ot(it,e,t)}override(e,t){return ot(at,e,t)}route(e,t,n,a){const i=rt(this,e),o=rt(this,n),s="_"+t;Object.defineProperties(i,{[s]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){const e=this[s],t=o[a];return r(e)?Object.assign({},t,e):l(e,t)},set(e){this[s]=e}}})}apply(e){e.forEach((e=>e(this)))}}({_scriptable:e=>!e.startsWith("on"),_indexable:e=>"events"!==e,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:e=>"onProgress"!==e&&"onComplete"!==e&&"fn"!==e}),e.set("animations",{colors:{type:"color",properties:Xe},numbers:{type:"number",properties:Ze}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:e=>0|e}}}})},function(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:nt.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:e=>!e.startsWith("before")&&!e.startsWith("after")&&"callback"!==e&&"parser"!==e,_indexable:e=>"borderDash"!==e&&"tickBorderDash"!==e&&"dash"!==e}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:e=>"backdropPadding"!==e&&"callback"!==e,_indexable:e=>"backdropPadding"!==e})}]);function lt(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ut(e){let t=e.parentNode;return t&&"[object ShadowRoot]"===t.toString()&&(t=t.host),t}function ct(e,t,n){let a;return"string"==typeof e?(a=parseInt(e,10),-1!==e.indexOf("%")&&(a=a/100*t.parentNode[n])):a=e,a}const dt=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function ht(e,t){return dt(e).getPropertyValue(t)}const pt=["top","right","bottom","left"];function ft(e,t,n){const a={};n=n?"-"+n:"";for(let i=0;i<4;i++){const r=pt[i];a[r]=parseFloat(e[t+"-"+r+n])||0}return a.width=a.left+a.right,a.height=a.top+a.bottom,a}const mt=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function vt(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:a}=t,i=dt(n),r="border-box"===i.boxSizing,o=ft(i,"padding"),s=ft(i,"border","width"),{x:l,y:u,box:c}=function(e,t){const n=e.touches,a=n&&n.length?n[0]:e,{offsetX:i,offsetY:r}=a;let o,s,l=!1;if(mt(i,r,e.target))o=i,s=r;else{const e=t.getBoundingClientRect();o=a.clientX-e.left,s=a.clientY-e.top,l=!0}return{x:o,y:s,box:l}}(e,n),d=o.left+(c&&s.left),h=o.top+(c&&s.top);let{width:p,height:f}=t;return r&&(p-=o.width+s.width,f-=o.height+s.height),{x:Math.round((l-d)/p*n.width/a),y:Math.round((u-h)/f*n.height/a)}}const gt=e=>Math.round(10*e)/10;function _t(e,t,n,a){const i=dt(e),r=ft(i,"margin"),o=ct(i.maxWidth,e,"clientWidth")||L,s=ct(i.maxHeight,e,"clientHeight")||L,l=function(e,t,n){let a,i;if(void 0===t||void 0===n){const r=e&&ut(e);if(r){const e=r.getBoundingClientRect(),o=dt(r),s=ft(o,"border","width"),l=ft(o,"padding");t=e.width-l.width-s.width,n=e.height-l.height-s.height,a=ct(o.maxWidth,r,"clientWidth"),i=ct(o.maxHeight,r,"clientHeight")}else t=e.clientWidth,n=e.clientHeight}return{width:t,height:n,maxWidth:a||L,maxHeight:i||L}}(e,t,n);let{width:u,height:c}=l;if("content-box"===i.boxSizing){const e=ft(i,"border","width"),t=ft(i,"padding");u-=t.width+e.width,c-=t.height+e.height}return u=Math.max(0,u-r.width),c=Math.max(0,a?u/a:c-r.height),u=gt(Math.min(u,o,l.maxWidth)),c=gt(Math.min(c,s,l.maxHeight)),u&&!c&&(c=gt(u/2)),(void 0!==t||void 0!==n)&&a&&l.height&&c>l.height&&(c=l.height,u=gt(Math.floor(c*a))),{width:u,height:c}}function bt(e,t,n){const a=t||1,i=Math.floor(e.height*a),r=Math.floor(e.width*a);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),(e.currentDevicePixelRatio!==a||o.height!==i||o.width!==r)&&(e.currentDevicePixelRatio=a,o.height=i,o.width=r,e.ctx.setTransform(a,0,0,a,0,0),!0)}const yt=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};lt()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch(e){}return e}();function wt(e,t){const n=ht(e,t),a=n&&n.match(/^(\d+)(\.\d+)?px$/);return a?+a[1]:void 0}function kt(e){return!e||a(e.size)||a(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function xt(e,t,n,a,i){let r=t[i];return r||(r=t[i]=e.measureText(i).width,n.push(i)),r>a&&(a=r),a}function St(e,t,n,a){let r=(a=a||{}).data=a.data||{},o=a.garbageCollect=a.garbageCollect||[];a.font!==t&&(r=a.data={},o=a.garbageCollect=[],a.font=t),e.save(),e.font=t;let s=0;const l=n.length;let u,c,d,h,p;for(u=0;un.length){for(u=0;u0&&e.stroke()}}function Pt(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&""!==s.strokeColor;let c,d;for(e.save(),e.font=o.string,function(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),a(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}(e,s),c=0;ce[0]){const r=n||e;void 0===a&&(a=Kt("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:r,_fallback:a,_getTarget:i,override:n=>Dt([n,...e],t,r,a)};return new Proxy(o,{deleteProperty:(t,n)=>(delete t[n],delete t._keys,delete e[0][n],!0),get:(n,a)=>Vt(n,a,(()=>function(e,t,n,a){let i;for(const r of t)if(i=Kt(Ft(r,e),n),void 0!==i)return Bt(e,i)?Yt(n,a,e,i):i}(a,t,e,n))),getOwnPropertyDescriptor:(e,t)=>Reflect.getOwnPropertyDescriptor(e._scopes[0],t),getPrototypeOf:()=>Reflect.getPrototypeOf(e[0]),has:(e,t)=>Gt(e).includes(t),ownKeys:e=>Gt(e),set(e,t,n){const a=e._storage||(e._storage=i());return e[t]=a[t]=n,delete e._keys,!0}})}function jt(e,t,n,a){const o={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:$t(e,a),setContext:t=>jt(e,t,n,a),override:i=>jt(e.override(i),t,n,a)};return new Proxy(o,{deleteProperty:(t,n)=>(delete t[n],delete e[n],!0),get:(e,t,n)=>Vt(e,t,(()=>function(e,t,n){const{_proxy:a,_context:o,_subProxy:s,_descriptors:l}=e;let u=a[t];return C(u)&&l.isScriptable(t)&&(u=function(e,t,n,a){const{_proxy:i,_context:r,_subProxy:o,_stack:s}=n;if(s.has(e))throw new Error("Recursion detected: "+Array.from(s).join("->")+"->"+e);s.add(e);let l=t(r,o||a);return s.delete(e),Bt(e,l)&&(l=Yt(i._scopes,i,e,l)),l}(t,u,e,n)),i(u)&&u.length&&(u=function(e,t,n,a){const{_proxy:i,_context:o,_subProxy:s,_descriptors:l}=n;if(void 0!==o.index&&a(e))return t[o.index%t.length];if(r(t[0])){const n=t,a=i._scopes.filter((e=>e!==n));t=[];for(const r of n){const n=Yt(a,i,e,r);t.push(jt(n,o,s&&s[e],l))}}return t}(t,u,e,l.isIndexable)),Bt(t,u)&&(u=jt(u,o,s&&s[t],l)),u}(e,t,n))),getOwnPropertyDescriptor:(t,n)=>t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n),getPrototypeOf:()=>Reflect.getPrototypeOf(e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),set:(t,n,a)=>(e[n]=a,delete t[n],!0)})}function $t(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:a=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:a,isScriptable:C(n)?n:()=>n,isIndexable:C(a)?a:()=>a}}const Ft=(e,t)=>e?e+x(t):t,Bt=(e,t)=>r(t)&&"adapters"!==e&&(null===Object.getPrototypeOf(t)||t.constructor===Object);function Vt(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||"constructor"===t)return e[t];const a=n();return e[t]=a,a}function Ht(e,t,n){return C(e)?e(t,n):e}const Ut=(e,t)=>!0===e?t:"string"==typeof e?k(t,e):void 0;function Wt(e,t,n,a,i){for(const r of t){const t=Ut(n,r);if(t){e.add(t);const r=Ht(t._fallback,n,i);if(void 0!==r&&r!==n&&r!==a)return r}else if(!1===t&&void 0!==a&&n!==a)return null}return!1}function Yt(e,t,n,a){const o=t._rootScopes,s=Ht(t._fallback,n,a),l=[...e,...o],u=new Set;u.add(a);let c=Qt(u,l,n,s||n,a);return null!==c&&(void 0===s||s===n||(c=Qt(u,l,s,c,a),null!==c))&&Dt(Array.from(u),[""],o,s,(()=>function(e,t,n){const a=e._getTarget();t in a||(a[t]={});const o=a[t];return i(o)&&r(n)?n:o||{}}(t,n,a)))}function Qt(e,t,n,a,i){for(;n;)n=Wt(e,t,n,a,i);return n}function Kt(e,t){for(const n of t){if(!n)continue;const t=n[e];if(void 0!==t)return t}}function Gt(e){let t=e._keys;return t||(t=e._keys=function(e){const t=new Set;for(const n of e)for(const e of Object.keys(n).filter((e=>!e.startsWith("_"))))t.add(e);return Array.from(t)}(e._scopes)),t}function Zt(e,t,n,a){const{iScale:i}=e,{key:r="r"}=this._parsing,o=new Array(a);let s,l,u,c;for(s=0,l=a;st"x"===e?"y":"x";function tn(e,t,n,a){const i=e.skip?t:e,r=t,o=n.skip?t:n,s=Q(r,i),l=Q(o,r);let u=s/(s+l),c=l/(s+l);u=isNaN(u)?0:u,c=isNaN(c)?0:c;const d=a*u,h=a*c;return{previous:{x:r.x-d*(o.x-i.x),y:r.y-d*(o.y-i.y)},next:{x:r.x+h*(o.x-i.x),y:r.y+h*(o.y-i.y)}}}function nn(e,t="x"){const n=en(t),a=e.length,i=Array(a).fill(0),r=Array(a);let o,s,l,u=Jt(e,0);for(o=0;o!e.skip))),"monotone"===t.cubicInterpolationMode)nn(e,i);else{let n=a?e[e.length-1]:e[0];for(r=0,o=e.length;r0===e||1===e,sn=(e,t,n)=>-Math.pow(2,10*(e-=1))*Math.sin((e-t)*P/n),ln=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*P/n)+1,un={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>1-Math.cos(e*N),easeOutSine:e=>Math.sin(e*N),easeInOutSine:e=>-.5*(Math.cos(E*e)-1),easeInExpo:e=>0===e?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>on(e)?e:e<.5?.5*Math.pow(2,10*(2*e-1)):.5*(2-Math.pow(2,-10*(2*e-1))),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>on(e)?e:sn(e,.075,.3),easeOutElastic:e=>on(e)?e:ln(e,.075,.3),easeInOutElastic(e){const t=.1125;return on(e)?e:e<.5?.5*sn(2*e,t,.45):.5+.5*ln(2*e-1,t,.45)},easeInBack(e){const t=1.70158;return e*e*((t+1)*e-t)},easeOutBack(e){const t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:e=>1-un.easeOutBounce(1-e),easeOutBounce(e){const t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?.5*un.easeInBounce(2*e):.5*un.easeOutBounce(2*e-1)+.5};function cn(e,t,n,a){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function dn(e,t,n,a){return{x:e.x+n*(t.x-e.x),y:"middle"===a?n<.5?e.y:t.y:"after"===a?n<1?e.y:t.y:n>0?t.y:e.y}}function hn(e,t,n,a){const i={x:e.cp2x,y:e.cp2y},r={x:t.cp1x,y:t.cp1y},o=cn(e,i,n),s=cn(i,r,n),l=cn(r,t,n),u=cn(o,s,n),c=cn(s,l,n);return cn(u,c,n)}const pn=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,fn=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function mn(e,t){const n=(""+e).match(pn);if(!n||"normal"===n[1])return 1.2*t;switch(e=+n[2],n[3]){case"px":return e;case"%":e/=100}return t*e}const vn=e=>+e||0;function gn(e,t){const n={},a=r(t),i=a?Object.keys(t):t,o=r(e)?a?n=>l(e[n],e[t[n]]):t=>e[t]:()=>e;for(const e of i)n[e]=vn(o(e));return n}function _n(e){return gn(e,{top:"y",right:"x",bottom:"y",left:"x"})}function bn(e){return gn(e,["topLeft","topRight","bottomLeft","bottomRight"])}function yn(e){const t=_n(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function wn(e,t){e=e||{},t=t||st.font;let n=l(e.size,t.size);"string"==typeof n&&(n=parseInt(n,10));let a=l(e.style,t.style);a&&!(""+a).match(fn)&&(console.warn('Invalid font style specified: "'+a+'"'),a=void 0);const i={family:l(e.family,t.family),lineHeight:mn(l(e.lineHeight,t.lineHeight),n),size:n,style:a,weight:l(e.weight,t.weight),string:""};return i.string=kt(i),i}function kn(e,t,n,a){let r,o,s,l=!0;for(r=0,o=e.length;rn&&0===e?0:e+t;return{min:o(a,-Math.abs(r)),max:o(i,r)}}function Sn(e,t){return Object.assign(Object.create(e),t)}function Cn(e,t,n){return e?function(e,t){return{x:n=>e+e+t-n,setWidth(e){t=e},textAlign:e=>"center"===e?e:"right"===e?"left":"right",xPlus:(e,t)=>e-t,leftForLtr:(e,t)=>e-t}}(t,n):{x:e=>e,setWidth(e){},textAlign:e=>e,xPlus:(e,t)=>e+t,leftForLtr:(e,t)=>e}}function Tn(e,t){let n,a;"ltr"!==t&&"rtl"!==t||(n=e.canvas.style,a=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=a)}function Mn(e,t){void 0!==t&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function En(e){return"angle"===e?{between:Z,compare:K,normalize:G}:{between:ee,compare:(e,t)=>e-t,normalize:e=>e}}function Pn({start:e,end:t,count:n,loop:a,style:i}){return{start:e%n,end:t%n,loop:a&&(t-e+1)%n==0,style:i}}function An(e,t,n){if(!n)return[e];const{property:a,start:i,end:r}=n,o=t.length,{compare:s,between:l,normalize:u}=En(a),{start:c,end:d,loop:h,style:p}=function(e,t,n){const{property:a,start:i,end:r}=n,{between:o,normalize:s}=En(a),l=t.length;let u,c,{start:d,end:h,loop:p}=e;if(p){for(d+=l,h+=l,u=0,c=l;ui&&e[r%t].skip;)r--;return r%=t,{start:i,end:r}}(n,i,r,a);return Nn(e,!0===a?[{start:o,end:s,loop:r}]:function(e,t,n,a){const i=e.length,r=[];let o,s=t,l=e[t];for(o=t+1;o<=n;++o){const n=e[o%i];n.skip||n.stop?l.skip||(a=!1,r.push({start:t%i,end:(o-1)%i,loop:a}),t=s=n.stop?o:null):(s=o,l.skip&&(t=o)),l=n}return null!==s&&r.push({start:t%i,end:s%i,loop:a}),r}(n,o,s{e[o]&&e[o](t[n],i)&&(r.push({element:e,datasetIndex:a,index:l}),s=s||e.inRange(t.x,t.y,i))})),a&&!s?[]:r}var Bn={evaluateInteractionItems:Dn,modes:{index(e,t,n,a){const i=vt(t,e),r=n.axis||"x",o=n.includeInvisible||!1,s=n.intersect?jn(e,i,r,a,o):$n(e,i,r,!1,a,o),l=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach((e=>{const t=s[0].index,n=e.data[t];n&&!n.skip&&l.push({element:n,datasetIndex:e.index,index:t})})),l):[]},dataset(e,t,n,a){const i=vt(t,e),r=n.axis||"xy",o=n.includeInvisible||!1;let s=n.intersect?jn(e,i,r,a,o):$n(e,i,r,!1,a,o);if(s.length>0){const t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ejn(e,vt(t,e),n.axis||"xy",a,n.includeInvisible||!1),nearest(e,t,n,a){const i=vt(t,e),r=n.axis||"xy",o=n.includeInvisible||!1;return $n(e,i,r,n.intersect,a,o)},x:(e,t,n,a)=>Fn(e,vt(t,e),"x",n.intersect,a),y:(e,t,n,a)=>Fn(e,vt(t,e),"y",n.intersect,a)}};const Vn=["left","top","right","bottom"];function Hn(e,t){return e.filter((e=>e.pos===t))}function Un(e,t){return e.filter((e=>-1===Vn.indexOf(e.pos)&&e.box.axis===t))}function Wn(e,t){return e.sort(((e,n)=>{const a=t?n:e,i=t?e:n;return a.weight===i.weight?a.index-i.index:a.weight-i.weight}))}function Yn(e,t,n,a){return Math.max(e[n],t[n])+Math.max(e[a],t[a])}function Qn(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function Kn(e,t,n,a){const{pos:i,box:o}=n,s=e.maxPadding;if(!r(i)){n.size&&(e[i]-=n.size);const t=a[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?o.height:o.width),n.size=t.size/t.count,e[i]+=n.size}o.getPadding&&Qn(s,o.getPadding());const l=Math.max(0,t.outerWidth-Yn(s,e,"left","right")),u=Math.max(0,t.outerHeight-Yn(s,e,"top","bottom")),c=l!==e.w,d=u!==e.h;return e.w=l,e.h=u,n.horizontal?{same:c,other:d}:{same:d,other:c}}function Gn(e,t){const n=t.maxPadding;return function(e){const a={left:0,top:0,right:0,bottom:0};return e.forEach((e=>{a[e]=Math.max(t[e],n[e])})),a}(e?["left","right"]:["top","bottom"])}function Zn(e,t,n,a){const i=[];let r,o,s,l,u,c;for(r=0,o=e.length,u=0;re.box.fullSize)),!0),a=Wn(Hn(t,"left"),!0),i=Wn(Hn(t,"right")),r=Wn(Hn(t,"top"),!0),o=Wn(Hn(t,"bottom")),s=Un(t,"x"),l=Un(t,"y");return{fullSize:n,leftAndTop:a.concat(r),rightAndBottom:i.concat(l).concat(o).concat(s),chartArea:Hn(t,"chartArea"),vertical:a.concat(i).concat(l),horizontal:r.concat(o).concat(s)}}(e.boxes),l=s.vertical,u=s.horizontal;h(e.boxes,(e=>{"function"==typeof e.beforeLayout&&e.beforeLayout()}));const c=l.reduce(((e,t)=>t.box.options&&!1===t.box.options.display?e:e+1),0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:r,availableHeight:o,vBoxMaxWidth:r/2/c,hBoxMaxHeight:o/2}),p=Object.assign({},i);Qn(p,yn(a));const f=Object.assign({maxPadding:p,w:r,h:o,x:i.left,y:i.top},i),m=function(e,t){const n=function(e){const t={};for(const n of e){const{stack:e,pos:a,stackWeight:i}=n;if(!e||!Vn.includes(a))continue;const r=t[e]||(t[e]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=i}return t}(e),{vBoxMaxWidth:a,hBoxMaxHeight:i}=t;let r,o,s;for(r=0,o=e.length;r{const n=t.box;Object.assign(n,e.chartArea),n.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})}))}};class ta{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,a){return t=Math.max(0,t||e.width),n=n||e.height,{width:t,height:Math.max(0,a?Math.floor(t/a):n)}}isAttached(e){return!0}updateConfig(e){}}class na extends ta{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const aa="$chartjs",ia={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ra=e=>null===e||""===e,oa=!!yt&&{passive:!0};function sa(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,oa)}function la(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function ua(e,t,n){const a=e.canvas,i=new MutationObserver((e=>{let t=!1;for(const n of e)t=t||la(n.addedNodes,a),t=t&&!la(n.removedNodes,a);t&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function ca(e,t,n){const a=e.canvas,i=new MutationObserver((e=>{let t=!1;for(const n of e)t=t||la(n.removedNodes,a),t=t&&!la(n.addedNodes,a);t&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const da=new Map;let ha=0;function pa(){const e=window.devicePixelRatio;e!==ha&&(ha=e,da.forEach(((t,n)=>{n.currentDevicePixelRatio!==e&&t()})))}function fa(e,t,n){const a=e.canvas,i=a&&ut(a);if(!i)return;const r=ce(((e,t)=>{const a=i.clientWidth;n(e,t),a{const t=e[0],n=t.contentRect.width,a=t.contentRect.height;0===n&&0===a||r(n,a)}));return o.observe(i),function(e,t){da.size||window.addEventListener("resize",pa),da.set(e,t)}(e,r),o}function ma(e,t,n){n&&n.disconnect(),"resize"===t&&function(e){da.delete(e),da.size||window.removeEventListener("resize",pa)}(e)}function va(e,t,n){const a=e.canvas,i=ce((t=>{null!==e.ctx&&n(function(e,t){const n=ia[e.type]||e.type,{x:a,y:i}=vt(e,t);return{type:n,chart:t,native:e,x:void 0!==a?a:null,y:void 0!==i?i:null}}(t,e))}),e);return function(e,t,n){e&&e.addEventListener(t,n,oa)}(a,t,i),i}class ga extends ta{acquireContext(e,t){const n=e&&e.getContext&&e.getContext("2d");return n&&n.canvas===e?(function(e,t){const n=e.style,a=e.getAttribute("height"),i=e.getAttribute("width");if(e[aa]={initial:{height:a,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ra(i)){const t=wt(e,"width");void 0!==t&&(e.width=t)}if(ra(a))if(""===e.style.height)e.height=e.width/(t||2);else{const t=wt(e,"height");void 0!==t&&(e.height=t)}}(e,t),n):null}releaseContext(e){const t=e.canvas;if(!t[aa])return!1;const n=t[aa].initial;["height","width"].forEach((e=>{const i=n[e];a(i)?t.removeAttribute(e):t.setAttribute(e,i)}));const i=n.style||{};return Object.keys(i).forEach((e=>{t.style[e]=i[e]})),t.width=t.width,delete t[aa],!0}addEventListener(e,t,n){this.removeEventListener(e,t);const a=e.$proxies||(e.$proxies={}),i={attach:ua,detach:ca,resize:fa}[t]||va;a[t]=i(e,t,n)}removeEventListener(e,t){const n=e.$proxies||(e.$proxies={}),a=n[t];a&&(({attach:ma,detach:ma,resize:ma}[t]||sa)(e,t,a),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,a){return _t(e,t,n,a)}isAttached(e){const t=e&&ut(e);return!(!t||!t.isConnected)}}function _a(e){return!lt()||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?na:ga}var ba=Object.freeze({__proto__:null,BasePlatform:ta,BasicPlatform:na,DomPlatform:ga,_detectPlatform:_a});const ya="transparent",wa={boolean:(e,t,n)=>n>.5?t:e,color(e,t,n){const a=Ke(e||ya),i=a.valid&&Ke(t||ya);return i&&i.valid?i.mix(a,n).hexString():t},number:(e,t,n)=>e+(t-e)*n};class ka{constructor(e,t,n,a){const i=t[n];a=kn([e.to,a,i,e.from]);const r=kn([e.from,i,a]);this._active=!0,this._fn=e.fn||wa[e.type||typeof r],this._easing=un[e.easing]||un.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=r,this._to=a,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);const a=this._target[this._prop],i=n-this._start,r=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(r,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=kn([e.to,t,a,e.from]),this._from=kn([e.from,a,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,n=this._duration,a=this._prop,i=this._from,r=this._loop,o=this._to;let s;if(this._active=i!==o&&(r||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[a]=this._fn(i,o,s))}wait(){const e=this._promises||(this._promises=[]);return new Promise(((t,n)=>{e.push({res:t,rej:n})}))}_notify(e){const t=e?"res":"rej",n=this._promises||[];for(let e=0;e{const o=e[a];if(!r(o))return;const s={};for(const e of t)s[e]=o[e];(i(o.properties)&&o.properties||[a]).forEach((e=>{e!==a&&n.has(e)||n.set(e,s)}))}))}_animateOptions(e,t){const n=t.options,a=function(e,t){if(!t)return;let n=e.options;if(n)return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n;e.options=t}(e,n);if(!a)return[];const i=this._createAnimations(a,n);return n.$shared&&function(e,t){const n=[],a=Object.keys(t);for(let t=0;t{e.options=n}),(()=>{})),i}_createAnimations(e,t){const n=this._properties,a=[],i=e.$animations||(e.$animations={}),r=Object.keys(t),o=Date.now();let s;for(s=r.length-1;s>=0;--s){const l=r[s];if("$"===l.charAt(0))continue;if("options"===l){a.push(...this._animateOptions(e,t));continue}const u=t[l];let c=i[l];const d=n.get(l);if(c){if(d&&c.active()){c.update(d,u,o);continue}c.cancel()}d&&d.duration?(i[l]=c=new ka(d,e,l,u),a.push(c)):e[l]=u}return a}update(e,t){if(0===this._properties.size)return void Object.assign(e,t);const n=this._createAnimations(e,t);return n.length?(ge.add(this._chart,n),!0):void 0}}function Sa(e,t){const n=e&&e.options||{},a=n.reverse,i=void 0===n.min?t:0,r=void 0===n.max?t:0;return{start:a?r:i,end:a?i:r}}function Ca(e,t){const n=[],a=e._getSortedDatasetMetas(t);let i,r;for(i=0,r=a.length;i0||!n&&t<0)return i.index}return null}function Aa(e,t){const{chart:n,_cachedMeta:a}=e,i=n._stacks||(n._stacks={}),{iScale:r,vScale:o,index:s}=a,l=r.axis,u=o.axis,c=function(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}(r,o,a),d=t.length;let h;for(let e=0;en[e].axis===t)).shift()}function Oa(e,t){const n=e.controller.index,a=e.vScale&&e.vScale.axis;if(a){t=t||e._parsed;for(const e of t){const t=e._stacks;if(!t||void 0===t[a]||void 0===t[a][n])return;delete t[a][n],void 0!==t[a]._visualValues&&void 0!==t[a]._visualValues[n]&&delete t[a]._visualValues[n]}}}const Na=e=>"reset"===e||"none"===e,Ra=(e,t)=>t?e:Object.assign({},e);class za{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=Ma(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(e){this.index!==e&&Oa(this._cachedMeta),this.index=e}linkScales(){const e=this.chart,t=this._cachedMeta,n=this.getDataset(),a=(e,t,n,a)=>"x"===e?t:"r"===e?a:n,i=t.xAxisID=l(n.xAxisID,La(e,"x")),r=t.yAxisID=l(n.yAxisID,La(e,"y")),o=t.rAxisID=l(n.rAxisID,La(e,"r")),s=t.indexAxis,u=t.iAxisID=a(s,i,r,o),c=t.vAxisID=a(s,r,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(r),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(u),t.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){const t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update("reset")}_destroy(){const e=this._cachedMeta;this._data&&se(this._data,this),e._stacked&&Oa(e)}_dataCheck(){const e=this.getDataset(),t=e.data||(e.data=[]),n=this._data;if(r(t)){const e=this._cachedMeta;this._data=function(e,t){const{iScale:n,vScale:a}=t,i="x"===n.axis?"x":"y",r="x"===a.axis?"x":"y",o=Object.keys(e),s=new Array(o.length);let l,u,c;for(l=0,u=o.length;l0&&n._parsed[e-1];if(!1===this._parsing)n._parsed=a,n._sorted=!0,d=a;else{d=i(a[e])?this.parseArrayData(n,a,e,t):r(a[e])?this.parseObjectData(n,a,e,t):this.parsePrimitiveData(n,a,e,t);const o=()=>null===c[l]||p&&c[l]e&&!t.hidden&&t._stacked&&{keys:Ca(n,!0),values:null})(t,n,this.chart),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(e){const{min:t,max:n,minDefined:a,maxDefined:i}=e.getUserBounds();return{min:a?t:Number.NEGATIVE_INFINITY,max:i?n:Number.POSITIVE_INFINITY}}(s);let h,p;function f(){p=a[h];const t=p[s.axis];return!o(p[e.axis])||c>t||d=0;--h)if(!f()){this.updateRangeFromParsed(u,e,p,l);break}return u}getAllParsedValues(e){const t=this._cachedMeta._parsed,n=[];let a,i,r;for(a=0,i=t.length;a=0&&ethis.getContext(n,a,t)),c);return p.$shared&&(p.$shared=s,i[r]=Object.freeze(Ra(p,s))),p}_resolveAnimations(e,t,n){const a=this.chart,i=this._cachedDataOpts,r=`animation-${t}`,o=i[r];if(o)return o;let s;if(!1!==a.options.animation){const a=this.chart.config,i=a.datasetAnimationScopeKeys(this._type,t),r=a.getOptionScopes(this.getDataset(),i);s=a.createResolver(r,this.getContext(e,n,t))}const l=new xa(a,s&&s.animations);return s&&s._cacheable&&(i[r]=Object.freeze(l)),l}getSharedOptions(e){if(e.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},e))}includeOptions(e,t){return!t||Na(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){const n=this.resolveDataElementOptions(e,t),a=this._sharedOptions,i=this.getSharedOptions(n),r=this.includeOptions(t,i)||i!==a;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:r}}updateElement(e,t,n,a){Na(a)?Object.assign(e,n):this._resolveAnimations(t,a).update(e,n)}updateSharedOptions(e,t,n){e&&!Na(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,a){e.active=a;const i=this.getStyle(t,a);this._resolveAnimations(t,n,a).update(e,{options:!a&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,"active",!1)}setHoverStyle(e,t,n){this._setStyle(e,n,"active",!0)}_removeDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!1)}_setDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!0)}_resyncElements(e){const t=this._data,n=this._cachedMeta.data;for(const[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];const a=n.length,i=t.length,r=Math.min(i,a);r&&this.parse(0,r),i>a?this._insertElements(a,i-a,e):i{for(e.length+=t,o=e.length-1;o>=r;o--)e[o]=e[o-t]};for(s(i),o=e;o{a[e]=n[e]&&n[e].active()?n[e]._to:this[e]})),a}}function Ia(e,t){const n=e.options.ticks,i=function(e){const t=e.options.offset,n=e._tickSize(),a=e._length/n+(t?0:1),i=e._maxLength/n;return Math.floor(Math.min(a,i))}(e),r=Math.min(n.maxTicksLimit||i,i),o=n.major.enabled?function(e){const t=[];let n,a;for(n=0,a=e.length;nr)return function(e,t,n,a){let i,r=0,o=n[0];for(a=Math.ceil(a),i=0;ii)return t}return Math.max(i,1)}(o,t,r);if(s>0){let e,n;const i=s>1?Math.round((u-l)/(s-1)):null;for(Da(t,c,d,a(i)?0:l-i,l),e=0,n=s-1;e"top"===t||"left"===t?e[t]+n:e[t]-n,$a=(e,t)=>Math.min(t||e,e);function Fa(e,t){const n=[],a=e.length/t,i=e.length;let r=0;for(;ro+s)))return u}function Va(e){return e.drawTicks?e.tickLength:0}function Ha(e,t){if(!e.display)return 0;const n=wn(e.font,t),a=yn(e.padding);return(i(e.text)?e.text.length:1)*n.lineHeight+a.height}function Ua(e,t,n){let a=he(e);return(n&&"right"!==t||!n&&"right"===t)&&(a=(e=>"left"===e?"right":"right"===e?"left":e)(a)),a}class Wa extends qa{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:n,_suggestedMax:a}=this;return e=s(e,Number.POSITIVE_INFINITY),t=s(t,Number.NEGATIVE_INFINITY),n=s(n,Number.POSITIVE_INFINITY),a=s(a,Number.NEGATIVE_INFINITY),{min:s(e,n),max:s(t,a),minDefined:o(e),maxDefined:o(t)}}getMinMax(e){let t,{min:n,max:a,minDefined:i,maxDefined:r}=this.getUserBounds();if(i&&r)return{min:n,max:a};const o=this.getMatchingVisibleMetas();for(let s=0,l=o.length;sa?a:n,a=i&&n>a?n:a,{min:s(n,s(a,n)),max:s(a,s(n,a))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(e))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(e,t,n){const{beginAtZero:a,grace:i,ticks:r}=this.options,o=r.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xn(this,i,a),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const s=o=i||n<=1||!this.isHorizontal())return void(this.labelRotation=a);const u=this._getLabelSizes(),c=u.widest.width,d=u.highest.height,h=X(this.chart.width-c,0,this.maxWidth);r=e.offset?this.maxWidth/n:h/(n-1),c+6>r&&(r=h/(n-(e.offset?.5:1)),o=this.maxHeight-Va(e.grid)-t.padding-Ha(e.title,this.chart.options.font),s=Math.sqrt(c*c+d*d),l=U(Math.min(Math.asin(X((u.highest.height+6)/r,-1,1)),Math.asin(X(o/s,-1,1))-Math.asin(X(d/s,-1,1)))),l=Math.max(a,Math.min(i,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:t,options:{ticks:n,title:a,grid:i}}=this,r=this._isVisible(),o=this.isHorizontal();if(r){const r=Ha(a,t.options.font);if(o?(e.width=this.maxWidth,e.height=Va(i)+r):(e.height=this.maxHeight,e.width=Va(i)+r),n.display&&this.ticks.length){const{first:t,last:a,widest:i,highest:r}=this._getLabelSizes(),s=2*n.padding,l=H(this.labelRotation),u=Math.cos(l),c=Math.sin(l);if(o){const t=n.mirror?0:c*i.width+u*r.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{const t=n.mirror?0:u*i.width+c*r.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,a,c,u)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,a){const{ticks:{align:i,padding:r},position:o}=this.options,s=0!==this.labelRotation,l="top"!==o&&"x"===this.axis;if(this.isHorizontal()){const o=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;s?l?(c=a*e.width,d=n*t.height):(c=n*e.height,d=a*t.width):"start"===i?d=t.width:"end"===i?c=e.width:"inner"!==i&&(c=e.width/2,d=t.width/2),this.paddingLeft=Math.max((c-o+r)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-u+r)*this.width/(this.width-u),0)}else{let n=t.height/2,a=e.height/2;"start"===i?(n=0,a=e.height):"end"===i&&(n=t.height,a=0),this.paddingTop=n+r,this.paddingBottom=a+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:t}=this.options;return"top"===t||"bottom"===t||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let t,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),t=0,n=e.length;t{const n=e.gc,a=n.length/2;let i;if(a>t){for(i=0;i({width:s[e]||0,height:l[e]||0});return{first:T(0),last:T(t-1),widest:T(S),highest:T(C),widths:s,heights:l}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const t=this._startPixel+e*this._length;return J(this._alignToPixels?Ct(this.chart,t,0):t)}getDecimalForPixel(e){const t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){const t=this.ticks||[];if(e>=0&&eo*a?o/n:s/a:s*a0}_computeGridLineItems(e){const t=this.axis,n=this.chart,a=this.options,{grid:i,position:o,border:s}=a,u=i.offset,c=this.isHorizontal(),d=this.ticks.length+(u?1:0),h=Va(i),p=[],f=s.setContext(this.getContext()),m=f.display?f.width:0,v=m/2,g=function(e){return Ct(n,e,m)};let _,b,y,w,k,x,S,C,T,M,E,P;if("top"===o)_=g(this.bottom),x=this.bottom-h,C=_-v,M=g(e.top)+v,P=e.bottom;else if("bottom"===o)_=g(this.top),M=e.top,P=g(e.bottom)-v,x=_+v,C=this.top+h;else if("left"===o)_=g(this.right),k=this.right-h,S=_-v,T=g(e.left)+v,E=e.right;else if("right"===o)_=g(this.left),T=e.left,E=g(e.right)-v,k=_+v,S=this.left+h;else if("x"===t){if("center"===o)_=g((e.top+e.bottom)/2+.5);else if(r(o)){const e=Object.keys(o)[0],t=o[e];_=g(this.chart.scales[e].getPixelForValue(t))}M=e.top,P=e.bottom,x=_+v,C=x+h}else if("y"===t){if("center"===o)_=g((e.left+e.right)/2);else if(r(o)){const e=Object.keys(o)[0],t=o[e];_=g(this.chart.scales[e].getPixelForValue(t))}k=_-v,S=k-h,T=e.left,E=e.right}const A=l(a.ticks.maxTicksLimit,d),L=Math.max(1,Math.ceil(d/A));for(b=0;b0&&(r-=a/2)}d={left:r,top:i,width:a+t.width,height:n+t.height,color:e.backdropColor}}g.push({label:w,font:T,textOffset:P,options:{rotation:v,color:n,strokeColor:r,strokeWidth:u,textAlign:p,textBaseline:A,translation:[k,x],backdrop:d}})}return g}_getXAxisLabelAlignment(){const{position:e,ticks:t}=this.options;if(-H(this.labelRotation))return"top"===e?"left":"right";let n="center";return"start"===t.align?n="left":"end"===t.align?n="right":"inner"===t.align&&(n="inner"),n}_getYAxisLabelAlignment(e){const{position:t,ticks:{crossAlign:n,mirror:a,padding:i}}=this.options,r=e+i,o=this._getLabelSizes().widest.width;let s,l;return"left"===t?a?(l=this.right+i,"near"===n?s="left":"center"===n?(s="center",l+=o/2):(s="right",l+=o)):(l=this.right-r,"near"===n?s="right":"center"===n?(s="center",l-=o/2):(s="left",l=this.left)):"right"===t?a?(l=this.left+i,"near"===n?s="right":"center"===n?(s="center",l-=o/2):(s="left",l-=o)):(l=this.left+r,"near"===n?s="left":"center"===n?(s="center",l+=o/2):(s="right",l=this.right)):s="right",{textAlign:s,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const e=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:e.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:e.width}:void 0}drawBackground(){const{ctx:e,options:{backgroundColor:t},left:n,top:a,width:i,height:r}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,a,i,r),e.restore())}getLineWidthForValue(e){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const n=this.ticks.findIndex((t=>t.value===e));return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){const t=this.options.grid,n=this.ctx,a=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let i,r;const o=(e,t,a)=>{a.width&&a.color&&(n.save(),n.lineWidth=a.width,n.strokeStyle=a.color,n.setLineDash(a.borderDash||[]),n.lineDashOffset=a.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,r=a.length;i{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:a,draw:()=>{this.drawBorder()}},{z:t,draw:e=>{this.drawLabels(e)}}]:[{z:t,draw:e=>{this.draw(e)}}]}getMatchingVisibleMetas(e){const t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",a=[];let i,r;for(i=0,r=t.length;i{const a=n.split("."),i=a.pop(),r=[e].concat(a).join("."),o=t[n].split("."),s=o.pop(),l=o.join(".");st.route(r,i,l,s)}))}(t,e.defaultRoutes),e.descriptors&&st.describe(t,e.descriptors)}(e,r,n),this.override&&st.override(e.id,e.overrides)),r}get(e){return this.items[e]}unregister(e){const t=this.items,n=e.id,a=this.scope;n in t&&delete t[n],a&&n in st[a]&&(delete st[a][n],this.override&&delete at[n])}}var Qa=new class{constructor(){this.controllers=new Ya(za,"datasets",!0),this.elements=new Ya(qa,"elements"),this.plugins=new Ya(Object,"plugins"),this.scales=new Ya(Wa,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each("register",e)}remove(...e){this._each("unregister",e)}addControllers(...e){this._each("register",e,this.controllers)}addElements(...e){this._each("register",e,this.elements)}addPlugins(...e){this._each("register",e,this.plugins)}addScales(...e){this._each("register",e,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(...e){this._each("unregister",e,this.controllers)}removeElements(...e){this._each("unregister",e,this.elements)}removePlugins(...e){this._each("unregister",e,this.plugins)}removeScales(...e){this._each("unregister",e,this.scales)}_each(e,t,n){[...t].forEach((t=>{const a=n||this._getRegistryForType(t);n||a.isForType(t)||a===this.plugins&&t.id?this._exec(e,a,t):h(t,(t=>{const a=n||this._getRegistryForType(t);this._exec(e,a,t)}))}))}_exec(e,t,n){const a=x(e);d(n["before"+a],[],n),t[e](n),d(n["after"+a],[],n)}_getRegistryForType(e){for(let t=0;te.filter((e=>!t.some((t=>e.plugin.id===t.plugin.id))));this._notify(a(t,n),e,"stop"),this._notify(a(n,t),e,"start")}}function Ga(e,t){return t||!1!==e?!0===e?{}:e:null}function Za(e,{plugin:t,local:n},a,i){const r=e.pluginScopeKeys(t),o=e.getOptionScopes(a,r);return n&&t.defaults&&o.push(t.defaults),e.createResolver(o,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Xa(e,t){const n=st.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function Ja(e){if("x"===e||"y"===e||"r"===e)return e}function ei(e,...t){if(Ja(e))return e;for(const a of t){const t=a.axis||("top"===(n=a.position)||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0)||e.length>1&&Ja(e[0].toLowerCase());if(t)return t}var n;throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function ti(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function ni(e){const t=e.options||(e.options={});t.plugins=l(t.plugins,{}),t.scales=function(e,t){const n=at[e.type]||{scales:{}},a=t.scales||{},i=Xa(e.type,t),o=Object.create(null);return Object.keys(a).forEach((t=>{const s=a[t];if(!r(s))return console.error(`Invalid scale configuration for scale: ${t}`);if(s._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const l=ei(t,s,function(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter((t=>t.xAxisID===e||t.yAxisID===e));if(n.length)return ti(e,"x",n[0])||ti(e,"y",n[0])}return{}}(t,e),st.scales[s.type]),u=function(e,t){return e===t?"_index_":"_value_"}(l,i),c=n.scales||{};o[t]=_(Object.create(null),[{axis:l},s,c[l],c[u]])})),e.data.datasets.forEach((n=>{const i=n.type||e.type,r=n.indexAxis||Xa(i,t),s=(at[i]||{}).scales||{};Object.keys(s).forEach((e=>{const t=function(e,t){let n=e;return"_index_"===e?n=t:"_value_"===e&&(n="x"===t?"y":"x"),n}(e,r),i=n[t+"AxisID"]||t;o[i]=o[i]||Object.create(null),_(o[i],[{axis:t},a[i],s[e]])}))})),Object.keys(o).forEach((e=>{const t=o[e];_(t,[st.scales[t.type],st.scale])})),o}(e,t)}function ai(e){return(e=e||{}).datasets=e.datasets||[],e.labels=e.labels||[],e}const ii=new Map,ri=new Set;function oi(e,t){let n=ii.get(e);return n||(n=t(),ii.set(e,n),ri.add(n)),n}const si=(e,t,n)=>{const a=k(t,n);void 0!==a&&e.add(a)};class li{constructor(e){this._config=function(e){return(e=e||{}).data=ai(e.data),ni(e),e}(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=ai(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),ni(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return oi(e,(()=>[[`datasets.${e}`,""]]))}datasetAnimationScopeKeys(e,t){return oi(`${e}.transition.${t}`,(()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,""]]))}datasetElementScopeKeys(e,t){return oi(`${e}-${t}`,(()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,""]]))}pluginScopeKeys(e){const t=e.id;return oi(`${this.type}-plugin-${t}`,(()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]]))}_cachedScopes(e,t){const n=this._scopeCache;let a=n.get(e);return a&&!t||(a=new Map,n.set(e,a)),a}getOptionScopes(e,t,n){const{options:a,type:i}=this,r=this._cachedScopes(e,n),o=r.get(t);if(o)return o;const s=new Set;t.forEach((t=>{e&&(s.add(e),t.forEach((t=>si(s,e,t)))),t.forEach((e=>si(s,a,e))),t.forEach((e=>si(s,at[i]||{},e))),t.forEach((e=>si(s,st,e))),t.forEach((e=>si(s,it,e)))}));const l=Array.from(s);return 0===l.length&&l.push(Object.create(null)),ri.has(t)&&r.set(t,l),l}chartOptionScopes(){const{options:e,type:t}=this;return[e,at[t]||{},st.datasets[t]||{},{type:t},st,it]}resolveNamedOptions(e,t,n,a=[""]){const r={$shared:!0},{resolver:o,subPrefixes:s}=ui(this._resolverCache,e,a);let l=o;(function(e,t){const{isScriptable:n,isIndexable:a}=$t(e);for(const r of t){const t=n(r),o=a(r),s=(o||t)&&e[r];if(t&&(C(s)||ci(s))||o&&i(s))return!0}return!1})(o,t)&&(r.$shared=!1,l=jt(o,n=C(n)?n():n,this.createResolver(e,n,s)));for(const e of t)r[e]=l[e];return r}createResolver(e,t,n=[""],a){const{resolver:i}=ui(this._resolverCache,e,n);return r(t)?jt(i,t,void 0,a):i}}function ui(e,t,n){let a=e.get(t);a||(a=new Map,e.set(t,a));const i=n.join();let r=a.get(i);return r||(r={resolver:Dt(t,n),subPrefixes:n.filter((e=>!e.toLowerCase().includes("hover")))},a.set(i,r)),r}const ci=e=>r(e)&&Object.getOwnPropertyNames(e).some((t=>C(e[t]))),di=["top","bottom","left","right","chartArea"];function hi(e,t){return"top"===e||"bottom"===e||-1===di.indexOf(e)&&"x"===t}function pi(e,t){return function(n,a){return n[e]===a[e]?n[t]-a[t]:n[e]-a[e]}}function fi(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),d(n&&n.onComplete,[e],t)}function mi(e){const t=e.chart,n=t.options.animation;d(n&&n.onProgress,[e],t)}function vi(e){return lt()&&"string"==typeof e?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const gi={},_i=e=>{const t=vi(e);return Object.values(gi).filter((e=>e.canvas===t)).pop()};function bi(e,t,n){const a=Object.keys(e);for(const i of a){const a=+i;if(a>=t){const r=e[i];delete e[i],(n>0||a>t)&&(e[a+n]=r)}}}function yi(e,t,n){return e.options.clip?e[n]:t[n]}class wi{static defaults=st;static instances=gi;static overrides=at;static registry=Qa;static version="4.4.4";static getChart=_i;static register(...e){Qa.add(...e),ki()}static unregister(...e){Qa.remove(...e),ki()}constructor(e,t){const a=this.config=new li(t),i=vi(e),r=_i(i);if(r)throw new Error("Canvas is already in use. Chart with ID '"+r.id+"' must be destroyed before the canvas with ID '"+r.canvas.id+"' can be reused.");const o=a.createResolver(a.chartOptionScopes(),this.getContext());this.platform=new(a.platform||_a(i)),this.platform.updateConfig(a);const s=this.platform.acquireContext(i,o.aspectRatio),l=s&&s.canvas,u=l&&l.height,c=l&&l.width;this.id=n(),this.ctx=s,this.canvas=l,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Ka,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=de((e=>this.update(e)),o.resizeDelay||0),this._dataChanges=[],gi[this.id]=this,s&&l?(ge.listen(this,"complete",fi),ge.listen(this,"progress",mi),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:i,_aspectRatio:r}=this;return a(e)?t&&r?r:i?n/i:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return Qa}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():bt(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Tt(this.canvas,this.ctx),this}stop(){return ge.stop(this),this}resize(e,t){ge.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const n=this.options,a=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(a,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,bt(this,o,!0)&&(this.notifyPlugins("resize",{size:r}),d(n.onResize,[this,r],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){h(this.options.scales||{},((e,t)=>{e.id=t}))}buildOrUpdateScales(){const e=this.options,t=e.scales,n=this.scales,a=Object.keys(n).reduce(((e,t)=>(e[t]=!1,e)),{});let i=[];t&&(i=i.concat(Object.keys(t).map((e=>{const n=t[e],a=ei(e,n),i="r"===a,r="x"===a;return{options:n,dposition:i?"chartArea":r?"bottom":"left",dtype:i?"radialLinear":r?"category":"linear"}})))),h(i,(t=>{const i=t.options,r=i.id,o=ei(r,i),s=l(i.type,t.dtype);void 0!==i.position&&hi(i.position,o)===hi(t.dposition)||(i.position=t.dposition),a[r]=!0;let u=null;r in n&&n[r].type===s?u=n[r]:(u=new(Qa.getScale(s))({id:r,type:s,ctx:this.ctx,chart:this}),n[u.id]=u),u.init(i,e)})),h(a,((e,t)=>{e||delete n[t]})),h(n,(e=>{ea.configure(this,e,e.options),ea.addBox(this,e)}))}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort(((e,t)=>e.index-t.index)),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach(((e,n)=>{0===t.filter((t=>t===e._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let n,a;for(this._removeUnreferencedMetasets(),n=0,a=t.length;n{this.getDatasetMeta(t).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),a=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let e=0,t=this.data.datasets.length;e{e.reset()})),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(pi("z","_idx"));const{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){h(this.scales,(e=>{ea.removeBox(this,e)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),n=new Set(e.events);T(t,n)&&!!this._responsiveListeners===e.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:n,start:a,count:i}of t)bi(e,a,"_removeElements"===n?-i:i)}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,n=t=>new Set(e.filter((e=>e[0]===t)).map(((e,t)=>t+","+e.splice(1).join(",")))),a=n(0);for(let e=1;ee.split(","))).map((e=>({method:e[1],start:+e[2],count:+e[3]})))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ea.update(this,this.width,this.height,e);const t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],h(this.boxes,(e=>{n&&"chartArea"===e.position||(e.configure&&e.configure(),this._layers.push(...e._layers()))}),this),this._layers.forEach(((e,t)=>{e._idx=t})),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,n=e._clip,a=!n.disabled,i=function(e,t){const{xScale:n,yScale:a}=e;return n&&a?{left:yi(n,t,"left"),right:yi(n,t,"right"),top:yi(a,t,"top"),bottom:yi(a,t,"bottom")}:t}(e,this.chartArea),r={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",r)&&(a&&At(t,{left:!1===n.left?0:i.left-n.left,right:!1===n.right?this.width:i.right+n.right,top:!1===n.top?0:i.top-n.top,bottom:!1===n.bottom?this.height:i.bottom+n.bottom}),e.controller.draw(),a&&Lt(t),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(e){return Pt(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,a){const i=Bn.modes[t];return"function"==typeof i?i(this,e,n,a):[]}getDatasetMeta(e){const t=this.data.datasets[e],n=this._metasets;let a=n.filter((e=>e&&e._dataset===t)).pop();return a||(a={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(a)),a}getContext(){return this.$context||(this.$context=Sn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const n=this.getDatasetMeta(e);return"boolean"==typeof n.hidden?!n.hidden:!t.hidden}setDatasetVisibility(e,t){this.getDatasetMeta(e).hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){const a=n?"show":"hide",i=this.getDatasetMeta(e),r=i.controller._resolveAnimations(void 0,a);S(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),r.update(i,{visible:n}),this.update((t=>t.datasetIndex===e?a:void 0)))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),ge.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,a),e[n]=a},a=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};h(this.options.events,(e=>n(e,a)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,n=(n,a)=>{t.addEventListener(this,n,a),e[n]=a},a=(n,a)=>{e[n]&&(t.removeEventListener(this,n,a),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)};let r;const o=()=>{a("attach",o),this.attached=!0,this.resize(),n("resize",i),n("detach",r)};r=()=>{this.attached=!1,a("resize",i),this._stop(),this._resize(0,0),n("attach",o)},t.isAttached(this.canvas)?o():r()}unbindEvents(){h(this._listeners,((e,t)=>{this.platform.removeEventListener(this,t,e)})),this._listeners={},h(this._responsiveListeners,((e,t)=>{this.platform.removeEventListener(this,t,e)})),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){const a=n?"set":"remove";let i,r,o,s;for("dataset"===t&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller["_"+a+"DatasetHoverStyle"]()),o=0,s=e.length;o{const n=this.getDatasetMeta(e);if(!n)throw new Error("No dataset found at index "+e);return{datasetIndex:e,element:n.data[t],index:t}}));!p(n,t)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return 1===this._plugins._cache.filter((t=>t.plugin.id===e)).length}_updateHoverStyles(e,t,n){const a=this.options.hover,i=(e,t)=>e.filter((e=>!t.some((t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)))),r=i(t,e),o=n?e:i(e,t);r.length&&this.updateHoverStyle(r,a.mode,!1),o.length&&a.mode&&this.updateHoverStyle(o,a.mode,!0)}_eventHandler(e,t){const n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},a=t=>(t.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",n,a))return;const i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,a),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){const{_active:a=[],options:i}=this,r=t,o=this._getActiveElements(e,a,n,r),s=M(e),l=function(e,t,n,a){return n&&"mouseout"!==e.type?a?t:e:null}(e,this._lastEvent,n,s);n&&(this._lastEvent=null,d(i.onHover,[e,o,this],this),s&&d(i.onClick,[e,o,this],this));const u=!p(o,a);return(u||t)&&(this._active=o,this._updateHoverStyles(o,a,t)),this._lastEvent=l,u}_getActiveElements(e,t,n,a){if("mouseout"===e.type)return[];if(!n)return t;const i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,a)}}function ki(){return h(wi.instances,(e=>e._plugins.invalidate()))}function xi(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Si{static override(e){Object.assign(Si.prototype,e)}options;constructor(e){this.options=e||{}}init(){}formats(){return xi()}parse(){return xi()}format(){return xi()}add(){return xi()}diff(){return xi()}startOf(){return xi()}endOf(){return xi()}}var Ci={_date:Si};function Ti(e){const t=e.iScale,n=function(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let a=[];for(let t=0,i=n.length;te-t)))}return e._cache.$bar}(t,e.type);let a,i,r,o,s=t._length;const l=()=>{32767!==r&&-32768!==r&&(S(o)&&(s=Math.min(s,Math.abs(r-o)||s)),o=r)};for(a=0,i=n.length;aMath.abs(s)&&(l=s,u=o),t[n.axis]=u,t._custom={barStart:l,barEnd:u,start:i,end:r,min:o,max:s}}(e,t,n,a):t[n.axis]=n.parse(e,a),t}function Ei(e,t,n,a){const i=e.iScale,r=e.vScale,o=i.getLabels(),s=i===r,l=[];let u,c,d,h;for(u=n,c=n+a;ue.x,n="left",a="right"):(t=e.base"spacing"!==e,_indexable:e=>"spacing"!==e&&!e.startsWith("borderDash")&&!e.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:n,color:a}}=e.legend.options;return t.labels.map(((t,i)=>{const r=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,fontColor:a,lineWidth:r.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}}))}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){const n=this.getDataset().data,a=this._cachedMeta;if(!1===this._parsing)a._parsed=n;else{let i,o,s=e=>+n[e];if(r(n[e])){const{key:e="value"}=this._parsing;s=t=>+k(n[t],e)}for(i=e,o=e+t;iZ(e,s,l,!0)?1:Math.max(t,t*n,a,a*n),f=(e,t,a)=>Z(e,s,l,!0)?-1:Math.min(t,t*n,a,a*n),m=p(0,u,d),v=p(N,c,h),g=f(E,u,d),_=f(E+N,c,h);a=(m-g)/2,i=(v-_)/2,r=-(m+g)/2,o=-(v+_)/2}return{ratioX:a,ratioY:i,offsetX:r,offsetY:o}}(h,d,s),g=(n.width-r)/p,_=(n.height-r)/f,b=Math.max(Math.min(g,_)/2,0),y=c(this.options.radius,b),w=(y-Math.max(y*s,0))/this._getVisibleDatasetWeightTotal();this.offsetX=m*y,this.offsetY=v*y,a.total=this.calculateTotal(),this.outerRadius=y-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*l,0),this.updateElements(i,0,i.length,e)}_circumference(e,t){const n=this.options,a=this._cachedMeta,i=this._getCircumference();return t&&n.animation.animateRotate||!this.chart.getDataVisibility(e)||null===a._parsed[e]||a.data[e].hidden?0:this.calculateCircumference(a._parsed[e]*i/P)}updateElements(e,t,n,a){const i="reset"===a,r=this.chart,o=r.chartArea,s=r.options.animation,l=(o.left+o.right)/2,u=(o.top+o.bottom)/2,c=i&&s.animateScale,d=c?0:this.innerRadius,h=c?0:this.outerRadius,{sharedOptions:p,includeOptions:f}=this._getSharedOptions(t,a);let m,v=this._getRotation();for(m=0;m0&&!isNaN(e)?P*(Math.abs(e)/t):0}getLabelAndValue(e){const t=this._cachedMeta,n=this.chart,a=n.data.labels||[],i=et(t._parsed[e],n.options.locale);return{label:a[e]||"",value:i}}getMaxBorderWidth(e){let t=0;const n=this.chart;let a,i,r,o,s;if(!e)for(a=0,i=n.data.datasets.length;a{const r=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,fontColor:a,lineWidth:r.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}}))}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){const t=this._cachedMeta,n=this.chart,a=n.data.labels||[],i=et(t._parsed[e].r,n.options.locale);return{label:a[e]||"",value:i}}parseObjectData(e,t,n,a){return Zt.bind(this)(e,t,n,a)}update(e){const t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){const e=this._cachedMeta,t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return e.data.forEach(((e,n)=>{const a=this.getParsed(n).r;!isNaN(a)&&this.chart.getDataVisibility(n)&&(at.max&&(t.max=a))})),t}_updateRadius(){const e=this.chart,t=e.chartArea,n=e.options,a=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(a/2,0),r=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(e,t,n,a){const i="reset"===a,r=this.chart,o=r.options.animation,s=this._cachedMeta.rScale,l=s.xCenter,u=s.yCenter,c=s.getIndexAngle(0)-.5*E;let d,h=c;const p=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++})),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?H(this.resolveDataElementOptions(e,t).angle||n):0}}var qi=Object.freeze({__proto__:null,BarController:class extends za{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(e,t,n,a){return Ei(e,t,n,a)}parseArrayData(e,t,n,a){return Ei(e,t,n,a)}parseObjectData(e,t,n,a){const{iScale:i,vScale:r}=e,{xAxisKey:o="x",yAxisKey:s="y"}=this._parsing,l="x"===i.axis?o:s,u="x"===r.axis?o:s,c=[];let d,h,p,f;for(d=n,h=n+a;de.controller.options.grouped)),r=n.options.stacked,o=[],s=this._cachedMeta.controller.getParsed(t),l=s&&s[n.axis],u=e=>{const t=e._parsed.find((e=>e[n.axis]===l)),i=t&&t[e.vScale.axis];if(a(i)||isNaN(i))return!0};for(const n of i)if((void 0===t||!u(n))&&((!1===r||-1===o.indexOf(n.stack)||void 0===r&&void 0===n.stack)&&o.push(n.stack),n.index===e))break;return o.length||o.push(void 0),o}_getStackCount(e){return this._getStacks(void 0,e).length}_getStackIndex(e,t,n){const a=this._getStacks(e,n),i=void 0!==t?a.indexOf(t):-1;return-1===i?a.length-1:i}_getRuler(){const e=this.options,t=this._cachedMeta,n=t.iScale,a=[];let i,r;for(i=0,r=t.data.length;i=n?1:-1)}(h,t,s)*o,p===s&&(g-=h/2);const e=t.getPixelForDecimal(0),a=t.getPixelForDecimal(1),r=Math.min(e,a),u=Math.max(e,a);g=Math.max(Math.min(g,u),r),d=g+h,n&&!c&&(l._stacks[t.axis]._visualValues[i]=t.getValueForPixel(d)-t.getValueForPixel(g))}if(g===t.getPixelForValue(s)){const e=I(h)*t.getLineWidthForValue(s)/2;g+=e,h-=e}return{size:h,base:g,head:d,center:d+h/2}}_calculateBarIndexPixels(e,t){const n=t.scale,i=this.options,r=i.skipNull,o=l(i.maxBarThickness,1/0);let s,u;if(t.grouped){const n=r?this._getStackCount(e):t.stackCount,l="flex"===i.barThickness?function(e,t,n,a){const i=t.pixels,r=i[e];let o=e>0?i[e-1]:null,s=e=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){const t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:a,yScale:i}=t,r=this.getParsed(e),o=a.getLabelForValue(r.x),s=i.getLabelForValue(r.y),l=r._custom;return{label:n[e]||"",value:"("+o+", "+s+(l?", "+l:"")+")"}}update(e){const t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,a){const i="reset"===a,{iScale:r,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:l}=this._getSharedOptions(t,a),u=r.axis,c=o.axis;for(let d=t;d0&&this.getParsed(t-1);for(let n=0;n=_){b.skip=!0;continue}const w=this.getParsed(n),k=a(w[p]),x=b[h]=o.getPixelForValue(w[h],n),S=b[p]=r||k?s.getBasePixel():s.getPixelForValue(l?this.applyStack(s,w,l):w[p],n);b.skip=isNaN(x)||isNaN(S)||k,b.stop=n>0&&Math.abs(w[h]-y[h])>v,m&&(b.parsed=w,b.raw=u.data[n]),d&&(b.options=c||this.resolveDataElementOptions(n,f.active?"active":i)),g||this.updateElement(f,n,b,i),y=w}}getMaxOverflow(){const e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,a=e.data||[];if(!a.length)return n;const i=a[0].size(this.resolveDataElementOptions(0)),r=a[a.length-1].size(this.resolveDataElementOptions(a.length-1));return Math.max(n,i,r)/2}draw(){const e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},PieController:class extends Ri{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:zi,RadarController:class extends za{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(e){const t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:""+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,a){return Zt.bind(this)(e,t,n,a)}update(e){const t=this._cachedMeta,n=t.dataset,a=t.data||[],i=t.iScale.getLabels();if(n.points=a,"resize"!==e){const t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);const r={_loop:!0,_fullLoop:i.length===a.length,options:t};this.updateElement(n,void 0,r,e)}this.updateElements(a,0,a.length,e)}updateElements(e,t,n,a){const i=this._cachedMeta.rScale,r="reset"===a;for(let o=t;o0&&this.getParsed(t-1);for(let c=t;c0&&Math.abs(n[p]-b[p])>g,v&&(m.parsed=n,m.raw=u.data[c]),h&&(m.options=d||this.resolveDataElementOptions(c,t.active?"active":i)),_||this.updateElement(t,c,m,i),b=n}this.updateSharedOptions(d,i,c)}getMaxOverflow(){const e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}const n=e.dataset,a=n.options&&n.options.borderWidth||0;if(!t.length)return a;const i=t[0].size(this.resolveDataElementOptions(0)),r=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(a,i,r)/2}}});function Ii(e,t,n,a){return{x:n+e*Math.cos(t),y:a+e*Math.sin(t)}}function Di(e,t,n,a,i,r){const{x:o,y:s,startAngle:l,pixelMargin:u,innerRadius:c}=t,d=Math.max(t.outerRadius+a+n-u,0),h=c>0?c+a+n+u:0;let p=0;const f=i-l;if(a){const e=((c>0?c-a:0)+(d>0?d-a:0))/2;p=(f-(0!==e?f*e/(e+a):f))/2}const m=(f-Math.max(.001,f*d-n/E)/d)/2,v=l+m+p,g=i-m-p,{outerStart:_,outerEnd:b,innerStart:y,innerEnd:w}=function(e,t,n,a){const i=gn(e.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),r=(n-t)/2,o=Math.min(r,a*t/2),s=e=>{const t=(n-Math.min(r,e))*a/2;return X(e,0,Math.min(r,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:X(i.innerStart,0,o),innerEnd:X(i.innerEnd,0,o)}}(t,h,d,g-v),k=d-_,x=d-b,S=v+_/k,C=g-b/x,T=h+y,M=h+w,P=v+y/T,A=g-w/M;if(e.beginPath(),r){const t=(S+C)/2;if(e.arc(o,s,d,S,t),e.arc(o,s,d,t,C),b>0){const t=Ii(x,C,o,s);e.arc(t.x,t.y,b,C,g+N)}const n=Ii(M,g,o,s);if(e.lineTo(n.x,n.y),w>0){const t=Ii(M,A,o,s);e.arc(t.x,t.y,w,g+N,A+Math.PI)}const a=(g-w/h+(v+y/h))/2;if(e.arc(o,s,h,g-w/h,a,!0),e.arc(o,s,h,a,v+y/h,!0),y>0){const t=Ii(T,P,o,s);e.arc(t.x,t.y,y,P+Math.PI,v-N)}const i=Ii(k,v,o,s);if(e.lineTo(i.x,i.y),_>0){const t=Ii(k,S,o,s);e.arc(t.x,t.y,_,v-N,S)}}else{e.moveTo(o,s);const t=Math.cos(S)*d+o,n=Math.sin(S)*d+s;e.lineTo(t,n);const a=Math.cos(C)*d+o,i=Math.sin(C)*d+s;e.lineTo(a,i)}e.closePath()}function ji(e,t,n=t){e.lineCap=l(n.borderCapStyle,t.borderCapStyle),e.setLineDash(l(n.borderDash,t.borderDash)),e.lineDashOffset=l(n.borderDashOffset,t.borderDashOffset),e.lineJoin=l(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=l(n.borderWidth,t.borderWidth),e.strokeStyle=l(n.borderColor,t.borderColor)}function $i(e,t,n){e.lineTo(n.x,n.y)}function Fi(e,t,n={}){const a=e.length,{start:i=0,end:r=a-1}=n,{start:o,end:s}=t,l=Math.max(i,o),u=Math.min(r,s),c=is&&r>s;return{count:a,start:l,loop:t.loop,ilen:u(o+(u?s-e:e))%r,b=()=>{p!==f&&(e.lineTo(v,f),e.lineTo(v,p),e.lineTo(v,m))};for(l&&(d=i[_(0)],e.moveTo(d.x,d.y)),c=0;c<=s;++c){if(d=i[_(c)],d.skip)continue;const t=d.x,n=d.y,a=0|t;a===h?(nf&&(f=n),v=(g*v+t)/++g):(b(),e.lineTo(t,n),h=a,g=0,p=f=n),m=n}b()}function Hi(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return e._decimated||e._loop||t.tension||"monotone"===t.cubicInterpolationMode||t.stepped||n?Bi:Vi}const Ui="function"==typeof Path2D;class Wi extends qa{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const a=n.spanGaps?this._loop:this._fullLoop;rn(this._points,n,e,a,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=On(this,this.options.segment))}first(){const e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){const e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){const n=this.options,a=e[t],i=this.points,r=Ln(this,{property:t,start:a,end:a});if(!r.length)return;const o=[],s=function(e){return e.stepped?dn:e.tension||"monotone"===e.cubicInterpolationMode?hn:cn}(n);let l,u;for(l=0,u=r.length;l"borderDash"!==e};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){const a=this.getProps(["x","y"],n),{angle:i,distance:r}=Y(a,{x:e,y:t}),{startAngle:o,endAngle:s,innerRadius:u,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),h=(this.options.spacing+this.options.borderWidth)/2,p=l(d,s-o),f=Z(i,o,s)&&o!==s,m=p>=P||f,v=ee(r,u+h,c+h);return m&&v}getCenterPoint(e){const{x:t,y:n,startAngle:a,endAngle:i,innerRadius:r,outerRadius:o}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:s,spacing:l}=this.options,u=(a+i)/2,c=(r+o+l+s)/2;return{x:t+Math.cos(u)*c,y:n+Math.sin(u)*c}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:t,circumference:n}=this,a=(t.offset||0)/4,i=(t.spacing||0)/2,r=t.circular;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=n>P?Math.floor(n/P):0,0===n||this.innerRadius<0||this.outerRadius<0)return;e.save();const o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*a,Math.sin(o)*a);const s=a*(1-Math.sin(Math.min(E,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,function(e,t,n,a,i){const{fullCircles:r,startAngle:o,circumference:s}=t;let l=t.endAngle;if(r){Di(e,t,n,a,l,i);for(let t=0;ti?(u=i/l,e.arc(r,o,l,n+u,a-u,!0)):e.arc(r,o,i,n+N,a-N),e.closePath(),e.clip()}(e,t,f),r||(Di(e,t,n,a,f,i),e.stroke())}(e,this,s,i,r),e.restore()}},BarElement:class extends qa{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){const{inflateAmount:t,options:{borderColor:n,backgroundColor:a}}=this,{inner:i,outer:r}=Gi(this),o=(s=r.radius).topLeft||s.topRight||s.bottomLeft||s.bottomRight?It:Xi;var s;e.save(),r.w===i.w&&r.h===i.h||(e.beginPath(),o(e,Ji(r,t,i)),e.clip(),o(e,Ji(i,-t,r)),e.fillStyle=n,e.fill("evenodd")),e.beginPath(),o(e,Ji(i,t)),e.fillStyle=a,e.fill(),e.restore()}inRange(e,t,n){return Zi(this,e,t,n)}inXRange(e,t){return Zi(this,e,null,t)}inYRange(e,t){return Zi(this,null,e,t)}getCenterPoint(e){const{x:t,y:n,base:a,horizontal:i}=this.getProps(["x","y","base","horizontal"],e);return{x:i?(t+a)/2:t,y:i?n:(n+a)/2}}getRange(e){return"x"===e?this.width/2:this.height/2}},LineElement:Wi,PointElement:class extends qa{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(e){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,e&&Object.assign(this,e)}inRange(e,t,n){const a=this.options,{x:i,y:r}=this.getProps(["x","y"],n);return Math.pow(e-i,2)+Math.pow(t-r,2)=0&&ea=t?a:e,o=e=>i=n?i:e;if(e){const e=I(a),t=I(i);e<0&&t<0?o(0):e>0&&t>0&&r(0)}if(a===i){let t=0===i?1:Math.abs(.05*i);o(i+t),e||r(a-t)}this.min=a,this.max=i}getTickLimit(){const e=this.options.ticks;let t,{maxTicksLimit:n,stepSize:a}=e;return a?(t=Math.ceil(this.max/a)-Math.floor(this.min/a)+1,t>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${a} would result generating up to ${t} ticks. Limiting to 1000.`),t=1e3)):(t=this.computeTickLimit(),n=n||11),n&&(t=Math.min(n,t)),t}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,t=e.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i=function(e,t){const n=[],{bounds:i,step:r,min:o,max:s,precision:l,count:u,maxTicks:c,maxDigits:d,includeBounds:h}=e,p=r||1,f=c-1,{min:m,max:v}=t,g=!a(o),_=!a(s),b=!a(u),y=(v-m)/(d+1);let w,k,x,S,C=j((v-m)/f/p)*p;if(C<1e-14&&!g&&!_)return[{value:m},{value:v}];S=Math.ceil(v/C)-Math.floor(m/C),S>f&&(C=j(S*C/f/p)*p),a(l)||(w=Math.pow(10,l),C=Math.ceil(C*w)/w),"ticks"===i?(k=Math.floor(m/C)*C,x=Math.ceil(v/C)*C):(k=m,x=v),g&&_&&r&&B((s-o)/r,C/1e3)?(S=Math.round(Math.min((s-o)/C,c)),C=(s-o)/S,k=o,x=s):b?(k=g?o:k,x=_?s:x,S=u-1,C=(x-k)/S):(S=(x-k)/C,S=D(S,Math.round(S),C/1e3)?Math.round(S):Math.ceil(S));const T=Math.max(W(C),W(k));w=Math.pow(10,a(l)?T:l),k=Math.round(k*w)/w,x=Math.round(x*w)/w;let M=0;for(g&&(h&&k!==o?(n.push({value:o}),ks)break;n.push({value:e})}return _&&h&&x!==s?n.length&&D(n[n.length-1].value,s,nr(s,y,e))?n[n.length-1].value=s:n.push({value:s}):_&&x!==s||n.push({value:x}),n}({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===e.bounds&&V(i,this,"value"),e.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}configure(){const e=this.ticks;let t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){const a=(n-t)/Math.max(e.length-1,1)/2;t-=a,n+=a}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return et(e,this.chart.options.locale,this.options.ticks.format)}}class ir extends ar{static id="linear";static defaults={ticks:{callback:nt.formatters.numeric}};determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=o(e)?e:0,this.max=o(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const e=this.isHorizontal(),t=e?this.width:this.height,n=H(this.options.ticks.minRotation),a=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/a))}getPixelForValue(e){return null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}}const rr=e=>Math.floor(q(e)),or=(e,t)=>Math.pow(10,rr(e)+t);function sr(e){return 1==e/Math.pow(10,rr(e))}function lr(e,t,n){const a=Math.pow(10,n),i=Math.floor(e/a);return Math.ceil(t/a)-i}class ur extends Wa{static id="logarithmic";static defaults={ticks:{callback:nt.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){const n=ar.prototype.parse.apply(this,[e,t]);if(0!==n)return o(n)&&n>0?n:null;this._zero=!0}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=o(e)?Math.max(0,e):null,this.max=o(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!o(this._userMin)&&(this.min=e===or(this.min,0)?or(this.min,-1):or(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let n=this.min,a=this.max;const i=t=>n=e?n:t,r=e=>a=t?a:e;n===a&&(n<=0?(i(1),r(10)):(i(or(n,-1)),r(or(a,1)))),n<=0&&i(or(a,-1)),a<=0&&r(or(n,1)),this.min=n,this.max=a}buildTicks(){const e=this.options,t=function(e,{min:t,max:n}){t=s(e.min,t);const a=[],i=rr(t);let r=function(e,t){let n=rr(t-e);for(;lr(e,t,n)>10;)n++;for(;lr(e,t,n)<10;)n--;return Math.min(n,rr(e))}(t,n),o=r<0?Math.pow(10,Math.abs(r)):1;const l=Math.pow(10,r),u=i>r?Math.pow(10,i):0,c=Math.round((t-u)*o)/o,d=Math.floor((t-u)/l/10)*l*10;let h=Math.floor((c-d)/Math.pow(10,r)),p=s(e.min,Math.round((u+d+h*Math.pow(10,r))*o)/o);for(;p=10?h=h<15?15:20:h++,h>=20&&(r++,h=2,o=r>=0?1:o),p=Math.round((u+d+h*Math.pow(10,r))*o)/o;const f=s(e.max,p);return a.push({value:f,major:sr(f),significand:h}),a}({min:this._userMin,max:this._userMax},this);return"ticks"===e.bounds&&V(t,this,"value"),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return void 0===e?"0":et(e,this.chart.options.locale,this.options.ticks.format)}configure(){const e=this.min;super.configure(),this._startValue=q(e),this._valueRange=q(this.max)-q(e)}getPixelForValue(e){return void 0!==e&&0!==e||(e=this.min),null===e||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(q(e)-this._startValue)/this._valueRange)}getValueForPixel(e){const t=this.getDecimalForPixel(e);return Math.pow(10,this._startValue+t*this._valueRange)}}function cr(e){const t=e.ticks;if(t.display&&e.display){const e=yn(t.backdropPadding);return l(t.font&&t.font.size,st.font.size)+e.height}return 0}function dr(e,t,n,a,i){return e===a||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function hr(e,t,n,a,i){const r=Math.abs(Math.sin(n)),o=Math.abs(Math.cos(n));let s=0,l=0;a.startt.r&&(s=(a.end-t.r)/r,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(l=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+l))}function pr(e,t,n){const a=e.drawingArea,{extra:i,additionalAngle:r,padding:o,size:s}=n,l=e.getPointPosition(t,a+i+o,r),u=Math.round(U(G(l.angle+N))),c=function(e,t,n){return 90===n||270===n?e-=t/2:(n>270||n<90)&&(e-=t),e}(l.y,s.h,u),d=function(e){return 0===e||180===e?"center":e<180?"left":"right"}(u),h=function(e,t,n){return"right"===n?e-=t:"center"===n&&(e-=t/2),e}(l.x,s.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:h,top:c,right:h+s.w,bottom:c+s.h}}function fr(e,t){if(!t)return!0;const{left:n,top:a,right:i,bottom:r}=e;return!(Pt({x:n,y:a},t)||Pt({x:n,y:r},t)||Pt({x:i,y:a},t)||Pt({x:i,y:r},t))}function mr(e,t,n){const{left:i,top:r,right:o,bottom:s}=n,{backdropColor:l}=t;if(!a(l)){const n=bn(t.borderRadius),a=yn(t.backdropPadding);e.fillStyle=l;const u=i-a.left,c=r-a.top,d=o-i+a.width,h=s-r+a.height;Object.values(n).some((e=>0!==e))?(e.beginPath(),It(e,{x:u,y:c,w:d,h:h,radius:n}),e.fill()):e.fillRect(u,c,d,h)}}function vr(e,t,n,a){const{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,P);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let r=1;re,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const e=this._padding=yn(cr(this.options)/2),t=this.width=this.maxWidth-e.width,n=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+n/2+e.top),this.drawingArea=Math.floor(Math.min(t,n)/2)}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!1);this.min=o(e)&&!isNaN(e)?e:0,this.max=o(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/cr(this.options))}generateTickLabels(e){ar.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map(((e,t)=>{const n=d(this.options.pointLabels.callback,[e,t],this);return n||0===n?n:""})).filter(((e,t)=>this.chart.getDataVisibility(t)))}fit(){const e=this.options;e.display&&e.pointLabels.display?function(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),a=[],r=[],o=e._pointLabels.length,s=e.options.pointLabels,l=s.centerPointLabels?E/o:0;for(let h=0;h=0&&e=0;i--){const t=e._pointLabelItems[i];if(!t.visible)continue;const r=a.setContext(e.getPointLabelContext(i));mr(n,r,t);const o=wn(r.font),{x:s,y:l,textAlign:u}=t;qt(n,e._pointLabels[i],s,l+o.lineHeight/2,o,{color:r.color,textAlign:u,textBaseline:"middle"})}}(this,r),a.display&&this.ticks.forEach(((e,t)=>{if(0!==t||0===t&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);const n=this.getContext(t),o=a.setContext(n),l=i.setContext(n);!function(e,t,n,a,i){const r=e.ctx,o=t.circular,{color:s,lineWidth:l}=t;!o&&!a||!s||!l||n<0||(r.save(),r.strokeStyle=s,r.lineWidth=l,r.setLineDash(i.dash),r.lineDashOffset=i.dashOffset,r.beginPath(),vr(e,n,o,a),r.closePath(),r.stroke(),r.restore())}(this,o,s,r,l)}})),n.display){for(e.save(),o=r-1;o>=0;o--){const a=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:r}=a;r&&i&&(e.lineWidth=r,e.strokeStyle=i,e.setLineDash(a.borderDash),e.lineDashOffset=a.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),l=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(l.x,l.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;const a=this.getIndexAngle(0);let i,r;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(a),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach(((a,o)=>{if(0===o&&this.min>=0&&!t.reverse)return;const s=n.setContext(this.getContext(o)),l=wn(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=l.string,r=e.measureText(a.label).width,e.fillStyle=s.backdropColor;const t=yn(s.backdropPadding);e.fillRect(-r/2-t.left,-i-l.size/2-t.top,r+t.width,l.size+t.height)}qt(e,a.label,0,-i,l,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})})),e.restore()}drawTitle(){}}const _r={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},br=Object.keys(_r);function yr(e,t){return e-t}function wr(e,t){if(a(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let l=t;return"function"==typeof i&&(l=i(l)),o(l)||(l="string"==typeof i?n.parse(l,i):n.parse(l)),null===l?null:(r&&(l="week"!==r||!F(s)&&!0!==s?n.startOf(l,r):n.startOf(l,"isoWeek",s)),+l)}function kr(e,t,n,a){const i=br.length;for(let r=br.indexOf(e);r=t?n[a]:n[i]]=!0}}else e[t]=!0}function Sr(e,t,n){const a=[],i={},r=t.length;let o,s;for(o=0;o=0&&(t[l].major=!0);return t}(e,a,i,n):a}class Cr extends Wa{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e,t={}){const n=e.time||(e.time={}),a=this._adapter=new Ci._date(e.adapters.date);a.init(t),_(n.displayFormats,a.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(e),this._normalized=t.normalized}parse(e,t){return void 0===e?null:wr(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const e=this.options,t=this._adapter,n=e.time.unit||"day";let{min:a,max:i,minDefined:r,maxDefined:s}=this.getUserBounds();function l(e){r||isNaN(e.min)||(a=Math.min(a,e.min)),s||isNaN(e.max)||(i=Math.max(i,e.max))}r&&s||(l(this._getLabelBounds()),"ticks"===e.bounds&&"labels"===e.ticks.source||l(this.getMinMax(!1))),a=o(a)&&!isNaN(a)?a:+t.startOf(Date.now(),n),i=o(i)&&!isNaN(i)?i:+t.endOf(Date.now(),n)+1,this.min=Math.min(a,i-1),this.max=Math.max(a+1,i)}_getLabelBounds(){const e=this.getLabelTimestamps();let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return e.length&&(t=e[0],n=e[e.length-1]),{min:t,max:n}}buildTicks(){const e=this.options,t=e.time,n=e.ticks,a="labels"===n.source?this.getLabelTimestamps():this._generate();"ticks"===e.bounds&&a.length&&(this.min=this._userMin||a[0],this.max=this._userMax||a[a.length-1]);const i=this.min,r=ie(a,i,this.max);return this._unit=t.unit||(n.autoSkip?kr(t.minUnit,this.min,this.max,this._getLabelCapacity(i)):function(e,t,n,a,i){for(let r=br.length-1;r>=br.indexOf(n);r--){const n=br[r];if(_r[n].common&&e._adapter.diff(i,a,n)>=t-1)return n}return br[n?br.indexOf(n):0]}(this,r.length,t.minUnit,this.min,this.max)),this._majorUnit=n.major.enabled&&"year"!==this._unit?function(e){for(let t=br.indexOf(e)+1,n=br.length;t+e.value)))}initOffsets(e=[]){let t,n,a=0,i=0;this.options.offset&&e.length&&(t=this.getDecimalForValue(e[0]),a=1===e.length?1-t:(this.getDecimalForValue(e[1])-t)/2,n=this.getDecimalForValue(e[e.length-1]),i=1===e.length?n:(n-this.getDecimalForValue(e[e.length-2]))/2);const r=e.length<3?.5:.25;a=X(a,0,r),i=X(i,0,r),this._offsets={start:a,end:i,factor:1/(a+1+i)}}_generate(){const e=this._adapter,t=this.min,n=this.max,a=this.options,i=a.time,r=i.unit||kr(i.minUnit,t,n,this._getLabelCapacity(t)),o=l(a.ticks.stepSize,1),s="week"===r&&i.isoWeekday,u=F(s)||!0===s,c={};let d,h,p=t;if(u&&(p=+e.startOf(p,"isoWeek",s)),p=+e.startOf(p,u?"day":r),e.diff(n,t,r)>1e5*o)throw new Error(t+" and "+n+" are too far apart with stepSize of "+o+" "+r);const f="data"===a.ticks.source&&this.getDataTimestamps();for(d=p,h=0;d+e))}getLabelForValue(e){const t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){const n=this.options.time.displayFormats,a=this._unit,i=t||n[a];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,a){const i=this.options,r=i.ticks.callback;if(r)return d(r,[e,t,n],this);const o=i.time.displayFormats,s=this._unit,l=this._majorUnit,u=s&&o[s],c=l&&o[l],h=n[t],p=l&&c&&h&&h.major;return this._adapter.format(e,a||(p?c:u))}generateTickLabels(e){let t,n,a;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e,t,n=this._cache.data||[];if(n.length)return n;const a=this.getMatchingVisibleMetas();if(this._normalized&&a.length)return this._cache.data=a[0].controller.getAllParsedValues(this);for(e=0,t=a.length;e=e[s].pos&&t<=e[l].pos&&({lo:s,hi:l}=ne(e,"pos",t)),({pos:a,time:r}=e[s]),({pos:i,time:o}=e[l])):(t>=e[s].time&&t<=e[l].time&&({lo:s,hi:l}=ne(e,"time",t)),({time:a,pos:r}=e[s]),({time:i,pos:o}=e[l]));const u=i-a;return u?r+(o-r)*(t-a)/u:r}var Mr=Object.freeze({__proto__:null,CategoryScale:class extends Wa{static id="category";static defaults={ticks:{callback:tr}};constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const t=this._addedLabels;if(t.length){const e=this.getLabels();for(const{index:n,label:a}of t)e[n]===a&&e.splice(n,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(a(e))return null;const n=this.getLabels();return((e,t)=>null===e?null:X(Math.round(e),0,t))(t=isFinite(t)&&n[t]===e?t:function(e,t,n,a){const i=e.indexOf(t);return-1===i?((e,t,n,a)=>("string"==typeof t?(n=e.push(t)-1,a.unshift({index:n,label:t})):isNaN(t)&&(n=null),n))(e,t,n,a):i!==e.lastIndexOf(t)?n:i}(n,e,l(t,e),this._addedLabels),n.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let{min:n,max:a}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(n=0),t||(a=this.getLabels().length-1)),this.min=n,this.max=a}buildTicks(){const e=this.min,t=this.max,n=this.options.offset,a=[];let i=this.getLabels();i=0===e&&t===i.length-1?i:i.slice(e,t+1),this._valueRange=Math.max(i.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let n=e;n<=t;n++)a.push({value:n});return a}getLabelForValue(e){return tr.call(this,e)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:ir,LogarithmicScale:ur,RadialLinearScale:gr,TimeScale:Cr,TimeSeriesScale:class extends Cr{static id="timeseries";static defaults=Cr.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Tr(t,this.min),this._tableRange=Tr(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:t,max:n}=this,a=[],i=[];let r,o,s,l,u;for(r=0,o=e.length;r=t&&l<=n&&a.push(l);if(a.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(r=0,o=a.length;re-t))}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;const t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(Tr(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){const t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return Tr(this._table,n*this._tableRange+this._minPos,!0)}}});const Er=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Pr=Er.map((e=>e.replace("rgb(","rgba(").replace(")",", 0.5)")));function Ar(e){return Er[e%Er.length]}function Lr(e){return Pr[e%Pr.length]}function Or(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}var Nr={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;const{data:{datasets:a},options:i}=e.config,{elements:r}=i;if(!n.forceOverride&&(Or(a)||(o=i)&&(o.borderColor||o.backgroundColor)||r&&Or(r)))return;var o;const s=function(e){let t=0;return(n,a)=>{const i=e.getDatasetMeta(a).controller;i instanceof Ri?t=function(e,t){return e.backgroundColor=e.data.map((()=>Ar(t++))),t}(n,t):i instanceof zi?t=function(e,t){return e.backgroundColor=e.data.map((()=>Lr(t++))),t}(n,t):i&&(t=function(e,t){return e.borderColor=Ar(t),e.backgroundColor=Lr(t),++t}(n,t))}}(e);a.forEach(s)}};function Rr(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function zr(e){e.data.datasets.forEach((e=>{Rr(e)}))}var qr={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled)return void zr(e);const i=e.width;e.data.datasets.forEach(((t,r)=>{const{_data:o,indexAxis:s}=t,l=e.getDatasetMeta(r),u=o||t.data;if("y"===kn([s,e.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=e.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(e.options.parsing)return;let d,{start:h,count:p}=function(e,t){const n=t.length;let a,i=0;const{iScale:r}=e,{min:o,max:s,minDefined:l,maxDefined:u}=r.getUserBounds();return l&&(i=X(ne(t,r.axis,o).lo,0,n-1)),a=u?X(ne(t,r.axis,s).hi+1,i,n)-i:n-i,{start:i,count:a}}(l,u);if(p<=(n.threshold||4*i))Rr(t);else{switch(a(o)&&(t._data=u,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}})),n.algorithm){case"lttb":d=function(e,t,n,a,i){const r=i.samples||a;if(r>=n)return e.slice(t,t+n);const o=[],s=(n-2)/(r-2);let l=0;const u=t+n-1;let c,d,h,p,f,m=t;for(o[l++]=e[m],c=0;ch&&(h=p,d=e[a],f=a);o[l++]=d,m=f}return o[l++]=e[u],o}(u,h,p,i,n);break;case"min-max":d=function(e,t,n,i){let r,o,s,l,u,c,d,h,p,f,m=0,v=0;const g=[],_=t+n-1,b=e[t].x,y=e[_].x-b;for(r=t;rf&&(f=l,d=r),m=(v*m+o.x)/++v;else{const n=r-1;if(!a(c)&&!a(d)){const t=Math.min(c,d),a=Math.max(c,d);t!==h&&t!==n&&g.push({...e[t],x:m}),a!==h&&a!==n&&g.push({...e[a],x:m})}r>0&&n!==h&&g.push(e[n]),g.push(o),u=t,v=0,p=f=l,c=d=h=r}}return g}(u,h,p,i);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=d}}))},destroy(e){zr(e)}};function Ir(e,t,n,a){if(a)return;let i=t[e],r=n[e];return"angle"===e&&(i=G(i),r=G(r)),{property:e,start:i,end:r}}function Dr(e,t,n){for(;t>e;t--){const e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function jr(e,t,n,a){return e&&t?a(e[n],t[n]):e?e[n]:t?t[n]:0}function $r(e,t){let n=[],a=!1;return i(e)?(a=!0,n=e):n=function(e,t){const{x:n=null,y:a=null}=e||{},i=t.points,r=[];return t.segments.forEach((({start:e,end:t})=>{t=Dr(e,t,i);const o=i[e],s=i[t];null!==a?(r.push({x:o.x,y:a}),r.push({x:s.x,y:a})):null!==n&&(r.push({x:n,y:o.y}),r.push({x:n,y:s.y}))})),r}(e,t),n.length?new Wi({points:n,options:{tension:0},_loop:a,_fullLoop:a}):null}function Fr(e){return e&&!1!==e.fill}function Br(e,t,n){let a=e[t].fill;const i=[t];let r;if(!n)return a;for(;!1!==a&&-1===i.indexOf(a);){if(!o(a))return a;if(r=e[a],!r)return!1;if(r.visible)return a;i.push(a),a=r.fill}return!1}function Vr(e,t,n){const a=function(e){const t=e.options,n=t.fill;let a=l(n&&n.target,n);return void 0===a&&(a=!!t.backgroundColor),!1!==a&&null!==a&&(!0===a?"origin":a)}(e);if(r(a))return!isNaN(a.value)&&a;let i=parseFloat(a);return o(i)&&Math.floor(i)===i?function(e,t,n,a){return"-"!==e&&"+"!==e||(n=t+n),!(n===t||n<0||n>=a)&&n}(a[0],t,i,n):["origin","start","end","stack","shape"].indexOf(a)>=0&&a}function Hr(e,t,n){const a=[];for(let i=0;i=0;--t){const n=i[t].$filler;n&&(n.line.updateControlPoints(r,n.axis),a&&n.fill&&Qr(e.ctx,n,r))}},beforeDatasetsDraw(e,t,n){if("beforeDatasetsDraw"!==n.drawTime)return;const a=e.getSortedVisibleDatasetMetas();for(let t=a.length-1;t>=0;--t){const n=a[t].$filler;Fr(n)&&Qr(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){const a=t.meta.$filler;Fr(a)&&"beforeDatasetDraw"===n.drawTime&&Qr(e.ctx,a,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const eo=(e,t)=>{let{boxHeight:n=t,boxWidth:a=t}=e;return e.usePointStyle&&(n=Math.min(n,t),a=e.pointStyleWidth||Math.min(a,t)),{boxWidth:a,boxHeight:n,itemHeight:Math.max(t,n)}};class to extends qa{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let t=d(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter((t=>e.filter(t,this.chart.data)))),e.sort&&(t=t.sort(((t,n)=>e.sort(t,n,this.chart.data)))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:e,ctx:t}=this;if(!e.display)return void(this.width=this.height=0);const n=e.labels,a=wn(n.font),i=a.size,r=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=eo(n,i);let l,u;t.font=a.string,this.isHorizontal()?(l=this.maxWidth,u=this._fitRows(r,i,o,s)+10):(u=this.maxHeight,l=this._fitCols(r,a,o,s)+10),this.width=Math.min(l,e.maxWidth||this.maxWidth),this.height=Math.min(u,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,a){const{ctx:i,maxWidth:r,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],l=this.lineWidths=[0],u=a+o;let c=e;i.textAlign="left",i.textBaseline="middle";let d=-1,h=-u;return this.legendItems.forEach(((e,p)=>{const f=n+t/2+i.measureText(e.text).width;(0===p||l[l.length-1]+f+2*o>r)&&(c+=u,l[l.length-(p>0?0:1)]=0,h+=u,d++),s[p]={left:0,top:h,row:d,width:f,height:a},l[l.length-1]+=f+o})),c}_fitCols(e,t,n,a){const{ctx:i,maxHeight:r,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],l=this.columnSizes=[],u=r-e;let c=o,d=0,h=0,p=0,f=0;return this.legendItems.forEach(((e,r)=>{const{itemWidth:m,itemHeight:v}=function(e,t,n,a,i){const r=function(e,t,n,a){let i=e.text;return i&&"string"!=typeof i&&(i=i.reduce(((e,t)=>e.length>t.length?e:t))),t+n.size/2+a.measureText(i).width}(a,e,t,n),o=function(e,t,n){let a=e;return"string"!=typeof t.text&&(a=no(t,n)),a}(i,a,t.lineHeight);return{itemWidth:r,itemHeight:o}}(n,t,i,e,a);r>0&&h+v+2*o>u&&(c+=d+o,l.push({width:d,height:h}),p+=d+o,f++,d=h=0),s[r]={left:p,top:h,col:f,width:m,height:v},d=Math.max(d,m),h+=v+o})),c+=d,l.push({width:d,height:h}),c}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:a},rtl:i}}=this,r=Cn(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=pe(n,this.left+a,this.right-this.lineWidths[i]);for(const s of t)i!==s.row&&(i=s.row,o=pe(n,this.left+a,this.right-this.lineWidths[i])),s.top+=this.top+e+a,s.left=r.leftForLtr(r.x(o),s.width),o+=s.width+a}else{let i=0,o=pe(n,this.top+e+a,this.bottom-this.columnSizes[i].height);for(const s of t)s.col!==i&&(i=s.col,o=pe(n,this.top+e+a,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+a,s.left=r.leftForLtr(r.x(s.left),s.width),o+=s.height+a}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;At(e,this),this._draw(),Lt(e)}}_draw(){const{options:e,columnSizes:t,lineWidths:n,ctx:a}=this,{align:i,labels:r}=e,o=st.color,s=Cn(e.rtl,this.left,this.width),u=wn(r.font),{padding:c}=r,d=u.size,h=d/2;let p;this.drawTitle(),a.textAlign=s.textAlign("left"),a.textBaseline="middle",a.lineWidth=.5,a.font=u.string;const{boxWidth:f,boxHeight:m,itemHeight:v}=eo(r,d),g=this.isHorizontal(),_=this._computeTitleHeight();p=g?{x:pe(i,this.left+c,this.right-n[0]),y:this.top+c+_,line:0}:{x:this.left+c,y:pe(i,this.top+_+c,this.bottom-t[0].height),line:0},Tn(this.ctx,e.textDirection);const b=v+c;this.legendItems.forEach(((y,w)=>{a.strokeStyle=y.fontColor,a.fillStyle=y.fontColor;const k=a.measureText(y.text).width,x=s.textAlign(y.textAlign||(y.textAlign=r.textAlign)),S=f+h+k;let C=p.x,T=p.y;if(s.setWidth(this.width),g?w>0&&C+S+c>this.right&&(T=p.y+=b,p.line++,C=p.x=pe(i,this.left+c,this.right-n[p.line])):w>0&&T+b>this.bottom&&(C=p.x=C+t[p.line].width+c,p.line++,T=p.y=pe(i,this.top+_+c,this.bottom-t[p.line].height)),function(e,t,n){if(isNaN(f)||f<=0||isNaN(m)||m<0)return;a.save();const i=l(n.lineWidth,1);if(a.fillStyle=l(n.fillStyle,o),a.lineCap=l(n.lineCap,"butt"),a.lineDashOffset=l(n.lineDashOffset,0),a.lineJoin=l(n.lineJoin,"miter"),a.lineWidth=i,a.strokeStyle=l(n.strokeStyle,o),a.setLineDash(l(n.lineDash,[])),r.usePointStyle){const o={radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},l=s.xPlus(e,f/2);Et(a,o,l,t+h,r.pointStyleWidth&&f)}else{const r=t+Math.max((d-m)/2,0),o=s.leftForLtr(e,f),l=bn(n.borderRadius);a.beginPath(),Object.values(l).some((e=>0!==e))?It(a,{x:o,y:r,w:f,h:m,radius:l}):a.rect(o,r,f,m),a.fill(),0!==i&&a.stroke()}a.restore()}(s.x(C),T,y),C=fe(x,C+f+h,g?C+S:this.right,e.rtl),function(e,t,n){qt(a,n.text,e,t+v/2,u,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})}(s.x(C),T,y),g)p.x+=S+c;else if("string"!=typeof y.text){const e=u.lineHeight;p.y+=no(y,e)+c}else p.y+=b})),Mn(this.ctx,e.textDirection)}drawTitle(){const e=this.options,t=e.title,n=wn(t.font),a=yn(t.padding);if(!t.display)return;const i=Cn(e.rtl,this.left,this.width),r=this.ctx,o=t.position,s=n.size/2,l=a.top+s;let u,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),u=this.top+l,c=pe(e.align,c,this.right-d);else{const t=this.columnSizes.reduce(((e,t)=>Math.max(e,t.height)),0);u=l+pe(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}const h=pe(o,c,c+d);r.textAlign=i.textAlign(he(o)),r.textBaseline="middle",r.strokeStyle=t.color,r.fillStyle=t.color,r.font=n.string,qt(r,t.text,h,u,n)}_computeTitleHeight(){const e=this.options.title,t=wn(e.font),n=yn(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,a,i;if(ee(e,this.left,this.right)&&ee(t,this.top,this.bottom))for(i=this.legendHitBoxes,n=0;ne.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:a,textAlign:i,color:r,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map((e=>{const l=e.controller.getStyle(n?0:void 0),u=yn(l.borderWidth);return{text:t[e.index].label,fillStyle:l.backgroundColor,fontColor:r,hidden:!e.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:l.borderColor,pointStyle:a||l.pointStyle,rotation:l.rotation,textAlign:i||l.textAlign,borderRadius:o&&(s||l.borderRadius),datasetIndex:e.index}}),this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class io extends qa{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=t;const a=i(n.text)?n.text.length:1;this._padding=yn(n.padding);const r=a*wn(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=r:this.width=r}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:t,left:n,bottom:a,right:i,options:r}=this,o=r.align;let s,l,u,c=0;return this.isHorizontal()?(l=pe(o,n,i),u=t+e,s=i-n):("left"===r.position?(l=n+e,u=pe(o,a,t),c=-.5*E):(l=i-e,u=pe(o,t,a),c=.5*E),s=a-t),{titleX:l,titleY:u,maxWidth:s,rotation:c}}draw(){const e=this.ctx,t=this.options;if(!t.display)return;const n=wn(t.font),a=n.lineHeight/2+this._padding.top,{titleX:i,titleY:r,maxWidth:o,rotation:s}=this._drawArgs(a);qt(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:he(t.align),textBaseline:"middle",translation:[i,r]})}}var ro={id:"title",_element:io,start(e,t,n){!function(e,t){const n=new io({ctx:e.ctx,options:t,chart:e});ea.configure(e,n,t),ea.addBox(e,n),e.titleBlock=n}(e,n)},stop(e){const t=e.titleBlock;ea.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const a=e.titleBlock;ea.configure(e,a,n),a.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const oo=new WeakMap;var so={id:"subtitle",start(e,t,n){const a=new io({ctx:e.ctx,options:n,chart:e});ea.configure(e,a,n),ea.addBox(e,a),oo.set(e,a)},stop(e){ea.removeBox(e,oo.get(e)),oo.delete(e)},beforeUpdate(e,t,n){const a=oo.get(e);ea.configure(e,a,n),a.options=n},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const lo={average(e){if(!e.length)return!1;let t,n,a=new Set,i=0,r=0;for(t=0,n=e.length;te+t))/a.size,y:i/r}},nearest(e,t){if(!e.length)return!1;let n,a,i,r=t.x,o=t.y,s=Number.POSITIVE_INFINITY;for(n=0,a=e.length;n-1?e.split("\n"):e}function ho(e,t){const{element:n,datasetIndex:a,index:i}=t,r=e.getDatasetMeta(a).controller,{label:o,value:s}=r.getLabelAndValue(i);return{chart:e,label:o,parsed:r.getParsed(i),raw:e.data.datasets[a].data[i],formattedValue:s,dataset:r.getDataset(),dataIndex:i,datasetIndex:a,element:n}}function po(e,t){const n=e.chart.ctx,{body:a,footer:i,title:r}=e,{boxWidth:o,boxHeight:s}=t,l=wn(t.bodyFont),u=wn(t.titleFont),c=wn(t.footerFont),d=r.length,p=i.length,f=a.length,m=yn(t.padding);let v=m.height,g=0,_=a.reduce(((e,t)=>e+t.before.length+t.lines.length+t.after.length),0);_+=e.beforeBody.length+e.afterBody.length,d&&(v+=d*u.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),_&&(v+=f*(t.displayColors?Math.max(s,l.lineHeight):l.lineHeight)+(_-f)*l.lineHeight+(_-1)*t.bodySpacing),p&&(v+=t.footerMarginTop+p*c.lineHeight+(p-1)*t.footerSpacing);let b=0;const y=function(e){g=Math.max(g,n.measureText(e).width+b)};return n.save(),n.font=u.string,h(e.title,y),n.font=l.string,h(e.beforeBody.concat(e.afterBody),y),b=t.displayColors?o+2+t.boxPadding:0,h(a,(e=>{h(e.before,y),h(e.lines,y),h(e.after,y)})),b=0,n.font=c.string,h(e.footer,y),n.restore(),g+=m.width,{width:g,height:v}}function fo(e,t,n,a){const{x:i,width:r}=n,{width:o,chartArea:{left:s,right:l}}=e;let u="center";return"center"===a?u=i<=(s+l)/2?"left":"right":i<=r/2?u="left":i>=o-r/2&&(u="right"),function(e,t,n,a){const{x:i,width:r}=a,o=n.caretSize+n.caretPadding;return"left"===e&&i+r+o>t.width||"right"===e&&i-r-o<0||void 0}(u,e,t,n)&&(u="center"),u}function mo(e,t,n){const a=n.yAlign||t.yAlign||function(e,t){const{y:n,height:a}=t;return ne.height-a/2?"bottom":"center"}(e,n);return{xAlign:n.xAlign||t.xAlign||fo(e,t,n,a),yAlign:a}}function vo(e,t,n,a){const{caretSize:i,caretPadding:r,cornerRadius:o}=e,{xAlign:s,yAlign:l}=n,u=i+r,{topLeft:c,topRight:d,bottomLeft:h,bottomRight:p}=bn(o);let f=function(e,t){let{x:n,width:a}=e;return"right"===t?n-=a:"center"===t&&(n-=a/2),n}(t,s);const m=function(e,t,n){let{y:a,height:i}=e;return"top"===t?a+=n:a-="bottom"===t?i+n:i/2,a}(t,l,u);return"center"===l?"left"===s?f+=u:"right"===s&&(f-=u):"left"===s?f-=Math.max(c,h)+i:"right"===s&&(f+=Math.max(d,p)+i),{x:X(f,0,a.width-t.width),y:X(m,0,a.height-t.height)}}function go(e,t,n){const a=yn(n.padding);return"center"===t?e.x+e.width/2:"right"===t?e.x+e.width-a.right:e.x+a.left}function _o(e){return uo([],co(e))}function bo(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const yo={beforeTitle:t,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,a=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return t.dataset.label||"";if(t.label)return t.label;if(a>0&&t.dataIndex{const t={before:[],lines:[],after:[]},i=bo(n,e);uo(t.before,co(wo(i,"beforeLabel",this,e))),uo(t.lines,wo(i,"label",this,e)),uo(t.after,co(wo(i,"afterLabel",this,e))),a.push(t)})),a}getAfterBody(e,t){return _o(wo(t.callbacks,"afterBody",this,e))}getFooter(e,t){const{callbacks:n}=t,a=wo(n,"beforeFooter",this,e),i=wo(n,"footer",this,e),r=wo(n,"afterFooter",this,e);let o=[];return o=uo(o,co(a)),o=uo(o,co(i)),o=uo(o,co(r)),o}_createItems(e){const t=this._active,n=this.chart.data,a=[],i=[],r=[];let o,s,l=[];for(o=0,s=t.length;oe.filter(t,a,i,n)))),e.itemSort&&(l=l.sort(((t,a)=>e.itemSort(t,a,n)))),h(l,(t=>{const n=bo(e.callbacks,t);a.push(wo(n,"labelColor",this,t)),i.push(wo(n,"labelPointStyle",this,t)),r.push(wo(n,"labelTextColor",this,t))})),this.labelColors=a,this.labelPointStyles=i,this.labelTextColors=r,this.dataPoints=l,l}update(e,t){const n=this.options.setContext(this.getContext()),a=this._active;let i,r=[];if(a.length){const e=lo[n.position].call(this,a,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const t=this._size=po(this,n),o=Object.assign({},e,t),s=mo(this.chart,n,o),l=vo(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:l.x,y:l.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=r,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,a){const i=this.getCaretPosition(e,n,a);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){const{xAlign:a,yAlign:i}=this,{caretSize:r,cornerRadius:o}=n,{topLeft:s,topRight:l,bottomLeft:u,bottomRight:c}=bn(o),{x:d,y:h}=e,{width:p,height:f}=t;let m,v,g,_,b,y;return"center"===i?(b=h+f/2,"left"===a?(m=d,v=m-r,_=b+r,y=b-r):(m=d+p,v=m+r,_=b-r,y=b+r),g=m):(v="left"===a?d+Math.max(s,u)+r:"right"===a?d+p-Math.max(l,c)-r:this.caretX,"top"===i?(_=h,b=_-r,m=v-r,g=v+r):(_=h+f,b=_+r,m=v+r,g=v-r),y=_),{x1:m,x2:v,x3:g,y1:_,y2:b,y3:y}}drawTitle(e,t,n){const a=this.title,i=a.length;let r,o,s;if(i){const l=Cn(n.rtl,this.x,this.width);for(e.x=go(this,n.titleAlign,n),t.textAlign=l.textAlign(n.titleAlign),t.textBaseline="middle",r=wn(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=r.string,s=0;s0!==e))?(e.beginPath(),e.fillStyle=i.multiKeyBackground,It(e,{x:t,y:f,w:u,h:l,radius:s}),e.fill(),e.stroke(),e.fillStyle=o.backgroundColor,e.beginPath(),It(e,{x:n,y:f+1,w:u-2,h:l-2,radius:s}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,f,u,l),e.strokeRect(t,f,u,l),e.fillStyle=o.backgroundColor,e.fillRect(n,f+1,u-2,l-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){const{body:a}=this,{bodySpacing:i,bodyAlign:r,displayColors:o,boxHeight:s,boxWidth:l,boxPadding:u}=n,c=wn(n.bodyFont);let d=c.lineHeight,p=0;const f=Cn(n.rtl,this.x,this.width),m=function(n){t.fillText(n,f.x(e.x+p),e.y+d/2),e.y+=d+i},v=f.textAlign(r);let g,_,b,y,w,k,x;for(t.textAlign=r,t.textBaseline="middle",t.font=c.string,e.x=go(this,v,n),t.fillStyle=n.bodyColor,h(this.beforeBody,m),p=o&&"right"!==v?"center"===r?l/2+u:l+2+u:0,y=0,k=a.length;y0&&t.stroke()}_updateAnimationTarget(e){const t=this.chart,n=this.$animations,a=n&&n.x,i=n&&n.y;if(a||i){const n=lo[e.position].call(this,this._active,this._eventPosition);if(!n)return;const r=this._size=po(this,e),o=Object.assign({},n,this._size),s=mo(t,e,o),l=vo(e,o,s,t);a._to===l.x&&i._to===l.y||(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=r.width,this.height=r.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(e){const t=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(t);const a={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=yn(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,a,t),Tn(e,t.textDirection),i.y+=r.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),Mn(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){const n=this._active,a=e.map((({datasetIndex:e,index:t})=>{const n=this.chart.getDatasetMeta(e);if(!n)throw new Error("Cannot find a dataset at index "+e);return{datasetIndex:e,element:n.data[t],index:t}})),i=!p(n,a),r=this._positionChanged(a,t);(i||r)&&(this._active=a,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const a=this.options,i=this._active||[],r=this._getActiveElements(e,i,t,n),o=this._positionChanged(r,e),s=t||!p(r,i)||o;return s&&(this._active=r,(a.enabled||a.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,a){const i=this.options;if("mouseout"===e.type)return[];if(!a)return t.filter((e=>this.chart.data.datasets[e.datasetIndex]&&void 0!==this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)));const r=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&r.reverse(),r}_positionChanged(e,t){const{caretX:n,caretY:a,options:i}=this,r=lo[i.position].call(this,e,t);return!1!==r&&(n!==r.x||a!==r.y)}}var xo={id:"tooltip",_element:ko,positioners:lo,afterInit(e,t,n){n&&(e.tooltip=new ko({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(!1===e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0}))return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:yo},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>"filter"!==e&&"itemSort"!==e&&"external"!==e,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return wi.register(qi,Mr,er,e),wi.helpers={...qn},wi._adapters=Ci,wi.Animation=ka,wi.Animations=xa,wi.animator=ge,wi.controllers=Qa.controllers.items,wi.DatasetController=za,wi.Element=qa,wi.elements=er,wi.Interaction=Bn,wi.layouts=ea,wi.platforms=ba,wi.Scale=Wa,wi.Ticks=nt,Object.assign(wi,qi,Mr,er,e,ba),wi.Chart=wi,"undefined"!=typeof window&&(window.Chart=wi),wi})),/*! showdown v 2.1.0 - 21-04-2022 */ -function(){function e(e){"use strict";var t={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,describe:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,describe:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,describe:"Parses simple line breaks as
(GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,describe:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,describe:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",describe:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,describe:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,describe:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,describe:"Support for HTML Tag escaping. ex:
foo
",type:"boolean"},emoji:{defaultValue:!1,describe:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,describe:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},ellipsis:{defaultValue:!0,describe:"Replaces three dots with the ellipsis unicode character",type:"boolean"},completeHTMLDocument:{defaultValue:!1,describe:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,describe:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,describe:"Split adjacent blockquote blocks",type:"boolean"}};if(!1===e)return JSON.parse(JSON.stringify(t));var n={};for(var a in t)t.hasOwnProperty(a)&&(n[a]=t[a].defaultValue);return n}var t={},n={},a={},i=e(!0),r="vanilla",o={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:function(){"use strict";var t=e(!0),n={};for(var a in t)t.hasOwnProperty(a)&&(n[a]=!0);return n}()};function s(e,n){"use strict";var a=n?"Error in "+n+" extension->":"Error in unnamed extension",i={valid:!0,error:""};t.helper.isArray(e)||(e=[e]);for(var r=0;r").replace(/&/g,"&")};var u=function(e,t,n,a){"use strict";var i,r,o,s,l,u=a||"",c=u.indexOf("g")>-1,d=new RegExp(t+"|"+n,"g"+u.replace(/g/g,"")),h=new RegExp(t,u.replace(/g/g,"")),p=[];do{for(i=0;o=d.exec(e);)if(h.test(o[0]))i++||(s=(r=d.lastIndex)-o[0].length);else if(i&&! --i){l=o.index+o[0].length;var f={left:{start:s,end:r},match:{start:r,end:o.index},right:{start:o.index,end:l},wholeMatch:{start:s,end:l}};if(p.push(f),!c)return p}}while(i&&(d.lastIndex=r));return p};t.helper.matchRecursiveRegExp=function(e,t,n,a){"use strict";for(var i=u(e,t,n,a),r=[],o=0;o0){var d=[];0!==s[0].wholeMatch.start&&d.push(e.slice(0,s[0].wholeMatch.start));for(var h=0;h=0?i+(a||0):i},t.helper.splitAtIndex=function(e,n){"use strict";if(!t.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[e.substring(0,n),e.substring(n)]},t.helper.encodeEmailAddress=function(e){"use strict";var t=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}];return e=e.replace(/./g,(function(e){if("@"===e)e=t[Math.floor(2*Math.random())](e);else{var n=Math.random();e=n>.9?t[2](e):n>.45?t[1](e):t[0](e)}return e}))},t.helper.padEnd=function(e,t,n){"use strict";return t|=0,n=String(n||" "),e.length>t?String(e):((t-=e.length)>n.length&&(n+=n.repeat(t/n.length)),String(e)+n.slice(0,t))},"undefined"==typeof console&&(console={warn:function(e){"use strict";alert(e)},log:function(e){"use strict";alert(e)},error:function(e){"use strict";throw e}}),t.helper.regexes={asteriskDashAndColon:/([*_:~])/g},t.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:':octocat:',showdown:"S"},t.Converter=function(e){"use strict";var n={},l=[],u=[],c={},d=r,h={parsed:{},raw:"",format:""};function p(e,n){if(n=n||null,t.helper.isString(e)){if(n=e=t.helper.stdExtName(e),t.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(e,n){"function"==typeof e&&(e=e(new t.Converter));t.helper.isArray(e)||(e=[e]);var a=s(e,n);if(!a.valid)throw Error(a.error);for(var i=0;i[ \t]+¨NBSP;<"),!n){if(!window||!window.document)throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");n=window.document}var a=n.createElement("div");a.innerHTML=e;var i={preList:function(e){for(var n=e.querySelectorAll("pre"),a=[],i=0;i'}else a.push(n[i].innerHTML),n[i].innerHTML="",n[i].setAttribute("prenum",i.toString());return a}(a)};!function e(t){for(var n=0;n? ?(['"].*['"])?\)$/m)>-1)o="";else if(!o){if(r||(r=i.toLowerCase().replace(/ ?\n/g," ")),o="#"+r,t.helper.isUndefined(a.gUrls[r]))return e;o=a.gUrls[r],t.helper.isUndefined(a.gTitles[r])||(u=a.gTitles[r])}var c='
"};return e=(e=(e=(e=(e=a.converter._dispatch("anchors.before",e,n,a)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,i)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,i)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,i)).replace(/\[([^\[\]]+)]()()()()()/g,i),n.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,(function(e,a,i,r,o){if("\\"===i)return a+r;if(!t.helper.isString(n.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var s=n.ghMentionsLink.replace(/\{u}/g,o),l="";return n.openLinksInNewWindow&&(l=' rel="noopener noreferrer" target="¨E95Eblank"'),a+'"+r+""}))),e=a.converter._dispatch("anchors.after",e,n,a)}));var c=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,d=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,h=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,p=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,f=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,m=function(e){"use strict";return function(n,a,i,r,o,s,l){var u=i=i.replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback),c="",d="",h=a||"",p=l||"";return/^www\./i.test(i)&&(i=i.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&s&&(c=s),e.openLinksInNewWindow&&(d=' rel="noopener noreferrer" target="¨E95Eblank"'),h+'"+u+""+c+p}},v=function(e,n){"use strict";return function(a,i,r){var o="mailto:";return i=i||"",r=t.subParser("unescapeSpecialChars")(r,e,n),e.encodeEmails?(o=t.helper.encodeEmailAddress(o+r),r=t.helper.encodeEmailAddress(r)):o+=r,i+''+r+""}};t.subParser("autoLinks",(function(e,t,n){"use strict";return e=(e=(e=n.converter._dispatch("autoLinks.before",e,t,n)).replace(h,m(t))).replace(f,v(t,n)),e=n.converter._dispatch("autoLinks.after",e,t,n)})),t.subParser("simplifiedAutoLinks",(function(e,t,n){"use strict";return t.simplifiedAutoLink?(e=n.converter._dispatch("simplifiedAutoLinks.before",e,t,n),e=(e=t.excludeTrailingPunctuationFromURLs?e.replace(d,m(t)):e.replace(c,m(t))).replace(p,v(t,n)),e=n.converter._dispatch("simplifiedAutoLinks.after",e,t,n)):e})),t.subParser("blockGamut",(function(e,n,a){"use strict";return e=a.converter._dispatch("blockGamut.before",e,n,a),e=t.subParser("blockQuotes")(e,n,a),e=t.subParser("headers")(e,n,a),e=t.subParser("horizontalRule")(e,n,a),e=t.subParser("lists")(e,n,a),e=t.subParser("codeBlocks")(e,n,a),e=t.subParser("tables")(e,n,a),e=t.subParser("hashHTMLBlocks")(e,n,a),e=t.subParser("paragraphs")(e,n,a),e=a.converter._dispatch("blockGamut.after",e,n,a)})),t.subParser("blockQuotes",(function(e,n,a){"use strict";e=a.converter._dispatch("blockQuotes.before",e,n,a),e+="\n\n";var i=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return n.splitAdjacentBlockquotes&&(i=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(i,(function(e){return e=(e=(e=e.replace(/^[ \t]*>[ \t]?/gm,"")).replace(/¨0/g,"")).replace(/^[ \t]+$/gm,""),e=t.subParser("githubCodeBlocks")(e,n,a),e=(e=(e=t.subParser("blockGamut")(e,n,a)).replace(/(^|\n)/g,"$1 ")).replace(/(\s*
[^\r]+?<\/pre>)/gm,(function(e,t){var n=t;return n=(n=n.replace(/^  /gm,"¨0")).replace(/¨0/g,"")})),t.subParser("hashBlock")("
\n"+e+"\n
",n,a)})),e=a.converter._dispatch("blockQuotes.after",e,n,a)})),t.subParser("codeBlocks",(function(e,n,a){"use strict";e=a.converter._dispatch("codeBlocks.before",e,n,a);return e=(e=(e+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,(function(e,i,r){var o=i,s=r,l="\n";return o=t.subParser("outdent")(o,n,a),o=t.subParser("encodeCode")(o,n,a),o=(o=(o=t.subParser("detab")(o,n,a)).replace(/^\n+/g,"")).replace(/\n+$/g,""),n.omitExtraWLInCodeBlocks&&(l=""),o="
"+o+l+"
",t.subParser("hashBlock")(o,n,a)+s}))).replace(/¨0/,""),e=a.converter._dispatch("codeBlocks.after",e,n,a)})),t.subParser("codeSpans",(function(e,n,a){"use strict";return void 0===(e=a.converter._dispatch("codeSpans.before",e,n,a))&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,(function(e,i,r,o){var s=o;return s=(s=s.replace(/^([ \t]*)/g,"")).replace(/[ \t]*$/g,""),s=i+""+(s=t.subParser("encodeCode")(s,n,a))+"",s=t.subParser("hashHTMLSpans")(s,n,a)})),e=a.converter._dispatch("codeSpans.after",e,n,a)})),t.subParser("completeHTMLDocument",(function(e,t,n){"use strict";if(!t.completeHTMLDocument)return e;e=n.converter._dispatch("completeHTMLDocument.before",e,t,n);var a="html",i="\n",r="",o='\n',s="",l="";for(var u in void 0!==n.metadata.parsed.doctype&&(i="\n","html"!==(a=n.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==a||(o='')),n.metadata.parsed)if(n.metadata.parsed.hasOwnProperty(u))switch(u.toLowerCase()){case"doctype":break;case"title":r=""+n.metadata.parsed.title+"\n";break;case"charset":o="html"===a||"html5"===a?'\n':'\n';break;case"language":case"lang":s=' lang="'+n.metadata.parsed[u]+'"',l+='\n';break;default:l+='\n'}return e=i+"\n\n"+r+o+l+"\n\n"+e.trim()+"\n\n",e=n.converter._dispatch("completeHTMLDocument.after",e,t,n)})),t.subParser("detab",(function(e,t,n){"use strict";return e=(e=(e=(e=(e=(e=n.converter._dispatch("detab.before",e,t,n)).replace(/\t(?=\t)/g," ")).replace(/\t/g,"¨A¨B")).replace(/¨B(.+?)¨A/g,(function(e,t){for(var n=t,a=4-n.length%4,i=0;i/g,">"),e=n.converter._dispatch("encodeAmpsAndAngles.after",e,t,n)})),t.subParser("encodeBackslashEscapes",(function(e,n,a){"use strict";return e=(e=(e=a.converter._dispatch("encodeBackslashEscapes.before",e,n,a)).replace(/\\(\\)/g,t.helper.escapeCharactersCallback)).replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g,t.helper.escapeCharactersCallback),e=a.converter._dispatch("encodeBackslashEscapes.after",e,n,a)})),t.subParser("encodeCode",(function(e,n,a){"use strict";return e=(e=a.converter._dispatch("encodeCode.before",e,n,a)).replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,t.helper.escapeCharactersCallback),e=a.converter._dispatch("encodeCode.after",e,n,a)})),t.subParser("escapeSpecialCharsWithinTagAttributes",(function(e,n,a){"use strict";return e=(e=(e=a.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,n,a)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,(function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,t.helper.escapeCharactersCallback)}))).replace(/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,(function(e){return e.replace(/([\\`*_~=|])/g,t.helper.escapeCharactersCallback)})),e=a.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,n,a)})),t.subParser("githubCodeBlocks",(function(e,n,a){"use strict";return n.ghCodeBlocks?(e=a.converter._dispatch("githubCodeBlocks.before",e,n,a),e=(e=(e+="¨0").replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,(function(e,i,r,o){var s=n.omitExtraWLInCodeBlocks?"":"\n";return o=t.subParser("encodeCode")(o,n,a),o="
"+(o=(o=(o=t.subParser("detab")(o,n,a)).replace(/^\n+/g,"")).replace(/\n+$/g,""))+s+"
",o=t.subParser("hashBlock")(o,n,a),"\n\n¨G"+(a.ghCodeBlocks.push({text:e,codeblock:o})-1)+"G\n\n"}))).replace(/¨0/,""),a.converter._dispatch("githubCodeBlocks.after",e,n,a)):e})),t.subParser("hashBlock",(function(e,t,n){"use strict";return e=(e=n.converter._dispatch("hashBlock.before",e,t,n)).replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(n.gHtmlBlocks.push(e)-1)+"K\n\n",e=n.converter._dispatch("hashBlock.after",e,t,n)})),t.subParser("hashCodeTags",(function(e,n,a){"use strict";e=a.converter._dispatch("hashCodeTags.before",e,n,a);return e=t.helper.replaceRecursiveRegExp(e,(function(e,i,r,o){var s=r+t.subParser("encodeCode")(i,n,a)+o;return"¨C"+(a.gHtmlSpans.push(s)-1)+"C"}),"]*>","","gim"),e=a.converter._dispatch("hashCodeTags.after",e,n,a)})),t.subParser("hashElement",(function(e,t,n){"use strict";return function(e,t){var a=t;return a=(a=(a=a.replace(/\n\n/g,"\n")).replace(/^\n/,"")).replace(/\n+$/g,""),a="\n\n¨K"+(n.gHtmlBlocks.push(a)-1)+"K\n\n"}})),t.subParser("hashHTMLBlocks",(function(e,n,a){"use strict";e=a.converter._dispatch("hashHTMLBlocks.before",e,n,a);var i=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],r=function(e,t,n,i){var r=e;return-1!==n.search(/\bmarkdown\b/)&&(r=n+a.converter.makeHtml(t)+i),"\n\n¨K"+(a.gHtmlBlocks.push(r)-1)+"K\n\n"};n.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,(function(e,t){return"<"+t+">"})));for(var o=0;o]*>)","im"),u="<"+i[o]+"\\b[^>]*>",c="";-1!==(s=t.helper.regexIndexOf(e,l));){var d=t.helper.splitAtIndex(e,s),h=t.helper.replaceRecursiveRegExp(d[1],r,u,c,"im");if(h===d[1])break;e=d[0].concat(h)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,t.subParser("hashElement")(e,n,a)),e=(e=t.helper.replaceRecursiveRegExp(e,(function(e){return"\n\n¨K"+(a.gHtmlBlocks.push(e)-1)+"K\n\n"}),"^ {0,3}\x3c!--","--\x3e","gm")).replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,t.subParser("hashElement")(e,n,a)),e=a.converter._dispatch("hashHTMLBlocks.after",e,n,a)})),t.subParser("hashHTMLSpans",(function(e,t,n){"use strict";function a(e){return"¨C"+(n.gHtmlSpans.push(e)-1)+"C"}return e=(e=(e=(e=(e=n.converter._dispatch("hashHTMLSpans.before",e,t,n)).replace(/<[^>]+?\/>/gi,(function(e){return a(e)}))).replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,(function(e){return a(e)}))).replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,(function(e){return a(e)}))).replace(/<[^>]+?>/gi,(function(e){return a(e)})),e=n.converter._dispatch("hashHTMLSpans.after",e,t,n)})),t.subParser("unhashHTMLSpans",(function(e,t,n){"use strict";e=n.converter._dispatch("unhashHTMLSpans.before",e,t,n);for(var a=0;a]*>\\s*]*>","^ {0,3}\\s*
","gim"),e=a.converter._dispatch("hashPreCodeTags.after",e,n,a)})),t.subParser("headers",(function(e,n,a){"use strict";e=a.converter._dispatch("headers.before",e,n,a);var i=isNaN(parseInt(n.headerLevelStart))?1:parseInt(n.headerLevelStart),r=n.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,o=n.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;e=(e=e.replace(r,(function(e,r){var o=t.subParser("spanGamut")(r,n,a),s=n.noHeaderId?"":' id="'+l(r)+'"',u=""+o+"";return t.subParser("hashBlock")(u,n,a)}))).replace(o,(function(e,r){var o=t.subParser("spanGamut")(r,n,a),s=n.noHeaderId?"":' id="'+l(r)+'"',u=i+1,c=""+o+"";return t.subParser("hashBlock")(c,n,a)}));var s=n.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;function l(e){var i,r;if(n.customizedHeaderId){var o=e.match(/\{([^{]+?)}\s*$/);o&&o[1]&&(e=o[1])}return i=e,r=t.helper.isString(n.prefixHeaderId)?n.prefixHeaderId:!0===n.prefixHeaderId?"section-":"",n.rawPrefixHeaderId||(i=r+i),i=n.ghCompatibleHeaderId?i.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():n.rawHeaderId?i.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():i.replace(/[^\w]/g,"").toLowerCase(),n.rawPrefixHeaderId&&(i=r+i),a.hashLinkCounts[i]?i=i+"-"+a.hashLinkCounts[i]++:a.hashLinkCounts[i]=1,i}return e=e.replace(s,(function(e,r,o){var s=o;n.customizedHeaderId&&(s=o.replace(/\s?\{([^{]+?)}\s*$/,""));var u=t.subParser("spanGamut")(s,n,a),c=n.noHeaderId?"":' id="'+l(o)+'"',d=i-1+r.length,h=""+u+"";return t.subParser("hashBlock")(h,n,a)})),e=a.converter._dispatch("headers.after",e,n,a)})),t.subParser("horizontalRule",(function(e,n,a){"use strict";e=a.converter._dispatch("horizontalRule.before",e,n,a);var i=t.subParser("hashBlock")("
",n,a);return e=(e=(e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,i)).replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,i)).replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,i),e=a.converter._dispatch("horizontalRule.after",e,n,a)})),t.subParser("images",(function(e,n,a){"use strict";function i(e,n,i,r,o,s,l,u){var c=a.gUrls,d=a.gTitles,h=a.gDimensions;if(i=i.toLowerCase(),u||(u=""),e.search(/\(? ?(['"].*['"])?\)$/m)>-1)r="";else if(""===r||null===r){if(""!==i&&null!==i||(i=n.toLowerCase().replace(/ ?\n/g," ")),r="#"+i,t.helper.isUndefined(c[i]))return e;r=c[i],t.helper.isUndefined(d[i])||(u=d[i]),t.helper.isUndefined(h[i])||(o=h[i].width,s=h[i].height)}n=n.replace(/"/g,""").replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback);var p=''+n+'"}return e=(e=(e=(e=(e=(e=a.converter._dispatch("images.before",e,n,a)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,i)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,(function(e,t,n,a,r,o,s,l){return i(e,t,n,a=a.replace(/\s/g,""),r,o,s,l)}))).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,i)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,i)).replace(/!\[([^\[\]]+)]()()()()()/g,i),e=a.converter._dispatch("images.after",e,n,a)})),t.subParser("italicsAndBold",(function(e,t,n){"use strict";function a(e,t,n){return t+e+n}return e=n.converter._dispatch("italicsAndBold.before",e,t,n),e=t.literalMidWordUnderscores?(e=(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return a(t,"","")}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return a(t,"","")}))).replace(/\b_(\S[\s\S]*?)_\b/g,(function(e,t){return a(t,"","")})):(e=(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/_([^\s_][\s\S]*?)_/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e})),e=t.literalMidWordAsterisks?(e=(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,(function(e,t,n){return a(n,t+"","")}))).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,(function(e,t,n){return a(n,t+"","")}))).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,(function(e,t,n){return a(n,t+"","")})):(e=(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/\*\*(\S[\s\S]*?)\*\*/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/\*([^\s*][\s\S]*?)\*/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e})),e=n.converter._dispatch("italicsAndBold.after",e,t,n)})),t.subParser("lists",(function(e,n,a){"use strict";function i(e,i){a.gListLevel++,e=e.replace(/\n{2,}$/,"\n");var r=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,o=/\n[ \t]*\n(?!¨0)/.test(e+="¨0");return n.disableForced4SpacesIndentedSublists&&(r=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=(e=e.replace(r,(function(e,i,r,s,l,u,c){c=c&&""!==c.trim();var d=t.subParser("outdent")(l,n,a),h="";return u&&n.tasklists&&(h=' class="task-list-item" style="list-style-type: none;"',d=d.replace(/^[ \t]*\[(x|X| )?]/m,(function(){var e='-1?(d=t.subParser("githubCodeBlocks")(d,n,a),d=t.subParser("blockGamut")(d,n,a)):(d=(d=t.subParser("lists")(d,n,a)).replace(/\n$/,""),d=(d=t.subParser("hashHTMLBlocks")(d,n,a)).replace(/\n\n+/g,"\n\n"),d=o?t.subParser("paragraphs")(d,n,a):t.subParser("spanGamut")(d,n,a)),d=""+(d=d.replace("¨A",""))+"\n"}))).replace(/¨0/g,""),a.gListLevel--,i&&(e=e.replace(/\s+$/,"")),e}function r(e,t){if("ol"===t){var n=e.match(/^ *(\d+)\./);if(n&&"1"!==n[1])return' start="'+n[1]+'"'}return""}function o(e,t,a){var o=n.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,s=n.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,l="ul"===t?o:s,u="";if(-1!==e.search(l))!function n(c){var d=c.search(l),h=r(e,t);-1!==d?(u+="\n\n<"+t+h+">\n"+i(c.slice(0,d),!!a)+"\n",l="ul"===(t="ul"===t?"ol":"ul")?o:s,n(c.slice(d))):u+="\n\n<"+t+h+">\n"+i(c,!!a)+"\n"}(e);else{var c=r(e,t);u="\n\n<"+t+c+">\n"+i(e,!!a)+"\n"}return u}return e=a.converter._dispatch("lists.before",e,n,a),e+="¨0",e=(e=a.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,n){return o(t,n.search(/[*+-]/g)>-1?"ul":"ol",!0)})):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,n,a){return o(n,a.search(/[*+-]/g)>-1?"ul":"ol",!1)}))).replace(/¨0/,""),e=a.converter._dispatch("lists.after",e,n,a)})),t.subParser("metadata",(function(e,t,n){"use strict";if(!t.metadata)return e;function a(e){n.metadata.raw=e,(e=(e=e.replace(/&/g,"&").replace(/"/g,""")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,(function(e,t,a){return n.metadata.parsed[t]=a,""}))}return e=(e=(e=(e=n.converter._dispatch("metadata.before",e,t,n)).replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,(function(e,t,n){return a(n),"¨M"}))).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,(function(e,t,i){return t&&(n.metadata.format=t),a(i),"¨M"}))).replace(/¨M/g,""),e=n.converter._dispatch("metadata.after",e,t,n)})),t.subParser("outdent",(function(e,t,n){"use strict";return e=(e=(e=n.converter._dispatch("outdent.before",e,t,n)).replace(/^(\t|[ ]{1,4})/gm,"¨0")).replace(/¨0/g,""),e=n.converter._dispatch("outdent.after",e,t,n)})),t.subParser("paragraphs",(function(e,n,a){"use strict";for(var i=(e=(e=(e=a.converter._dispatch("paragraphs.before",e,n,a)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),r=[],o=i.length,s=0;s=0?r.push(l):l.search(/\S/)>=0&&(l=(l=t.subParser("spanGamut")(l,n,a)).replace(/^([ \t]*)/g,"

"),l+="

",r.push(l))}for(o=r.length,s=0;s]*>\s*]*>/.test(c)&&(d=!0)}r[s]=c}return e=(e=(e=r.join("\n")).replace(/^\n+/g,"")).replace(/\n+$/g,""),a.converter._dispatch("paragraphs.after",e,n,a)})),t.subParser("runExtension",(function(e,t,n,a){"use strict";if(e.filter)t=e.filter(t,a.converter,n);else if(e.regex){var i=e.regex;i instanceof RegExp||(i=new RegExp(i,"g")),t=t.replace(i,e.replace)}return t})),t.subParser("spanGamut",(function(e,n,a){"use strict";return e=a.converter._dispatch("spanGamut.before",e,n,a),e=t.subParser("codeSpans")(e,n,a),e=t.subParser("escapeSpecialCharsWithinTagAttributes")(e,n,a),e=t.subParser("encodeBackslashEscapes")(e,n,a),e=t.subParser("images")(e,n,a),e=t.subParser("anchors")(e,n,a),e=t.subParser("autoLinks")(e,n,a),e=t.subParser("simplifiedAutoLinks")(e,n,a),e=t.subParser("emoji")(e,n,a),e=t.subParser("underline")(e,n,a),e=t.subParser("italicsAndBold")(e,n,a),e=t.subParser("strikethrough")(e,n,a),e=t.subParser("ellipsis")(e,n,a),e=t.subParser("hashHTMLSpans")(e,n,a),e=t.subParser("encodeAmpsAndAngles")(e,n,a),n.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"
\n")):e=e.replace(/ +\n/g,"
\n"),e=a.converter._dispatch("spanGamut.after",e,n,a)})),t.subParser("strikethrough",(function(e,n,a){"use strict";return n.strikethrough&&(e=(e=a.converter._dispatch("strikethrough.before",e,n,a)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,(function(e,i){return function(e){return n.simplifiedAutoLink&&(e=t.subParser("simplifiedAutoLinks")(e,n,a)),""+e+""}(i)})),e=a.converter._dispatch("strikethrough.after",e,n,a)),e})),t.subParser("stripLinkDefinitions",(function(e,n,a){"use strict";var i=function(i,r,o,s,l,u,c){return r=r.toLowerCase(),e.toLowerCase().split(r).length-1<2?i:(o.match(/^data:.+?\/.+?;base64,/)?a.gUrls[r]=o.replace(/\s/g,""):a.gUrls[r]=t.subParser("encodeAmpsAndAngles")(o,n,a),u?u+c:(c&&(a.gTitles[r]=c.replace(/"|'/g,""")),n.parseImgDimensions&&s&&l&&(a.gDimensions[r]={width:s,height:l}),""))};return e=(e=(e=(e+="¨0").replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,i)).replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,i)).replace(/¨0/,"")})),t.subParser("tables",(function(e,n,a){"use strict";if(!n.tables)return e;function i(e,i){return""+t.subParser("spanGamut")(e,n,a)+"\n"}function r(e){var r,o=e.split("\n");for(r=0;r"+(l=t.subParser("spanGamut")(l,n,a))+"\n"));for(r=0;r\n\n\n",i=0;i\n";for(var r=0;r\n"}return n+"\n\n"}(f,v)}return e=(e=(e=(e=a.converter._dispatch("tables.before",e,n,a)).replace(/\\(\|)/g,t.helper.escapeCharactersCallback)).replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,r)).replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,r),e=a.converter._dispatch("tables.after",e,n,a)})),t.subParser("underline",(function(e,n,a){"use strict";return n.underline?(e=a.converter._dispatch("underline.before",e,n,a),e=(e=n.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return""+t+""}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return""+t+""})):(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/(_)/g,t.helper.escapeCharactersCallback),e=a.converter._dispatch("underline.after",e,n,a)):e})),t.subParser("unescapeSpecialChars",(function(e,t,n){"use strict";return e=(e=n.converter._dispatch("unescapeSpecialChars.before",e,t,n)).replace(/¨E(\d+)E/g,(function(e,t){var n=parseInt(t);return String.fromCharCode(n)})),e=n.converter._dispatch("unescapeSpecialChars.after",e,t,n)})),t.subParser("makeMarkdown.blockquote",(function(e,n){"use strict";var a="";if(e.hasChildNodes())for(var i=e.childNodes,r=i.length,o=0;o ")})),t.subParser("makeMarkdown.codeBlock",(function(e,t){"use strict";var n=e.getAttribute("language"),a=e.getAttribute("precodenum");return"```"+n+"\n"+t.preList[a]+"\n```"})),t.subParser("makeMarkdown.codeSpan",(function(e){"use strict";return"`"+e.innerHTML+"`"})),t.subParser("makeMarkdown.emphasis",(function(e,n){"use strict";var a="";if(e.hasChildNodes()){a+="*";for(var i=e.childNodes,r=i.length,o=0;o",e.hasAttribute("width")&&e.hasAttribute("height")&&(t+=" ="+e.getAttribute("width")+"x"+e.getAttribute("height")),e.hasAttribute("title")&&(t+=' "'+e.getAttribute("title")+'"'),t+=")"),t})),t.subParser("makeMarkdown.links",(function(e,n){"use strict";var a="";if(e.hasChildNodes()&&e.hasAttribute("href")){var i=e.childNodes,r=i.length;a="[";for(var o=0;o",e.hasAttribute("title")&&(a+=' "'+e.getAttribute("title")+'"'),a+=")"}return a})),t.subParser("makeMarkdown.list",(function(e,n,a){"use strict";var i="";if(!e.hasChildNodes())return"";for(var r=e.childNodes,o=r.length,s=e.getAttribute("start")||1,l=0;l"+t.preList[n]+""})),t.subParser("makeMarkdown.strikethrough",(function(e,n){"use strict";var a="";if(e.hasChildNodes()){a+="~~";for(var i=e.childNodes,r=i.length,o=0;otr>th"),l=e.querySelectorAll("tbody>tr");for(a=0;af&&(f=m)}for(a=0;a/g,"\\$1>")).replace(/^#/gm,"\\#")).replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3")).replace(/^( {0,3}\d+)\./gm,"$1\\.")).replace(/^( {0,3})([+-])/gm,"$1\\$2")).replace(/]([\s]*)\(/g,"\\]$1\\(")).replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")}));"function"==typeof define&&define.amd?define((function(){"use strict";return t})):"undefined"!=typeof module&&module.exports?module.exports=t:this.showdown=t}.call(this),window.localisation={},window.localisation.de={confirm:"Ja",server:"Server",theme:"Theme",funding:"Funding",users:"Benutzer",apps:"Apps",channels:"Kanäle",transactions:"Transaktionen",dashboard:"Armaturenbrett",node:"Knoten",export_users:"Benutzer exportieren",no_users:"Keine Benutzer gefunden",total_capacity:"Gesamtkapazität",avg_channel_size:"Durchschn. Kanalgröße",biggest_channel_size:"Größte Kanalgröße",smallest_channel_size:"Kleinste Kanalgröße",number_of_channels:"Anzahl der Kanäle",active_channels:"Aktive Kanäle",connect_peer:"Peer verbinden",connect:"Verbinden",open_channel:"Offener Kanal",open:"Öffnen",close_channel:"Kanal schließen",close:"Schließen",restart:"Server neu starten",save:"Speichern",save_tooltip:"Änderungen speichern",topup:"Aufladen",topup_wallet:"Wallet aufladen",topup_hint:"Nutze die Wallet-ID, um eine beliebige Wallet aufzuladen",restart_tooltip:"Starte den Server neu, um die Änderungen zu übernehmen",add_funds_tooltip:"Füge Geld zu einer Wallet hinzu.",reset_defaults:"Zurücksetzen",reset_defaults_tooltip:"Alle Einstellungen auf die Standardeinstellungen zurücksetzen.",download_backup:"Datenbank-Backup herunterladen",name_your_wallet:"Vergib deiner {name} Wallet einen Namen",wallet_topup_ok:"Erfolg beim Erstellen von virtuellen Mitteln ({amount} Satoshis). Zahlungen hängen von den tatsächlichen Mitteln der Finanzierungsquelle ab.",paste_invoice_label:"Füge eine Rechnung, Zahlungsanforderung oder LNURL ein *",lnbits_description:"Einfach zu installieren und kompakt, LNbits kann auf jeder Funding-Quelle im Lightning Netzwerk aufsetzen und sogar LNbits selbst! Du kannst LNbits für dich selbst betreiben oder anderen die Verwaltung durch dich anbieten. Jede Wallet hat ihre eigenen API-Schlüssel und die Anzahl der Wallets ist unbegrenzt. Die Möglichkeit, Gelder auf verschiedene Accounts mit unterschiedlicher Logik aufteilen zu können macht LNbits zu einem nützlichen Werkzeug für deine Buchhaltung - aber auch als Entwicklungswerkzeug. Erweiterungen bereichern LNbits Accounts um zusätzliche Funktionalität, so dass du mit einer Reihe von neuartigen Technologien auf dem Lightning-Netzwerk experimentieren kannst. Wir haben es so einfach wie möglich gemacht, Erweiterungen zu entwickeln, und als freies und Open-Source-Projekt möchten wir Menschen ermutigen, sich selbst hieran zu versuchen und gemeinsam mit uns neue Funktionalitäten zu entwickeln.",export_to_phone:"Auf dem Telefon öffnen",export_to_phone_desc:"Dieser QR-Code beinhaltet vollständige Rechte auf deine Wallet. Du kannst den QR-Code mit Deinem Telefon scannen, um deine Wallet dort zu öffnen.",wallets:"Wallets",add_wallet:"Wallet hinzufügen",delete_wallet:"Wallet löschen",delete_wallet_desc:"Die Wallet wird gelöscht, die hierin beinhalteten Daten hierin oder innerhalb einer Erweiterung sind UNWIEDERBRINGLICH.",rename_wallet:"Wallet umbenennen",update_name:"Namen aktualisieren",fiat_tracking:"Fiat-Tracking",currency:"Währung",update_currency:"Währung aktualisieren",press_to_claim:"Klicken, um Bitcoin einzufordern.",donate:"Spenden",view_github:"Auf GitHub anzeigen",voidwallet_active:"VoidWallet ist aktiv! Zahlungen deaktiviert",use_with_caution:"BITTE MIT VORSICHT BENUTZEN - {name} Wallet ist noch BETA",service_fee:"Dienstleistungsgebühr: {amount} % pro Transaktion",service_fee_max:"Servicegebühr: {amount} % pro Transaktion (max {max} Sats)",service_fee_tooltip:"Bearbeitungsgebühr, die vom LNbits Server-Administrator pro ausgehender Transaktion berechnet wird",toggle_darkmode:"Auf Dark Mode umschalten",payment_reactions:"Zahlungsreaktionen",view_swagger_docs:"LNbits Swagger API-Dokumentation",api_docs:"API-Dokumentation",api_keys_api_docs:"Knoten-URL, API-Schlüssel und API-Dokumentation",lnbits_version:"LNbits-Version",runs_on:"Läuft auf",credit_hint:"Klicke Enter, um das Konto zu belasten",credit_label:"{denomination} zu belasten",paste:"Einfügen",paste_from_clipboard:"Einfügen aus der Zwischenablage",paste_request:"Anfrage einfügen",create_invoice:"Rechnung erstellen",camera_tooltip:"Verwende die Kamera, um eine Rechnung oder einen QR-Code zu scannen",export_csv:"Exportieren als CSV",chart_tooltip:"Diagramm anzeigen",pending:"Ausstehend",copy_invoice:"Rechnung kopieren",withdraw_from:"Abheben von",cancel:"Stornieren",scan:"Scannen",read:"Lesen",pay:"Zahlen",memo:"Memo",date:"Datum",processing_payment:"Zahlung wird verarbeitet ...",not_enough_funds:"Geldmittel sind erschöpft!",search_by_tag_memo_amount:"Suche nach Tag, Memo, Betrag",invoice_waiting:"Rechnung wartend auf Zahlung",payment_received:"Zahlung erhalten",payment_sent:"Zahlung gesendet",receive:"erhalten",send:"schicken",outgoing_payment_pending:"Ausgehende Zahlung wartend",drain_funds:"Sats abziehen",drain_funds_desc:"LNURL-withdraw QR-Code, der das Abziehen aller Geldmittel aus dieser Wallet erlaubt. Teile ihn mit niemandem! Kompatibel mit balanceCheck und balanceNotify, so dass dein Wallet die Sats nach dem ersten Abzug kontinuierlich von hier abziehen kann.",i_understand:"Ich verstehe",copy_wallet_url:"Wallet-URL kopieren",disclaimer_dialog_title:"Wichtig!",disclaimer_dialog:"Login-Funktionalität wird in einem zukünftigen Update veröffentlicht. Bis dahin ist die Speicherung der Wallet-URL als Lesezeichen absolut notwendig, um Zugriff auf die Wallet zu erhalten! Dieser Service ist in BETA und wir übernehmen keine Verantwortung für Verluste durch verlorene Zugriffe.",no_transactions:"Keine Transaktionen",manage:"Verwalten",extensions:"Erweiterungen",no_extensions:"Du hast noch keine Erweiterungen installiert :(",created:"Erstellt",search_extensions:"Sucherweiterungen",warning:"Warnung",repository:"Repository",confirm_continue:"Bist du sicher, dass du fortfahren möchtest?",manage_extension_details:"Erweiterung installieren/deinstallieren",install:"Installieren",uninstall:"Deinstallieren",drop_db:"Daten löschen",enable:"Aktivieren",enable_extension_details:"Erweiterung für aktuellen Benutzer aktivieren",disable:"Deaktivieren",installed:"Installiert",activated:"Aktiviert",deactivated:"Deaktiviert",release_notes:"Versionshinweise",activate_extension_details:"Erweiterung für Benutzer verfügbar/nicht verfügbar machen",featured:"Vorgestellt",all:"Alle",only_admins_can_install:"(Nur Administratorkonten können Erweiterungen installieren)",admin_only:"Nur für Admins",new_version:"Neue Version",extension_depends_on:"Hängt ab von:",extension_rating_soon:"Bewertungen sind bald verfügbar",extension_installed_version:"Installierte Version",extension_uninstall_warning:"Sie sind dabei, die Erweiterung für alle Benutzer zu entfernen.",uninstall_confirm:"Ja, deinstallieren",extension_db_drop_info:"Alle Daten für die Erweiterung werden dauerhaft gelöscht. Es gibt keine Möglichkeit, diesen Vorgang rückgängig zu machen!",extension_db_drop_warning:"Sie sind dabei, alle Daten für die Erweiterung zu entfernen. Bitte geben Sie den Namen der Erweiterung ein, um fortzufahren:",extension_min_lnbits_version:"Diese Version erfordert mindestens die LNbits-Version",payment_hash:"Zahlungs-Hash",fee:"Gebühr",amount:"Menge",tag:"Tag",unit:"Einheit",description:"Beschreibung",expiry:"Ablauf",webhook:"Webhook",payment_proof:"Beleg",update_available:"Aktualisierung {version} verfügbar!",latest_update:"Sie sind auf der neuesten Version {version}.",notifications:"Benachrichtigungen",no_notifications:"Keine Benachrichtigungen",notifications_disabled:"LNbits Statusbenachrichtigungen sind deaktiviert.",enable_notifications:"Aktiviere Benachrichtigungen",enable_notifications_desc:"Wenn aktiviert, werden die neuesten LNbits-Statusaktualisierungen, wie Sicherheitsvorfälle und Updates, abgerufen.",enable_killswitch:"Aktivieren Sie den Notausschalter",enable_killswitch_desc:"Falls aktiviert, wird Ihre Zahlungsquelle automatisch auf VoidWallet umgestellt, wenn LNbits ein Killswitch-Signal sendet. Nach einem Update müssen Sie dies manuell wieder aktivieren.",killswitch_interval:"Intervall für den Notausschalter",killswitch_interval_desc:"Wie oft die Hintergrundaufgabe nach dem LNbits-Killswitch-Signal aus der Statusquelle suchen soll (in Minuten).",enable_watchdog:"Aktiviere Watchdog",enable_watchdog_desc:"Wenn aktiviert, wird Ihre Zahlungsquelle automatisch auf VoidWallet umgestellt, wenn Ihr Guthaben niedriger als das LNbits-Guthaben ist. Nach einem Update müssen Sie dies manuell aktivieren.",watchdog_interval:"Überwachungszeitintervall",watchdog_interval_desc:"Wie oft die Hintergrundaufgabe nach einem Abschaltsignal im Wachhund-Delta [node_balance - lnbits_balance] suchen soll (in Minuten).",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Limit, bevor der Notausschalter die Finanzierungsquelle auf VoidWallet ändert [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Benachrichtigungsquelle",notification_source_label:"Quell-URL (verwenden Sie nur die offizielle LNbits-Statusquelle und Quellen, denen Sie vertrauen können)",more:"mehr",less:"weniger",releases:"Veröffentlichungen",killswitch:"Killswitch",watchdog:"Wachhund",server_logs:"Serverprotokolle",ip_blocker:"IP-Sperre",security:"Sicherheit",security_tools:"Sicherheitstools",block_access_hint:"Zugriff per IP sperren",allow_access_hint:"Zugriff durch IP erlauben (überschreibt blockierte IPs)",enter_ip:"Geben Sie die IP ein und drücken Sie die Eingabetaste",rate_limiter:"Ratenbegrenzer",wallet_limiter:"Geldbeutel-Limiter",wallet_limit_max_withdraw_per_day:"Maximales tägliches Wallet-Auszahlungslimit in Sats (0 zum Deaktivieren)",wallet_max_ballance:"Maximales Guthaben der Wallet in Sats (0 zum Deaktivieren)",wallet_limit_secs_between_trans:"Mindestsekunden zwischen Transaktionen pro Wallet (0 zum Deaktivieren)",number_of_requests:"Anzahl der Anfragen",time_unit:"Zeiteinheit",minute:"Minute",second:"Sekunde",hour:"Stunde",disable_server_log:"Server-Log deaktivieren",enable_server_log:"Serverprotokollierung aktivieren",coming_soon:"Funktion demnächst verfügbar",session_has_expired:"Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",instant_access_question:"Möchten Sie sofortigen Zugang?",login_with_user_id:"Mit Benutzer-ID anmelden",or:"oder",create_new_wallet:"Neue Geldbörse erstellen",login_to_account:"Melden Sie sich bei Ihrem Konto an",create_account:"Konto erstellen",account_settings:"Kontoeinstellungen",signin_with_google:"Mit Google anmelden",signin_with_github:"Anmelden mit GitHub",signin_with_keycloak:"Mit Keycloak anmelden",username_or_email:"Benutzername oder E-Mail",password:"Passwort",password_config:"Passwortkonfiguration",password_repeat:"Passwortwiederholung",change_password:"Passwort ändern",set_password:"Passwort festlegen",invalid_password:"Das Passwort muss mindestens 8 Zeichen haben.",login:"Anmelden",register:"Registrieren",username:"Benutzername",user_id:"Benutzer-ID",email:"E-Mail",first_name:"Vorname",last_name:"Nachname",picture:"Bild",verify_email:"E-Mail verifizieren mit",account:"Konto",update_account:"Konto aktualisieren",invalid_username:"Ungültiger Benutzername",auth_provider:"Anbieter für Authentifizierung",my_account:"Mein Konto",back:"Zurück",logout:"Abmelden",look_and_feel:"Aussehen und Verhalten",language:"Sprache",color_scheme:"Farbschema",extension_cost:"Diese Version erfordert eine Zahlung von mindestens {cost} Sats.",extension_paid_sats:"Sie haben bereits {paid_sats} Sats bezahlt.",release_details_error:"Kann die Details zur Veröffentlichung nicht abrufen.",pay_from_wallet:"Zahlen aus dem Geldbeutel",show_qr:"QR anzeigen",retry_install:"Installieren erneut versuchen",new_payment:"Neue Zahlung vornehmen",hide_empty_wallets:"Leere Geldbörsen verbergen"},window.localisation.en={confirm:"Yes",server:"Server",theme:"Theme",funding:"Funding",users:"Users",apps:"Apps",channels:"Channels",transactions:"Transactions",dashboard:"Dashboard",node:"Node",export_users:"Export Users",no_users:"No users found",total_capacity:"Total Capacity",avg_channel_size:"Avg. Channel Size",biggest_channel_size:"Biggest Channel Size",smallest_channel_size:"Smallest Channel Size",number_of_channels:"Number of Channels",active_channels:"Active Channels",connect_peer:"Connect Peer",connect:"Connect",open_channel:"Open Channel",open:"Open",close_channel:"Close Channel",close:"Close",restart:"Restart server",save:"Save",save_tooltip:"Save your changes",topup:"Topup",topup_wallet:"Topup a wallet",topup_hint:"Use the wallet ID to topup any wallet",restart_tooltip:"Restart the server for changes to take effect",add_funds_tooltip:"Add funds to a wallet.",reset_defaults:"Reset to defaults",reset_defaults_tooltip:"Delete all settings and reset to defaults.",download_backup:"Download database backup",name_your_wallet:"Name your {name} wallet",wallet_topup_ok:"Success creating virtual funds ({amount} sats). Payments depend on actual funds on funding source.",paste_invoice_label:"Paste an invoice, payment request or lnurl code *",lnbits_description:"Easy to set up and lightweight, LNbits can run on any Lightning Network funding source and even LNbits itself! You can run LNbits for yourself, or easily offer a custodian solution for others. Each wallet has its own API keys and there is no limit to the number of wallets you can make. Being able to partition funds makes LNbits a useful tool for money management and as a development tool. Extensions add extra functionality to LNbits so you can experiment with a range of cutting-edge technologies on the lightning network. We have made developing extensions as easy as possible, and as a free and open-source project, we encourage people to develop and submit their own.",export_to_phone:"Export to Phone with QR Code",export_to_phone_desc:"This QR code contains your wallet URL with full access. You can scan it from your phone to open your wallet from there.",wallets:"Wallets",add_wallet:"Add a new wallet",delete_wallet:"Delete wallet",delete_wallet_desc:"This whole wallet will be deleted, the funds will be UNRECOVERABLE.",rename_wallet:"Rename wallet",update_name:"Update name",fiat_tracking:"Fiat tracking",currency:"Currency",update_currency:"Update currency",press_to_claim:"Press to claim bitcoin",donate:"Donate",view_github:"View on GitHub",voidwallet_active:"VoidWallet is active! Payments disabled",use_with_caution:"USE WITH CAUTION - {name} wallet is still in BETA",service_fee:"Service fee: {amount} % per transaction",service_fee_max:"Service fee: {amount} % per transaction (max {max} sats)",service_fee_tooltip:"Service fee charged by the LNbits server admin per outgoing transaction",toggle_darkmode:"Toggle Dark Mode",payment_reactions:"Payment Reactions",view_swagger_docs:"View LNbits Swagger API docs",api_docs:"API docs",api_keys_api_docs:"Node URL, API keys and API docs",lnbits_version:"LNbits version",runs_on:"Runs on",credit_hint:"Press Enter to credit account",credit_label:"{denomination} to credit",paste:"Paste",paste_from_clipboard:"Paste from clipboard",paste_request:"Paste Request",create_invoice:"Create Invoice",camera_tooltip:"Use camera to scan an invoice/QR",export_csv:"Export to CSV",chart_tooltip:"Show chart",pending:"Pending",copy_invoice:"Copy invoice",withdraw_from:"Withdraw from",cancel:"Cancel",scan:"Scan",read:"Read",pay:"Pay",memo:"Memo",date:"Date",processing_payment:"Processing payment...",not_enough_funds:"Not enough funds!",search_by_tag_memo_amount:"Search by tag, memo, amount",invoice_waiting:"Invoice waiting to be paid",payment_received:"Payment Received",payment_sent:"Payment Sent",receive:"receive",send:"send",outgoing_payment_pending:"Outgoing payment pending",drain_funds:"Drain Funds",drain_funds_desc:"This is an LNURL-withdraw QR code for slurping everything from this wallet. Do not share with anyone. It is compatible with balanceCheck and balanceNotify so your wallet may keep pulling the funds continuously from here after the first withdraw.",i_understand:"I understand",copy_wallet_url:"Copy wallet URL",disclaimer_dialog_title:"Important!",disclaimer_dialog:"You *must* save your login credentials to be able to access your wallet again. If you lose them, you will lose access to your wallet and funds.\n\nFind your login credentials on your account settings page.\n\nThis service is in BETA. LNbits holds no responsibility for loss of access to funds.",no_transactions:"No transactions made yet",manage:"Manage",extensions:"Extensions",no_extensions:"You don't have any extensions installed :(",created:"Created",search_extensions:"Search extensions",warning:"Warning",repository:"Repository",confirm_continue:"Are you sure you want to continue?",manage_extension_details:"Install/uninstall extension",install:"Install",uninstall:"Uninstall",drop_db:"Remove Data",enable:"Enable",pay_to_enable:"Pay To Enable",enable_extension_details:"Enable extension for current user",disable:"Disable",installed:"Installed",activated:"Activated",deactivated:"Deactivated",release_notes:"Release Notes",activate_extension_details:"Make extension available/unavailable for users",featured:"Featured",all:"All",only_admins_can_install:"(Only admin accounts can install extensions)",admin_only:"Admin Only",new_version:"New Version",extension_depends_on:"Depends on:",extension_rating_soon:"Ratings coming soon",extension_installed_version:"Installed version",extension_uninstall_warning:"You are about to remove the extension for all users.",uninstall_confirm:"Yes, Uninstall",extension_db_drop_info:"All data for the extension will be permanently deleted. There is no way to undo this operation!",extension_db_drop_warning:"You are about to remove all data for the extension. Please type the extension name to continue:",extension_min_lnbits_version:"This release requires at least LNbits version",payment_hash:"Payment Hash",fee:"Fee",amount:"Amount",amount_sats:"Amount (sats)",tag:"Tag",unit:"Unit",description:"Description",expiry:"Expiry",webhook:"Webhook",payment_proof:"Payment Proof",update_available:"Update {version} available!",latest_update:"You are on the latest version {version}.",notifications:"Notifications",no_notifications:"No notifications",notifications_disabled:"LNbits status notifications are disabled.",enable_notifications:"Enable Notifications",enable_notifications_desc:"If enabled it will fetch the latest LNbits Status updates, like security incidents and updates.",enable_killswitch:"Enable Killswitch",enable_killswitch_desc:"If enabled it will change your funding source to VoidWallet automatically if LNbits sends out a killswitch signal. You will need to enable manually after an update.",killswitch_interval:"Killswitch Interval",killswitch_interval_desc:"How often the background task should check for the LNbits killswitch signal from the status source (in minutes).",enable_watchdog:"Enable Watchdog",enable_watchdog_desc:"If enabled it will change your funding source to VoidWallet automatically if your balance is lower than the LNbits balance. You will need to enable manually after an update.",watchdog_interval:"Watchdog Interval",watchdog_interval_desc:"How often the background task should check for a killswitch signal in the watchdog delta [node_balance - lnbits_balance] (in minutes).",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Limit before killswitch changes funding source to VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notification Source",notification_source_label:"Source URL (only use the official LNbits status source, and sources you can trust)",more:"more",less:"less",releases:"Releases",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Server Logs",ip_blocker:"IP Blocker",security:"Security",security_tools:"Security tools",block_access_hint:"Block access by IP",allow_access_hint:"Allow access by IP (will override blocked IPs)",enter_ip:"Enter IP and hit enter",rate_limiter:"Rate Limiter",wallet_limiter:"Wallet Limiter",wallet_limit_max_withdraw_per_day:"Max daily wallet withdrawal in sats (0 to disable)",wallet_max_ballance:"Wallet max balance in sats (0 to disable)",wallet_limit_secs_between_trans:"Min secs between transactions per wallet (0 to disable)",number_of_requests:"Number of requests",time_unit:"Time unit",minute:"minute",second:"second",hour:"hour",disable_server_log:"Disable Server Log",enable_server_log:"Enable Server Log",coming_soon:"Feature coming soon",session_has_expired:"Your session has expired. Please login again.",instant_access_question:"Want instant access?",login_with_user_id:"Login with user ID",or:"or",create_new_wallet:"Create New Wallet",login_to_account:"Login to your account",create_account:"Create account",account_settings:"Account Settings",signin_with_google:"Sign in with Google",signin_with_github:"Sign in with GitHub",signin_with_keycloak:"Sign in with Keycloak",username_or_email:"Username or Email",password:"Password",password_config:"Password Config",password_repeat:"Password repeat",change_password:"Change Password",set_password:"Set Password",invalid_password:"Password must have at least 8 characters",login:"Login",register:"Register",username:"Username",user_id:"User ID",email:"Email",first_name:"First Name",last_name:"Last Name",picture:"Picture",verify_email:"Verify email with",account:"Account",update_account:"Update Account",invalid_username:"Invalid Username",auth_provider:"Auth Provider",my_account:"My Account",back:"Back",logout:"Logout",look_and_feel:"Look and Feel",toggle_gradient:"Toggle Gradient",gradient_background:"Gradient Background",language:"Language",color_scheme:"Color Scheme",extension_cost:"This release requires a payment of minimum {cost} sats.",extension_paid_sats:"You have already paid {paid_sats} sats.",release_details_error:"Cannot get the release details.",pay_from_wallet:"Pay from Wallet",wallet_required:"Wallet *",show_qr:"Show QR",retry_install:"Retry Install",new_payment:"Make New Payment",update_payment:"Update Payment",already_paid_question:"Have you already paid?",sell:"Sell",sell_require:"Ask payment to enable extension",sell_info:"The {name} extension requires a payment of minimum {amount} sats to enable.",hide_empty_wallets:"Hide empty wallets",recheck:"Recheck",contributors:"Contributors",license:"License"},window.localisation.es={confirm:"Sí",server:"Servidor",theme:"Tema",funding:"Financiación",users:"Usuarios",apps:"Aplicaciones",channels:"Canales",transactions:"Transacciones",dashboard:"Tablero de instrumentos",node:"Nodo",export_users:"Exportar Usuarios",no_users:"No se encontraron usuarios",total_capacity:"Capacidad Total",avg_channel_size:"Tamaño Medio del Canal",biggest_channel_size:"Tamaño del Canal Más Grande",smallest_channel_size:"Tamaño de canal más pequeño",number_of_channels:"Número de canales",active_channels:"Canales activos",connect_peer:"Conectar Par",connect:"Conectar",open_channel:"Canal Abierto",open:"Abrir",close_channel:"Cerrar canal",close:"Cerrar",restart:"Reiniciar el servidor",save:"Guardar",save_tooltip:"Guardar cambios",topup:"Recargar",topup_wallet:"Recargar billetera",topup_hint:"Utilice el ID de billetera para recargar cualquier billetera",restart_tooltip:"Reinicie el servidor para aplicar los cambios",add_funds_tooltip:"Agregue fondos a una billetera.",reset_defaults:"Restablecer",reset_defaults_tooltip:"Borrar todas las configuraciones y restablecer a los valores predeterminados.",download_backup:"Descargar copia de seguridad de la base de datos",name_your_wallet:"Nombre de su billetera {name}",wallet_topup_ok:"Éxito creando fondos virtuales ({amount} sats). Los pagos dependen de los fondos reales en la fuente de financiación.",paste_invoice_label:"Pegue la factura aquí",lnbits_description:"Fácil de instalar y liviano, LNbits puede ejecutarse en cualquier fuente de financiación de la red Lightning y hasta LNbits mismo! Puede ejecutar LNbits para usted mismo o ofrecer una solución competente a otros. Cada billetera tiene su propia clave API y no hay límite para la cantidad de billeteras que puede crear. La capacidad de particionar fondos hace de LNbits una herramienta útil para la administración de fondos y como herramienta de desarrollo. Las extensiones agregan funcionalidad adicional a LNbits, por lo que puede experimentar con una variedad de tecnologías de vanguardia en la red Lightning. Lo hemos hecho lo más simple posible para desarrollar extensiones y, como un proyecto gratuito y de código abierto, animamos a las personas a que se desarrollen a sí mismas y envíen sus propios contribuciones.",export_to_phone:"Exportar a teléfono con código QR",export_to_phone_desc:"Este código QR contiene su URL de billetera con acceso completo. Puede escanearlo desde su teléfono para abrir su billetera allí.",wallets:"Billeteras",add_wallet:"Agregar nueva billetera",delete_wallet:"Eliminar billetera",delete_wallet_desc:"Esta billetera completa se eliminará, los fondos son IRREVERSIBLES.",rename_wallet:"Cambiar el nombre de la billetera",update_name:"Actualizar nombre",fiat_tracking:"Seguimiento Fiat",currency:"Moneda",update_currency:"Actualizar moneda",press_to_claim:"Presione para reclamar Bitcoin",donate:"Donar",view_github:"Ver en GitHub",voidwallet_active:"¡VoidWallet está activo! Pagos desactivados",use_with_caution:"USAR CON CUIDADO - {name} Wallet aún está en BETA",service_fee:"Tarifa de servicio: {amount} % por transacción",service_fee_max:"Tarifa de servicio: {amount} % por transacción (máx {max} sats)",service_fee_tooltip:"Comisión de servicio cobrada por el administrador del servidor LNbits por cada transacción saliente",toggle_darkmode:"Cambiar modo oscuro",payment_reactions:"Reacciones de Pago",view_swagger_docs:"Ver documentación de API de LNbits Swagger",api_docs:"Documentación de API",api_keys_api_docs:"URL del nodo, claves de API y documentación de API",lnbits_version:"Versión de LNbits",runs_on:"Corre en",credit_hint:"Presione Enter para cargar la cuenta",credit_label:"Cargar {denomination}",paste:"Pegar",paste_from_clipboard:"Pegar desde el portapapeles",paste_request:"Pegar solicitud",create_invoice:"Crear factura",camera_tooltip:"Utilice la cámara para escanear una factura / código QR",export_csv:"Exportar a CSV",chart_tooltip:"Mostrar gráfico",pending:"Pendiente",copy_invoice:"Copiar factura",withdraw_from:"Retirar de",cancel:"Cancelar",scan:"Escanear",read:"Leer",pay:"Pagar",memo:"Memo",date:"Fecha",processing_payment:"Procesando pago ...",not_enough_funds:"¡No hay suficientes fondos!",search_by_tag_memo_amount:"Buscar por etiqueta, memo, cantidad",invoice_waiting:"Factura esperando pago",payment_received:"Pago recibido",payment_sent:"Pago enviado",receive:"recibir",send:"enviar",outgoing_payment_pending:"Pago saliente pendiente",drain_funds:"Drenar fondos",drain_funds_desc:"Este es un código QR LNURL-withdraw para drenar todos los fondos de esta billetera. No lo comparta con nadie. Es compatible con balanceCheck y balanceNotify, por lo que su billetera puede continuar drenando los fondos de aquí después del primer drenaje.",i_understand:"Lo entiendo",copy_wallet_url:"Copiar URL de billetera",disclaimer_dialog_title:"¡Importante!",disclaimer_dialog:"La funcionalidad de inicio de sesión se lanzará en una actualización futura, por ahora, asegúrese de guardar esta página como marcador para acceder a su billetera en el futuro. Este servicio está en BETA y no asumimos ninguna responsabilidad por personas que pierdan el acceso a sus fondos.",no_transactions:"No hay transacciones todavía",manage:"Administrar",extensions:"Extensiones",no_extensions:"No tienes extensiones instaladas :(",created:"Creado",search_extensions:"Extensiones de búsqueda",warning:"Advertencia",repository:"Repositorio",confirm_continue:"¿Está seguro de que desea continuar?",manage_extension_details:"Instalar/desinstalar extensión",install:"Instalar",uninstall:"Desinstalar",drop_db:"Eliminar datos",enable:"Habilitar",enable_extension_details:"Habilitar extensión para el usuario actual",disable:"Deshabilitar",installed:"Instalado",activated:"Activado",deactivated:"Desactivado",release_notes:"Notas de la versión",activate_extension_details:"Hacer que la extensión esté disponible/no disponible para los usuarios",featured:"Destacado",all:"Todos",only_admins_can_install:"(Solo las cuentas de administrador pueden instalar extensiones)",admin_only:"Solo administradores",new_version:"Nueva Versión",extension_depends_on:"Depende de:",extension_rating_soon:"Calificaciones próximamente",extension_installed_version:"Versión instalada",extension_uninstall_warning:"Está a punto de eliminar la extensión para todos los usuarios.",uninstall_confirm:"Sí, desinstalar",extension_db_drop_info:"Todos los datos para la extensión se eliminarán permanentemente. ¡No hay manera de deshacer esta operación!",extension_db_drop_warning:"Está a punto de eliminar todos los datos para la extensión. Por favor, escriba el nombre de la extensión para continuar:",extension_min_lnbits_version:"Esta versión requiere al menos una versión de LNbits",payment_hash:"Hash de pago",fee:"Cuota",amount:"Cantidad",tag:"Etiqueta",unit:"Unidad",description:"Descripción",expiry:"Expiración",webhook:"Webhook",payment_proof:"Prueba de pago",update_available:"¡Actualización {version} disponible!",latest_update:"Usted está en la última versión {version}.",notifications:"Notificaciones",no_notifications:"No hay notificaciones",notifications_disabled:"Las notificaciones de estado de LNbits están desactivadas.",enable_notifications:"Activar notificaciones",enable_notifications_desc:"Si está activado, buscará las últimas actualizaciones del estado de LNbits, como incidentes de seguridad y actualizaciones.",enable_killswitch:"Activar Killswitch",enable_killswitch_desc:"Si está activado, cambiará automáticamente su fuente de financiamiento a VoidWallet si LNbits envía una señal de parada de emergencia. Necesitará activarlo manualmente después de una actualización.",killswitch_interval:"Intervalo de Killswitch",killswitch_interval_desc:"Con qué frecuencia la tarea en segundo plano debe verificar la señal de interruptor de emergencia de LNbits desde la fuente de estado (en minutos).",enable_watchdog:"Activar Watchdog",enable_watchdog_desc:"Si está activado, cambiará automáticamente su fuente de financiamiento a VoidWallet si su saldo es inferior al saldo de LNbits. Tendrá que activarlo manualmente después de una actualización.",watchdog_interval:"Intervalo de vigilancia",watchdog_interval_desc:"Con qué frecuencia la tarea de fondo debe verificar la señal de killswitch en el delta del watchdog [node_balance - lnbits_balance] (en minutos).",watchdog_delta:"Vigilante Delta",watchdog_delta_desc:"Límite antes de que el interruptor de apagado cambie la fuente de financiamiento a VoidWallet [lnbits_balance - node_balance > delta]",status:"Estado",notification_source:"Fuente de notificación",notification_source_label:"URL de origen (solo use la fuente oficial de estado de LNbits y fuentes en las que confíe)",more:"más",less:"menos",releases:"Lanzamientos",killswitch:"Interruptor de apagado",watchdog:"Perro guardián",server_logs:"Registros del Servidor",ip_blocker:"Bloqueador de IP",security:"Seguridad",security_tools:"Herramientas de seguridad",block_access_hint:"Bloquear acceso por IP",allow_access_hint:"Permitir acceso por IP (anulará las IPs bloqueadas)",enter_ip:"Ingrese la IP y presione enter",rate_limiter:"Limitador de tasa",wallet_limiter:"Limitador de Cartera",wallet_limit_max_withdraw_per_day:"Límite diario de retiro de la cartera en sats (0 para deshabilitar)",wallet_max_ballance:"Saldo máximo de la billetera en sats (0 para desactivar)",wallet_limit_secs_between_trans:"Mín. segs entre transacciones por cartera (0 para desactivar)",number_of_requests:"Número de solicitudes",time_unit:"Unidad de tiempo",minute:"minuto",second:"segundo",hour:"hora",disable_server_log:"Desactivar registro del servidor",enable_server_log:"Activar registro del servidor",coming_soon:"Función próximamente disponible",session_has_expired:"Tu sesión ha expirado. Por favor, inicia sesión de nuevo.",instant_access_question:"¿Quieres acceso instantáneo?",login_with_user_id:"Iniciar sesión con ID de usuario",or:"o",create_new_wallet:"Crear Nueva Cartera",login_to_account:"Inicie sesión en su cuenta",create_account:"Crear cuenta",account_settings:"Configuración de la cuenta",signin_with_google:"Inicia sesión con Google",signin_with_github:"Inicia sesión con GitHub",signin_with_keycloak:"Iniciar sesión con Keycloak",username_or_email:"Nombre de usuario o correo electrónico",password:"Contraseña",password_config:"Configuración de Contraseña",password_repeat:"Repetición de contraseña",change_password:"Cambiar contraseña",set_password:"Establecer contraseña",invalid_password:"La contraseña debe tener al menos 8 caracteres.",login:"Iniciar sesión",register:"Registrarse",username:"Nombre de usuario",user_id:"Identificación de usuario",email:"Correo electrónico",first_name:"Nombre de pila",last_name:"Apellido",picture:"Imagen",verify_email:"Verifique el correo electrónico con",account:"Cuenta",update_account:"Actualizar cuenta",invalid_username:"Nombre de usuario inválido",auth_provider:"Proveedor de Autenticación",my_account:"Mi cuenta",back:"Atrás",logout:"Cerrar sesión",look_and_feel:"Apariencia",language:"Idioma",color_scheme:"Esquema de colores",extension_cost:"Esta versión requiere un pago mínimo de {cost} sats.",extension_paid_sats:"Ya has pagado {paid_sats} sats.",release_details_error:"No se pueden obtener los detalles de la versión.",pay_from_wallet:"Pagar desde la billetera",show_qr:"Mostrar QR",retry_install:"Reintentar Instalación",new_payment:"Realizar nuevo pago",hide_empty_wallets:"Ocultar billeteras vacías"},window.localisation.fr={confirm:"Oui",server:"Serveur",theme:"Thème",funding:"Financement",users:"Utilisateurs",apps:"Applications",channels:"Canaux",transactions:"Transactions",dashboard:"Tableau de bord",node:"Noeud",export_users:"Exporter les utilisateurs",no_users:"Aucun utilisateur trouvé",total_capacity:"Capacité totale",avg_channel_size:"Taille moyenne du canal",biggest_channel_size:"Taille de canal maximale",smallest_channel_size:"Taille de canal la plus petite",number_of_channels:"Nombre de canaux",active_channels:"Canaux actifs",connect_peer:"Connecter un pair",connect:"Connecter",open_channel:"Ouvrir le canal",open:"Ouvrir",close_channel:"Fermer le canal",close:"Fermer",restart:"Redémarrer le serveur",save:"Enregistrer",save_tooltip:"Enregistrer vos modifications",topup:"Renflouer",topup_wallet:"Reflouer un portefeuille",topup_hint:"Utilisez l'ID du portefeuille pour recharger n'importe quel portefeuille",restart_tooltip:"Redémarrez le serveur pour que les changements prennent effet",add_funds_tooltip:"Ajouter des fonds à un portefeuille.",reset_defaults:"Réinitialiser aux valeurs par défaut",reset_defaults_tooltip:"Supprimer tous les paramètres et les réinitialiser aux valeurs par défaut.",download_backup:"Télécharger la sauvegarde de la base de données",name_your_wallet:"Nommez votre portefeuille {name}",wallet_topup_ok:"Succès de la création de fonds virtuels ({amount} sats). Les paiements dépendent des fonds réels sur la source de financement.",paste_invoice_label:"Coller une facture, une demande de paiement ou un code lnurl *",lnbits_description:"Facile à installer et léger, LNbits peut fonctionner sur n'importe quelle source de financement du réseau Lightning et même LNbits lui-même! Vous pouvez exécuter LNbits pour vous-même ou offrir facilement une solution de gardien pour les autres. Chaque portefeuille a ses propres clés API et il n'y a pas de limite au nombre de portefeuilles que vous pouvez créer. La capacité de partitionner les fonds rend LNbits un outil utile pour la gestion de l'argent et comme outil de développement. Les extensions ajoutent une fonctionnalité supplémentaire à LNbits afin que vous puissiez expérimenter une gamme de technologies de pointe sur le réseau Lightning. Nous avons rendu le développement d'extensions aussi simple que possible et, en tant que projet gratuit et open source, nous encourageons les gens à développer et à soumettre les leurs.",export_to_phone:"Exporter vers le téléphone avec un code QR",export_to_phone_desc:"Ce code QR contient l'URL de votre portefeuille avec un accès complet. Vous pouvez le scanner depuis votre téléphone pour ouvrir votre portefeuille depuis là-bas.",wallets:"Portefeuilles",add_wallet:"Ajouter un nouveau portefeuille",delete_wallet:"Supprimer le portefeuille",delete_wallet_desc:"Ce portefeuille entier sera supprimé et les fonds seront IRRECUPERABLES.",rename_wallet:"Renommer le portefeuille",update_name:"Mettre à jour le nom",fiat_tracking:"Suivi Fiat",currency:"Devise",update_currency:"Mettre à jour la devise",press_to_claim:"Appuyez pour demander du Bitcoin",donate:"Donner",view_github:"Voir sur GitHub",voidwallet_active:"VoidWallet est actif! Paiements désactivés",use_with_caution:"UTILISER AVEC PRUDENCE - Le portefeuille {name} est toujours en version BETA",service_fee:"Frais de service : {amount} % par transaction",service_fee_max:"Frais de service : {amount} % par transaction (max {max} sats)",service_fee_tooltip:"Frais de service facturés par l'administrateur du serveur LNbits pour chaque transaction sortante",toggle_darkmode:"Basculer le mode sombre",payment_reactions:"Réactions de paiement",view_swagger_docs:"Voir les documentation de l'API Swagger de LNbits",api_docs:"Documentation de l'API",api_keys_api_docs:"URL du nœud, clés API et documentation API",lnbits_version:"Version de LNbits",runs_on:"Fonctionne sur",credit_hint:"Appuyez sur Entrée pour créditer le compte",credit_label:"{denomination} à créditer",paste:"Coller",paste_from_clipboard:"Coller depuis le presse-papiers",paste_request:"Coller la requête",create_invoice:"Créer une facture",camera_tooltip:"Utiliser la caméra pour scanner une facture / un code QR",export_csv:"Exporter vers CSV",chart_tooltip:"Afficher le graphique",pending:"En attente",copy_invoice:"Copier la facture",withdraw_from:"Retirer de",cancel:"Annuler",scan:"Scanner",read:"Lire",pay:"Payer",memo:"Mémo",date:"Date",processing_payment:"Traitement du paiement...",not_enough_funds:"Fonds insuffisants !",search_by_tag_memo_amount:"Rechercher par tag, mémo, montant",invoice_waiting:"Facture en attente de paiement",payment_received:"Paiement reçu",payment_sent:"Paiement envoyé",receive:"recevoir",send:"envoyer",outgoing_payment_pending:"Paiement sortant en attente",drain_funds:"Vider les fonds",drain_funds_desc:"Il s'agit d'un code QR LNURL-withdraw pour tout aspirer de ce portefeuille. Ne le partagez avec personne. Il est compatible avec balanceCheck et balanceNotify, de sorte que votre portefeuille peut continuer à retirer les fonds continuellement à partir d'ici après le premier retrait.",i_understand:"J'ai compris",copy_wallet_url:"Copier l'URL du portefeuille",disclaimer_dialog_title:"Important !",disclaimer_dialog:"La fonctionnalité de connexion sera publiée dans une future mise à jour, pour l'instant, assurez-vous de mettre cette page en favori pour accéder à votre portefeuille ultérieurement ! Ce service est en BETA, et nous ne sommes pas responsables des personnes qui perdent l'accès à leurs fonds.",no_transactions:"Aucune transaction effectuée pour le moment",manage:"Gérer",extensions:"Extensions",no_extensions:"Vous n'avez installé aucune extension :(",created:"Créé",search_extensions:"Rechercher des extensions",warning:"Avertissement",repository:"Référentiel",confirm_continue:"Êtes-vous sûr de vouloir continuer ?",manage_extension_details:"Installer/désinstaller l'extension",install:"Installer",uninstall:"Désinstaller",drop_db:"Supprimer les données",enable:"Activer",enable_extension_details:"Activer l'extension pour l'utilisateur actuel",disable:"Désactiver",installed:"Installé",activated:"Activé",deactivated:"Désactivé",release_notes:"Notes de version",activate_extension_details:"Rendre l'extension disponible/indisponible pour les utilisateurs",featured:"Mis en avant",all:"Tout",only_admins_can_install:"Seuls les comptes administrateurs peuvent installer des extensions",admin_only:"Réservé aux administrateurs",new_version:"Nouvelle version",extension_depends_on:"Dépend de :",extension_rating_soon:"Notes des utilisateurs à venir bientôt",extension_installed_version:"Version installée",extension_uninstall_warning:"Vous êtes sur le point de supprimer l'extension pour tous les utilisateurs.",uninstall_confirm:"Oui, Désinstaller",extension_db_drop_info:"Toutes les données pour l'extension seront supprimées de manière permanente. Il n'est pas possible d'annuler cette opération !",extension_db_drop_warning:"Vous êtes sur le point de supprimer toutes les données de l'extension. Veuillez taper le nom de l'extension pour continuer :",extension_min_lnbits_version:"Cette version nécessite au moins LNbits version",payment_hash:"Hash de paiement",fee:"Frais",amount:"Montant",tag:"Étiqueter",unit:"Unité",description:"Description",expiry:"Expiration",webhook:"Webhook",payment_proof:"Preuve de paiement",update_available:"Mise à jour {version} disponible !",latest_update:"Vous êtes sur la dernière version {version}.",notifications:"Notifications",no_notifications:"Aucune notification",notifications_disabled:"Les notifications de statut LNbits sont désactivées.",enable_notifications:"Activer les notifications",enable_notifications_desc:"Si activé, il récupérera les dernières mises à jour du statut LNbits, telles que les incidents de sécurité et les mises à jour.",enable_killswitch:"Activer le Killswitch",enable_killswitch_desc:"Si activé, il changera automatiquement votre source de financement en VoidWallet si LNbits envoie un signal de coupure. Vous devrez activer manuellement après une mise à jour.",killswitch_interval:"Intervalle du Killswitch",killswitch_interval_desc:"À quelle fréquence la tâche de fond doit-elle vérifier le signal d'arrêt d'urgence LNbits provenant de la source de statut (en minutes).",enable_watchdog:"Activer le Watchdog",enable_watchdog_desc:"Si elle est activée, elle changera automatiquement votre source de financement en VoidWallet si votre solde est inférieur au solde LNbits. Vous devrez activer manuellement après une mise à jour.",watchdog_interval:"Intervalle du gardien",watchdog_interval_desc:"À quelle fréquence la tâche en arrière-plan doit-elle vérifier la présence d'un signal d'arrêt d'urgence dans le delta du gardien [node_balance - lnbits_balance] (en minutes).",watchdog_delta:"Chien de garde Delta",watchdog_delta_desc:"Limite avant que l'interrupteur d'arrêt ne change la source de financement pour VoidWallet [lnbits_balance - node_balance > delta]",status:"Statut",notification_source:"Source de notification",notification_source_label:"URL source (utilisez uniquement la source officielle de statut LNbits et des sources de confiance)",more:"plus",less:"moins",releases:"Versions",killswitch:"Interrupteur d'arrêt",watchdog:"Chien de garde",server_logs:"Journaux du serveur",ip_blocker:"Bloqueur d'IP",security:"Sécurité",security_tools:"Outils de sécurité",block_access_hint:"Bloquer l'accès par IP",allow_access_hint:"Autoriser l'accès par IP (cela passera outre les IP bloquées)",enter_ip:"Entrez l'adresse IP et appuyez sur Entrée",rate_limiter:"Limiteur de débit",wallet_limiter:"Limiteur de portefeuille",wallet_limit_max_withdraw_per_day:"Retrait quotidien maximum du portefeuille en sats (0 pour désactiver)",wallet_max_ballance:"Solde maximum du portefeuille en sats (0 pour désactiver)",wallet_limit_secs_between_trans:"Minutes et secondes entre les transactions par portefeuille (0 pour désactiver)",number_of_requests:"Nombre de requêtes",time_unit:"Unité de temps",minute:"minute",second:"seconde",hour:"heure",disable_server_log:"Désactiver le journal du serveur",enable_server_log:"Activer le journal du serveur",coming_soon:"Fonctionnalité à venir bientôt",session_has_expired:"Votre session a expiré. Veuillez vous reconnecter.",instant_access_question:"Voulez-vous un accès instantané ?",login_with_user_id:"Connexion avec l'identifiant utilisateur",or:"ou",create_new_wallet:"Créer un nouveau portefeuille",login_to_account:"Connectez-vous à votre compte",create_account:"Créer un compte",account_settings:"Paramètres du compte",signin_with_google:"Connectez-vous avec Google",signin_with_github:"Connectez-vous avec GitHub",signin_with_keycloak:"Connectez-vous avec Keycloak",username_or_email:"Nom d'utilisateur ou e-mail",password:"Mot de passe",password_config:"Configuration du mot de passe",password_repeat:"Répétition du mot de passe",change_password:"Changer le mot de passe",set_password:"Définir le mot de passe",invalid_password:"Le mot de passe doit comporter au moins 8 caractères",login:"Connexion",register:"Inscrire",username:"Nom d'utilisateur",user_id:"Identifiant utilisateur",email:"E-mail",first_name:"Prénom",last_name:"Nom de famille",picture:"Image",verify_email:"Vérifiez l'e-mail avec",account:"Compte",update_account:"Mettre à jour le compte",invalid_username:"Nom d'utilisateur invalide",auth_provider:"Fournisseur d'authentification",my_account:"Mon compte",back:"Retour",logout:"Déconnexion",look_and_feel:"Apparence",language:"Langue",color_scheme:"Schéma de couleurs",extension_cost:"Cette version nécessite un paiement minimum de {cost} sats.",extension_paid_sats:"Vous avez déjà payé {paid_sats} sats.",release_details_error:"Impossible d'obtenir les détails de la version.",pay_from_wallet:"Payer depuis le portefeuille",show_qr:"Afficher le QR",retry_install:"Réessayer l'installation",new_payment:"Effectuer un nouveau paiement",hide_empty_wallets:"Masquer les portefeuilles vides"},window.localisation.it={confirm:"Sì",server:"Server",theme:"Tema",funding:"Funding",users:"Utenti",apps:"Applicazioni",channels:"Canali",transactions:"Transazioni",dashboard:"Pannello di controllo",node:"Interruttore",export_users:"Esporta utenti",no_users:"Nessun utente trovato",total_capacity:"Capacità Totale",avg_channel_size:"Dimensione media del canale",biggest_channel_size:"Dimensione del canale più grande",smallest_channel_size:"Dimensione Più Piccola del Canale",number_of_channels:"Numero di Canali",active_channels:"Canali Attivi",connect_peer:"Connetti Peer",connect:"Connetti",open_channel:"Canale aperto",open:"Apri",close_channel:"Chiudi Canale",close:"Chiudi",restart:"Riavvia il server",save:"Salva",save_tooltip:"Salva le modifiche",topup:"Ricarica",topup_wallet:"Ricarica un portafoglio",topup_hint:"Usa l'ID del portafoglio per ricaricare qualsiasi portafoglio",restart_tooltip:"Riavvia il server affinché le modifiche abbiano effetto",add_funds_tooltip:"Aggiungere fondi a un portafoglio",reset_defaults:"Ripristina le impostazioni predefinite",reset_defaults_tooltip:"Cancella tutte le impostazioni e ripristina i valori predefiniti",download_backup:"Scarica il backup del database",name_your_wallet:"Dai un nome al tuo portafoglio {name}",wallet_topup_ok:"Operazione riuscita nella creazione di fondi virtuali ({amount} sats). I pagamenti dipendono dai fondi effettivi sulla fonte di finanziamento.",paste_invoice_label:"Incolla una fattura, una richiesta di pagamento o un codice lnurl *",lnbits_description:"Leggero e facile da configurare, LNbits può funzionare su qualsiasi fonte di finanziamento Lightning Network e persino LNbits stesso! Potete gestire LNbits per conto vostro o offrire facilmente una soluzione di custodia per altri. Ogni portafoglio ha le proprie chiavi API e non c'è limite al numero di portafogli che si possono creare. La possibilità di suddividere i fondi rende LNbits uno strumento utile per la gestione del denaro e come strumento di sviluppo. Le estensioni aggiungono ulteriori funzionalità a LNbits, consentendo di sperimentare una serie di tecnologie all'avanguardia sulla rete Lightning. Abbiamo reso lo sviluppo delle estensioni il più semplice possibile e, in quanto progetto libero e open-source, incoraggiamo le persone a sviluppare e inviare le proprie",export_to_phone:"Esportazione su telefono con codice QR",export_to_phone_desc:"Questo codice QR contiene l'URL del portafoglio con accesso da amministratore. È possibile scansionarlo dal telefono per aprire il portafoglio da lì.",wallets:"Portafogli",add_wallet:"Aggiungi un nuovo portafoglio",delete_wallet:"Elimina il portafoglio",delete_wallet_desc:"L'intero portafoglio sarà cancellato, i fondi saranno irrecuperabili",rename_wallet:"Rinomina il portafoglio",update_name:"Aggiorna il nome",fiat_tracking:"Tracciamento Fiat",currency:"Valuta",update_currency:"Aggiorna valuta",press_to_claim:"Premi per richiedere bitcoin",donate:"Donazioni",view_github:"Visualizza su GitHub",voidwallet_active:"VoidWallet è attivo! Pagamenti disabilitati",use_with_caution:"USARE CON CAUTELA - {name} portafoglio è ancora in BETA",service_fee:"Commissione di servizio: {amount} % per transazione",service_fee_max:"Commissione di servizio: {amount} % per transazione (max {max} sats)",service_fee_tooltip:"Commissione di servizio addebitata dall'amministratore del server LNbits per ogni transazione in uscita",toggle_darkmode:"Attiva la modalità notturna",payment_reactions:"Reazioni al Pagamento",view_swagger_docs:"Visualizza i documentazione dell'API Swagger di LNbits",api_docs:"Documentazione dell'API",api_keys_api_docs:"URL del nodo, chiavi API e documentazione API",lnbits_version:"Versione di LNbits",runs_on:"Esegue su",credit_hint:"Premere Invio per accreditare i fondi",credit_label:"{denomination} da accreditare",paste:"Incolla",paste_from_clipboard:"Incolla dagli appunti",paste_request:"Richiesta di pagamento",create_invoice:"Crea fattura",camera_tooltip:"Usa la fotocamera per scansionare la fattura/QR",export_csv:"Esporta CSV",chart_tooltip:"Mostra grafico",pending:"In attesa",copy_invoice:"Copia fattura",withdraw_from:"Prelevare da",cancel:"Annulla",scan:"Scansiona",read:"Leggi",pay:"Paga",memo:"Memo",date:"Dati",processing_payment:"Elaborazione pagamento...",not_enough_funds:"Non ci sono abbastanza fondi!",search_by_tag_memo_amount:"Cerca per tag, memo, importo...",invoice_waiting:"Fattura in attesa di pagamento",payment_received:"Pagamento ricevuto",payment_sent:"Pagamento inviato",receive:"ricevere",send:"inviare",outgoing_payment_pending:"Pagamento in uscita in attesa",drain_funds:"Fondi di drenaggio",drain_funds_desc:"Questo è un codice QR LNURL-withdraw per prelevare tutti i fondi da questo portafoglio. Non condividerlo con nessuno. È compatibile con balanceCheck e balanceNotify, di conseguenza il vostro portafoglio può continuare a prelevare continuamente i fondi da qui dopo il primo prelievo",i_understand:"Ho capito",copy_wallet_url:"Copia URL portafoglio",disclaimer_dialog_title:"Importante!",disclaimer_dialog:"La funzionalità di login sarà rilasciata in un futuro aggiornamento; per ora, assicuratevi di salvare tra i preferiti questa pagina per accedere nuovamente in futuro a questo portafoglio! Questo servizio è in fase BETA e non ci assumiamo alcuna responsabilità per la perdita all'accesso dei fondi",no_transactions:"Nessuna transazione effettuata",manage:"Gestisci",extensions:"Estensioni",no_extensions:"Non ci sono estensioni installate :(",created:"Creato",search_extensions:"Estensioni di ricerca",warning:"Attenzione",repository:"Deposito",confirm_continue:"Sei sicuro di voler continuare?",manage_extension_details:"Installa/disinstalla estensione",install:"Installare",uninstall:"Disinstalla",drop_db:"Rimuovi Dati",enable:"Abilita",enable_extension_details:"Attiva l'estensione per l'utente corrente",disable:"Disabilita",installed:"Installato",activated:"Attivato",deactivated:"Disattivato",release_notes:"Note di Rilascio",activate_extension_details:"Rendi l'estensione disponibile/non disponibile per gli utenti",featured:"In primo piano",all:"Tutto",only_admins_can_install:"Solo gli account amministratore possono installare estensioni.",admin_only:"Solo amministratore",new_version:"Nuova Versione",extension_depends_on:"Dipende da:",extension_rating_soon:"Valutazioni in arrivo",extension_installed_version:"Versione installata",extension_uninstall_warning:"Stai per rimuovere l'estensione per tutti gli utenti.",uninstall_confirm:"Sì, Disinstalla",extension_db_drop_info:"Tutti i dati relativi all'estensione saranno cancellati permanentemente. Non c'è modo di annullare questa operazione!",extension_db_drop_warning:"Stai per rimuovere tutti i dati per l'estensione. Digita il nome dell'estensione per continuare:",extension_min_lnbits_version:"Questa versione richiede almeno la versione LNbits",payment_hash:"Hash del pagamento",fee:"Tariffa",amount:"Importo",tag:"Etichetta",unit:"Unità",description:"Descrizione",expiry:"Scadenza",webhook:"Webhook",payment_proof:"Prova di pagamento",update_available:"Aggiornamento {version} disponibile!",latest_update:"Sei sulla versione più recente {version}.",notifications:"Notifiche",no_notifications:"Nessuna notifica",notifications_disabled:"Le notifiche di stato di LNbits sono disattivate.",enable_notifications:"Attiva le notifiche",enable_notifications_desc:"Se attivato, recupererà gli ultimi aggiornamenti sullo stato di LNbits, come incidenti di sicurezza e aggiornamenti.",enable_killswitch:"Attiva Killswitch",enable_killswitch_desc:"Se attivato, cambierà automaticamente la tua fonte di finanziamento in VoidWallet se LNbits invia un segnale di killswitch. Dovrai attivare manualmente dopo un aggiornamento.",killswitch_interval:"Intervallo Killswitch",killswitch_interval_desc:"Quanto spesso il compito in background dovrebbe controllare il segnale di killswitch LNbits dalla fonte di stato (in minuti).",enable_watchdog:"Attiva Watchdog",enable_watchdog_desc:"Se abilitato, cambierà automaticamente la tua fonte di finanziamento in VoidWallet se il tuo saldo è inferiore al saldo LNbits. Dovrai abilitarlo manualmente dopo un aggiornamento.",watchdog_interval:"Intervallo Watchdog",watchdog_interval_desc:"Quanto spesso il task in background dovrebbe controllare un segnale di killswitch nel delta del watchdog [node_balance - lnbits_balance] (in minuti).",watchdog_delta:"Guardiano Delta",watchdog_delta_desc:"Limite prima che l'interruttore di sicurezza modifichi la fonte di finanziamento in VoidWallet [lnbits_balance - node_balance > delta]",status:"Stato",notification_source:"Sorgente di notifica",notification_source_label:"URL sorgente (utilizzare solo la fonte ufficiale di stato LNbits e fonti di cui ti puoi fidare)",more:"più",less:"meno",releases:"Pubblicazioni",killswitch:"Interruttore di spegnimento",watchdog:"Cane da guardia",server_logs:"Registri del server",ip_blocker:"Blocco IP",security:"Sicurezza",security_tools:"Strumenti di sicurezza",block_access_hint:"Blocca l'accesso per IP",allow_access_hint:"Consenti l'accesso per IP (sovrascriverà gli IP bloccati)",enter_ip:"Inserisci l'IP e premi invio",rate_limiter:"Limitatore di frequenza",wallet_limiter:"Limitatore del Portafoglio",wallet_limit_max_withdraw_per_day:"Prelievo massimo giornaliero dal portafoglio in sats (0 per disabilitare)",wallet_max_ballance:"Saldo massimo del portafoglio in sats (0 per disabilitare)",wallet_limit_secs_between_trans:"Minuti e secondi tra transazioni per portafoglio (0 per disabilitare)",number_of_requests:"Numero di richieste",time_unit:"Unità di tempo",minute:"minuto",second:"secondo",hour:"ora",disable_server_log:"Disabilita Registro Server",enable_server_log:"Attiva Registro Server",coming_soon:"Caratteristica in arrivo prossimamente",session_has_expired:"La tua sessione è scaduta. Per favore, effettua nuovamente il login.",instant_access_question:"Vuoi accesso immediato?",login_with_user_id:"Accedi con ID utente",or:"oppure",create_new_wallet:"Crea nuovo portafoglio",login_to_account:"Accedi al tuo account",create_account:"Crea un account",account_settings:"Impostazioni dell'account",signin_with_google:"Accedi con Google",signin_with_github:"Accedi con GitHub",signin_with_keycloak:"Accedi con Keycloak",username_or_email:"Nome utente o Email",password:"Password",password_config:"Configurazione della password",password_repeat:"Ripeti la password",change_password:"Cambia Password",set_password:"Imposta password",invalid_password:"La password deve contenere almeno 8 caratteri",login:"Accesso",register:"Registrati",username:"Nome utente",user_id:"ID utente",email:"Email",first_name:"Nome",last_name:"Cognome",picture:"Immagine",verify_email:"Verifica email con",account:"Conto",update_account:"Aggiorna Account",invalid_username:"Nome utente non valido",auth_provider:"Provider di Autenticazione",my_account:"Il mio account",back:"Indietro",logout:"Esci",look_and_feel:"Aspetto e Comportamento",language:"Lingua",color_scheme:"Schema dei colori",extension_cost:"Questa versione richiede un pagamento minimo di {cost} satoshi.",extension_paid_sats:"Hai già pagato {paid_sats} sats.",release_details_error:"Impossibile ottenere i dettagli della versione.",pay_from_wallet:"Paga dal Portafoglio",show_qr:"Mostra QR",retry_install:"Riprova Installazione",new_payment:"Effettua Nuovo Pagamento",hide_empty_wallets:"Nascondi portafogli vuoti"},window.localisation.jp={confirm:"はい",server:"サーバー",theme:"テーマ",funding:"資金調達",users:"ユーザー",apps:"アプリ",channels:"チャンネル",transactions:"トランザクション",dashboard:"ダッシュボード",node:"ノード",export_users:"ユーザーのエクスポート",no_users:"ユーザーが見つかりません",total_capacity:"合計容量",avg_channel_size:"平均チャンネルサイズ",biggest_channel_size:"最大チャネルサイズ",smallest_channel_size:"最小チャンネルサイズ",number_of_channels:"チャンネル数",active_channels:"アクティブチャンネル",connect_peer:"ピアを接続",connect:"接続",open_channel:"オープンチャンネル",open:"開く",close_channel:"チャンネルを閉じる",close:"閉じる",restart:"サーバーを再起動する",save:"保存",save_tooltip:"変更を保存する",topup:"トップアップ",topup_wallet:"ウォレットをトップアップする",topup_hint:"ウォレットIDを使用して、任意のウォレットをトップアップできます",restart_tooltip:"サーバーを再起動して変更を適用します",add_funds_tooltip:"ウォレットに資金を追加します。",reset_defaults:"リセット",reset_defaults_tooltip:"すべての設定を削除してデフォルトに戻します。",download_backup:"データベースのバックアップをダウンロードする",name_your_wallet:"あなたのウォレットの名前 {name}",wallet_topup_ok:"仮想資金の作成に成功しました({amount} sats)。支払いは資金ソースの実際の資金に依存します。",paste_invoice_label:"請求書を貼り付けてください",lnbits_description:"簡単にインストールでき、軽量なLNbitsは、あらゆるライトニングネットワークの資金源と、LNbits自身でさえも実行できます!LNbitsを個人で実行することも、他人に対してカストディアンソリューションをで実行できます! LNbitsを自分で実行することも、他の人に優れたソリューションを提供することもできます。各ウォレットには独自のAPIキーがあり、作成できるウォレットの数に制限はありません。資金を分割する機能は、LNbitsを資金管理ツールとして使用したり、開発ツールとして使用したりするための便利なツールです。拡張機能は、LNbitsに追加の機能を追加します。そのため、LNbitsは最先端の技術をネットワークLightningで試すことができます。拡張機能を開発するのは簡単で、無料でオープンソースのプロジェクトであるため、人々が自分で開発し、自分の貢献を送信することを奨励しています。",export_to_phone:"電話にエクスポート",export_to_phone_desc:"ウォレットを電話にエクスポートすると、ウォレットを削除する前にウォレットを復元できます。ウォレットを削除すると、ウォレットの秘密鍵が削除され、ウォレットを復元することはできません。",wallets:"ウォレット",add_wallet:"ウォレットを追加",delete_wallet:"ウォレットを削除",delete_wallet_desc:"ウォレットを削除すると、ウォレットの秘密鍵が削除され、ウォレットを復元することはできません。",rename_wallet:"ウォレットの名前を変更",update_name:"名前を更新",fiat_tracking:"フィアット追跡",currency:"通貨",update_currency:"通貨を更新する",press_to_claim:"クレームするには押してください",donate:"寄付",view_github:"GitHubで表示",voidwallet_active:"Voidwalletアクティブ",use_with_caution:"注意して使用してください - {name} ウォレットはまだベータ版です",service_fee:"取引ごとのサービス手数料: {amount} %",service_fee_max:"取引手数料:{amount}%(最大{max}サトシ)",service_fee_tooltip:"LNbitsサーバー管理者が発生する送金ごとの手数料",toggle_darkmode:"ダークモードを切り替える",payment_reactions:"支払いの反応",view_swagger_docs:"Swaggerドキュメントを表示",api_docs:"APIドキュメント",api_keys_api_docs:"ノードURL、APIキー、APIドキュメント",lnbits_version:"LNbits バージョン",runs_on:"で実行",credit_hint:"クレジットカードを使用して資金を追加するには、LNbitsを使用してください。",credit_label:"{denomination} をクレジットに",paste:"貼り付け",paste_from_clipboard:"クリップボードから貼り付け",paste_request:"リクエストを貼り付ける",create_invoice:"請求書を作成する",camera_tooltip:"QRコードを読み取る",export_csv:"CSVでエクスポート",chart_tooltip:"チャートを表示するには、グラフの上にカーソルを合わせます",pending:"保留中",copy_invoice:"請求書をコピー",withdraw_from:"出金",cancel:"キャンセル",scan:"スキャン",read:"読む",pay:"支払う",memo:"メモ",date:"日付",processing_payment:"支払い処理中",not_enough_funds:"資金が不足しています",search_by_tag_memo_amount:"タグ、メモ、金額で検索",invoice_waiting:"請求書を待っています",payment_received:"お支払いありがとうございます",payment_sent:"支払いが完了しました",receive:"受け取る",send:"送信",outgoing_payment_pending:"支払い保留中",drain_funds:"資金を排出する",drain_funds_desc:"ウォレットの残高をすべて他のウォレットに送金します",i_understand:"理解した",copy_wallet_url:"ウォレットURLをコピー",disclaimer_dialog_title:"重要!",disclaimer_dialog:"ウォレットを削除すると、ウォレットの秘密鍵が削除され、ウォレットを復元することはできません。ウォレットを削除する前に、ウォレットをエクスポートしてください。",no_transactions:"トランザクションはありません",manage:"管理",extensions:"拡張機能",no_extensions:"拡張機能はありません",created:"作成済み",search_extensions:"検索拡張機能",warning:"警告",repository:"リポジトリ",confirm_continue:"続行してもよろしいですか?",manage_extension_details:"拡張機能のインストール/アンインストール",install:"インストール",uninstall:"アンインストール",drop_db:"データを削除",enable:"有効",enable_extension_details:"現在のユーザーの拡張機能を有効にする",disable:"無効",installed:"インストール済み",activated:"有効化",deactivated:"無効化",release_notes:"リリースノート",activate_extension_details:"拡張機能をユーザーが利用できるようにする/利用できないようにする",featured:"特集",all:"すべて",only_admins_can_install:"(管理者アカウントのみが拡張機能をインストールできます)",admin_only:"管理者のみ",new_version:"新しいバージョン",extension_depends_on:"依存先:",extension_rating_soon:"評価は近日公開",extension_installed_version:"インストール済みバージョン",extension_uninstall_warning:"すべてのユーザーの拡張機能を削除しようとしています.",uninstall_confirm:"はい、アンインストールします",extension_db_drop_info:"エクステンションのすべてのデータが完全に削除されます。この操作を元に戻す方法はありません!",extension_db_drop_warning:"エクステンションのすべてのデータを削除しようとしています。続行するには、エクステンションの名前を入力してください:",extension_min_lnbits_version:"このリリースには少なくとも LNbits バージョンが必要です",payment_hash:"支払いハッシュ",fee:"料金",amount:"量",tag:"タグ",unit:"単位",description:"説明",expiry:"有効期限",webhook:"ウェブフック",payment_proof:"支払い証明",update_available:"アップデート{version}が利用可能です!",latest_update:"あなたは最新バージョン{version}を使用しています。",notifications:"通知",no_notifications:"通知はありません",notifications_disabled:"LNbitsステータス通知は無効です。",enable_notifications:"通知を有効にする",enable_notifications_desc:"有効にすると、セキュリティインシデントやアップデートのような最新のLNbitsステータス更新を取得します。",enable_killswitch:"キルスイッチを有効にする",enable_killswitch_desc:"有効にすると、LNbitsからキルスイッチ信号が送信された場合に自動的に資金源をVoidWalletに切り替えます。更新後には手動で有効にする必要があります。",killswitch_interval:"キルスイッチ間隔",killswitch_interval_desc:"バックグラウンドタスクがステータスソースからLNbitsキルスイッチ信号を確認する頻度(分単位)。",enable_watchdog:"ウォッチドッグを有効にする",enable_watchdog_desc:"有効にすると、残高がLNbitsの残高より少ない場合に、資金源を自動的にVoidWalletに変更します。アップデート後は手動で有効にする必要があります。",watchdog_interval:"ウォッチドッグ・インターバル",watchdog_interval_desc:"バックグラウンドタスクがウォッチドッグデルタ[node_balance - lnbits_balance]でキルスイッチシグナルを確認する頻度(分単位)。",watchdog_delta:"ウォッチドッグデルタ",watchdog_delta_desc:"キルスイッチが資金源をVoidWalletに変更する前の限界 [lnbits_balance - node_balance > delta]",status:"ステータス",notification_source:"通知ソース",notification_source_label:"ソースURL(公式のLNbitsステータスソースのみを使用し、信頼できるソースのみを利用してください)",more:"より多くの",less:"少ない",releases:"リリース",killswitch:"キルスイッチ",watchdog:"ウォッチドッグ",server_logs:"サーバーログ",ip_blocker:"IPブロッカー",security:"セキュリティ",security_tools:"セキュリティツール",block_access_hint:"IPによるアクセスをブロック",allow_access_hint:"IPによるアクセスを許可する(ブロックされたIPを上書きします)",enter_ip:"IPを入力してエンターキーを押してください",rate_limiter:"レートリミッター",wallet_limiter:"ウォレットリミッター",wallet_limit_max_withdraw_per_day:"1日あたりの最大ウォレット出金額をsatsで入力してください(0 で無効)。",wallet_max_ballance:"ウォレットの最大残高(sats)(0は無効)",wallet_limit_secs_between_trans:"トランザクション間の最小秒数(ウォレットごと)(0は無効)",number_of_requests:"リクエストの数",time_unit:"時間単位",minute:"分",second:"秒",hour:"時間",disable_server_log:"サーバーログを無効にする",enable_server_log:"サーバーログを有効にする",coming_soon:"機能は間もなく登場します",session_has_expired:"あなたのセッションは期限切れです。もう一度ログインしてください。",instant_access_question:"即時アクセスをご希望ですか?",login_with_user_id:"ユーザーIDでログイン",or:"または",create_new_wallet:"新しいウォレットを作成",login_to_account:"アカウントにログインしてください",create_account:"アカウントを作成",account_settings:"アカウント設定",signin_with_google:"Googleでサインイン",signin_with_github:"GitHubでサインイン",signin_with_keycloak:"Keycloakでサインイン",username_or_email:"ユーザー名またはメールアドレス",password:"パスワード",password_config:"パスワード設定",password_repeat:"パスワードの再入力",change_password:"パスワードを変更",set_password:"パスワードを設定",invalid_password:"パスワードは少なくとも8文字必要です",login:"ログイン",register:"登録",username:"ユーザー名",user_id:"ユーザーID",email:"メール",first_name:"名",last_name:"姓",picture:"写真",verify_email:"メールアドレスの確認を行ってください",account:"アカウント",update_account:"アカウントを更新",invalid_username:"無効なユーザー名",auth_provider:"認証プロバイダ",my_account:"マイアカウント",back:"戻る",logout:"ログアウト",look_and_feel:"ルック・アンド・フィール",language:"言語",color_scheme:"カラースキーム",extension_cost:"このリリースには最低 {cost} サトシの支払いが必要です。",extension_paid_sats:"すでに{paid_sats} satsを支払いました。",release_details_error:"リリースの詳細を取得できません。",pay_from_wallet:"ウォレットから支払う",show_qr:"QRを表示",retry_install:"再試行インストール",new_payment:"新しい支払いを作成する",hide_empty_wallets:"空のウォレットを非表示にする"},window.localisation.cn={confirm:"确定",server:"服务器",theme:"主题",funding:"资金",users:"用户",apps:"应用程序",channels:"频道",transactions:"交易记录",dashboard:"控制面板",node:"节点",export_users:"导出用户",no_users:"未找到用户",total_capacity:"总容量",avg_channel_size:"平均频道大小",biggest_channel_size:"最大通道大小",smallest_channel_size:"最小频道尺寸",number_of_channels:"频道数量",active_channels:"活跃频道",connect_peer:"连接对等",connect:"连接",open_channel:"打开频道",open:"打开",close_channel:"关闭频道",close:"关闭",restart:"重新启动服务器",save:"保存",save_tooltip:"保存更改",topup:"充值",topup_wallet:"给钱包充值",topup_hint:"使用钱包ID为任何钱包充值",restart_tooltip:"重新启动服务器以使更改生效",add_funds_tooltip:"为钱包添加资金",reset_defaults:"重置为默认设置",reset_defaults_tooltip:"删除所有设置并重置为默认设置",download_backup:"下载数据库备份",name_your_wallet:"给你的 {name}钱包起个名字",wallet_topup_ok:"成功创建虚拟资金({amount} sats)。付款取决于资金来源的实际资金。",paste_invoice_label:"粘贴发票,付款请求或lnurl*",lnbits_description:"LNbits 设置简单、轻量级,可以在任何闪电网络的资金来源上运行,甚至可以在LNbits自身上运行!您可以为自己运行LNbits,或者轻松为他人提供托管解决方案。每个钱包都有自己的 API 密钥,你可以创建的钱包数量没有限制。能够把资金分开管理使 LNbits 成为一款有用的资金管理和开发工具。扩展程序增加了 LNbits 的额外功能,所以你可以在闪电网络上尝试各种尖端技术。我们已经尽可能简化了开发扩展程序的过程,作为一个免费和开源的项目,我们鼓励人们开发并提交自己的扩展程序。",export_to_phone:"通过二维码导出到手机",export_to_phone_desc:"这个二维码包含您钱包的URL。您可以使用手机扫描的方式打开您的钱包。",wallets:"钱包",add_wallet:"添加新钱包",delete_wallet:"删除钱包",delete_wallet_desc:"整个钱包将被删除,资金将无法恢复",rename_wallet:"重命名钱包",update_name:"更新名称",fiat_tracking:"菲亚特追踪",currency:"货币",update_currency:"更新货币",press_to_claim:"点击领取比特币",donate:"捐献",view_github:"在GitHub上查看",voidwallet_active:"VoidWallet 已激活!付款功能已禁用。",use_with_caution:"请谨慎使用 - {name}钱包还处于测试版阶段",service_fee:"服务费:{amount}% 每笔交易",service_fee_max:"服务费:{amount}% 每笔交易(最高 {max} sats)",service_fee_tooltip:"LNbits服务器管理员每笔外发交易收取的服务费",toggle_darkmode:"切换暗黑模式",payment_reactions:"支付反应",view_swagger_docs:"查看 LNbits Swagger API 文档",api_docs:"API文档",api_keys_api_docs:"节点URL、API密钥和API文档",lnbits_version:"LNbits版本",runs_on:"可运行在",credit_hint:"按 Enter 键充值账户",credit_label:"{denomination} 充值",paste:"粘贴",paste_from_clipboard:"从剪贴板粘贴",paste_request:"粘贴请求",create_invoice:"创建发票",camera_tooltip:"用相机扫描发票/二维码",export_csv:"导出为CSV",chart_tooltip:"显示图表",pending:"待处理",copy_invoice:"复制发票",withdraw_from:"从",cancel:"取消",scan:"扫描",read:"读取",pay:"付款",memo:"备注",date:"日期",processing_payment:"正在处理支付...",not_enough_funds:"资金不足!",search_by_tag_memo_amount:"按标签、备注、金额搜索",invoice_waiting:"待支付的发票",payment_received:"收到付款",payment_sent:"付款已发送",receive:"收款",send:"付款",outgoing_payment_pending:"付款正在等待处理",drain_funds:"清空资金",drain_funds_desc:"这是一个 LNURL-取款的二维码,用于从该钱包中提取全部资金。请不要与他人分享。它与 balanceCheck 和 balanceNotify 兼容,因此在第一次取款后,您的钱包还可能会持续从这里提取资金",i_understand:"我明白",copy_wallet_url:"复制钱包URL",disclaimer_dialog_title:"重要!",disclaimer_dialog:"登录功能将在以后的更新中发布,请将此页面加为书签,以便将来访问您的钱包!此服务处于测试阶段,我们不对资金的丢失承担任何责任。",no_transactions:"尚未进行任何交易",manage:"管理",extensions:"扩展程序",no_extensions:"你没有安装任何扩展程序 :(",created:"已创建",search_extensions:"搜索扩展程序",warning:"警告",repository:"代码库",confirm_continue:"你确定要继续吗?",manage_extension_details:"安装/卸载扩展程序",install:"安装",uninstall:"卸载",drop_db:"删除数据",enable:"启用",enable_extension_details:"为当前用户启用扩展程序",disable:"禁用",installed:"已安装",activated:"已激活",deactivated:"已停用",release_notes:"发布说明",activate_extension_details:"对用户开放或禁用扩展程序",featured:"精选",all:"全部",only_admins_can_install:"(只有管理员账户可以安装扩展)",admin_only:"仅限管理员",new_version:"新版本",extension_depends_on:"依赖于:",extension_rating_soon:"即将推出评分",extension_installed_version:"已安装的版本",extension_uninstall_warning:"您即将对所有用户删除该扩展程序。",uninstall_confirm:"是的,卸载",extension_db_drop_info:"该扩展程序的所有数据将被永久删除。此操作无法撤销!",extension_db_drop_warning:"您即将删除该扩展的所有数据。请继续输入扩展程序名称以确认操作:",extension_min_lnbits_version:"此版本要求最低的 LNbits 版本为",payment_hash:"付款哈希",fee:"费",amount:"金额",tag:"标签",unit:"单位",description:"详情",expiry:"过期时间",webhook:"Webhook",payment_proof:"付款证明",update_available:"更新{version}可用!",latest_update:"您当前使用的是最新版本{version}。",notifications:"通知",no_notifications:"没有通知",notifications_disabled:"LNbits状态通知已禁用。",enable_notifications:"启用通知",enable_notifications_desc:"如果启用,它将获取最新的LNbits状态更新,如安全事件和更新。",enable_killswitch:"启用紧急停止开关",enable_killswitch_desc:"如果启用,当LNbits发送终止信号时,系统将自动将您的资金来源更改为VoidWallet。更新后,您将需要手动启用。",killswitch_interval:"Killswitch 间隔",killswitch_interval_desc:"后台任务应该多久检查一次来自状态源的LNbits断路信号(以分钟为单位)。",enable_watchdog:"启用看门狗",enable_watchdog_desc:"如果启用,当您的余额低于LNbits余额时,系统将自动将您的资金来源更改为VoidWallet。更新后您将需要手动启用。",watchdog_interval:"看门狗间隔",watchdog_interval_desc:"后台任务应该多久检查一次看门狗增量中的 killswitch 信号 [node_balance - lnbits_balance](以分钟计)。",watchdog_delta:"看门狗德尔塔",watchdog_delta_desc:"在触发紧急停止前切换资金来源至VoidWallet的限制 [lnbits_balance - node_balance > delta]",status:"状态",notification_source:"通知来源",notification_source_label:"来源 URL(仅使用官方LNbits状态源和您信任的源)",more:"更多",less:"少",releases:"版本",killswitch:"杀手锏",watchdog:"监控程序",server_logs:"服务器日志",ip_blocker:"IP 阻止器",security:"安全",security_tools:"安全工具",block_access_hint:"屏蔽IP访问",allow_access_hint:"允许通过IP访问(将覆盖被屏蔽的IP)",enter_ip:"输入IP地址并按回车键",rate_limiter:"速率限制器",wallet_limiter:"钱包限制器",wallet_limit_max_withdraw_per_day:"每日钱包最大提现额度(单位:sats)(设为0则禁用)",wallet_max_ballance:"钱包最大余额(以sats计)(设为0则禁用)",wallet_limit_secs_between_trans:"每个钱包交易间最少秒数(设为0则禁用)",number_of_requests:"请求次数",time_unit:"时间单位",minute:"分钟",second:"秒",hour:"小时",disable_server_log:"禁用服务器日志",enable_server_log:"启用服务器日志",coming_soon:"功能即将推出",session_has_expired:"您的会话已过期。请重新登录。",instant_access_question:"想要即时访问吗?",login_with_user_id:"使用用户ID登录",or:"或",create_new_wallet:"创建新钱包",login_to_account:"登录您的账户",create_account:"创建账户",account_settings:"账户设置",signin_with_google:"使用谷歌账号登录",signin_with_github:"使用GitHub登录",signin_with_keycloak:"使用Keycloak登录",username_or_email:"用户名或电子邮箱",password:"密码",password_config:"密码配置",password_repeat:"密码重复",change_password:"修改密码",set_password:"设置密码",invalid_password:"密码至少需要有8个字符",login:"登录",register:"注册",username:"用户名",user_id:"用户ID",email:"电子邮件",first_name:"名字",last_name:"姓氏",picture:"图片",verify_email:"验证电子邮件与",account:"账户",update_account:"更新帐户",invalid_username:"无效用户名",auth_provider:"认证提供者",my_account:"我的账户",back:"返回",logout:"注销",look_and_feel:"外观和感觉",language:"语言",color_scheme:"配色方案",extension_cost:"此版本需要支付最低 {cost} sats。",extension_paid_sats:"您已经支付了{paid_sats} sats。",release_details_error:"无法获取发布详情。",pay_from_wallet:"从钱包支付",show_qr:"显示QR码",retry_install:"重试安装",new_payment:"创建新支付",hide_empty_wallets:"隐藏空钱包"},window.localisation.nl={confirm:"Ja",server:"Server",theme:"Thema",funding:"Financiering",users:"Gebruikers",apps:"Apps",channels:"Kanalen",transactions:"Transacties",dashboard:"Dashboard",node:"Knooppunt",export_users:"Gebruikers exporteren",no_users:"Geen gebruikers gevonden",total_capacity:"Totale capaciteit",avg_channel_size:"Gem. Kanaalgrootte",biggest_channel_size:"Grootste Kanaalgrootte",smallest_channel_size:"Kleinste Kanaalgrootte",number_of_channels:"Aantal kanalen",active_channels:"Actieve Kanalen",connect_peer:"Peer verbinden",connect:"Verbinden",open_channel:"Open Kanaal",open:"Open",close_channel:"Kanaal Sluiten",close:"Sluiten",restart:"Server opnieuw opstarten",save:"Opslaan",save_tooltip:"Sla uw wijzigingen op",topup:"Bijvullen",topup_wallet:"Een portemonnee bijvullen",topup_hint:"Gebruik de portemonnee-ID om elke portemonnee bij te vullen",restart_tooltip:"Start de server opnieuw op zodat wijzigingen van kracht worden",add_funds_tooltip:"Voeg geld toe aan een portemonnee.",reset_defaults:"Standaardinstellingen herstellen",reset_defaults_tooltip:"Wis alle instellingen en herstel de standaardinstellingen.",download_backup:"Databaseback-up downloaden",name_your_wallet:"Geef je {name} portemonnee een naam",wallet_topup_ok:"Succes met het aanmaken van virtuele fondsen ({amount} sats). Betalingen zijn afhankelijk van de werkelijke fondsen op de financieringsbron.",paste_invoice_label:"Plak een factuur, betalingsverzoek of lnurl-code*",lnbits_description:"Gemakkelijk in te stellen en lichtgewicht, LNbits kan op elke lightning-netwerkfinancieringsbron draaien en zelfs LNbits zelf! U kunt LNbits voor uzelf laten draaien of gemakkelijk een bewaardersoplossing voor anderen bieden. Elke portemonnee heeft zijn eigen API-sleutels en er is geen limiet aan het aantal portemonnees dat u kunt maken. Het kunnen partitioneren van fondsen maakt LNbits een nuttige tool voor geldbeheer en als ontwikkelingstool. Extensies voegen extra functionaliteit toe aan LNbits, zodat u kunt experimenteren met een reeks toonaangevende technologieën op het bliksemschichtnetwerk. We hebben het ontwikkelen van extensies zo eenvoudig mogelijk gemaakt en als een gratis en opensource-project moedigen we mensen aan om hun eigen ontwikkelingen in te dienen.",export_to_phone:"Exporteren naar telefoon met QR-code",export_to_phone_desc:"Deze QR-code bevat uw portemonnee-URL met volledige toegang. U kunt het vanaf uw telefoon scannen om uw portemonnee van daaruit te openen.",wallets:"Portemonnees",add_wallet:"Een nieuwe portemonnee toevoegen",delete_wallet:"Portemonnee verwijderen",delete_wallet_desc:"Deze hele portemonnee wordt verwijderd, de fondsen worden NIET TERUGGEVONDEN.",rename_wallet:"Portemonnee hernoemen",update_name:"Naam bijwerken",fiat_tracking:"Volgfunctie voor fiat-valuata",currency:"Valuta",update_currency:"Valuta bijwerken",press_to_claim:"Druk om bitcoin te claimen",donate:"Doneren",view_github:"Bekijken op GitHub",voidwallet_active:"VoidWallet is actief! Betalingen uitgeschakeld",use_with_caution:"GEBRUIK MET VOORZICHTIGHEID - {name} portemonnee is nog in BETA",service_fee:"Servicekosten: {amount} % per transactie",service_fee_max:"Servicekosten: {amount} % per transactie (max {max} sats)",service_fee_tooltip:"Transactiekosten in rekening gebracht door de LNbits serverbeheerder per uitgaande transactie",toggle_darkmode:"Donkere modus aan/uit",payment_reactions:"Betalingsreacties",view_swagger_docs:"Bekijk LNbits Swagger API-documentatie",api_docs:"API-documentatie",api_keys_api_docs:"Node URL, API-sleutels en API-documentatie",lnbits_version:"LNbits-versie",runs_on:"Draait op",credit_hint:"Druk op Enter om de rekening te crediteren",credit_label:"{denomination} te crediteren",paste:"Plakken",paste_from_clipboard:"Plakken van klembord",paste_request:"Verzoek plakken",create_invoice:"Factuur aanmaken",camera_tooltip:"Gebruik de camera om een factuur/QR-code te scannen",export_csv:"Exporteer naar CSV",chart_tooltip:"Toon grafiek",pending:"In behandeling",copy_invoice:"Kopieer factuur",withdraw_from:"Opnemen van",cancel:"Annuleren",scan:"Scannen",read:"Lezen",pay:"Betalen",memo:"Memo",date:"Datum",processing_payment:"Verwerking betaling...",not_enough_funds:"Onvoldoende saldo!",search_by_tag_memo_amount:"Zoeken op tag, memo, bedrag",invoice_waiting:"Factuur wachtend op betaling",payment_received:"Betaling ontvangen",payment_sent:"Betaling verzonden",receive:"ontvangen",send:"versturen",outgoing_payment_pending:"Uitgaande betaling in behandeling",drain_funds:"Geld opnemen",drain_funds_desc:"Dit is een LNURL-withdraw QR-code om alles uit deze portemonnee te halen. Deel deze code niet met anderen. Het is compatibel met balanceCheck en balanceNotify zodat jouw portemonnee continu geld kan blijven opnemen vanaf hier na de eerste opname.",i_understand:"Ik begrijp het",copy_wallet_url:"Kopieer portemonnee-URL",disclaimer_dialog_title:"Belangrijk!",disclaimer_dialog:"Inlogfunctionaliteit wordt uitgebracht in een toekomstige update. Zorg er nu voor dat je deze pagina als favoriet markeert om in de toekomst toegang te krijgen tot je portemonnee! Deze service is in BETA en we zijn niet verantwoordelijk voor mensen die de toegang tot hun fondsen verliezen.",no_transactions:"Er zijn nog geen transacties gedaan",manage:"Beheer",extensions:"Extensies",no_extensions:"Je hebt geen extensies geïnstalleerd :(",created:"Aangemaakt",search_extensions:"Zoekextensies",warning:"Waarschuwing",repository:"Repository",confirm_continue:"Weet je zeker dat je wilt doorgaan?",manage_extension_details:"Installeren/verwijderen van extensie",install:"Installeren",uninstall:"Deïnstalleren",drop_db:"Gegevens verwijderen",enable:"Inschakelen",enable_extension_details:"Schakel extensie in voor huidige gebruiker",disable:"Uitschakelen",installed:"Geïnstalleerd",activated:"Geactiveerd",deactivated:"Gedeactiveerd",release_notes:"Release-opmerkingen",activate_extension_details:"Maak extensie beschikbaar/niet beschikbaar voor gebruikers",featured:"Uitgelicht",all:"Alles",only_admins_can_install:"Alleen beheerdersaccounts kunnen extensies installeren",admin_only:"Alleen beheerder",new_version:"Nieuwe Versie",extension_depends_on:"Afhankelijk van:",extension_rating_soon:"Beoordelingen binnenkort beschikbaar",extension_installed_version:"Geïnstalleerde versie",extension_uninstall_warning:"U staat op het punt de extensie voor alle gebruikers te verwijderen.",uninstall_confirm:"Ja, de-installeren",extension_db_drop_info:"Alle gegevens voor de extensie zullen permanent worden verwijderd. Er is geen manier om deze bewerking ongedaan te maken!",extension_db_drop_warning:"U staat op het punt alle gegevens voor de extensie te verwijderen. Typ de naam van de extensie om door te gaan:",extension_min_lnbits_version:"Deze release vereist ten minste LNbits-versie",payment_hash:"Betalings-hash",fee:"Kosten",amount:"Bedrag",tag:"Label",unit:"Eenheid",description:"Beschrijving",expiry:"Vervaldatum",webhook:"Webhook",payment_proof:"Betalingsbewijs",update_available:"Update {version} beschikbaar!",latest_update:"U bent op de nieuwste versie {version}.",notifications:"Meldingen",no_notifications:"Geen meldingen",notifications_disabled:"LNbits-statusmeldingen zijn uitgeschakeld.",enable_notifications:"Schakel meldingen in",enable_notifications_desc:"Indien ingeschakeld zal het de laatste LNbits Status updates ophalen, zoals veiligheidsincidenten en updates.",enable_killswitch:"Activeer Killswitch",enable_killswitch_desc:"Indien ingeschakeld, zal het uw financieringsbron automatisch wijzigen naar VoidWallet als LNbits een killswitch-signaal verzendt. U zult het na een update handmatig moeten inschakelen.",killswitch_interval:"Uitschakelschakelaar-interval",killswitch_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op het LNbits killswitch signaal van de statusbron (in minuten).",enable_watchdog:"Inschakelen Watchdog",enable_watchdog_desc:"Indien ingeschakeld, wordt uw betaalbron automatisch gewijzigd naar VoidWallet als uw saldo lager is dan het saldo van LNbits. U zult dit na een update handmatig moeten inschakelen.",watchdog_interval:"Watchdog-interval",watchdog_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op een killswitch signaal in het watchdog verschil [node_balance - lnbits_balance] (in minuten).",watchdog_delta:"Waakhond Delta",watchdog_delta_desc:"Limiet voordat de killswitch de financieringsbron verandert naar VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notificatiebron",notification_source_label:"Bron-URL (gebruik alleen de officiële LNbits-statusbron en bronnen die u vertrouwt)",more:"meer",less:"minder",releases:"Uitgaven",killswitch:"Killswitch",watchdog:"Waakhond",server_logs:"Serverlogboeken",ip_blocker:"IP-blokkering",security:"Beveiliging",security_tools:"Beveiligingstools",block_access_hint:"Toegang blokkeren per IP",allow_access_hint:"Toegang verlenen op basis van IP (zal geblokkeerde IP's overschrijven)",enter_ip:"Voer IP in en druk op enter",rate_limiter:"Snelheidsbegrenzer",wallet_limiter:"Portemonnee Limietsteller",wallet_limit_max_withdraw_per_day:"Maximale dagelijkse opname van wallet in sats (0 om uit te schakelen)",wallet_max_ballance:"Maximale portefeuillesaldo in sats (0 om uit te schakelen)",wallet_limit_secs_between_trans:"Min seconden tussen transacties per portemonnee (0 om uit te schakelen)",number_of_requests:"Aantal verzoeken",time_unit:"Tijdeenheid",minute:"minuut",second:"seconde",hour:"uur",disable_server_log:"Serverlog uitschakelen",enable_server_log:"Activeer Serverlog",coming_soon:"Functie binnenkort beschikbaar",session_has_expired:"Uw sessie is verlopen. Log alstublieft opnieuw in.",instant_access_question:"Wil je directe toegang?",login_with_user_id:"Inloggen met gebruikers-ID",or:"of",create_new_wallet:"Nieuwe portemonnee aanmaken",login_to_account:"Log in op je account",create_account:"Account aanmaken",account_settings:"Accountinstellingen",signin_with_google:"Inloggen met Google",signin_with_github:"Inloggen met GitHub",signin_with_keycloak:"Inloggen met Keycloak",username_or_email:"Gebruikersnaam of e-mail",password:"Wachtwoord",password_config:"Wachtwoordconfiguratie",password_repeat:"Wachtwoord herhalen",change_password:"Wachtwoord wijzigen",set_password:"Wachtwoord instellen",invalid_password:"Wachtwoord moet ten minste 8 tekens bevatten",login:"Inloggen",register:"Registreren",username:"Gebruikersnaam",user_id:"Gebruikers-ID",email:"E-mail",first_name:"Voornaam",last_name:"Achternaam",picture:"Foto",verify_email:"E-mail verifiëren met",account:"Account",update_account:"Account bijwerken",invalid_username:"Ongeldige gebruikersnaam",auth_provider:"Auth Provider",my_account:"Mijn Account",back:"Terug",logout:"Afmelden",look_and_feel:"Uiterlijk en gedrag",language:"Taal",color_scheme:"Kleurenschema",extension_cost:"Deze release vereist een betaling van minimaal {cost} sats.",extension_paid_sats:"U heeft al {paid_sats} sats betaald.",release_details_error:"Kan de gegevens van de release niet ophalen.",pay_from_wallet:"Betalen vanuit Portemonnee",show_qr:"Toon QR",retry_install:"Opnieuw installeren",new_payment:"Nieuwe betaling maken",hide_empty_wallets:"Verberg lege portemonnees"},window.localisation.pi={confirm:"Aye",server:"Cap`n",theme:"Theme",funding:"Funding",users:"Buccaneers",apps:"Arrrrplications",channels:"Channels",transactions:"Pirate Transactions and loot",dashboard:"Arrr-board",node:"Node",export_users:"Export Mateys",no_users:"No swabbies found",total_capacity:"Total Capacity",avg_channel_size:"Avg. Channel Size",biggest_channel_size:"Largest Bilge Size",smallest_channel_size:"Smallest Channel Size",number_of_channels:"Nummer o' Channels",active_channels:"Active Channels",connect_peer:"Connect Peer",connect:"Connect",open_channel:"Open Channel",open:"Open yer hatches",close_channel:"Shut Yer Gob Channel",close:"Batten down the hatches, we be closin",restart:"Arr, restart Cap`n",save:"Bury Treasure",save_tooltip:"Bury yer changes, matey",topup:"Top up the Chest",topup_wallet:"Add more doubloons to the chest",topup_hint:"Use the chest ID to top up any chest",restart_tooltip:"Restart the Cap`n for changes to take effect, arr!",add_funds_tooltip:"Add doubloons to a chest and make it heavier",reset_defaults:"Reset to Davy Jones Locker",reset_defaults_tooltip:"Scuttle all settings and reset to Davy Jones Locker. Aye, start anew!",download_backup:"Download database booty",name_your_wallet:"Name yer {name} treasure chest",wallet_topup_ok:"Success creatin' virtual funds ({amount} sats). Payments depend on actual funds on funding source.",paste_invoice_label:"Paste a booty, payment request or lnurl code, matey!",lnbits_description:"Arr, easy to set up and lightweight, LNbits can run on any Lightning Network funding source and even LNbits itself! Ye can run LNbits for yourself, or easily offer a custodian solution for others. Each chest has its own API keys and there be no limit to the number of chests ye can make. Being able to partition booty makes LNbits a useful tool for money management and as a development tool. Arr, extensions add extra functionality to LNbits so ye can experiment with a range of cutting-edge technologies on the lightning network. We have made developing extensions as easy as possible, and as a free and open-source project, we encourage scallywags to develop and submit their own.",export_to_phone:"Export to Phone with QR Code, me hearties",export_to_phone_desc:"This QR code contains yer chest URL with full access. Ye can scan it from yer phone to open yer chest from there, arr!",wallets:"Treasure Chests",add_wallet:"Add a new chest and fill it with doubloons!",delete_wallet:"Scuttle the Chest",delete_wallet_desc:"This whole chest will be scuttled, the booty will be UNRECOVERABLE. Aye, be warned!",rename_wallet:"Rename the Chest, me hearty",update_name:"Update name like a captain",fiat_tracking:"Trackin' o' the treasure",currency:"Curr'nsey",update_currency:"Update doubloons",press_to_claim:"Press to claim gold doubloons, matey!",donate:"Donate like a true pirate!",view_github:"View on GitHub and find treasures",voidwallet_active:"VoidWallet be active! Payments disabled",use_with_caution:"USE WITH CAUTION - {name} chest be still in BETA. Aye, be careful!",service_fee:"Service fee: {amount} % per transaction",service_fee_max:"Service fee: {amount} % per transaction (max {max} sats)",service_fee_tooltip:"Service fee charged by the LNbits server admin per goin' transaction",toggle_darkmode:"Toggle Dark Mode, arr!",payment_reactions:"Payment Reactions",view_swagger_docs:"View LNbits Swagger API docs and learn the secrets",api_docs:"API docs for the scallywags",api_keys_api_docs:"Node URL, API keys and API docs",lnbits_version:"LNbits version, arr!",runs_on:"Runs on, matey",credit_hint:"Press Enter to credit account and make it richer",credit_label:"{denomination} to credit, arr!",paste:"Stow",paste_from_clipboard:"Paste from clipboard",paste_request:"Paste Request and find treasures",create_invoice:"Create Booty Request and get rich, me hearties!",camera_tooltip:"Use spyglass to scan a booty/QR, arr!",export_csv:"Export to CSV and keep track of the booty",chart_tooltip:"Show ye chart, me hearty",pending:"Pendin like a ship at anchor",copy_invoice:"Copy booty request, arrr",withdraw_from:"Withdraw from",cancel:"Abandon ship! We be retreatin",scan:"Avast! Scan me beauty, arrr",read:"Read it, if ye dare",pay:"Pay up or walk the plank, ye scallywag",memo:"Message in a bottle, argh",date:"Date of the map, me matey",processing_payment:"Processing yer payment... don´t make me say it again",not_enough_funds:"Arrr, ye don´t have enough doubloons! Walk the plank!",search_by_tag_memo_amount:"Search by tag, message, or booty amount, savvy",invoice_waiting:"Invoice waiting to be plundered, arrr",payment_received:"Payment Received like a treasure, argh",payment_sent:"Payment Sent, hoist the colors! We´ve got some doubloons!",receive:"booty",send:"hoist",outgoing_payment_pending:"Outgoing payment pending in the port, ye scurvy dog",drain_funds:"Plunder all the doubloons, ye buccaneer",drain_funds_desc:"This be an LNURL-withdraw QR code for slurpin everything from this wallet. Don`t share with anyone. It be compatible with balanceCheck and balanceNotify so yer wallet may keep pullin` the funds continuously from here after the first withdraw.",i_understand:"I understand, yo ho ho and a bottle of rum!",copy_wallet_url:"Copy wallet URL like a map, savvy",disclaimer_dialog_title:"Avast!",disclaimer_dialog:"Login functionality to be released in a future update, for now, make sure ye bookmark this page for future access to your booty! This service be in BETA, and we hold no responsibility for people losing access to doubloons.",no_transactions:"No transactions made yet, me hearties. Belay that!",manage:"Manage, me hearty",extensions:"Yer Extensions, ye scurvy dog",no_extensions:"Ye don't have any extensions installed, ye scallywag :(. Where be yer loot?",created:"Created like a legend, savvy",search_extensions:"Search fer extensions",warning:"Avast",repository:"Repository",confirm_continue:"Be ye sure ye want t' proceed?",manage_extension_details:"Install/uninstall extension",install:"Set sail",uninstall:"Avaast",drop_db:"Scuttle Data",enable:"Enable",enable_extension_details:"Enable extension fer th' current user",disable:"Disablin'",installed:"Installed",activated:"Activated",deactivated:"Deactivated",release_notes:"Release Notes",activate_extension_details:"Make extension available/unavailable fer users",featured:"Featured",all:"Arr",only_admins_can_install:"(Only admin accounts can install extensions)",admin_only:"Cap'n Only",new_version:"New Version",extension_depends_on:"Depends on:",extension_rating_soon:"Ratings a'comin' soon",extension_installed_version:"Installed version",extension_uninstall_warning:"Ye be about t' remove th' extension fer all hands.",uninstall_confirm:"Aye, Uninstall",extension_db_drop_info:"All data fer th' extension will be permanently deleted. There be no way to undo this operation!",extension_db_drop_warning:"Ye be about to scuttle all data fer th' extension. Please scribble th' extension name to continue:",extension_min_lnbits_version:"This release be needin' at least LNbits version",payment_hash:"Payment Hash like a treasure map, arrr",fee:"Fee like a toll to cross a strait, matey",amount:"Amount of doubloons, arrr",tag:"Tag",unit:"Unit of measurement like a fathom, ye buccaneer",description:"Description like a tale of adventure, arrr",expiry:"Expiry like the food on a ship, ye landlubber",webhook:"Webhook like a fishing line, arrr",payment_proof:"Payment Proof like a seal of authenticity, argh",update_available:"Update {version} available, me matey!",latest_update:"Ye be on th' latest version {version}.",notifications:"Notificashuns",no_notifications:"No noticin's",notifications_disabled:"LNbits status notifications be disabled, arr!",enable_notifications:"Enable Notifications",enable_notifications_desc:"If ye be allowin' it, it'll be fetchin' the latest LNbits Status updates, like security incidents and updates.",enable_killswitch:"Enabl' th' Killswitch",enable_killswitch_desc:"If enabled it'll be changin' yer fundin' source to VoidWallet automatically if LNbits sends out a killswitch signal, ye will. Ye'll be needin' t' enable manually after an update, arr.",killswitch_interval:"Killswitch Interval",killswitch_interval_desc:"How oft th' background task should be checkin' fer th' LNbits killswitch signal from th' status source (in minutes).",enable_watchdog:"Enable Seadog",enable_watchdog_desc:"If enabled, it will swap yer treasure source t' VoidWallet on its own if yer balance be lower than th' LNbits balance. Ye'll need t' enable by hand after an update.",watchdog_interval:"Seadog Interval",watchdog_interval_desc:"How oft th' background task should be checkin' fer a killswitch signal in th' seadog delta [node_balance - lnbits_balance] (in minutes), arr.",watchdog_delta:"Seadog Delta",watchdog_delta_desc:"Limit afore killswitch changes fundin' source to VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notification Source",notification_source_label:"Source URL (only use th' official LNbits status source, and sources ye can trust)",more:"Arr, 'tis more.",less:"Arr, 'tis more fewer.",releases:"Releases",killswitch:"Killswitch",watchdog:"Seadog",server_logs:"Server Logs",ip_blocker:"IP Blockar",security:"Securrrity",security_tools:"Securrrity tools",block_access_hint:"Block access by IP",allow_access_hint:"Grant permission by IP (will override barred IPs)",enter_ip:"Enter IP and hit enter",rate_limiter:"Rate Limiter",wallet_limiter:"Pouch Limitar",wallet_limit_max_withdraw_per_day:"Max daily wallet withdrawal in sats (0 ter disable)",wallet_max_ballance:"Purse max heaviness in sats (0 fer scuttle)",wallet_limit_secs_between_trans:"Min secs 'tween transactions per wallet (0 to disable)",number_of_requests:"Number o' requests",time_unit:"time bein'",minute:"minnit",second:"second",hour:"hour",disable_server_log:"Disabl' {Server} Log",enable_server_log:"Enable Server Log",coming_soon:"Feature comin' soon",session_has_expired:"Yer session has expired. Please login again.",instant_access_question:"Be wantin' quick entry, aye?",login_with_user_id:"Login with user ID",or:"arr",create_new_wallet:"Create New Wallet",login_to_account:"Log in to yer account",create_account:"Create account",account_settings:"Account Settin's",signin_with_google:"Sign in wit' Google",signin_with_github:"Sign in wit' GitHub",signin_with_keycloak:"Sign in wit' Keycloak",username_or_email:"Usarrrname or Email",password:"Passwarrd",password_config:"Passwarrd Config",password_repeat:"Passwarrd repeat",change_password:"Change Passwarrd",set_password:"Set yer Secret Code",invalid_password:"Passwarrd must be havin' at leest 8 charrracters",login:"Log in",register:"Sign on",username:"Username",user_id:"User ID",email:"Email",first_name:"Firrrst Name",last_name:"Surname",picture:"pictur'",verify_email:"Verify email with",account:"Arrrccount",update_account:"Updatin' Arrrccount",invalid_username:"Username be not valid, matey!",auth_provider:"Auth Provider becometh Auth Provider, ye see?",my_account:"Me Arrrccount",back:"Return",logout:"Log out yer session",look_and_feel:"Look and Feel",language:"Langwidge",color_scheme:"Colour Scheme",extension_cost:"This release be needin' a payment o' minimum {cost} sats, arr.",extension_paid_sats:"Ye have already paid {paid_sats} sats.",release_details_error:"Cannot get th' release details.",pay_from_wallet:"Pay from ye Wallet",show_qr:"Show QR",retry_install:"Try 'nstallin' Again",new_payment:"Make New Payment",hide_empty_wallets:"Stow empty wallets"},window.localisation.pl={confirm:"Tak",server:"Serwer",theme:"Motyw",funding:"Finansowanie",users:"Użytkownicy",apps:"Aplikacje",channels:"Kanały",transactions:"Transakcje",dashboard:"Panel kontrolny",node:"Węzeł",export_users:"Eksportuj użytkowników",no_users:"Nie znaleziono użytkowników",total_capacity:"Całkowita Pojemność",avg_channel_size:"Średni rozmiar kanału",biggest_channel_size:"Największy Rozmiar Kanału",smallest_channel_size:"Najmniejszy Rozmiar Kanału",number_of_channels:"Ilość kanałów",active_channels:"Aktywne kanały",connect_peer:"Połącz z węzłem równorzędnym",connect:"Połącz",open_channel:"Otwarty Kanał",open:"Otwórz",close_channel:"Zamknij kanał",close:"Zamknij",restart:"Restart serwera",save:"Zapisz",save_tooltip:"Zapisz zmiany",topup:"Doładowanie",topup_wallet:"Doładuj portfel",topup_hint:"Użyj ID portfela aby go doładować",restart_tooltip:"Zrestartuj serwer aby aktywować zmiany",add_funds_tooltip:"Dodaj środki do portfela.",reset_defaults:"Powrót do ustawień domyślnych",reset_defaults_tooltip:"Wymaż wszystkie ustawienia i ustaw domyślne.",download_backup:"Pobierz kopię zapasową bazy danych",name_your_wallet:"Nazwij swój portfel {name}",wallet_topup_ok:"Sukces w tworzeniu wirtualnych środków ({amount} sats). Płatności zależą od rzeczywistych środków na źródle finansowania.",paste_invoice_label:"Wklej fakturę, żądanie zapłaty lub kod lnurl *",lnbits_description:"Łatwy i lekki w konfiguracji, LNbits może działać w oparciu o dowolne źródło finansowania w sieci lightning czy nawet inną instancję LNbits! Możesz uruchomić instancję LNbits dla siebie lub dla innych. Każdy portfel ma swoje klucze API i nie ma ograniczeń jeśli chodzi o ilość portfeli. LNbits umożliwia dzielenie środków w celu zarządzania nimi, jest również dobrym narzędziem deweloperskim. Rozszerzenia zwiększają funkcjonalność LNbits co umożliwia eksperymentowanie z nowym technologiami w sieci lightning. Tworzenie rozszerzeń jest proste dlatego zachęcamy innych deweloperów do tworzenia dodatkowych funkcjonalności i wysyłanie do nas PR",export_to_phone:"Eksport kodu QR na telefon",export_to_phone_desc:"Ten kod QR zawiera adres URL Twojego portfela z pełnym dostępem do niego. Możesz go zeskanować na swoim telefonie aby otworzyć na nim ten portfel.",wallets:"Portfele",add_wallet:"Dodaj portfel",delete_wallet:"Usuń portfel",delete_wallet_desc:"Ten portfel zostanie usunięty, środków na nim zgromadzonych NIE BĘDZIE MOŻNA ODZYSKAĆ.",rename_wallet:"Zmień nazwę portfela",update_name:"Zaktualizuj nazwę",fiat_tracking:"Śledzenie Fiata",currency:"Waluta",update_currency:"Aktualizuj walutę",press_to_claim:"Naciśnij aby odebrać Bitcoiny",donate:"Podaruj",view_github:"Otwórz GitHub",voidwallet_active:"VoidWallet jest aktywny! Płatności są niemożliwe",use_with_caution:"KORZYSTAJ Z ROZWAGĄ - portfel {name} jest w wersji BETA",service_fee:"Opłata serwisowa: {amount} % za transakcję",service_fee_max:"Opłata serwisowa: {amount} % za transakcję (maks {max} sat)",service_fee_tooltip:"Opłata serwisowa pobierana przez administratora serwera LNbits za każdą wychodzącą transakcję",toggle_darkmode:"Tryb nocny",payment_reactions:"Reakcje na płatność",view_swagger_docs:"Dokumentacja Swagger API",api_docs:"Dokumentacja API",api_keys_api_docs:"Adres URL węzła, klucze API i dokumentacja API",lnbits_version:"Wersja LNbits",runs_on:"Działa na",credit_hint:"Naciśnij Enter aby doładować konto",credit_label:"{denomination} doładowanie",paste:"Wklej",paste_from_clipboard:"Wklej ze schowka",paste_request:"Wklej żądanie",create_invoice:"Utwórz fakturę",camera_tooltip:"Użyj kamery aby zeskanować fakturę lub kod QR",export_csv:"Eksport do CSV",chart_tooltip:"Wykres",pending:"W toku",copy_invoice:"Skopiuj fakturę",withdraw_from:"Wypłać z",cancel:"Anuluj",scan:"Skanuj",read:"Odczytaj",pay:"Zapłać",memo:"Memo",date:"Data",processing_payment:"Przetwarzam płatność...",not_enough_funds:"Brak wystarczających środków!",search_by_tag_memo_amount:"Szukaj po tagu, memo czy wartości",invoice_waiting:"Faktura oczekuje na zapłatę",payment_received:"Otrzymano płatność",payment_sent:"Wysłano płatność",receive:"odbierać",send:"wysłać",outgoing_payment_pending:"Płatność wychodząca w toku",drain_funds:"Opróżnij środki",drain_funds_desc:"To jest kod QR służący do opróżnienia portfela (LNURL-withdraw). Nie udostępniaj go nikomu. Ten kod jest kompatybilny z funkcjami, które umożliwiają wielokrotne żądania aż do zupełnego opróżnienia portfela.",i_understand:"Rozumiem",copy_wallet_url:"Skopiuj URL portfela",disclaimer_dialog_title:"Ważne!",disclaimer_dialog:"Funkcja logowania zostanie uruchomiona w przyszłości. Póki co upewnij się, że zapisałeś adres URL tej strony aby mieć dostęp do tego portfela. Nie udostępniaj adresu tej strony nikomu, kto nie ma mieć do tego portfela dostępu! Ta usługa działa w wersji BETA, nie odpowiadamy za utratę dostępu do środków przez osoby używające LNbits.",no_transactions:"Brak transakcji",manage:"Zarządzaj",extensions:"Rozszerzenia",no_extensions:"Nie masz zainstalowanych żadnych rozszerzeń :(",created:"Utworzono",search_extensions:"Szukaj rozszerzeń",warning:"Ostrzeżenie",repository:"Repozytorium",confirm_continue:"Czy na pewno chcesz kontynuować?",manage_extension_details:"Instaluj/odinstaluj rozszerzenie",install:"Zainstaluj",uninstall:"Odinstaluj",drop_db:"Usuń dane",enable:"Włącz",enable_extension_details:"Włącz rozszerzenie dla aktualnego użytkownika",disable:"Wyłącz",installed:"Zainstalowano",activated:"Aktywowany",deactivated:"Dezaktywowany",release_notes:"Informacje o wydaniu",activate_extension_details:"Udostępnij/nie udostępniaj rozszerzenia użytkownikom",featured:"Polecane",all:"Wszystko",only_admins_can_install:"Tylko konta administratorów mogą instalować rozszerzenia",admin_only:"Tylko dla administratora",new_version:"Nowa wersja",extension_depends_on:"Zależy od:",extension_rating_soon:"Oceny będą dostępne wkrótce",extension_installed_version:"Zainstalowana wersja",extension_uninstall_warning:"Za chwilę usuniesz rozszerzenie dla wszystkich użytkowników.",uninstall_confirm:"Tak, Odinstaluj",extension_db_drop_info:"Wszystkie dane dla rozszerzenia zostaną trwale usunięte. Nie ma sposobu, aby cofnąć tę operację!",extension_db_drop_warning:"Za chwilę usuniesz wszystkie dane dla rozszerzenia. Proszę wpisz nazwę rozszerzenia, aby kontynuować:",extension_min_lnbits_version:"To wymaga przynajmniej wersji LNbits",payment_hash:"Hash Płatności",fee:"Opłata",amount:"Wartość",tag:"Etykieta",unit:"Jednostka",description:"Opis",expiry:"Wygasa",webhook:"Webhook",payment_proof:"Potwierdzenie płatności",update_available:"Aktualizacja {version} dostępna!",latest_update:"Korzystasz z najnowszej wersji {version}.",notifications:"Powiadomienia",no_notifications:"Brak powiadomień",notifications_disabled:"Powiadomienia o statusie LNbits są wyłączone.",enable_notifications:"Włącz powiadomienia",enable_notifications_desc:"Jeśli ta opcja zostanie włączona, będzie pobierać najnowsze informacje o statusie LNbits, takie jak incydenty bezpieczeństwa i aktualizacje.",enable_killswitch:"Włącz Killswitch",enable_killswitch_desc:"Jeśli zostanie włączone, automatycznie zmieni źródło finansowania na VoidWallet, jeśli LNbits wyśle sygnał wyłączający. Po aktualizacji będziesz musiał włączyć to ręcznie.",killswitch_interval:"Interwał wyłącznika awaryjnego",killswitch_interval_desc:"Jak często zadanie w tle powinno sprawdzać sygnał wyłącznika awaryjnego LNbits ze źródła statusu (w minutach).",enable_watchdog:"Włącz Watchdog",enable_watchdog_desc:"Jeśli zostanie włączone, automatycznie zmieni źródło finansowania na VoidWallet, jeśli saldo jest niższe niż saldo LNbits. Po aktualizacji trzeba będzie włączyć ręcznie.",watchdog_interval:"Interwał Watchdog",watchdog_interval_desc:"Jak często zadanie w tle powinno sprawdzać sygnał wyłącznika awaryjnego w delcie strażnika [node_balance - lnbits_balance] (w minutach).",watchdog_delta:"Strażnik Delta",watchdog_delta_desc:"Limit przed aktywacją wyłącznika zmienia źródło finansowania na VoidWallet [lnbits_balance - node_balance > delta]",status:"Stan",notification_source:"Źródło powiadomień",notification_source_label:"Adres URL źródła (używaj tylko oficjalnego źródła statusu LNbits oraz źródeł, którym możesz zaufać)",more:"więcej",less:"mniej",releases:"Wydania",killswitch:"Killswitch",watchdog:"Pies gończy",server_logs:"Dzienniki serwera",ip_blocker:"Blokada IP",security:"Bezpieczeństwo",security_tools:"Narzędzia bezpieczeństwa",block_access_hint:"Zablokuj dostęp przez IP",allow_access_hint:"Zezwól na dostęp przez IP (zignoruje zablokowane adresy IP)",enter_ip:"Wpisz adres IP i naciśnij enter",rate_limiter:"Ogranicznik Częstotliwości",wallet_limiter:"Ogranicznik Portfela",wallet_limit_max_withdraw_per_day:"Maksymalna dzienna wypłata z portfela w satoshi (0 aby wyłączyć)",wallet_max_ballance:"Maksymalny stan portfela w satoshi (0 aby wyłączyć)",wallet_limit_secs_between_trans:"Min sekund pomiędzy transakcjami na portfel (0 aby wyłączyć)",number_of_requests:"Liczba żądań",time_unit:"Jednostka czasu",minute:"minuta",second:"sekunda",hour:"godzina",disable_server_log:"Wyłącz log serwera",enable_server_log:"Włącz dziennik serwera",coming_soon:"Funkcja wkrótce będzie dostępna",session_has_expired:"Twoja sesja wygasła. Proszę zaloguj się ponownie.",instant_access_question:"Chcesz mieć natychmiastowy dostęp?",login_with_user_id:"Zaloguj się za pomocą identyfikatora użytkownika",or:"lub",create_new_wallet:"Utwórz nowy portfel",login_to_account:"Zaloguj się do swojego konta",create_account:"Załóż konto",account_settings:"Ustawienia konta",signin_with_google:"Zaloguj się przez Google",signin_with_github:"Zaloguj się przez GitHub",signin_with_keycloak:"Zaloguj się przez Keycloak",username_or_email:"Nazwa użytkownika lub Email",password:"Hasło",password_config:"Konfiguracja Hasła",password_repeat:"Powtórz hasło",change_password:"Zmień hasło",set_password:"Ustaw hasło",invalid_password:"Hasło musi zawierać co najmniej 8 znaków",login:"Logowanie",register:"Zarejestruj",username:"Nazwa użytkownika",user_id:"Identyfikator użytkownika",email:"Email",first_name:"Imię",last_name:"Nazwisko",picture:"Zdjęcie",verify_email:"Zweryfikuj email za pomocą",account:"Konto",update_account:"Aktualizuj konto",invalid_username:"Nieprawidłowa nazwa użytkownika",auth_provider:"Dostawca uwierzytelniania",my_account:"Moje Konto",back:"Wstecz",logout:"Wyloguj",look_and_feel:"Wygląd i zachowanie",language:"Język",color_scheme:"Schemat kolorów",extension_cost:"To niniejsze wydanie wymaga zapłaty minimalnej {cost} satów.",extension_paid_sats:"Już zapłaciłeś {paid_sats} satów.",release_details_error:"Nie można uzyskać szczegółów wydania.",pay_from_wallet:"Zapłać z portfela",show_qr:"Pokaż kod QR",retry_install:"Ponów instalację",new_payment:"Dokonaj nowej płatności",hide_empty_wallets:"Ukryj puste portfele"},window.localisation.fr={confirm:"Oui",server:"Serveur",theme:"Thème",funding:"Financement",users:"Utilisateurs",apps:"Applications",channels:"Canaux",transactions:"Transactions",dashboard:"Tableau de bord",node:"Noeud",export_users:"Exporter les utilisateurs",no_users:"Aucun utilisateur trouvé",total_capacity:"Capacité totale",avg_channel_size:"Taille moyenne du canal",biggest_channel_size:"Taille de canal maximale",smallest_channel_size:"Taille de canal la plus petite",number_of_channels:"Nombre de canaux",active_channels:"Canaux actifs",connect_peer:"Connecter un pair",connect:"Connecter",open_channel:"Ouvrir le canal",open:"Ouvrir",close_channel:"Fermer le canal",close:"Fermer",restart:"Redémarrer le serveur",save:"Enregistrer",save_tooltip:"Enregistrer vos modifications",topup:"Renflouer",topup_wallet:"Reflouer un portefeuille",topup_hint:"Utilisez l'ID du portefeuille pour recharger n'importe quel portefeuille",restart_tooltip:"Redémarrez le serveur pour que les changements prennent effet",add_funds_tooltip:"Ajouter des fonds à un portefeuille.",reset_defaults:"Réinitialiser aux valeurs par défaut",reset_defaults_tooltip:"Supprimer tous les paramètres et les réinitialiser aux valeurs par défaut.",download_backup:"Télécharger la sauvegarde de la base de données",name_your_wallet:"Nommez votre portefeuille {name}",wallet_topup_ok:"Succès de la création de fonds virtuels ({amount} sats). Les paiements dépendent des fonds réels sur la source de financement.",paste_invoice_label:"Coller une facture, une demande de paiement ou un code lnurl *",lnbits_description:"Facile à installer et léger, LNbits peut fonctionner sur n'importe quelle source de financement du réseau Lightning et même LNbits lui-même! Vous pouvez exécuter LNbits pour vous-même ou offrir facilement une solution de gardien pour les autres. Chaque portefeuille a ses propres clés API et il n'y a pas de limite au nombre de portefeuilles que vous pouvez créer. La capacité de partitionner les fonds rend LNbits un outil utile pour la gestion de l'argent et comme outil de développement. Les extensions ajoutent une fonctionnalité supplémentaire à LNbits afin que vous puissiez expérimenter une gamme de technologies de pointe sur le réseau Lightning. Nous avons rendu le développement d'extensions aussi simple que possible et, en tant que projet gratuit et open source, nous encourageons les gens à développer et à soumettre les leurs.",export_to_phone:"Exporter vers le téléphone avec un code QR",export_to_phone_desc:"Ce code QR contient l'URL de votre portefeuille avec un accès complet. Vous pouvez le scanner depuis votre téléphone pour ouvrir votre portefeuille depuis là-bas.",wallets:"Portefeuilles",add_wallet:"Ajouter un nouveau portefeuille",delete_wallet:"Supprimer le portefeuille",delete_wallet_desc:"Ce portefeuille entier sera supprimé et les fonds seront IRRECUPERABLES.",rename_wallet:"Renommer le portefeuille",update_name:"Mettre à jour le nom",fiat_tracking:"Suivi Fiat",currency:"Devise",update_currency:"Mettre à jour la devise",press_to_claim:"Appuyez pour demander du Bitcoin",donate:"Donner",view_github:"Voir sur GitHub",voidwallet_active:"VoidWallet est actif! Paiements désactivés",use_with_caution:"UTILISER AVEC PRUDENCE - Le portefeuille {name} est toujours en version BETA",service_fee:"Frais de service : {amount} % par transaction",service_fee_max:"Frais de service : {amount} % par transaction (max {max} sats)",service_fee_tooltip:"Frais de service facturés par l'administrateur du serveur LNbits pour chaque transaction sortante",toggle_darkmode:"Basculer le mode sombre",payment_reactions:"Réactions de paiement",view_swagger_docs:"Voir les documentation de l'API Swagger de LNbits",api_docs:"Documentation de l'API",api_keys_api_docs:"URL du nœud, clés API et documentation API",lnbits_version:"Version de LNbits",runs_on:"Fonctionne sur",credit_hint:"Appuyez sur Entrée pour créditer le compte",credit_label:"{denomination} à créditer",paste:"Coller",paste_from_clipboard:"Coller depuis le presse-papiers",paste_request:"Coller la requête",create_invoice:"Créer une facture",camera_tooltip:"Utiliser la caméra pour scanner une facture / un code QR",export_csv:"Exporter vers CSV",chart_tooltip:"Afficher le graphique",pending:"En attente",copy_invoice:"Copier la facture",withdraw_from:"Retirer de",cancel:"Annuler",scan:"Scanner",read:"Lire",pay:"Payer",memo:"Mémo",date:"Date",processing_payment:"Traitement du paiement...",not_enough_funds:"Fonds insuffisants !",search_by_tag_memo_amount:"Rechercher par tag, mémo, montant",invoice_waiting:"Facture en attente de paiement",payment_received:"Paiement reçu",payment_sent:"Paiement envoyé",receive:"recevoir",send:"envoyer",outgoing_payment_pending:"Paiement sortant en attente",drain_funds:"Vider les fonds",drain_funds_desc:"Il s'agit d'un code QR LNURL-withdraw pour tout aspirer de ce portefeuille. Ne le partagez avec personne. Il est compatible avec balanceCheck et balanceNotify, de sorte que votre portefeuille peut continuer à retirer les fonds continuellement à partir d'ici après le premier retrait.",i_understand:"J'ai compris",copy_wallet_url:"Copier l'URL du portefeuille",disclaimer_dialog_title:"Important !",disclaimer_dialog:"La fonctionnalité de connexion sera publiée dans une future mise à jour, pour l'instant, assurez-vous de mettre cette page en favori pour accéder à votre portefeuille ultérieurement ! Ce service est en BETA, et nous ne sommes pas responsables des personnes qui perdent l'accès à leurs fonds.",no_transactions:"Aucune transaction effectuée pour le moment",manage:"Gérer",extensions:"Extensions",no_extensions:"Vous n'avez installé aucune extension :(",created:"Créé",search_extensions:"Rechercher des extensions",warning:"Avertissement",repository:"Référentiel",confirm_continue:"Êtes-vous sûr de vouloir continuer ?",manage_extension_details:"Installer/désinstaller l'extension",install:"Installer",uninstall:"Désinstaller",drop_db:"Supprimer les données",enable:"Activer",enable_extension_details:"Activer l'extension pour l'utilisateur actuel",disable:"Désactiver",installed:"Installé",activated:"Activé",deactivated:"Désactivé",release_notes:"Notes de version",activate_extension_details:"Rendre l'extension disponible/indisponible pour les utilisateurs",featured:"Mis en avant",all:"Tout",only_admins_can_install:"Seuls les comptes administrateurs peuvent installer des extensions",admin_only:"Réservé aux administrateurs",new_version:"Nouvelle version",extension_depends_on:"Dépend de :",extension_rating_soon:"Notes des utilisateurs à venir bientôt",extension_installed_version:"Version installée",extension_uninstall_warning:"Vous êtes sur le point de supprimer l'extension pour tous les utilisateurs.",uninstall_confirm:"Oui, Désinstaller",extension_db_drop_info:"Toutes les données pour l'extension seront supprimées de manière permanente. Il n'est pas possible d'annuler cette opération !",extension_db_drop_warning:"Vous êtes sur le point de supprimer toutes les données de l'extension. Veuillez taper le nom de l'extension pour continuer :",extension_min_lnbits_version:"Cette version nécessite au moins LNbits version",payment_hash:"Hash de paiement",fee:"Frais",amount:"Montant",tag:"Étiqueter",unit:"Unité",description:"Description",expiry:"Expiration",webhook:"Webhook",payment_proof:"Preuve de paiement",update_available:"Mise à jour {version} disponible !",latest_update:"Vous êtes sur la dernière version {version}.",notifications:"Notifications",no_notifications:"Aucune notification",notifications_disabled:"Les notifications de statut LNbits sont désactivées.",enable_notifications:"Activer les notifications",enable_notifications_desc:"Si activé, il récupérera les dernières mises à jour du statut LNbits, telles que les incidents de sécurité et les mises à jour.",enable_killswitch:"Activer le Killswitch",enable_killswitch_desc:"Si activé, il changera automatiquement votre source de financement en VoidWallet si LNbits envoie un signal de coupure. Vous devrez activer manuellement après une mise à jour.",killswitch_interval:"Intervalle du Killswitch",killswitch_interval_desc:"À quelle fréquence la tâche de fond doit-elle vérifier le signal d'arrêt d'urgence LNbits provenant de la source de statut (en minutes).",enable_watchdog:"Activer le Watchdog",enable_watchdog_desc:"Si elle est activée, elle changera automatiquement votre source de financement en VoidWallet si votre solde est inférieur au solde LNbits. Vous devrez activer manuellement après une mise à jour.",watchdog_interval:"Intervalle du gardien",watchdog_interval_desc:"À quelle fréquence la tâche en arrière-plan doit-elle vérifier la présence d'un signal d'arrêt d'urgence dans le delta du gardien [node_balance - lnbits_balance] (en minutes).",watchdog_delta:"Chien de garde Delta",watchdog_delta_desc:"Limite avant que l'interrupteur d'arrêt ne change la source de financement pour VoidWallet [lnbits_balance - node_balance > delta]",status:"Statut",notification_source:"Source de notification",notification_source_label:"URL source (utilisez uniquement la source officielle de statut LNbits et des sources de confiance)",more:"plus",less:"moins",releases:"Versions",killswitch:"Interrupteur d'arrêt",watchdog:"Chien de garde",server_logs:"Journaux du serveur",ip_blocker:"Bloqueur d'IP",security:"Sécurité",security_tools:"Outils de sécurité",block_access_hint:"Bloquer l'accès par IP",allow_access_hint:"Autoriser l'accès par IP (cela passera outre les IP bloquées)",enter_ip:"Entrez l'adresse IP et appuyez sur Entrée",rate_limiter:"Limiteur de débit",wallet_limiter:"Limiteur de portefeuille",wallet_limit_max_withdraw_per_day:"Retrait quotidien maximum du portefeuille en sats (0 pour désactiver)",wallet_max_ballance:"Solde maximum du portefeuille en sats (0 pour désactiver)",wallet_limit_secs_between_trans:"Minutes et secondes entre les transactions par portefeuille (0 pour désactiver)",number_of_requests:"Nombre de requêtes",time_unit:"Unité de temps",minute:"minute",second:"seconde",hour:"heure",disable_server_log:"Désactiver le journal du serveur",enable_server_log:"Activer le journal du serveur",coming_soon:"Fonctionnalité à venir bientôt",session_has_expired:"Votre session a expiré. Veuillez vous reconnecter.",instant_access_question:"Voulez-vous un accès instantané ?",login_with_user_id:"Connexion avec l'identifiant utilisateur",or:"ou",create_new_wallet:"Créer un nouveau portefeuille",login_to_account:"Connectez-vous à votre compte",create_account:"Créer un compte",account_settings:"Paramètres du compte",signin_with_google:"Connectez-vous avec Google",signin_with_github:"Connectez-vous avec GitHub",signin_with_keycloak:"Connectez-vous avec Keycloak",username_or_email:"Nom d'utilisateur ou e-mail",password:"Mot de passe",password_config:"Configuration du mot de passe",password_repeat:"Répétition du mot de passe",change_password:"Changer le mot de passe",set_password:"Définir le mot de passe",invalid_password:"Le mot de passe doit comporter au moins 8 caractères",login:"Connexion",register:"Inscrire",username:"Nom d'utilisateur",user_id:"Identifiant utilisateur",email:"E-mail",first_name:"Prénom",last_name:"Nom de famille",picture:"Image",verify_email:"Vérifiez l'e-mail avec",account:"Compte",update_account:"Mettre à jour le compte",invalid_username:"Nom d'utilisateur invalide",auth_provider:"Fournisseur d'authentification",my_account:"Mon compte",back:"Retour",logout:"Déconnexion",look_and_feel:"Apparence",language:"Langue",color_scheme:"Schéma de couleurs",extension_cost:"Cette version nécessite un paiement minimum de {cost} sats.",extension_paid_sats:"Vous avez déjà payé {paid_sats} sats.",release_details_error:"Impossible d'obtenir les détails de la version.",pay_from_wallet:"Payer depuis le portefeuille",show_qr:"Afficher le QR",retry_install:"Réessayer l'installation",new_payment:"Effectuer un nouveau paiement",hide_empty_wallets:"Masquer les portefeuilles vides"},window.localisation.nl={confirm:"Ja",server:"Server",theme:"Thema",funding:"Financiering",users:"Gebruikers",apps:"Apps",channels:"Kanalen",transactions:"Transacties",dashboard:"Dashboard",node:"Knooppunt",export_users:"Gebruikers exporteren",no_users:"Geen gebruikers gevonden",total_capacity:"Totale capaciteit",avg_channel_size:"Gem. Kanaalgrootte",biggest_channel_size:"Grootste Kanaalgrootte",smallest_channel_size:"Kleinste Kanaalgrootte",number_of_channels:"Aantal kanalen",active_channels:"Actieve Kanalen",connect_peer:"Peer verbinden",connect:"Verbinden",open_channel:"Open Kanaal",open:"Open",close_channel:"Kanaal Sluiten",close:"Sluiten",restart:"Server opnieuw opstarten",save:"Opslaan",save_tooltip:"Sla uw wijzigingen op",topup:"Bijvullen",topup_wallet:"Een portemonnee bijvullen",topup_hint:"Gebruik de portemonnee-ID om elke portemonnee bij te vullen",restart_tooltip:"Start de server opnieuw op zodat wijzigingen van kracht worden",add_funds_tooltip:"Voeg geld toe aan een portemonnee.",reset_defaults:"Standaardinstellingen herstellen",reset_defaults_tooltip:"Wis alle instellingen en herstel de standaardinstellingen.",download_backup:"Databaseback-up downloaden",name_your_wallet:"Geef je {name} portemonnee een naam",wallet_topup_ok:"Succes met het aanmaken van virtuele fondsen ({amount} sats). Betalingen zijn afhankelijk van de werkelijke fondsen op de financieringsbron.",paste_invoice_label:"Plak een factuur, betalingsverzoek of lnurl-code*",lnbits_description:"Gemakkelijk in te stellen en lichtgewicht, LNbits kan op elke lightning-netwerkfinancieringsbron draaien en zelfs LNbits zelf! U kunt LNbits voor uzelf laten draaien of gemakkelijk een bewaardersoplossing voor anderen bieden. Elke portemonnee heeft zijn eigen API-sleutels en er is geen limiet aan het aantal portemonnees dat u kunt maken. Het kunnen partitioneren van fondsen maakt LNbits een nuttige tool voor geldbeheer en als ontwikkelingstool. Extensies voegen extra functionaliteit toe aan LNbits, zodat u kunt experimenteren met een reeks toonaangevende technologieën op het bliksemschichtnetwerk. We hebben het ontwikkelen van extensies zo eenvoudig mogelijk gemaakt en als een gratis en opensource-project moedigen we mensen aan om hun eigen ontwikkelingen in te dienen.",export_to_phone:"Exporteren naar telefoon met QR-code",export_to_phone_desc:"Deze QR-code bevat uw portemonnee-URL met volledige toegang. U kunt het vanaf uw telefoon scannen om uw portemonnee van daaruit te openen.",wallets:"Portemonnees",add_wallet:"Een nieuwe portemonnee toevoegen",delete_wallet:"Portemonnee verwijderen",delete_wallet_desc:"Deze hele portemonnee wordt verwijderd, de fondsen worden NIET TERUGGEVONDEN.",rename_wallet:"Portemonnee hernoemen",update_name:"Naam bijwerken",fiat_tracking:"Volgfunctie voor fiat-valuata",currency:"Valuta",update_currency:"Valuta bijwerken",press_to_claim:"Druk om bitcoin te claimen",donate:"Doneren",view_github:"Bekijken op GitHub",voidwallet_active:"VoidWallet is actief! Betalingen uitgeschakeld",use_with_caution:"GEBRUIK MET VOORZICHTIGHEID - {name} portemonnee is nog in BETA",service_fee:"Servicekosten: {amount} % per transactie",service_fee_max:"Servicekosten: {amount} % per transactie (max {max} sats)",service_fee_tooltip:"Transactiekosten in rekening gebracht door de LNbits serverbeheerder per uitgaande transactie",toggle_darkmode:"Donkere modus aan/uit",payment_reactions:"Betalingsreacties",view_swagger_docs:"Bekijk LNbits Swagger API-documentatie",api_docs:"API-documentatie",api_keys_api_docs:"Node URL, API-sleutels en API-documentatie",lnbits_version:"LNbits-versie",runs_on:"Draait op",credit_hint:"Druk op Enter om de rekening te crediteren",credit_label:"{denomination} te crediteren",paste:"Plakken",paste_from_clipboard:"Plakken van klembord",paste_request:"Verzoek plakken",create_invoice:"Factuur aanmaken",camera_tooltip:"Gebruik de camera om een factuur/QR-code te scannen",export_csv:"Exporteer naar CSV",chart_tooltip:"Toon grafiek",pending:"In behandeling",copy_invoice:"Kopieer factuur",withdraw_from:"Opnemen van",cancel:"Annuleren",scan:"Scannen",read:"Lezen",pay:"Betalen",memo:"Memo",date:"Datum",processing_payment:"Verwerking betaling...",not_enough_funds:"Onvoldoende saldo!",search_by_tag_memo_amount:"Zoeken op tag, memo, bedrag",invoice_waiting:"Factuur wachtend op betaling",payment_received:"Betaling ontvangen",payment_sent:"Betaling verzonden",receive:"ontvangen",send:"versturen",outgoing_payment_pending:"Uitgaande betaling in behandeling",drain_funds:"Geld opnemen",drain_funds_desc:"Dit is een LNURL-withdraw QR-code om alles uit deze portemonnee te halen. Deel deze code niet met anderen. Het is compatibel met balanceCheck en balanceNotify zodat jouw portemonnee continu geld kan blijven opnemen vanaf hier na de eerste opname.",i_understand:"Ik begrijp het",copy_wallet_url:"Kopieer portemonnee-URL",disclaimer_dialog_title:"Belangrijk!",disclaimer_dialog:"Inlogfunctionaliteit wordt uitgebracht in een toekomstige update. Zorg er nu voor dat je deze pagina als favoriet markeert om in de toekomst toegang te krijgen tot je portemonnee! Deze service is in BETA en we zijn niet verantwoordelijk voor mensen die de toegang tot hun fondsen verliezen.",no_transactions:"Er zijn nog geen transacties gedaan",manage:"Beheer",extensions:"Extensies",no_extensions:"Je hebt geen extensies geïnstalleerd :(",created:"Aangemaakt",search_extensions:"Zoekextensies",warning:"Waarschuwing",repository:"Repository",confirm_continue:"Weet je zeker dat je wilt doorgaan?",manage_extension_details:"Installeren/verwijderen van extensie",install:"Installeren",uninstall:"Deïnstalleren",drop_db:"Gegevens verwijderen",enable:"Inschakelen",enable_extension_details:"Schakel extensie in voor huidige gebruiker",disable:"Uitschakelen",installed:"Geïnstalleerd",activated:"Geactiveerd",deactivated:"Gedeactiveerd",release_notes:"Release-opmerkingen",activate_extension_details:"Maak extensie beschikbaar/niet beschikbaar voor gebruikers",featured:"Uitgelicht",all:"Alles",only_admins_can_install:"Alleen beheerdersaccounts kunnen extensies installeren",admin_only:"Alleen beheerder",new_version:"Nieuwe Versie",extension_depends_on:"Afhankelijk van:",extension_rating_soon:"Beoordelingen binnenkort beschikbaar",extension_installed_version:"Geïnstalleerde versie",extension_uninstall_warning:"U staat op het punt de extensie voor alle gebruikers te verwijderen.",uninstall_confirm:"Ja, de-installeren",extension_db_drop_info:"Alle gegevens voor de extensie zullen permanent worden verwijderd. Er is geen manier om deze bewerking ongedaan te maken!",extension_db_drop_warning:"U staat op het punt alle gegevens voor de extensie te verwijderen. Typ de naam van de extensie om door te gaan:",extension_min_lnbits_version:"Deze release vereist ten minste LNbits-versie",payment_hash:"Betalings-hash",fee:"Kosten",amount:"Bedrag",tag:"Label",unit:"Eenheid",description:"Beschrijving",expiry:"Vervaldatum",webhook:"Webhook",payment_proof:"Betalingsbewijs",update_available:"Update {version} beschikbaar!",latest_update:"U bent op de nieuwste versie {version}.",notifications:"Meldingen",no_notifications:"Geen meldingen",notifications_disabled:"LNbits-statusmeldingen zijn uitgeschakeld.",enable_notifications:"Schakel meldingen in",enable_notifications_desc:"Indien ingeschakeld zal het de laatste LNbits Status updates ophalen, zoals veiligheidsincidenten en updates.",enable_killswitch:"Activeer Killswitch",enable_killswitch_desc:"Indien ingeschakeld, zal het uw financieringsbron automatisch wijzigen naar VoidWallet als LNbits een killswitch-signaal verzendt. U zult het na een update handmatig moeten inschakelen.",killswitch_interval:"Uitschakelschakelaar-interval",killswitch_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op het LNbits killswitch signaal van de statusbron (in minuten).",enable_watchdog:"Inschakelen Watchdog",enable_watchdog_desc:"Indien ingeschakeld, wordt uw betaalbron automatisch gewijzigd naar VoidWallet als uw saldo lager is dan het saldo van LNbits. U zult dit na een update handmatig moeten inschakelen.",watchdog_interval:"Watchdog-interval",watchdog_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op een killswitch signaal in het watchdog verschil [node_balance - lnbits_balance] (in minuten).",watchdog_delta:"Waakhond Delta",watchdog_delta_desc:"Limiet voordat de killswitch de financieringsbron verandert naar VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notificatiebron",notification_source_label:"Bron-URL (gebruik alleen de officiële LNbits-statusbron en bronnen die u vertrouwt)",more:"meer",less:"minder",releases:"Uitgaven",killswitch:"Killswitch",watchdog:"Waakhond",server_logs:"Serverlogboeken",ip_blocker:"IP-blokkering",security:"Beveiliging",security_tools:"Beveiligingstools",block_access_hint:"Toegang blokkeren per IP",allow_access_hint:"Toegang verlenen op basis van IP (zal geblokkeerde IP's overschrijven)",enter_ip:"Voer IP in en druk op enter",rate_limiter:"Snelheidsbegrenzer",wallet_limiter:"Portemonnee Limietsteller",wallet_limit_max_withdraw_per_day:"Maximale dagelijkse opname van wallet in sats (0 om uit te schakelen)",wallet_max_ballance:"Maximale portefeuillesaldo in sats (0 om uit te schakelen)",wallet_limit_secs_between_trans:"Min seconden tussen transacties per portemonnee (0 om uit te schakelen)",number_of_requests:"Aantal verzoeken",time_unit:"Tijdeenheid",minute:"minuut",second:"seconde",hour:"uur",disable_server_log:"Serverlog uitschakelen",enable_server_log:"Activeer Serverlog",coming_soon:"Functie binnenkort beschikbaar",session_has_expired:"Uw sessie is verlopen. Log alstublieft opnieuw in.",instant_access_question:"Wil je directe toegang?",login_with_user_id:"Inloggen met gebruikers-ID",or:"of",create_new_wallet:"Nieuwe portemonnee aanmaken",login_to_account:"Log in op je account",create_account:"Account aanmaken",account_settings:"Accountinstellingen",signin_with_google:"Inloggen met Google",signin_with_github:"Inloggen met GitHub",signin_with_keycloak:"Inloggen met Keycloak",username_or_email:"Gebruikersnaam of e-mail",password:"Wachtwoord",password_config:"Wachtwoordconfiguratie",password_repeat:"Wachtwoord herhalen",change_password:"Wachtwoord wijzigen",set_password:"Wachtwoord instellen",invalid_password:"Wachtwoord moet ten minste 8 tekens bevatten",login:"Inloggen",register:"Registreren",username:"Gebruikersnaam",user_id:"Gebruikers-ID",email:"E-mail",first_name:"Voornaam",last_name:"Achternaam",picture:"Foto",verify_email:"E-mail verifiëren met",account:"Account",update_account:"Account bijwerken",invalid_username:"Ongeldige gebruikersnaam",auth_provider:"Auth Provider",my_account:"Mijn Account",back:"Terug",logout:"Afmelden",look_and_feel:"Uiterlijk en gedrag",language:"Taal",color_scheme:"Kleurenschema",extension_cost:"Deze release vereist een betaling van minimaal {cost} sats.",extension_paid_sats:"U heeft al {paid_sats} sats betaald.",release_details_error:"Kan de gegevens van de release niet ophalen.",pay_from_wallet:"Betalen vanuit Portemonnee",show_qr:"Toon QR",retry_install:"Opnieuw installeren",new_payment:"Nieuwe betaling maken",hide_empty_wallets:"Verberg lege portemonnees"},window.localisation.we={confirm:"Ydw",server:"Gweinydd",theme:"Thema",funding:"Arian fyndio",users:"Defnyddwyr",apps:"Apiau",channels:"Sianelau",transactions:"Trafodion",dashboard:"Panel Gweinyddol",node:"Nod",export_users:"Allfor Defnyddwyr",no_users:"Heb ganfod defnyddwyr",total_capacity:"Capasiti Cyfanswm",avg_channel_size:"Maint Sianel Cyf.",biggest_channel_size:"Maint Sianel Fwyaf",smallest_channel_size:"Maint Sianel Lleiaf",number_of_channels:"Nifer y Sianeli",active_channels:"Sianeli Gweithredol",connect_peer:"Cysylltu â Chymar",connect:"Cysylltu",open_channel:"Sianel Agored",open:"Agor",close_channel:"Cau Sianel",close:"cau",restart:"Ailgychwyn gweinydd",save:"Save",save_tooltip:"cadw eich newidiadau",topup:"Topup",topup_wallet:"Atodi waled",topup_hint:"Defnyddiwch ID y waled i ychwanegu at unrhyw waled",restart_tooltip:"Ailgychwyn y gweinydd er mwyn i newidiadau ddod i rym",add_funds_tooltip:"Ychwanegu arian at waled.",reset_defaults:"Ailosod i`r rhagosodiadau",reset_defaults_tooltip:"Dileu pob gosodiad ac ailosod i`r rhagosodiadau.",download_backup:"Lawrlwytho copi wrth gefn cronfa ddata",name_your_wallet:"Enwch eich waled {name}",wallet_topup_ok:"Llwyddiant wrth greu cronfeydd rhithwir ({amount} sats). Mae taliadau'n dibynnu ar gronfeydd gwirioneddol ar y ffynhonnell cyllido.",paste_invoice_label:"Gludwch anfoneb, cais am daliad neu god lnurl *",lnbits_description:"Yn hawdd iw sefydlu ac yn ysgafn, gall LNbits redeg ar unrhyw ffynhonnell ariannu rhwydwaith mellt a hyd yn oed LNbits ei hun! Gallwch redeg LNbits i chi`ch hun, neu gynnig datrysiad ceidwad i eraill yn hawdd. Mae gan bob waled ei allweddi API ei hun ac nid oes cyfyngiad ar nifer y waledi y gallwch eu gwneud. Mae gallu rhannu cronfeydd yn gwneud LNbits yn arf defnyddiol ar gyfer rheoli arian ac fel offeryn datblygu. Mae estyniadau yn ychwanegu ymarferoldeb ychwanegol at LNbits fel y gallwch arbrofi gydag ystod o dechnolegau blaengar ar y rhwydwaith mellt. Rydym wedi gwneud datblygu estyniadau mor hawdd â phosibl, ac fel prosiect ffynhonnell agored am ddim, rydym yn annog pobl i ddatblygu a chyflwyno eu rhai eu hunain.",export_to_phone:"Allforio i Ffôn gyda chod QR",export_to_phone_desc:"Mae`r cod QR hwn yn cynnwys URL eich waled gyda mynediad llawn. Gallwch ei sganio o`ch ffôn i agor eich waled oddi yno.",wallets:"Waledi",add_wallet:"Ychwanegu waled newydd",delete_wallet:"Dileu waled",delete_wallet_desc:"Bydd y waled gyfan hon yn cael ei dileu, ni fydd modd adennill yr arian.",rename_wallet:"Ailenwi waled",update_name:"Diweddaru enw",fiat_tracking:"Olrhain Fiat",currency:"Arian Cyfred",update_currency:"Diweddaru arian cyfred",press_to_claim:"Pwyswch i hawlio bitcoin",donate:"Rhoi",view_github:"Gweld ar GitHub",voidwallet_active:" Mae VoidWallet yn weithredol! Taliadau wedi`u hanalluogi",use_with_caution:"DEFNYDDIO GYDA GOFAL - mae waled {name} yn dal yn BETA",service_fee:"Ffi gwasanaeth: {amount} % y trafodiad",service_fee_max:"Ffi gwasanaeth: {amount} % y trafodiad (uchafswm {max} sats)",service_fee_tooltip:"Ffi gwasanaeth a godir gan weinyddwr gweinydd LNbits ym mhob trafodiad sy'n mynd allan",toggle_darkmode:"Toglo Modd Tywyll",payment_reactions:"Adweithiau Talu",view_swagger_docs:"Gweld dogfennau API LNbits Swagger",api_docs:"Dogfennau API",api_keys_api_docs:"URL y nod, allweddi API a dogfennau API",lnbits_version:"Fersiwn LNbits",runs_on:"Yn rhedeg ymlaen",credit_hint:"Pwyswch Enter i gyfrif credyd",credit_label:"{denomination} i gredyd",paste:"Gludo",paste_from_clipboard:"Gludo o'r clipfwrdd",paste_request:"Gludo Cais",create_invoice:"Creu Anfoneb",camera_tooltip:"Defnyddio camera i sganio anfoneb/QR",export_csv:"Allforio i CSV",chart_tooltip:"Dangos siart",pending:"yn yr arfaeth",copy_invoice:"Copi anfoneb",withdraw_from:"Tynnu oddi ar",cancel:"Canslo",scan:"Sgan",read:"Darllen",pay:"Talu",memo:"Memo",date:"Dyddiad",processing_payment:"Prosesu taliad...",not_enough_funds:"Dim digon o arian!",search_by_tag_memo_amount:"Chwilio yn ôl tag, memo, swm",invoice_waiting:"Anfoneb yn aros i gael ei thalu",payment_received:"Taliad a Dderbyniwyd",payment_sent:"Taliad a Anfonwyd",receive:"derbyn",send:"anfon",outgoing_payment_pending:"Taliad sy`n aros yn yr arfaeth",drain_funds:"Cronfeydd Draenio",drain_funds_desc:"Cod QR Tynnu`n ôl LNURL yw hwn ar gyfer slurpio popeth o`r waled hon. Peidiwch â rhannu gyda neb. Mae`n gydnaws â balanceCheck a balanceNotify felly efallai y bydd eich waled yn tynnu`r arian yn barhaus o`r fan hon ar ôl y codiad cyntaf.",i_understand:"Rwy`n deall",copy_wallet_url:"Copi URL waled",disclaimer_dialog_title:"Pwysig!",disclaimer_dialog:"Swyddogaeth mewngofnodi i`w ryddhau mewn diweddariad yn y dyfodol, am y tro, gwnewch yn siŵr eich bod yn rhoi nod tudalen ar y dudalen hon ar gyfer mynediad i`ch waled yn y dyfodol! Mae`r gwasanaeth hwn yn BETA, ac nid ydym yn gyfrifol am bobl sy`n colli mynediad at arian.",no_transactions:"Dim trafodion wedi`u gwneud eto",manage:"Rheoli",extensions:"Estyniadau",no_extensions:"Nid oes gennych unrhyw estyniadau wedi'u gosod :(",created:"Crëwyd",search_extensions:"Chwilio estyniadau",warning:"Rhybudd",repository:"Ystorfa",confirm_continue:"Ydych chi'n siŵr eich bod chi eisiau parhau?",manage_extension_details:"Gosod/dadosod estyniad",install:"Gosod",uninstall:"Dadgymhwyso",drop_db:"Dileu Data",enable:"Galluogi",enable_extension_details:"Galluogi estyniad ar gyfer y defnyddiwr presennol",disable:"Analluogi",installed:"Gosodwyd",activated:"Wedi'i actifadu",deactivated:"Anweithredol",release_notes:"Nodiadau Rhyddhau",activate_extension_details:"Gwneud estyniad ar gael/anar gael i ddefnyddwyr",featured:"Nodweddwyd",all:"Pob",only_admins_can_install:"Dim ond cyfrifon gweinyddwr all osod estyniadau",admin_only:"Dim ond Gweinyddwr",new_version:"Fersiwn Newydd",extension_depends_on:"Dibynnu ar:",extension_rating_soon:"Sgôr yn dod yn fuan",extension_installed_version:"Fersiwn wedi'i gosod",extension_uninstall_warning:"Rydych chi ar fin dileu'r estyniad ar gyfer pob defnyddiwr.",uninstall_confirm:"Ie, Dad-osod",extension_db_drop_info:"Bydd yr holl ddata ar gyfer yr estyniad yn cael ei ddileu'n barhaol. Does dim ffordd o dadwneud y weithrediad hwn!",extension_db_drop_warning:"Rydych chi ar fin dileu'r holl ddata ar gyfer yr estyniad. Teipiwch enw'r estyniad i barhau:",extension_min_lnbits_version:"Mae'r rhyddhau hwn yn gofyn o leiaf am fersiwn LNbits",payment_hash:"Hais Taliad",fee:"Fee",amount:"swm",tag:"Tag",unit:"Uned",description:"Disgrifiad",expiry:"dod i ben",webhook:"bachyn we",payment_proof:"prawf taliad",update_available:"Diweddariad {version} ar gael!",latest_update:"Rydych chi ar y fersiwn diweddaraf {version}.",notifications:"Hysbysiadau",no_notifications:"Dim hysbysiadau",notifications_disabled:"Hysbysiadau statws LNbits wedi'u analluogi.",enable_notifications:"Galluogi Hysbysiadau",enable_notifications_desc:"Os bydd wedi'i alluogi bydd yn nôl y diweddariadau Statws LNbits diweddaraf, fel digwyddiadau diogelwch a diweddariadau.",enable_killswitch:"Galluogi Killswitch",enable_killswitch_desc:"Os bydd yn galluogi, bydd yn newid eich ffynhonnell arian i VoidWallet yn awtomatig os bydd LNbits yn anfon arwydd killswitch. Bydd angen i chi alluogi â llaw ar ôl diweddariad.",killswitch_interval:"Amlder Cyllell Dorri",killswitch_interval_desc:"Pa mor aml y dylai'r dasg gefndir wirio am signal killswitch LNbits o'r ffynhonnell statws (mewn munudau).",enable_watchdog:"Galluogi Watchdog",enable_watchdog_desc:"Os bydd yn cael ei alluogi bydd yn newid eich ffynhonnell ariannu i VoidWallet yn awtomatig os bydd eich balans yn is na balans LNbits. Bydd angen i chi alluogi â llaw ar ôl diweddariad.",watchdog_interval:"Amserlennu Gwylio",watchdog_interval_desc:"Pa mor aml y dylai'r dasg gefndir wirio am signal torri yn y gwarchodfa delta [node_balance - lnbits_balance] (mewn munudau).",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Terfyn cyn i'r switshladd newid ffynhonnell ariannu i VoidWallet [lnbits_balance - node_balance > delta]",status:"Statws",notification_source:"Ffynhonnell Hysbysiad",notification_source_label:"URL Ffynhonnell (defnyddiwch yn unig ffynhonnell statws swyddogol LNbits, a ffynonellau y gallwch ymddiried ynddynt)",more:"mwy",less:"llai",releases:"Rhyddhau",killswitch:"Killswitch",watchdog:"Gwyliwr",server_logs:"Logiau Gweinydd",ip_blocker:"Rheolydd IP",security:"Diogelwch",security_tools:"Offer teclynnau diogelwch",block_access_hint:"Atal mynediad gan IP",allow_access_hint:"Caniatáu mynediad gan IP (bydd yn diystyru IPs sydd wedi'u blocio)",enter_ip:"Rhowch IP a gwasgwch enter",rate_limiter:"Cyfyngydd Cyfradd",wallet_limiter:"Cyfyngwr Waled",wallet_limit_max_withdraw_per_day:"Uchafswm tynnu’n ôl waled dyddiol mewn sats (0 i analluogi)",wallet_max_ballance:"Uchafswm balans y waled mewn sats (0 i analluogi)",wallet_limit_secs_between_trans:"Eiliadau lleiaf rhwng trafodion fesul waled (0 i analluogi)",number_of_requests:"Nifer y ceisiadau",time_unit:"Uned amser",minute:"munud",second:"ail",hour:"awr",disable_server_log:"Analluogi Log Gweinydd",enable_server_log:"Galluogi Log Gweinydd",coming_soon:"Nodwedd yn dod yn fuan",session_has_expired:"Mae eich sesiwn wedi dod i ben. Mewngofnodwch eto.",instant_access_question:"Eisiau mynediad ar unwaith?",login_with_user_id:"Mewngofnodi gyda ID y defnyddiwr",or:"neu",create_new_wallet:"Creu Waled Newydd",login_to_account:"Mewngofnodwch i'ch cyfrif",create_account:"Creu cyfrif",account_settings:"Gosodiadau Cyfrif",signin_with_google:"Mewngofnodi gyda Google",signin_with_github:"Mewngofnodi gyda GitHub",signin_with_keycloak:"Mewngofnodi gyda Keycloak",username_or_email:"Defnyddiwr neu E-bost",password:"Cyfrinair",password_config:"Ffurfweddiad Cyfrinair",password_repeat:"Ailadrodd cyfrinair",change_password:"Newid Cyfrinair",set_password:"Gosod Cyfrinair",invalid_password:"Rhaid i'r cyfrinair gynnwys o leiaf 8 nod.",login:"Mewngofnodi",register:"Cofrestru",username:"Enw defnyddiwr",user_id:"ID Defnyddiwr",email:"E-bost",first_name:"Enw Cyntaf",last_name:"Cyfenw",picture:"Llun",verify_email:"Gwirio e-bost gyda",account:"Cyfrif",update_account:"Diweddaru Cyfrif",invalid_username:"Enw Defnyddiwr Annilys",auth_provider:"Darparwr Dilysiad",my_account:"Fy Nghyfrif",back:"Yn ôl",logout:"Allgofnodi",look_and_feel:"Edrych a Theimlo",language:"Iaith",color_scheme:"Cynllun Lliw",extension_cost:"Mae'r rhyddhad hwn yn gofyn am daliad o leiaf {cost} sats.",extension_paid_sats:"Rydych chi eisoes wedi talu {paid_sats} sats.",release_details_error:"Methu cael manylion y rhyddhau.",pay_from_wallet:"Talu o'r Waled",show_qr:"Dangos QR",retry_install:"Ailgeisio Gosod",new_payment:"Gwneud Taliad Newydd",hide_empty_wallets:"Cuddio waledau gwag"},window.localisation.pt={confirm:"Sim",server:"Servidor",theme:"Tema",funding:"Financiamento",users:"Usuários",apps:"Aplicativos",channels:"Canais",transactions:"Transações",dashboard:"Painel de Controle",node:"Nó",export_users:"Exportar Usuários",no_users:"Nenhum usuário encontrado",total_capacity:"Capacidade Total",avg_channel_size:"Tamanho Médio do Canal",biggest_channel_size:"Maior Tamanho do Canal",smallest_channel_size:"Menor Tamanho de Canal",number_of_channels:"Número de Canais",active_channels:"Canais Ativos",connect_peer:"Conectar Par",connect:"Conectar",open_channel:"Canal Aberto",open:"Abrir",close_channel:"Fechar Canal",close:"Fechar",restart:"Reiniciar servidor",save:"Gravar",save_tooltip:"Gravar as alterações",topup:"Reforçar conta",topup_wallet:"Recarregar uma carteira",topup_hint:"Use o ID da carteira para recarregar qualquer carteira",restart_tooltip:"Reinicie o servidor para que as alterações tenham efeito",add_funds_tooltip:"Adicionar fundos a uma carteira.",reset_defaults:"Redefinir para padrões",reset_defaults_tooltip:"Apagar todas as configurações e redefinir para os padrões.",download_backup:"Fazer backup da base de dados",name_your_wallet:"Nomeie sua carteira {name}",wallet_topup_ok:"Sucesso ao criar fundos virtuais ({amount} sats). Os pagamentos dependem dos fundos reais na fonte de financiamento.",paste_invoice_label:"Cole uma fatura, pedido de pagamento ou código lnurl *",lnbits_description:"Fácil de configurar e leve, o LNbits pode ser executado em qualquer fonte de financiamento da Lightning Network e até mesmo o LNbits em si! Você pode executar o LNbits para si mesmo ou oferecer facilmente uma solução de custódia para outros. Cada carteira tem suas próprias chaves de API e não há limite para o número de carteiras que você pode criar. Ser capaz de particionar fundos torna o LNbits uma ferramenta útil para gerenciamento de dinheiro e como uma ferramenta de desenvolvimento. As extensões adicionam funcionalidades extras ao LNbits para que você possa experimentar uma série de tecnologias de ponta na rede lightning. Nós tornamos o desenvolvimento de extensões o mais fácil possível e, como um projeto gratuito e de código aberto, incentivamos as pessoas a desenvolver e enviar as suas próprias.",export_to_phone:"Exportar para o telefone com código QR",export_to_phone_desc:"Este código QR contém a URL da sua carteira com acesso total. Você pode escaneá-lo do seu telefone para abrir sua carteira a partir dele.",wallets:"Carteiras",add_wallet:"Adicionar nova carteira",delete_wallet:"Excluir carteira",delete_wallet_desc:"Toda a carteira será excluída, os fundos serão IRRECUPERÁVEIS.",rename_wallet:"Renomear carteira",update_name:"Atualizar nome",fiat_tracking:"Rastreamento Fiat",currency:"Moeda",update_currency:"Atualizar moeda",press_to_claim:"Pressione para solicitar bitcoin",donate:"Doar",view_github:"Ver no GitHub",voidwallet_active:"VoidWallet está ativo! Pagamentos desabilitados",use_with_caution:"USE COM CAUTELA - a carteira {name} ainda está em BETA",service_fee:"Taxa de serviço: {amount} % por transação",service_fee_max:"Taxa de serviço: {amount} % por transação (máximo de {max} sats)",service_fee_tooltip:"Taxa de serviço cobrada pelo administrador do servidor LNbits por transação de saída",toggle_darkmode:"Alternar modo escuro",payment_reactions:"Reações de Pagamento",view_swagger_docs:"Ver a documentação da API do LNbits Swagger",api_docs:"Documentação da API",api_keys_api_docs:"URL do Nó, chaves de API e documentação de API",lnbits_version:"Versão do LNbits",runs_on:"Executa em",credit_hint:"Pressione Enter para creditar a conta",credit_label:"{denomination} para creditar",paste:"Colar",paste_from_clipboard:"Colar da área de transferência",paste_request:"Colar Pedido",create_invoice:"Criar Fatura",camera_tooltip:"Usar a câmara para escanear uma fatura / QR",export_csv:"Exportar para CSV",chart_tooltip:"Mostrar gráfico",pending:"Pendente",copy_invoice:"Copiar fatura",withdraw_from:"Retirar de",cancel:"Cancelar",scan:"Escanear",read:"Ler",pay:"Pagar",memo:"Memo",date:"Data",processing_payment:"Processando pagamento...",not_enough_funds:"Fundos insuficientes!",search_by_tag_memo_amount:"Pesquisar por tag, memo, quantidade",invoice_waiting:"Fatura aguardando pagamento",payment_received:"Pagamento Recebido",payment_sent:"Pagamento Enviado",receive:"receber",send:"enviar",outgoing_payment_pending:"Pagamento de saída pendente",drain_funds:"Esvasiar carteira",drain_funds_desc:"Este é um código QR de saque LNURL para sacar tudo desta carteira. Não o partilhe com ninguém. É compatível com balanceCheck e balanceNotify para que a sua carteira possa continuar levantando os fundos continuamente daqui após o primeiro saque.",i_understand:"Eu entendo",copy_wallet_url:"Copiar URL da carteira",disclaimer_dialog_title:"Importante!",disclaimer_dialog:"Funcionalidade de login a ser lançada numa atualização futura, por enquanto, certifique-se que marca esta página para acesso futuro à sua carteira! Este serviço está em BETA, e não nos responsabilizamos por pessoas que perderem o acesso aos fundos.",no_transactions:"Ainda não foram feitas transações",manage:"Gerir",extensions:"Extensões",no_extensions:"Não há nenhuma extensão instalada :(",created:"Criado",search_extensions:"Pesquisar extensões",warning:"Aviso",repository:"Repositório",confirm_continue:"Tem certeza de que deseja continuar?",manage_extension_details:"Instalar/desinstalar extensão",install:"Instalar",uninstall:"Desinstalar",drop_db:"Remover Dados",enable:"Ativar",enable_extension_details:"Ativar extensão para o usuário atual",disable:"Desativar",installed:"Instalado",activated:"Ativado",deactivated:"Desativado",release_notes:"Notas de Lançamento",activate_extension_details:"Torne a extensão disponível/indisponível para usuários",featured:"Destacado",all:"Todos",only_admins_can_install:"Apenas contas de administrador podem instalar extensões.",admin_only:"Apenas para administradores",new_version:"Nova Versão",extension_depends_on:"Depende de:",extension_rating_soon:"Avaliações em breve",extension_installed_version:"Versão instalada",extension_uninstall_warning:"Você está prestes a remover a extensão para todos os usuários.",uninstall_confirm:"Sim, Desinstalar",extension_db_drop_info:"Todos os dados da extensão serão permanentemente excluídos. Não há como desfazer essa operação!",extension_db_drop_warning:"Você está prestes a remover todos os dados para a extensão. Por favor, digite o nome da extensão para continuar:",extension_min_lnbits_version:"Esta versão requer pelo menos a versão LNbits",payment_hash:"Hash de pagamento",fee:"Taxa",amount:"Quantidade",tag:"Etiqueta",unit:"Unidade",description:"Descrição",expiry:"Validade",webhook:"Webhook",payment_proof:"Comprovativo de pagamento",update_available:"Atualização {version} disponível!",latest_update:"Você está na última versão {version}.",notifications:"Notificações",no_notifications:"Sem notificações",notifications_disabled:"As notificações de status do LNbits estão desativadas.",enable_notifications:"Ativar Notificações",enable_notifications_desc:"Se ativado, ele buscará as últimas atualizações de status do LNbits, como incidentes de segurança e atualizações.",enable_killswitch:"Ativar Killswitch",enable_killswitch_desc:"Se ativado, ele mudará sua fonte de financiamento para VoidWallet automaticamente se o LNbits enviar um sinal de desativação. Você precisará ativar manualmente após uma atualização.",killswitch_interval:"Intervalo do Killswitch",killswitch_interval_desc:"Com que frequência a tarefa de fundo deve verificar o sinal de desativação do LNbits proveniente da fonte de status (em minutos).",enable_watchdog:"Ativar Watchdog",enable_watchdog_desc:"Se ativado, mudará automaticamente a sua fonte de financiamento para VoidWallet caso o seu saldo seja inferior ao saldo LNbits. Você precisará ativar manualmente após uma atualização.",watchdog_interval:"Intervalo do Watchdog",watchdog_interval_desc:"Com que frequência a tarefa de fundo deve verificar um sinal de desligamento no delta do watchdog [node_balance - lnbits_balance] (em minutos).",watchdog_delta:"Observador Delta",watchdog_delta_desc:"Limite antes que o killswitch altere a fonte de financiamento para VoidWallet [lnbits_balance - node_balance > delta]",status:"Estado",notification_source:"Fonte de Notificação",notification_source_label:"URL de Origem (use apenas a fonte oficial de status do LNbits e fontes em que confia)",more:"mais",less:"menos",releases:"Lançamentos",killswitch:"Interruptor de desativação",watchdog:"Cão de guarda",server_logs:"Registros do Servidor",ip_blocker:"Bloqueador de IP",security:"Segurança",security_tools:"Ferramentas de segurança",block_access_hint:"Bloquear acesso por IP",allow_access_hint:"Permitir acesso por IP (substituirá IPs bloqueados)",enter_ip:"Digite o IP e pressione enter.",rate_limiter:"Limitador de Taxa",wallet_limiter:"Limitador de Carteira",wallet_limit_max_withdraw_per_day:"Limite diário máximo de saque da carteira em sats (0 para desativar)",wallet_max_ballance:"Saldo máximo da carteira em sats (0 para desativar)",wallet_limit_secs_between_trans:"Minutos seg. entre transações por carteira (0 para desativar)",number_of_requests:"Número de solicitações",time_unit:"Unidade de tempo",minute:"minuto",second:"segundo",hour:"hora",disable_server_log:"Desativar Log do Servidor",enable_server_log:"Ativar Log do Servidor",coming_soon:"Funcionalidade em breve",session_has_expired:"Sua sessão expirou. Por favor, faça login novamente.",instant_access_question:"Quer acesso imediato?",login_with_user_id:"Entrar com ID do usuário",or:"ou",create_new_wallet:"Criar Nova Carteira",login_to_account:"Faça login na sua conta",create_account:"Criar conta",account_settings:"Configurações da Conta",signin_with_google:"Entrar com o Google",signin_with_github:"Entrar com o GitHub",signin_with_keycloak:"Entrar com o Keycloak",username_or_email:"Nome de usuário ou Email",password:"Senha",password_config:"Configuração de Senha",password_repeat:"Repetição de senha",change_password:"Alterar Senha",set_password:"Definir Senha",invalid_password:"A senha deve ter pelo menos 8 caracteres",login:"Entrar",register:"Registrar",username:"Nome de usuário",user_id:"ID do Usuário",email:"E-mail",first_name:"Nome próprio",last_name:"Sobrenome",picture:"Foto",verify_email:"Verifique o e-mail com",account:"Conta",update_account:"Atualizar Conta",invalid_username:"Nome de usuário inválido",auth_provider:"Provedor de Autenticação",my_account:"Minha Conta",back:"Voltar",logout:"Sair",look_and_feel:"Aparência e Sensação",language:"Idioma",color_scheme:"Esquema de Cores",extension_cost:"Este lançamento requer um pagamento mínimo de {cost} sats.",extension_paid_sats:"Você já pagou {paid_sats} sats.",release_details_error:"Não é possível obter os detalhes da versão.",pay_from_wallet:"Pague da Carteira",show_qr:"Exibir QR",retry_install:"Reinstalar Tente Novamente",new_payment:"Realizar Novo Pagamento",hide_empty_wallets:"Ocultar carteiras vazias"},window.localisation.br={confirm:"Sim",server:"Servidor",theme:"Tema",funding:"Financiamento",users:"Usuários",apps:"Aplicativos",channels:"Canais",transactions:"Transações",dashboard:"Painel de Controle",node:"Nó",export_users:"Exportar Usuários",no_users:"Nenhum usuário encontrado",total_capacity:"Capacidade Total",avg_channel_size:"Tamanho médio do canal",biggest_channel_size:"Maior Tamanho de Canal",smallest_channel_size:"Tamanho Mínimo do Canal",number_of_channels:"Número de Canais",active_channels:"Canais Ativos",connect_peer:"Conectar Par",connect:"Conectar",open_channel:"Canal Aberto",open:"Abrir",close_channel:"Fechar Canal",close:"Fechar",restart:"Reiniciar servidor",save:"Salvar",save_tooltip:"Salvar suas alterações",topup:"Recarregar",topup_wallet:"Recarregar uma carteira",topup_hint:"Use o ID da carteira para recarregar qualquer carteira",restart_tooltip:"Reinicie o servidor para que as alterações tenham efeito",add_funds_tooltip:"Adicionar fundos a uma carteira.",reset_defaults:"Redefinir para padrões",reset_defaults_tooltip:"Apagar todas as configurações e redefinir para os padrões.",download_backup:"Fazer backup do banco de dados",name_your_wallet:"Nomeie sua carteira {name}",wallet_topup_ok:"Sucesso ao criar fundos virtuais ({amount} sats). Pagamentos dependem dos fundos reais na fonte de financiamento.",paste_invoice_label:"Cole uma fatura, pedido de pagamento ou código lnurl *",lnbits_description:"Fácil de configurar e leve, o LNbits pode ser executado em qualquer fonte de financiamento da Lightning Network e até mesmo o LNbits em si! Você pode executar o LNbits para si mesmo ou oferecer facilmente uma solução de custódia para outros. Cada carteira tem suas próprias chaves de API e não há limite para o número de carteiras que você pode criar. Ser capaz de particionar fundos torna o LNbits uma ferramenta útil para gerenciamento de dinheiro e como uma ferramenta de desenvolvimento. As extensões adicionam funcionalidades extras ao LNbits para que você possa experimentar uma série de tecnologias de ponta na rede lightning. Nós tornamos o desenvolvimento de extensões o mais fácil possível e, como um projeto gratuito e de código aberto, incentivamos as pessoas a desenvolver e enviar as suas próprias.",export_to_phone:"Exportar para o telefone com código QR",export_to_phone_desc:"Este código QR contém a URL da sua carteira com acesso total. Você pode escaneá-lo do seu telefone para abrir sua carteira a partir dele.",wallets:"Carteiras",add_wallet:"Adicionar nova carteira",delete_wallet:"Excluir carteira",delete_wallet_desc:"Toda a carteira será excluída, os fundos serão IRRECUPERÁVEIS.",rename_wallet:"Renomear carteira",update_name:"Atualizar nome",fiat_tracking:"Rastreamento Fiat",currency:"Moeda",update_currency:"Atualizar moeda",press_to_claim:"Pressione para solicitar bitcoin",donate:"Doar",view_github:"Ver no GitHub",voidwallet_active:"VoidWallet está ativo! Pagamentos desabilitados",use_with_caution:"USE COM CAUTELA - a carteira {name} ainda está em BETA",service_fee:"Taxa de serviço: {amount} % por transação",service_fee_max:"Taxa de serviço: {amount} % por transação (máx {max} sats)",service_fee_tooltip:"Taxa de serviço cobrada pelo administrador do servidor LNbits por transação de saída",toggle_darkmode:"Alternar modo escuro",payment_reactions:"Reações de Pagamento",view_swagger_docs:"Ver a documentação da API do LNbits Swagger",api_docs:"Documentação da API",api_keys_api_docs:"URL do Node, chaves da API e documentação da API",lnbits_version:"Versão do LNbits",runs_on:"Executa em",credit_hint:"Pressione Enter para creditar a conta",credit_label:"{denomination} para creditar",paste:"Colar",paste_from_clipboard:"Cole do clipboard",paste_request:"Colar Pedido",create_invoice:"Criar Fatura",camera_tooltip:"Usar a câmara para escanear uma fatura / QR",export_csv:"Exportar para CSV",chart_tooltip:"Mostrar gráfico",pending:"Pendente",copy_invoice:"Copiar fatura",withdraw_from:"Sacar de",cancel:"Cancelar",scan:"Escanear",read:"Ler",pay:"Pagar",memo:"Memo",date:"Data",processing_payment:"Processando pagamento...",not_enough_funds:"Fundos insuficientes!",search_by_tag_memo_amount:"Pesquisar por tag, memo, quantidade",invoice_waiting:"Fatura aguardando pagamento",payment_received:"Pagamento Recebido",payment_sent:"Pagamento Enviado",receive:"receber",send:"enviar",outgoing_payment_pending:"Pagamento pendente de saída",drain_funds:"Drenar Fundos",drain_funds_desc:"Este é um código QR de retirada do LNURL para sugar tudo desta carteira. Não compartilhe com ninguém. É compatível com balanceCheck e balanceNotify para que sua carteira possa continuar retirando os fundos continuamente daqui após a primeira retirada.",i_understand:"Eu entendo",copy_wallet_url:"Copiar URL da carteira",disclaimer_dialog_title:"Importante!",disclaimer_dialog:"Funcionalidade de login a ser lançada em uma atualização futura, por enquanto, certifique-se de marcar esta página para acesso futuro à sua carteira! Este serviço está em BETA, e não nos responsabilizamos por pessoas que perderem o acesso aos fundos.",no_transactions:"Ainda não foram feitas transações",manage:"Gerenciar",extensions:"Extensões",no_extensions:"Você não possui nenhuma extensão instalada :(",created:"Criado",search_extensions:"Extensões de pesquisa",warning:"Aviso",repository:"Repositório",confirm_continue:"Você tem certeza de que deseja continuar?",manage_extension_details:"Instalar/desinstalar extensão",install:"Instalar",uninstall:"Desinstalar",drop_db:"Remover Dados",enable:"Ativar",enable_extension_details:"Ativar extensão para o usuário atual",disable:"Desativar",installed:"Instalado",activated:"Ativado",deactivated:"Desativado",release_notes:"Notas de Lançamento",activate_extension_details:"Tornar a extensão disponível/indisponível para usuários",featured:"Destacado",all:"Tudo",only_admins_can_install:"Apenas contas de administrador podem instalar extensões.",admin_only:"Apenas para Administração",new_version:"Nova Versão",extension_depends_on:"Depende de:",extension_rating_soon:"Avaliações estarão disponíveis em breve",extension_installed_version:"Versão instalada",extension_uninstall_warning:"Você está prestes a remover a extensão para todos os usuários.",uninstall_confirm:"Sim, Desinstalar",extension_db_drop_info:"Todos os dados da extensão serão permanentemente excluídos. Não há como desfazer essa operação!",extension_db_drop_warning:"Você está prestes a remover todos os dados para a extensão. Por favor, digite o nome da extensão para continuar:",extension_min_lnbits_version:"Esta versão requer no mínimo a versão do LNbits",payment_hash:"Hash de pagamento",fee:"Taxa",amount:"Quantidade",tag:"Etiqueta",unit:"Unidade",description:"Descrição",expiry:"Validade",webhook:"Webhook",payment_proof:"Comprovante de pagamento",update_available:"Atualização {version} disponível!",latest_update:"Você está na versão mais recente {version}.",notifications:"Notificações",no_notifications:"Sem notificações",notifications_disabled:"As notificações de status do LNbits estão desativadas.",enable_notifications:"Ativar notificações",enable_notifications_desc:"Se ativado, ele buscará as últimas atualizações de status do LNbits, como incidentes de segurança e atualizações.",enable_killswitch:"Ativar Killswitch",enable_killswitch_desc:"Se ativado, mudará sua fonte de fundos para VoidWallet automaticamente se o LNbits enviar um sinal de desativação. Você precisará ativar manualmente após uma atualização.",killswitch_interval:"Intervalo do Killswitch",killswitch_interval_desc:"Com que frequência a tarefa de fundo deve verificar o sinal de desativação do LNbits proveniente da fonte de status (em minutos).",enable_watchdog:"Ativar Watchdog",enable_watchdog_desc:"Se ativado, ele mudará automaticamente sua fonte de financiamento para VoidWallet se o seu saldo for inferior ao saldo do LNbits. Você precisará ativar manualmente após uma atualização.",watchdog_interval:"Intervalo do Watchdog",watchdog_interval_desc:"Com que frequência a tarefa de fundo deve verificar um sinal de interrupção no delta do monitor [node_balance - lnbits_balance] (em minutos).",watchdog_delta:"Observador Delta",watchdog_delta_desc:"Limite antes da mudança do mecanismo de segurança alterar a fonte de financiamento para VoidWallet [lnbits_balance - node_balance > delta]",status:"Estado",notification_source:"Fonte de Notificação",notification_source_label:"URL de origem (use apenas a fonte de status oficial do LNbits e fontes de confiança)",more:"mais",less:"menos",releases:"Lançamentos",killswitch:"Dispositivo de desativação",watchdog:"Cão de guarda",server_logs:"Registros do Servidor",ip_blocker:"Bloqueador de IP",security:"Segurança",security_tools:"Ferramentas de segurança",block_access_hint:"Bloquear acesso por IP",allow_access_hint:"Permitir acesso por IP (substituirá os IPs bloqueados)",enter_ip:"Digite o IP e pressione enter",rate_limiter:"Limitador de Taxa",wallet_limiter:"Limitador de Carteira",wallet_limit_max_withdraw_per_day:"Retirada máxima diária da carteira em sats (0 para desativar)",wallet_max_ballance:"Saldo máximo da carteira em sats (0 para desativar)",wallet_limit_secs_between_trans:"Minutos e segundos entre transações por carteira (0 para desativar)",number_of_requests:"Número de solicitações",time_unit:"Unidade de tempo",minute:"minuto",second:"segundo",hour:"hora",disable_server_log:"Desativar Log do Servidor",enable_server_log:"Ativar Registro do Servidor",coming_soon:"Funcionalidade em breve",session_has_expired:"Sua sessão expirou. Por favor, faça login novamente.",instant_access_question:"Quer acesso imediato?",login_with_user_id:"Faça login com ID do usuário",or:"ou",create_new_wallet:"Criar Nova Carteira",login_to_account:"Faça login na sua conta",create_account:"Criar conta",account_settings:"Configurações da Conta",signin_with_google:"Entrar com o Google",signin_with_github:"Entrar com GitHub",signin_with_keycloak:"Entrar com Keycloak",username_or_email:"Nome de usuário ou E-mail",password:"Senha",password_config:"Configuração de Senha",password_repeat:"Repetição de senha",change_password:"Alterar Senha",set_password:"Definir Senha",invalid_password:"A senha deve ter pelo menos 8 caracteres",login:"Entrar",register:"Registrar",username:"Nome de usuário",user_id:"ID do Usuário",email:"E-mail",first_name:"Primeiro Nome",last_name:"Sobrenome",picture:"Foto",verify_email:"Verifique o e-mail com",account:"Conta",update_account:"Atualizar Conta",invalid_username:"Nome de usuário inválido",auth_provider:"Provedor de Autenticação",my_account:"Minha Conta",back:"Voltar",logout:"Sair",look_and_feel:"Aparência",language:"Idioma",color_scheme:"Esquema de Cores",extension_cost:"Este lançamento requer um pagamento mínimo de {cost} sats.",extension_paid_sats:"Você já pagou {paid_sats} sats.",release_details_error:"Não é possível obter os detalhes da versão.",pay_from_wallet:"Pagar com a Carteira",show_qr:"Exibir QR",retry_install:"Repetir Instalação",new_payment:"Efetuar Novo Pagamento",hide_empty_wallets:"Ocultar carteiras vazias"},window.localisation.cs={confirm:"Ano",server:"Server",theme:"Téma",funding:"Financování",users:"Uživatelé",apps:"Aplikace",channels:"Kanály",transactions:"Transakce",dashboard:"Přehled",node:"Uzel",export_users:"Exportovat uživatele",no_users:"Nebyli nalezeni žádní uživatelé",total_capacity:"Celková kapacita",avg_channel_size:"Průmerná velikost kanálu",biggest_channel_size:"Největší velikost kanálu",smallest_channel_size:"Nejmenší velikost kanálu",number_of_channels:"Počet kanálů",active_channels:"Aktivní kanály",connect_peer:"Připojit peer",connect:"Připojit",open_channel:"Otevřít kanál",open:"Otevřít",close_channel:"Zavřít kanál",close:"Zavřít",restart:"Restartovat server",save:"Uložit",save_tooltip:"Uložit změny",topup:"Dobít",topup_wallet:"Dobít peněženku",topup_hint:"Použijte ID peněženky pro dobíjení jakékoliv peněženky",restart_tooltip:"Restartujte server pro aplikaci změn",add_funds_tooltip:"Přidat prostředky do peněženky.",reset_defaults:"Obnovit výchozí",reset_defaults_tooltip:"Smazat všechna nastavení a obnovit výchozí.",download_backup:"Stáhnout zálohu databáze",name_your_wallet:"Pojmenujte svou {name} peněženku",wallet_topup_ok:"Úspěšně vytvořeny virtuální prostředky ({amount} sats). Platby závisí na skutečných prostředcích na zdrojovém účtu.",paste_invoice_label:"Vložte fakturu, platební požadavek nebo lnurl kód *",lnbits_description:"Snadno nastavitelný a lehkotonážní, LNbits může běžet na jakémkoliv zdroji financování Lightning Network a dokonce LNbits samotné! LNbits můžete provozovat pro sebe, nebo snadno nabízet správu peněženek pro ostatní. Každá peněženka má své vlastní API klíče a není omezen počet peněženek, které můžete vytvořit. Možnost rozdělení prostředků dělá z LNbits užitečný nástroj pro správu peněz a jako vývojový nástroj. Rozšíření přidávají extra funkčnost k LNbits, takže můžete experimentovat s řadou špičkových technologií na lightning network. Vývoj rozšíření jsme učinili co nejjednodušší a jako svobodný a open-source projekt podporujeme lidi ve vývoji a zasílání vlastních rozšíření.",export_to_phone:"Exportovat do telefonu pomocí QR kódu",export_to_phone_desc:"Tento QR kód obsahuje URL vaší peněženky s plným přístupem. Můžete jej naskenovat z telefonu a otevřít peněženku odtamtud.",wallets:"Peněženky",add_wallet:"Přidat novou peněženku",delete_wallet:"Smazat peněženku",delete_wallet_desc:"Celá peněženka bude smazána, prostředky budou NEOBNOVITELNÉ.",rename_wallet:"Přejmenovat peněženku",update_name:"Aktualizovat název",fiat_tracking:"Sledování fiatu",currency:"Měna",update_currency:"Aktualizovat měnu",press_to_claim:"Stiskněte pro nárokování bitcoinu",donate:"Darovat",view_github:"Zobrazit na GitHubu",voidwallet_active:"VoidWallet je aktivní! Platby zakázány",use_with_caution:"POUŽÍVEJTE S OBEZŘETNOSTÍ - {name} peněženka je stále v BETĚ",service_fee:"Servisný poplatek: {amount} % za transakci",service_fee_max:"Servisný poplatek: {amount} % za transakci (max {max} satoshi)",service_fee_tooltip:"Servisní poplatek účtovaný správcem LNbits serveru za odchozí transakci",toggle_darkmode:"Přepnout tmavý režim",payment_reactions:"Reakce na platby",view_swagger_docs:"Zobrazit LNbits Swagger API dokumentaci",api_docs:"API dokumentace",api_keys_api_docs:"Adresa uzlu, API klíče a API dokumentace",lnbits_version:"Verze LNbits",runs_on:"Běží na",credit_hint:"Stiskněte Enter pro připsání na účet",credit_label:"{denomination} k připsání",paste:"Vložit",paste_from_clipboard:"Vložit ze schránky",paste_request:"Vložit požadavek",create_invoice:"Vytvořit fakturu",camera_tooltip:"Použijte kameru pro skenování faktury/QR",export_csv:"Exportovat do CSV",chart_tooltip:"Zobrazit graf",pending:"Čeká na vyřízení",copy_invoice:"Kopírovat fakturu",withdraw_from:"Vybrat z",cancel:"Zrušit",scan:"Skenovat",read:"Číst",pay:"Platit",memo:"Poznámka",date:"Datum",processing_payment:"Zpracování platby...",not_enough_funds:"Nedostatek prostředků!",search_by_tag_memo_amount:"Hledat podle tagu, poznámky, částky",invoice_waiting:"Faktura čeká na platbu",payment_received:"Platba přijata",payment_sent:"Platba odeslána",receive:"přijmout",send:"odeslat",outgoing_payment_pending:"Odchozí platba čeká na vyřízení",drain_funds:"Vyčerpat prostředky",drain_funds_desc:"Toto je LNURL-withdraw QR kód pro vyčerpání všeho z této peněženky. Nesdílejte s nikým. Je kompatibilní s balanceCheck a balanceNotify, takže vaše peněženka může kontinuálně čerpat prostředky odsud po prvním výběru.",i_understand:"Rozumím",copy_wallet_url:"Kopírovat URL peněženky",disclaimer_dialog_title:"Důležité!",disclaimer_dialog:"Funkcionalita přihlášení bude vydána v budoucí aktualizaci, zatím si ujistěte, že jste si tuto stránku uložili do záložek pro budoucí přístup k vaší peněžence! Tato služba je v BETA verzi a nepřebíráme žádnou zodpovědnost za ztrátu přístupu k prostředkům.",no_transactions:"Zatím žádné transakce",manage:"Spravovat",extensions:"Rozšíření",no_extensions:"Nemáte nainstalováno žádné rozšíření :(",created:"Vytvořeno",search_extensions:"Hledat rozšíření",warning:"Varování",repository:"Repositář",confirm_continue:"Jste si jistí, že chcete pokračovat?",manage_extension_details:"Instalovat/odinstalovat rozšíření",install:"Instalovat",uninstall:"Odinstalovat",drop_db:"Odstranit data",enable:"Povolit",enable_extension_details:"Povolit rozšíření pro aktuálního uživatele",disable:"Zakázat",installed:"Nainstalováno",activated:"Aktivováno",deactivated:"Deaktivováno",release_notes:"Poznámky k vydání",activate_extension_details:"Zpřístupnit/zakázat rozšíření pro uživatele",featured:"Doporučené",all:"Vše",only_admins_can_install:"(Pouze administrátorské účty mohou instalovat rozšíření)",admin_only:"Pouze pro adminy",new_version:"Nová verze",extension_depends_on:"Závisí na:",extension_rating_soon:"Hodnocení brzy dostupné",extension_installed_version:"Nainstalovaná verze",extension_uninstall_warning:"Chystáte se odstranit rozšíření pro všechny uživatele.",uninstall_confirm:"Ano, odinstalovat",extension_db_drop_info:"Všechna data pro rozšíření budou trvale odstraněna. Tuto operaci nelze vrátit zpět!",extension_db_drop_warning:"Chystáte se odstranit všechna data pro rozšíření. Prosím, pokračujte zadáním názvu rozšíření:",extension_min_lnbits_version:"Toto vydání vyžaduje alespoň verzi LNbits",payment_hash:"Hash platby",fee:"Poplatek",amount:"Částka",tag:"Tag",unit:"Jednotka",description:"Popis",expiry:"Expirace",webhook:"Webhook",payment_proof:"Důkaz platby",update_available:"Dostupná aktualizace {version}!",latest_update:"Máte nejnovější verzi {version}.",notifications:"Notifikace",no_notifications:"Žádné notifikace",notifications_disabled:"Notifikace stavu LNbits jsou zakázány.",enable_notifications:"Povolit notifikace",enable_notifications_desc:"Pokud je povoleno, bude stahovat nejnovější aktualizace stavu LNbits, jako jsou bezpečnostní incidenty a aktualizace.",enable_killswitch:"Povolit Killswitch",enable_killswitch_desc:"Pokud je povoleno, automaticky změní zdroj financování na VoidWallet pokud LNbits odešle signál killswitch. Po aktualizaci budete muset povolit ručně.",killswitch_interval:"Interval Killswitch",killswitch_interval_desc:"Jak často by měl úkol na pozadí kontrolovat signál killswitch od LNbits ze zdroje stavu (v minutách).",enable_watchdog:"Povolit Watchdog",enable_watchdog_desc:"Pokud je povoleno, automaticky změní zdroj financování na VoidWallet pokud je váš zůstatek nižší než zůstatek LNbits. Po aktualizaci budete muset povolit ručně.",watchdog_interval:"Interval Watchdog",watchdog_interval_desc:"Jak často by měl úkol na pozadí kontrolovat signál killswitch v watchdog delta [node_balance - lnbits_balance] (v minutách).",watchdog_delta:"Delta Watchdog",watchdog_delta_desc:"Limit předtím, než killswitch změní zdroj financování na VoidWallet [lnbits_balance - node_balance > delta]",status:"Stav",notification_source:"Zdroj notifikací",notification_source_label:"URL zdroje (používejte pouze oficiální zdroj stavu LNbits a zdroje, kterým můžete věřit)",more:"více",less:"méně",releases:"Vydání",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Logy serveru",ip_blocker:"Blokování IP",security:"Bezpečnost",security_tools:"Nástroje bezpečnosti",block_access_hint:"Blokovat přístup podle IP",allow_access_hint:"Povolit přístup podle IP (přepíše blokované IP)",enter_ip:"Zadejte IP a stiskněte enter",rate_limiter:"Omezovač počtu požadavků",wallet_limiter:"Omezení peněženky",wallet_limit_max_withdraw_per_day:"Maximální denní limit pro výběr z peněženky v sats (0 pro deaktivaci)",wallet_max_ballance:"Maximální zůstatek v peněžence v sats (0 pro zakázání)",wallet_limit_secs_between_trans:"Minimální počet sekund mezi transakcemi na peněženku (0 pro vypnutí)",number_of_requests:"Počet požadavků",time_unit:"Časová jednotka",minute:"minuta",second:"sekunda",hour:"hodina",disable_server_log:"Zakázat log serveru",enable_server_log:"Povolit log serveru",coming_soon:"Funkce brzy dostupná",session_has_expired:"Vaše relace vypršela. Prosím, přihlašte se znovu.",instant_access_question:"Chcete okamžitý přístup?",login_with_user_id:"Přihlásit se s uživatelským ID",or:"nebo",create_new_wallet:"Vytvořit novou peněženku",login_to_account:"Přihlaste se ke svému účtu",create_account:"Vytvořit účet",account_settings:"Nastavení účtu",signin_with_google:"Přihlásit se přes Google",signin_with_github:"Přihlásit se přes GitHub",signin_with_keycloak:"Přihlásit se přes Keycloak",username_or_email:"Uživatelské jméno nebo Email",password:"Heslo",password_config:"Konfigurace hesla",password_repeat:"Opakujte heslo",change_password:"Změnit heslo",set_password:"Nastavit heslo",invalid_password:"Heslo musí mít alespoň 8 znaků",login:"Přihlášení",register:"Registrovat",username:"Uživatelské jméno",user_id:"ID uživatele",email:"Email",first_name:"Křestní jméno",last_name:"Příjmení",picture:"Obrázek",verify_email:"Ověřte e-mail s",account:"Účet",update_account:"Aktualizovat účet",invalid_username:"Neplatné uživatelské jméno",auth_provider:"Poskytovatel ověření",my_account:"Můj účet",back:"Zpět",logout:"Odhlásit se",look_and_feel:"Vzhled a chování",language:"Jazyk",color_scheme:"Barevné schéma",extension_cost:"Toto vydání vyžaduje minimální platbu {cost} satoshi.",extension_paid_sats:"Již jste zaplatili {paid_sats} sats.",release_details_error:"Nelze získat podrobnosti o vydání.",pay_from_wallet:"Platit z peněženky",show_qr:"Zobrazit QR",retry_install:"Zkusit znovu nainstalovat",new_payment:"Vytvořit novou platbu",hide_empty_wallets:"Skrýt prázdné peněženky"},window.localisation.sk={confirm:"Áno",server:"Server",theme:"Téma",funding:"Financovanie",users:"Používatelia",apps:"Aplikácie",channels:"Kanály",transactions:"Transakcie",dashboard:"Prehľad",node:"Uzol",export_users:"Exportovať používateľov",no_users:"Nenašli sa žiadni používatelia",total_capacity:"Celková kapacita",avg_channel_size:"Priemerná veľkosť kanálu",biggest_channel_size:"Najväčší kanál",smallest_channel_size:"Najmenší kanál",number_of_channels:"Počet kanálov",active_channels:"Aktívne kanály",connect_peer:"Pripojiť peer",connect:"Pripojiť",open_channel:"Otvoriť kanál",open:"Otvoriť",close_channel:"Zatvoriť kanál",close:"Zatvoriť",restart:"Reštartovať server",save:"Uložiť",save_tooltip:"Uložiť vaše zmeny",topup:"Doplniť",topup_wallet:"Doplniť peňaženku",topup_hint:"Použite ID peňaženky na doplnenie ľubovoľnej peňaženky",restart_tooltip:"Pre prejavenie zmien reštartujte server",add_funds_tooltip:"Pridať prostriedky do peňaženky.",reset_defaults:"Obnoviť predvolené",reset_defaults_tooltip:"Odstrániť všetky nastavenia a obnoviť predvolené.",download_backup:"Stiahnuť zálohu databázy",name_your_wallet:"Pomenujte vašu {name} peňaženku",wallet_topup_ok:"Úspešne vytvorené virtuálne prostriedky ({amount} sats). Platby závisia od skutočných prostriedkov v zdroji financovania.",paste_invoice_label:"Vložte faktúru, platobnú požiadavku alebo lnurl kód *",lnbits_description:"Ľahko nastaviteľný a ľahkotonážny, LNbits môže bežať na akomkoľvek zdroji financovania Lightning Network a dokonca LNbits samotný! LNbits môžete používať pre seba, alebo ľahko ponúknuť správcovské riešenie pre iných. Každá peňaženka má svoje vlastné API kľúče a nie je limit na počet peňaženiek, ktoré môžete vytvoriť. Schopnosť rozdeľovať finančné prostriedky robí z LNbits užitočný nástroj pre správu peňazí a ako vývojový nástroj. Rozšírenia pridávajú extra funkčnosť do LNbits, takže môžete experimentovať s radou najnovších technológií na lightning sieti. Vývoj rozšírení sme urobili čo najjednoduchší a ako voľný a open-source projekt, podporujeme ľudí vývoj a odovzdávanie vlastných rozšírení.",export_to_phone:"Exportovať do telefónu s QR kódom",export_to_phone_desc:"Tento QR kód obsahuje URL vašej peňaženky s plným prístupom. Môžete ho naskenovať z vášho telefónu a otvoriť vašu peňaženku odtiaľ.",wallets:"Peňaženky",add_wallet:"Pridať novú peňaženku",delete_wallet:"Zmazať peňaženku",delete_wallet_desc:"Celá peňaženka bude zmazaná, prostriedky budú NEOBNOVITEĽNÉ.",rename_wallet:"Premenovať peňaženku",update_name:"Aktualizovať meno",fiat_tracking:"Sledovanie fiat",currency:"Mena",update_currency:"Aktualizovať menu",press_to_claim:"Stlačte pre nárok na bitcoin",donate:"Prispieť",view_github:"Zobraziť na GitHube",voidwallet_active:"VoidWallet je aktívny! Platby zakázané",use_with_caution:"POUŽÍVAJTE OPATRNE - {name} peňaženka je stále v BETE",service_fee:"Servisný poplatok: {amount} % za transakciu",service_fee_max:"Servisný poplatok: {amount} % za transakciu (max {max} satoshi)",service_fee_tooltip:"Servisný poplatok účtovaný správcom LNbits servera za odchádzajúcu transakciu",toggle_darkmode:"Prepnúť Tmavý režim",payment_reactions:"Reakcie na platbu",view_swagger_docs:"Zobraziť LNbits Swagger API dokumentáciu",api_docs:"API dokumentácia",api_keys_api_docs:"Adresa uzla, API kľúče a API dokumentácia",lnbits_version:"Verzia LNbits",runs_on:"Beží na",credit_hint:"Stlačte Enter pre pripísanie na účet",credit_label:"{denomination} na pripísanie",paste:"Vložiť",paste_from_clipboard:"Vložiť zo schránky",paste_request:"Vložiť požiadavku",create_invoice:"Vytvoriť faktúru",camera_tooltip:"Použite kameru na naskenovanie faktúry/QR",export_csv:"Exportovať do CSV",chart_tooltip:"Zobraziť graf",pending:"Čakajúce",copy_invoice:"Kopírovať faktúru",withdraw_from:"Vybrať z",cancel:"Zrušiť",scan:"Skenovať",read:"Čítať",pay:"Platiť",memo:"Poznámka",date:"Dátum",processing_payment:"Spracovávanie platby...",not_enough_funds:"Nedostatok prostriedkov!",search_by_tag_memo_amount:"Vyhľadať podľa značky, poznámky, sumy",invoice_waiting:"Faktúra čakajúca na zaplatenie",payment_received:"Platba prijatá",payment_sent:"Platba odoslaná",receive:"prijímať",send:"posielať",outgoing_payment_pending:"Odchádzajúca platba čaká",drain_funds:"Vyprázdniť prostriedky",drain_funds_desc:"Toto je LNURL-withdraw QR kód pre vyprázdnienie všetkého z tejto peňaženky. S nikým ho nezdieľajte. Je kompatibilný s balanceCheck a balanceNotify, takže vaša peňaženka môže naďalej kontinuálne vyťahovať prostriedky odtiaľto po prvom výbere.",i_understand:"Rozumiem",copy_wallet_url:"Kopírovať URL peňaženky",disclaimer_dialog_title:"Dôležité!",disclaimer_dialog:"Funkcionalita prihlásenia bude vydaná v budúcej aktualizácii, zatiaľ si uistite, že ste si túto stránku pridali medzi záložky pre budúci prístup k vašej peňaženke! Táto služba je v BETA verzii a nenesieme zodpovednosť za stratu prístupu k prostriedkom.",no_transactions:"Zatiaľ žiadne transakcie",manage:"Spravovať",extensions:"Rozšírenia",no_extensions:"Nemáte nainštalované žiadne rozšírenia :(",created:"Vytvorené",search_extensions:"Hľadať rozšírenia",warning:"Upozornenie",repository:"Repozitár",confirm_continue:"Ste si istí, že chcete pokračovať?",manage_extension_details:"Inštalovať/odinštalovať rozšírenie",install:"Inštalovať",uninstall:"Odinštalovať",drop_db:"Odstrániť údaje",enable:"Povoliť",enable_extension_details:"Povoliť rozšírenie pre aktuálneho používateľa",disable:"Zakázať",installed:"Nainštalované",activated:"Aktivované",deactivated:"Deaktivované",release_notes:"Poznámky k vydaniu",activate_extension_details:"Sprístupniť/neprístupniť rozšírenie pre používateľov",featured:"Odporúčané",all:"Všetky",only_admins_can_install:"(Iba administrátorské účty môžu inštalovať rozšírenia)",admin_only:"Iba pre administrátorov",new_version:"Nová verzia",extension_depends_on:"Závisí na:",extension_rating_soon:"Hodnotenia budú čoskoro dostupné",extension_installed_version:"Nainštalovaná verzia",extension_uninstall_warning:"Chystáte sa odstrániť rozšírenie pre všetkých používateľov.",uninstall_confirm:"Áno, Odinštalovať",extension_db_drop_info:"Všetky údaje pre rozšírenie budú trvalo vymazané. Túto operáciu nie je možné vrátiť!",extension_db_drop_warning:"Chystáte sa odstrániť všetky údaje pre rozšírenie. Pre pokračovanie prosím napíšte názov rozšírenia:",extension_min_lnbits_version:"Toto vydanie vyžaduje aspoň verziu LNbits",payment_hash:"Hash platby",fee:"Poplatok",amount:"Suma",tag:"Tag",unit:"Jednotka",description:"Popis",expiry:"Expirácia",webhook:"Webhook",payment_proof:"Dôkaz platby",update_available:"Dostupná aktualizácia {version}!",latest_update:"Máte najnovšiu verziu {version}.",notifications:"Notifikácie",no_notifications:"Žiadne notifikácie",notifications_disabled:"Notifikácie stavu LNbits sú zakázané.",enable_notifications:"Povoliť Notifikácie",enable_notifications_desc:"Ak povolené, budú sa načítavať najnovšie aktualizácie stavu LNbits, ako sú bezpečnostné incidenty a aktualizácie.",enable_killswitch:"Povoliť Killswitch",enable_killswitch_desc:"Ak povolené, vaš zdroj financovania sa automaticky zmení na VoidWallet, ak LNbits vysielajú signál killswitch. Po aktualizácii bude treba povoliť manuálne.",killswitch_interval:"Interval Killswitch",killswitch_interval_desc:"Ako často by malo pozadie kontrolovať signál killswitch od LNbits zo zdroja stavu (v minútach).",enable_watchdog:"Povoliť Watchdog",enable_watchdog_desc:"Ak povolené, vaš zdroj financovania sa automaticky zmení na VoidWallet, ak je váš zostatok nižší ako zostatok LNbits. Po aktualizácii bude treba povoliť manuálne.",watchdog_interval:"Interval Watchdog",watchdog_interval_desc:"Ako často by malo pozadie kontrolovať signál killswitch v watchdog delta [node_balance - lnbits_balance] (v minútach).",watchdog_delta:"Delta Watchdog",watchdog_delta_desc:"Limit pred zmenou zdroja financovania na VoidWallet [lnbits_balance - node_balance > delta]",status:"Stav",notification_source:"Zdroj notifikácií",notification_source_label:"URL zdroja (používajte len oficiálny LNbits zdroj stavu a zdroje, ktorým môžete dôverovať)",more:"viac",less:"menej",releases:"Vydania",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Logy servera",ip_blocker:"Blokovanie IP",security:"Bezpečnosť",security_tools:"Nástroje bezpečnosti",block_access_hint:"Blokovať prístup podľa IP",allow_access_hint:"Povoliť prístup podľa IP (prebije blokované IP)",enter_ip:"Zadajte IP a stlačte enter",rate_limiter:"Obmedzovač počtu požiadaviek",wallet_limiter:"Obmedzovač peňaženky",wallet_limit_max_withdraw_per_day:"Maximálny denný výber z peňaženky v satošiach (0 pre zrušenie)",wallet_max_ballance:"Maximálny zostatok v peňaženke v satošiach (0 pre deaktiváciu)",wallet_limit_secs_between_trans:"Minimálny počet sekúnd medzi transakciami na peňaženku (0 na deaktiváciu)",number_of_requests:"Počet požiadaviek",time_unit:"Časová jednotka",minute:"minúta",second:"sekunda",hour:"hodina",disable_server_log:"Zakázať Log servera",enable_server_log:"Povoliť Log servera",coming_soon:"Funkcia bude čoskoro dostupná",session_has_expired:"Vaša relácia vypršala. Prosím, prihláste sa znova.",instant_access_question:"Chcete okamžitý prístup?",login_with_user_id:"Prihlásiť sa s používateľským ID",or:"alebo",create_new_wallet:"Vytvoriť novú peňaženku",login_to_account:"Prihláste sa do vášho účtu",create_account:"Vytvoriť účet",account_settings:"Nastavenia účtu",signin_with_google:"Prihlásiť sa pomocou Google",signin_with_github:"Prihlásiť sa pomocou GitHub",signin_with_keycloak:"Prihlásiť sa pomocou Keycloak",username_or_email:"Používateľské meno alebo email",password:"Heslo",password_config:"Konfigurácia hesla",password_repeat:"Opakovanie hesla",change_password:"Zmeniť heslo",set_password:"Nastaviť heslo",invalid_password:"Heslo musí mať aspoň 8 znakov",login:"Prihlásenie",register:"Registrovať",username:"Používateľské meno",user_id:"ID používateľa",email:"Email",first_name:"Meno",last_name:"Priezvisko",picture:"Obrázok",verify_email:"Overiť e-mail s",account:"Účet",update_account:"Aktualizovať účet",invalid_username:"Neplatné užívateľské meno",auth_provider:"Poskytovateľ autentifikácie",my_account:"Môj účet",back:"Späť",logout:"Odhlásiť sa",look_and_feel:"Vzhľad a dojem",language:"Jazyk",color_scheme:"Farebná schéma",extension_cost:"Táto verzia vyžaduje minimálnu platbu {cost} satoshi.",extension_paid_sats:"Už ste zaplatili {paid_sats} sats.",release_details_error:"Nepodarilo sa získať podrobnosti o vydaní.",pay_from_wallet:"Zaplatiť z peňaženky",show_qr:"Zobraziť QR",retry_install:"Skúste inštaláciu znova",new_payment:"Vytvoriť novú platbu",hide_empty_wallets:"Skryť prázdne peňaženky"},window.localisation.kr={confirm:"확인",server:"서버",theme:"테마",funding:"자금",users:"사용자",apps:"앱",channels:"채널",transactions:"거래 내역",dashboard:"현황판",node:"노드",export_users:"사용자 내보내기",no_users:"사용자가 없습니다",total_capacity:"총 용량",avg_channel_size:"평균 채널 용량",biggest_channel_size:"가장 큰 채널 용량",smallest_channel_size:"가장 작은 채널 용량",number_of_channels:"채널 수",active_channels:"활성화된 채널",connect_peer:"피어 연결하기",connect:"연결하기",open_channel:"채널 개설하기",open:"개설",close_channel:"채널 폐쇄하기",close:"폐쇄",restart:"서버 재시작",save:"저장",save_tooltip:"변경 사항 저장",topup:"자금 추가",topup_wallet:"지갑에 자금 추가",topup_hint:"자금을 추가할 지갑의 ID를 넣어주세요",restart_tooltip:"변경 사항을 적용하려면 서버를 재시작해야 합니다.",add_funds_tooltip:"지갑에 자금을 추가합니다.",reset_defaults:"기본 설정으로 돌아가기",reset_defaults_tooltip:"설정했던 내용들을 모두 지우고, 기본 설정으로 돌아갑니다.",download_backup:"데이터베이스 백업 다운로드",name_your_wallet:"사용할 {name}지갑의 이름을 정하세요",wallet_topup_ok:"성공적으로 가상 자금을 생성했습니다 ({amount} sats). 지급은 자금 원천의 실제 자금에 따라 달라집니다.",paste_invoice_label:"인보이스, 결제 요청, 혹은 lnurl 코드를 붙여넣으세요 *",lnbits_description:"설정이 쉽고 가벼운 LNbits는 어떤 라이트닝 네트워크의 예산 자원 위에서든 돌아갈 수 있습니다, 그리고 다른 LNbits 지갑들입니다. 스스로 사용하기 위해, 또는 다른 사람들에게 수탁형 솔루션을 제공하기 위해 LNbits를 운영할 수 있습니다. 각 지갑들은 자신만의 API key를 가지며, 생성 가능한 지갑의 수에는 제한이 없습니다. 자금을 분할할 수 있는 기능으로 인해, LNbits는 자금 운영 도구로써뿐만 아니라 개발 도구로써도 유용합니다. 확장 기능들은 LNbits에 여러분들이 라이트닝 네트워크의 다양한 최신 기술들을 수행해볼 수 있게 하는 추가 기능을 제공합니다. LNbits 개발진들은 확장 기능들의 개발 또한 가능한 쉽게 만들었으며, 무료 오픈 소스 프로젝트답게 사람들이 자신만의 확장 기능들을 개발하고 제출하기를 응원합니다.",export_to_phone:"QR 코드를 이용해 모바일 기기로 내보내기",export_to_phone_desc:"이 QR 코드는 선택된 지갑의 최대 접근 권한을 가진 전체 URL을 담고 있습니다. 스캔 후, 모바일 기기에서 지갑을 열 수 있습니다.",wallets:"지갑",add_wallet:"새로운 지갑을 추가합니다",delete_wallet:"지갑을 삭제합니다",delete_wallet_desc:"이 지갑은 삭제될 것이며, 삭제 시 지갑 내 자금은 복구가 불가능합니다.",rename_wallet:"지갑 이름 변경",update_name:"이름 변경하기",fiat_tracking:"법정통화 가격 표시",currency:"통화",update_currency:"통화 수정하기",press_to_claim:"비트코인을 수령하려면 눌러주세요",donate:"기부",view_github:"GitHub 페이지 보기",voidwallet_active:"VoidWallet이 활성화되었습니다! 결제가 불가능합니다.",use_with_caution:"주의하세요 - {name} 지갑은 아직 BETA 단계입니다.",service_fee:"서비스 수수료: 거래액의 {amount} %",service_fee_max:"서비스 수수료: 거래액의 {amount} % (최대 {max} sats)",service_fee_tooltip:"지불 결제 시마다 LNbits 서버 관리자에게 납부되는 서비스 수수료",toggle_darkmode:"다크 모드 전환",payment_reactions:"결제 반응",view_swagger_docs:"LNbits Swagger API 문서를 봅니다",api_docs:"API 문서",api_keys_api_docs:"노드 URL, API 키와 API 문서",lnbits_version:"LNbits 버전",runs_on:"Runs on",credit_hint:"계정에 자금을 넣으려면 Enter를 눌러주세요",credit_label:"{denomination} 단위로 충전하기",paste:"붙여넣기",paste_from_clipboard:"클립보드에서 붙여넣기",paste_request:"지불 요청 붙여넣기",create_invoice:"인보이스 생성하기",camera_tooltip:"카메라를 이용해서 인보이스/QR을 스캔하세요",export_csv:"CSV 형태로 내보내기",chart_tooltip:"그래프로 보여주기",pending:"대기 중",copy_invoice:"인보이스 복사하기",withdraw_from:"출금",cancel:"취소",scan:"스캔",read:"분석하기",pay:"지불하기",memo:"Memo",date:"일시",processing_payment:"결제 처리 중...",not_enough_funds:"자금이 부족합니다!",search_by_tag_memo_amount:"태그, memo, 수량으로 검색하기",invoice_waiting:"결제를 기다리는 인보이스",payment_received:"받은 결제액",payment_sent:"보낸 결제액",receive:"받기",send:"보내기",outgoing_payment_pending:"지불 대기 중",drain_funds:"자금 비우기",drain_funds_desc:"이는 선택된 지갑으로부터 모든 자금을 인출하는 LNURL-withdraw QR 코드입니다. 그 누구와도 공유하지 마세요. balanceCheck 및 balanceNotify 기능과 호환되며, 당신의 지갑은 첫 출금 이후로도 계속 자금을 끌어당기고 있을 수 있습니다.",i_understand:"이해하였습니다",copy_wallet_url:"지갑 URL 복사하기",disclaimer_dialog_title:"중요!",disclaimer_dialog:"로그인 기능은 향후 업데이트를 통해 지원될 계획이지만, 현재로써는 이 페이지에 향후 다시 접속하기 위해 북마크 설정하는 것을 잊지 마세요! 이 서비스는 아직 BETA 과정에 있고, LNbits 개발자들은 자금 손실에 대해 전혀 책임을 지지 않습니다.",no_transactions:"아직 아무런 거래도 이루어지지 않았습니다",manage:"관리",extensions:"확장 기능",no_extensions:"아직 설치된 확장 기능들이 없네요 :(",created:"생성됨",search_extensions:"확장 기능 검색하기",warning:"주의",repository:"저장소",confirm_continue:"정말로 계속할까요?",manage_extension_details:"확장 기능 설치/삭제하기",install:"설치",uninstall:"삭제",drop_db:"데이터 삭제",enable:"활성화",enable_extension_details:"현재 사용자 계정에 해당 확장 기능을 활성화합니다",disable:"비활성화",installed:"설치됨",activated:"작동됨",deactivated:"작동 중지",release_notes:"배포 노트",activate_extension_details:"사용자들의 확장 기능 사용 가능 여부를 결정합니다",featured:"추천",all:"전체",only_admins_can_install:"(관리자 계정만이 확장 기능을 설치할 수 있습니다)",admin_only:"관리자 전용",new_version:"새로운 버전",extension_depends_on:"의존성 존재:",extension_rating_soon:"평점 기능도 곧 구현됩니다",extension_installed_version:"설치된 버전",extension_uninstall_warning:"모든 사용자들로부터 이 확장 기능을 제거한다는 점에 유의하세요.",uninstall_confirm:"네, 삭제합니다",extension_db_drop_info:"해당 확장 기능의 모든 데이터가 영구적으로 삭제됩니다. 작업 수행 후에는 되돌릴 수 없습니다!",extension_db_drop_warning:"해당 확장 기능의 모든 데이터가 영구적으로 삭제될 겁니다. 계속하려면 확장 기능의 이름을 입력해주세요:",extension_min_lnbits_version:"이 배포 버전은 더 높은 버전의 lnbits가 설치되어 있어야 합니다.",payment_hash:"결제 해쉬값",fee:"수수료",amount:"액수",tag:"태그",unit:"단위",description:"상세",expiry:"만료",webhook:"Webhook",payment_proof:"Payment 증거",update_available:"{version}으로 업데이트가 가능합니다.",latest_update:"이미 {version} 버전으로 업데이트되었습니다.",notifications:"알림",no_notifications:"알림 없음",notifications_disabled:"LNbits 상태 알림이 비활성화되었습니다.",enable_notifications:"알림 활성화",enable_notifications_desc:"활성화 시, 가장 최신의 보안 사고나 소프트웨어 업데이트 등의 LNbits 상황 업데이트를 불러옵니다.",enable_killswitch:"비상 정지 활성화",enable_killswitch_desc:"활성화 시, LNbits 메인 서버에서 비상 정지 신호를 보내면 자동으로 자금의 원천을 VoidWallet으로 변경합니다. 업데이트 이후 수동으로 활성화해 주어야 합니다.",killswitch_interval:"비상 정지 시간 간격",killswitch_interval_desc:"LNbits 메인 서버에서 나오는 비상 정지 신호를 백그라운드 작업으로 얼마나 자주 확인할 것인지를 결정합니다. (분 단위)",enable_watchdog:"와치독 활성화",enable_watchdog_desc:"활성화 시, LNbits 잔금보다 당신의 잔금이 지정한 수준보다 더 낮아질 경우 자동으로 자금의 원천을 VoidWallet으로 변경합니다. 업데이트 이후 수동으로 활성화해 주어야 합니다.",watchdog_interval:"와치독 시간 간격",watchdog_interval_desc:"와치독 델타 값을 기반으로 하여 당신의 LNbits 서버에서 나오는 비상 정지 신호를 백그라운드 작업으로 얼마나 자주 확인할 것인지를 결정합니다. (분 단위)",watchdog_delta:"와치독 델타",watchdog_delta_desc:"당신의 자금 원천을 VoidWallet으로 변경하기까지의 기준 값 [LNbits 잔액 - 노드 잔액 > 델타 값]",status:"상황",notification_source:"알림 메세지 출처",notification_source_label:"알림 메세지를 가져올 URL (공식 LNbits 상황판 출처나, 당신이 신뢰할 수 있는 출처만을 사용하세요)",more:"더 알아보기",less:"적게",releases:"배포 버전들",killswitch:"비상 정지",watchdog:"와치독",server_logs:"서버 로그",ip_blocker:"IP 기반 차단기",security:"보안",security_tools:"보안 도구들",block_access_hint:"IP 기준으로 접속 차단하기",allow_access_hint:"IP 기준으로 접속 허용하기 (차단한 IP들을 무시합니다)",enter_ip:"IP 주소를 입력하고 Enter를 눌러주세요",rate_limiter:"횟수로 제한하기",wallet_limiter:"지갑 제한기",wallet_limit_max_withdraw_per_day:"일일 최대 지갑 출금액(sats) (0은 비활성화)",wallet_max_ballance:"지갑 최대 잔액(sats) (0은 비활성화)",wallet_limit_secs_between_trans:"지갑 당 거래 사이 최소 초 (0은 비활성화)",number_of_requests:"요청 횟수",time_unit:"시간 단위",minute:"분",second:"초",hour:"시간",disable_server_log:"서버 로깅 중단하기",enable_server_log:"서버 로깅 활성화하기",coming_soon:"곧 구현될 기능들입니다",session_has_expired:"세션 유효 기간이 만료되었습니다. 다시 로그인해 주세요.",instant_access_question:"즉시 액세스하시겠습니까?",login_with_user_id:"사용자 ID로 로그인",or:"또는",create_new_wallet:"새 지갑 만들기",login_to_account:"계정에 로그인하세요.",create_account:"계정 생성",account_settings:"계정 설정",signin_with_google:"Google으로 로그인",signin_with_github:"GitHub으로 로그인",signin_with_keycloak:"Keycloak으로 로그인",username_or_email:"사용자 이름 또는 이메일",password:"비밀번호",password_config:"비밀번호 설정",password_repeat:"비밀번호 재입력",change_password:"비밀번호 변경",set_password:"비밀번호 설정",invalid_password:"비밀번호는 최소 8자 이상이어야 합니다",login:"로그인",register:"등록",username:"사용자 이름",user_id:"사용자 ID",email:"이메일",first_name:"성명",last_name:"성",picture:"사진",verify_email:"이메일을 인증하려면",account:"계정",update_account:"계정 업데이트",invalid_username:"잘못된 사용자 이름",auth_provider:"인증 제공자",my_account:"내 계정",back:"뒤로",logout:"로그아웃",look_and_feel:"외관과 느낌",language:"언어",color_scheme:"색상 구성",extension_cost:"이 버전은 최소 {cost} sats의 지불이 필요합니다.",extension_paid_sats:"당신은 이미 {paid_sats} sats를 지불했습니다.",release_details_error:"릴리스 세부 정보를 가져올 수 없습니다.",pay_from_wallet:"지갑에서 결제하다",show_qr:"QR 보기",retry_install:"다시 설치하세요",new_payment:"새로운 결제하기",hide_empty_wallets:"빈 지갑 숨기기"},window.localisation.fi={confirm:"Kyllä",server:"Palvelin",theme:"Teema",funding:"Rahoitus",users:"Käyttäjät",apps:"Sovellukset",channels:"Kanavat",transactions:"Tapahtumat",dashboard:"Ohjauspaneeli",node:"Solmu",export_users:"Vie käyttäjät",no_users:"Käyttäjiä ei löytynyt",total_capacity:"Kokonaiskapasiteetti",avg_channel_size:"Keskimääräisen kanavan kapasiteetti",biggest_channel_size:"Suurimman kanavan kapasiteetti",smallest_channel_size:"Pienimmän kanavan kapasiteetti",number_of_channels:"Kanavien lukumäärä",active_channels:"Aktiivisia kanavia",connect_peer:"Yhdistä naapuriin",connect:"Yhdistä",open_channel:"Avaa kanava",open:"Avaa",close_channel:"Sulje kanava",close:"Sulje",restart:"Palvelimen uudelleen käynnistys",save:"Tallenna",save_tooltip:"Tallenna muutokset",topup:"Topup",topup_wallet:"Lisää varoja lompakkoon",topup_hint:"Lisää varoja lompakkoon sen ID:n perusteella",restart_tooltip:"Uudelleenkäynnistä palvelu muutosten käyttöönottamiseksi",add_funds_tooltip:"Lisää varoja lompakkoon",reset_defaults:"Peruuta muutokset",reset_defaults_tooltip:"Poista kaikki asetusten muutokset ja palauta järjestelmän oletusasetukset.",download_backup:"Lataa tietokannan varmuuskopio",name_your_wallet:"Anna {name}-lompakollesi nimi",wallet_topup_ok:"Virtuaalisten varojen luominen onnistui ({amount} sats). Maksut riippuvat rahoituslähteen todellisista varoista.",paste_invoice_label:"Liitä lasku, maksupyyntö, lnurl-koodi tai Lightning Address *",lnbits_description:"Kevyt ja helppokäyttöinen LNbits voi käyttää rahoituslähteinään erilaisia palveluita, ja jopa LNbits itseään! Voit käyttää sitä itsenäisesti ja helposti tarjota erilaisia Lightning-palveluita. Pystyt luomaan sillä salamaverkkolompakoita eikä niiden määrää ole rajoitettu. Jokaiselle lompakolle saat yksilölliset API-avaimet. Varojen osittaminen tekee siitä erittäin kätevän varojen hallinnassa sekä myös ohjelmistokehityksen työkalun. Laajennukset lisäävät LNbits:in toiminnallisuuksia. Näinpä voit helposti testailla useita erilaisia ja viimeisimpiä salamaverkon teknologioita. Laajennuksien kehittämisen olemme pyrkineet tekemään mahdollisimman helpoksi pitämällä LNbits:in ilmaisena OpenSource-projektina. Kannustamme kaikkia kehittämään ja jakelemaan omia laajennuksia!",export_to_phone:"Käytä puhelimessa lukemalla QR-koodi",export_to_phone_desc:"Tämä QR-koodi sisältää URL-osoitteen, jolla saa lompakkoosi täydet valtuudet. Voi lukea sen puhelimellasi ja avata sillä lompakkosi. Voit myös lisätä lompakkosi selaimella käytettäväksi PWA-sovellukseksi puhelimen aloitusruudulle. ",wallets:"Lompakot",add_wallet:"Lisää lompakko",delete_wallet:"Poista lompakko",delete_wallet_desc:"Lompakko poistetaan pysyvästi. Siirrä lompakosta varat ennalta muualle, sillä tämä toiminto on PERUUTTAMATON!",rename_wallet:"Nimeä lompakko uudelleen",update_name:"Tallenna",fiat_tracking:"Käytettävä valuutta",currency:"Valuutta",update_currency:"Tallenna",press_to_claim:"Lunasta varat painamalla tästä",donate:"Lahjoita",view_github:"Näytä GitHub:ssa",voidwallet_active:"Maksutapahtumat ovat poissa käytöstä, koska VoidWallet on aktiivinen!",use_with_caution:"KÄYTÄ VAROEN - BETA-ohjelmisto on käytössä palvelussa: {name}",service_fee:"Palvelumaksu: {amount} % tapahtumasta",service_fee_max:"Palvelumaksu: {amount} % tapahtumasta (enintään {max} sat)",service_fee_tooltip:"LNbits palvelimen ylläpitäjä veloittaa lähtevästä maksusta palvelumaksun.",toggle_darkmode:"Tumma näkymä",payment_reactions:"Maksureaktiot",view_swagger_docs:"Näytä LNbits Swagger API-dokumentit",api_docs:"API-dokumentaatio",api_keys_api_docs:"Solmun URL, API-avaimet ja -dokumentaatio",lnbits_version:"LNbits versio",runs_on:"Mukana menossa",credit_hint:"Hyväksy painamalla Enter",credit_label:"Lisää tilille varoja {denomination}",paste:"Liitä",paste_from_clipboard:"Liitä leikepöydältä",paste_request:"Liitä pyyntö",create_invoice:"Laskuta",camera_tooltip:"Kuvaa lasku tai QR-koodi",export_csv:"Vie CSV-tiedostoon",chart_tooltip:"Näytä kaaviokuva",pending:"Odottaa",copy_invoice:"Kopioi lasku",withdraw_from:"Nosta kohteesta",cancel:"Peruuta",scan:"Scannaa",read:"Lue",pay:"Maksa",memo:"Kuvaus",date:"Päiväys",processing_payment:"Maksua käsitellään...",not_enough_funds:"Varat eivät riitä!",search_by_tag_memo_amount:"Etsi tunnisteella, muistiolla tai määrällä",invoice_waiting:"Lasku osottaa maksamista",payment_received:"Maksu vastaanotettu",payment_sent:"Maksu lähetetty",receive:"vastaanota",send:"lähetä",outgoing_payment_pending:"Lähtevä maksu odottaa",drain_funds:"Tyhjennä varat",drain_funds_desc:"Tämä LNURL-withdraw -tyyppinen QR-koodi on tarkoitettu kaikkien varojen imurointiin lompakosta. ÄLÄ JAA SITÄ KENELLEKÄÄN! Se on balanceCheck- ja balanceNotify-toimintojen kanssa yhteensopiva, joten sitä voi käyttää lompakon tyhjentämiseen ensimmäisen käytön jälleen jatkuvasti.",i_understand:"Vakuutan ymmärtäväni",copy_wallet_url:"Kopioi lompakon URL",disclaimer_dialog_title:"Tärkeää!",disclaimer_dialog:"Muistathan tallettaa kirjautumistietosi turvallisesta ja helposti saataville, jotta pääset jatkossakin kirjautumaan lompakkoosi! Tutustu myös Tilin asetukset -sivuun. Tämä palvelu on kokeiluvaiheessa (eli BETA), ja niinpä kukaan ei ota mitään vastuuta varojen säilymisestä tai niiden käytettävyyden takaamisesta.",no_transactions:"Lompakossa ei ole yhtään tapahtumaa",manage:"Hallinnointi",extensions:"Laajennukset",no_extensions:"Laajennuksia ei ole asennettu :(",created:"Luotu",search_extensions:"Etsi laajennuksia",warning:"Varoitus",repository:"Laajennuksien lähde",confirm_continue:"Haluatko varmasti jatkaa?",manage_extension_details:"Asenna/Poista laajennus",install:"Asenna",uninstall:"Poista",drop_db:"Poista tiedot",enable:"Ota käyttöön",enable_extension_details:"Ota laajennus käyttöön tälle käyttäjälle",disable:"Poista käytöstä",installed:"Asennettu",activated:"Käytössä",deactivated:"Poissa käytöstä",release_notes:"Julkaisutiedot",activate_extension_details:"Aseta/Poista laajennus käyttäjien saatavilta",featured:"Esittelyssä",all:"Kaikki",only_admins_can_install:"(Vain pääkäyttäjät voivat asentaa laajennuksia)",admin_only:"Pääkäyttäjille",new_version:"Uusi versio",extension_depends_on:"Edellyttää:",extension_rating_soon:"Arvostelut on tulossa pian",extension_installed_version:"Nykyinen versio",extension_uninstall_warning:"Olet poistamassa laajennuksen kaikilta käyttäjiltä.",uninstall_confirm:"Kyllä, poista asennus",extension_db_drop_info:"Kaikki laajennuksen tallettama tieto poistetaan pysyvästi. Poistoa ei voi jälkikäteen peruuttaa!",extension_db_drop_warning:"Olet tuhoamassa laajennuksen tallettamat tiedot. Vahvista poisto kirjoittamalla viivalle seuraavassa näkyvä laajennuksen nimi:",extension_min_lnbits_version:"Tämä julkaisu vaatii vähintään LNbits-version",payment_hash:"Maksun tiiviste",fee:"Kulu",amount:"Määrä",tag:"Tunniste",unit:"Yksikkö",description:"Kuvaus",expiry:"Vanheneminen",webhook:"Webhook",payment_proof:"Maksun varmenne",update_available:"Saatavilla on päivitys versioon {version}!",latest_update:"Käytössä oleva versio {version}, on viimeisin saatavilla oleva.",notifications:"Tiedotteet",no_notifications:"Ei tiedotteita",notifications_disabled:"LNbits-tilatiedotteet on poistettu käytöstä.",enable_notifications:"Ota tiedotteet käyttöön",enable_notifications_desc:"Tämän ollessa valittuna, noudetaan LNbits-tilatiedotteet. Niitä ovat esimerkiksi turvallisuuteen liittyvät tapahtumatiedotteet ja tiedot tämän ohjelmiston päivityksistä.",enable_killswitch:"Ota Killswitch käyttöön",enable_killswitch_desc:"Jos LNbits antaa killswitch-komennon, niin rahoituslähteeksi valitaan automaattisesti heti VoidWallet. Päivityksen jälkeen tämä asetus pitää tarkastaa uudelleen.",killswitch_interval:"Killswitch-aikaväli",killswitch_interval_desc:"Tällä määritetään kuinka usein taustatoiminto tarkistaa killswitch-signaalin tilatiedotteiden lähteestä. Hakujen väli ilmoitetaan minuutteina.",enable_watchdog:"Ota Watchdog käyttöön",enable_watchdog_desc:"Tämän ollessa käytössä, ja solmun varojen laskiessa alle LNbits-varojen määrän, otetaan automaattisesti käyttöön VoidWallet. Päivityksen jälkeen tämä asetus pitää tarkastaa uudelleen.",watchdog_interval:"Watchdog-aikaväli",watchdog_interval_desc:"Tällä määritetään kuinka usein taustatoiminto tarkistaa varojen Delta-muutokset [node_balance - lnbits_balance] killswitch-signaalille. Hakujen väli ilmoitetaan minuutteina.",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Saldomuutoksen raja-arvo jolloin killswitch-muuttaa rahoituslähteeksi VoidWallet:in [lnbits_balance - node_balance > delta]",status:"Tilanne",notification_source:"Tiedotteiden lähde",notification_source_label:"Lähde-URL (käytä ainoastaan LNbits:iä tai muuta luotettavaa lähdettä)",more:"enemmän",less:"vähemmän",releases:"Julkaisut",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Palvelimen lokit",ip_blocker:"IP-suodatin",security:"Turvallisuus",security_tools:"Turvallisuus työkalut",block_access_hint:"Estä pääsy IP-osoitteen perusteella",allow_access_hint:"Salli pääsy IP-osoitteen perusteella (ohittaa estot)",enter_ip:"Anna IP ja paina +",rate_limiter:"Toiston rajoitin",wallet_limiter:"Lompakon Rajoitin",wallet_limit_max_withdraw_per_day:"Maksimi päivittäinen lompakon nosto sateissa (0 poistaa käytöstä)",wallet_max_ballance:"Lompakon maksimisaldo satosheina (0 poistaa käytöstä)",wallet_limit_secs_between_trans:"Min sekuntia transaktioiden välillä lompakkoa kohden (0 poistaa käytöstä)",number_of_requests:"Pyyntöjen lukumäärä",time_unit:"aikayksikkö",minute:"minuutti",second:"sekunti",hour:"tunti",disable_server_log:"Poista palvelimen loki käytöstä",enable_server_log:"Ota palvelimen loki käyttöön",coming_soon:"Ominaisuus on tulossa pian",session_has_expired:"Käyttämätön sessio on vanhentunut. Kirjaudu uudelleen.",instant_access_question:"Kirjaudu aikaisemmin luodulla tiedolla",login_with_user_id:"Kirjaudu käyttäjä-ID:llä",or:"tai",create_new_wallet:"Avaa uusi lompakko",login_to_account:"Kirjaudu käyttäjänimellä",create_account:"Luo tili",account_settings:"Tilin asetukset",signin_with_google:"Kirjaudu Google-tunnuksella",signin_with_github:"Kirjaudu GitHub-tunnuksella",signin_with_keycloak:"Kirjaudu Keycloak-tunnuksella",username_or_email:"Käyttäjänimi tai sähköposti",password:"Anna uusi salasana",password_config:"Salasanan määritys",password_repeat:"Toista uusi salasana",change_password:"Vaihda salasana",set_password:"Aseta salasana",invalid_password:"Salasanassa tulee olla vähintään kahdeksan merkkiä",login:"Kirjaudu",register:"Rekisteröidy",username:"Käyttäjänimi",user_id:"Käyttäjä ID",email:"Sähköposti",first_name:"Etunimi",last_name:"Sukunimi",picture:"Kuva",verify_email:"Vahvista sähköposti",account:"Tili",update_account:"Päivitä tiliä",invalid_username:"Virheellinen käyttäjänimi",auth_provider:"Tunnistamisen toimittaja",my_account:"Tilini",back:"Takaisin",logout:"Poistu",look_and_feel:"Kieli ja värit",language:"Kieli",color_scheme:"Väriteema",extension_cost:"Tämä julkaisu edellyttää vähintään {cost} satsin maksua.",extension_paid_sats:"Olet jo maksanut {paid_sats} satsia.",release_details_error:"Ei voi hakea julkaisun tietoja.",pay_from_wallet:"Maksa lompakosta",show_qr:"Näytä QR",retry_install:"Yritä asennusta uudelleen",new_payment:"Tee uusi maksu",hide_empty_wallets:"Piilota tyhjät lompakot"},window.LOCALE="en",window.i18n=new VueI18n.createI18n({locale:window.LOCALE,fallbackLocale:window.LOCALE,messages:window.localisation}),window.LNbits={api:{request:function(e,t,n,a){return axios({method:e,url:t,headers:{"X-Api-Key":n},data:a})},createInvoice:async function(e,t,n,a="sat",i=null){return this.request("post","/api/v1/payments",e.inkey,{out:!1,amount:t,memo:n,lnurl_callback:i,unit:a})},payInvoice:function(e,t){return this.request("post","/api/v1/payments",e.adminkey,{out:!0,bolt11:t})},payLnurl:function(e,t,n,a,i="",r="",o=""){return this.request("post","/api/v1/payments/lnurl",e.adminkey,{callback:t,description_hash:n,amount:a,comment:r,description:i,unit:o})},authLnurl:function(e,t){return this.request("post","/api/v1/lnurlauth",e.adminkey,{callback:t})},createAccount:function(e){return this.request("post","/api/v1/account",null,{name:e})},register:function(e,t,n,a){return axios({method:"POST",url:"/api/v1/auth/register",data:{username:e,email:t,password:n,password_repeat:a}})},login:function(e,t){return axios({method:"POST",url:"/api/v1/auth",data:{username:e,password:t}})},loginUsr:function(e){return axios({method:"POST",url:"/api/v1/auth/usr",data:{usr:e}})},logout:function(){return axios({method:"POST",url:"/api/v1/auth/logout"})},getAuthenticatedUser:function(){return this.request("get","/api/v1/auth")},getWallet:function(e){return this.request("get","/api/v1/wallet",e.inkey)},createWallet:function(e,t){return this.request("post","/api/v1/wallet",e.adminkey,{name:t}).then((e=>{window.location="/wallet?wal="+e.data.id}))},updateWallet:function(e,t){return this.request("patch","/api/v1/wallet",t.adminkey,{name:e})},deleteWallet:function(e){return this.request("delete","/api/v1/wallet",e.adminkey).then((e=>{let t=new URL(window.location.href);t.searchParams.delete("wal"),window.location=t}))},getPayments:function(e,t){return this.request("get","/api/v1/payments/paginated?"+t,e.inkey)},getPayment:function(e,t){return this.request("get","/api/v1/payments/"+t,e.inkey)},updateBalance:function(e,t){return LNbits.api.request("PUT","/users/api/v1/topup",null,{amount:e,id:t})}},events:{onInvoicePaid:function(e,t){let n=e=>{t(JSON.parse(e.data))};return this.listenersCount=this.listenersCount||{[e.inkey]:0},this.listenersCount[e.inkey]++,this.listeners=this.listeners||{},e.inkey in this.listeners||(this.listeners[e.inkey]=new EventSource("/api/v1/payments/sse?api-key="+e.inkey)),this.listeners[e.inkey].addEventListener("payment-received",n),()=>{this.listeners[e.inkey].removeEventListener("payment-received",n),this.listenersCount[e.inkey]--,this.listenersCount[e.inkey]<=0&&(this.listeners[e.inkey].close(),delete this.listeners[e.inkey])}}},map:{extension:function(e){var t=_.object(["code","isValid","isAdminOnly","name","shortDescription","tile","contributors","hidden"],e);return t.url=["/",t.code,"/"].join(""),t},user:function(e){var t={id:e.id,admin:e.admin,email:e.email,extensions:e.extensions,wallets:e.wallets,admin:e.admin},n=this.wallet;return t.wallets=t.wallets.map((function(e){return n(e)})).sort((function(e,t){return e.name.localeCompare(t.name)})),t.walletOptions=t.wallets.map((function(e){return{label:[e.name," - ",e.id].join(""),value:e.id}})),t},wallet:function(e){return newWallet={id:e.id,name:e.name,adminkey:e.adminkey,inkey:e.inkey,currency:e.currency},newWallet.msat=e.balance_msat,newWallet.sat=Math.floor(e.balance_msat/1e3),newWallet.fsat=new Intl.NumberFormat(window.LOCALE).format(newWallet.sat),newWallet.url=`/wallet?&wal=${e.id}`,newWallet},payment:function(e){obj={checking_id:e.checking_id,status:e.status,amount:e.amount,fee:e.fee,memo:e.memo,time:e.time,bolt11:e.bolt11,preimage:e.preimage,payment_hash:e.payment_hash,expiry:e.expiry,extra:e.extra,wallet_id:e.wallet_id,webhook:e.webhook,webhook_status:e.webhook_status,fiat_amount:e.fiat_amount,fiat_currency:e.fiat_currency},obj.date=Quasar.date.formatDate(new Date(1e3*obj.time),"YYYY-MM-DD HH:mm"),obj.dateFrom=moment(obj.date).fromNow(),obj.expirydate=Quasar.date.formatDate(new Date(1e3*obj.expiry),"YYYY-MM-DD HH:mm"),obj.expirydateFrom=moment(obj.expirydate).fromNow(),obj.msat=obj.amount,obj.sat=obj.msat/1e3,obj.tag=obj.extra?.tag,obj.fsat=new Intl.NumberFormat(window.LOCALE).format(obj.sat),obj.isIn=obj.amount>0,obj.isOut=obj.amount<0,obj.isPending="pending"===obj.status,obj.isPaid="success"===obj.status,obj.isFailed="failed"===obj.status,obj._q=[obj.memo,obj.sat].join(" ").toLowerCase();try{obj.details=JSON.parse(e.extra?.details||"{}")}catch{obj.details={extraDetails:e.extra?.details}}return obj}},utils:{confirmDialog:function(e){return Quasar.Dialog.create({message:e,ok:{flat:!0,color:"orange"},cancel:{flat:!0,color:"grey"}})},digestMessage:async function(e){const t=(new TextEncoder).encode(e),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map((e=>e.toString(16).padStart(2,"0"))).join("")},formatCurrency:function(e,t){return new Intl.NumberFormat(window.LOCALE,{style:"currency",currency:t}).format(e)},formatSat:function(e){return new Intl.NumberFormat(window.LOCALE).format(e)},formatMsat:function(e){return this.formatSat(e/1e3)},notifyApiError:function(e){console.error(e);Quasar.Notify.create({timeout:5e3,type:{400:"warning",401:"warning",500:"negative"}[e.response.status]||"warning",message:e.response.data.message||e.response.data.detail||null,caption:[e.response.status," ",e.response.statusText].join("").toUpperCase()||null,icon:null})},search:function(e,t,n,a){try{var i=t.toLowerCase().split(a||" ");return e.filter((function(e){var t=0;return _.each(i,(function(a){-1!==e[n].indexOf(a)&&t++})),t===i.length}))}catch(t){return e}},prepareFilterQuery(e,t){t&&(e.pagination=t.pagination);let n=e.pagination;e.loading=!0;const a={limit:n.rowsPerPage,offset:(n.page-1)*n.rowsPerPage,sortby:n.sortBy??"",direction:n.descending?"desc":"asc",...e.filter};return e.search&&(a.search=e.search),new URLSearchParams(a)},exportCSV:function(e,t,n){var a=function(e,t){var n=void 0!==t?t(e):e;return`"${n=(n=null==n?"":String(n)).split('"').join('""')}"`},i=[e.map((function(e){return a(e.label)}))].concat(t.map((function(t){return e.map((function(e){return a("function"==typeof e.field?e.field(t):t[void 0===e.field?e.name:e.field],e.format)})).join(",")}))).join("\r\n");!0!==Quasar.exportFile(`${n||"table-export"}.csv`,i,"text/csv")&&Quasar.Notify.create({message:"Browser denied file download...",color:"negative",icon:null})},convertMarkdown(e){const t=new showdown.Converter;return t.setFlavor("github"),t.setOption("simpleLineBreaks",!0),t.makeHtml(e)},hexToRgb:function(e){return Quasar.colors.hexToRgb(e)},hexDarken:function(e,t){return Quasar.colors.lighten(e,t)},hexAlpha:function(e,t){return Quasar.colors.changeAlpha(e,t)},getPaletteColor:function(e){return Quasar.colors.getPaletteColor(e)}}},window.windowMixin={i18n:window.i18n,data:function(){return{toggleSubs:!0,reactionChoice:"confettiBothSides",gradientChoice:this.$q.localStorage.getItem("lnbits.gradientBg")||!1,isUserAuthorized:!1,g:{offline:!navigator.onLine,visibleDrawer:!1,extensions:[],user:null,wallet:null,payments:[],allowedThemes:null,langs:[]}}},methods:{changeColor:function(e){document.body.setAttribute("data-theme",e),this.$q.localStorage.set("lnbits.theme",e)},applyGradient:function(){if(this.$q.localStorage.getItem("lnbits.gradientBg")){this.setColors(),darkBgColor=this.$q.localStorage.getItem("lnbits.darkBgColor"),primaryColor=this.$q.localStorage.getItem("lnbits.primaryColor");const e=`linear-gradient(to bottom right, ${LNbits.utils.hexDarken(String(primaryColor),-70)}, #0a0a0a)`;document.body.style.setProperty("background-image",e,"important");const t=`background-color: ${LNbits.utils.hexAlpha(String(darkBgColor),.4)} !important`,n=document.createElement("style");n.innerHTML=`body[data-theme="${this.$q.localStorage.getItem("lnbits.theme")}"] .q-card:not(.q-dialog .q-card, .lnbits__dialog-card, .q-dialog-plugin--dark), body.body${this.$q.dark.isActive?"--dark":""} .q-header, body.body${this.$q.dark.isActive?"--dark":""} .q-drawer { ${t} }body[data-theme="${this.$q.localStorage.getItem("lnbits.theme")}"].body--dark{background: ${LNbits.utils.hexDarken(String(primaryColor),-88)} !important; }[data-theme="${this.$q.localStorage.getItem("lnbits.theme")}"] .q-card--dark{background: ${String(darkBgColor)} !important;} }`,document.head.appendChild(n)}},setColors:function(){this.$q.localStorage.set("lnbits.primaryColor",LNbits.utils.getPaletteColor("primary")),this.$q.localStorage.set("lnbits.secondaryColor",LNbits.utils.getPaletteColor("secondary")),this.$q.localStorage.set("lnbits.darkBgColor",LNbits.utils.getPaletteColor("dark"))},copyText:function(e,t,n){Quasar.copyToClipboard(e).then((function(){Quasar.Notify.create({message:t||"Copied to clipboard!",position:n||"bottom"})}))},checkUsrInUrl:async function(){try{const e=new URLSearchParams(window.location.search),t=e.get("usr");if(!t)return;this.isUserAuthorized||await LNbits.api.loginUsr(t),e.delete("usr");const n=e.size?`?${e.toString()}`:"";window.history.replaceState({},document.title,window.location.pathname+n)}finally{this.isUserAuthorized=!!this.$q.cookies.get("is_lnbits_user_authorized")}},logout:async function(){LNbits.utils.confirmDialog('Do you really want to logout? Please visit "My Account" page to check your credentials!').onOk((async()=>{try{await LNbits.api.logout(),window.location="/"}catch(e){LNbits.utils.notifyApiError(e)}}))},themeParams(){const e=new URL(window.location.href),t=new URLSearchParams(window.location.search),n=["theme","dark","gradient"],a=e=>"true"===e.trim().toLowerCase()||"1"===e;if(n.some((e=>t.has(e)))){const i=t.get("theme"),r=t.get("dark"),o=t.get("gradient");if(i&&this.g.allowedThemes.includes(i.trim().toLowerCase())){const e=i.trim().toLowerCase();document.body.setAttribute("data-theme",e),this.$q.localStorage.set("lnbits.theme",e)}if(r){const e=a(r);this.$q.localStorage.set("lnbits.darkMode",e),e||this.$q.localStorage.set("lnbits.gradientBg",!1)}if(o){const e=a(o);this.$q.localStorage.set("lnbits.gradientBg",e),e&&this.$q.localStorage.set("lnbits.darkMode",!0)}n.forEach((e=>t.delete(e))),window.history.replaceState(null,null,e.pathname)}this.setColors()}},created:async function(){1==this.$q.localStorage.getItem("lnbits.darkMode")||0==this.$q.localStorage.getItem("lnbits.darkMode")?this.$q.dark.set(this.$q.localStorage.getItem("lnbits.darkMode")):this.$q.dark.set(!0),this.reactionChoice=this.$q.localStorage.getItem("lnbits.reactions")||"confettiBothSides",this.g.allowedThemes=window.allowedThemes??["bitcoin"];let e=this.$q.localStorage.getItem("lnbits.lang");if(e&&(window.LOCALE=e,window.i18n.global.locale=e),this.g.langs=window.langs??[],addEventListener("offline",(e=>{this.g.offline=!0})),addEventListener("online",(e=>{this.g.offline=!1})),this.$q.localStorage.getItem("lnbits.theme")||this.changeColor(this.g.allowedThemes[0]),this.$q.localStorage.getItem("lnbits.theme")&&!this.g.allowedThemes.includes(this.$q.localStorage.getItem("lnbits.theme"))&&this.changeColor(this.g.allowedThemes[0]),this.$q.localStorage.getItem("lnbits.theme")&&document.body.setAttribute("data-theme",this.$q.localStorage.getItem("lnbits.theme")),this.applyGradient(),window.user&&(this.g.user=Object.freeze(window.LNbits.map.user(window.user))),window.wallet&&(this.g.wallet=Object.freeze(window.LNbits.map.wallet(window.wallet))),window.extensions){var t=this.g.user;const e=Object.freeze(window.extensions.map((function(e){return window.LNbits.map.extension(e)})).filter((function(e){return!e.hidden})).filter((function(e){return window.user?.admin?e:!e.isAdminOnly})).map((function(e){return e.isEnabled=!!t&&-1!==t.extensions.indexOf(e.code),e})).sort((function(e,t){const n=e.name.toUpperCase(),a=t.name.toUpperCase();return na?1:0})));this.g.extensions=e}await this.checkUsrInUrl(),this.themeParams()}},window.decryptLnurlPayAES=function(e,t){let n=new Uint8Array(t.match(/[\da-f]{2}/gi).map((e=>parseInt(e,16))));return crypto.subtle.importKey("raw",n,{name:"AES-CBC",length:256},!1,["decrypt"]).then((t=>{let n=Uint8Array.from(window.atob(e.iv),(e=>e.charCodeAt(0))),a=Uint8Array.from(window.atob(e.ciphertext),(e=>e.charCodeAt(0)));return crypto.subtle.decrypt({name:"AES-CBC",iv:n},t,a)})).then((e=>new TextDecoder("utf-8").decode(e)))},function(e,t){!function e(t,n,a,i){var r=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL);function o(){}function s(e){var a=n.exports.Promise,i=void 0!==a?a:t.Promise;return"function"==typeof i?new i(e):(e(o,o),null)}var l,u,c,d,h,p,f,m,v=(c=Math.floor(1e3/60),d={},h=0,"function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame?(l=function(e){var t=Math.random();return d[t]=requestAnimationFrame((function n(a){h===a||h+c-1{a=(a<<5)+e,n+=5,n>=8&&(i.push(a>>n-8&255),n-=8)})),t&&n>0&&i.push(a<<8-n&255),i}function bech32ToUTF8String(e){let t=fiveBitArrayTo8BitArray(bech32ToFiveBitArray(e)),n="";for(let e=0;e20&&(t-=20,e/=Math.pow(10,t),e+=new Array(t+1).join("0"));return e} + */function be(e){return e+.5|0}const _e=(e,t,n)=>Math.max(Math.min(e,n),t);function ye(e){return _e(be(2.55*e),0,255)}function we(e){return _e(be(255*e),0,255)}function ke(e){return _e(be(e/2.55)/100,0,1)}function xe(e){return _e(be(100*e),0,100)}const Se={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ce=[..."0123456789ABCDEF"],Ee=e=>Ce[15&e],Te=e=>Ce[(240&e)>>4]+Ce[15&e],Ae=e=>(240&e)>>4==(15&e);const Me=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Pe(e,t,n){const a=t*Math.min(n,1-n),i=(t,i=(t+e/30)%12)=>n-a*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function Le(e,t,n){const a=(a,i=(a+e/60)%6)=>n-n*t*Math.max(Math.min(i,4-i,1),0);return[a(5),a(3),a(1)]}function Oe(e,t,n){const a=Pe(e,1,.5);let i;for(t+n>1&&(i=1/(t+n),t*=i,n*=i),i=0;i<3;i++)a[i]*=1-t-n,a[i]+=t;return a}function Ne(e){const t=e.r/255,n=e.g/255,a=e.b/255,i=Math.max(t,n,a),r=Math.min(t,n,a),o=(i+r)/2;let s,l,u;return i!==r&&(u=i-r,l=o>.5?u/(2-i-r):u/(i+r),s=function(e,t,n,a,i){return e===i?(t-n)/a+(te<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055,Fe=e=>e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4);function Ve(e,t,n){if(e){let a=Ne(e);a[t]=Math.max(0,Math.min(a[t]+a[t]*n,0===t?360:1)),a=Ie(a),e.r=a[0],e.g=a[1],e.b=a[2]}}function Ue(e,t){return e?Object.assign(t||{},e):e}function He(e){var t={r:0,g:0,b:0,a:255};return Array.isArray(e)?e.length>=3&&(t={r:e[0],g:e[1],b:e[2],a:255},e.length>3&&(t.a=we(e[3]))):(t=Ue(e,{r:0,g:0,b:0,a:1})).a=we(t.a),t}function We(e){return"r"===e.charAt(0)?function(e){const t=$e.exec(e);let n,a,i,r=255;if(t){if(t[7]!==n){const e=+t[7];r=t[8]?ye(e):_e(255*e,0,255)}return n=+t[1],a=+t[3],i=+t[5],n=255&(t[2]?ye(n):_e(n,0,255)),a=255&(t[4]?ye(a):_e(a,0,255)),i=255&(t[6]?ye(i):_e(i,0,255)),{r:n,g:a,b:i,a:r}}}(e):function(e){const t=Me.exec(e);let n,a=255;if(!t)return;t[5]!==n&&(a=t[6]?ye(+t[5]):we(+t[5]));const i=ze(+t[2]),r=+t[3]/100,o=+t[4]/100;return n="hwb"===t[1]?function(e,t,n){return Re(Oe,e,t,n)}(i,r,o):"hsv"===t[1]?function(e,t,n){return Re(Le,e,t,n)}(i,r,o):Ie(i,r,o),{r:n[0],g:n[1],b:n[2],a:a}}(e)}class Ye{constructor(e){if(e instanceof Ye)return e;const t=typeof e;let n;var a,i,r;"object"===t?n=He(e):"string"===t&&(r=(a=e).length,"#"===a[0]&&(4===r||5===r?i={r:255&17*Se[a[1]],g:255&17*Se[a[2]],b:255&17*Se[a[3]],a:5===r?17*Se[a[4]]:255}:7!==r&&9!==r||(i={r:Se[a[1]]<<4|Se[a[2]],g:Se[a[3]]<<4|Se[a[4]],b:Se[a[5]]<<4|Se[a[6]],a:9===r?Se[a[7]]<<4|Se[a[8]]:255})),n=i||function(e){je||(je=function(){const e={},t=Object.keys(De),n=Object.keys(qe);let a,i,r,o,s;for(a=0;a>16&255,r>>8&255,255&r]}return e}(),je.transparent=[0,0,0,0]);const t=je[e.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:4===t.length?t[3]:255}}(e)||We(e)),this._rgb=n,this._valid=!!n}get valid(){return this._valid}get rgb(){var e=Ue(this._rgb);return e&&(e.a=ke(e.a)),e}set rgb(e){this._rgb=He(e)}rgbString(){return this._valid?(e=this._rgb)&&(e.a<255?`rgba(${e.r}, ${e.g}, ${e.b}, ${ke(e.a)})`:`rgb(${e.r}, ${e.g}, ${e.b})`):void 0;var e}hexString(){return this._valid?function(e){var t=(e=>Ae(e.r)&&Ae(e.g)&&Ae(e.b)&&Ae(e.a))(e)?Ee:Te;return e?"#"+t(e.r)+t(e.g)+t(e.b)+((e,t)=>e<255?t(e):"")(e.a,t):void 0}(this._rgb):void 0}hslString(){return this._valid?function(e){if(!e)return;const t=Ne(e),n=t[0],a=xe(t[1]),i=xe(t[2]);return e.a<255?`hsla(${n}, ${a}%, ${i}%, ${ke(e.a)})`:`hsl(${n}, ${a}%, ${i}%)`}(this._rgb):void 0}mix(e,t){if(e){const n=this.rgb,a=e.rgb;let i;const r=t===i?.5:t,o=2*r-1,s=n.a-a.a,l=((o*s==-1?o:(o+s)/(1+o*s))+1)/2;i=1-l,n.r=255&l*n.r+i*a.r+.5,n.g=255&l*n.g+i*a.g+.5,n.b=255&l*n.b+i*a.b+.5,n.a=r*n.a+(1-r)*a.a,this.rgb=n}return this}interpolate(e,t){return e&&(this._rgb=function(e,t,n){const a=Fe(ke(e.r)),i=Fe(ke(e.g)),r=Fe(ke(e.b));return{r:we(Be(a+n*(Fe(ke(t.r))-a))),g:we(Be(i+n*(Fe(ke(t.g))-i))),b:we(Be(r+n*(Fe(ke(t.b))-r))),a:e.a+n*(t.a-e.a)}}(this._rgb,e._rgb,t)),this}clone(){return new Ye(this.rgb)}alpha(e){return this._rgb.a=we(e),this}clearer(e){return this._rgb.a*=1-e,this}greyscale(){const e=this._rgb,t=be(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=t,this}opaquer(e){return this._rgb.a*=1+e,this}negate(){const e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Ve(this._rgb,2,e),this}darken(e){return Ve(this._rgb,2,-e),this}saturate(e){return Ve(this._rgb,1,e),this}desaturate(e){return Ve(this._rgb,1,-e),this}rotate(e){return function(e,t){var n=Ne(e);n[0]=ze(n[0]+t),n=Ie(n),e.r=n[0],e.g=n[1],e.b=n[2]}(this._rgb,e),this}}function Qe(e){if(e&&"object"==typeof e){const t=e.toString();return"[object CanvasPattern]"===t||"[object CanvasGradient]"===t}return!1}function Ke(e){return Qe(e)?e:new Ye(e)}function Ge(e){return Qe(e)?e:new Ye(e).saturate(.5).darken(.1).hexString()}const Ze=["x","y","borderWidth","radius","tension"],Je=["color","borderColor","backgroundColor"],Xe=new Map;function et(e,t,n){return function(e,t){t=t||{};const n=e+JSON.stringify(t);let a=Xe.get(n);return a||(a=new Intl.NumberFormat(e,t),Xe.set(n,a)),a}(t,n).format(e)}const tt={values:e=>i(e)?e:""+e,numeric(e,t,n){if(0===e)return"0";const a=this.chart.options.locale;let i,r=e;if(n.length>1){const t=Math.max(Math.abs(n[0].value),Math.abs(n[n.length-1].value));(t<1e-4||t>1e15)&&(i="scientific"),r=function(e,t){let n=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(n)>=1&&e!==Math.floor(e)&&(n=e-Math.floor(e)),n}(e,n)}const o=z(Math.abs(r)),s=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),l={notation:i,minimumFractionDigits:s,maximumFractionDigits:s};return Object.assign(l,this.options.ticks.format),et(e,a,l)},logarithmic(e,t,n){if(0===e)return"0";const a=n[t].significand||e/Math.pow(10,Math.floor(z(e)));return[1,2,3,5,10,15].includes(a)||t>.8*n.length?tt.numeric.call(this,e,t,n):""}};var nt={formatters:tt};const at=Object.create(null),it=Object.create(null);function rt(e,t){if(!t)return e;const n=t.split(".");for(let t=0,a=n.length;te.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(e,t)=>Ge(t.backgroundColor),this.hoverBorderColor=(e,t)=>Ge(t.borderColor),this.hoverColor=(e,t)=>Ge(t.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e),this.apply(t)}set(e,t){return ot(this,e,t)}get(e){return rt(this,e)}describe(e,t){return ot(it,e,t)}override(e,t){return ot(at,e,t)}route(e,t,n,a){const i=rt(this,e),o=rt(this,n),s="_"+t;Object.defineProperties(i,{[s]:{value:i[t],writable:!0},[t]:{enumerable:!0,get(){const e=this[s],t=o[a];return r(e)?Object.assign({},t,e):l(e,t)},set(e){this[s]=e}}})}apply(e){e.forEach((e=>e(this)))}}({_scriptable:e=>!e.startsWith("on"),_indexable:e=>"events"!==e,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(e){e.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),e.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:e=>"onProgress"!==e&&"onComplete"!==e&&"fn"!==e}),e.set("animations",{colors:{type:"color",properties:Je},numbers:{type:"number",properties:Ze}}),e.describe("animations",{_fallback:"animation"}),e.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:e=>0|e}}}})},function(e){e.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(e){e.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(e,t)=>t.lineWidth,tickColor:(e,t)=>t.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:nt.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),e.route("scale.ticks","color","","color"),e.route("scale.grid","color","","borderColor"),e.route("scale.border","color","","borderColor"),e.route("scale.title","color","","color"),e.describe("scale",{_fallback:!1,_scriptable:e=>!e.startsWith("before")&&!e.startsWith("after")&&"callback"!==e&&"parser"!==e,_indexable:e=>"borderDash"!==e&&"tickBorderDash"!==e&&"dash"!==e}),e.describe("scales",{_fallback:"scale"}),e.describe("scale.ticks",{_scriptable:e=>"backdropPadding"!==e&&"callback"!==e,_indexable:e=>"backdropPadding"!==e})}]);function lt(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ut(e){let t=e.parentNode;return t&&"[object ShadowRoot]"===t.toString()&&(t=t.host),t}function ct(e,t,n){let a;return"string"==typeof e?(a=parseInt(e,10),-1!==e.indexOf("%")&&(a=a/100*t.parentNode[n])):a=e,a}const dt=e=>e.ownerDocument.defaultView.getComputedStyle(e,null);function ht(e,t){return dt(e).getPropertyValue(t)}const pt=["top","right","bottom","left"];function ft(e,t,n){const a={};n=n?"-"+n:"";for(let i=0;i<4;i++){const r=pt[i];a[r]=parseFloat(e[t+"-"+r+n])||0}return a.width=a.left+a.right,a.height=a.top+a.bottom,a}const mt=(e,t,n)=>(e>0||t>0)&&(!n||!n.shadowRoot);function gt(e,t){if("native"in e)return e;const{canvas:n,currentDevicePixelRatio:a}=t,i=dt(n),r="border-box"===i.boxSizing,o=ft(i,"padding"),s=ft(i,"border","width"),{x:l,y:u,box:c}=function(e,t){const n=e.touches,a=n&&n.length?n[0]:e,{offsetX:i,offsetY:r}=a;let o,s,l=!1;if(mt(i,r,e.target))o=i,s=r;else{const e=t.getBoundingClientRect();o=a.clientX-e.left,s=a.clientY-e.top,l=!0}return{x:o,y:s,box:l}}(e,n),d=o.left+(c&&s.left),h=o.top+(c&&s.top);let{width:p,height:f}=t;return r&&(p-=o.width+s.width,f-=o.height+s.height),{x:Math.round((l-d)/p*n.width/a),y:Math.round((u-h)/f*n.height/a)}}const vt=e=>Math.round(10*e)/10;function bt(e,t,n,a){const i=dt(e),r=ft(i,"margin"),o=ct(i.maxWidth,e,"clientWidth")||L,s=ct(i.maxHeight,e,"clientHeight")||L,l=function(e,t,n){let a,i;if(void 0===t||void 0===n){const r=e&&ut(e);if(r){const e=r.getBoundingClientRect(),o=dt(r),s=ft(o,"border","width"),l=ft(o,"padding");t=e.width-l.width-s.width,n=e.height-l.height-s.height,a=ct(o.maxWidth,r,"clientWidth"),i=ct(o.maxHeight,r,"clientHeight")}else t=e.clientWidth,n=e.clientHeight}return{width:t,height:n,maxWidth:a||L,maxHeight:i||L}}(e,t,n);let{width:u,height:c}=l;if("content-box"===i.boxSizing){const e=ft(i,"border","width"),t=ft(i,"padding");u-=t.width+e.width,c-=t.height+e.height}return u=Math.max(0,u-r.width),c=Math.max(0,a?u/a:c-r.height),u=vt(Math.min(u,o,l.maxWidth)),c=vt(Math.min(c,s,l.maxHeight)),u&&!c&&(c=vt(u/2)),(void 0!==t||void 0!==n)&&a&&l.height&&c>l.height&&(c=l.height,u=vt(Math.floor(c*a))),{width:u,height:c}}function _t(e,t,n){const a=t||1,i=Math.floor(e.height*a),r=Math.floor(e.width*a);e.height=Math.floor(e.height),e.width=Math.floor(e.width);const o=e.canvas;return o.style&&(n||!o.style.height&&!o.style.width)&&(o.style.height=`${e.height}px`,o.style.width=`${e.width}px`),(e.currentDevicePixelRatio!==a||o.height!==i||o.width!==r)&&(e.currentDevicePixelRatio=a,o.height=i,o.width=r,e.ctx.setTransform(a,0,0,a,0,0),!0)}const yt=function(){let e=!1;try{const t={get passive(){return e=!0,!1}};lt()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch(e){}return e}();function wt(e,t){const n=ht(e,t),a=n&&n.match(/^(\d+)(\.\d+)?px$/);return a?+a[1]:void 0}function kt(e){return!e||a(e.size)||a(e.family)?null:(e.style?e.style+" ":"")+(e.weight?e.weight+" ":"")+e.size+"px "+e.family}function xt(e,t,n,a,i){let r=t[i];return r||(r=t[i]=e.measureText(i).width,n.push(i)),r>a&&(a=r),a}function St(e,t,n,a){let r=(a=a||{}).data=a.data||{},o=a.garbageCollect=a.garbageCollect||[];a.font!==t&&(r=a.data={},o=a.garbageCollect=[],a.font=t),e.save(),e.font=t;let s=0;const l=n.length;let u,c,d,h,p;for(u=0;un.length){for(u=0;u0&&e.stroke()}}function Mt(e,t,n){return n=n||.5,!t||e&&e.x>t.left-n&&e.xt.top-n&&e.y0&&""!==s.strokeColor;let c,d;for(e.save(),e.font=o.string,function(e,t){t.translation&&e.translate(t.translation[0],t.translation[1]),a(t.rotation)||e.rotate(t.rotation),t.color&&(e.fillStyle=t.color),t.textAlign&&(e.textAlign=t.textAlign),t.textBaseline&&(e.textBaseline=t.textBaseline)}(e,s),c=0;ce[0]){const r=n||e;void 0===a&&(a=Kt("_fallback",e));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:e,_rootScopes:r,_fallback:a,_getTarget:i,override:n=>Dt([n,...e],t,r,a)};return new Proxy(o,{deleteProperty:(t,n)=>(delete t[n],delete t._keys,delete e[0][n],!0),get:(n,a)=>Vt(n,a,(()=>function(e,t,n,a){let i;for(const r of t)if(i=Kt(Bt(r,e),n),void 0!==i)return Ft(e,i)?Yt(n,a,e,i):i}(a,t,e,n))),getOwnPropertyDescriptor:(e,t)=>Reflect.getOwnPropertyDescriptor(e._scopes[0],t),getPrototypeOf:()=>Reflect.getPrototypeOf(e[0]),has:(e,t)=>Gt(e).includes(t),ownKeys:e=>Gt(e),set(e,t,n){const a=e._storage||(e._storage=i());return e[t]=a[t]=n,delete e._keys,!0}})}function jt(e,t,n,a){const o={_cacheable:!1,_proxy:e,_context:t,_subProxy:n,_stack:new Set,_descriptors:$t(e,a),setContext:t=>jt(e,t,n,a),override:i=>jt(e.override(i),t,n,a)};return new Proxy(o,{deleteProperty:(t,n)=>(delete t[n],delete e[n],!0),get:(e,t,n)=>Vt(e,t,(()=>function(e,t,n){const{_proxy:a,_context:o,_subProxy:s,_descriptors:l}=e;let u=a[t];return C(u)&&l.isScriptable(t)&&(u=function(e,t,n,a){const{_proxy:i,_context:r,_subProxy:o,_stack:s}=n;if(s.has(e))throw new Error("Recursion detected: "+Array.from(s).join("->")+"->"+e);s.add(e);let l=t(r,o||a);return s.delete(e),Ft(e,l)&&(l=Yt(i._scopes,i,e,l)),l}(t,u,e,n)),i(u)&&u.length&&(u=function(e,t,n,a){const{_proxy:i,_context:o,_subProxy:s,_descriptors:l}=n;if(void 0!==o.index&&a(e))return t[o.index%t.length];if(r(t[0])){const n=t,a=i._scopes.filter((e=>e!==n));t=[];for(const r of n){const n=Yt(a,i,e,r);t.push(jt(n,o,s&&s[e],l))}}return t}(t,u,e,l.isIndexable)),Ft(t,u)&&(u=jt(u,o,s&&s[t],l)),u}(e,t,n))),getOwnPropertyDescriptor:(t,n)=>t._descriptors.allKeys?Reflect.has(e,n)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(e,n),getPrototypeOf:()=>Reflect.getPrototypeOf(e),has:(t,n)=>Reflect.has(e,n),ownKeys:()=>Reflect.ownKeys(e),set:(t,n,a)=>(e[n]=a,delete t[n],!0)})}function $t(e,t={scriptable:!0,indexable:!0}){const{_scriptable:n=t.scriptable,_indexable:a=t.indexable,_allKeys:i=t.allKeys}=e;return{allKeys:i,scriptable:n,indexable:a,isScriptable:C(n)?n:()=>n,isIndexable:C(a)?a:()=>a}}const Bt=(e,t)=>e?e+x(t):t,Ft=(e,t)=>r(t)&&"adapters"!==e&&(null===Object.getPrototypeOf(t)||t.constructor===Object);function Vt(e,t,n){if(Object.prototype.hasOwnProperty.call(e,t)||"constructor"===t)return e[t];const a=n();return e[t]=a,a}function Ut(e,t,n){return C(e)?e(t,n):e}const Ht=(e,t)=>!0===e?t:"string"==typeof e?k(t,e):void 0;function Wt(e,t,n,a,i){for(const r of t){const t=Ht(n,r);if(t){e.add(t);const r=Ut(t._fallback,n,i);if(void 0!==r&&r!==n&&r!==a)return r}else if(!1===t&&void 0!==a&&n!==a)return null}return!1}function Yt(e,t,n,a){const o=t._rootScopes,s=Ut(t._fallback,n,a),l=[...e,...o],u=new Set;u.add(a);let c=Qt(u,l,n,s||n,a);return null!==c&&(void 0===s||s===n||(c=Qt(u,l,s,c,a),null!==c))&&Dt(Array.from(u),[""],o,s,(()=>function(e,t,n){const a=e._getTarget();t in a||(a[t]={});const o=a[t];return i(o)&&r(n)?n:o||{}}(t,n,a)))}function Qt(e,t,n,a,i){for(;n;)n=Wt(e,t,n,a,i);return n}function Kt(e,t){for(const n of t){if(!n)continue;const t=n[e];if(void 0!==t)return t}}function Gt(e){let t=e._keys;return t||(t=e._keys=function(e){const t=new Set;for(const n of e)for(const e of Object.keys(n).filter((e=>!e.startsWith("_"))))t.add(e);return Array.from(t)}(e._scopes)),t}function Zt(e,t,n,a){const{iScale:i}=e,{key:r="r"}=this._parsing,o=new Array(a);let s,l,u,c;for(s=0,l=a;st"x"===e?"y":"x";function tn(e,t,n,a){const i=e.skip?t:e,r=t,o=n.skip?t:n,s=Q(r,i),l=Q(o,r);let u=s/(s+l),c=l/(s+l);u=isNaN(u)?0:u,c=isNaN(c)?0:c;const d=a*u,h=a*c;return{previous:{x:r.x-d*(o.x-i.x),y:r.y-d*(o.y-i.y)},next:{x:r.x+h*(o.x-i.x),y:r.y+h*(o.y-i.y)}}}function nn(e,t="x"){const n=en(t),a=e.length,i=Array(a).fill(0),r=Array(a);let o,s,l,u=Xt(e,0);for(o=0;o!e.skip))),"monotone"===t.cubicInterpolationMode)nn(e,i);else{let n=a?e[e.length-1]:e[0];for(r=0,o=e.length;r0===e||1===e,sn=(e,t,n)=>-Math.pow(2,10*(e-=1))*Math.sin((e-t)*M/n),ln=(e,t,n)=>Math.pow(2,-10*e)*Math.sin((e-t)*M/n)+1,un={linear:e=>e,easeInQuad:e=>e*e,easeOutQuad:e=>-e*(e-2),easeInOutQuad:e=>(e/=.5)<1?.5*e*e:-.5*(--e*(e-2)-1),easeInCubic:e=>e*e*e,easeOutCubic:e=>(e-=1)*e*e+1,easeInOutCubic:e=>(e/=.5)<1?.5*e*e*e:.5*((e-=2)*e*e+2),easeInQuart:e=>e*e*e*e,easeOutQuart:e=>-((e-=1)*e*e*e-1),easeInOutQuart:e=>(e/=.5)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2),easeInQuint:e=>e*e*e*e*e,easeOutQuint:e=>(e-=1)*e*e*e*e+1,easeInOutQuint:e=>(e/=.5)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2),easeInSine:e=>1-Math.cos(e*N),easeOutSine:e=>Math.sin(e*N),easeInOutSine:e=>-.5*(Math.cos(A*e)-1),easeInExpo:e=>0===e?0:Math.pow(2,10*(e-1)),easeOutExpo:e=>1===e?1:1-Math.pow(2,-10*e),easeInOutExpo:e=>on(e)?e:e<.5?.5*Math.pow(2,10*(2*e-1)):.5*(2-Math.pow(2,-10*(2*e-1))),easeInCirc:e=>e>=1?e:-(Math.sqrt(1-e*e)-1),easeOutCirc:e=>Math.sqrt(1-(e-=1)*e),easeInOutCirc:e=>(e/=.5)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1),easeInElastic:e=>on(e)?e:sn(e,.075,.3),easeOutElastic:e=>on(e)?e:ln(e,.075,.3),easeInOutElastic(e){const t=.1125;return on(e)?e:e<.5?.5*sn(2*e,t,.45):.5+.5*ln(2*e-1,t,.45)},easeInBack(e){const t=1.70158;return e*e*((t+1)*e-t)},easeOutBack(e){const t=1.70158;return(e-=1)*e*((t+1)*e+t)+1},easeInOutBack(e){let t=1.70158;return(e/=.5)<1?e*e*((1+(t*=1.525))*e-t)*.5:.5*((e-=2)*e*((1+(t*=1.525))*e+t)+2)},easeInBounce:e=>1-un.easeOutBounce(1-e),easeOutBounce(e){const t=7.5625,n=2.75;return e<1/n?t*e*e:e<2/n?t*(e-=1.5/n)*e+.75:e<2.5/n?t*(e-=2.25/n)*e+.9375:t*(e-=2.625/n)*e+.984375},easeInOutBounce:e=>e<.5?.5*un.easeInBounce(2*e):.5*un.easeOutBounce(2*e-1)+.5};function cn(e,t,n,a){return{x:e.x+n*(t.x-e.x),y:e.y+n*(t.y-e.y)}}function dn(e,t,n,a){return{x:e.x+n*(t.x-e.x),y:"middle"===a?n<.5?e.y:t.y:"after"===a?n<1?e.y:t.y:n>0?t.y:e.y}}function hn(e,t,n,a){const i={x:e.cp2x,y:e.cp2y},r={x:t.cp1x,y:t.cp1y},o=cn(e,i,n),s=cn(i,r,n),l=cn(r,t,n),u=cn(o,s,n),c=cn(s,l,n);return cn(u,c,n)}const pn=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,fn=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function mn(e,t){const n=(""+e).match(pn);if(!n||"normal"===n[1])return 1.2*t;switch(e=+n[2],n[3]){case"px":return e;case"%":e/=100}return t*e}const gn=e=>+e||0;function vn(e,t){const n={},a=r(t),i=a?Object.keys(t):t,o=r(e)?a?n=>l(e[n],e[t[n]]):t=>e[t]:()=>e;for(const e of i)n[e]=gn(o(e));return n}function bn(e){return vn(e,{top:"y",right:"x",bottom:"y",left:"x"})}function _n(e){return vn(e,["topLeft","topRight","bottomLeft","bottomRight"])}function yn(e){const t=bn(e);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function wn(e,t){e=e||{},t=t||st.font;let n=l(e.size,t.size);"string"==typeof n&&(n=parseInt(n,10));let a=l(e.style,t.style);a&&!(""+a).match(fn)&&(console.warn('Invalid font style specified: "'+a+'"'),a=void 0);const i={family:l(e.family,t.family),lineHeight:mn(l(e.lineHeight,t.lineHeight),n),size:n,style:a,weight:l(e.weight,t.weight),string:""};return i.string=kt(i),i}function kn(e,t,n,a){let r,o,s,l=!0;for(r=0,o=e.length;rn&&0===e?0:e+t;return{min:o(a,-Math.abs(r)),max:o(i,r)}}function Sn(e,t){return Object.assign(Object.create(e),t)}function Cn(e,t,n){return e?function(e,t){return{x:n=>e+e+t-n,setWidth(e){t=e},textAlign:e=>"center"===e?e:"right"===e?"left":"right",xPlus:(e,t)=>e-t,leftForLtr:(e,t)=>e-t}}(t,n):{x:e=>e,setWidth(e){},textAlign:e=>e,xPlus:(e,t)=>e+t,leftForLtr:(e,t)=>e}}function En(e,t){let n,a;"ltr"!==t&&"rtl"!==t||(n=e.canvas.style,a=[n.getPropertyValue("direction"),n.getPropertyPriority("direction")],n.setProperty("direction",t,"important"),e.prevTextDirection=a)}function Tn(e,t){void 0!==t&&(delete e.prevTextDirection,e.canvas.style.setProperty("direction",t[0],t[1]))}function An(e){return"angle"===e?{between:Z,compare:K,normalize:G}:{between:ee,compare:(e,t)=>e-t,normalize:e=>e}}function Mn({start:e,end:t,count:n,loop:a,style:i}){return{start:e%n,end:t%n,loop:a&&(t-e+1)%n==0,style:i}}function Pn(e,t,n){if(!n)return[e];const{property:a,start:i,end:r}=n,o=t.length,{compare:s,between:l,normalize:u}=An(a),{start:c,end:d,loop:h,style:p}=function(e,t,n){const{property:a,start:i,end:r}=n,{between:o,normalize:s}=An(a),l=t.length;let u,c,{start:d,end:h,loop:p}=e;if(p){for(d+=l,h+=l,u=0,c=l;ui&&e[r%t].skip;)r--;return r%=t,{start:i,end:r}}(n,i,r,a);return Nn(e,!0===a?[{start:o,end:s,loop:r}]:function(e,t,n,a){const i=e.length,r=[];let o,s=t,l=e[t];for(o=t+1;o<=n;++o){const n=e[o%i];n.skip||n.stop?l.skip||(a=!1,r.push({start:t%i,end:(o-1)%i,loop:a}),t=s=n.stop?o:null):(s=o,l.skip&&(t=o)),l=n}return null!==s&&r.push({start:t%i,end:s%i,loop:a}),r}(n,o,s{e[o]&&e[o](t[n],i)&&(r.push({element:e,datasetIndex:a,index:l}),s=s||e.inRange(t.x,t.y,i))})),a&&!s?[]:r}var Fn={evaluateInteractionItems:Dn,modes:{index(e,t,n,a){const i=gt(t,e),r=n.axis||"x",o=n.includeInvisible||!1,s=n.intersect?jn(e,i,r,a,o):$n(e,i,r,!1,a,o),l=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach((e=>{const t=s[0].index,n=e.data[t];n&&!n.skip&&l.push({element:n,datasetIndex:e.index,index:t})})),l):[]},dataset(e,t,n,a){const i=gt(t,e),r=n.axis||"xy",o=n.includeInvisible||!1;let s=n.intersect?jn(e,i,r,a,o):$n(e,i,r,!1,a,o);if(s.length>0){const t=s[0].datasetIndex,n=e.getDatasetMeta(t).data;s=[];for(let e=0;ejn(e,gt(t,e),n.axis||"xy",a,n.includeInvisible||!1),nearest(e,t,n,a){const i=gt(t,e),r=n.axis||"xy",o=n.includeInvisible||!1;return $n(e,i,r,n.intersect,a,o)},x:(e,t,n,a)=>Bn(e,gt(t,e),"x",n.intersect,a),y:(e,t,n,a)=>Bn(e,gt(t,e),"y",n.intersect,a)}};const Vn=["left","top","right","bottom"];function Un(e,t){return e.filter((e=>e.pos===t))}function Hn(e,t){return e.filter((e=>-1===Vn.indexOf(e.pos)&&e.box.axis===t))}function Wn(e,t){return e.sort(((e,n)=>{const a=t?n:e,i=t?e:n;return a.weight===i.weight?a.index-i.index:a.weight-i.weight}))}function Yn(e,t,n,a){return Math.max(e[n],t[n])+Math.max(e[a],t[a])}function Qn(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function Kn(e,t,n,a){const{pos:i,box:o}=n,s=e.maxPadding;if(!r(i)){n.size&&(e[i]-=n.size);const t=a[n.stack]||{size:0,count:1};t.size=Math.max(t.size,n.horizontal?o.height:o.width),n.size=t.size/t.count,e[i]+=n.size}o.getPadding&&Qn(s,o.getPadding());const l=Math.max(0,t.outerWidth-Yn(s,e,"left","right")),u=Math.max(0,t.outerHeight-Yn(s,e,"top","bottom")),c=l!==e.w,d=u!==e.h;return e.w=l,e.h=u,n.horizontal?{same:c,other:d}:{same:d,other:c}}function Gn(e,t){const n=t.maxPadding;return function(e){const a={left:0,top:0,right:0,bottom:0};return e.forEach((e=>{a[e]=Math.max(t[e],n[e])})),a}(e?["left","right"]:["top","bottom"])}function Zn(e,t,n,a){const i=[];let r,o,s,l,u,c;for(r=0,o=e.length,u=0;re.box.fullSize)),!0),a=Wn(Un(t,"left"),!0),i=Wn(Un(t,"right")),r=Wn(Un(t,"top"),!0),o=Wn(Un(t,"bottom")),s=Hn(t,"x"),l=Hn(t,"y");return{fullSize:n,leftAndTop:a.concat(r),rightAndBottom:i.concat(l).concat(o).concat(s),chartArea:Un(t,"chartArea"),vertical:a.concat(i).concat(l),horizontal:r.concat(o).concat(s)}}(e.boxes),l=s.vertical,u=s.horizontal;h(e.boxes,(e=>{"function"==typeof e.beforeLayout&&e.beforeLayout()}));const c=l.reduce(((e,t)=>t.box.options&&!1===t.box.options.display?e:e+1),0)||1,d=Object.freeze({outerWidth:t,outerHeight:n,padding:i,availableWidth:r,availableHeight:o,vBoxMaxWidth:r/2/c,hBoxMaxHeight:o/2}),p=Object.assign({},i);Qn(p,yn(a));const f=Object.assign({maxPadding:p,w:r,h:o,x:i.left,y:i.top},i),m=function(e,t){const n=function(e){const t={};for(const n of e){const{stack:e,pos:a,stackWeight:i}=n;if(!e||!Vn.includes(a))continue;const r=t[e]||(t[e]={count:0,placed:0,weight:0,size:0});r.count++,r.weight+=i}return t}(e),{vBoxMaxWidth:a,hBoxMaxHeight:i}=t;let r,o,s;for(r=0,o=e.length;r{const n=t.box;Object.assign(n,e.chartArea),n.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})}))}};class ta{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,n){}removeEventListener(e,t,n){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,n,a){return t=Math.max(0,t||e.width),n=n||e.height,{width:t,height:Math.max(0,a?Math.floor(t/a):n)}}isAttached(e){return!0}updateConfig(e){}}class na extends ta{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const aa="$chartjs",ia={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},ra=e=>null===e||""===e,oa=!!yt&&{passive:!0};function sa(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,oa)}function la(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function ua(e,t,n){const a=e.canvas,i=new MutationObserver((e=>{let t=!1;for(const n of e)t=t||la(n.addedNodes,a),t=t&&!la(n.removedNodes,a);t&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}function ca(e,t,n){const a=e.canvas,i=new MutationObserver((e=>{let t=!1;for(const n of e)t=t||la(n.removedNodes,a),t=t&&!la(n.addedNodes,a);t&&n()}));return i.observe(document,{childList:!0,subtree:!0}),i}const da=new Map;let ha=0;function pa(){const e=window.devicePixelRatio;e!==ha&&(ha=e,da.forEach(((t,n)=>{n.currentDevicePixelRatio!==e&&t()})))}function fa(e,t,n){const a=e.canvas,i=a&&ut(a);if(!i)return;const r=ce(((e,t)=>{const a=i.clientWidth;n(e,t),a{const t=e[0],n=t.contentRect.width,a=t.contentRect.height;0===n&&0===a||r(n,a)}));return o.observe(i),function(e,t){da.size||window.addEventListener("resize",pa),da.set(e,t)}(e,r),o}function ma(e,t,n){n&&n.disconnect(),"resize"===t&&function(e){da.delete(e),da.size||window.removeEventListener("resize",pa)}(e)}function ga(e,t,n){const a=e.canvas,i=ce((t=>{null!==e.ctx&&n(function(e,t){const n=ia[e.type]||e.type,{x:a,y:i}=gt(e,t);return{type:n,chart:t,native:e,x:void 0!==a?a:null,y:void 0!==i?i:null}}(t,e))}),e);return function(e,t,n){e&&e.addEventListener(t,n,oa)}(a,t,i),i}class va extends ta{acquireContext(e,t){const n=e&&e.getContext&&e.getContext("2d");return n&&n.canvas===e?(function(e,t){const n=e.style,a=e.getAttribute("height"),i=e.getAttribute("width");if(e[aa]={initial:{height:a,width:i,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",ra(i)){const t=wt(e,"width");void 0!==t&&(e.width=t)}if(ra(a))if(""===e.style.height)e.height=e.width/(t||2);else{const t=wt(e,"height");void 0!==t&&(e.height=t)}}(e,t),n):null}releaseContext(e){const t=e.canvas;if(!t[aa])return!1;const n=t[aa].initial;["height","width"].forEach((e=>{const i=n[e];a(i)?t.removeAttribute(e):t.setAttribute(e,i)}));const i=n.style||{};return Object.keys(i).forEach((e=>{t.style[e]=i[e]})),t.width=t.width,delete t[aa],!0}addEventListener(e,t,n){this.removeEventListener(e,t);const a=e.$proxies||(e.$proxies={}),i={attach:ua,detach:ca,resize:fa}[t]||ga;a[t]=i(e,t,n)}removeEventListener(e,t){const n=e.$proxies||(e.$proxies={}),a=n[t];a&&(({attach:ma,detach:ma,resize:ma}[t]||sa)(e,t,a),n[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,n,a){return bt(e,t,n,a)}isAttached(e){const t=e&&ut(e);return!(!t||!t.isConnected)}}function ba(e){return!lt()||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas?na:va}var _a=Object.freeze({__proto__:null,BasePlatform:ta,BasicPlatform:na,DomPlatform:va,_detectPlatform:ba});const ya="transparent",wa={boolean:(e,t,n)=>n>.5?t:e,color(e,t,n){const a=Ke(e||ya),i=a.valid&&Ke(t||ya);return i&&i.valid?i.mix(a,n).hexString():t},number:(e,t,n)=>e+(t-e)*n};class ka{constructor(e,t,n,a){const i=t[n];a=kn([e.to,a,i,e.from]);const r=kn([e.from,i,a]);this._active=!0,this._fn=e.fn||wa[e.type||typeof r],this._easing=un[e.easing]||un.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=n,this._from=r,this._to=a,this._promises=void 0}active(){return this._active}update(e,t,n){if(this._active){this._notify(!1);const a=this._target[this._prop],i=n-this._start,r=this._duration-i;this._start=n,this._duration=Math.floor(Math.max(r,e.duration)),this._total+=i,this._loop=!!e.loop,this._to=kn([e.to,t,a,e.from]),this._from=kn([e.from,a,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,n=this._duration,a=this._prop,i=this._from,r=this._loop,o=this._to;let s;if(this._active=i!==o&&(r||t1?2-s:s,s=this._easing(Math.min(1,Math.max(0,s))),this._target[a]=this._fn(i,o,s))}wait(){const e=this._promises||(this._promises=[]);return new Promise(((t,n)=>{e.push({res:t,rej:n})}))}_notify(e){const t=e?"res":"rej",n=this._promises||[];for(let e=0;e{const o=e[a];if(!r(o))return;const s={};for(const e of t)s[e]=o[e];(i(o.properties)&&o.properties||[a]).forEach((e=>{e!==a&&n.has(e)||n.set(e,s)}))}))}_animateOptions(e,t){const n=t.options,a=function(e,t){if(!t)return;let n=e.options;if(n)return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n;e.options=t}(e,n);if(!a)return[];const i=this._createAnimations(a,n);return n.$shared&&function(e,t){const n=[],a=Object.keys(t);for(let t=0;t{e.options=n}),(()=>{})),i}_createAnimations(e,t){const n=this._properties,a=[],i=e.$animations||(e.$animations={}),r=Object.keys(t),o=Date.now();let s;for(s=r.length-1;s>=0;--s){const l=r[s];if("$"===l.charAt(0))continue;if("options"===l){a.push(...this._animateOptions(e,t));continue}const u=t[l];let c=i[l];const d=n.get(l);if(c){if(d&&c.active()){c.update(d,u,o);continue}c.cancel()}d&&d.duration?(i[l]=c=new ka(d,e,l,u),a.push(c)):e[l]=u}return a}update(e,t){if(0===this._properties.size)return void Object.assign(e,t);const n=this._createAnimations(e,t);return n.length?(ve.add(this._chart,n),!0):void 0}}function Sa(e,t){const n=e&&e.options||{},a=n.reverse,i=void 0===n.min?t:0,r=void 0===n.max?t:0;return{start:a?r:i,end:a?i:r}}function Ca(e,t){const n=[],a=e._getSortedDatasetMetas(t);let i,r;for(i=0,r=a.length;i0||!n&&t<0)return i.index}return null}function Pa(e,t){const{chart:n,_cachedMeta:a}=e,i=n._stacks||(n._stacks={}),{iScale:r,vScale:o,index:s}=a,l=r.axis,u=o.axis,c=function(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}(r,o,a),d=t.length;let h;for(let e=0;en[e].axis===t)).shift()}function Oa(e,t){const n=e.controller.index,a=e.vScale&&e.vScale.axis;if(a){t=t||e._parsed;for(const e of t){const t=e._stacks;if(!t||void 0===t[a]||void 0===t[a][n])return;delete t[a][n],void 0!==t[a]._visualValues&&void 0!==t[a]._visualValues[n]&&delete t[a]._visualValues[n]}}}const Na=e=>"reset"===e||"none"===e,Ra=(e,t)=>t?e:Object.assign({},e);class Ia{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(e,t){this.chart=e,this._ctx=e.ctx,this.index=t,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const e=this._cachedMeta;this.configure(),this.linkScales(),e._stacked=Ta(e.vScale,e),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(e){this.index!==e&&Oa(this._cachedMeta),this.index=e}linkScales(){const e=this.chart,t=this._cachedMeta,n=this.getDataset(),a=(e,t,n,a)=>"x"===e?t:"r"===e?a:n,i=t.xAxisID=l(n.xAxisID,La(e,"x")),r=t.yAxisID=l(n.yAxisID,La(e,"y")),o=t.rAxisID=l(n.rAxisID,La(e,"r")),s=t.indexAxis,u=t.iAxisID=a(s,i,r,o),c=t.vAxisID=a(s,r,i,o);t.xScale=this.getScaleForId(i),t.yScale=this.getScaleForId(r),t.rScale=this.getScaleForId(o),t.iScale=this.getScaleForId(u),t.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(e){return this.chart.scales[e]}_getOtherScale(e){const t=this._cachedMeta;return e===t.iScale?t.vScale:t.iScale}reset(){this._update("reset")}_destroy(){const e=this._cachedMeta;this._data&&se(this._data,this),e._stacked&&Oa(e)}_dataCheck(){const e=this.getDataset(),t=e.data||(e.data=[]),n=this._data;if(r(t)){const e=this._cachedMeta;this._data=function(e,t){const{iScale:n,vScale:a}=t,i="x"===n.axis?"x":"y",r="x"===a.axis?"x":"y",o=Object.keys(e),s=new Array(o.length);let l,u,c;for(l=0,u=o.length;l0&&n._parsed[e-1];if(!1===this._parsing)n._parsed=a,n._sorted=!0,d=a;else{d=i(a[e])?this.parseArrayData(n,a,e,t):r(a[e])?this.parseObjectData(n,a,e,t):this.parsePrimitiveData(n,a,e,t);const o=()=>null===c[l]||p&&c[l]e&&!t.hidden&&t._stacked&&{keys:Ca(n,!0),values:null})(t,n,this.chart),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(e){const{min:t,max:n,minDefined:a,maxDefined:i}=e.getUserBounds();return{min:a?t:Number.NEGATIVE_INFINITY,max:i?n:Number.POSITIVE_INFINITY}}(s);let h,p;function f(){p=a[h];const t=p[s.axis];return!o(p[e.axis])||c>t||d=0;--h)if(!f()){this.updateRangeFromParsed(u,e,p,l);break}return u}getAllParsedValues(e){const t=this._cachedMeta._parsed,n=[];let a,i,r;for(a=0,i=t.length;a=0&&ethis.getContext(n,a,t)),c);return p.$shared&&(p.$shared=s,i[r]=Object.freeze(Ra(p,s))),p}_resolveAnimations(e,t,n){const a=this.chart,i=this._cachedDataOpts,r=`animation-${t}`,o=i[r];if(o)return o;let s;if(!1!==a.options.animation){const a=this.chart.config,i=a.datasetAnimationScopeKeys(this._type,t),r=a.getOptionScopes(this.getDataset(),i);s=a.createResolver(r,this.getContext(e,n,t))}const l=new xa(a,s&&s.animations);return s&&s._cacheable&&(i[r]=Object.freeze(l)),l}getSharedOptions(e){if(e.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},e))}includeOptions(e,t){return!t||Na(e)||this.chart._animationsDisabled}_getSharedOptions(e,t){const n=this.resolveDataElementOptions(e,t),a=this._sharedOptions,i=this.getSharedOptions(n),r=this.includeOptions(t,i)||i!==a;return this.updateSharedOptions(i,t,n),{sharedOptions:i,includeOptions:r}}updateElement(e,t,n,a){Na(a)?Object.assign(e,n):this._resolveAnimations(t,a).update(e,n)}updateSharedOptions(e,t,n){e&&!Na(t)&&this._resolveAnimations(void 0,t).update(e,n)}_setStyle(e,t,n,a){e.active=a;const i=this.getStyle(t,a);this._resolveAnimations(t,n,a).update(e,{options:!a&&this.getSharedOptions(i)||i})}removeHoverStyle(e,t,n){this._setStyle(e,n,"active",!1)}setHoverStyle(e,t,n){this._setStyle(e,n,"active",!0)}_removeDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!1)}_setDatasetHoverStyle(){const e=this._cachedMeta.dataset;e&&this._setStyle(e,void 0,"active",!0)}_resyncElements(e){const t=this._data,n=this._cachedMeta.data;for(const[e,t,n]of this._syncList)this[e](t,n);this._syncList=[];const a=n.length,i=t.length,r=Math.min(i,a);r&&this.parse(0,r),i>a?this._insertElements(a,i-a,e):i{for(e.length+=t,o=e.length-1;o>=r;o--)e[o]=e[o-t]};for(s(i),o=e;o{a[e]=n[e]&&n[e].active()?n[e]._to:this[e]})),a}}function qa(e,t){const n=e.options.ticks,i=function(e){const t=e.options.offset,n=e._tickSize(),a=e._length/n+(t?0:1),i=e._maxLength/n;return Math.floor(Math.min(a,i))}(e),r=Math.min(n.maxTicksLimit||i,i),o=n.major.enabled?function(e){const t=[];let n,a;for(n=0,a=e.length;nr)return function(e,t,n,a){let i,r=0,o=n[0];for(a=Math.ceil(a),i=0;ii)return t}return Math.max(i,1)}(o,t,r);if(s>0){let e,n;const i=s>1?Math.round((u-l)/(s-1)):null;for(Da(t,c,d,a(i)?0:l-i,l),e=0,n=s-1;e"top"===t||"left"===t?e[t]+n:e[t]-n,$a=(e,t)=>Math.min(t||e,e);function Ba(e,t){const n=[],a=e.length/t,i=e.length;let r=0;for(;ro+s)))return u}function Va(e){return e.drawTicks?e.tickLength:0}function Ua(e,t){if(!e.display)return 0;const n=wn(e.font,t),a=yn(e.padding);return(i(e.text)?e.text.length:1)*n.lineHeight+a.height}function Ha(e,t,n){let a=he(e);return(n&&"right"!==t||!n&&"right"===t)&&(a=(e=>"left"===e?"right":"right"===e?"left":e)(a)),a}class Wa extends za{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:n,_suggestedMax:a}=this;return e=s(e,Number.POSITIVE_INFINITY),t=s(t,Number.NEGATIVE_INFINITY),n=s(n,Number.POSITIVE_INFINITY),a=s(a,Number.NEGATIVE_INFINITY),{min:s(e,n),max:s(t,a),minDefined:o(e),maxDefined:o(t)}}getMinMax(e){let t,{min:n,max:a,minDefined:i,maxDefined:r}=this.getUserBounds();if(i&&r)return{min:n,max:a};const o=this.getMatchingVisibleMetas();for(let s=0,l=o.length;sa?a:n,a=i&&n>a?n:a,{min:s(n,s(a,n)),max:s(a,s(n,a))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}getLabelItems(e=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(e))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(e,t,n){const{beginAtZero:a,grace:i,ticks:r}=this.options,o=r.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=n=Object.assign({left:0,right:0,top:0,bottom:0},n),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+n.left+n.right:this.height+n.top+n.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=xn(this,i,a),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const s=o=i||n<=1||!this.isHorizontal())return void(this.labelRotation=a);const u=this._getLabelSizes(),c=u.widest.width,d=u.highest.height,h=J(this.chart.width-c,0,this.maxWidth);r=e.offset?this.maxWidth/n:h/(n-1),c+6>r&&(r=h/(n-(e.offset?.5:1)),o=this.maxHeight-Va(e.grid)-t.padding-Ua(e.title,this.chart.options.font),s=Math.sqrt(c*c+d*d),l=H(Math.min(Math.asin(J((u.highest.height+6)/r,-1,1)),Math.asin(J(o/s,-1,1))-Math.asin(J(d/s,-1,1)))),l=Math.max(a,Math.min(i,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:t,options:{ticks:n,title:a,grid:i}}=this,r=this._isVisible(),o=this.isHorizontal();if(r){const r=Ua(a,t.options.font);if(o?(e.width=this.maxWidth,e.height=Va(i)+r):(e.height=this.maxHeight,e.width=Va(i)+r),n.display&&this.ticks.length){const{first:t,last:a,widest:i,highest:r}=this._getLabelSizes(),s=2*n.padding,l=U(this.labelRotation),u=Math.cos(l),c=Math.sin(l);if(o){const t=n.mirror?0:c*i.width+u*r.height;e.height=Math.min(this.maxHeight,e.height+t+s)}else{const t=n.mirror?0:u*i.width+c*r.height;e.width=Math.min(this.maxWidth,e.width+t+s)}this._calculatePadding(t,a,c,u)}}this._handleMargins(),o?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,n,a){const{ticks:{align:i,padding:r},position:o}=this.options,s=0!==this.labelRotation,l="top"!==o&&"x"===this.axis;if(this.isHorizontal()){const o=this.getPixelForTick(0)-this.left,u=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;s?l?(c=a*e.width,d=n*t.height):(c=n*e.height,d=a*t.width):"start"===i?d=t.width:"end"===i?c=e.width:"inner"!==i&&(c=e.width/2,d=t.width/2),this.paddingLeft=Math.max((c-o+r)*this.width/(this.width-o),0),this.paddingRight=Math.max((d-u+r)*this.width/(this.width-u),0)}else{let n=t.height/2,a=e.height/2;"start"===i?(n=0,a=e.height):"end"===i&&(n=t.height,a=0),this.paddingTop=n+r,this.paddingBottom=a+r}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:t}=this.options;return"top"===t||"bottom"===t||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let t,n;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),t=0,n=e.length;t{const n=e.gc,a=n.length/2;let i;if(a>t){for(i=0;i({width:s[e]||0,height:l[e]||0});return{first:E(0),last:E(t-1),widest:E(S),highest:E(C),widths:s,heights:l}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const t=this._startPixel+e*this._length;return X(this._alignToPixels?Ct(this.chart,t,0):t)}getDecimalForPixel(e){const t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){const t=this.ticks||[];if(e>=0&&eo*a?o/n:s/a:s*a0}_computeGridLineItems(e){const t=this.axis,n=this.chart,a=this.options,{grid:i,position:o,border:s}=a,u=i.offset,c=this.isHorizontal(),d=this.ticks.length+(u?1:0),h=Va(i),p=[],f=s.setContext(this.getContext()),m=f.display?f.width:0,g=m/2,v=function(e){return Ct(n,e,m)};let b,_,y,w,k,x,S,C,E,T,A,M;if("top"===o)b=v(this.bottom),x=this.bottom-h,C=b-g,T=v(e.top)+g,M=e.bottom;else if("bottom"===o)b=v(this.top),T=e.top,M=v(e.bottom)-g,x=b+g,C=this.top+h;else if("left"===o)b=v(this.right),k=this.right-h,S=b-g,E=v(e.left)+g,A=e.right;else if("right"===o)b=v(this.left),E=e.left,A=v(e.right)-g,k=b+g,S=this.left+h;else if("x"===t){if("center"===o)b=v((e.top+e.bottom)/2+.5);else if(r(o)){const e=Object.keys(o)[0],t=o[e];b=v(this.chart.scales[e].getPixelForValue(t))}T=e.top,M=e.bottom,x=b+g,C=x+h}else if("y"===t){if("center"===o)b=v((e.left+e.right)/2);else if(r(o)){const e=Object.keys(o)[0],t=o[e];b=v(this.chart.scales[e].getPixelForValue(t))}k=b-g,S=k-h,E=e.left,A=e.right}const P=l(a.ticks.maxTicksLimit,d),L=Math.max(1,Math.ceil(d/P));for(_=0;_0&&(r-=a/2)}d={left:r,top:i,width:a+t.width,height:n+t.height,color:e.backdropColor}}v.push({label:w,font:E,textOffset:M,options:{rotation:g,color:n,strokeColor:r,strokeWidth:u,textAlign:p,textBaseline:P,translation:[k,x],backdrop:d}})}return v}_getXAxisLabelAlignment(){const{position:e,ticks:t}=this.options;if(-U(this.labelRotation))return"top"===e?"left":"right";let n="center";return"start"===t.align?n="left":"end"===t.align?n="right":"inner"===t.align&&(n="inner"),n}_getYAxisLabelAlignment(e){const{position:t,ticks:{crossAlign:n,mirror:a,padding:i}}=this.options,r=e+i,o=this._getLabelSizes().widest.width;let s,l;return"left"===t?a?(l=this.right+i,"near"===n?s="left":"center"===n?(s="center",l+=o/2):(s="right",l+=o)):(l=this.right-r,"near"===n?s="right":"center"===n?(s="center",l-=o/2):(s="left",l=this.left)):"right"===t?a?(l=this.left+i,"near"===n?s="right":"center"===n?(s="center",l-=o/2):(s="left",l-=o)):(l=this.left+r,"near"===n?s="left":"center"===n?(s="center",l+=o/2):(s="right",l=this.right)):s="right",{textAlign:s,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const e=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:e.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:e.width}:void 0}drawBackground(){const{ctx:e,options:{backgroundColor:t},left:n,top:a,width:i,height:r}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(n,a,i,r),e.restore())}getLineWidthForValue(e){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const n=this.ticks.findIndex((t=>t.value===e));return n>=0?t.setContext(this.getContext(n)).lineWidth:0}drawGrid(e){const t=this.options.grid,n=this.ctx,a=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let i,r;const o=(e,t,a)=>{a.width&&a.color&&(n.save(),n.lineWidth=a.width,n.strokeStyle=a.color,n.setLineDash(a.borderDash||[]),n.lineDashOffset=a.borderDashOffset,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(t.x,t.y),n.stroke(),n.restore())};if(t.display)for(i=0,r=a.length;i{this.drawBackground(),this.drawGrid(e),this.drawTitle()}},{z:a,draw:()=>{this.drawBorder()}},{z:t,draw:e=>{this.drawLabels(e)}}]:[{z:t,draw:e=>{this.draw(e)}}]}getMatchingVisibleMetas(e){const t=this.chart.getSortedVisibleDatasetMetas(),n=this.axis+"AxisID",a=[];let i,r;for(i=0,r=t.length;i{const a=n.split("."),i=a.pop(),r=[e].concat(a).join("."),o=t[n].split("."),s=o.pop(),l=o.join(".");st.route(r,i,l,s)}))}(t,e.defaultRoutes),e.descriptors&&st.describe(t,e.descriptors)}(e,r,n),this.override&&st.override(e.id,e.overrides)),r}get(e){return this.items[e]}unregister(e){const t=this.items,n=e.id,a=this.scope;n in t&&delete t[n],a&&n in st[a]&&(delete st[a][n],this.override&&delete at[n])}}var Qa=new class{constructor(){this.controllers=new Ya(Ia,"datasets",!0),this.elements=new Ya(za,"elements"),this.plugins=new Ya(Object,"plugins"),this.scales=new Ya(Wa,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each("register",e)}remove(...e){this._each("unregister",e)}addControllers(...e){this._each("register",e,this.controllers)}addElements(...e){this._each("register",e,this.elements)}addPlugins(...e){this._each("register",e,this.plugins)}addScales(...e){this._each("register",e,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(...e){this._each("unregister",e,this.controllers)}removeElements(...e){this._each("unregister",e,this.elements)}removePlugins(...e){this._each("unregister",e,this.plugins)}removeScales(...e){this._each("unregister",e,this.scales)}_each(e,t,n){[...t].forEach((t=>{const a=n||this._getRegistryForType(t);n||a.isForType(t)||a===this.plugins&&t.id?this._exec(e,a,t):h(t,(t=>{const a=n||this._getRegistryForType(t);this._exec(e,a,t)}))}))}_exec(e,t,n){const a=x(e);d(n["before"+a],[],n),t[e](n),d(n["after"+a],[],n)}_getRegistryForType(e){for(let t=0;te.filter((e=>!t.some((t=>e.plugin.id===t.plugin.id))));this._notify(a(t,n),e,"stop"),this._notify(a(n,t),e,"start")}}function Ga(e,t){return t||!1!==e?!0===e?{}:e:null}function Za(e,{plugin:t,local:n},a,i){const r=e.pluginScopeKeys(t),o=e.getOptionScopes(a,r);return n&&t.defaults&&o.push(t.defaults),e.createResolver(o,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Ja(e,t){const n=st.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function Xa(e){if("x"===e||"y"===e||"r"===e)return e}function ei(e,...t){if(Xa(e))return e;for(const a of t){const t=a.axis||("top"===(n=a.position)||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0)||e.length>1&&Xa(e[0].toLowerCase());if(t)return t}var n;throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function ti(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function ni(e){const t=e.options||(e.options={});t.plugins=l(t.plugins,{}),t.scales=function(e,t){const n=at[e.type]||{scales:{}},a=t.scales||{},i=Ja(e.type,t),o=Object.create(null);return Object.keys(a).forEach((t=>{const s=a[t];if(!r(s))return console.error(`Invalid scale configuration for scale: ${t}`);if(s._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const l=ei(t,s,function(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter((t=>t.xAxisID===e||t.yAxisID===e));if(n.length)return ti(e,"x",n[0])||ti(e,"y",n[0])}return{}}(t,e),st.scales[s.type]),u=function(e,t){return e===t?"_index_":"_value_"}(l,i),c=n.scales||{};o[t]=b(Object.create(null),[{axis:l},s,c[l],c[u]])})),e.data.datasets.forEach((n=>{const i=n.type||e.type,r=n.indexAxis||Ja(i,t),s=(at[i]||{}).scales||{};Object.keys(s).forEach((e=>{const t=function(e,t){let n=e;return"_index_"===e?n=t:"_value_"===e&&(n="x"===t?"y":"x"),n}(e,r),i=n[t+"AxisID"]||t;o[i]=o[i]||Object.create(null),b(o[i],[{axis:t},a[i],s[e]])}))})),Object.keys(o).forEach((e=>{const t=o[e];b(t,[st.scales[t.type],st.scale])})),o}(e,t)}function ai(e){return(e=e||{}).datasets=e.datasets||[],e.labels=e.labels||[],e}const ii=new Map,ri=new Set;function oi(e,t){let n=ii.get(e);return n||(n=t(),ii.set(e,n),ri.add(n)),n}const si=(e,t,n)=>{const a=k(t,n);void 0!==a&&e.add(a)};class li{constructor(e){this._config=function(e){return(e=e||{}).data=ai(e.data),ni(e),e}(e),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=ai(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),ni(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return oi(e,(()=>[[`datasets.${e}`,""]]))}datasetAnimationScopeKeys(e,t){return oi(`${e}.transition.${t}`,(()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,""]]))}datasetElementScopeKeys(e,t){return oi(`${e}-${t}`,(()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,""]]))}pluginScopeKeys(e){const t=e.id;return oi(`${this.type}-plugin-${t}`,(()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]]))}_cachedScopes(e,t){const n=this._scopeCache;let a=n.get(e);return a&&!t||(a=new Map,n.set(e,a)),a}getOptionScopes(e,t,n){const{options:a,type:i}=this,r=this._cachedScopes(e,n),o=r.get(t);if(o)return o;const s=new Set;t.forEach((t=>{e&&(s.add(e),t.forEach((t=>si(s,e,t)))),t.forEach((e=>si(s,a,e))),t.forEach((e=>si(s,at[i]||{},e))),t.forEach((e=>si(s,st,e))),t.forEach((e=>si(s,it,e)))}));const l=Array.from(s);return 0===l.length&&l.push(Object.create(null)),ri.has(t)&&r.set(t,l),l}chartOptionScopes(){const{options:e,type:t}=this;return[e,at[t]||{},st.datasets[t]||{},{type:t},st,it]}resolveNamedOptions(e,t,n,a=[""]){const r={$shared:!0},{resolver:o,subPrefixes:s}=ui(this._resolverCache,e,a);let l=o;(function(e,t){const{isScriptable:n,isIndexable:a}=$t(e);for(const r of t){const t=n(r),o=a(r),s=(o||t)&&e[r];if(t&&(C(s)||ci(s))||o&&i(s))return!0}return!1})(o,t)&&(r.$shared=!1,l=jt(o,n=C(n)?n():n,this.createResolver(e,n,s)));for(const e of t)r[e]=l[e];return r}createResolver(e,t,n=[""],a){const{resolver:i}=ui(this._resolverCache,e,n);return r(t)?jt(i,t,void 0,a):i}}function ui(e,t,n){let a=e.get(t);a||(a=new Map,e.set(t,a));const i=n.join();let r=a.get(i);return r||(r={resolver:Dt(t,n),subPrefixes:n.filter((e=>!e.toLowerCase().includes("hover")))},a.set(i,r)),r}const ci=e=>r(e)&&Object.getOwnPropertyNames(e).some((t=>C(e[t]))),di=["top","bottom","left","right","chartArea"];function hi(e,t){return"top"===e||"bottom"===e||-1===di.indexOf(e)&&"x"===t}function pi(e,t){return function(n,a){return n[e]===a[e]?n[t]-a[t]:n[e]-a[e]}}function fi(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),d(n&&n.onComplete,[e],t)}function mi(e){const t=e.chart,n=t.options.animation;d(n&&n.onProgress,[e],t)}function gi(e){return lt()&&"string"==typeof e?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const vi={},bi=e=>{const t=gi(e);return Object.values(vi).filter((e=>e.canvas===t)).pop()};function _i(e,t,n){const a=Object.keys(e);for(const i of a){const a=+i;if(a>=t){const r=e[i];delete e[i],(n>0||a>t)&&(e[a+n]=r)}}}function yi(e,t,n){return e.options.clip?e[n]:t[n]}class wi{static defaults=st;static instances=vi;static overrides=at;static registry=Qa;static version="4.4.4";static getChart=bi;static register(...e){Qa.add(...e),ki()}static unregister(...e){Qa.remove(...e),ki()}constructor(e,t){const a=this.config=new li(t),i=gi(e),r=bi(i);if(r)throw new Error("Canvas is already in use. Chart with ID '"+r.id+"' must be destroyed before the canvas with ID '"+r.canvas.id+"' can be reused.");const o=a.createResolver(a.chartOptionScopes(),this.getContext());this.platform=new(a.platform||ba(i)),this.platform.updateConfig(a);const s=this.platform.acquireContext(i,o.aspectRatio),l=s&&s.canvas,u=l&&l.height,c=l&&l.width;this.id=n(),this.ctx=s,this.canvas=l,this.width=c,this.height=u,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Ka,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=de((e=>this.update(e)),o.resizeDelay||0),this._dataChanges=[],vi[this.id]=this,s&&l?(ve.listen(this,"complete",fi),ve.listen(this,"progress",mi),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:n,height:i,_aspectRatio:r}=this;return a(e)?t&&r?r:i?n/i:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}get registry(){return Qa}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():_t(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Et(this.canvas,this.ctx),this}stop(){return ve.stop(this),this}resize(e,t){ve.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const n=this.options,a=this.canvas,i=n.maintainAspectRatio&&this.aspectRatio,r=this.platform.getMaximumSize(a,e,t,i),o=n.devicePixelRatio||this.platform.getDevicePixelRatio(),s=this.width?"resize":"attach";this.width=r.width,this.height=r.height,this._aspectRatio=this.aspectRatio,_t(this,o,!0)&&(this.notifyPlugins("resize",{size:r}),d(n.onResize,[this,r],this),this.attached&&this._doResize(s)&&this.render())}ensureScalesHaveIDs(){h(this.options.scales||{},((e,t)=>{e.id=t}))}buildOrUpdateScales(){const e=this.options,t=e.scales,n=this.scales,a=Object.keys(n).reduce(((e,t)=>(e[t]=!1,e)),{});let i=[];t&&(i=i.concat(Object.keys(t).map((e=>{const n=t[e],a=ei(e,n),i="r"===a,r="x"===a;return{options:n,dposition:i?"chartArea":r?"bottom":"left",dtype:i?"radialLinear":r?"category":"linear"}})))),h(i,(t=>{const i=t.options,r=i.id,o=ei(r,i),s=l(i.type,t.dtype);void 0!==i.position&&hi(i.position,o)===hi(t.dposition)||(i.position=t.dposition),a[r]=!0;let u=null;r in n&&n[r].type===s?u=n[r]:(u=new(Qa.getScale(s))({id:r,type:s,ctx:this.ctx,chart:this}),n[u.id]=u),u.init(i,e)})),h(a,((e,t)=>{e||delete n[t]})),h(n,(e=>{ea.configure(this,e,e.options),ea.addBox(this,e)}))}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,n=e.length;if(e.sort(((e,t)=>e.index-t.index)),n>t){for(let e=t;et.length&&delete this._stacks,e.forEach(((e,n)=>{0===t.filter((t=>t===e._dataset)).length&&this._destroyDatasetMeta(n)}))}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let n,a;for(this._removeUnreferencedMetasets(),n=0,a=t.length;n{this.getDatasetMeta(t).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const n=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),a=this._animationsDisabled=!n.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let e=0,t=this.data.datasets.length;e{e.reset()})),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(pi("z","_idx"));const{_active:o,_lastEvent:s}=this;s?this._eventHandler(s,!0):o.length&&this._updateHoverStyles(o,o,!0),this.render()}_updateScales(){h(this.scales,(e=>{ea.removeBox(this,e)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),n=new Set(e.events);E(t,n)&&!!this._responsiveListeners===e.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:n,start:a,count:i}of t)_i(e,a,"_removeElements"===n?-i:i)}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,n=t=>new Set(e.filter((e=>e[0]===t)).map(((e,t)=>t+","+e.splice(1).join(",")))),a=n(0);for(let e=1;ee.split(","))).map((e=>({method:e[1],start:+e[2],count:+e[3]})))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ea.update(this,this.width,this.height,e);const t=this.chartArea,n=t.width<=0||t.height<=0;this._layers=[],h(this.boxes,(e=>{n&&"chartArea"===e.position||(e.configure&&e.configure(),this._layers.push(...e._layers()))}),this),this._layers.forEach(((e,t)=>{e._idx=t})),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let e=0,t=this.data.datasets.length;e=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,n=e._clip,a=!n.disabled,i=function(e,t){const{xScale:n,yScale:a}=e;return n&&a?{left:yi(n,t,"left"),right:yi(n,t,"right"),top:yi(a,t,"top"),bottom:yi(a,t,"bottom")}:t}(e,this.chartArea),r={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",r)&&(a&&Pt(t,{left:!1===n.left?0:i.left-n.left,right:!1===n.right?this.width:i.right+n.right,top:!1===n.top?0:i.top-n.top,bottom:!1===n.bottom?this.height:i.bottom+n.bottom}),e.controller.draw(),a&&Lt(t),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(e){return Mt(e,this.chartArea,this._minPadding)}getElementsAtEventForMode(e,t,n,a){const i=Fn.modes[t];return"function"==typeof i?i(this,e,n,a):[]}getDatasetMeta(e){const t=this.data.datasets[e],n=this._metasets;let a=n.filter((e=>e&&e._dataset===t)).pop();return a||(a={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},n.push(a)),a}getContext(){return this.$context||(this.$context=Sn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const n=this.getDatasetMeta(e);return"boolean"==typeof n.hidden?!n.hidden:!t.hidden}setDatasetVisibility(e,t){this.getDatasetMeta(e).hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,n){const a=n?"show":"hide",i=this.getDatasetMeta(e),r=i.controller._resolveAnimations(void 0,a);S(t)?(i.data[t].hidden=!n,this.update()):(this.setDatasetVisibility(e,n),r.update(i,{visible:n}),this.update((t=>t.datasetIndex===e?a:void 0)))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),ve.remove(this),e=0,t=this.data.datasets.length;e{t.addEventListener(this,n,a),e[n]=a},a=(e,t,n)=>{e.offsetX=t,e.offsetY=n,this._eventHandler(e)};h(this.options.events,(e=>n(e,a)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,n=(n,a)=>{t.addEventListener(this,n,a),e[n]=a},a=(n,a)=>{e[n]&&(t.removeEventListener(this,n,a),delete e[n])},i=(e,t)=>{this.canvas&&this.resize(e,t)};let r;const o=()=>{a("attach",o),this.attached=!0,this.resize(),n("resize",i),n("detach",r)};r=()=>{this.attached=!1,a("resize",i),this._stop(),this._resize(0,0),n("attach",o)},t.isAttached(this.canvas)?o():r()}unbindEvents(){h(this._listeners,((e,t)=>{this.platform.removeEventListener(this,t,e)})),this._listeners={},h(this._responsiveListeners,((e,t)=>{this.platform.removeEventListener(this,t,e)})),this._responsiveListeners=void 0}updateHoverStyle(e,t,n){const a=n?"set":"remove";let i,r,o,s;for("dataset"===t&&(i=this.getDatasetMeta(e[0].datasetIndex),i.controller["_"+a+"DatasetHoverStyle"]()),o=0,s=e.length;o{const n=this.getDatasetMeta(e);if(!n)throw new Error("No dataset found at index "+e);return{datasetIndex:e,element:n.data[t],index:t}}));!p(n,t)&&(this._active=n,this._lastEvent=null,this._updateHoverStyles(n,t))}notifyPlugins(e,t,n){return this._plugins.notify(this,e,t,n)}isPluginEnabled(e){return 1===this._plugins._cache.filter((t=>t.plugin.id===e)).length}_updateHoverStyles(e,t,n){const a=this.options.hover,i=(e,t)=>e.filter((e=>!t.some((t=>e.datasetIndex===t.datasetIndex&&e.index===t.index)))),r=i(t,e),o=n?e:i(e,t);r.length&&this.updateHoverStyle(r,a.mode,!1),o.length&&a.mode&&this.updateHoverStyle(o,a.mode,!0)}_eventHandler(e,t){const n={event:e,replay:t,cancelable:!0,inChartArea:this.isPointInArea(e)},a=t=>(t.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",n,a))return;const i=this._handleEvent(e,t,n.inChartArea);return n.cancelable=!1,this.notifyPlugins("afterEvent",n,a),(i||n.changed)&&this.render(),this}_handleEvent(e,t,n){const{_active:a=[],options:i}=this,r=t,o=this._getActiveElements(e,a,n,r),s=T(e),l=function(e,t,n,a){return n&&"mouseout"!==e.type?a?t:e:null}(e,this._lastEvent,n,s);n&&(this._lastEvent=null,d(i.onHover,[e,o,this],this),s&&d(i.onClick,[e,o,this],this));const u=!p(o,a);return(u||t)&&(this._active=o,this._updateHoverStyles(o,a,t)),this._lastEvent=l,u}_getActiveElements(e,t,n,a){if("mouseout"===e.type)return[];if(!n)return t;const i=this.options.hover;return this.getElementsAtEventForMode(e,i.mode,i,a)}}function ki(){return h(wi.instances,(e=>e._plugins.invalidate()))}function xi(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Si{static override(e){Object.assign(Si.prototype,e)}options;constructor(e){this.options=e||{}}init(){}formats(){return xi()}parse(){return xi()}format(){return xi()}add(){return xi()}diff(){return xi()}startOf(){return xi()}endOf(){return xi()}}var Ci={_date:Si};function Ei(e){const t=e.iScale,n=function(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let a=[];for(let t=0,i=n.length;te-t)))}return e._cache.$bar}(t,e.type);let a,i,r,o,s=t._length;const l=()=>{32767!==r&&-32768!==r&&(S(o)&&(s=Math.min(s,Math.abs(r-o)||s)),o=r)};for(a=0,i=n.length;aMath.abs(s)&&(l=s,u=o),t[n.axis]=u,t._custom={barStart:l,barEnd:u,start:i,end:r,min:o,max:s}}(e,t,n,a):t[n.axis]=n.parse(e,a),t}function Ai(e,t,n,a){const i=e.iScale,r=e.vScale,o=i.getLabels(),s=i===r,l=[];let u,c,d,h;for(u=n,c=n+a;ue.x,n="left",a="right"):(t=e.base"spacing"!==e,_indexable:e=>"spacing"!==e&&!e.startsWith("borderDash")&&!e.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:n,color:a}}=e.legend.options;return t.labels.map(((t,i)=>{const r=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,fontColor:a,lineWidth:r.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}}))}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}}};constructor(e,t){super(e,t),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(e,t){const n=this.getDataset().data,a=this._cachedMeta;if(!1===this._parsing)a._parsed=n;else{let i,o,s=e=>+n[e];if(r(n[e])){const{key:e="value"}=this._parsing;s=t=>+k(n[t],e)}for(i=e,o=e+t;iZ(e,s,l,!0)?1:Math.max(t,t*n,a,a*n),f=(e,t,a)=>Z(e,s,l,!0)?-1:Math.min(t,t*n,a,a*n),m=p(0,u,d),g=p(N,c,h),v=f(A,u,d),b=f(A+N,c,h);a=(m-v)/2,i=(g-b)/2,r=-(m+v)/2,o=-(g+b)/2}return{ratioX:a,ratioY:i,offsetX:r,offsetY:o}}(h,d,s),v=(n.width-r)/p,b=(n.height-r)/f,_=Math.max(Math.min(v,b)/2,0),y=c(this.options.radius,_),w=(y-Math.max(y*s,0))/this._getVisibleDatasetWeightTotal();this.offsetX=m*y,this.offsetY=g*y,a.total=this.calculateTotal(),this.outerRadius=y-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*l,0),this.updateElements(i,0,i.length,e)}_circumference(e,t){const n=this.options,a=this._cachedMeta,i=this._getCircumference();return t&&n.animation.animateRotate||!this.chart.getDataVisibility(e)||null===a._parsed[e]||a.data[e].hidden?0:this.calculateCircumference(a._parsed[e]*i/M)}updateElements(e,t,n,a){const i="reset"===a,r=this.chart,o=r.chartArea,s=r.options.animation,l=(o.left+o.right)/2,u=(o.top+o.bottom)/2,c=i&&s.animateScale,d=c?0:this.innerRadius,h=c?0:this.outerRadius,{sharedOptions:p,includeOptions:f}=this._getSharedOptions(t,a);let m,g=this._getRotation();for(m=0;m0&&!isNaN(e)?M*(Math.abs(e)/t):0}getLabelAndValue(e){const t=this._cachedMeta,n=this.chart,a=n.data.labels||[],i=et(t._parsed[e],n.options.locale);return{label:a[e]||"",value:i}}getMaxBorderWidth(e){let t=0;const n=this.chart;let a,i,r,o,s;if(!e)for(a=0,i=n.data.datasets.length;a{const r=e.getDatasetMeta(0).controller.getStyle(i);return{text:t,fillStyle:r.backgroundColor,strokeStyle:r.borderColor,fontColor:a,lineWidth:r.borderWidth,pointStyle:n,hidden:!e.getDataVisibility(i),index:i}}))}return[]}},onClick(e,t,n){n.chart.toggleDataVisibility(t.index),n.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(e,t){super(e,t),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(e){const t=this._cachedMeta,n=this.chart,a=n.data.labels||[],i=et(t._parsed[e].r,n.options.locale);return{label:a[e]||"",value:i}}parseObjectData(e,t,n,a){return Zt.bind(this)(e,t,n,a)}update(e){const t=this._cachedMeta.data;this._updateRadius(),this.updateElements(t,0,t.length,e)}getMinMax(){const e=this._cachedMeta,t={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return e.data.forEach(((e,n)=>{const a=this.getParsed(n).r;!isNaN(a)&&this.chart.getDataVisibility(n)&&(at.max&&(t.max=a))})),t}_updateRadius(){const e=this.chart,t=e.chartArea,n=e.options,a=Math.min(t.right-t.left,t.bottom-t.top),i=Math.max(a/2,0),r=(i-Math.max(n.cutoutPercentage?i/100*n.cutoutPercentage:1,0))/e.getVisibleDatasetCount();this.outerRadius=i-r*this.index,this.innerRadius=this.outerRadius-r}updateElements(e,t,n,a){const i="reset"===a,r=this.chart,o=r.options.animation,s=this._cachedMeta.rScale,l=s.xCenter,u=s.yCenter,c=s.getIndexAngle(0)-.5*A;let d,h=c;const p=360/this.countVisibleElements();for(d=0;d{!isNaN(this.getParsed(n).r)&&this.chart.getDataVisibility(n)&&t++})),t}_computeAngle(e,t,n){return this.chart.getDataVisibility(e)?U(this.resolveDataElementOptions(e,t).angle||n):0}}var zi=Object.freeze({__proto__:null,BarController:class extends Ia{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(e,t,n,a){return Ai(e,t,n,a)}parseArrayData(e,t,n,a){return Ai(e,t,n,a)}parseObjectData(e,t,n,a){const{iScale:i,vScale:r}=e,{xAxisKey:o="x",yAxisKey:s="y"}=this._parsing,l="x"===i.axis?o:s,u="x"===r.axis?o:s,c=[];let d,h,p,f;for(d=n,h=n+a;de.controller.options.grouped)),r=n.options.stacked,o=[],s=this._cachedMeta.controller.getParsed(t),l=s&&s[n.axis],u=e=>{const t=e._parsed.find((e=>e[n.axis]===l)),i=t&&t[e.vScale.axis];if(a(i)||isNaN(i))return!0};for(const n of i)if((void 0===t||!u(n))&&((!1===r||-1===o.indexOf(n.stack)||void 0===r&&void 0===n.stack)&&o.push(n.stack),n.index===e))break;return o.length||o.push(void 0),o}_getStackCount(e){return this._getStacks(void 0,e).length}_getStackIndex(e,t,n){const a=this._getStacks(e,n),i=void 0!==t?a.indexOf(t):-1;return-1===i?a.length-1:i}_getRuler(){const e=this.options,t=this._cachedMeta,n=t.iScale,a=[];let i,r;for(i=0,r=t.data.length;i=n?1:-1)}(h,t,s)*o,p===s&&(v-=h/2);const e=t.getPixelForDecimal(0),a=t.getPixelForDecimal(1),r=Math.min(e,a),u=Math.max(e,a);v=Math.max(Math.min(v,u),r),d=v+h,n&&!c&&(l._stacks[t.axis]._visualValues[i]=t.getValueForPixel(d)-t.getValueForPixel(v))}if(v===t.getPixelForValue(s)){const e=q(h)*t.getLineWidthForValue(s)/2;v+=e,h-=e}return{size:h,base:v,head:d,center:d+h/2}}_calculateBarIndexPixels(e,t){const n=t.scale,i=this.options,r=i.skipNull,o=l(i.maxBarThickness,1/0);let s,u;if(t.grouped){const n=r?this._getStackCount(e):t.stackCount,l="flex"===i.barThickness?function(e,t,n,a){const i=t.pixels,r=i[e];let o=e>0?i[e-1]:null,s=e=0;--n)t=Math.max(t,e[n].size(this.resolveDataElementOptions(n))/2);return t>0&&t}getLabelAndValue(e){const t=this._cachedMeta,n=this.chart.data.labels||[],{xScale:a,yScale:i}=t,r=this.getParsed(e),o=a.getLabelForValue(r.x),s=i.getLabelForValue(r.y),l=r._custom;return{label:n[e]||"",value:"("+o+", "+s+(l?", "+l:"")+")"}}update(e){const t=this._cachedMeta.data;this.updateElements(t,0,t.length,e)}updateElements(e,t,n,a){const i="reset"===a,{iScale:r,vScale:o}=this._cachedMeta,{sharedOptions:s,includeOptions:l}=this._getSharedOptions(t,a),u=r.axis,c=o.axis;for(let d=t;d0&&this.getParsed(t-1);for(let n=0;n<_;++n){const f=e[n],_=v?f:{};if(n=b){_.skip=!0;continue}const w=this.getParsed(n),k=a(w[p]),x=_[h]=o.getPixelForValue(w[h],n),S=_[p]=r||k?s.getBasePixel():s.getPixelForValue(l?this.applyStack(s,w,l):w[p],n);_.skip=isNaN(x)||isNaN(S)||k,_.stop=n>0&&Math.abs(w[h]-y[h])>g,m&&(_.parsed=w,_.raw=u.data[n]),d&&(_.options=c||this.resolveDataElementOptions(n,f.active?"active":i)),v||this.updateElement(f,n,_,i),y=w}}getMaxOverflow(){const e=this._cachedMeta,t=e.dataset,n=t.options&&t.options.borderWidth||0,a=e.data||[];if(!a.length)return n;const i=a[0].size(this.resolveDataElementOptions(0)),r=a[a.length-1].size(this.resolveDataElementOptions(a.length-1));return Math.max(n,i,r)/2}draw(){const e=this._cachedMeta;e.dataset.updateControlPoints(this.chart.chartArea,e.iScale.axis),super.draw()}},PieController:class extends Ri{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Ii,RadarController:class extends Ia{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(e){const t=this._cachedMeta.vScale,n=this.getParsed(e);return{label:t.getLabels()[e],value:""+t.getLabelForValue(n[t.axis])}}parseObjectData(e,t,n,a){return Zt.bind(this)(e,t,n,a)}update(e){const t=this._cachedMeta,n=t.dataset,a=t.data||[],i=t.iScale.getLabels();if(n.points=a,"resize"!==e){const t=this.resolveDatasetElementOptions(e);this.options.showLine||(t.borderWidth=0);const r={_loop:!0,_fullLoop:i.length===a.length,options:t};this.updateElement(n,void 0,r,e)}this.updateElements(a,0,a.length,e)}updateElements(e,t,n,a){const i=this._cachedMeta.rScale,r="reset"===a;for(let o=t;o0&&this.getParsed(t-1);for(let c=t;c0&&Math.abs(n[p]-_[p])>v,g&&(m.parsed=n,m.raw=u.data[c]),h&&(m.options=d||this.resolveDataElementOptions(c,t.active?"active":i)),b||this.updateElement(t,c,m,i),_=n}this.updateSharedOptions(d,i,c)}getMaxOverflow(){const e=this._cachedMeta,t=e.data||[];if(!this.options.showLine){let e=0;for(let n=t.length-1;n>=0;--n)e=Math.max(e,t[n].size(this.resolveDataElementOptions(n))/2);return e>0&&e}const n=e.dataset,a=n.options&&n.options.borderWidth||0;if(!t.length)return a;const i=t[0].size(this.resolveDataElementOptions(0)),r=t[t.length-1].size(this.resolveDataElementOptions(t.length-1));return Math.max(a,i,r)/2}}});function qi(e,t,n,a){return{x:n+e*Math.cos(t),y:a+e*Math.sin(t)}}function Di(e,t,n,a,i,r){const{x:o,y:s,startAngle:l,pixelMargin:u,innerRadius:c}=t,d=Math.max(t.outerRadius+a+n-u,0),h=c>0?c+a+n+u:0;let p=0;const f=i-l;if(a){const e=((c>0?c-a:0)+(d>0?d-a:0))/2;p=(f-(0!==e?f*e/(e+a):f))/2}const m=(f-Math.max(.001,f*d-n/A)/d)/2,g=l+m+p,v=i-m-p,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:w}=function(e,t,n,a){const i=vn(e.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),r=(n-t)/2,o=Math.min(r,a*t/2),s=e=>{const t=(n-Math.min(r,e))*a/2;return J(e,0,Math.min(r,t))};return{outerStart:s(i.outerStart),outerEnd:s(i.outerEnd),innerStart:J(i.innerStart,0,o),innerEnd:J(i.innerEnd,0,o)}}(t,h,d,v-g),k=d-b,x=d-_,S=g+b/k,C=v-_/x,E=h+y,T=h+w,M=g+y/E,P=v-w/T;if(e.beginPath(),r){const t=(S+C)/2;if(e.arc(o,s,d,S,t),e.arc(o,s,d,t,C),_>0){const t=qi(x,C,o,s);e.arc(t.x,t.y,_,C,v+N)}const n=qi(T,v,o,s);if(e.lineTo(n.x,n.y),w>0){const t=qi(T,P,o,s);e.arc(t.x,t.y,w,v+N,P+Math.PI)}const a=(v-w/h+(g+y/h))/2;if(e.arc(o,s,h,v-w/h,a,!0),e.arc(o,s,h,a,g+y/h,!0),y>0){const t=qi(E,M,o,s);e.arc(t.x,t.y,y,M+Math.PI,g-N)}const i=qi(k,g,o,s);if(e.lineTo(i.x,i.y),b>0){const t=qi(k,S,o,s);e.arc(t.x,t.y,b,g-N,S)}}else{e.moveTo(o,s);const t=Math.cos(S)*d+o,n=Math.sin(S)*d+s;e.lineTo(t,n);const a=Math.cos(C)*d+o,i=Math.sin(C)*d+s;e.lineTo(a,i)}e.closePath()}function ji(e,t,n=t){e.lineCap=l(n.borderCapStyle,t.borderCapStyle),e.setLineDash(l(n.borderDash,t.borderDash)),e.lineDashOffset=l(n.borderDashOffset,t.borderDashOffset),e.lineJoin=l(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=l(n.borderWidth,t.borderWidth),e.strokeStyle=l(n.borderColor,t.borderColor)}function $i(e,t,n){e.lineTo(n.x,n.y)}function Bi(e,t,n={}){const a=e.length,{start:i=0,end:r=a-1}=n,{start:o,end:s}=t,l=Math.max(i,o),u=Math.min(r,s),c=is&&r>s;return{count:a,start:l,loop:t.loop,ilen:u(o+(u?s-e:e))%r,_=()=>{p!==f&&(e.lineTo(g,f),e.lineTo(g,p),e.lineTo(g,m))};for(l&&(d=i[b(0)],e.moveTo(d.x,d.y)),c=0;c<=s;++c){if(d=i[b(c)],d.skip)continue;const t=d.x,n=d.y,a=0|t;a===h?(nf&&(f=n),g=(v*g+t)/++v):(_(),e.lineTo(t,n),h=a,v=0,p=f=n),m=n}_()}function Ui(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return e._decimated||e._loop||t.tension||"monotone"===t.cubicInterpolationMode||t.stepped||n?Fi:Vi}const Hi="function"==typeof Path2D;class Wi extends za{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e};constructor(e){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,e&&Object.assign(this,e)}updateControlPoints(e,t){const n=this.options;if((n.tension||"monotone"===n.cubicInterpolationMode)&&!n.stepped&&!this._pointsUpdated){const a=n.spanGaps?this._loop:this._fullLoop;rn(this._points,n,e,a,t),this._pointsUpdated=!0}}set points(e){this._points=e,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=On(this,this.options.segment))}first(){const e=this.segments,t=this.points;return e.length&&t[e[0].start]}last(){const e=this.segments,t=this.points,n=e.length;return n&&t[e[n-1].end]}interpolate(e,t){const n=this.options,a=e[t],i=this.points,r=Ln(this,{property:t,start:a,end:a});if(!r.length)return;const o=[],s=function(e){return e.stepped?dn:e.tension||"monotone"===e.cubicInterpolationMode?hn:cn}(n);let l,u;for(l=0,u=r.length;l"borderDash"!==e};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,n){const a=this.getProps(["x","y"],n),{angle:i,distance:r}=Y(a,{x:e,y:t}),{startAngle:o,endAngle:s,innerRadius:u,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],n),h=(this.options.spacing+this.options.borderWidth)/2,p=l(d,s-o),f=Z(i,o,s)&&o!==s,m=p>=M||f,g=ee(r,u+h,c+h);return m&&g}getCenterPoint(e){const{x:t,y:n,startAngle:a,endAngle:i,innerRadius:r,outerRadius:o}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:s,spacing:l}=this.options,u=(a+i)/2,c=(r+o+l+s)/2;return{x:t+Math.cos(u)*c,y:n+Math.sin(u)*c}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:t,circumference:n}=this,a=(t.offset||0)/4,i=(t.spacing||0)/2,r=t.circular;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=n>M?Math.floor(n/M):0,0===n||this.innerRadius<0||this.outerRadius<0)return;e.save();const o=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(o)*a,Math.sin(o)*a);const s=a*(1-Math.sin(Math.min(A,n||0)));e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor,function(e,t,n,a,i){const{fullCircles:r,startAngle:o,circumference:s}=t;let l=t.endAngle;if(r){Di(e,t,n,a,l,i);for(let t=0;ti?(u=i/l,e.arc(r,o,l,n+u,a-u,!0)):e.arc(r,o,i,n+N,a-N),e.closePath(),e.clip()}(e,t,f),r||(Di(e,t,n,a,f,i),e.stroke())}(e,this,s,i,r),e.restore()}},BarElement:class extends za{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){const{inflateAmount:t,options:{borderColor:n,backgroundColor:a}}=this,{inner:i,outer:r}=Gi(this),o=(s=r.radius).topLeft||s.topRight||s.bottomLeft||s.bottomRight?qt:Ji;var s;e.save(),r.w===i.w&&r.h===i.h||(e.beginPath(),o(e,Xi(r,t,i)),e.clip(),o(e,Xi(i,-t,r)),e.fillStyle=n,e.fill("evenodd")),e.beginPath(),o(e,Xi(i,t)),e.fillStyle=a,e.fill(),e.restore()}inRange(e,t,n){return Zi(this,e,t,n)}inXRange(e,t){return Zi(this,e,null,t)}inYRange(e,t){return Zi(this,null,e,t)}getCenterPoint(e){const{x:t,y:n,base:a,horizontal:i}=this.getProps(["x","y","base","horizontal"],e);return{x:i?(t+a)/2:t,y:i?n:(n+a)/2}}getRange(e){return"x"===e?this.width/2:this.height/2}},LineElement:Wi,PointElement:class extends za{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(e){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,e&&Object.assign(this,e)}inRange(e,t,n){const a=this.options,{x:i,y:r}=this.getProps(["x","y"],n);return Math.pow(e-i,2)+Math.pow(t-r,2)=0&&ea=t?a:e,o=e=>i=n?i:e;if(e){const e=q(a),t=q(i);e<0&&t<0?o(0):e>0&&t>0&&r(0)}if(a===i){let t=0===i?1:Math.abs(.05*i);o(i+t),e||r(a-t)}this.min=a,this.max=i}getTickLimit(){const e=this.options.ticks;let t,{maxTicksLimit:n,stepSize:a}=e;return a?(t=Math.ceil(this.max/a)-Math.floor(this.min/a)+1,t>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${a} would result generating up to ${t} ticks. Limiting to 1000.`),t=1e3)):(t=this.computeTickLimit(),n=n||11),n&&(t=Math.min(n,t)),t}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,t=e.ticks;let n=this.getTickLimit();n=Math.max(2,n);const i=function(e,t){const n=[],{bounds:i,step:r,min:o,max:s,precision:l,count:u,maxTicks:c,maxDigits:d,includeBounds:h}=e,p=r||1,f=c-1,{min:m,max:g}=t,v=!a(o),b=!a(s),_=!a(u),y=(g-m)/(d+1);let w,k,x,S,C=j((g-m)/f/p)*p;if(C<1e-14&&!v&&!b)return[{value:m},{value:g}];S=Math.ceil(g/C)-Math.floor(m/C),S>f&&(C=j(S*C/f/p)*p),a(l)||(w=Math.pow(10,l),C=Math.ceil(C*w)/w),"ticks"===i?(k=Math.floor(m/C)*C,x=Math.ceil(g/C)*C):(k=m,x=g),v&&b&&r&&F((s-o)/r,C/1e3)?(S=Math.round(Math.min((s-o)/C,c)),C=(s-o)/S,k=o,x=s):_?(k=v?o:k,x=b?s:x,S=u-1,C=(x-k)/S):(S=(x-k)/C,S=D(S,Math.round(S),C/1e3)?Math.round(S):Math.ceil(S));const E=Math.max(W(C),W(k));w=Math.pow(10,a(l)?E:l),k=Math.round(k*w)/w,x=Math.round(x*w)/w;let T=0;for(v&&(h&&k!==o?(n.push({value:o}),ks)break;n.push({value:e})}return b&&h&&x!==s?n.length&&D(n[n.length-1].value,s,nr(s,y,e))?n[n.length-1].value=s:n.push({value:s}):b&&x!==s||n.push({value:x}),n}({maxTicks:n,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===e.bounds&&V(i,this,"value"),e.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}configure(){const e=this.ticks;let t=this.min,n=this.max;if(super.configure(),this.options.offset&&e.length){const a=(n-t)/Math.max(e.length-1,1)/2;t-=a,n+=a}this._startValue=t,this._endValue=n,this._valueRange=n-t}getLabelForValue(e){return et(e,this.chart.options.locale,this.options.ticks.format)}}class ir extends ar{static id="linear";static defaults={ticks:{callback:nt.formatters.numeric}};determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=o(e)?e:0,this.max=o(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const e=this.isHorizontal(),t=e?this.width:this.height,n=U(this.options.ticks.minRotation),a=(e?Math.sin(n):Math.cos(n))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,i.lineHeight/a))}getPixelForValue(e){return null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}}const rr=e=>Math.floor(z(e)),or=(e,t)=>Math.pow(10,rr(e)+t);function sr(e){return 1==e/Math.pow(10,rr(e))}function lr(e,t,n){const a=Math.pow(10,n),i=Math.floor(e/a);return Math.ceil(t/a)-i}class ur extends Wa{static id="logarithmic";static defaults={ticks:{callback:nt.formatters.logarithmic,major:{enabled:!0}}};constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){const n=ar.prototype.parse.apply(this,[e,t]);if(0!==n)return o(n)&&n>0?n:null;this._zero=!0}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=o(e)?Math.max(0,e):null,this.max=o(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!o(this._userMin)&&(this.min=e===or(this.min,0)?or(this.min,-1):or(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let n=this.min,a=this.max;const i=t=>n=e?n:t,r=e=>a=t?a:e;n===a&&(n<=0?(i(1),r(10)):(i(or(n,-1)),r(or(a,1)))),n<=0&&i(or(a,-1)),a<=0&&r(or(n,1)),this.min=n,this.max=a}buildTicks(){const e=this.options,t=function(e,{min:t,max:n}){t=s(e.min,t);const a=[],i=rr(t);let r=function(e,t){let n=rr(t-e);for(;lr(e,t,n)>10;)n++;for(;lr(e,t,n)<10;)n--;return Math.min(n,rr(e))}(t,n),o=r<0?Math.pow(10,Math.abs(r)):1;const l=Math.pow(10,r),u=i>r?Math.pow(10,i):0,c=Math.round((t-u)*o)/o,d=Math.floor((t-u)/l/10)*l*10;let h=Math.floor((c-d)/Math.pow(10,r)),p=s(e.min,Math.round((u+d+h*Math.pow(10,r))*o)/o);for(;p=10?h=h<15?15:20:h++,h>=20&&(r++,h=2,o=r>=0?1:o),p=Math.round((u+d+h*Math.pow(10,r))*o)/o;const f=s(e.max,p);return a.push({value:f,major:sr(f),significand:h}),a}({min:this._userMin,max:this._userMax},this);return"ticks"===e.bounds&&V(t,this,"value"),e.reverse?(t.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),t}getLabelForValue(e){return void 0===e?"0":et(e,this.chart.options.locale,this.options.ticks.format)}configure(){const e=this.min;super.configure(),this._startValue=z(e),this._valueRange=z(this.max)-z(e)}getPixelForValue(e){return void 0!==e&&0!==e||(e=this.min),null===e||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(z(e)-this._startValue)/this._valueRange)}getValueForPixel(e){const t=this.getDecimalForPixel(e);return Math.pow(10,this._startValue+t*this._valueRange)}}function cr(e){const t=e.ticks;if(t.display&&e.display){const e=yn(t.backdropPadding);return l(t.font&&t.font.size,st.font.size)+e.height}return 0}function dr(e,t,n,a,i){return e===a||e===i?{start:t-n/2,end:t+n/2}:ei?{start:t-n,end:t}:{start:t,end:t+n}}function hr(e,t,n,a,i){const r=Math.abs(Math.sin(n)),o=Math.abs(Math.cos(n));let s=0,l=0;a.startt.r&&(s=(a.end-t.r)/r,e.r=Math.max(e.r,t.r+s)),i.startt.b&&(l=(i.end-t.b)/o,e.b=Math.max(e.b,t.b+l))}function pr(e,t,n){const a=e.drawingArea,{extra:i,additionalAngle:r,padding:o,size:s}=n,l=e.getPointPosition(t,a+i+o,r),u=Math.round(H(G(l.angle+N))),c=function(e,t,n){return 90===n||270===n?e-=t/2:(n>270||n<90)&&(e-=t),e}(l.y,s.h,u),d=function(e){return 0===e||180===e?"center":e<180?"left":"right"}(u),h=function(e,t,n){return"right"===n?e-=t:"center"===n&&(e-=t/2),e}(l.x,s.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:h,top:c,right:h+s.w,bottom:c+s.h}}function fr(e,t){if(!t)return!0;const{left:n,top:a,right:i,bottom:r}=e;return!(Mt({x:n,y:a},t)||Mt({x:n,y:r},t)||Mt({x:i,y:a},t)||Mt({x:i,y:r},t))}function mr(e,t,n){const{left:i,top:r,right:o,bottom:s}=n,{backdropColor:l}=t;if(!a(l)){const n=_n(t.borderRadius),a=yn(t.backdropPadding);e.fillStyle=l;const u=i-a.left,c=r-a.top,d=o-i+a.width,h=s-r+a.height;Object.values(n).some((e=>0!==e))?(e.beginPath(),qt(e,{x:u,y:c,w:d,h:h,radius:n}),e.fill()):e.fillRect(u,c,d,h)}}function gr(e,t,n,a){const{ctx:i}=e;if(n)i.arc(e.xCenter,e.yCenter,t,0,M);else{let n=e.getPointPosition(0,t);i.moveTo(n.x,n.y);for(let r=1;re,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const e=this._padding=yn(cr(this.options)/2),t=this.width=this.maxWidth-e.width,n=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+n/2+e.top),this.drawingArea=Math.floor(Math.min(t,n)/2)}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!1);this.min=o(e)&&!isNaN(e)?e:0,this.max=o(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/cr(this.options))}generateTickLabels(e){ar.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map(((e,t)=>{const n=d(this.options.pointLabels.callback,[e,t],this);return n||0===n?n:""})).filter(((e,t)=>this.chart.getDataVisibility(t)))}fit(){const e=this.options;e.display&&e.pointLabels.display?function(e){const t={l:e.left+e._padding.left,r:e.right-e._padding.right,t:e.top+e._padding.top,b:e.bottom-e._padding.bottom},n=Object.assign({},t),a=[],r=[],o=e._pointLabels.length,s=e.options.pointLabels,l=s.centerPointLabels?A/o:0;for(let h=0;h=0&&e=0;i--){const t=e._pointLabelItems[i];if(!t.visible)continue;const r=a.setContext(e.getPointLabelContext(i));mr(n,r,t);const o=wn(r.font),{x:s,y:l,textAlign:u}=t;zt(n,e._pointLabels[i],s,l+o.lineHeight/2,o,{color:r.color,textAlign:u,textBaseline:"middle"})}}(this,r),a.display&&this.ticks.forEach(((e,t)=>{if(0!==t||0===t&&this.min<0){s=this.getDistanceFromCenterForValue(e.value);const n=this.getContext(t),o=a.setContext(n),l=i.setContext(n);!function(e,t,n,a,i){const r=e.ctx,o=t.circular,{color:s,lineWidth:l}=t;!o&&!a||!s||!l||n<0||(r.save(),r.strokeStyle=s,r.lineWidth=l,r.setLineDash(i.dash),r.lineDashOffset=i.dashOffset,r.beginPath(),gr(e,n,o,a),r.closePath(),r.stroke(),r.restore())}(this,o,s,r,l)}})),n.display){for(e.save(),o=r-1;o>=0;o--){const a=n.setContext(this.getPointLabelContext(o)),{color:i,lineWidth:r}=a;r&&i&&(e.lineWidth=r,e.strokeStyle=i,e.setLineDash(a.borderDash),e.lineDashOffset=a.borderDashOffset,s=this.getDistanceFromCenterForValue(t.reverse?this.min:this.max),l=this.getPointPosition(o,s),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(l.x,l.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,t=this.options,n=t.ticks;if(!n.display)return;const a=this.getIndexAngle(0);let i,r;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(a),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach(((a,o)=>{if(0===o&&this.min>=0&&!t.reverse)return;const s=n.setContext(this.getContext(o)),l=wn(s.font);if(i=this.getDistanceFromCenterForValue(this.ticks[o].value),s.showLabelBackdrop){e.font=l.string,r=e.measureText(a.label).width,e.fillStyle=s.backdropColor;const t=yn(s.backdropPadding);e.fillRect(-r/2-t.left,-i-l.size/2-t.top,r+t.width,l.size+t.height)}zt(e,a.label,0,-i,l,{color:s.color,strokeColor:s.textStrokeColor,strokeWidth:s.textStrokeWidth})})),e.restore()}drawTitle(){}}const br={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},_r=Object.keys(br);function yr(e,t){return e-t}function wr(e,t){if(a(t))return null;const n=e._adapter,{parser:i,round:r,isoWeekday:s}=e._parseOpts;let l=t;return"function"==typeof i&&(l=i(l)),o(l)||(l="string"==typeof i?n.parse(l,i):n.parse(l)),null===l?null:(r&&(l="week"!==r||!B(s)&&!0!==s?n.startOf(l,r):n.startOf(l,"isoWeek",s)),+l)}function kr(e,t,n,a){const i=_r.length;for(let r=_r.indexOf(e);r=t?n[a]:n[i]]=!0}}else e[t]=!0}function Sr(e,t,n){const a=[],i={},r=t.length;let o,s;for(o=0;o=0&&(t[l].major=!0);return t}(e,a,i,n):a}class Cr extends Wa{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(e){super(e),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(e,t={}){const n=e.time||(e.time={}),a=this._adapter=new Ci._date(e.adapters.date);a.init(t),b(n.displayFormats,a.formats()),this._parseOpts={parser:n.parser,round:n.round,isoWeekday:n.isoWeekday},super.init(e),this._normalized=t.normalized}parse(e,t){return void 0===e?null:wr(this,e)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const e=this.options,t=this._adapter,n=e.time.unit||"day";let{min:a,max:i,minDefined:r,maxDefined:s}=this.getUserBounds();function l(e){r||isNaN(e.min)||(a=Math.min(a,e.min)),s||isNaN(e.max)||(i=Math.max(i,e.max))}r&&s||(l(this._getLabelBounds()),"ticks"===e.bounds&&"labels"===e.ticks.source||l(this.getMinMax(!1))),a=o(a)&&!isNaN(a)?a:+t.startOf(Date.now(),n),i=o(i)&&!isNaN(i)?i:+t.endOf(Date.now(),n)+1,this.min=Math.min(a,i-1),this.max=Math.max(a+1,i)}_getLabelBounds(){const e=this.getLabelTimestamps();let t=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;return e.length&&(t=e[0],n=e[e.length-1]),{min:t,max:n}}buildTicks(){const e=this.options,t=e.time,n=e.ticks,a="labels"===n.source?this.getLabelTimestamps():this._generate();"ticks"===e.bounds&&a.length&&(this.min=this._userMin||a[0],this.max=this._userMax||a[a.length-1]);const i=this.min,r=ie(a,i,this.max);return this._unit=t.unit||(n.autoSkip?kr(t.minUnit,this.min,this.max,this._getLabelCapacity(i)):function(e,t,n,a,i){for(let r=_r.length-1;r>=_r.indexOf(n);r--){const n=_r[r];if(br[n].common&&e._adapter.diff(i,a,n)>=t-1)return n}return _r[n?_r.indexOf(n):0]}(this,r.length,t.minUnit,this.min,this.max)),this._majorUnit=n.major.enabled&&"year"!==this._unit?function(e){for(let t=_r.indexOf(e)+1,n=_r.length;t+e.value)))}initOffsets(e=[]){let t,n,a=0,i=0;this.options.offset&&e.length&&(t=this.getDecimalForValue(e[0]),a=1===e.length?1-t:(this.getDecimalForValue(e[1])-t)/2,n=this.getDecimalForValue(e[e.length-1]),i=1===e.length?n:(n-this.getDecimalForValue(e[e.length-2]))/2);const r=e.length<3?.5:.25;a=J(a,0,r),i=J(i,0,r),this._offsets={start:a,end:i,factor:1/(a+1+i)}}_generate(){const e=this._adapter,t=this.min,n=this.max,a=this.options,i=a.time,r=i.unit||kr(i.minUnit,t,n,this._getLabelCapacity(t)),o=l(a.ticks.stepSize,1),s="week"===r&&i.isoWeekday,u=B(s)||!0===s,c={};let d,h,p=t;if(u&&(p=+e.startOf(p,"isoWeek",s)),p=+e.startOf(p,u?"day":r),e.diff(n,t,r)>1e5*o)throw new Error(t+" and "+n+" are too far apart with stepSize of "+o+" "+r);const f="data"===a.ticks.source&&this.getDataTimestamps();for(d=p,h=0;d+e))}getLabelForValue(e){const t=this._adapter,n=this.options.time;return n.tooltipFormat?t.format(e,n.tooltipFormat):t.format(e,n.displayFormats.datetime)}format(e,t){const n=this.options.time.displayFormats,a=this._unit,i=t||n[a];return this._adapter.format(e,i)}_tickFormatFunction(e,t,n,a){const i=this.options,r=i.ticks.callback;if(r)return d(r,[e,t,n],this);const o=i.time.displayFormats,s=this._unit,l=this._majorUnit,u=s&&o[s],c=l&&o[l],h=n[t],p=l&&c&&h&&h.major;return this._adapter.format(e,a||(p?c:u))}generateTickLabels(e){let t,n,a;for(t=0,n=e.length;t0?o:1}getDataTimestamps(){let e,t,n=this._cache.data||[];if(n.length)return n;const a=this.getMatchingVisibleMetas();if(this._normalized&&a.length)return this._cache.data=a[0].controller.getAllParsedValues(this);for(e=0,t=a.length;e=e[s].pos&&t<=e[l].pos&&({lo:s,hi:l}=ne(e,"pos",t)),({pos:a,time:r}=e[s]),({pos:i,time:o}=e[l])):(t>=e[s].time&&t<=e[l].time&&({lo:s,hi:l}=ne(e,"time",t)),({time:a,pos:r}=e[s]),({time:i,pos:o}=e[l]));const u=i-a;return u?r+(o-r)*(t-a)/u:r}var Tr=Object.freeze({__proto__:null,CategoryScale:class extends Wa{static id="category";static defaults={ticks:{callback:tr}};constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const t=this._addedLabels;if(t.length){const e=this.getLabels();for(const{index:n,label:a}of t)e[n]===a&&e.splice(n,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(a(e))return null;const n=this.getLabels();return((e,t)=>null===e?null:J(Math.round(e),0,t))(t=isFinite(t)&&n[t]===e?t:function(e,t,n,a){const i=e.indexOf(t);return-1===i?((e,t,n,a)=>("string"==typeof t?(n=e.push(t)-1,a.unshift({index:n,label:t})):isNaN(t)&&(n=null),n))(e,t,n,a):i!==e.lastIndexOf(t)?n:i}(n,e,l(t,e),this._addedLabels),n.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let{min:n,max:a}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(n=0),t||(a=this.getLabels().length-1)),this.min=n,this.max=a}buildTicks(){const e=this.min,t=this.max,n=this.options.offset,a=[];let i=this.getLabels();i=0===e&&t===i.length-1?i:i.slice(e,t+1),this._valueRange=Math.max(i.length-(n?0:1),1),this._startValue=this.min-(n?.5:0);for(let n=e;n<=t;n++)a.push({value:n});return a}getLabelForValue(e){return tr.call(this,e)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:ir,LogarithmicScale:ur,RadialLinearScale:vr,TimeScale:Cr,TimeSeriesScale:class extends Cr{static id="timeseries";static defaults=Cr.defaults;constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Er(t,this.min),this._tableRange=Er(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:t,max:n}=this,a=[],i=[];let r,o,s,l,u;for(r=0,o=e.length;r=t&&l<=n&&a.push(l);if(a.length<2)return[{time:t,pos:0},{time:n,pos:1}];for(r=0,o=a.length;re-t))}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;const t=this.getDataTimestamps(),n=this.getLabelTimestamps();return e=t.length&&n.length?this.normalize(t.concat(n)):t.length?t:n,e=this._cache.all=e,e}getDecimalForValue(e){return(Er(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){const t=this._offsets,n=this.getDecimalForPixel(e)/t.factor-t.end;return Er(this._table,n*this._tableRange+this._minPos,!0)}}});const Ar=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Mr=Ar.map((e=>e.replace("rgb(","rgba(").replace(")",", 0.5)")));function Pr(e){return Ar[e%Ar.length]}function Lr(e){return Mr[e%Mr.length]}function Or(e){let t;for(t in e)if(e[t].borderColor||e[t].backgroundColor)return!0;return!1}var Nr={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(e,t,n){if(!n.enabled)return;const{data:{datasets:a},options:i}=e.config,{elements:r}=i;if(!n.forceOverride&&(Or(a)||(o=i)&&(o.borderColor||o.backgroundColor)||r&&Or(r)))return;var o;const s=function(e){let t=0;return(n,a)=>{const i=e.getDatasetMeta(a).controller;i instanceof Ri?t=function(e,t){return e.backgroundColor=e.data.map((()=>Pr(t++))),t}(n,t):i instanceof Ii?t=function(e,t){return e.backgroundColor=e.data.map((()=>Lr(t++))),t}(n,t):i&&(t=function(e,t){return e.borderColor=Pr(t),e.backgroundColor=Lr(t),++t}(n,t))}}(e);a.forEach(s)}};function Rr(e){if(e._decimated){const t=e._data;delete e._decimated,delete e._data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,writable:!0,value:t})}}function Ir(e){e.data.datasets.forEach((e=>{Rr(e)}))}var zr={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(e,t,n)=>{if(!n.enabled)return void Ir(e);const i=e.width;e.data.datasets.forEach(((t,r)=>{const{_data:o,indexAxis:s}=t,l=e.getDatasetMeta(r),u=o||t.data;if("y"===kn([s,e.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=e.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(e.options.parsing)return;let d,{start:h,count:p}=function(e,t){const n=t.length;let a,i=0;const{iScale:r}=e,{min:o,max:s,minDefined:l,maxDefined:u}=r.getUserBounds();return l&&(i=J(ne(t,r.axis,o).lo,0,n-1)),a=u?J(ne(t,r.axis,s).hi+1,i,n)-i:n-i,{start:i,count:a}}(l,u);if(p<=(n.threshold||4*i))Rr(t);else{switch(a(o)&&(t._data=u,delete t.data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(e){this._data=e}})),n.algorithm){case"lttb":d=function(e,t,n,a,i){const r=i.samples||a;if(r>=n)return e.slice(t,t+n);const o=[],s=(n-2)/(r-2);let l=0;const u=t+n-1;let c,d,h,p,f,m=t;for(o[l++]=e[m],c=0;ch&&(h=p,d=e[a],f=a);o[l++]=d,m=f}return o[l++]=e[u],o}(u,h,p,i,n);break;case"min-max":d=function(e,t,n,i){let r,o,s,l,u,c,d,h,p,f,m=0,g=0;const v=[],b=t+n-1,_=e[t].x,y=e[b].x-_;for(r=t;rf&&(f=l,d=r),m=(g*m+o.x)/++g;else{const n=r-1;if(!a(c)&&!a(d)){const t=Math.min(c,d),a=Math.max(c,d);t!==h&&t!==n&&v.push({...e[t],x:m}),a!==h&&a!==n&&v.push({...e[a],x:m})}r>0&&n!==h&&v.push(e[n]),v.push(o),u=t,g=0,p=f=l,c=d=h=r}}return v}(u,h,p,i);break;default:throw new Error(`Unsupported decimation algorithm '${n.algorithm}'`)}t._decimated=d}}))},destroy(e){Ir(e)}};function qr(e,t,n,a){if(a)return;let i=t[e],r=n[e];return"angle"===e&&(i=G(i),r=G(r)),{property:e,start:i,end:r}}function Dr(e,t,n){for(;t>e;t--){const e=n[t];if(!isNaN(e.x)&&!isNaN(e.y))break}return t}function jr(e,t,n,a){return e&&t?a(e[n],t[n]):e?e[n]:t?t[n]:0}function $r(e,t){let n=[],a=!1;return i(e)?(a=!0,n=e):n=function(e,t){const{x:n=null,y:a=null}=e||{},i=t.points,r=[];return t.segments.forEach((({start:e,end:t})=>{t=Dr(e,t,i);const o=i[e],s=i[t];null!==a?(r.push({x:o.x,y:a}),r.push({x:s.x,y:a})):null!==n&&(r.push({x:n,y:o.y}),r.push({x:n,y:s.y}))})),r}(e,t),n.length?new Wi({points:n,options:{tension:0},_loop:a,_fullLoop:a}):null}function Br(e){return e&&!1!==e.fill}function Fr(e,t,n){let a=e[t].fill;const i=[t];let r;if(!n)return a;for(;!1!==a&&-1===i.indexOf(a);){if(!o(a))return a;if(r=e[a],!r)return!1;if(r.visible)return a;i.push(a),a=r.fill}return!1}function Vr(e,t,n){const a=function(e){const t=e.options,n=t.fill;let a=l(n&&n.target,n);return void 0===a&&(a=!!t.backgroundColor),!1!==a&&null!==a&&(!0===a?"origin":a)}(e);if(r(a))return!isNaN(a.value)&&a;let i=parseFloat(a);return o(i)&&Math.floor(i)===i?function(e,t,n,a){return"-"!==e&&"+"!==e||(n=t+n),!(n===t||n<0||n>=a)&&n}(a[0],t,i,n):["origin","start","end","stack","shape"].indexOf(a)>=0&&a}function Ur(e,t,n){const a=[];for(let i=0;i=0;--t){const n=i[t].$filler;n&&(n.line.updateControlPoints(r,n.axis),a&&n.fill&&Qr(e.ctx,n,r))}},beforeDatasetsDraw(e,t,n){if("beforeDatasetsDraw"!==n.drawTime)return;const a=e.getSortedVisibleDatasetMetas();for(let t=a.length-1;t>=0;--t){const n=a[t].$filler;Br(n)&&Qr(e.ctx,n,e.chartArea)}},beforeDatasetDraw(e,t,n){const a=t.meta.$filler;Br(a)&&"beforeDatasetDraw"===n.drawTime&&Qr(e.ctx,a,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const eo=(e,t)=>{let{boxHeight:n=t,boxWidth:a=t}=e;return e.usePointStyle&&(n=Math.min(n,t),a=e.pointStyleWidth||Math.min(a,t)),{boxWidth:a,boxHeight:n,itemHeight:Math.max(t,n)}};class to extends za{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,n){this.maxWidth=e,this.maxHeight=t,this._margins=n,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let t=d(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter((t=>e.filter(t,this.chart.data)))),e.sort&&(t=t.sort(((t,n)=>e.sort(t,n,this.chart.data)))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:e,ctx:t}=this;if(!e.display)return void(this.width=this.height=0);const n=e.labels,a=wn(n.font),i=a.size,r=this._computeTitleHeight(),{boxWidth:o,itemHeight:s}=eo(n,i);let l,u;t.font=a.string,this.isHorizontal()?(l=this.maxWidth,u=this._fitRows(r,i,o,s)+10):(u=this.maxHeight,l=this._fitCols(r,a,o,s)+10),this.width=Math.min(l,e.maxWidth||this.maxWidth),this.height=Math.min(u,e.maxHeight||this.maxHeight)}_fitRows(e,t,n,a){const{ctx:i,maxWidth:r,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],l=this.lineWidths=[0],u=a+o;let c=e;i.textAlign="left",i.textBaseline="middle";let d=-1,h=-u;return this.legendItems.forEach(((e,p)=>{const f=n+t/2+i.measureText(e.text).width;(0===p||l[l.length-1]+f+2*o>r)&&(c+=u,l[l.length-(p>0?0:1)]=0,h+=u,d++),s[p]={left:0,top:h,row:d,width:f,height:a},l[l.length-1]+=f+o})),c}_fitCols(e,t,n,a){const{ctx:i,maxHeight:r,options:{labels:{padding:o}}}=this,s=this.legendHitBoxes=[],l=this.columnSizes=[],u=r-e;let c=o,d=0,h=0,p=0,f=0;return this.legendItems.forEach(((e,r)=>{const{itemWidth:m,itemHeight:g}=function(e,t,n,a,i){const r=function(e,t,n,a){let i=e.text;return i&&"string"!=typeof i&&(i=i.reduce(((e,t)=>e.length>t.length?e:t))),t+n.size/2+a.measureText(i).width}(a,e,t,n),o=function(e,t,n){let a=e;return"string"!=typeof t.text&&(a=no(t,n)),a}(i,a,t.lineHeight);return{itemWidth:r,itemHeight:o}}(n,t,i,e,a);r>0&&h+g+2*o>u&&(c+=d+o,l.push({width:d,height:h}),p+=d+o,f++,d=h=0),s[r]={left:p,top:h,col:f,width:m,height:g},d=Math.max(d,m),h+=g+o})),c+=d,l.push({width:d,height:h}),c}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:n,labels:{padding:a},rtl:i}}=this,r=Cn(i,this.left,this.width);if(this.isHorizontal()){let i=0,o=pe(n,this.left+a,this.right-this.lineWidths[i]);for(const s of t)i!==s.row&&(i=s.row,o=pe(n,this.left+a,this.right-this.lineWidths[i])),s.top+=this.top+e+a,s.left=r.leftForLtr(r.x(o),s.width),o+=s.width+a}else{let i=0,o=pe(n,this.top+e+a,this.bottom-this.columnSizes[i].height);for(const s of t)s.col!==i&&(i=s.col,o=pe(n,this.top+e+a,this.bottom-this.columnSizes[i].height)),s.top=o,s.left+=this.left+a,s.left=r.leftForLtr(r.x(s.left),s.width),o+=s.height+a}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;Pt(e,this),this._draw(),Lt(e)}}_draw(){const{options:e,columnSizes:t,lineWidths:n,ctx:a}=this,{align:i,labels:r}=e,o=st.color,s=Cn(e.rtl,this.left,this.width),u=wn(r.font),{padding:c}=r,d=u.size,h=d/2;let p;this.drawTitle(),a.textAlign=s.textAlign("left"),a.textBaseline="middle",a.lineWidth=.5,a.font=u.string;const{boxWidth:f,boxHeight:m,itemHeight:g}=eo(r,d),v=this.isHorizontal(),b=this._computeTitleHeight();p=v?{x:pe(i,this.left+c,this.right-n[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:pe(i,this.top+b+c,this.bottom-t[0].height),line:0},En(this.ctx,e.textDirection);const _=g+c;this.legendItems.forEach(((y,w)=>{a.strokeStyle=y.fontColor,a.fillStyle=y.fontColor;const k=a.measureText(y.text).width,x=s.textAlign(y.textAlign||(y.textAlign=r.textAlign)),S=f+h+k;let C=p.x,E=p.y;if(s.setWidth(this.width),v?w>0&&C+S+c>this.right&&(E=p.y+=_,p.line++,C=p.x=pe(i,this.left+c,this.right-n[p.line])):w>0&&E+_>this.bottom&&(C=p.x=C+t[p.line].width+c,p.line++,E=p.y=pe(i,this.top+b+c,this.bottom-t[p.line].height)),function(e,t,n){if(isNaN(f)||f<=0||isNaN(m)||m<0)return;a.save();const i=l(n.lineWidth,1);if(a.fillStyle=l(n.fillStyle,o),a.lineCap=l(n.lineCap,"butt"),a.lineDashOffset=l(n.lineDashOffset,0),a.lineJoin=l(n.lineJoin,"miter"),a.lineWidth=i,a.strokeStyle=l(n.strokeStyle,o),a.setLineDash(l(n.lineDash,[])),r.usePointStyle){const o={radius:m*Math.SQRT2/2,pointStyle:n.pointStyle,rotation:n.rotation,borderWidth:i},l=s.xPlus(e,f/2);At(a,o,l,t+h,r.pointStyleWidth&&f)}else{const r=t+Math.max((d-m)/2,0),o=s.leftForLtr(e,f),l=_n(n.borderRadius);a.beginPath(),Object.values(l).some((e=>0!==e))?qt(a,{x:o,y:r,w:f,h:m,radius:l}):a.rect(o,r,f,m),a.fill(),0!==i&&a.stroke()}a.restore()}(s.x(C),E,y),C=fe(x,C+f+h,v?C+S:this.right,e.rtl),function(e,t,n){zt(a,n.text,e,t+g/2,u,{strikethrough:n.hidden,textAlign:s.textAlign(n.textAlign)})}(s.x(C),E,y),v)p.x+=S+c;else if("string"!=typeof y.text){const e=u.lineHeight;p.y+=no(y,e)+c}else p.y+=_})),Tn(this.ctx,e.textDirection)}drawTitle(){const e=this.options,t=e.title,n=wn(t.font),a=yn(t.padding);if(!t.display)return;const i=Cn(e.rtl,this.left,this.width),r=this.ctx,o=t.position,s=n.size/2,l=a.top+s;let u,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),u=this.top+l,c=pe(e.align,c,this.right-d);else{const t=this.columnSizes.reduce(((e,t)=>Math.max(e,t.height)),0);u=l+pe(e.align,this.top,this.bottom-t-e.labels.padding-this._computeTitleHeight())}const h=pe(o,c,c+d);r.textAlign=i.textAlign(he(o)),r.textBaseline="middle",r.strokeStyle=t.color,r.fillStyle=t.color,r.font=n.string,zt(r,t.text,h,u,n)}_computeTitleHeight(){const e=this.options.title,t=wn(e.font),n=yn(e.padding);return e.display?t.lineHeight+n.height:0}_getLegendItemAt(e,t){let n,a,i;if(ee(e,this.left,this.right)&&ee(t,this.top,this.bottom))for(i=this.legendHitBoxes,n=0;ne.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:a,textAlign:i,color:r,useBorderRadius:o,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map((e=>{const l=e.controller.getStyle(n?0:void 0),u=yn(l.borderWidth);return{text:t[e.index].label,fillStyle:l.backgroundColor,fontColor:r,hidden:!e.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(u.width+u.height)/4,strokeStyle:l.borderColor,pointStyle:a||l.pointStyle,rotation:l.rotation,textAlign:i||l.textAlign,borderRadius:o&&(s||l.borderRadius),datasetIndex:e.index}}),this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};class io extends za{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){const n=this.options;if(this.left=0,this.top=0,!n.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=t;const a=i(n.text)?n.text.length:1;this._padding=yn(n.padding);const r=a*wn(n.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=r:this.width=r}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:t,left:n,bottom:a,right:i,options:r}=this,o=r.align;let s,l,u,c=0;return this.isHorizontal()?(l=pe(o,n,i),u=t+e,s=i-n):("left"===r.position?(l=n+e,u=pe(o,a,t),c=-.5*A):(l=i-e,u=pe(o,t,a),c=.5*A),s=a-t),{titleX:l,titleY:u,maxWidth:s,rotation:c}}draw(){const e=this.ctx,t=this.options;if(!t.display)return;const n=wn(t.font),a=n.lineHeight/2+this._padding.top,{titleX:i,titleY:r,maxWidth:o,rotation:s}=this._drawArgs(a);zt(e,t.text,0,0,n,{color:t.color,maxWidth:o,rotation:s,textAlign:he(t.align),textBaseline:"middle",translation:[i,r]})}}var ro={id:"title",_element:io,start(e,t,n){!function(e,t){const n=new io({ctx:e.ctx,options:t,chart:e});ea.configure(e,n,t),ea.addBox(e,n),e.titleBlock=n}(e,n)},stop(e){const t=e.titleBlock;ea.removeBox(e,t),delete e.titleBlock},beforeUpdate(e,t,n){const a=e.titleBlock;ea.configure(e,a,n),a.options=n},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const oo=new WeakMap;var so={id:"subtitle",start(e,t,n){const a=new io({ctx:e.ctx,options:n,chart:e});ea.configure(e,a,n),ea.addBox(e,a),oo.set(e,a)},stop(e){ea.removeBox(e,oo.get(e)),oo.delete(e)},beforeUpdate(e,t,n){const a=oo.get(e);ea.configure(e,a,n),a.options=n},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const lo={average(e){if(!e.length)return!1;let t,n,a=new Set,i=0,r=0;for(t=0,n=e.length;te+t))/a.size,y:i/r}},nearest(e,t){if(!e.length)return!1;let n,a,i,r=t.x,o=t.y,s=Number.POSITIVE_INFINITY;for(n=0,a=e.length;n-1?e.split("\n"):e}function ho(e,t){const{element:n,datasetIndex:a,index:i}=t,r=e.getDatasetMeta(a).controller,{label:o,value:s}=r.getLabelAndValue(i);return{chart:e,label:o,parsed:r.getParsed(i),raw:e.data.datasets[a].data[i],formattedValue:s,dataset:r.getDataset(),dataIndex:i,datasetIndex:a,element:n}}function po(e,t){const n=e.chart.ctx,{body:a,footer:i,title:r}=e,{boxWidth:o,boxHeight:s}=t,l=wn(t.bodyFont),u=wn(t.titleFont),c=wn(t.footerFont),d=r.length,p=i.length,f=a.length,m=yn(t.padding);let g=m.height,v=0,b=a.reduce(((e,t)=>e+t.before.length+t.lines.length+t.after.length),0);b+=e.beforeBody.length+e.afterBody.length,d&&(g+=d*u.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b&&(g+=f*(t.displayColors?Math.max(s,l.lineHeight):l.lineHeight)+(b-f)*l.lineHeight+(b-1)*t.bodySpacing),p&&(g+=t.footerMarginTop+p*c.lineHeight+(p-1)*t.footerSpacing);let _=0;const y=function(e){v=Math.max(v,n.measureText(e).width+_)};return n.save(),n.font=u.string,h(e.title,y),n.font=l.string,h(e.beforeBody.concat(e.afterBody),y),_=t.displayColors?o+2+t.boxPadding:0,h(a,(e=>{h(e.before,y),h(e.lines,y),h(e.after,y)})),_=0,n.font=c.string,h(e.footer,y),n.restore(),v+=m.width,{width:v,height:g}}function fo(e,t,n,a){const{x:i,width:r}=n,{width:o,chartArea:{left:s,right:l}}=e;let u="center";return"center"===a?u=i<=(s+l)/2?"left":"right":i<=r/2?u="left":i>=o-r/2&&(u="right"),function(e,t,n,a){const{x:i,width:r}=a,o=n.caretSize+n.caretPadding;return"left"===e&&i+r+o>t.width||"right"===e&&i-r-o<0||void 0}(u,e,t,n)&&(u="center"),u}function mo(e,t,n){const a=n.yAlign||t.yAlign||function(e,t){const{y:n,height:a}=t;return ne.height-a/2?"bottom":"center"}(e,n);return{xAlign:n.xAlign||t.xAlign||fo(e,t,n,a),yAlign:a}}function go(e,t,n,a){const{caretSize:i,caretPadding:r,cornerRadius:o}=e,{xAlign:s,yAlign:l}=n,u=i+r,{topLeft:c,topRight:d,bottomLeft:h,bottomRight:p}=_n(o);let f=function(e,t){let{x:n,width:a}=e;return"right"===t?n-=a:"center"===t&&(n-=a/2),n}(t,s);const m=function(e,t,n){let{y:a,height:i}=e;return"top"===t?a+=n:a-="bottom"===t?i+n:i/2,a}(t,l,u);return"center"===l?"left"===s?f+=u:"right"===s&&(f-=u):"left"===s?f-=Math.max(c,h)+i:"right"===s&&(f+=Math.max(d,p)+i),{x:J(f,0,a.width-t.width),y:J(m,0,a.height-t.height)}}function vo(e,t,n){const a=yn(n.padding);return"center"===t?e.x+e.width/2:"right"===t?e.x+e.width-a.right:e.x+a.left}function bo(e){return uo([],co(e))}function _o(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const yo={beforeTitle:t,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,a=n?n.length:0;if(this&&this.options&&"dataset"===this.options.mode)return t.dataset.label||"";if(t.label)return t.label;if(a>0&&t.dataIndex{const t={before:[],lines:[],after:[]},i=_o(n,e);uo(t.before,co(wo(i,"beforeLabel",this,e))),uo(t.lines,wo(i,"label",this,e)),uo(t.after,co(wo(i,"afterLabel",this,e))),a.push(t)})),a}getAfterBody(e,t){return bo(wo(t.callbacks,"afterBody",this,e))}getFooter(e,t){const{callbacks:n}=t,a=wo(n,"beforeFooter",this,e),i=wo(n,"footer",this,e),r=wo(n,"afterFooter",this,e);let o=[];return o=uo(o,co(a)),o=uo(o,co(i)),o=uo(o,co(r)),o}_createItems(e){const t=this._active,n=this.chart.data,a=[],i=[],r=[];let o,s,l=[];for(o=0,s=t.length;oe.filter(t,a,i,n)))),e.itemSort&&(l=l.sort(((t,a)=>e.itemSort(t,a,n)))),h(l,(t=>{const n=_o(e.callbacks,t);a.push(wo(n,"labelColor",this,t)),i.push(wo(n,"labelPointStyle",this,t)),r.push(wo(n,"labelTextColor",this,t))})),this.labelColors=a,this.labelPointStyles=i,this.labelTextColors=r,this.dataPoints=l,l}update(e,t){const n=this.options.setContext(this.getContext()),a=this._active;let i,r=[];if(a.length){const e=lo[n.position].call(this,a,this._eventPosition);r=this._createItems(n),this.title=this.getTitle(r,n),this.beforeBody=this.getBeforeBody(r,n),this.body=this.getBody(r,n),this.afterBody=this.getAfterBody(r,n),this.footer=this.getFooter(r,n);const t=this._size=po(this,n),o=Object.assign({},e,t),s=mo(this.chart,n,o),l=go(n,o,s,this.chart);this.xAlign=s.xAlign,this.yAlign=s.yAlign,i={opacity:1,x:l.x,y:l.y,width:t.width,height:t.height,caretX:e.x,caretY:e.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=r,this.$context=void 0,i&&this._resolveAnimations().update(this,i),e&&n.external&&n.external.call(this,{chart:this.chart,tooltip:this,replay:t})}drawCaret(e,t,n,a){const i=this.getCaretPosition(e,n,a);t.lineTo(i.x1,i.y1),t.lineTo(i.x2,i.y2),t.lineTo(i.x3,i.y3)}getCaretPosition(e,t,n){const{xAlign:a,yAlign:i}=this,{caretSize:r,cornerRadius:o}=n,{topLeft:s,topRight:l,bottomLeft:u,bottomRight:c}=_n(o),{x:d,y:h}=e,{width:p,height:f}=t;let m,g,v,b,_,y;return"center"===i?(_=h+f/2,"left"===a?(m=d,g=m-r,b=_+r,y=_-r):(m=d+p,g=m+r,b=_-r,y=_+r),v=m):(g="left"===a?d+Math.max(s,u)+r:"right"===a?d+p-Math.max(l,c)-r:this.caretX,"top"===i?(b=h,_=b-r,m=g-r,v=g+r):(b=h+f,_=b+r,m=g+r,v=g-r),y=b),{x1:m,x2:g,x3:v,y1:b,y2:_,y3:y}}drawTitle(e,t,n){const a=this.title,i=a.length;let r,o,s;if(i){const l=Cn(n.rtl,this.x,this.width);for(e.x=vo(this,n.titleAlign,n),t.textAlign=l.textAlign(n.titleAlign),t.textBaseline="middle",r=wn(n.titleFont),o=n.titleSpacing,t.fillStyle=n.titleColor,t.font=r.string,s=0;s0!==e))?(e.beginPath(),e.fillStyle=i.multiKeyBackground,qt(e,{x:t,y:f,w:u,h:l,radius:s}),e.fill(),e.stroke(),e.fillStyle=o.backgroundColor,e.beginPath(),qt(e,{x:n,y:f+1,w:u-2,h:l-2,radius:s}),e.fill()):(e.fillStyle=i.multiKeyBackground,e.fillRect(t,f,u,l),e.strokeRect(t,f,u,l),e.fillStyle=o.backgroundColor,e.fillRect(n,f+1,u-2,l-2))}e.fillStyle=this.labelTextColors[n]}drawBody(e,t,n){const{body:a}=this,{bodySpacing:i,bodyAlign:r,displayColors:o,boxHeight:s,boxWidth:l,boxPadding:u}=n,c=wn(n.bodyFont);let d=c.lineHeight,p=0;const f=Cn(n.rtl,this.x,this.width),m=function(n){t.fillText(n,f.x(e.x+p),e.y+d/2),e.y+=d+i},g=f.textAlign(r);let v,b,_,y,w,k,x;for(t.textAlign=r,t.textBaseline="middle",t.font=c.string,e.x=vo(this,g,n),t.fillStyle=n.bodyColor,h(this.beforeBody,m),p=o&&"right"!==g?"center"===r?l/2+u:l+2+u:0,y=0,k=a.length;y0&&t.stroke()}_updateAnimationTarget(e){const t=this.chart,n=this.$animations,a=n&&n.x,i=n&&n.y;if(a||i){const n=lo[e.position].call(this,this._active,this._eventPosition);if(!n)return;const r=this._size=po(this,e),o=Object.assign({},n,this._size),s=mo(t,e,o),l=go(e,o,s,t);a._to===l.x&&i._to===l.y||(this.xAlign=s.xAlign,this.yAlign=s.yAlign,this.width=r.width,this.height=r.height,this.caretX=n.x,this.caretY=n.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(e){const t=this.options.setContext(this.getContext());let n=this.opacity;if(!n)return;this._updateAnimationTarget(t);const a={width:this.width,height:this.height},i={x:this.x,y:this.y};n=Math.abs(n)<.001?0:n;const r=yn(t.padding),o=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;t.enabled&&o&&(e.save(),e.globalAlpha=n,this.drawBackground(i,e,a,t),En(e,t.textDirection),i.y+=r.top,this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),Tn(e,t.textDirection),e.restore())}getActiveElements(){return this._active||[]}setActiveElements(e,t){const n=this._active,a=e.map((({datasetIndex:e,index:t})=>{const n=this.chart.getDatasetMeta(e);if(!n)throw new Error("Cannot find a dataset at index "+e);return{datasetIndex:e,element:n.data[t],index:t}})),i=!p(n,a),r=this._positionChanged(a,t);(i||r)&&(this._active=a,this._eventPosition=t,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(e,t,n=!0){if(t&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const a=this.options,i=this._active||[],r=this._getActiveElements(e,i,t,n),o=this._positionChanged(r,e),s=t||!p(r,i)||o;return s&&(this._active=r,(a.enabled||a.external)&&(this._eventPosition={x:e.x,y:e.y},this.update(!0,t))),s}_getActiveElements(e,t,n,a){const i=this.options;if("mouseout"===e.type)return[];if(!a)return t.filter((e=>this.chart.data.datasets[e.datasetIndex]&&void 0!==this.chart.getDatasetMeta(e.datasetIndex).controller.getParsed(e.index)));const r=this.chart.getElementsAtEventForMode(e,i.mode,i,n);return i.reverse&&r.reverse(),r}_positionChanged(e,t){const{caretX:n,caretY:a,options:i}=this,r=lo[i.position].call(this,e,t);return!1!==r&&(n!==r.x||a!==r.y)}}var xo={id:"tooltip",_element:ko,positioners:lo,afterInit(e,t,n){n&&(e.tooltip=new ko({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(!1===e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0}))return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:yo},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>"filter"!==e&&"itemSort"!==e&&"external"!==e,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return wi.register(zi,Tr,er,e),wi.helpers={...zn},wi._adapters=Ci,wi.Animation=ka,wi.Animations=xa,wi.animator=ve,wi.controllers=Qa.controllers.items,wi.DatasetController=Ia,wi.Element=za,wi.elements=er,wi.Interaction=Fn,wi.layouts=ea,wi.platforms=_a,wi.Scale=Wa,wi.Ticks=nt,Object.assign(wi,zi,Tr,er,e,_a),wi.Chart=wi,"undefined"!=typeof window&&(window.Chart=wi),wi})),/*! showdown v 2.1.0 - 21-04-2022 */ +function(){function e(e){"use strict";var t={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,describe:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,describe:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,describe:"Parses simple line breaks as
(GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,describe:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,describe:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",describe:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,describe:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,describe:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,describe:"Support for HTML Tag escaping. ex:
foo
",type:"boolean"},emoji:{defaultValue:!1,describe:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,describe:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `` and ``",type:"boolean"},ellipsis:{defaultValue:!0,describe:"Replaces three dots with the ellipsis unicode character",type:"boolean"},completeHTMLDocument:{defaultValue:!1,describe:"Outputs a complete html document, including ``, `` and `` tags",type:"boolean"},metadata:{defaultValue:!1,describe:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,describe:"Split adjacent blockquote blocks",type:"boolean"}};if(!1===e)return JSON.parse(JSON.stringify(t));var n={};for(var a in t)t.hasOwnProperty(a)&&(n[a]=t[a].defaultValue);return n}var t={},n={},a={},i=e(!0),r="vanilla",o={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:function(){"use strict";var t=e(!0),n={};for(var a in t)t.hasOwnProperty(a)&&(n[a]=!0);return n}()};function s(e,n){"use strict";var a=n?"Error in "+n+" extension->":"Error in unnamed extension",i={valid:!0,error:""};t.helper.isArray(e)||(e=[e]);for(var r=0;r").replace(/&/g,"&")};var u=function(e,t,n,a){"use strict";var i,r,o,s,l,u=a||"",c=u.indexOf("g")>-1,d=new RegExp(t+"|"+n,"g"+u.replace(/g/g,"")),h=new RegExp(t,u.replace(/g/g,"")),p=[];do{for(i=0;o=d.exec(e);)if(h.test(o[0]))i++||(s=(r=d.lastIndex)-o[0].length);else if(i&&! --i){l=o.index+o[0].length;var f={left:{start:s,end:r},match:{start:r,end:o.index},right:{start:o.index,end:l},wholeMatch:{start:s,end:l}};if(p.push(f),!c)return p}}while(i&&(d.lastIndex=r));return p};t.helper.matchRecursiveRegExp=function(e,t,n,a){"use strict";for(var i=u(e,t,n,a),r=[],o=0;o0){var d=[];0!==s[0].wholeMatch.start&&d.push(e.slice(0,s[0].wholeMatch.start));for(var h=0;h=0?i+(a||0):i},t.helper.splitAtIndex=function(e,n){"use strict";if(!t.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[e.substring(0,n),e.substring(n)]},t.helper.encodeEmailAddress=function(e){"use strict";var t=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}];return e=e.replace(/./g,(function(e){if("@"===e)e=t[Math.floor(2*Math.random())](e);else{var n=Math.random();e=n>.9?t[2](e):n>.45?t[1](e):t[0](e)}return e}))},t.helper.padEnd=function(e,t,n){"use strict";return t|=0,n=String(n||" "),e.length>t?String(e):((t-=e.length)>n.length&&(n+=n.repeat(t/n.length)),String(e)+n.slice(0,t))},"undefined"==typeof console&&(console={warn:function(e){"use strict";alert(e)},log:function(e){"use strict";alert(e)},error:function(e){"use strict";throw e}}),t.helper.regexes={asteriskDashAndColon:/([*_:~])/g},t.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:':octocat:',showdown:"S"},t.Converter=function(e){"use strict";var n={},l=[],u=[],c={},d=r,h={parsed:{},raw:"",format:""};function p(e,n){if(n=n||null,t.helper.isString(e)){if(n=e=t.helper.stdExtName(e),t.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(e,n){"function"==typeof e&&(e=e(new t.Converter));t.helper.isArray(e)||(e=[e]);var a=s(e,n);if(!a.valid)throw Error(a.error);for(var i=0;i[ \t]+¨NBSP;<"),!n){if(!window||!window.document)throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");n=window.document}var a=n.createElement("div");a.innerHTML=e;var i={preList:function(e){for(var n=e.querySelectorAll("pre"),a=[],i=0;i'}else a.push(n[i].innerHTML),n[i].innerHTML="",n[i].setAttribute("prenum",i.toString());return a}(a)};!function e(t){for(var n=0;n? ?(['"].*['"])?\)$/m)>-1)o="";else if(!o){if(r||(r=i.toLowerCase().replace(/ ?\n/g," ")),o="#"+r,t.helper.isUndefined(a.gUrls[r]))return e;o=a.gUrls[r],t.helper.isUndefined(a.gTitles[r])||(u=a.gTitles[r])}var c='
"};return e=(e=(e=(e=(e=a.converter._dispatch("anchors.before",e,n,a)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,i)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,i)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]??(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,i)).replace(/\[([^\[\]]+)]()()()()()/g,i),n.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gim,(function(e,a,i,r,o){if("\\"===i)return a+r;if(!t.helper.isString(n.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var s=n.ghMentionsLink.replace(/\{u}/g,o),l="";return n.openLinksInNewWindow&&(l=' rel="noopener noreferrer" target="¨E95Eblank"'),a+'"+r+""}))),e=a.converter._dispatch("anchors.after",e,n,a)}));var c=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,d=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,h=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,p=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,f=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,m=function(e){"use strict";return function(n,a,i,r,o,s,l){var u=i=i.replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback),c="",d="",h=a||"",p=l||"";return/^www\./i.test(i)&&(i=i.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&s&&(c=s),e.openLinksInNewWindow&&(d=' rel="noopener noreferrer" target="¨E95Eblank"'),h+'"+u+""+c+p}},g=function(e,n){"use strict";return function(a,i,r){var o="mailto:";return i=i||"",r=t.subParser("unescapeSpecialChars")(r,e,n),e.encodeEmails?(o=t.helper.encodeEmailAddress(o+r),r=t.helper.encodeEmailAddress(r)):o+=r,i+''+r+""}};t.subParser("autoLinks",(function(e,t,n){"use strict";return e=(e=(e=n.converter._dispatch("autoLinks.before",e,t,n)).replace(h,m(t))).replace(f,g(t,n)),e=n.converter._dispatch("autoLinks.after",e,t,n)})),t.subParser("simplifiedAutoLinks",(function(e,t,n){"use strict";return t.simplifiedAutoLink?(e=n.converter._dispatch("simplifiedAutoLinks.before",e,t,n),e=(e=t.excludeTrailingPunctuationFromURLs?e.replace(d,m(t)):e.replace(c,m(t))).replace(p,g(t,n)),e=n.converter._dispatch("simplifiedAutoLinks.after",e,t,n)):e})),t.subParser("blockGamut",(function(e,n,a){"use strict";return e=a.converter._dispatch("blockGamut.before",e,n,a),e=t.subParser("blockQuotes")(e,n,a),e=t.subParser("headers")(e,n,a),e=t.subParser("horizontalRule")(e,n,a),e=t.subParser("lists")(e,n,a),e=t.subParser("codeBlocks")(e,n,a),e=t.subParser("tables")(e,n,a),e=t.subParser("hashHTMLBlocks")(e,n,a),e=t.subParser("paragraphs")(e,n,a),e=a.converter._dispatch("blockGamut.after",e,n,a)})),t.subParser("blockQuotes",(function(e,n,a){"use strict";e=a.converter._dispatch("blockQuotes.before",e,n,a),e+="\n\n";var i=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return n.splitAdjacentBlockquotes&&(i=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(i,(function(e){return e=(e=(e=e.replace(/^[ \t]*>[ \t]?/gm,"")).replace(/¨0/g,"")).replace(/^[ \t]+$/gm,""),e=t.subParser("githubCodeBlocks")(e,n,a),e=(e=(e=t.subParser("blockGamut")(e,n,a)).replace(/(^|\n)/g,"$1 ")).replace(/(\s*
[^\r]+?<\/pre>)/gm,(function(e,t){var n=t;return n=(n=n.replace(/^  /gm,"¨0")).replace(/¨0/g,"")})),t.subParser("hashBlock")("
\n"+e+"\n
",n,a)})),e=a.converter._dispatch("blockQuotes.after",e,n,a)})),t.subParser("codeBlocks",(function(e,n,a){"use strict";e=a.converter._dispatch("codeBlocks.before",e,n,a);return e=(e=(e+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,(function(e,i,r){var o=i,s=r,l="\n";return o=t.subParser("outdent")(o,n,a),o=t.subParser("encodeCode")(o,n,a),o=(o=(o=t.subParser("detab")(o,n,a)).replace(/^\n+/g,"")).replace(/\n+$/g,""),n.omitExtraWLInCodeBlocks&&(l=""),o="
"+o+l+"
",t.subParser("hashBlock")(o,n,a)+s}))).replace(/¨0/,""),e=a.converter._dispatch("codeBlocks.after",e,n,a)})),t.subParser("codeSpans",(function(e,n,a){"use strict";return void 0===(e=a.converter._dispatch("codeSpans.before",e,n,a))&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,(function(e,i,r,o){var s=o;return s=(s=s.replace(/^([ \t]*)/g,"")).replace(/[ \t]*$/g,""),s=i+""+(s=t.subParser("encodeCode")(s,n,a))+"",s=t.subParser("hashHTMLSpans")(s,n,a)})),e=a.converter._dispatch("codeSpans.after",e,n,a)})),t.subParser("completeHTMLDocument",(function(e,t,n){"use strict";if(!t.completeHTMLDocument)return e;e=n.converter._dispatch("completeHTMLDocument.before",e,t,n);var a="html",i="\n",r="",o='\n',s="",l="";for(var u in void 0!==n.metadata.parsed.doctype&&(i="\n","html"!==(a=n.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==a||(o='')),n.metadata.parsed)if(n.metadata.parsed.hasOwnProperty(u))switch(u.toLowerCase()){case"doctype":break;case"title":r=""+n.metadata.parsed.title+"\n";break;case"charset":o="html"===a||"html5"===a?'\n':'\n';break;case"language":case"lang":s=' lang="'+n.metadata.parsed[u]+'"',l+='\n';break;default:l+='\n'}return e=i+"\n\n"+r+o+l+"\n\n"+e.trim()+"\n\n",e=n.converter._dispatch("completeHTMLDocument.after",e,t,n)})),t.subParser("detab",(function(e,t,n){"use strict";return e=(e=(e=(e=(e=(e=n.converter._dispatch("detab.before",e,t,n)).replace(/\t(?=\t)/g," ")).replace(/\t/g,"¨A¨B")).replace(/¨B(.+?)¨A/g,(function(e,t){for(var n=t,a=4-n.length%4,i=0;i/g,">"),e=n.converter._dispatch("encodeAmpsAndAngles.after",e,t,n)})),t.subParser("encodeBackslashEscapes",(function(e,n,a){"use strict";return e=(e=(e=a.converter._dispatch("encodeBackslashEscapes.before",e,n,a)).replace(/\\(\\)/g,t.helper.escapeCharactersCallback)).replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g,t.helper.escapeCharactersCallback),e=a.converter._dispatch("encodeBackslashEscapes.after",e,n,a)})),t.subParser("encodeCode",(function(e,n,a){"use strict";return e=(e=a.converter._dispatch("encodeCode.before",e,n,a)).replace(/&/g,"&").replace(//g,">").replace(/([*_{}\[\]\\=~-])/g,t.helper.escapeCharactersCallback),e=a.converter._dispatch("encodeCode.after",e,n,a)})),t.subParser("escapeSpecialCharsWithinTagAttributes",(function(e,n,a){"use strict";return e=(e=(e=a.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,n,a)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,(function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,t.helper.escapeCharactersCallback)}))).replace(/-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,(function(e){return e.replace(/([\\`*_~=|])/g,t.helper.escapeCharactersCallback)})),e=a.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,n,a)})),t.subParser("githubCodeBlocks",(function(e,n,a){"use strict";return n.ghCodeBlocks?(e=a.converter._dispatch("githubCodeBlocks.before",e,n,a),e=(e=(e+="¨0").replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,(function(e,i,r,o){var s=n.omitExtraWLInCodeBlocks?"":"\n";return o=t.subParser("encodeCode")(o,n,a),o="
"+(o=(o=(o=t.subParser("detab")(o,n,a)).replace(/^\n+/g,"")).replace(/\n+$/g,""))+s+"
",o=t.subParser("hashBlock")(o,n,a),"\n\n¨G"+(a.ghCodeBlocks.push({text:e,codeblock:o})-1)+"G\n\n"}))).replace(/¨0/,""),a.converter._dispatch("githubCodeBlocks.after",e,n,a)):e})),t.subParser("hashBlock",(function(e,t,n){"use strict";return e=(e=n.converter._dispatch("hashBlock.before",e,t,n)).replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(n.gHtmlBlocks.push(e)-1)+"K\n\n",e=n.converter._dispatch("hashBlock.after",e,t,n)})),t.subParser("hashCodeTags",(function(e,n,a){"use strict";e=a.converter._dispatch("hashCodeTags.before",e,n,a);return e=t.helper.replaceRecursiveRegExp(e,(function(e,i,r,o){var s=r+t.subParser("encodeCode")(i,n,a)+o;return"¨C"+(a.gHtmlSpans.push(s)-1)+"C"}),"]*>","","gim"),e=a.converter._dispatch("hashCodeTags.after",e,n,a)})),t.subParser("hashElement",(function(e,t,n){"use strict";return function(e,t){var a=t;return a=(a=(a=a.replace(/\n\n/g,"\n")).replace(/^\n/,"")).replace(/\n+$/g,""),a="\n\n¨K"+(n.gHtmlBlocks.push(a)-1)+"K\n\n"}})),t.subParser("hashHTMLBlocks",(function(e,n,a){"use strict";e=a.converter._dispatch("hashHTMLBlocks.before",e,n,a);var i=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],r=function(e,t,n,i){var r=e;return-1!==n.search(/\bmarkdown\b/)&&(r=n+a.converter.makeHtml(t)+i),"\n\n¨K"+(a.gHtmlBlocks.push(r)-1)+"K\n\n"};n.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,(function(e,t){return"<"+t+">"})));for(var o=0;o]*>)","im"),u="<"+i[o]+"\\b[^>]*>",c="";-1!==(s=t.helper.regexIndexOf(e,l));){var d=t.helper.splitAtIndex(e,s),h=t.helper.replaceRecursiveRegExp(d[1],r,u,c,"im");if(h===d[1])break;e=d[0].concat(h)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,t.subParser("hashElement")(e,n,a)),e=(e=t.helper.replaceRecursiveRegExp(e,(function(e){return"\n\n¨K"+(a.gHtmlBlocks.push(e)-1)+"K\n\n"}),"^ {0,3}\x3c!--","--\x3e","gm")).replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,t.subParser("hashElement")(e,n,a)),e=a.converter._dispatch("hashHTMLBlocks.after",e,n,a)})),t.subParser("hashHTMLSpans",(function(e,t,n){"use strict";function a(e){return"¨C"+(n.gHtmlSpans.push(e)-1)+"C"}return e=(e=(e=(e=(e=n.converter._dispatch("hashHTMLSpans.before",e,t,n)).replace(/<[^>]+?\/>/gi,(function(e){return a(e)}))).replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,(function(e){return a(e)}))).replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,(function(e){return a(e)}))).replace(/<[^>]+?>/gi,(function(e){return a(e)})),e=n.converter._dispatch("hashHTMLSpans.after",e,t,n)})),t.subParser("unhashHTMLSpans",(function(e,t,n){"use strict";e=n.converter._dispatch("unhashHTMLSpans.before",e,t,n);for(var a=0;a]*>\\s*]*>","^ {0,3}\\s*
","gim"),e=a.converter._dispatch("hashPreCodeTags.after",e,n,a)})),t.subParser("headers",(function(e,n,a){"use strict";e=a.converter._dispatch("headers.before",e,n,a);var i=isNaN(parseInt(n.headerLevelStart))?1:parseInt(n.headerLevelStart),r=n.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,o=n.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;e=(e=e.replace(r,(function(e,r){var o=t.subParser("spanGamut")(r,n,a),s=n.noHeaderId?"":' id="'+l(r)+'"',u=""+o+"";return t.subParser("hashBlock")(u,n,a)}))).replace(o,(function(e,r){var o=t.subParser("spanGamut")(r,n,a),s=n.noHeaderId?"":' id="'+l(r)+'"',u=i+1,c=""+o+"";return t.subParser("hashBlock")(c,n,a)}));var s=n.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;function l(e){var i,r;if(n.customizedHeaderId){var o=e.match(/\{([^{]+?)}\s*$/);o&&o[1]&&(e=o[1])}return i=e,r=t.helper.isString(n.prefixHeaderId)?n.prefixHeaderId:!0===n.prefixHeaderId?"section-":"",n.rawPrefixHeaderId||(i=r+i),i=n.ghCompatibleHeaderId?i.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():n.rawHeaderId?i.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():i.replace(/[^\w]/g,"").toLowerCase(),n.rawPrefixHeaderId&&(i=r+i),a.hashLinkCounts[i]?i=i+"-"+a.hashLinkCounts[i]++:a.hashLinkCounts[i]=1,i}return e=e.replace(s,(function(e,r,o){var s=o;n.customizedHeaderId&&(s=o.replace(/\s?\{([^{]+?)}\s*$/,""));var u=t.subParser("spanGamut")(s,n,a),c=n.noHeaderId?"":' id="'+l(o)+'"',d=i-1+r.length,h=""+u+"";return t.subParser("hashBlock")(h,n,a)})),e=a.converter._dispatch("headers.after",e,n,a)})),t.subParser("horizontalRule",(function(e,n,a){"use strict";e=a.converter._dispatch("horizontalRule.before",e,n,a);var i=t.subParser("hashBlock")("
",n,a);return e=(e=(e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,i)).replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,i)).replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,i),e=a.converter._dispatch("horizontalRule.after",e,n,a)})),t.subParser("images",(function(e,n,a){"use strict";function i(e,n,i,r,o,s,l,u){var c=a.gUrls,d=a.gTitles,h=a.gDimensions;if(i=i.toLowerCase(),u||(u=""),e.search(/\(? ?(['"].*['"])?\)$/m)>-1)r="";else if(""===r||null===r){if(""!==i&&null!==i||(i=n.toLowerCase().replace(/ ?\n/g," ")),r="#"+i,t.helper.isUndefined(c[i]))return e;r=c[i],t.helper.isUndefined(d[i])||(u=d[i]),t.helper.isUndefined(h[i])||(o=h[i].width,s=h[i].height)}n=n.replace(/"/g,""").replace(t.helper.regexes.asteriskDashAndColon,t.helper.escapeCharactersCallback);var p=''+n+'"}return e=(e=(e=(e=(e=(e=a.converter._dispatch("images.before",e,n,a)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,i)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,(function(e,t,n,a,r,o,s,l){return i(e,t,n,a=a.replace(/\s/g,""),r,o,s,l)}))).replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,i)).replace(/!\[([^\]]*?)][ \t]*()\([ \t]??(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,i)).replace(/!\[([^\[\]]+)]()()()()()/g,i),e=a.converter._dispatch("images.after",e,n,a)})),t.subParser("italicsAndBold",(function(e,t,n){"use strict";function a(e,t,n){return t+e+n}return e=n.converter._dispatch("italicsAndBold.before",e,t,n),e=t.literalMidWordUnderscores?(e=(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return a(t,"","")}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return a(t,"","")}))).replace(/\b_(\S[\s\S]*?)_\b/g,(function(e,t){return a(t,"","")})):(e=(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/_([^\s_][\s\S]*?)_/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e})),e=t.literalMidWordAsterisks?(e=(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,(function(e,t,n){return a(n,t+"","")}))).replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,(function(e,t,n){return a(n,t+"","")}))).replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,(function(e,t,n){return a(n,t+"","")})):(e=(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/\*\*(\S[\s\S]*?)\*\*/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e}))).replace(/\*([^\s*][\s\S]*?)\*/g,(function(e,t){return/\S$/.test(t)?a(t,"",""):e})),e=n.converter._dispatch("italicsAndBold.after",e,t,n)})),t.subParser("lists",(function(e,n,a){"use strict";function i(e,i){a.gListLevel++,e=e.replace(/\n{2,}$/,"\n");var r=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,o=/\n[ \t]*\n(?!¨0)/.test(e+="¨0");return n.disableForced4SpacesIndentedSublists&&(r=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=(e=e.replace(r,(function(e,i,r,s,l,u,c){c=c&&""!==c.trim();var d=t.subParser("outdent")(l,n,a),h="";return u&&n.tasklists&&(h=' class="task-list-item" style="list-style-type: none;"',d=d.replace(/^[ \t]*\[(x|X| )?]/m,(function(){var e='-1?(d=t.subParser("githubCodeBlocks")(d,n,a),d=t.subParser("blockGamut")(d,n,a)):(d=(d=t.subParser("lists")(d,n,a)).replace(/\n$/,""),d=(d=t.subParser("hashHTMLBlocks")(d,n,a)).replace(/\n\n+/g,"\n\n"),d=o?t.subParser("paragraphs")(d,n,a):t.subParser("spanGamut")(d,n,a)),d=""+(d=d.replace("¨A",""))+"\n"}))).replace(/¨0/g,""),a.gListLevel--,i&&(e=e.replace(/\s+$/,"")),e}function r(e,t){if("ol"===t){var n=e.match(/^ *(\d+)\./);if(n&&"1"!==n[1])return' start="'+n[1]+'"'}return""}function o(e,t,a){var o=n.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,s=n.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,l="ul"===t?o:s,u="";if(-1!==e.search(l))!function n(c){var d=c.search(l),h=r(e,t);-1!==d?(u+="\n\n<"+t+h+">\n"+i(c.slice(0,d),!!a)+"\n",l="ul"===(t="ul"===t?"ol":"ul")?o:s,n(c.slice(d))):u+="\n\n<"+t+h+">\n"+i(c,!!a)+"\n"}(e);else{var c=r(e,t);u="\n\n<"+t+c+">\n"+i(e,!!a)+"\n"}return u}return e=a.converter._dispatch("lists.before",e,n,a),e+="¨0",e=(e=a.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,n){return o(t,n.search(/[*+-]/g)>-1?"ul":"ol",!0)})):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,(function(e,t,n,a){return o(n,a.search(/[*+-]/g)>-1?"ul":"ol",!1)}))).replace(/¨0/,""),e=a.converter._dispatch("lists.after",e,n,a)})),t.subParser("metadata",(function(e,t,n){"use strict";if(!t.metadata)return e;function a(e){n.metadata.raw=e,(e=(e=e.replace(/&/g,"&").replace(/"/g,""")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,(function(e,t,a){return n.metadata.parsed[t]=a,""}))}return e=(e=(e=(e=n.converter._dispatch("metadata.before",e,t,n)).replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,(function(e,t,n){return a(n),"¨M"}))).replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,(function(e,t,i){return t&&(n.metadata.format=t),a(i),"¨M"}))).replace(/¨M/g,""),e=n.converter._dispatch("metadata.after",e,t,n)})),t.subParser("outdent",(function(e,t,n){"use strict";return e=(e=(e=n.converter._dispatch("outdent.before",e,t,n)).replace(/^(\t|[ ]{1,4})/gm,"¨0")).replace(/¨0/g,""),e=n.converter._dispatch("outdent.after",e,t,n)})),t.subParser("paragraphs",(function(e,n,a){"use strict";for(var i=(e=(e=(e=a.converter._dispatch("paragraphs.before",e,n,a)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),r=[],o=i.length,s=0;s=0?r.push(l):l.search(/\S/)>=0&&(l=(l=t.subParser("spanGamut")(l,n,a)).replace(/^([ \t]*)/g,"

"),l+="

",r.push(l))}for(o=r.length,s=0;s]*>\s*]*>/.test(c)&&(d=!0)}r[s]=c}return e=(e=(e=r.join("\n")).replace(/^\n+/g,"")).replace(/\n+$/g,""),a.converter._dispatch("paragraphs.after",e,n,a)})),t.subParser("runExtension",(function(e,t,n,a){"use strict";if(e.filter)t=e.filter(t,a.converter,n);else if(e.regex){var i=e.regex;i instanceof RegExp||(i=new RegExp(i,"g")),t=t.replace(i,e.replace)}return t})),t.subParser("spanGamut",(function(e,n,a){"use strict";return e=a.converter._dispatch("spanGamut.before",e,n,a),e=t.subParser("codeSpans")(e,n,a),e=t.subParser("escapeSpecialCharsWithinTagAttributes")(e,n,a),e=t.subParser("encodeBackslashEscapes")(e,n,a),e=t.subParser("images")(e,n,a),e=t.subParser("anchors")(e,n,a),e=t.subParser("autoLinks")(e,n,a),e=t.subParser("simplifiedAutoLinks")(e,n,a),e=t.subParser("emoji")(e,n,a),e=t.subParser("underline")(e,n,a),e=t.subParser("italicsAndBold")(e,n,a),e=t.subParser("strikethrough")(e,n,a),e=t.subParser("ellipsis")(e,n,a),e=t.subParser("hashHTMLSpans")(e,n,a),e=t.subParser("encodeAmpsAndAngles")(e,n,a),n.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"
\n")):e=e.replace(/ +\n/g,"
\n"),e=a.converter._dispatch("spanGamut.after",e,n,a)})),t.subParser("strikethrough",(function(e,n,a){"use strict";return n.strikethrough&&(e=(e=a.converter._dispatch("strikethrough.before",e,n,a)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,(function(e,i){return function(e){return n.simplifiedAutoLink&&(e=t.subParser("simplifiedAutoLinks")(e,n,a)),""+e+""}(i)})),e=a.converter._dispatch("strikethrough.after",e,n,a)),e})),t.subParser("stripLinkDefinitions",(function(e,n,a){"use strict";var i=function(i,r,o,s,l,u,c){return r=r.toLowerCase(),e.toLowerCase().split(r).length-1<2?i:(o.match(/^data:.+?\/.+?;base64,/)?a.gUrls[r]=o.replace(/\s/g,""):a.gUrls[r]=t.subParser("encodeAmpsAndAngles")(o,n,a),u?u+c:(c&&(a.gTitles[r]=c.replace(/"|'/g,""")),n.parseImgDimensions&&s&&l&&(a.gDimensions[r]={width:s,height:l}),""))};return e=(e=(e=(e+="¨0").replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,i)).replace(/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,i)).replace(/¨0/,"")})),t.subParser("tables",(function(e,n,a){"use strict";if(!n.tables)return e;function i(e,i){return""+t.subParser("spanGamut")(e,n,a)+"\n"}function r(e){var r,o=e.split("\n");for(r=0;r"+(l=t.subParser("spanGamut")(l,n,a))+"\n"));for(r=0;r\n\n\n",i=0;i\n";for(var r=0;r\n"}return n+"\n\n"}(f,g)}return e=(e=(e=(e=a.converter._dispatch("tables.before",e,n,a)).replace(/\\(\|)/g,t.helper.escapeCharactersCallback)).replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,r)).replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,r),e=a.converter._dispatch("tables.after",e,n,a)})),t.subParser("underline",(function(e,n,a){"use strict";return n.underline?(e=a.converter._dispatch("underline.before",e,n,a),e=(e=n.literalMidWordUnderscores?(e=e.replace(/\b___(\S[\s\S]*?)___\b/g,(function(e,t){return""+t+""}))).replace(/\b__(\S[\s\S]*?)__\b/g,(function(e,t){return""+t+""})):(e=e.replace(/___(\S[\s\S]*?)___/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/__(\S[\s\S]*?)__/g,(function(e,t){return/\S$/.test(t)?""+t+"":e}))).replace(/(_)/g,t.helper.escapeCharactersCallback),e=a.converter._dispatch("underline.after",e,n,a)):e})),t.subParser("unescapeSpecialChars",(function(e,t,n){"use strict";return e=(e=n.converter._dispatch("unescapeSpecialChars.before",e,t,n)).replace(/¨E(\d+)E/g,(function(e,t){var n=parseInt(t);return String.fromCharCode(n)})),e=n.converter._dispatch("unescapeSpecialChars.after",e,t,n)})),t.subParser("makeMarkdown.blockquote",(function(e,n){"use strict";var a="";if(e.hasChildNodes())for(var i=e.childNodes,r=i.length,o=0;o ")})),t.subParser("makeMarkdown.codeBlock",(function(e,t){"use strict";var n=e.getAttribute("language"),a=e.getAttribute("precodenum");return"```"+n+"\n"+t.preList[a]+"\n```"})),t.subParser("makeMarkdown.codeSpan",(function(e){"use strict";return"`"+e.innerHTML+"`"})),t.subParser("makeMarkdown.emphasis",(function(e,n){"use strict";var a="";if(e.hasChildNodes()){a+="*";for(var i=e.childNodes,r=i.length,o=0;o",e.hasAttribute("width")&&e.hasAttribute("height")&&(t+=" ="+e.getAttribute("width")+"x"+e.getAttribute("height")),e.hasAttribute("title")&&(t+=' "'+e.getAttribute("title")+'"'),t+=")"),t})),t.subParser("makeMarkdown.links",(function(e,n){"use strict";var a="";if(e.hasChildNodes()&&e.hasAttribute("href")){var i=e.childNodes,r=i.length;a="[";for(var o=0;o",e.hasAttribute("title")&&(a+=' "'+e.getAttribute("title")+'"'),a+=")"}return a})),t.subParser("makeMarkdown.list",(function(e,n,a){"use strict";var i="";if(!e.hasChildNodes())return"";for(var r=e.childNodes,o=r.length,s=e.getAttribute("start")||1,l=0;l"+t.preList[n]+""})),t.subParser("makeMarkdown.strikethrough",(function(e,n){"use strict";var a="";if(e.hasChildNodes()){a+="~~";for(var i=e.childNodes,r=i.length,o=0;otr>th"),l=e.querySelectorAll("tbody>tr");for(a=0;af&&(f=m)}for(a=0;a/g,"\\$1>")).replace(/^#/gm,"\\#")).replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3")).replace(/^( {0,3}\d+)\./gm,"$1\\.")).replace(/^( {0,3})([+-])/gm,"$1\\$2")).replace(/]([\s]*)\(/g,"\\]$1\\(")).replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:")}));"function"==typeof define&&define.amd?define((function(){"use strict";return t})):"undefined"!=typeof module&&module.exports?module.exports=t:this.showdown=t}.call(this);var NostrTools=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,i=(t,n)=>{for(var a in n)e(t,a,{get:n[a],enumerable:!0})},r={};function o(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function s(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function l(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}i(r,{Relay:()=>Ia,SimplePool:()=>qa,finalizeEvent:()=>Bt,fj:()=>ya,generateSecretKey:()=>jt,getEventHash:()=>qt,getFilterLimit:()=>_a,getPublicKey:()=>$t,kinds:()=>Vt,matchFilter:()=>ga,matchFilters:()=>va,mergeFilters:()=>ba,nip04:()=>Ai,nip05:()=>Mr,nip10:()=>zr,nip11:()=>Dr,nip13:()=>Br,nip18:()=>Ur,nip19:()=>Da,nip21:()=>Qr,nip25:()=>Jr,nip27:()=>to,nip28:()=>ro,nip30:()=>ho,nip39:()=>bo,nip42:()=>Ta,nip44:()=>wo,nip47:()=>is,nip57:()=>ls,nip98:()=>fs,parseReferences:()=>Ti,serializeEvent:()=>zt,sortEvents:()=>mt,utils:()=>Tt,validateEvent:()=>ft,verifiedSymbol:()=>ht,verifyEvent:()=>Ft});var u="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,c=e=>e instanceof Uint8Array,d=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),h=(e,t)=>e<<32-t|e>>>t;if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function p(e){if("string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),!c(e))throw new Error("expected Uint8Array, got "+typeof e);return e}var f=class{clone(){return this._cloneInto()}};function m(e){const t=t=>e().update(p(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function g(e=32){if(u&&"function"==typeof u.getRandomValues)return u.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}var v=class extends f{constructor(e,t,n,a){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=a,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=d(this.buffer)}update(e){l(this);const{view:t,buffer:n,blockLen:a}=this,i=(e=p(e)).length;for(let r=0;ra-r&&(this.process(n,0),r=0);for(let e=r;e>i&r),s=Number(n&r),l=a?4:0,u=a?0:4;e.setUint32(t+l,o,a),e.setUint32(t+u,s,a)}(n,a-8,BigInt(8*this.length),i),this.process(n,0);const o=d(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=u/4,h=this.get();if(c>h.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;ee&t^e&n^t&n,_=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),y=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),w=new Uint32Array(64),k=class extends v{constructor(){super(64,32,8,!1),this.A=0|y[0],this.B=0|y[1],this.C=0|y[2],this.D=0|y[3],this.E=0|y[4],this.F=0|y[5],this.G=0|y[6],this.H=0|y[7]}get(){const{A:e,B:t,C:n,D:a,E:i,F:r,G:o,H:s}=this;return[e,t,n,a,i,r,o,s]}set(e,t,n,a,i,r,o,s){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|a,this.E=0|i,this.F=0|r,this.G=0|o,this.H=0|s}process(e,t){for(let n=0;n<16;n++,t+=4)w[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=w[e-15],n=w[e-2],a=h(t,7)^h(t,18)^t>>>3,i=h(n,17)^h(n,19)^n>>>10;w[e]=i+w[e-7]+a+w[e-16]|0}let{A:n,B:a,C:i,D:r,E:o,F:s,G:l,H:u}=this;for(let e=0;e<64;e++){const t=u+(h(o,6)^h(o,11)^h(o,25))+((c=o)&s^~c&l)+_[e]+w[e]|0,d=(h(n,2)^h(n,13)^h(n,22))+b(n,a,i)|0;u=l,l=s,s=o,o=r+t|0,r=i,i=a,a=n,n=t+d|0}var c;n=n+this.A|0,a=a+this.B|0,i=i+this.C|0,r=r+this.D|0,o=o+this.E|0,s=s+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,a,i,r,o,s,l,u)}roundClean(){w.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},x=m((()=>new k)),S={};i(S,{bitGet:()=>U,bitLen:()=>V,bitMask:()=>W,bitSet:()=>H,bytesToHex:()=>P,bytesToNumberBE:()=>R,bytesToNumberLE:()=>I,concatBytes:()=>$,createHmacDrbg:()=>K,ensureBytes:()=>j,equalBytes:()=>B,hexToBytes:()=>N,hexToNumber:()=>O,numberToBytesBE:()=>z,numberToBytesLE:()=>q,numberToHexUnpadded:()=>L,numberToVarBytesBE:()=>D,utf8ToBytes:()=>F,validateObject:()=>Z});var C=BigInt(0),E=BigInt(1),T=BigInt(2),A=e=>e instanceof Uint8Array,M=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function P(e){if(!A(e))throw new Error("Uint8Array expected");let t="";for(let n=0;ne+t.length),0));let n=0;return e.forEach((e=>{if(!A(e))throw new Error("Uint8Array expected");t.set(e,n),n+=e.length})),t}function B(e,t){if(e.length!==t.length)return!1;for(let n=0;nC;e>>=E,t+=1);return t}function U(e,t){return e>>BigInt(t)&E}var H=(e,t,n)=>e|(n?E:C)<(T<new Uint8Array(e),Q=e=>Uint8Array.from(e);function K(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let a=Y(e),i=Y(e),r=0;const o=()=>{a.fill(1),i.fill(0),r=0},s=(...e)=>n(i,a,...e),l=(e=Y())=>{i=s(Q([0]),e),a=s(),0!==e.length&&(i=s(Q([1]),e),a=s())},u=()=>{if(r++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e{let n;for(o(),l(e);!(n=t(u()));)l();return o(),n}}var G={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Z(e,t,n={}){const a=(t,n,a)=>{const i=G[n];if("function"!=typeof i)throw new Error(`Invalid validator "${n}", expected function`);const r=e[t];if(!(a&&void 0===r||i(r,e)))throw new Error(`Invalid param ${String(t)}=${r} (${typeof r}), expected ${n}`)};for(const[e,n]of Object.entries(t))a(e,n,!1);for(const[e,t]of Object.entries(n))a(e,t,!0);return e}var J=BigInt(0),X=BigInt(1),ee=BigInt(2),te=BigInt(3),ne=BigInt(4),ae=BigInt(5),ie=BigInt(8);BigInt(9),BigInt(16);function re(e,t){const n=e%t;return n>=J?n:t+n}function oe(e,t,n){if(n<=J||t 0");if(n===X)return J;let a=X;for(;t>J;)t&X&&(a=a*e%n),e=e*e%n,t>>=X;return a}function se(e,t,n){let a=e;for(;t-- >J;)a*=a,a%=n;return a}function le(e,t){if(e===J||t<=J)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=re(e,t),a=t,i=J,r=X,o=X,s=J;for(;n!==J;){const e=a/n,t=a%n,l=i-o*e,u=r-s*e;a=n,n=t,i=o,r=s,o=l,s=u}if(a!==X)throw new Error("invert: does not exist");return re(i,t)}function ue(e){if(e%ne===te){const t=(e+X)/ne;return function(e,n){const a=e.pow(n,t);if(!e.eql(e.sqr(a),n))throw new Error("Cannot find square root");return a}}if(e%ie===ae){const t=(e-ae)/ie;return function(e,n){const a=e.mul(n,ee),i=e.pow(a,t),r=e.mul(n,i),o=e.mul(e.mul(r,ee),i),s=e.mul(r,e.sub(o,e.ONE));if(!e.eql(e.sqr(s),n))throw new Error("Cannot find square root");return s}}return function(e){const t=(e-X)/ee;let n,a,i;for(n=e-X,a=0;n%ee===J;n/=ee,a++);for(i=ee;i(e[t]="function",e)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),Z(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...de(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var{bytesToNumberBE:ve,hexToBytes:be}=S,_e={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(e){const{Err:t}=_e;if(e.length<2||2!==e[0])throw new t("Invalid signature integer tag");const n=e[1],a=e.subarray(2,n+2);if(!n||a.length!==n)throw new t("Invalid signature integer: wrong length");if(128&a[0])throw new t("Invalid signature integer: negative");if(0===a[0]&&!(128&a[1]))throw new t("Invalid signature integer: unnecessary leading zero");return{d:ve(a),l:e.subarray(n+2)}},toSig(e){const{Err:t}=_e,n="string"==typeof e?be(e):e;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let a=n.length;if(a<2||48!=n[0])throw new t("Invalid signature tag");if(n[1]!==a-2)throw new t("Invalid signature: incorrect length");const{d:i,l:r}=_e._parseInt(n.subarray(2)),{d:o,l:s}=_e._parseInt(r);if(s.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(e){const t=e=>8&Number.parseInt(e[0],16)?"00"+e:e,n=e=>{const t=e.toString(16);return 1&t.length?`0${t}`:t},a=t(n(e.s)),i=t(n(e.r)),r=a.length/2,o=i.length/2,s=n(r),l=n(o);return`30${n(o+r+4)}02${l}${i}02${s}${a}`}},ye=BigInt(0),we=BigInt(1),ke=(BigInt(2),BigInt(3));BigInt(4);function xe(e){const t=function(e){const t=ge(e);Z(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:a,a:i}=t;if(n){if(!a.eql(i,a.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:n}=t,a=t.toBytes||((e,t,a)=>{const i=t.toAffine();return $(Uint8Array.from([4]),n.toBytes(i.x),n.toBytes(i.y))}),i=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function r(e){const{a:a,b:i}=t,r=n.sqr(e),o=n.mul(r,e);return n.add(n.add(o,n.mul(e,a)),i)}if(!n.eql(n.sqr(t.Gy),r(t.Gx)))throw new Error("bad generator point: equation left != right");function o(e){return"bigint"==typeof e&&yen.eql(e,n.ZERO);return i(t)&&i(a)?d.ZERO:new d(t,a,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(d.fromAffine)}static fromHex(e){const t=d.fromAffine(i(j("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(l(e))}_setWindowSize(e){this._WINDOW_SIZE=e,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:e,y:a}=this.toAffine();if(!n.isValid(e)||!n.isValid(a))throw new Error("bad point: x or y not FE");const i=n.sqr(a),o=r(e);if(!n.eql(i,o))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){c(e);const{px:t,py:a,pz:i}=this,{px:r,py:o,pz:s}=e,l=n.eql(n.mul(t,s),n.mul(r,i)),u=n.eql(n.mul(a,s),n.mul(o,i));return l&&u}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){const{a:e,b:a}=t,i=n.mul(a,ke),{px:r,py:o,pz:s}=this;let l=n.ZERO,u=n.ZERO,c=n.ZERO,h=n.mul(r,r),p=n.mul(o,o),f=n.mul(s,s),m=n.mul(r,o);return m=n.add(m,m),c=n.mul(r,s),c=n.add(c,c),l=n.mul(e,c),u=n.mul(i,f),u=n.add(l,u),l=n.sub(p,u),u=n.add(p,u),u=n.mul(l,u),l=n.mul(m,l),c=n.mul(i,c),f=n.mul(e,f),m=n.sub(h,f),m=n.mul(e,m),m=n.add(m,c),c=n.add(h,h),h=n.add(c,h),h=n.add(h,f),h=n.mul(h,m),u=n.add(u,h),f=n.mul(o,s),f=n.add(f,f),h=n.mul(f,m),l=n.sub(l,h),c=n.mul(f,p),c=n.add(c,c),c=n.add(c,c),new d(l,u,c)}add(e){c(e);const{px:a,py:i,pz:r}=this,{px:o,py:s,pz:l}=e;let u=n.ZERO,h=n.ZERO,p=n.ZERO;const f=t.a,m=n.mul(t.b,ke);let g=n.mul(a,o),v=n.mul(i,s),b=n.mul(r,l),_=n.add(a,i),y=n.add(o,s);_=n.mul(_,y),y=n.add(g,v),_=n.sub(_,y),y=n.add(a,r);let w=n.add(o,l);return y=n.mul(y,w),w=n.add(g,b),y=n.sub(y,w),w=n.add(i,r),u=n.add(s,l),w=n.mul(w,u),u=n.add(v,b),w=n.sub(w,u),p=n.mul(f,y),u=n.mul(m,b),p=n.add(u,p),u=n.sub(v,p),p=n.add(v,p),h=n.mul(u,p),v=n.add(g,g),v=n.add(v,g),b=n.mul(f,b),y=n.mul(m,y),v=n.add(v,b),b=n.sub(g,b),b=n.mul(f,b),y=n.add(y,b),g=n.mul(v,y),h=n.add(h,g),g=n.mul(w,y),u=n.mul(_,u),u=n.sub(u,g),g=n.mul(_,v),p=n.mul(w,p),p=n.add(p,g),new d(u,h,p)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return p.wNAFCached(this,u,e,(e=>{const t=n.invertBatch(e.map((e=>e.pz)));return e.map(((e,n)=>e.toAffine(t[n]))).map(d.fromAffine)}))}multiplyUnsafe(e){const a=d.ZERO;if(e===ye)return a;if(s(e),e===we)return this;const{endo:i}=t;if(!i)return p.unsafeLadder(this,e);let{k1neg:r,k1:o,k2neg:l,k2:u}=i.splitScalar(e),c=a,h=a,f=this;for(;o>ye||u>ye;)o&we&&(c=c.add(f)),u&we&&(h=h.add(f)),f=f.double(),o>>=we,u>>=we;return r&&(c=c.negate()),l&&(h=h.negate()),h=new d(n.mul(h.px,i.beta),h.py,h.pz),c.add(h)}multiply(e){s(e);let a,i,r=e;const{endo:o}=t;if(o){const{k1neg:e,k1:t,k2neg:s,k2:l}=o.splitScalar(r);let{p:u,f:c}=this.wNAF(t),{p:h,f:f}=this.wNAF(l);u=p.constTimeNegate(e,u),h=p.constTimeNegate(s,h),h=new d(n.mul(h.px,o.beta),h.py,h.pz),a=u.add(h),i=c.add(f)}else{const{p:e,f:t}=this.wNAF(r);a=e,i=t}return d.normalizeZ([a,i])[0]}multiplyAndAddUnsafe(e,t,n){const a=d.BASE,i=(e,t)=>t!==ye&&t!==we&&e.equals(a)?e.multiply(t):e.multiplyUnsafe(t),r=i(this,t).add(i(e,n));return r.is0()?void 0:r}toAffine(e){const{px:t,py:a,pz:i}=this,r=this.is0();null==e&&(e=r?n.ONE:n.inv(i));const o=n.mul(t,e),s=n.mul(a,e),l=n.mul(i,e);if(r)return{x:n.ZERO,y:n.ZERO};if(!n.eql(l,n.ONE))throw new Error("invZ was invalid");return{x:o,y:s}}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e===we)return!0;if(n)return n(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e===we?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),a(d,this,e)}toHex(e=!0){return P(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);const h=t.nBitLength,p=function(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},a=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){let a=e.ZERO,i=t;for(;n>fe;)n&me&&(a=a.add(i)),i=i.double(),n>>=me;return a},precomputeWindow(e,t){const{windows:n,windowSize:i}=a(t),r=[];let o=e,s=o;for(let e=0;e>=h,a>s&&(a-=d,r+=me);const o=t,p=t+Math.abs(a)-1,f=e%2!=0,m=a<0;0===a?u=u.add(n(f,i[o])):l=l.add(n(m,i[p]))}return{p:l,f:u}},wNAFCached(e,t,n,a){const i=e._WINDOW_SIZE||1;let r=t.get(e);return r||(r=this.precomputeWindow(e,i),1!==i&&t.set(e,a(r))),this.wNAF(i,r,n)}}}(d,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:l,weierstrassEquation:r,isWithinCurveOrder:o}}function Se(e){const t=function(e){const t=ge(e);return Z(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:a}=t,i=n.BYTES+1,r=2*n.BYTES+1;function o(e){return re(e,a)}function s(e){return le(e,a)}const{ProjectivePoint:l,normPrivateKeyToScalar:u,weierstrassEquation:c,isWithinCurveOrder:d}=xe({...t,toBytes(e,t,a){const i=t.toAffine(),r=n.toBytes(i.x),o=$;return a?o(Uint8Array.from([t.hasEvenY()?2:3]),r):o(Uint8Array.from([4]),r,n.toBytes(i.y))},fromBytes(e){const t=e.length,a=e[0],o=e.subarray(1);if(t!==i||2!==a&&3!==a){if(t===r&&4===a){return{x:n.fromBytes(o.subarray(0,n.BYTES)),y:n.fromBytes(o.subarray(n.BYTES,2*n.BYTES))}}throw new Error(`Point of length ${t} was invalid. Expected ${i} compressed bytes or ${r} uncompressed bytes`)}{const e=R(o);if(!(ye<(s=e)&&sP(z(e,t.nByteLength));function p(e){return e>a>>we}const f=(e,t,n)=>R(e.slice(t,n));class m{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const n=t.nByteLength;return e=j("compactSignature",e,2*n),new m(f(e,0,n),f(e,n,2*n))}static fromDER(e){const{r:t,s:n}=_e.toSig(j("DER",e));return new m(t,n)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(e){return new m(this.r,this.s,e)}recoverPublicKey(e){const{r:a,s:i,recovery:r}=this,u=_(j("msgHash",e));if(null==r||![0,1,2,3].includes(r))throw new Error("recovery id invalid");const c=2===r||3===r?a+t.n:a;if(c>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const d=1&r?"03":"02",p=l.fromHex(d+h(c)),f=s(c),m=o(-u*f),g=o(i*f),v=l.BASE.multiplyAndAddUnsafe(p,m,g);if(!v)throw new Error("point at infinify");return v.assertValidity(),v}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new m(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return N(this.toDERHex())}toDERHex(){return _e.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return N(this.toCompactHex())}toCompactHex(){return h(this.r)+h(this.s)}}const g={isValidPrivateKey(e){try{return u(e),!0}catch(e){return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const e=pe(t.n);return function(e,t,n=!1){const a=e.length,i=he(t),r=pe(t);if(a<16||a1024)throw new Error(`expected ${r}-1024 bytes of input, got ${a}`);const o=re(n?R(e):I(e),t-X)+X;return n?q(o,i):z(o,i)}(t.randomBytes(e),t.n)},precompute:(e=8,t=l.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function v(e){const t=e instanceof Uint8Array,n="string"==typeof e,a=(t||n)&&e.length;return t?a===i||a===r:n?a===2*i||a===2*r:e instanceof l}const b=t.bits2int||function(e){const n=R(e),a=8*e.length-t.nBitLength;return a>0?n>>BigInt(a):n},_=t.bits2int_modN||function(e){return o(b(e))},y=W(t.nBitLength);function w(e){if("bigint"!=typeof e)throw new Error("bigint expected");if(!(ye<=e&&ee in i)))throw new Error("sign() legacy options not supported");const{hash:r,randomBytes:c}=t;let{lowS:h,prehash:f,extraEntropy:g}=i;null==h&&(h=!0),e=j("msgHash",e),f&&(e=j("prehashed msgHash",r(e)));const v=_(e),y=u(a),k=[w(y),w(v)];if(null!=g){const e=!0===g?c(n.BYTES):g;k.push(j("extraEntropy",e))}const S=$(...k),C=v;return{seed:S,k2sig:function(e){const t=b(e);if(!d(t))return;const n=s(t),a=l.BASE.multiply(t).toAffine(),i=o(a.x);if(i===ye)return;const r=o(n*o(C+i*y));if(r===ye)return;let u=(a.x===i?0:2)|Number(a.y&we),c=r;return h&&p(r)&&(c=function(e){return p(e)?o(-e):e}(r),u^=1),new m(i,c,u)}}}const x={lowS:t.lowS,prehash:!1},S={lowS:t.lowS,prehash:!1};return l.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return l.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(v(e))throw new Error("first arg must be private key");if(!v(t))throw new Error("second arg must be public key");return l.fromHex(t).multiply(u(e)).toRawBytes(n)},sign:function(e,n,a=x){const{seed:i,k2sig:r}=k(e,n,a),o=t;return K(o.hash.outputLen,o.nByteLength,o.hmac)(i,r)},verify:function(e,n,a,i=S){const r=e;if(n=j("msgHash",n),a=j("publicKey",a),"strict"in i)throw new Error("options.strict was renamed to lowS");const{lowS:u,prehash:c}=i;let d,h;try{if("string"==typeof r||r instanceof Uint8Array)try{d=m.fromDER(r)}catch(e){if(!(e instanceof _e.Err))throw e;d=m.fromCompact(r)}else{if("object"!=typeof r||"bigint"!=typeof r.r||"bigint"!=typeof r.s)throw new Error("PARSE");{const{r:e,s:t}=r;d=new m(e,t)}}h=l.fromHex(a)}catch(e){if("PARSE"===e.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(u&&d.hasHighS())return!1;c&&(n=t.hash(n));const{r:p,s:f}=d,g=_(n),v=s(f),b=o(g*v),y=o(p*v),w=l.BASE.multiplyAndAddUnsafe(h,b,y)?.toAffine();return!!w&&o(w.x)===p},ProjectivePoint:l,Signature:m,utils:g}}var Ce=class extends f{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");o(e.outputLen),o(e.blockLen)}(e);const n=p(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const a=this.blockLen,i=new Uint8Array(a);i.set(n.length>a?e.create().update(n).digest():n);for(let e=0;enew Ce(e,t).update(n).digest();function Te(e){return{hash:e,hmac:(t,...n)=>Ee(e,t,function(...e){const t=new Uint8Array(e.reduce(((e,t)=>e+t.length),0));let n=0;return e.forEach((e=>{if(!c(e))throw new Error("Uint8Array expected");t.set(e,n),n+=e.length})),t}(...n)),randomBytes:g}}Ee.create=(e,t)=>new Ce(e,t);var Ae=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Me=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Pe=BigInt(1),Le=BigInt(2),Oe=(e,t)=>(e+t/Le)/t;function Ne(e){const t=Ae,n=BigInt(3),a=BigInt(6),i=BigInt(11),r=BigInt(22),o=BigInt(23),s=BigInt(44),l=BigInt(88),u=e*e*e%t,c=u*u*e%t,d=se(c,n,t)*c%t,h=se(d,n,t)*c%t,p=se(h,Le,t)*u%t,f=se(p,i,t)*p%t,m=se(f,r,t)*f%t,g=se(m,s,t)*m%t,v=se(g,l,t)*g%t,b=se(v,s,t)*m%t,_=se(b,n,t)*c%t,y=se(_,o,t)*f%t,w=se(y,a,t)*u%t,k=se(w,Le,t);if(!Re.eql(Re.sqr(k),e))throw new Error("Cannot find square root");return k}var Re=function(e,t,n=!1,a={}){if(e<=J)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:i,nByteLength:r}=de(e,t);if(r>2048)throw new Error("Field lengths over 2048 bytes are not supported");const o=ue(e),s=Object.freeze({ORDER:e,BITS:i,BYTES:r,MASK:W(i),ZERO:J,ONE:X,create:t=>re(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("Invalid field element: expected bigint, got "+typeof t);return J<=t&&te===J,isOdd:e=>(e&X)===X,neg:t=>re(-t,e),eql:(e,t)=>e===t,sqr:t=>re(t*t,e),add:(t,n)=>re(t+n,e),sub:(t,n)=>re(t-n,e),mul:(t,n)=>re(t*n,e),pow:(e,t)=>function(e,t,n){if(n 0");if(n===J)return e.ONE;if(n===X)return t;let a=e.ONE,i=t;for(;n>J;)n&X&&(a=e.mul(a,i)),i=e.sqr(i),n>>=X;return a}(s,e,t),div:(t,n)=>re(t*le(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>le(t,e),sqrt:a.sqrt||(e=>o(s,e)),invertBatch:e=>function(e,t){const n=new Array(t.length),a=t.reduce(((t,a,i)=>e.is0(a)?t:(n[i]=t,e.mul(t,a))),e.ONE),i=e.inv(a);return t.reduceRight(((t,a,i)=>e.is0(a)?t:(n[i]=e.mul(t,n[i]),e.mul(t,a))),i),n}(s,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?q(e,r):z(e,r),fromBytes:e=>{if(e.length!==r)throw new Error(`Fp.fromBytes: expected ${r}, got ${e.length}`);return n?I(e):R(e)}});return Object.freeze(s)}(Ae,void 0,void 0,{sqrt:Ne}),Ie=function(e,t){const n=t=>Se({...e,...Te(t)});return Object.freeze({...n(t),create:n})}({a:BigInt(0),b:BigInt(7),Fp:Re,n:Me,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=Me,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),a=-Pe*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),r=n,o=BigInt("0x100000000000000000000000000000000"),s=Oe(r*e,t),l=Oe(-a*e,t);let u=re(e-s*n-l*i,t),c=re(-s*a-l*r,t);const d=u>o,h=c>o;if(d&&(u=t-u),h&&(c=t-c),u>o||c>o)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:d,k1:u,k2neg:h,k2:c}}}},x),ze=BigInt(0),qe=e=>"bigint"==typeof e&&ze"bigint"==typeof e&&zee.charCodeAt(0))));n=$(t,t),je[e]=n}return x($(n,...t))}var Be=e=>e.toRawBytes(!0).slice(1),Fe=e=>z(e,32),Ve=e=>re(e,Ae),Ue=e=>re(e,Me),He=Ie.ProjectivePoint,We=(e,t,n)=>He.BASE.multiplyAndAddUnsafe(e,t,n);function Ye(e){let t=Ie.utils.normPrivateKeyToScalar(e),n=He.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:Ue(-t),bytes:Be(n)}}function Qe(e){if(!qe(e))throw new Error("bad x: need 0 < x < p");const t=Ve(e*e);let n=Ne(Ve(t*e+BigInt(7)));n%Le!==ze&&(n=Ve(-n));const a=new He(e,n,Pe);return a.assertValidity(),a}function Ke(...e){return Ue(R($e("BIP0340/challenge",...e)))}function Ge(e){return Ye(e).bytes}function Ze(e,t,n=g(32)){const a=j("message",e),{bytes:i,scalar:r}=Ye(t),o=j("auxRand",n,32),s=Fe(r^R($e("BIP0340/aux",o))),l=$e("BIP0340/nonce",s,i,a),u=Ue(R(l));if(u===ze)throw new Error("sign failed: k is zero");const{bytes:c,scalar:d}=Ye(u),h=Ke(c,i,a),p=new Uint8Array(64);if(p.set(c,0),p.set(Fe(Ue(d+h*r)),32),!Je(p,a,i))throw new Error("sign: Invalid signature produced");return p}function Je(e,t,n){const a=j("signature",e,64),i=j("message",t),r=j("publicKey",n,32);try{const e=Qe(R(r)),t=R(a.subarray(0,32));if(!qe(t))return!1;const n=R(a.subarray(32,64));if(!De(n))return!1;const o=Ke(Fe(t),Be(e),i),s=We(e,n,Ue(-o));return!(!s||!s.hasEvenY()||s.toAffine().x!==t)}catch(e){return!1}}var Xe=(()=>({getPublicKey:Ge,sign:Ze,verify:Je,utils:{randomPrivateKey:Ie.utils.randomPrivateKey,lift_x:Qe,pointToBytes:Be,numberToBytesBE:z,bytesToNumberBE:R,taggedHash:$e,mod:re}}))(),et="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,tt=e=>e instanceof Uint8Array,nt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),at=(e,t)=>e<<32-t|e>>>t;if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");var it=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function rt(e){if(!tt(e))throw new Error("Uint8Array expected");let t="";for(let n=0;ne+t.length),0));let n=0;return e.forEach((e=>{if(!tt(e))throw new Error("Uint8Array expected");t.set(e,n),n+=e.length})),t}var ut=class{clone(){return this._cloneInto()}};function ct(e){const t=t=>e().update(st(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function dt(e=32){if(et&&"function"==typeof et.getRandomValues)return et.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}var ht=Symbol("verified"),pt=e=>e instanceof Object;function ft(e){if(!pt(e))return!1;if("number"!=typeof e.kind)return!1;if("string"!=typeof e.content)return!1;if("number"!=typeof e.created_at)return!1;if("string"!=typeof e.pubkey)return!1;if(!e.pubkey.match(/^[a-f0-9]{64}$/))return!1;if(!Array.isArray(e.tags))return!1;for(let t=0;te.created_at!==t.created_at?t.created_at-e.created_at:e.id.localeCompare(t.id)))}function gt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function vt(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}var bt={number:gt,bool:function(e){if("boolean"!=typeof e)throw new Error(`Expected boolean, not ${e}`)},bytes:vt,hash:function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");gt(e.outputLen),gt(e.blockLen)},exists:function(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")},output:function(e,t){vt(e);const n=t.outputLen;if(e.lengtha-r&&(this.process(n,0),r=0);for(let e=r;e>i&r),s=Number(n&r),l=a?4:0,u=a?0:4;e.setUint32(t+l,o,a),e.setUint32(t+u,s,a)}(n,a-8,BigInt(8*this.length),i),this.process(n,0);const o=nt(e),s=this.outputLen;if(s%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=s/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;ee&t^e&n^t&n,wt=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),kt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),xt=new Uint32Array(64),St=class extends _t{constructor(){super(64,32,8,!1),this.A=0|kt[0],this.B=0|kt[1],this.C=0|kt[2],this.D=0|kt[3],this.E=0|kt[4],this.F=0|kt[5],this.G=0|kt[6],this.H=0|kt[7]}get(){const{A:e,B:t,C:n,D:a,E:i,F:r,G:o,H:s}=this;return[e,t,n,a,i,r,o,s]}set(e,t,n,a,i,r,o,s){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|a,this.E=0|i,this.F=0|r,this.G=0|o,this.H=0|s}process(e,t){for(let n=0;n<16;n++,t+=4)xt[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=xt[e-15],n=xt[e-2],a=at(t,7)^at(t,18)^t>>>3,i=at(n,17)^at(n,19)^n>>>10;xt[e]=i+xt[e-7]+a+xt[e-16]|0}let{A:n,B:a,C:i,D:r,E:o,F:s,G:l,H:u}=this;for(let e=0;e<64;e++){const t=u+(at(o,6)^at(o,11)^at(o,25))+((c=o)&s^~c&l)+wt[e]+xt[e]|0,d=(at(n,2)^at(n,13)^at(n,22))+yt(n,a,i)|0;u=l,l=s,s=o,o=r+t|0,r=i,i=a,a=n,n=t+d|0}var c;n=n+this.A|0,a=a+this.B|0,i=i+this.C|0,r=r+this.D|0,o=o+this.E|0,s=s+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(n,a,i,r,o,s,l,u)}roundClean(){xt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}},Ct=class extends St{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}},Et=ct((()=>new St)),Tt=(ct((()=>new Ct)),{});i(Tt,{Queue:()=>It,QueueNode:()=>Rt,binarySearch:()=>Nt,insertEventIntoAscendingList:()=>Ot,insertEventIntoDescendingList:()=>Lt,normalizeURL:()=>Pt,utf8Decoder:()=>At,utf8Encoder:()=>Mt});var At=new TextDecoder("utf-8"),Mt=new TextEncoder;function Pt(e){-1===e.indexOf("://")&&(e="wss://"+e);let t=new URL(e);return t.pathname=t.pathname.replace(/\/+/g,"/"),t.pathname.endsWith("/")&&(t.pathname=t.pathname.slice(0,-1)),("80"===t.port&&"ws:"===t.protocol||"443"===t.port&&"wss:"===t.protocol)&&(t.port=""),t.searchParams.sort(),t.hash="",t.toString()}function Lt(e,t){const[n,a]=Nt(e,(e=>t.id===e.id?0:t.created_at===e.created_at?-1:e.created_at-t.created_at));return a||e.splice(n,0,t),e}function Ot(e,t){const[n,a]=Nt(e,(e=>t.id===e.id?0:t.created_at===e.created_at?-1:t.created_at-e.created_at));return a||e.splice(n,0,t),e}function Nt(e,t){let n=0,a=e.length-1;for(;n<=a;){const i=Math.floor((n+a)/2),r=t(e[i]);if(0===r)return[i,!0];r<0?a=i-1:n=i+1}return[n,!1]}var Rt=class{value;next=null;prev=null;constructor(e){this.value=e}},It=class{first;last;constructor(){this.first=null,this.last=null}enqueue(e){const t=new Rt(e);return this.last?this.last===this.first?(this.last=t,this.last.prev=this.first,this.first.next=t):(t.prev=this.last,this.last.next=t,this.last=t):(this.first=t,this.last=t),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const e=this.first;return this.first=null,this.last=null,e.value}const e=this.first;return this.first=e.next,e.value}};function zt(e){if(!ft(e))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,e.pubkey,e.created_at,e.kind,e.tags,e.content])}function qt(e){return rt(Et(Mt.encode(zt(e))))}var Dt=new class{generateSecretKey(){return Xe.utils.randomPrivateKey()}getPublicKey(e){return rt(Xe.getPublicKey(e))}finalizeEvent(e,t){const n=e;return n.pubkey=rt(Xe.getPublicKey(t)),n.id=qt(n),n.sig=rt(Xe.sign(qt(n),t)),n[ht]=!0,n}verifyEvent(e){if("boolean"==typeof e[ht])return e[ht];const t=qt(e);if(t!==e.id)return e[ht]=!1,!1;try{const n=Xe.verify(e.sig,t,e.pubkey);return e[ht]=n,n}catch(t){return e[ht]=!1,!1}}},jt=Dt.generateSecretKey,$t=Dt.getPublicKey,Bt=Dt.finalizeEvent,Ft=Dt.verifyEvent,Vt={};function Ut(e){return 1e3<=e&&e<1e4||[1,2,4,5,6,7,8,16,40,41,42,43,44].includes(e)}function Ht(e){return[0,3].includes(e)||1e4<=e&&e<2e4}function Wt(e){return 2e4<=e&&e<3e4}function Yt(e){return 3e4<=e&&e<4e4}function Qt(e){return Ut(e)?"regular":Ht(e)?"replaceable":Wt(e)?"ephemeral":Yt(e)?"parameterized":"unknown"}i(Vt,{Application:()=>ia,BadgeAward:()=>rn,BadgeDefinition:()=>Zn,BlockedRelaysList:()=>Nn,BookmarkList:()=>Pn,Bookmarksets:()=>Qn,Calendar:()=>da,CalendarEventRSVP:()=>ha,ChannelCreation:()=>sn,ChannelHideMessage:()=>cn,ChannelMessage:()=>un,ChannelMetadata:()=>ln,ChannelMuteUser:()=>dn,ClassifiedListing:()=>sa,ClientAuth:()=>$n,CommunitiesList:()=>Ln,CommunityDefinition:()=>ma,CommunityPostApproval:()=>_n,Contacts:()=>Jt,CreateOrUpdateProduct:()=>ea,CreateOrUpdateStall:()=>Xn,Curationsets:()=>Kn,Date:()=>ua,DraftClassifiedListing:()=>la,DraftLong:()=>na,Emojisets:()=>aa,EncryptedDirectMessage:()=>Xt,EncryptedDirectMessages:()=>en,EventDeletion:()=>tn,FileMetadata:()=>pn,FileServerPreference:()=>qn,Followsets:()=>Hn,GenericRepost:()=>on,Genericlists:()=>Wn,HTTPAuth:()=>Un,Handlerinformation:()=>fa,Handlerrecommendation:()=>pa,Highlights:()=>En,InterestsList:()=>In,Interestsets:()=>Jn,JobFeedback:()=>kn,JobRequest:()=>yn,JobResult:()=>wn,Label:()=>bn,LightningPubRPC:()=>jn,LiveChatMessage:()=>fn,LiveEvent:()=>ra,LongFormArticle:()=>ta,Metadata:()=>Kt,Mutelist:()=>Tn,NWCWalletInfo:()=>Dn,NWCWalletRequest:()=>Bn,NWCWalletResponse:()=>Fn,NostrConnect:()=>Vn,OpenTimestamps:()=>hn,Pinlist:()=>An,ProblemTracker:()=>mn,ProfileBadges:()=>Gn,PublicChatsList:()=>On,Reaction:()=>an,RecommendRelay:()=>Zt,RelayList:()=>Mn,Relaysets:()=>Yn,Report:()=>gn,Reporting:()=>vn,Repost:()=>nn,SearchRelaysList:()=>Rn,ShortTextNote:()=>Gt,Time:()=>ca,UserEmojiList:()=>zn,UserStatuses:()=>oa,Zap:()=>Cn,ZapGoal:()=>xn,ZapRequest:()=>Sn,classifyKind:()=>Qt,isEphemeralKind:()=>Wt,isParameterizedReplaceableKind:()=>Yt,isRegularKind:()=>Ut,isReplaceableKind:()=>Ht});var Kt=0,Gt=1,Zt=2,Jt=3,Xt=4,en=4,tn=5,nn=6,an=7,rn=8,on=16,sn=40,ln=41,un=42,cn=43,dn=44,hn=1040,pn=1063,fn=1311,mn=1971,gn=1984,vn=1984,bn=1985,_n=4550,yn=5999,wn=6999,kn=7e3,xn=9041,Sn=9734,Cn=9735,En=9802,Tn=1e4,An=10001,Mn=10002,Pn=10003,Ln=10004,On=10005,Nn=10006,Rn=10007,In=10015,zn=10030,qn=10096,Dn=13194,jn=21e3,$n=22242,Bn=23194,Fn=23195,Vn=24133,Un=27235,Hn=3e4,Wn=30001,Yn=30002,Qn=30003,Kn=30004,Gn=30008,Zn=30009,Jn=30015,Xn=30017,ea=30018,ta=30023,na=30024,aa=30030,ia=30078,ra=30311,oa=30315,sa=30402,la=30403,ua=31922,ca=31923,da=31924,ha=31925,pa=31989,fa=31990,ma=34550;function ga(e,t){if(e.ids&&-1===e.ids.indexOf(t.id))return!1;if(e.kinds&&-1===e.kinds.indexOf(t.kind))return!1;if(e.authors&&-1===e.authors.indexOf(t.pubkey))return!1;for(let n in e)if("#"===n[0]){let a=e[`#${n.slice(1)}`];if(a&&!t.tags.find((([e,t])=>e===n.slice(1)&&-1!==a.indexOf(t))))return!1}return!(e.since&&t.created_ate.until)}function va(e,t){for(let n=0;n{if("kinds"===e||"ids"===e||"authors"===e||"#"===e[0]){t[e]=t[e]||[];for(let a=0;at.limit)&&(t.limit=a.limit),a.until&&(!t.until||a.until>t.until)&&(t.until=a.until),a.since&&(!t.since||a.sinceHt(e)))?e.authors.length*e.kinds.length:1/0,e.authors?.length&&e.kinds?.every((e=>Yt(e)))&&e["#d"]?.length?e.authors.length*e.kinds.length*e["#d"].length:1/0)}var ya={};function wa(e,t){let n=t.length+3,a=e.indexOf(`"${t}":`)+n,i=e.slice(a).indexOf('"')+a+1;return e.slice(i,i+64)}function ka(e,t){let n=t.length,a=e.indexOf(`"${t}":`)+n+3,i=e.slice(a),r=Math.min(i.indexOf(","),i.indexOf("}"));return parseInt(i.slice(0,r),10)}function xa(e){let t=e.slice(0,22).indexOf('"EVENT"');if(-1===t)return null;let n=e.slice(t+7+1).indexOf('"');if(-1===n)return null;let a=t+7+1+n,i=e.slice(a+1,80).indexOf('"');if(-1===i)return null;let r=a+1+i;return e.slice(a+1,r)}function Sa(e,t){return t===wa(e,"id")}function Ca(e,t){return t===wa(e,"pubkey")}function Ea(e,t){return t===ka(e,"kind")}i(ya,{getHex64:()=>wa,getInt:()=>ka,getSubscriptionId:()=>xa,matchEventId:()=>Sa,matchEventKind:()=>Ea,matchEventPubkey:()=>Ca});var Ta={};function Aa(e,t){return{kind:$n,created_at:Math.floor(Date.now()/1e3),tags:[["relay",e],["challenge",t]],content:""}}async function Ma(){return new Promise((e=>{const t=new MessageChannel,n=()=>{t.port1.removeEventListener("message",n),e()};t.port1.addEventListener("message",n),t.port2.postMessage(0),t.port1.start()}))}i(Ta,{makeAuthEvent:()=>Aa});var Pa,La=e=>(e[ht]=!0,!0),Oa=class{url;_connected=!1;onclose=null;onnotice=e=>console.debug(`NOTICE from ${this.url}: ${e}`);_onauth=null;baseEoseTimeout=4400;connectionTimeout=4400;openSubs=new Map;connectionTimeoutHandle;connectionPromise;openCountRequests=new Map;openEventPublishes=new Map;ws;incomingMessageQueue=new It;queueRunning=!1;challenge;serial=0;verifyEvent;_WebSocket;constructor(e,t){this.url=Pt(e),this.verifyEvent=t.verifyEvent,this._WebSocket=t.websocketImplementation||WebSocket}static async connect(e,t){const n=new Oa(e,t);return await n.connect(),n}closeAllSubscriptions(e){for(let[t,n]of this.openSubs)n.close(e);this.openSubs.clear();for(let[t,n]of this.openEventPublishes)n.reject(new Error(e));this.openEventPublishes.clear();for(let[t,n]of this.openCountRequests)n.reject(new Error(e));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise||(this.challenge=void 0,this.connectionPromise=new Promise(((e,t)=>{this.connectionTimeoutHandle=setTimeout((()=>{t("connection timed out"),this.connectionPromise=void 0,this.onclose?.(),this.closeAllSubscriptions("relay connection timed out")}),this.connectionTimeout);try{this.ws=new this._WebSocket(this.url)}catch(e){return void t(e)}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,e()},this.ws.onerror=e=>{t(e.message||"websocket error"),this._connected&&(this._connected=!1,this.connectionPromise=void 0,this.onclose?.(),this.closeAllSubscriptions("relay connection errored"))},this.ws.onclose=async()=>{this._connected&&(this._connected=!1,this.connectionPromise=void 0,this.onclose?.(),this.closeAllSubscriptions("relay connection closed"))},this.ws.onmessage=this._onmessage.bind(this)}))),this.connectionPromise}async runQueue(){for(this.queueRunning=!0;!1!==this.handleNext();)await Ma();this.queueRunning=!1}handleNext(){const e=this.incomingMessageQueue.dequeue();if(!e)return!1;const t=xa(e);if(t){const n=this.openSubs.get(t);if(!n)return;const a=wa(e,"id"),i=n.alreadyHaveEvent?.(a);if(n.receivedEvent?.(this,a),i)return}try{let t=JSON.parse(e);switch(t[0]){case"EVENT":{const e=this.openSubs.get(t[1]),n=t[2];return void(this.verifyEvent(n)&&va(e.filters,n)&&e.onevent(n))}case"COUNT":{const e=t[1],n=t[2],a=this.openCountRequests.get(e);return void(a&&(a.resolve(n.count),this.openCountRequests.delete(e)))}case"EOSE":{const e=this.openSubs.get(t[1]);if(!e)return;return void e.receivedEose()}case"OK":{const e=t[1],n=t[2],a=t[3],i=this.openEventPublishes.get(e);return n?i.resolve(a):i.reject(new Error(a)),void this.openEventPublishes.delete(e)}case"CLOSED":{const e=t[1],n=this.openSubs.get(e);if(!n)return;return n.closed=!0,void n.close(t[2])}case"NOTICE":return void this.onnotice(t[1]);case"AUTH":return this.challenge=t[1],void this._onauth?.(t[1])}}catch(e){return}}async send(e){if(!this.connectionPromise)throw new Error("sending on closed connection");this.connectionPromise.then((()=>{this.ws?.send(e)}))}async auth(e){if(!this.challenge)throw new Error("can't perform auth, no challenge was received");const t=await e(Aa(this.url,this.challenge)),n=new Promise(((e,n)=>{this.openEventPublishes.set(t.id,{resolve:e,reject:n})}));return this.send('["AUTH",'+JSON.stringify(t)+"]"),n}async publish(e){const t=new Promise(((t,n)=>{this.openEventPublishes.set(e.id,{resolve:t,reject:n})}));return this.send('["EVENT",'+JSON.stringify(e)+"]"),t}async count(e,t){this.serial++;const n=t?.id||"count:"+this.serial,a=new Promise(((e,t)=>{this.openCountRequests.set(n,{resolve:e,reject:t})}));return this.send('["COUNT","'+n+'",'+JSON.stringify(e).substring(1)),a}subscribe(e,t){const n=this.prepareSubscription(e,t);return n.fire(),n}prepareSubscription(e,t){this.serial++;const n=t.id||"sub:"+this.serial,a=new Na(this,n,e,t);return this.openSubs.set(n,a),a}close(){this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,this.ws?.close()}_onmessage(e){this.incomingMessageQueue.enqueue(e.data),this.queueRunning||this.runQueue()}},Na=class{relay;id;closed=!1;eosed=!1;filters;alreadyHaveEvent;receivedEvent;onevent;oneose;onclose;eoseTimeout;eoseTimeoutHandle;constructor(e,t,n,a){this.relay=e,this.filters=n,this.id=t,this.alreadyHaveEvent=a.alreadyHaveEvent,this.receivedEvent=a.receivedEvent,this.eoseTimeout=a.eoseTimeout||e.baseEoseTimeout,this.oneose=a.oneose,this.onclose=a.onclose,this.onevent=a.onevent||(e=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,e)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,this.oneose?.())}close(e="closed by caller"){!this.closed&&this.relay.connected&&(this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]"),this.closed=!0),this.relay.openSubs.delete(this.id),this.onclose?.(e)}};try{Pa=WebSocket}catch{}var Ra,Ia=class extends Oa{constructor(e){super(e,{verifyEvent:Ft,websocketImplementation:Pa})}static async connect(e){const t=new Ia(e);return await t.connect(),t}},za=class{relays=new Map;seenOn=new Map;trackRelays=!1;verifyEvent;trustedRelayURLs=new Set;_WebSocket;constructor(e){this.verifyEvent=e.verifyEvent,this._WebSocket=e.websocketImplementation}async ensureRelay(e,t){e=Pt(e);let n=this.relays.get(e);return n||(n=new Oa(e,{verifyEvent:this.trustedRelayURLs.has(e)?La:this.verifyEvent,websocketImplementation:this._WebSocket}),t?.connectionTimeout&&(n.connectionTimeout=t.connectionTimeout),this.relays.set(e,n)),await n.connect(),n}close(e){e.map(Pt).forEach((e=>{this.relays.get(e)?.close()}))}subscribeMany(e,t,n){return this.subscribeManyMap(Object.fromEntries(e.map((e=>[e,t]))),n)}subscribeManyMap(e,t){this.trackRelays&&(t.receivedEvent=(e,t)=>{let n=this.seenOn.get(t);n||(n=new Set,this.seenOn.set(t,n)),n.add(e)});const n=new Set,a=[],i=Object.keys(e).length,r=[];let o=e=>{r[e]=!0,r.filter((e=>e)).length===i&&(t.oneose?.(),o=()=>{})};const s=[];let l=(e,n)=>{o(e),s[e]=n,s.filter((e=>e)).length===i&&(t.onclose?.(s),l=()=>{})};const u=e=>{if(t.alreadyHaveEvent?.(e))return!0;const a=n.has(e);return n.add(e),a},c=Promise.all(Object.entries(e).map((async(e,n,i)=>{if(i.indexOf(e)!==n)return void l(n,"duplicate url");let r,[s,c]=e;s=Pt(s);try{r=await this.ensureRelay(s,{connectionTimeout:t.maxWait?Math.max(.8*t.maxWait,t.maxWait-1e3):void 0})}catch(e){return void l(n,e?.message||String(e))}let d=r.subscribe(c,{...t,oneose:()=>o(n),onclose:e=>l(n,e),alreadyHaveEvent:u,eoseTimeout:t.maxWait});a.push(d)})));return{async close(){await c,a.forEach((e=>{e.close()}))}}}subscribeManyEose(e,t,n){const a=this.subscribeMany(e,t,{...n,oneose(){a.close()}});return a}async querySync(e,t,n){return new Promise((async a=>{const i=[];this.subscribeManyEose(e,[t],{...n,onevent(e){i.push(e)},onclose(e){a(i)}})}))}async get(e,t,n){t.limit=1;const a=await this.querySync(e,t,n);return a.sort(((e,t)=>t.created_at-e.created_at)),a[0]||null}publish(e,t){return e.map(Pt).map((async(e,n,a)=>{if(a.indexOf(e)!==n)return Promise.reject("duplicate url");return(await this.ensureRelay(e)).publish(t)}))}listConnectionStatus(){const e=new Map;return this.relays.forEach(((t,n)=>e.set(n,t.connected))),e}destroy(){this.relays.forEach((e=>e.close())),this.relays=new Map}};try{Ra=WebSocket}catch{}var qa=class extends za{constructor(){super({verifyEvent:Ft,websocketImplementation:Ra})}},Da={};function ja(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function $a(...e){const t=(e,t)=>n=>e(t(n));return{encode:Array.from(e).reverse().reduce(((e,n)=>e?t(e,n.encode):n.encode),void 0),decode:e.reduce(((e,n)=>e?t(e,n.decode):n.decode),void 0)}}function Ba(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("alphabet.encode input should be an array of numbers");return t.map((t=>{if(ja(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))},decode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("alphabet.decode input should be array of strings");return t.map((t=>{if("string"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const n=e.indexOf(t);if(-1===n)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n}))}}}function Fa(e=""){if("string"!=typeof e)throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("join.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`join.encode: non-string input=${e}`);return t.join(e)},decode:t=>{if("string"!=typeof t)throw new Error("join.decode input should be string");return t.split(e)}}}function Va(e,t="="){if(ja(e),"string"!=typeof t)throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let e of n)if("string"!=typeof e)throw new Error(`padding.encode: non-string input=${e}`);for(;n.length*e%8;)n.push(t);return n},decode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let e of n)if("string"!=typeof e)throw new Error(`padding.decode: non-string input=${e}`);let a=n.length;if(a*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;a>0&&n[a-1]===t;a--)if(!((a-1)*e%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,a)}}}function Ua(e){if("function"!=typeof e)throw new Error("normalize fn should be function");return{encode:e=>e,decode:t=>e(t)}}function Ha(e,t,n){if(t<2)throw new Error(`convertRadix: wrong from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(e))throw new Error("convertRadix: data should be array");if(!e.length)return[];let a=0;const i=[],r=Array.from(e);for(r.forEach((e=>{if(ja(e),e<0||e>=t)throw new Error(`Wrong integer: ${e}`)}));;){let e=0,o=!0;for(let i=a;ipi,Bech32MaxSize:()=>hi,decode:()=>fi,encodeBytes:()=>yi,naddrEncode:()=>xi,neventEncode:()=>ki,noteEncode:()=>bi,nprofileEncode:()=>wi,npubEncode:()=>vi,nrelayEncode:()=>Si,nsecEncode:()=>gi});var Wa=(e,t)=>t?Wa(t,e%t):e,Ya=(e,t)=>e+(t-Wa(e,t));function Qa(e,t,n,a){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(Ya(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${Ya(t,n)}`);let i=0,r=0;const o=2**n-1,s=[];for(const a of e){if(ja(a),a>=2**t)throw new Error(`convertRadix2: invalid data word=${a} from=${t}`);if(i=i<32)throw new Error(`convertRadix2: carry overflow pos=${r} from=${t}`);for(r+=t;r>=n;r-=n)s.push((i>>r-n&o)>>>0);i&=2**r-1}if(i=i<=t)throw new Error("Excess padding");if(!a&&i)throw new Error(`Non-zero padding: ${i}`);return a&&r>0&&s.push(i>>>0),s}function Ka(e,t=!1){if(ja(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(Ya(8,e)>32||Ya(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return Qa(Array.from(n),8,e,!t)},decode:n=>{if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(Qa(n,e,8,t))}}}function Ga(e){if("function"!=typeof e)throw new Error("unsafeWrapper fn should be function");return function(...t){try{return e.apply(null,t)}catch(e){}}}var Za=$a(Ka(4),Ba("0123456789ABCDEF"),Fa("")),Ja=$a(Ka(5),Ba("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),Va(5),Fa("")),Xa=($a(Ka(5),Ba("0123456789ABCDEFGHIJKLMNOPQRSTUV"),Va(5),Fa("")),$a(Ka(5),Ba("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),Fa(""),Ua((e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),$a(Ka(6),Ba("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),Va(6),Fa(""))),ei=$a(Ka(6),Ba("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),Va(6),Fa("")),ti=e=>{return $a((ja(t=58),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return Ha(Array.from(e),256,t)},decode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(Ha(e,t,256))}}),Ba(e),Fa(""));var t},ni=ti("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),ai=(ti("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),ti("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"),[0,2,3,5,6,7,9,10,11]),ii={encode(e){let t="";for(let n=0;n>25;let n=(33554431&e)<<5;for(let e=0;e>e&1)&&(n^=oi[e]);return n}function li(e,t,n=1){const a=e.length;let i=1;for(let t=0;t126)throw new Error(`Invalid prefix (${e})`);i=si(i)^n>>5}i=si(i);for(let t=0;tn)throw new TypeError(`Wrong string length: ${e.length} (${e}). Expected (8..${n})`);const a=e.toLowerCase();if(e!==a&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const i=(e=a).lastIndexOf("1");if(0===i||-1===i)throw new Error('Letter "1" must be present between prefix and data only');const r=e.slice(0,i),o=e.slice(i+1);if(o.length<6)throw new Error("Data must be at least 6 characters long");const s=ri.decode(o).slice(0,-6),l=li(r,s,t);if(!o.endsWith(l))throw new Error(`Invalid checksum in ${e}: expected "${l}"`);return{prefix:r,words:s}}return{encode:function(e,n,a=90){if("string"!=typeof e)throw new Error("bech32.encode prefix should be string, not "+typeof e);if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof n);const i=e.length+7+n.length;if(!1!==a&&i>a)throw new TypeError(`Length ${i} exceeds limit ${a}`);return`${e=e.toLowerCase()}1${ri.encode(n)}${li(e,n,t)}`},decode:o,decodeToBytes:function(e){const{prefix:t,words:n}=o(e,!1);return{prefix:t,words:n,bytes:a(n)}},decodeUnsafe:Ga(o),fromWords:a,fromWordsUnsafe:r,toWords:i}}var ci=ui("bech32"),di=(ui("bech32m"),{utf8:{encode:e=>(new TextDecoder).decode(e),decode:e=>(new TextEncoder).encode(e)},hex:$a(Ka(4),Ba("0123456789abcdef"),Fa(""),Ua((e=>{if("string"!=typeof e||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}))),base16:Za,base32:Ja,base64:Xa,base64url:ei,base58:ni,base58xmr:ii}),hi=(Object.keys(di).join(", "),5e3),pi=/[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/;function fi(e){let{prefix:t,words:n}=ci.decode(e,hi),a=new Uint8Array(ci.fromWords(n));switch(t){case"nprofile":{let e=mi(a);if(!e[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==e[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:rt(e[0][0]),relays:e[1]?e[1].map((e=>At.decode(e))):[]}}}case"nevent":{let e=mi(a);if(!e[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==e[0][0].length)throw new Error("TLV 0 should be 32 bytes");if(e[2]&&32!==e[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(e[3]&&4!==e[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:rt(e[0][0]),relays:e[1]?e[1].map((e=>At.decode(e))):[],author:e[2]?.[0]?rt(e[2][0]):void 0,kind:e[3]?.[0]?parseInt(rt(e[3][0]),16):void 0}}}case"naddr":{let e=mi(a);if(!e[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!e[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==e[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!e[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==e[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:At.decode(e[0][0]),pubkey:rt(e[2][0]),kind:parseInt(rt(e[3][0]),16),relays:e[1]?e[1].map((e=>At.decode(e))):[]}}}case"nrelay":{let e=mi(a);if(!e[0]?.[0])throw new Error("missing TLV 0 for nrelay");return{type:"nrelay",data:At.decode(e[0][0])}}case"nsec":return{type:t,data:a};case"npub":case"note":return{type:t,data:rt(a)};default:throw new Error(`unknown prefix ${t}`)}}function mi(e){let t={},n=e;for(;n.length>0;){let e=n[0],a=n[1],i=n.slice(2,2+a);if(n=n.slice(2+a),i.lengthMt.encode(e)))}))}function ki(e){let t;return void 0!==e.kind&&(t=function(e){const t=new Uint8Array(4);return t[0]=e>>24&255,t[1]=e>>16&255,t[2]=e>>8&255,t[3]=255&e,t}(e.kind)),_i("nevent",Ci({0:[ot(e.id)],1:(e.relays||[]).map((e=>Mt.encode(e))),2:e.author?[ot(e.author)]:[],3:t?[new Uint8Array(t)]:[]}))}function xi(e){let t=new ArrayBuffer(4);return new DataView(t).setUint32(0,e.kind,!1),_i("naddr",Ci({0:[Mt.encode(e.identifier)],1:(e.relays||[]).map((e=>Mt.encode(e))),2:[ot(e.pubkey)],3:[new Uint8Array(t)]}))}function Si(e){return _i("nrelay",Ci({0:[Mt.encode(e)]}))}function Ci(e){let t=[];return Object.entries(e).reverse().forEach((([e,n])=>{n.forEach((n=>{let a=new Uint8Array(n.length+2);a.set([parseInt(e)],0),a.set([n.length],1),a.set(n,2),t.push(a)}))})),lt(...t)}var Ei=/\bnostr:((note|npub|naddr|nevent|nprofile)1\w+)\b|#\[(\d+)\]/g;function Ti(e){let t=[];for(let n of e.content.matchAll(Ei))if(n[2])try{let{type:e,data:a}=fi(n[1]);switch(e){case"npub":t.push({text:n[0],profile:{pubkey:a,relays:[]}});break;case"nprofile":t.push({text:n[0],profile:a});break;case"note":t.push({text:n[0],event:{id:a,relays:[]}});break;case"nevent":t.push({text:n[0],event:a});break;case"naddr":t.push({text:n[0],address:a})}}catch(e){}else if(n[3]){let a=parseInt(n[3],10),i=e.tags[a];if(!i)continue;switch(i[0]){case"p":t.push({text:n[0],profile:{pubkey:i[1],relays:i[2]?[i[2]]:[]}});break;case"e":t.push({text:n[0],event:{id:i[1],relays:i[2]?[i[2]]:[]}});break;case"a":try{let[e,a,r]=i[1].split(":");t.push({text:n[0],address:{identifier:r,pubkey:a,kind:parseInt(e,10),relays:i[2]?[i[2]]:[]}})}catch(e){}}}return t}var Ai={};function Mi(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`positive integer expected, not ${e}`)}function Pi(e){if("boolean"!=typeof e)throw new Error(`boolean expected, not ${e}`)}function Li(e){return e instanceof Uint8Array||null!=e&&"object"==typeof e&&"Uint8Array"===e.constructor.name}function Oi(e,...t){if(!Li(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${e.length}`)}function Ni(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ri(e,t){Oi(e);const n=t.outputLen;if(e.lengthTr,encrypt:()=>Er});var Ii=e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength),zi=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),qi=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function Di(e){if("string"!=typeof e)throw new Error("string expected, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}function ji(e){if("string"==typeof e)e=Di(e);else{if(!Li(e))throw new Error("Uint8Array expected, got "+typeof e);e=e.slice()}return e}function $i(e,t){if(e.length!==t.length)return!1;let n=0;for(let a=0;a(Object.assign(t,e),t);function Fi(e,t,n,a){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,a);const i=BigInt(32),r=BigInt(4294967295),o=Number(n>>i&r),s=Number(n&r),l=a?4:0,u=a?0:4;e.setUint32(t+l,o,a),e.setUint32(t+u,s,a)}var Vi=16,Ui=new Uint8Array(16),Hi=zi(Ui),Wi=e=>(e>>>0&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255;var Yi=class{constructor(e,t){this.blockLen=Vi,this.outputLen=Vi,this.s0=0,this.s1=0,this.s2=0,this.s3=0,this.finished=!1,Oi(e=ji(e),16);const n=qi(e);let a=n.getUint32(0,!1),i=n.getUint32(4,!1),r=n.getUint32(8,!1),o=n.getUint32(12,!1);const s=[];for(let e=0;e<128;e++)s.push({s0:Wi(a),s1:Wi(i),s2:Wi(r),s3:Wi(o)}),({s0:a,s1:i,s2:r,s3:o}={s3:(c=r)<<31|(d=o)>>>1,s2:(u=i)<<31|c>>>1,s1:(l=a)<<31|u>>>1,s0:l>>>1^225<<24&-(1&d)});var l,u,c,d;const h=(p=t||1024)>65536?8:p>1024?4:2;var p;if(![1,2,4,8].includes(h))throw new Error(`ghash: wrong window size=${h}, should be 2, 4 or 8`);this.W=h;const f=128/h,m=this.windowSize=2**h,g=[];for(let e=0;e>>h-o-1&1))continue;const{s0:l,s1:u,s2:c,s3:d}=s[h*e+o];n^=l,a^=u,i^=c,r^=d}g.push({s0:n,s1:a,s2:i,s3:r})}this.t=g}_updateBlock(e,t,n,a){e^=this.s0,t^=this.s1,n^=this.s2,a^=this.s3;const{W:i,t:r,windowSize:o}=this;let s=0,l=0,u=0,c=0;const d=(1<>>8*e&255;for(let e=8/i-1;e>=0;e--){const n=t>>>i*e&d,{s0:a,s1:p,s2:f,s3:m}=r[h*o+n];s^=a,l^=p,u^=f,c^=m,h+=1}}this.s0=s,this.s1=l,this.s2=u,this.s3=c}update(e){e=ji(e),Ni(this);const t=zi(e),n=Math.floor(e.length/Vi),a=e.length%Vi;for(let e=0;e>>1|n,n=(1&a)<<7}return e[0]^=225&-t,e}((e=ji(e)).slice());super(n,t),n.fill(0)}update(e){e=ji(e),Ni(this);const t=zi(e),n=e.length%Vi,a=Math.floor(e.length/Vi);for(let e=0;ee(n,t.length).update(ji(t)).digest(),n=e(new Uint8Array(16),0);return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=(t,n)=>e(t,n),t}var Gi=Ki(((e,t)=>new Yi(e,t))),Zi=Ki(((e,t)=>new Qi(e,t))),Ji=16,Xi=new Uint8Array(Ji),er=283;function tr(e){return e<<1^er&-(e>>7)}function nr(e,t){let n=0;for(;t>0;t>>=1)n^=e&-(1&t),e=tr(e);return n}var ar=(()=>{let e=new Uint8Array(256);for(let t=0,n=1;t<256;t++,n^=tr(n))e[t]=n;const t=new Uint8Array(256);t[0]=99;for(let n=0;n<255;n++){let a=e[255-n];a|=a<<8,t[e[n]]=255&(a^a>>4^a>>5^a>>6^a>>7^99)}return t})(),ir=ar.map(((e,t)=>ar.indexOf(t))),rr=e=>e<<24|e>>>8,or=e=>e<<8|e>>>24;function sr(e,t){if(256!==e.length)throw new Error("Wrong sbox length");const n=new Uint32Array(256).map(((n,a)=>t(e[a]))),a=n.map(or),i=a.map(or),r=i.map(or),o=new Uint32Array(65536),s=new Uint32Array(65536),l=new Uint16Array(65536);for(let t=0;t<256;t++)for(let u=0;u<256;u++){const c=256*t+u;o[c]=n[t]^a[u],s[c]=i[t]^r[u],l[c]=e[t]<<8|e[u]}return{sbox:e,sbox2:l,T0:n,T1:a,T2:i,T3:r,T01:o,T23:s}}var lr=sr(ar,(e=>nr(e,3)<<24|e<<16|e<<8|nr(e,2))),ur=sr(ir,(e=>nr(e,11)<<24|nr(e,13)<<16|nr(e,9)<<8|nr(e,14))),cr=(()=>{const e=new Uint8Array(16);for(let t=0,n=1;t<16;t++,n=tr(n))e[t]=n;return e})();function dr(e){Oi(e);const t=e.length;if(![16,24,32].includes(t))throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${t}`);const{sbox2:n}=lr,a=zi(e),i=a.length,r=e=>fr(n,e,e,e,e),o=new Uint32Array(t+28);o.set(a);for(let e=i;e6&&e%i==4&&(t=r(t)),o[e]=o[e-i]^t}return o}function hr(e){const t=dr(e),n=t.slice(),a=t.length,{sbox2:i}=lr,{T0:r,T1:o,T2:s,T3:l}=ur;for(let e=0;e>>8&255]^s[a>>>16&255]^l[a>>>24]}return n}function pr(e,t,n,a,i,r){return e[n<<8&65280|a>>>8&255]^t[i>>>8&65280|r>>>24&255]}function fr(e,t,n,a,i){return e[255&t|65280&n]|e[a>>>16&255|i>>>16&65280]<<16}function mr(e,t,n,a,i){const{sbox2:r,T01:o,T23:s}=lr;let l=0;t^=e[l++],n^=e[l++],a^=e[l++],i^=e[l++];const u=e.length/4-2;for(let r=0;r>>0,s.setUint32(c,h,t),({s0:p,s1:f,s2:m,s3:g}=mr(e,o[0],o[1],o[2],o[3]));const v=Ji*Math.floor(l.length/4);if(v=0;e--)n=n+(255&r[e])|0,r[e]=255&n,n>>>=8;({s0:s,s1:l,s2:u,s3:c}=mr(e,o[0],o[1],o[2],o[3]))}const p=Ji*Math.floor(d.length/4);if(pn(e,t),decrypt:(e,t)=>n(e,t)}}));function _r(e){if(Oi(e),e.length%Ji!=0)throw new Error("aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size 16")}function yr(e,t,n){let a=e.length;const i=a%Ji;if(!t&&0!==i)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");const r=zi(e);if(t){let e=Ji-i;e||(e=Ji),a+=e}const o=vr(a,n);return{b:r,o:zi(o),out:o}}function wr(e,t){if(!t)return e;const n=e.length;if(!n)throw new Error("aes/pcks5: empty ciphertext not allowed");const a=e[n-1];if(a<=0||a>16)throw new Error(`aes/pcks5: wrong padding byte: ${a}`);const i=e.subarray(0,-a);for(let t=0;t{Oi(t);const{b:i,o:r,out:o}=yr(t,n,a),s=dr(e);let l=0;for(;l+4<=i.length;){const{s0:e,s1:t,s2:n,s3:a}=mr(s,i[l+0],i[l+1],i[l+2],i[l+3]);r[l++]=e,r[l++]=t,r[l++]=n,r[l++]=a}if(n){const e=kr(t.subarray(4*l)),{s0:n,s1:a,s2:i,s3:o}=mr(s,e[0],e[1],e[2],e[3]);r[l++]=n,r[l++]=a,r[l++]=i,r[l++]=o}return s.fill(0),o},decrypt:(t,a)=>{_r(t);const i=hr(e),r=vr(t.length,a),o=zi(t),s=zi(r);for(let e=0;e+4<=o.length;){const{s0:t,s1:n,s2:a,s3:r}=gr(i,o[e+0],o[e+1],o[e+2],o[e+3]);s[e++]=t,s[e++]=n,s[e++]=a,s[e++]=r}return i.fill(0),wr(r,n)}}}));var xr=Bi({blockSize:16,nonceLength:16},(function(e,t,n={}){Oi(e),Oi(t,16);const a=!n.disablePadding;return{encrypt:(n,i)=>{const r=dr(e),{b:o,o:s,out:l}=yr(n,a,i),u=zi(t);let c=u[0],d=u[1],h=u[2],p=u[3],f=0;for(;f+4<=o.length;)c^=o[f+0],d^=o[f+1],h^=o[f+2],p^=o[f+3],({s0:c,s1:d,s2:h,s3:p}=mr(r,c,d,h,p)),s[f++]=c,s[f++]=d,s[f++]=h,s[f++]=p;if(a){const e=kr(n.subarray(4*f));c^=e[0],d^=e[1],h^=e[2],p^=e[3],({s0:c,s1:d,s2:h,s3:p}=mr(r,c,d,h,p)),s[f++]=c,s[f++]=d,s[f++]=h,s[f++]=p}return r.fill(0),l},decrypt:(n,i)=>{_r(n);const r=hr(e),o=zi(t),s=vr(n.length,i),l=zi(n),u=zi(s);let c=o[0],d=o[1],h=o[2],p=o[3];for(let e=0;e+4<=l.length;){const t=c,n=d,a=h,i=p;c=l[e+0],d=l[e+1],h=l[e+2],p=l[e+3];const{s0:o,s1:s,s2:f,s3:m}=gr(r,c,d,h,p);u[e++]=o^t,u[e++]=s^n,u[e++]=f^a,u[e++]=m^i}return r.fill(0),wr(s,a)}}}));function Sr(e,t,n,a,i){const r=e.create(n,a.length+(i?.length||0));i&&r.update(i),r.update(a);const o=new Uint8Array(16),s=qi(o);return i&&Fi(s,0,BigInt(8*i.length),t),Fi(s,8,BigInt(8*a.length),t),r.update(o),r.digest()}Bi({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){if(Oi(t),0===t.length)throw new Error("aes/gcm: empty nonce");const a=16;function i(e,t,a){const i=Sr(Gi,!1,e,a,n);for(let e=0;e{Oi(e);const{xk:t,authKey:n,counter:o,tagMask:s}=r(),l=new Uint8Array(e.length+a);br(t,!1,o,e,l);const u=i(n,s,l.subarray(0,l.length-a));return l.set(u,e.length),t.fill(0),l},decrypt:e=>{if(Oi(e),e.lengtha=>{if(!Number.isSafeInteger(a)||t>a||a>n)throw new Error(`${e}: invalid value=${a}, must be [${t}..${n}]`)};Bi({blockSize:16,nonceLength:12,tagLength:16},(function(e,t,n){const a=Cr("AAD",0,2**36),i=Cr("plaintext",0,2**36),r=Cr("nonce",12,12),o=Cr("ciphertext",16,2**36+16);function s(){const n=e.length;if(16!==n&&24!==n&&32!==n)throw new Error(`key length must be 16, 24 or 32 bytes, got: ${n} bytes`);const a=dr(e),i=new Uint8Array(n),r=new Uint8Array(16),o=zi(t);let s=0,l=o[0],u=o[1],c=o[2],d=0;for(const e of[r,i].map(zi)){const t=zi(e);for(let e=0;e{Oi(e),i(e.length);const{encKey:t,authKey:n}=s(),a=l(t,n,e),r=new Uint8Array(e.length+16);return r.set(a,e.length),r.set(u(t,a,e)),t.fill(0),n.fill(0),r},decrypt:e=>{Oi(e),o(e.length);const t=e.subarray(-16),{encKey:n,authKey:a}=s(),i=u(n,t,e.subarray(0,-16)),r=l(n,a,i);if(n.fill(0),a.fill(0),!$i(t,r))throw new Error("invalid polyval tag");return i}}}));async function Er(e,t,n){const a=e instanceof Uint8Array?rt(e):e,i=Ar(Ie.getSharedSecret(a,"02"+t));let r=Uint8Array.from(dt(16)),o=Mt.encode(n),s=xr(i,r).encrypt(o);return`${Xa.encode(new Uint8Array(s))}?iv=${Xa.encode(new Uint8Array(r.buffer))}`}async function Tr(e,t,n){const a=e instanceof Uint8Array?rt(e):e;let[i,r]=n.split("?iv="),o=Ar(Ie.getSharedSecret(a,"02"+t)),s=Xa.decode(r),l=Xa.decode(i),u=xr(o,s).decrypt(l);return At.decode(u)}function Ar(e){return e.slice(1,33)}var Mr={};i(Mr,{NIP05_REGEX:()=>Lr,isValid:()=>Ir,queryProfile:()=>Rr,searchDomain:()=>Nr,useFetchImplementation:()=>Or});var Pr,Lr=/^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/;try{Pr=fetch}catch{}function Or(e){Pr=e}async function Nr(e,t=""){try{const n=`https://${e}/.well-known/nostr.json?name=${t}`,a=await Pr(n,{redirect:"error"});return(await a.json()).names}catch(e){return{}}}async function Rr(e){const t=e.match(Lr);if(!t)return null;const[n,a="_",i]=t;try{const e=`https://${i}/.well-known/nostr.json?name=${a}`,t=await(await Pr(e,{redirect:"error"})).json();let n=t.names[a];return n?{pubkey:n,relays:t.relays?.[n]}:null}catch(e){return null}}async function Ir(e,t){let n=await Rr(t);return!!n&&n.pubkey===e}var zr={};function qr(e){const t={reply:void 0,root:void 0,mentions:[],profiles:[]},n=[];for(const a of e.tags)"e"===a[0]&&a[1]&&n.push(a),"p"===a[0]&&a[1]&&t.profiles.push({pubkey:a[1],relays:a[2]?[a[2]]:[]});for(let e=0;eqr});var Dr={};i(Dr,{fetchRelayInformation:()=>$r,useFetchImplementation:()=>jr});try{fetch}catch{}function jr(e){e}async function $r(e){return await(await fetch(e.replace("ws://","http://").replace("wss://","https://"),{headers:{Accept:"application/nostr+json"}})).json()}var Br={};function Fr(e){let t=0;for(let n=0;n=t)break}return a}i(Br,{getPow:()=>Fr,minePow:()=>Vr});var Ur={};function Hr(e,t,n,a){return Bt({kind:nn,tags:[...e.tags??[],["e",t.id,n],["p",t.pubkey]],content:""===e.content?"":JSON.stringify(t),created_at:e.created_at},a)}function Wr(e){if(e.kind!==nn)return;let t,n;for(let a=e.tags.length-1;a>=0&&(void 0===t||void 0===n);a--){const i=e.tags[a];i.length>=2&&("e"===i[0]&&void 0===t?t=i:"p"===i[0]&&void 0===n&&(n=i))}return void 0!==t?{id:t[1],relays:[t[2],n?.[2]].filter((e=>"string"==typeof e)),author:n?.[1]}:void 0}function Yr(e,{skipVerification:t}={}){const n=Wr(e);if(void 0===n||""===e.content)return;let a;try{a=JSON.parse(e.content)}catch(e){return}return a.id===n.id&&(t||Ft(a))?a:void 0}i(Ur,{finishRepostEvent:()=>Hr,getRepostedEvent:()=>Yr,getRepostedEventPointer:()=>Wr});var Qr={};i(Qr,{NOSTR_URI_REGEX:()=>Kr,parse:()=>Zr,test:()=>Gr});var Kr=new RegExp(`nostr:(${pi.source})`);function Gr(e){return"string"==typeof e&&new RegExp(`^${Kr.source}$`).test(e)}function Zr(e){const t=e.match(new RegExp(`^${Kr.source}$`));if(!t)throw new Error(`Invalid Nostr URI: ${e}`);return{uri:t[0],value:t[1],decoded:fi(t[1])}}var Jr={};function Xr(e,t,n){const a=t.tags.filter((e=>e.length>=2&&("e"===e[0]||"p"===e[0])));return Bt({...e,kind:an,tags:[...e.tags??[],...a,["e",t.id],["p",t.pubkey]],content:e.content??"+"},n)}function eo(e){if(e.kind!==an)return;let t,n;for(let a=e.tags.length-1;a>=0&&(void 0===t||void 0===n);a--){const i=e.tags[a];i.length>=2&&("e"===i[0]&&void 0===t?t=i:"p"===i[0]&&void 0===n&&(n=i))}return void 0!==t&&void 0!==n?{id:t[1],relays:[t[2],n[2]].filter((e=>void 0!==e)),author:n[1]}:void 0}i(Jr,{finishReactionEvent:()=>Xr,getReactedEventPointer:()=>eo});var to={};i(to,{matchAll:()=>ao,regex:()=>no,replaceAll:()=>io});var no=()=>new RegExp(`\\b${Kr.source}\\b`,"g");function*ao(e){const t=e.matchAll(no());for(const e of t)try{const[t,n]=e;yield{uri:t,value:n,decoded:fi(n),start:e.index,end:e.index+t.length}}catch(e){}}function io(e,t){return e.replaceAll(no(),((e,n)=>t({uri:e,value:n,decoded:fi(n)})))}var ro={};i(ro,{channelCreateEvent:()=>oo,channelHideMessageEvent:()=>uo,channelMessageEvent:()=>lo,channelMetadataEvent:()=>so,channelMuteUserEvent:()=>co});var oo=(e,t)=>{let n;if("object"==typeof e.content)n=JSON.stringify(e.content);else{if("string"!=typeof e.content)return;n=e.content}return Bt({kind:sn,tags:[...e.tags??[]],content:n,created_at:e.created_at},t)},so=(e,t)=>{let n;if("object"==typeof e.content)n=JSON.stringify(e.content);else{if("string"!=typeof e.content)return;n=e.content}return Bt({kind:ln,tags:[["e",e.channel_create_event_id],...e.tags??[]],content:n,created_at:e.created_at},t)},lo=(e,t)=>{const n=[["e",e.channel_create_event_id,e.relay_url,"root"]];return e.reply_to_channel_message_event_id&&n.push(["e",e.reply_to_channel_message_event_id,e.relay_url,"reply"]),Bt({kind:un,tags:[...n,...e.tags??[]],content:e.content,created_at:e.created_at},t)},uo=(e,t)=>{let n;if("object"==typeof e.content)n=JSON.stringify(e.content);else{if("string"!=typeof e.content)return;n=e.content}return Bt({kind:cn,tags:[["e",e.channel_message_event_id],...e.tags??[]],content:n,created_at:e.created_at},t)},co=(e,t)=>{let n;if("object"==typeof e.content)n=JSON.stringify(e.content);else{if("string"!=typeof e.content)return;n=e.content}return Bt({kind:dn,tags:[["p",e.pubkey_to_mute],...e.tags??[]],content:n,created_at:e.created_at},t)},ho={};i(ho,{EMOJI_SHORTCODE_REGEX:()=>po,matchAll:()=>mo,regex:()=>fo,replaceAll:()=>go});var po=/:(\w+):/,fo=()=>new RegExp(`\\B${po.source}\\B`,"g");function*mo(e){const t=e.matchAll(fo());for(const e of t)try{const[t,n]=e;yield{shortcode:t,name:n,start:e.index,end:e.index+t.length}}catch(e){}}function go(e,t){return e.replaceAll(fo(),((e,n)=>t({shortcode:e,name:n})))}var vo,bo={};i(bo,{useFetchImplementation:()=>_o,validateGithub:()=>yo});try{vo=fetch}catch{}function _o(e){vo=e}async function yo(e,t,n){try{return await(await vo(`https://gist.github.com/${t}/${n}/raw`)).text()===`Verifying that I control the following Nostr public key: ${e}`}catch(e){return!1}}var wo={};i(wo,{decrypt:()=>ns,encrypt:()=>ts,getConversationKey:()=>Go,v2:()=>as});var ko=(e,t)=>255&e[t++]|(255&e[t++])<<8,xo=class{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,Oi(e=ji(e),32);const t=ko(e,0),n=ko(e,2),a=ko(e,4),i=ko(e,6),r=ko(e,8),o=ko(e,10),s=ko(e,12),l=ko(e,14);this.r[0]=8191&t,this.r[1]=8191&(t>>>13|n<<3),this.r[2]=7939&(n>>>10|a<<6),this.r[3]=8191&(a>>>7|i<<9),this.r[4]=255&(i>>>4|r<<12),this.r[5]=r>>>1&8190,this.r[6]=8191&(r>>>14|o<<2),this.r[7]=8065&(o>>>11|s<<5),this.r[8]=8191&(s>>>8|l<<8),this.r[9]=l>>>5&127;for(let t=0;t<8;t++)this.pad[t]=ko(e,16+2*t)}process(e,t,n=!1){const a=n?0:2048,{h:i,r:r}=this,o=r[0],s=r[1],l=r[2],u=r[3],c=r[4],d=r[5],h=r[6],p=r[7],f=r[8],m=r[9],g=ko(e,t+0),v=ko(e,t+2),b=ko(e,t+4),_=ko(e,t+6),y=ko(e,t+8),w=ko(e,t+10),k=ko(e,t+12),x=ko(e,t+14);let S=i[0]+(8191&g),C=i[1]+(8191&(g>>>13|v<<3)),E=i[2]+(8191&(v>>>10|b<<6)),T=i[3]+(8191&(b>>>7|_<<9)),A=i[4]+(8191&(_>>>4|y<<12)),M=i[5]+(y>>>1&8191),P=i[6]+(8191&(y>>>14|w<<2)),L=i[7]+(8191&(w>>>11|k<<5)),O=i[8]+(8191&(k>>>8|x<<8)),N=i[9]+(x>>>5|a),R=0,I=R+S*o+C*(5*m)+E*(5*f)+T*(5*p)+A*(5*h);R=I>>>13,I&=8191,I+=M*(5*d)+P*(5*c)+L*(5*u)+O*(5*l)+N*(5*s),R+=I>>>13,I&=8191;let z=R+S*s+C*o+E*(5*m)+T*(5*f)+A*(5*p);R=z>>>13,z&=8191,z+=M*(5*h)+P*(5*d)+L*(5*c)+O*(5*u)+N*(5*l),R+=z>>>13,z&=8191;let q=R+S*l+C*s+E*o+T*(5*m)+A*(5*f);R=q>>>13,q&=8191,q+=M*(5*p)+P*(5*h)+L*(5*d)+O*(5*c)+N*(5*u),R+=q>>>13,q&=8191;let D=R+S*u+C*l+E*s+T*o+A*(5*m);R=D>>>13,D&=8191,D+=M*(5*f)+P*(5*p)+L*(5*h)+O*(5*d)+N*(5*c),R+=D>>>13,D&=8191;let j=R+S*c+C*u+E*l+T*s+A*o;R=j>>>13,j&=8191,j+=M*(5*m)+P*(5*f)+L*(5*p)+O*(5*h)+N*(5*d),R+=j>>>13,j&=8191;let $=R+S*d+C*c+E*u+T*l+A*s;R=$>>>13,$&=8191,$+=M*o+P*(5*m)+L*(5*f)+O*(5*p)+N*(5*h),R+=$>>>13,$&=8191;let B=R+S*h+C*d+E*c+T*u+A*l;R=B>>>13,B&=8191,B+=M*s+P*o+L*(5*m)+O*(5*f)+N*(5*p),R+=B>>>13,B&=8191;let F=R+S*p+C*h+E*d+T*c+A*u;R=F>>>13,F&=8191,F+=M*l+P*s+L*o+O*(5*m)+N*(5*f),R+=F>>>13,F&=8191;let V=R+S*f+C*p+E*h+T*d+A*c;R=V>>>13,V&=8191,V+=M*u+P*l+L*s+O*o+N*(5*m),R+=V>>>13,V&=8191;let U=R+S*m+C*f+E*p+T*h+A*d;R=U>>>13,U&=8191,U+=M*c+P*u+L*l+O*s+N*o,R+=U>>>13,U&=8191,R=(R<<2)+R|0,R=R+I|0,I=8191&R,R>>>=13,z+=R,i[0]=I,i[1]=z,i[2]=q,i[3]=D,i[4]=j,i[5]=$,i[6]=B,i[7]=F,i[8]=V,i[9]=U}finalize(){const{h:e,pad:t}=this,n=new Uint16Array(10);let a=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=a,a=e[t]>>>13,e[t]&=8191;e[0]+=5*a,a=e[0]>>>13,e[0]&=8191,e[1]+=a,a=e[1]>>>13,e[1]&=8191,e[2]+=a,n[0]=e[0]+5,a=n[0]>>>13,n[0]&=8191;for(let t=1;t<10;t++)n[t]=e[t]+a,a=n[t]>>>13,n[t]&=8191;n[9]-=8192;let i=(1^a)-1;for(let e=0;e<10;e++)n[e]&=i;i=~i;for(let t=0;t<10;t++)e[t]=e[t]&i|n[t];e[0]=65535&(e[0]|e[1]<<13),e[1]=65535&(e[1]>>>3|e[2]<<10),e[2]=65535&(e[2]>>>6|e[3]<<7),e[3]=65535&(e[3]>>>9|e[4]<<4),e[4]=65535&(e[4]>>>12|e[5]<<1|e[6]<<14),e[5]=65535&(e[6]>>>2|e[7]<<11),e[6]=65535&(e[7]>>>5|e[8]<<8),e[7]=65535&(e[8]>>>8|e[9]<<5);let r=e[0]+t[0];e[0]=65535&r;for(let n=1;n<8;n++)r=(e[n]+t[n]|0)+(r>>>16)|0,e[n]=65535&r}update(e){Ni(this);const{buffer:t,blockLen:n}=this,a=(e=ji(e)).length;for(let i=0;i>>0,e[i++]=n[t]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}};var So=function(e){const t=(t,n)=>e(n).update(ji(t)).digest(),n=e(new Uint8Array(32));return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=t=>e(t),t}((e=>new xo(e))),Co=Di("expand 16-byte k"),Eo=Di("expand 32-byte k"),To=zi(Co),Ao=zi(Eo);function Mo(e,t){return e<>>32-t}function Po(e){return e.byteOffset%4==0}var Lo=64,Oo=16,No=2**32-1,Ro=new Uint32Array;function Io(e,t){const{allowShortKeys:n,extendNonceFn:a,counterLength:i,counterRight:r,rounds:o}=function(e,t){if(null==t||"object"!=typeof t)throw new Error("options must be defined");return Object.assign(e,t)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if("function"!=typeof e)throw new Error("core must be a function");return Mi(i),Mi(o),Pi(r),Pi(n),(t,s,l,u,c=0)=>{Oi(t),Oi(s),Oi(l);const d=l.length;if(u||(u=new Uint8Array(d)),Oi(u),Mi(c),c<0||c>=No)throw new Error("arx: counter overflow");if(u.length=No)throw new Error("arx: counter overflow");const m=Math.min(Lo,l-f);if(d&&m===Lo){const e=f/4;if(f%4!=0)throw new Error("arx: invalid block position");for(let t,n=0;n0;)h.pop().fill(0);return u}}function zo(e,t,n,a,i,r=20){let o=e[0],s=e[1],l=e[2],u=e[3],c=t[0],d=t[1],h=t[2],p=t[3],f=t[4],m=t[5],g=t[6],v=t[7],b=i,_=n[0],y=n[1],w=n[2],k=o,x=s,S=l,C=u,E=c,T=d,A=h,M=p,P=f,L=m,O=g,N=v,R=b,I=_,z=y,q=w;for(let e=0;e{e.update(t);const n=t.length%16;n&&e.update(jo.subarray(n))},Bo=new Uint8Array(32);function Fo(e,t,n,a,i){const r=e(t,n,Bo),o=So.create(r);i&&$o(o,i),$o(o,a);const s=new Uint8Array(16),l=qi(s);Fi(l,0,BigInt(i?i.length:0),!0),Fi(l,8,BigInt(a.length),!0),o.update(s);const u=o.digest();return r.fill(0),u}var Vo=e=>(t,n,a)=>{const i=16;return Oi(t,32),Oi(n),{encrypt:(r,o)=>{const s=r.length,l=s+i;o?Oi(o,l):o=new Uint8Array(l),e(t,n,r,o,1);const u=Fo(e,t,n,o.subarray(0,-16),a);return o.set(u,s),o},decrypt:(r,o)=>{const s=r.length,l=s-i;if(sa?e.create().update(n).digest():n);for(let e=0;enew Uo(e,t).update(n).digest();Ho.create=(e,t)=>new Uo(e,t);var Wo=new Uint8Array([0]),Yo=new Uint8Array;var Qo=1,Ko=65535;function Go(e,t){const n=Ie.getSharedSecret(e,"02"+t).subarray(1,33);return a=Et,i=n,r="nip44-v2",bt.hash(a),void 0===r&&(r=new Uint8Array(a.outputLen)),Ho(a,st(r),st(i));var a,i,r}function Zo(e,t){const n=function(e,t,n,a=32){if(bt.hash(e),bt.number(a),a>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(a/e.outputLen);void 0===n&&(n=Yo);const r=new Uint8Array(i*e.outputLen),o=Ho.create(e,t),s=o._cloneInto(),l=new Uint8Array(o.outputLen);for(let t=0;tKo)throw new Error("invalid plaintext size: must be between 1 and 65535 bytes");const t=new Uint8Array(2);return new DataView(t.buffer).setUint16(0,e,!1),t}(n),t,new Uint8Array(Jo(n)-n))}function es(e,t,n){if(32!==n.length)throw new Error("AAD associated data must be 32 bytes");const a=lt(n,t);return Ho(Et,e,a)}function ts(e,t,n=dt(32)){const{chacha_key:a,chacha_nonce:i,hmac_key:r}=Zo(t,n),o=Xo(e),s=qo(a,i,o),l=es(r,s,n);return Xa.encode(lt(new Uint8Array([2]),n,s,l))}function ns(e,t){const{nonce:n,ciphertext:a,mac:i}=function(e){if("string"!=typeof e)throw new Error("payload must be a valid string");const t=e.length;if(t<132||t>87472)throw new Error("invalid payload length: "+t);if("#"===e[0])throw new Error("unknown encryption version");let n;try{n=Xa.decode(e)}catch(e){throw new Error("invalid base64: "+e.message)}const a=n.length;if(a<99||a>65603)throw new Error("invalid data length: "+a);const i=n[0];if(2!==i)throw new Error("unknown encryption version "+i);return{nonce:n.subarray(1,33),ciphertext:n.subarray(33,-32),mac:n.subarray(-32)}}(e),{chacha_key:r,chacha_nonce:o,hmac_key:s}=Zo(t,n);if(!$i(es(s,a,n),i))throw new Error("invalid MAC");return function(e){const t=new DataView(e.buffer).getUint16(0),n=e.subarray(2,2+t);if(tKo||n.length!==t||e.length!==2+Jo(t))throw new Error("invalid padding");return At.decode(n)}(qo(r,o,a))}var as={utils:{getConversationKey:Go,calcPaddedLen:Jo},encrypt:ts,decrypt:ns},is={};function rs(e){const{pathname:t,searchParams:n}=new URL(e),a=t,i=n.get("relay"),r=n.get("secret");if(!a||!i||!r)throw new Error("invalid connection string");return{pubkey:a,relay:i,secret:r}}async function os(e,t,n){const a={method:"pay_invoice",params:{invoice:n}},i=await Er(t,e,JSON.stringify(a)),r={kind:Bn,created_at:Math.round(Date.now()/1e3),content:i,tags:[["p",e]]};return Bt(r,t)}i(is,{makeNwcRequestEvent:()=>os,parseConnectionString:()=>rs});var ss,ls={};i(ls,{getZapEndpoint:()=>cs,makeZapReceipt:()=>ps,makeZapRequest:()=>ds,useFetchImplementation:()=>us,validateZapRequest:()=>hs});try{ss=fetch}catch{}function us(e){ss=e}async function cs(e){try{let t="",{lud06:n,lud16:a}=JSON.parse(e.content);if(n){let{words:e}=ci.decode(n,1e3),a=ci.fromWords(e);t=At.decode(a)}else{if(!a)return null;{let[e,n]=a.split("@");t=new URL(`/.well-known/lnurlp/${e}`,`https://${n}`).toString()}}let i=await ss(t),r=await i.json();if(r.allowsNostr&&r.nostrPubkey)return r.callback}catch(e){}return null}function ds({profile:e,event:t,amount:n,relays:a,comment:i=""}){if(!n)throw new Error("amount not given");if(!e)throw new Error("profile not given");let r={kind:9734,created_at:Math.round(Date.now()/1e3),content:i,tags:[["p",e],["amount",n.toString()],["relays",...a]]};return t&&r.tags.push(["e",t]),r}function hs(e){let t;try{t=JSON.parse(e)}catch(e){return"Invalid zap request JSON."}if(!ft(t))return"Zap request is not a valid Nostr event.";if(!Ft(t))return"Invalid signature on zap request.";let n=t.tags.find((([e,t])=>"p"===e&&t));if(!n)return"Zap request doesn't have a 'p' tag.";if(!n[1].match(/^[a-f0-9]{64}$/))return"Zap request 'p' tag is not valid hex.";let a=t.tags.find((([e,t])=>"e"===e&&t));return a&&!a[1].match(/^[a-f0-9]{64}$/)?"Zap request 'e' tag is not valid hex.":t.tags.find((([e,t])=>"relays"===e&&t))?null:"Zap request doesn't have a 'relays' tag."}function ps({zapRequest:e,preimage:t,bolt11:n,paidAt:a}){let i=JSON.parse(e),r=i.tags.filter((([e])=>"e"===e||"p"===e||"a"===e)),o={kind:9735,created_at:Math.round(a.getTime()/1e3),content:"",tags:[...r,["P",i.pubkey],["bolt11",n],["description",e]]};return t&&o.tags.push(["preimage",t]),o}var fs={};i(fs,{getToken:()=>vs,hashPayload:()=>Ss,unpackEventFromToken:()=>_s,validateEvent:()=>Es,validateEventKind:()=>ws,validateEventMethodTag:()=>xs,validateEventPayloadTag:()=>Cs,validateEventTimestamp:()=>ys,validateEventUrlTag:()=>ks,validateToken:()=>bs});var ms,gs="Nostr ";async function vs(e,t,n,a=!1,i){const r={kind:Un,tags:[["u",e],["method",t]],created_at:Math.round((new Date).getTime()/1e3),content:""};i&&r.tags.push(["payload",Ss(i)]);const o=await n(r);return(a?gs:"")+Xa.encode(Mt.encode(JSON.stringify(o)))}async function bs(e,t,n){const a=await _s(e).catch((e=>{throw e}));return await Es(a,t,n).catch((e=>{throw e}))}async function _s(e){if(!e)throw new Error("Missing token");e=e.replace(gs,"");const t=At.decode(Xa.decode(e));if(!t||0===t.length||!t.startsWith("{"))throw new Error("Invalid token");return JSON.parse(t)}function ys(e){return!!e.created_at&&Math.round((new Date).getTime()/1e3)-e.created_at<60}function ws(e){return e.kind===Un}function ks(e,t){const n=e.tags.find((e=>"u"===e[0]));return!!n&&(n.length>0&&n[1]===t)}function xs(e,t){const n=e.tags.find((e=>"method"===e[0]));return!!n&&(n.length>0&&n[1].toLowerCase()===t.toLowerCase())}function Ss(e){return rt(Et(Mt.encode(JSON.stringify(e))))}function Cs(e,t){const n=e.tags.find((e=>"payload"===e[0]));if(!n)return!1;const a=Ss(t);return n.length>0&&n[1]===a}async function Es(e,t,n,a){if(!Ft(e))throw new Error("Invalid nostr event, signature invalid");if(!ws(e))throw new Error("Invalid nostr event, kind invalid");if(!ys(e))throw new Error("Invalid nostr event, created_at timestamp invalid");if(!ks(e,t))throw new Error("Invalid nostr event, url tag invalid");if(!xs(e,n))throw new Error("Invalid nostr event, method tag invalid");if(Boolean(a)&&"object"==typeof a&&Object.keys(a).length>0&&!Cs(e,a))throw new Error("Invalid nostr event, payload tag does not match request body hash");return!0}return ms=r,((i,r,o,s)=>{if(r&&"object"==typeof r||"function"==typeof r)for(let l of n(r))a.call(i,l)||l===o||e(i,l,{get:()=>r[l],enumerable:!(s=t(r,l))||s.enumerable});return i})(e({},"__esModule",{value:!0}),ms)})();function eventReactionWebocket(e){localUrl="",reaction=localStorage.getItem("lnbits.reactions"),reaction&&"None"!==reaction&&("http:"!==location.protocol?localUrl="wss://"+location.host+"/api/v1/ws/"+e:localUrl="ws://"+location.host+"/api/v1/ws/"+e,connection=new WebSocket(localUrl),connection.onmessage=function(e){try{if(JSON.parse(e.data).payment.amount<0)return;reaction=localStorage.getItem("lnbits.reactions"),reaction&&window[reaction.split("|")[1]]()}catch(e){console.log(e)}})}function confettiBothSides(){document.getElementById("vue").disabled=!0;var e=Date.now()+2e3,t=["#FFD700","#ffffff"];!function n(){confetti({particleCount:2,angle:60,spread:55,origin:{x:0},colors:t,zIndex:999999}),confetti({particleCount:2,angle:120,spread:55,origin:{x:1},colors:t,zIndex:999999}),Date.now(){e.substring(0,n.length)===n&&(t=n)})),null==t)throw"Malformed request: unknown prefix";let n=decodeAmount(e.substring(t.length,e.length));return{prefix:t,amount:n}}function decodeData(e,t){let n=e.substring(0,7),a=bech32ToInt(n),i=e.substring(e.length-104,e.length),r=e.substring(7,e.length-104),o=decodeTags(r),s=bech32ToFiveBitArray(n+r);return s=fiveBitArrayTo8BitArray(s,!0),s=textToHexString(t).concat(byteArrayToHexString(s)),{time_stamp:a,tags:o,signature:decodeSignature(i),signing_data:s}}function decodeSignature(e){let t=fiveBitArrayTo8BitArray(bech32ToFiveBitArray(e)),n=t[t.length-1];return{r:byteArrayToHexString(t.slice(0,32)),s:byteArrayToHexString(t.slice(32,t.length-1)),recovery_flag:n}}function decodeAmount(e){let t=e.charAt(e.length-1),n=e.substring(0,e.length-1);if("0"===n.substring(0,1))throw"Malformed request: amount cannot contain leading zeros";if(n=Number(n),n<0||!Number.isInteger(n))throw"Malformed request: amount must be a positive decimal integer";switch(t){case"":return"Any amount";case"p":return n/10;case"n":return 100*n;case"u":return 1e5*n;case"m":return 1e8*n;default:throw"Malformed request: undefined amount multiplier"}}function decodeTags(e){let t=extractTags(e),n=[];return t.forEach((e=>n.push(decodeTag(e.type,e.length,e.data)))),n}function extractTags(e){let t=[];for(;e.length>0;){let n=e.charAt(0),a=bech32ToInt(e.substring(1,3)),i=e.substring(3,a+3);t.push({type:n,length:a,data:i}),e=e.substring(3+a,e.length)}return t}function decodeTag(e,t,n){switch(e){case"p":if(52!==t)break;return{type:e,length:t,description:"payment_hash",value:byteArrayToHexString(fiveBitArrayTo8BitArray(bech32ToFiveBitArray(n)))};case"d":return{type:e,length:t,description:"description",value:bech32ToUTF8String(n)};case"n":if(53!==t)break;return{type:e,length:t,description:"payee_public_key",value:byteArrayToHexString(fiveBitArrayTo8BitArray(bech32ToFiveBitArray(n)))};case"h":if(52!==t)break;return{type:e,length:t,description:"description_hash",value:n};case"x":return{type:e,length:t,description:"expiry",value:bech32ToInt(n)};case"c":return{type:e,length:t,description:"min_final_cltv_expiry",value:bech32ToInt(n)};case"f":let a=bech32ToFiveBitArray(n.charAt(0))[0];if(a<0||a>18)break;return{type:e,length:t,description:"fallback_address",value:{version:a,fallback_address:n=n.substring(1,n.length)}};case"r":let i=(n=fiveBitArrayTo8BitArray(bech32ToFiveBitArray(n))).slice(0,33),r=n.slice(33,41),o=n.slice(41,45),s=n.slice(45,49),l=n.slice(49,51);return{type:e,length:t,description:"routing_information",value:{public_key:byteArrayToHexString(i),short_channel_id:byteArrayToHexString(r),fee_base_msat:byteArrayToInt(o),fee_proportional_millionths:byteArrayToInt(s),cltv_expiry_delta:byteArrayToInt(l)}}}}function polymod(e){let t=[996825010,642813549,513874426,1027748829,705979059],n=1;return e.forEach((e=>{let a=n>>25;n=(33554431&n)<<5^e;for(let e=0;e<5;e++)n^=1==(a>>e&1)?t[e]:0})),n}function expand(e){let t=[];for(let n=0;n>5);t.push(0);for(let n=0;n delta]",status:"Status",notification_source:"Benachrichtigungsquelle",notification_source_label:"Quell-URL (verwenden Sie nur die offizielle LNbits-Statusquelle und Quellen, denen Sie vertrauen können)",more:"mehr",less:"weniger",releases:"Veröffentlichungen",killswitch:"Killswitch",watchdog:"Wachhund",server_logs:"Serverprotokolle",ip_blocker:"IP-Sperre",security:"Sicherheit",security_tools:"Sicherheitstools",block_access_hint:"Zugriff per IP sperren",allow_access_hint:"Zugriff durch IP erlauben (überschreibt blockierte IPs)",enter_ip:"Geben Sie die IP ein und drücken Sie die Eingabetaste",rate_limiter:"Ratenbegrenzer",wallet_limiter:"Geldbeutel-Limiter",wallet_limit_max_withdraw_per_day:"Maximales tägliches Wallet-Auszahlungslimit in Sats (0 zum Deaktivieren)",wallet_max_ballance:"Maximales Guthaben der Wallet in Sats (0 zum Deaktivieren)",wallet_limit_secs_between_trans:"Mindestsekunden zwischen Transaktionen pro Wallet (0 zum Deaktivieren)",number_of_requests:"Anzahl der Anfragen",time_unit:"Zeiteinheit",minute:"Minute",second:"Sekunde",hour:"Stunde",disable_server_log:"Server-Log deaktivieren",enable_server_log:"Serverprotokollierung aktivieren",coming_soon:"Funktion demnächst verfügbar",session_has_expired:"Ihre Sitzung ist abgelaufen. Bitte melden Sie sich erneut an.",instant_access_question:"Möchten Sie sofortigen Zugang?",login_with_user_id:"Mit Benutzer-ID anmelden",or:"oder",create_new_wallet:"Neue Geldbörse erstellen",login_to_account:"Melden Sie sich bei Ihrem Konto an",create_account:"Konto erstellen",account_settings:"Kontoeinstellungen",signin_with_google:"Mit Google anmelden",signin_with_github:"Anmelden mit GitHub",signin_with_keycloak:"Mit Keycloak anmelden",username_or_email:"Benutzername oder E-Mail",password:"Passwort",password_config:"Passwortkonfiguration",password_repeat:"Passwortwiederholung",change_password:"Passwort ändern",set_password:"Passwort festlegen",invalid_password:"Das Passwort muss mindestens 8 Zeichen haben.",login:"Anmelden",register:"Registrieren",username:"Benutzername",user_id:"Benutzer-ID",email:"E-Mail",first_name:"Vorname",last_name:"Nachname",picture:"Bild",verify_email:"E-Mail verifizieren mit",account:"Konto",update_account:"Konto aktualisieren",invalid_username:"Ungültiger Benutzername",auth_provider:"Anbieter für Authentifizierung",my_account:"Mein Konto",back:"Zurück",logout:"Abmelden",look_and_feel:"Aussehen und Verhalten",language:"Sprache",color_scheme:"Farbschema",extension_cost:"Diese Version erfordert eine Zahlung von mindestens {cost} Sats.",extension_paid_sats:"Sie haben bereits {paid_sats} Sats bezahlt.",release_details_error:"Kann die Details zur Veröffentlichung nicht abrufen.",pay_from_wallet:"Zahlen aus dem Geldbeutel",show_qr:"QR anzeigen",retry_install:"Installieren erneut versuchen",new_payment:"Neue Zahlung vornehmen",hide_empty_wallets:"Leere Geldbörsen verbergen"},window.localisation.en={confirm:"Yes",server:"Server",theme:"Theme",funding:"Funding",users:"Users",apps:"Apps",channels:"Channels",transactions:"Transactions",dashboard:"Dashboard",node:"Node",export_users:"Export Users",no_users:"No users found",total_capacity:"Total Capacity",avg_channel_size:"Avg. Channel Size",biggest_channel_size:"Biggest Channel Size",smallest_channel_size:"Smallest Channel Size",number_of_channels:"Number of Channels",active_channels:"Active Channels",connect_peer:"Connect Peer",connect:"Connect",open_channel:"Open Channel",open:"Open",close_channel:"Close Channel",close:"Close",restart:"Restart server",save:"Save",save_tooltip:"Save your changes",topup:"Topup",topup_wallet:"Topup a wallet",topup_hint:"Use the wallet ID to topup any wallet",restart_tooltip:"Restart the server for changes to take effect",add_funds_tooltip:"Add funds to a wallet.",reset_defaults:"Reset to defaults",reset_defaults_tooltip:"Delete all settings and reset to defaults.",download_backup:"Download database backup",name_your_wallet:"Name your {name} wallet",wallet_topup_ok:"Success creating virtual funds ({amount} sats). Payments depend on actual funds on funding source.",paste_invoice_label:"Paste an invoice, payment request or lnurl code *",lnbits_description:"Easy to set up and lightweight, LNbits can run on any Lightning Network funding source and even LNbits itself! You can run LNbits for yourself, or easily offer a custodian solution for others. Each wallet has its own API keys and there is no limit to the number of wallets you can make. Being able to partition funds makes LNbits a useful tool for money management and as a development tool. Extensions add extra functionality to LNbits so you can experiment with a range of cutting-edge technologies on the lightning network. We have made developing extensions as easy as possible, and as a free and open-source project, we encourage people to develop and submit their own.",export_to_phone:"Export to Phone with QR Code",export_to_phone_desc:"This QR code contains your wallet URL with full access. You can scan it from your phone to open your wallet from there.",wallets:"Wallets",add_wallet:"Add a new wallet",delete_wallet:"Delete wallet",delete_wallet_desc:"This whole wallet will be deleted, the funds will be UNRECOVERABLE.",rename_wallet:"Rename wallet",update_name:"Update name",fiat_tracking:"Fiat tracking",currency:"Currency",update_currency:"Update currency",press_to_claim:"Press to claim bitcoin",donate:"Donate",view_github:"View on GitHub",voidwallet_active:"VoidWallet is active! Payments disabled",use_with_caution:"USE WITH CAUTION - {name} wallet is still in BETA",service_fee:"Service fee: {amount} % per transaction",service_fee_max:"Service fee: {amount} % per transaction (max {max} sats)",service_fee_tooltip:"Service fee charged by the LNbits server admin per outgoing transaction",toggle_darkmode:"Toggle Dark Mode",payment_reactions:"Payment Reactions",view_swagger_docs:"View LNbits Swagger API docs",api_docs:"API docs",api_keys_api_docs:"Node URL, API keys and API docs",lnbits_version:"LNbits version",runs_on:"Runs on",credit_hint:"Press Enter to credit account",credit_label:"{denomination} to credit",paste:"Paste",paste_from_clipboard:"Paste from clipboard",paste_request:"Paste Request",create_invoice:"Create Invoice",camera_tooltip:"Use camera to scan an invoice/QR",export_csv:"Export to CSV",chart_tooltip:"Show chart",pending:"Pending",copy_invoice:"Copy invoice",withdraw_from:"Withdraw from",cancel:"Cancel",scan:"Scan",read:"Read",pay:"Pay",memo:"Memo",date:"Date",processing_payment:"Processing payment...",not_enough_funds:"Not enough funds!",search_by_tag_memo_amount:"Search by tag, memo, amount",invoice_waiting:"Invoice waiting to be paid",payment_received:"Payment Received",payment_sent:"Payment Sent",receive:"receive",send:"send",outgoing_payment_pending:"Outgoing payment pending",drain_funds:"Drain Funds",drain_funds_desc:"This is an LNURL-withdraw QR code for slurping everything from this wallet. Do not share with anyone. It is compatible with balanceCheck and balanceNotify so your wallet may keep pulling the funds continuously from here after the first withdraw.",i_understand:"I understand",copy_wallet_url:"Copy wallet URL",disclaimer_dialog_title:"Important!",disclaimer_dialog:"You *must* save your login credentials to be able to access your wallet again. If you lose them, you will lose access to your wallet and funds.\n\nFind your login credentials on your account settings page.\n\nThis service is in BETA. LNbits holds no responsibility for loss of access to funds.",no_transactions:"No transactions made yet",manage:"Manage",extensions:"Extensions",no_extensions:"You don't have any extensions installed :(",created:"Created",search_extensions:"Search extensions",warning:"Warning",repository:"Repository",confirm_continue:"Are you sure you want to continue?",manage_extension_details:"Install/uninstall extension",install:"Install",uninstall:"Uninstall",drop_db:"Remove Data",enable:"Enable",pay_to_enable:"Pay To Enable",enable_extension_details:"Enable extension for current user",disable:"Disable",installed:"Installed",activated:"Activated",deactivated:"Deactivated",release_notes:"Release Notes",activate_extension_details:"Make extension available/unavailable for users",featured:"Featured",all:"All",only_admins_can_install:"(Only admin accounts can install extensions)",admin_only:"Admin Only",new_version:"New Version",extension_depends_on:"Depends on:",extension_rating_soon:"Ratings coming soon",extension_installed_version:"Installed version",extension_uninstall_warning:"You are about to remove the extension for all users.",uninstall_confirm:"Yes, Uninstall",extension_db_drop_info:"All data for the extension will be permanently deleted. There is no way to undo this operation!",extension_db_drop_warning:"You are about to remove all data for the extension. Please type the extension name to continue:",extension_min_lnbits_version:"This release requires at least LNbits version",payment_hash:"Payment Hash",fee:"Fee",amount:"Amount",amount_sats:"Amount (sats)",tag:"Tag",unit:"Unit",description:"Description",expiry:"Expiry",webhook:"Webhook",payment_proof:"Payment Proof",update_available:"Update {version} available!",latest_update:"You are on the latest version {version}.",notifications:"Notifications",no_notifications:"No notifications",notifications_disabled:"LNbits status notifications are disabled.",enable_notifications:"Enable Notifications",enable_notifications_desc:"If enabled it will fetch the latest LNbits Status updates, like security incidents and updates.",enable_killswitch:"Enable Killswitch",enable_killswitch_desc:"If enabled it will change your funding source to VoidWallet automatically if LNbits sends out a killswitch signal. You will need to enable manually after an update.",killswitch_interval:"Killswitch Interval",killswitch_interval_desc:"How often the background task should check for the LNbits killswitch signal from the status source (in minutes).",enable_watchdog:"Enable Watchdog",enable_watchdog_desc:"If enabled it will change your funding source to VoidWallet automatically if your balance is lower than the LNbits balance. You will need to enable manually after an update.",watchdog_interval:"Watchdog Interval",watchdog_interval_desc:"How often the background task should check for a killswitch signal in the watchdog delta [node_balance - lnbits_balance] (in minutes).",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Limit before killswitch changes funding source to VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notification Source",notification_source_label:"Source URL (only use the official LNbits status source, and sources you can trust)",more:"more",less:"less",releases:"Releases",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Server Logs",ip_blocker:"IP Blocker",security:"Security",security_tools:"Security tools",block_access_hint:"Block access by IP",allow_access_hint:"Allow access by IP (will override blocked IPs)",enter_ip:"Enter IP and hit enter",rate_limiter:"Rate Limiter",wallet_limiter:"Wallet Limiter",wallet_limit_max_withdraw_per_day:"Max daily wallet withdrawal in sats (0 to disable)",wallet_max_ballance:"Wallet max balance in sats (0 to disable)",wallet_limit_secs_between_trans:"Min secs between transactions per wallet (0 to disable)",number_of_requests:"Number of requests",time_unit:"Time unit",minute:"minute",second:"second",hour:"hour",disable_server_log:"Disable Server Log",enable_server_log:"Enable Server Log",coming_soon:"Feature coming soon",session_has_expired:"Your session has expired. Please login again.",instant_access_question:"Want instant access?",login_with_user_id:"Login with user ID",or:"or",create_new_wallet:"Create New Wallet",login_to_account:"Login to your account",create_account:"Create account",account_settings:"Account Settings",signin_with_nostr:"Continue with Nostr",signin_with_google:"Sign in with Google",signin_with_github:"Sign in with GitHub",signin_with_keycloak:"Sign in with Keycloak",username_or_email:"Username or Email",password:"Password",password_config:"Password Config",password_repeat:"Password repeat",change_password:"Change Password",update_credentials:"Update Credentials",update_pubkey:"Update Public Key",set_password:"Set Password",invalid_password:"Password must have at least 8 characters",login:"Login",register:"Register",username:"Username",pubkey:"Public Key",user_id:"User ID",email:"Email",first_name:"First Name",last_name:"Last Name",picture:"Picture",verify_email:"Verify email with",account:"Account",update_account:"Update Account",invalid_username:"Invalid Username",auth_provider:"Auth Provider",my_account:"My Account",back:"Back",logout:"Logout",look_and_feel:"Look and Feel",toggle_gradient:"Toggle Gradient",gradient_background:"Gradient Background",language:"Language",color_scheme:"Color Scheme",extension_cost:"This release requires a payment of minimum {cost} sats.",extension_paid_sats:"You have already paid {paid_sats} sats.",release_details_error:"Cannot get the release details.",pay_from_wallet:"Pay from Wallet",wallet_required:"Wallet *",show_qr:"Show QR",retry_install:"Retry Install",new_payment:"Make New Payment",update_payment:"Update Payment",already_paid_question:"Have you already paid?",sell:"Sell",sell_require:"Ask payment to enable extension",sell_info:"The {name} extension requires a payment of minimum {amount} sats to enable.",hide_empty_wallets:"Hide empty wallets",recheck:"Recheck",contributors:"Contributors",license:"License"},window.localisation.es={confirm:"Sí",server:"Servidor",theme:"Tema",funding:"Financiación",users:"Usuarios",apps:"Aplicaciones",channels:"Canales",transactions:"Transacciones",dashboard:"Tablero de instrumentos",node:"Nodo",export_users:"Exportar Usuarios",no_users:"No se encontraron usuarios",total_capacity:"Capacidad Total",avg_channel_size:"Tamaño Medio del Canal",biggest_channel_size:"Tamaño del Canal Más Grande",smallest_channel_size:"Tamaño de canal más pequeño",number_of_channels:"Número de canales",active_channels:"Canales activos",connect_peer:"Conectar Par",connect:"Conectar",open_channel:"Canal Abierto",open:"Abrir",close_channel:"Cerrar canal",close:"Cerrar",restart:"Reiniciar el servidor",save:"Guardar",save_tooltip:"Guardar cambios",topup:"Recargar",topup_wallet:"Recargar billetera",topup_hint:"Utilice el ID de billetera para recargar cualquier billetera",restart_tooltip:"Reinicie el servidor para aplicar los cambios",add_funds_tooltip:"Agregue fondos a una billetera.",reset_defaults:"Restablecer",reset_defaults_tooltip:"Borrar todas las configuraciones y restablecer a los valores predeterminados.",download_backup:"Descargar copia de seguridad de la base de datos",name_your_wallet:"Nombre de su billetera {name}",wallet_topup_ok:"Éxito creando fondos virtuales ({amount} sats). Los pagos dependen de los fondos reales en la fuente de financiación.",paste_invoice_label:"Pegue la factura aquí",lnbits_description:"Fácil de instalar y liviano, LNbits puede ejecutarse en cualquier fuente de financiación de la red Lightning y hasta LNbits mismo! Puede ejecutar LNbits para usted mismo o ofrecer una solución competente a otros. Cada billetera tiene su propia clave API y no hay límite para la cantidad de billeteras que puede crear. La capacidad de particionar fondos hace de LNbits una herramienta útil para la administración de fondos y como herramienta de desarrollo. Las extensiones agregan funcionalidad adicional a LNbits, por lo que puede experimentar con una variedad de tecnologías de vanguardia en la red Lightning. Lo hemos hecho lo más simple posible para desarrollar extensiones y, como un proyecto gratuito y de código abierto, animamos a las personas a que se desarrollen a sí mismas y envíen sus propios contribuciones.",export_to_phone:"Exportar a teléfono con código QR",export_to_phone_desc:"Este código QR contiene su URL de billetera con acceso completo. Puede escanearlo desde su teléfono para abrir su billetera allí.",wallets:"Billeteras",add_wallet:"Agregar nueva billetera",delete_wallet:"Eliminar billetera",delete_wallet_desc:"Esta billetera completa se eliminará, los fondos son IRREVERSIBLES.",rename_wallet:"Cambiar el nombre de la billetera",update_name:"Actualizar nombre",fiat_tracking:"Seguimiento Fiat",currency:"Moneda",update_currency:"Actualizar moneda",press_to_claim:"Presione para reclamar Bitcoin",donate:"Donar",view_github:"Ver en GitHub",voidwallet_active:"¡VoidWallet está activo! Pagos desactivados",use_with_caution:"USAR CON CUIDADO - {name} Wallet aún está en BETA",service_fee:"Tarifa de servicio: {amount} % por transacción",service_fee_max:"Tarifa de servicio: {amount} % por transacción (máx {max} sats)",service_fee_tooltip:"Comisión de servicio cobrada por el administrador del servidor LNbits por cada transacción saliente",toggle_darkmode:"Cambiar modo oscuro",payment_reactions:"Reacciones de Pago",view_swagger_docs:"Ver documentación de API de LNbits Swagger",api_docs:"Documentación de API",api_keys_api_docs:"URL del nodo, claves de API y documentación de API",lnbits_version:"Versión de LNbits",runs_on:"Corre en",credit_hint:"Presione Enter para cargar la cuenta",credit_label:"Cargar {denomination}",paste:"Pegar",paste_from_clipboard:"Pegar desde el portapapeles",paste_request:"Pegar solicitud",create_invoice:"Crear factura",camera_tooltip:"Utilice la cámara para escanear una factura / código QR",export_csv:"Exportar a CSV",chart_tooltip:"Mostrar gráfico",pending:"Pendiente",copy_invoice:"Copiar factura",withdraw_from:"Retirar de",cancel:"Cancelar",scan:"Escanear",read:"Leer",pay:"Pagar",memo:"Memo",date:"Fecha",processing_payment:"Procesando pago ...",not_enough_funds:"¡No hay suficientes fondos!",search_by_tag_memo_amount:"Buscar por etiqueta, memo, cantidad",invoice_waiting:"Factura esperando pago",payment_received:"Pago recibido",payment_sent:"Pago enviado",receive:"recibir",send:"enviar",outgoing_payment_pending:"Pago saliente pendiente",drain_funds:"Drenar fondos",drain_funds_desc:"Este es un código QR LNURL-withdraw para drenar todos los fondos de esta billetera. No lo comparta con nadie. Es compatible con balanceCheck y balanceNotify, por lo que su billetera puede continuar drenando los fondos de aquí después del primer drenaje.",i_understand:"Lo entiendo",copy_wallet_url:"Copiar URL de billetera",disclaimer_dialog_title:"¡Importante!",disclaimer_dialog:"La funcionalidad de inicio de sesión se lanzará en una actualización futura, por ahora, asegúrese de guardar esta página como marcador para acceder a su billetera en el futuro. Este servicio está en BETA y no asumimos ninguna responsabilidad por personas que pierdan el acceso a sus fondos.",no_transactions:"No hay transacciones todavía",manage:"Administrar",extensions:"Extensiones",no_extensions:"No tienes extensiones instaladas :(",created:"Creado",search_extensions:"Extensiones de búsqueda",warning:"Advertencia",repository:"Repositorio",confirm_continue:"¿Está seguro de que desea continuar?",manage_extension_details:"Instalar/desinstalar extensión",install:"Instalar",uninstall:"Desinstalar",drop_db:"Eliminar datos",enable:"Habilitar",enable_extension_details:"Habilitar extensión para el usuario actual",disable:"Deshabilitar",installed:"Instalado",activated:"Activado",deactivated:"Desactivado",release_notes:"Notas de la versión",activate_extension_details:"Hacer que la extensión esté disponible/no disponible para los usuarios",featured:"Destacado",all:"Todos",only_admins_can_install:"(Solo las cuentas de administrador pueden instalar extensiones)",admin_only:"Solo administradores",new_version:"Nueva Versión",extension_depends_on:"Depende de:",extension_rating_soon:"Calificaciones próximamente",extension_installed_version:"Versión instalada",extension_uninstall_warning:"Está a punto de eliminar la extensión para todos los usuarios.",uninstall_confirm:"Sí, desinstalar",extension_db_drop_info:"Todos los datos para la extensión se eliminarán permanentemente. ¡No hay manera de deshacer esta operación!",extension_db_drop_warning:"Está a punto de eliminar todos los datos para la extensión. Por favor, escriba el nombre de la extensión para continuar:",extension_min_lnbits_version:"Esta versión requiere al menos una versión de LNbits",payment_hash:"Hash de pago",fee:"Cuota",amount:"Cantidad",tag:"Etiqueta",unit:"Unidad",description:"Descripción",expiry:"Expiración",webhook:"Webhook",payment_proof:"Prueba de pago",update_available:"¡Actualización {version} disponible!",latest_update:"Usted está en la última versión {version}.",notifications:"Notificaciones",no_notifications:"No hay notificaciones",notifications_disabled:"Las notificaciones de estado de LNbits están desactivadas.",enable_notifications:"Activar notificaciones",enable_notifications_desc:"Si está activado, buscará las últimas actualizaciones del estado de LNbits, como incidentes de seguridad y actualizaciones.",enable_killswitch:"Activar Killswitch",enable_killswitch_desc:"Si está activado, cambiará automáticamente su fuente de financiamiento a VoidWallet si LNbits envía una señal de parada de emergencia. Necesitará activarlo manualmente después de una actualización.",killswitch_interval:"Intervalo de Killswitch",killswitch_interval_desc:"Con qué frecuencia la tarea en segundo plano debe verificar la señal de interruptor de emergencia de LNbits desde la fuente de estado (en minutos).",enable_watchdog:"Activar Watchdog",enable_watchdog_desc:"Si está activado, cambiará automáticamente su fuente de financiamiento a VoidWallet si su saldo es inferior al saldo de LNbits. Tendrá que activarlo manualmente después de una actualización.",watchdog_interval:"Intervalo de vigilancia",watchdog_interval_desc:"Con qué frecuencia la tarea de fondo debe verificar la señal de killswitch en el delta del watchdog [node_balance - lnbits_balance] (en minutos).",watchdog_delta:"Vigilante Delta",watchdog_delta_desc:"Límite antes de que el interruptor de apagado cambie la fuente de financiamiento a VoidWallet [lnbits_balance - node_balance > delta]",status:"Estado",notification_source:"Fuente de notificación",notification_source_label:"URL de origen (solo use la fuente oficial de estado de LNbits y fuentes en las que confíe)",more:"más",less:"menos",releases:"Lanzamientos",killswitch:"Interruptor de apagado",watchdog:"Perro guardián",server_logs:"Registros del Servidor",ip_blocker:"Bloqueador de IP",security:"Seguridad",security_tools:"Herramientas de seguridad",block_access_hint:"Bloquear acceso por IP",allow_access_hint:"Permitir acceso por IP (anulará las IPs bloqueadas)",enter_ip:"Ingrese la IP y presione enter",rate_limiter:"Limitador de tasa",wallet_limiter:"Limitador de Cartera",wallet_limit_max_withdraw_per_day:"Límite diario de retiro de la cartera en sats (0 para deshabilitar)",wallet_max_ballance:"Saldo máximo de la billetera en sats (0 para desactivar)",wallet_limit_secs_between_trans:"Mín. segs entre transacciones por cartera (0 para desactivar)",number_of_requests:"Número de solicitudes",time_unit:"Unidad de tiempo",minute:"minuto",second:"segundo",hour:"hora",disable_server_log:"Desactivar registro del servidor",enable_server_log:"Activar registro del servidor",coming_soon:"Función próximamente disponible",session_has_expired:"Tu sesión ha expirado. Por favor, inicia sesión de nuevo.",instant_access_question:"¿Quieres acceso instantáneo?",login_with_user_id:"Iniciar sesión con ID de usuario",or:"o",create_new_wallet:"Crear Nueva Cartera",login_to_account:"Inicie sesión en su cuenta",create_account:"Crear cuenta",account_settings:"Configuración de la cuenta",signin_with_google:"Inicia sesión con Google",signin_with_github:"Inicia sesión con GitHub",signin_with_keycloak:"Iniciar sesión con Keycloak",username_or_email:"Nombre de usuario o correo electrónico",password:"Contraseña",password_config:"Configuración de Contraseña",password_repeat:"Repetición de contraseña",change_password:"Cambiar contraseña",set_password:"Establecer contraseña",invalid_password:"La contraseña debe tener al menos 8 caracteres.",login:"Iniciar sesión",register:"Registrarse",username:"Nombre de usuario",user_id:"Identificación de usuario",email:"Correo electrónico",first_name:"Nombre de pila",last_name:"Apellido",picture:"Imagen",verify_email:"Verifique el correo electrónico con",account:"Cuenta",update_account:"Actualizar cuenta",invalid_username:"Nombre de usuario inválido",auth_provider:"Proveedor de Autenticación",my_account:"Mi cuenta",back:"Atrás",logout:"Cerrar sesión",look_and_feel:"Apariencia",language:"Idioma",color_scheme:"Esquema de colores",extension_cost:"Esta versión requiere un pago mínimo de {cost} sats.",extension_paid_sats:"Ya has pagado {paid_sats} sats.",release_details_error:"No se pueden obtener los detalles de la versión.",pay_from_wallet:"Pagar desde la billetera",show_qr:"Mostrar QR",retry_install:"Reintentar Instalación",new_payment:"Realizar nuevo pago",hide_empty_wallets:"Ocultar billeteras vacías"},window.localisation.fr={confirm:"Oui",server:"Serveur",theme:"Thème",funding:"Financement",users:"Utilisateurs",apps:"Applications",channels:"Canaux",transactions:"Transactions",dashboard:"Tableau de bord",node:"Noeud",export_users:"Exporter les utilisateurs",no_users:"Aucun utilisateur trouvé",total_capacity:"Capacité totale",avg_channel_size:"Taille moyenne du canal",biggest_channel_size:"Taille de canal maximale",smallest_channel_size:"Taille de canal la plus petite",number_of_channels:"Nombre de canaux",active_channels:"Canaux actifs",connect_peer:"Connecter un pair",connect:"Connecter",open_channel:"Ouvrir le canal",open:"Ouvrir",close_channel:"Fermer le canal",close:"Fermer",restart:"Redémarrer le serveur",save:"Enregistrer",save_tooltip:"Enregistrer vos modifications",topup:"Renflouer",topup_wallet:"Reflouer un portefeuille",topup_hint:"Utilisez l'ID du portefeuille pour recharger n'importe quel portefeuille",restart_tooltip:"Redémarrez le serveur pour que les changements prennent effet",add_funds_tooltip:"Ajouter des fonds à un portefeuille.",reset_defaults:"Réinitialiser aux valeurs par défaut",reset_defaults_tooltip:"Supprimer tous les paramètres et les réinitialiser aux valeurs par défaut.",download_backup:"Télécharger la sauvegarde de la base de données",name_your_wallet:"Nommez votre portefeuille {name}",wallet_topup_ok:"Succès de la création de fonds virtuels ({amount} sats). Les paiements dépendent des fonds réels sur la source de financement.",paste_invoice_label:"Coller une facture, une demande de paiement ou un code lnurl *",lnbits_description:"Facile à installer et léger, LNbits peut fonctionner sur n'importe quelle source de financement du réseau Lightning et même LNbits lui-même! Vous pouvez exécuter LNbits pour vous-même ou offrir facilement une solution de gardien pour les autres. Chaque portefeuille a ses propres clés API et il n'y a pas de limite au nombre de portefeuilles que vous pouvez créer. La capacité de partitionner les fonds rend LNbits un outil utile pour la gestion de l'argent et comme outil de développement. Les extensions ajoutent une fonctionnalité supplémentaire à LNbits afin que vous puissiez expérimenter une gamme de technologies de pointe sur le réseau Lightning. Nous avons rendu le développement d'extensions aussi simple que possible et, en tant que projet gratuit et open source, nous encourageons les gens à développer et à soumettre les leurs.",export_to_phone:"Exporter vers le téléphone avec un code QR",export_to_phone_desc:"Ce code QR contient l'URL de votre portefeuille avec un accès complet. Vous pouvez le scanner depuis votre téléphone pour ouvrir votre portefeuille depuis là-bas.",wallets:"Portefeuilles",add_wallet:"Ajouter un nouveau portefeuille",delete_wallet:"Supprimer le portefeuille",delete_wallet_desc:"Ce portefeuille entier sera supprimé et les fonds seront IRRECUPERABLES.",rename_wallet:"Renommer le portefeuille",update_name:"Mettre à jour le nom",fiat_tracking:"Suivi Fiat",currency:"Devise",update_currency:"Mettre à jour la devise",press_to_claim:"Appuyez pour demander du Bitcoin",donate:"Donner",view_github:"Voir sur GitHub",voidwallet_active:"VoidWallet est actif! Paiements désactivés",use_with_caution:"UTILISER AVEC PRUDENCE - Le portefeuille {name} est toujours en version BETA",service_fee:"Frais de service : {amount} % par transaction",service_fee_max:"Frais de service : {amount} % par transaction (max {max} sats)",service_fee_tooltip:"Frais de service facturés par l'administrateur du serveur LNbits pour chaque transaction sortante",toggle_darkmode:"Basculer le mode sombre",payment_reactions:"Réactions de paiement",view_swagger_docs:"Voir les documentation de l'API Swagger de LNbits",api_docs:"Documentation de l'API",api_keys_api_docs:"URL du nœud, clés API et documentation API",lnbits_version:"Version de LNbits",runs_on:"Fonctionne sur",credit_hint:"Appuyez sur Entrée pour créditer le compte",credit_label:"{denomination} à créditer",paste:"Coller",paste_from_clipboard:"Coller depuis le presse-papiers",paste_request:"Coller la requête",create_invoice:"Créer une facture",camera_tooltip:"Utiliser la caméra pour scanner une facture / un code QR",export_csv:"Exporter vers CSV",chart_tooltip:"Afficher le graphique",pending:"En attente",copy_invoice:"Copier la facture",withdraw_from:"Retirer de",cancel:"Annuler",scan:"Scanner",read:"Lire",pay:"Payer",memo:"Mémo",date:"Date",processing_payment:"Traitement du paiement...",not_enough_funds:"Fonds insuffisants !",search_by_tag_memo_amount:"Rechercher par tag, mémo, montant",invoice_waiting:"Facture en attente de paiement",payment_received:"Paiement reçu",payment_sent:"Paiement envoyé",receive:"recevoir",send:"envoyer",outgoing_payment_pending:"Paiement sortant en attente",drain_funds:"Vider les fonds",drain_funds_desc:"Il s'agit d'un code QR LNURL-withdraw pour tout aspirer de ce portefeuille. Ne le partagez avec personne. Il est compatible avec balanceCheck et balanceNotify, de sorte que votre portefeuille peut continuer à retirer les fonds continuellement à partir d'ici après le premier retrait.",i_understand:"J'ai compris",copy_wallet_url:"Copier l'URL du portefeuille",disclaimer_dialog_title:"Important !",disclaimer_dialog:"La fonctionnalité de connexion sera publiée dans une future mise à jour, pour l'instant, assurez-vous de mettre cette page en favori pour accéder à votre portefeuille ultérieurement ! Ce service est en BETA, et nous ne sommes pas responsables des personnes qui perdent l'accès à leurs fonds.",no_transactions:"Aucune transaction effectuée pour le moment",manage:"Gérer",extensions:"Extensions",no_extensions:"Vous n'avez installé aucune extension :(",created:"Créé",search_extensions:"Rechercher des extensions",warning:"Avertissement",repository:"Référentiel",confirm_continue:"Êtes-vous sûr de vouloir continuer ?",manage_extension_details:"Installer/désinstaller l'extension",install:"Installer",uninstall:"Désinstaller",drop_db:"Supprimer les données",enable:"Activer",enable_extension_details:"Activer l'extension pour l'utilisateur actuel",disable:"Désactiver",installed:"Installé",activated:"Activé",deactivated:"Désactivé",release_notes:"Notes de version",activate_extension_details:"Rendre l'extension disponible/indisponible pour les utilisateurs",featured:"Mis en avant",all:"Tout",only_admins_can_install:"Seuls les comptes administrateurs peuvent installer des extensions",admin_only:"Réservé aux administrateurs",new_version:"Nouvelle version",extension_depends_on:"Dépend de :",extension_rating_soon:"Notes des utilisateurs à venir bientôt",extension_installed_version:"Version installée",extension_uninstall_warning:"Vous êtes sur le point de supprimer l'extension pour tous les utilisateurs.",uninstall_confirm:"Oui, Désinstaller",extension_db_drop_info:"Toutes les données pour l'extension seront supprimées de manière permanente. Il n'est pas possible d'annuler cette opération !",extension_db_drop_warning:"Vous êtes sur le point de supprimer toutes les données de l'extension. Veuillez taper le nom de l'extension pour continuer :",extension_min_lnbits_version:"Cette version nécessite au moins LNbits version",payment_hash:"Hash de paiement",fee:"Frais",amount:"Montant",tag:"Étiqueter",unit:"Unité",description:"Description",expiry:"Expiration",webhook:"Webhook",payment_proof:"Preuve de paiement",update_available:"Mise à jour {version} disponible !",latest_update:"Vous êtes sur la dernière version {version}.",notifications:"Notifications",no_notifications:"Aucune notification",notifications_disabled:"Les notifications de statut LNbits sont désactivées.",enable_notifications:"Activer les notifications",enable_notifications_desc:"Si activé, il récupérera les dernières mises à jour du statut LNbits, telles que les incidents de sécurité et les mises à jour.",enable_killswitch:"Activer le Killswitch",enable_killswitch_desc:"Si activé, il changera automatiquement votre source de financement en VoidWallet si LNbits envoie un signal de coupure. Vous devrez activer manuellement après une mise à jour.",killswitch_interval:"Intervalle du Killswitch",killswitch_interval_desc:"À quelle fréquence la tâche de fond doit-elle vérifier le signal d'arrêt d'urgence LNbits provenant de la source de statut (en minutes).",enable_watchdog:"Activer le Watchdog",enable_watchdog_desc:"Si elle est activée, elle changera automatiquement votre source de financement en VoidWallet si votre solde est inférieur au solde LNbits. Vous devrez activer manuellement après une mise à jour.",watchdog_interval:"Intervalle du gardien",watchdog_interval_desc:"À quelle fréquence la tâche en arrière-plan doit-elle vérifier la présence d'un signal d'arrêt d'urgence dans le delta du gardien [node_balance - lnbits_balance] (en minutes).",watchdog_delta:"Chien de garde Delta",watchdog_delta_desc:"Limite avant que l'interrupteur d'arrêt ne change la source de financement pour VoidWallet [lnbits_balance - node_balance > delta]",status:"Statut",notification_source:"Source de notification",notification_source_label:"URL source (utilisez uniquement la source officielle de statut LNbits et des sources de confiance)",more:"plus",less:"moins",releases:"Versions",killswitch:"Interrupteur d'arrêt",watchdog:"Chien de garde",server_logs:"Journaux du serveur",ip_blocker:"Bloqueur d'IP",security:"Sécurité",security_tools:"Outils de sécurité",block_access_hint:"Bloquer l'accès par IP",allow_access_hint:"Autoriser l'accès par IP (cela passera outre les IP bloquées)",enter_ip:"Entrez l'adresse IP et appuyez sur Entrée",rate_limiter:"Limiteur de débit",wallet_limiter:"Limiteur de portefeuille",wallet_limit_max_withdraw_per_day:"Retrait quotidien maximum du portefeuille en sats (0 pour désactiver)",wallet_max_ballance:"Solde maximum du portefeuille en sats (0 pour désactiver)",wallet_limit_secs_between_trans:"Minutes et secondes entre les transactions par portefeuille (0 pour désactiver)",number_of_requests:"Nombre de requêtes",time_unit:"Unité de temps",minute:"minute",second:"seconde",hour:"heure",disable_server_log:"Désactiver le journal du serveur",enable_server_log:"Activer le journal du serveur",coming_soon:"Fonctionnalité à venir bientôt",session_has_expired:"Votre session a expiré. Veuillez vous reconnecter.",instant_access_question:"Voulez-vous un accès instantané ?",login_with_user_id:"Connexion avec l'identifiant utilisateur",or:"ou",create_new_wallet:"Créer un nouveau portefeuille",login_to_account:"Connectez-vous à votre compte",create_account:"Créer un compte",account_settings:"Paramètres du compte",signin_with_google:"Connectez-vous avec Google",signin_with_github:"Connectez-vous avec GitHub",signin_with_keycloak:"Connectez-vous avec Keycloak",username_or_email:"Nom d'utilisateur ou e-mail",password:"Mot de passe",password_config:"Configuration du mot de passe",password_repeat:"Répétition du mot de passe",change_password:"Changer le mot de passe",set_password:"Définir le mot de passe",invalid_password:"Le mot de passe doit comporter au moins 8 caractères",login:"Connexion",register:"Inscrire",username:"Nom d'utilisateur",user_id:"Identifiant utilisateur",email:"E-mail",first_name:"Prénom",last_name:"Nom de famille",picture:"Image",verify_email:"Vérifiez l'e-mail avec",account:"Compte",update_account:"Mettre à jour le compte",invalid_username:"Nom d'utilisateur invalide",auth_provider:"Fournisseur d'authentification",my_account:"Mon compte",back:"Retour",logout:"Déconnexion",look_and_feel:"Apparence",language:"Langue",color_scheme:"Schéma de couleurs",extension_cost:"Cette version nécessite un paiement minimum de {cost} sats.",extension_paid_sats:"Vous avez déjà payé {paid_sats} sats.",release_details_error:"Impossible d'obtenir les détails de la version.",pay_from_wallet:"Payer depuis le portefeuille",show_qr:"Afficher le QR",retry_install:"Réessayer l'installation",new_payment:"Effectuer un nouveau paiement",hide_empty_wallets:"Masquer les portefeuilles vides"},window.localisation.it={confirm:"Sì",server:"Server",theme:"Tema",funding:"Funding",users:"Utenti",apps:"Applicazioni",channels:"Canali",transactions:"Transazioni",dashboard:"Pannello di controllo",node:"Interruttore",export_users:"Esporta utenti",no_users:"Nessun utente trovato",total_capacity:"Capacità Totale",avg_channel_size:"Dimensione media del canale",biggest_channel_size:"Dimensione del canale più grande",smallest_channel_size:"Dimensione Più Piccola del Canale",number_of_channels:"Numero di Canali",active_channels:"Canali Attivi",connect_peer:"Connetti Peer",connect:"Connetti",open_channel:"Canale aperto",open:"Apri",close_channel:"Chiudi Canale",close:"Chiudi",restart:"Riavvia il server",save:"Salva",save_tooltip:"Salva le modifiche",topup:"Ricarica",topup_wallet:"Ricarica un portafoglio",topup_hint:"Usa l'ID del portafoglio per ricaricare qualsiasi portafoglio",restart_tooltip:"Riavvia il server affinché le modifiche abbiano effetto",add_funds_tooltip:"Aggiungere fondi a un portafoglio",reset_defaults:"Ripristina le impostazioni predefinite",reset_defaults_tooltip:"Cancella tutte le impostazioni e ripristina i valori predefiniti",download_backup:"Scarica il backup del database",name_your_wallet:"Dai un nome al tuo portafoglio {name}",wallet_topup_ok:"Operazione riuscita nella creazione di fondi virtuali ({amount} sats). I pagamenti dipendono dai fondi effettivi sulla fonte di finanziamento.",paste_invoice_label:"Incolla una fattura, una richiesta di pagamento o un codice lnurl *",lnbits_description:"Leggero e facile da configurare, LNbits può funzionare su qualsiasi fonte di finanziamento Lightning Network e persino LNbits stesso! Potete gestire LNbits per conto vostro o offrire facilmente una soluzione di custodia per altri. Ogni portafoglio ha le proprie chiavi API e non c'è limite al numero di portafogli che si possono creare. La possibilità di suddividere i fondi rende LNbits uno strumento utile per la gestione del denaro e come strumento di sviluppo. Le estensioni aggiungono ulteriori funzionalità a LNbits, consentendo di sperimentare una serie di tecnologie all'avanguardia sulla rete Lightning. Abbiamo reso lo sviluppo delle estensioni il più semplice possibile e, in quanto progetto libero e open-source, incoraggiamo le persone a sviluppare e inviare le proprie",export_to_phone:"Esportazione su telefono con codice QR",export_to_phone_desc:"Questo codice QR contiene l'URL del portafoglio con accesso da amministratore. È possibile scansionarlo dal telefono per aprire il portafoglio da lì.",wallets:"Portafogli",add_wallet:"Aggiungi un nuovo portafoglio",delete_wallet:"Elimina il portafoglio",delete_wallet_desc:"L'intero portafoglio sarà cancellato, i fondi saranno irrecuperabili",rename_wallet:"Rinomina il portafoglio",update_name:"Aggiorna il nome",fiat_tracking:"Tracciamento Fiat",currency:"Valuta",update_currency:"Aggiorna valuta",press_to_claim:"Premi per richiedere bitcoin",donate:"Donazioni",view_github:"Visualizza su GitHub",voidwallet_active:"VoidWallet è attivo! Pagamenti disabilitati",use_with_caution:"USARE CON CAUTELA - {name} portafoglio è ancora in BETA",service_fee:"Commissione di servizio: {amount} % per transazione",service_fee_max:"Commissione di servizio: {amount} % per transazione (max {max} sats)",service_fee_tooltip:"Commissione di servizio addebitata dall'amministratore del server LNbits per ogni transazione in uscita",toggle_darkmode:"Attiva la modalità notturna",payment_reactions:"Reazioni al Pagamento",view_swagger_docs:"Visualizza i documentazione dell'API Swagger di LNbits",api_docs:"Documentazione dell'API",api_keys_api_docs:"URL del nodo, chiavi API e documentazione API",lnbits_version:"Versione di LNbits",runs_on:"Esegue su",credit_hint:"Premere Invio per accreditare i fondi",credit_label:"{denomination} da accreditare",paste:"Incolla",paste_from_clipboard:"Incolla dagli appunti",paste_request:"Richiesta di pagamento",create_invoice:"Crea fattura",camera_tooltip:"Usa la fotocamera per scansionare la fattura/QR",export_csv:"Esporta CSV",chart_tooltip:"Mostra grafico",pending:"In attesa",copy_invoice:"Copia fattura",withdraw_from:"Prelevare da",cancel:"Annulla",scan:"Scansiona",read:"Leggi",pay:"Paga",memo:"Memo",date:"Dati",processing_payment:"Elaborazione pagamento...",not_enough_funds:"Non ci sono abbastanza fondi!",search_by_tag_memo_amount:"Cerca per tag, memo, importo...",invoice_waiting:"Fattura in attesa di pagamento",payment_received:"Pagamento ricevuto",payment_sent:"Pagamento inviato",receive:"ricevere",send:"inviare",outgoing_payment_pending:"Pagamento in uscita in attesa",drain_funds:"Fondi di drenaggio",drain_funds_desc:"Questo è un codice QR LNURL-withdraw per prelevare tutti i fondi da questo portafoglio. Non condividerlo con nessuno. È compatibile con balanceCheck e balanceNotify, di conseguenza il vostro portafoglio può continuare a prelevare continuamente i fondi da qui dopo il primo prelievo",i_understand:"Ho capito",copy_wallet_url:"Copia URL portafoglio",disclaimer_dialog_title:"Importante!",disclaimer_dialog:"La funzionalità di login sarà rilasciata in un futuro aggiornamento; per ora, assicuratevi di salvare tra i preferiti questa pagina per accedere nuovamente in futuro a questo portafoglio! Questo servizio è in fase BETA e non ci assumiamo alcuna responsabilità per la perdita all'accesso dei fondi",no_transactions:"Nessuna transazione effettuata",manage:"Gestisci",extensions:"Estensioni",no_extensions:"Non ci sono estensioni installate :(",created:"Creato",search_extensions:"Estensioni di ricerca",warning:"Attenzione",repository:"Deposito",confirm_continue:"Sei sicuro di voler continuare?",manage_extension_details:"Installa/disinstalla estensione",install:"Installare",uninstall:"Disinstalla",drop_db:"Rimuovi Dati",enable:"Abilita",enable_extension_details:"Attiva l'estensione per l'utente corrente",disable:"Disabilita",installed:"Installato",activated:"Attivato",deactivated:"Disattivato",release_notes:"Note di Rilascio",activate_extension_details:"Rendi l'estensione disponibile/non disponibile per gli utenti",featured:"In primo piano",all:"Tutto",only_admins_can_install:"Solo gli account amministratore possono installare estensioni.",admin_only:"Solo amministratore",new_version:"Nuova Versione",extension_depends_on:"Dipende da:",extension_rating_soon:"Valutazioni in arrivo",extension_installed_version:"Versione installata",extension_uninstall_warning:"Stai per rimuovere l'estensione per tutti gli utenti.",uninstall_confirm:"Sì, Disinstalla",extension_db_drop_info:"Tutti i dati relativi all'estensione saranno cancellati permanentemente. Non c'è modo di annullare questa operazione!",extension_db_drop_warning:"Stai per rimuovere tutti i dati per l'estensione. Digita il nome dell'estensione per continuare:",extension_min_lnbits_version:"Questa versione richiede almeno la versione LNbits",payment_hash:"Hash del pagamento",fee:"Tariffa",amount:"Importo",tag:"Etichetta",unit:"Unità",description:"Descrizione",expiry:"Scadenza",webhook:"Webhook",payment_proof:"Prova di pagamento",update_available:"Aggiornamento {version} disponibile!",latest_update:"Sei sulla versione più recente {version}.",notifications:"Notifiche",no_notifications:"Nessuna notifica",notifications_disabled:"Le notifiche di stato di LNbits sono disattivate.",enable_notifications:"Attiva le notifiche",enable_notifications_desc:"Se attivato, recupererà gli ultimi aggiornamenti sullo stato di LNbits, come incidenti di sicurezza e aggiornamenti.",enable_killswitch:"Attiva Killswitch",enable_killswitch_desc:"Se attivato, cambierà automaticamente la tua fonte di finanziamento in VoidWallet se LNbits invia un segnale di killswitch. Dovrai attivare manualmente dopo un aggiornamento.",killswitch_interval:"Intervallo Killswitch",killswitch_interval_desc:"Quanto spesso il compito in background dovrebbe controllare il segnale di killswitch LNbits dalla fonte di stato (in minuti).",enable_watchdog:"Attiva Watchdog",enable_watchdog_desc:"Se abilitato, cambierà automaticamente la tua fonte di finanziamento in VoidWallet se il tuo saldo è inferiore al saldo LNbits. Dovrai abilitarlo manualmente dopo un aggiornamento.",watchdog_interval:"Intervallo Watchdog",watchdog_interval_desc:"Quanto spesso il task in background dovrebbe controllare un segnale di killswitch nel delta del watchdog [node_balance - lnbits_balance] (in minuti).",watchdog_delta:"Guardiano Delta",watchdog_delta_desc:"Limite prima che l'interruttore di sicurezza modifichi la fonte di finanziamento in VoidWallet [lnbits_balance - node_balance > delta]",status:"Stato",notification_source:"Sorgente di notifica",notification_source_label:"URL sorgente (utilizzare solo la fonte ufficiale di stato LNbits e fonti di cui ti puoi fidare)",more:"più",less:"meno",releases:"Pubblicazioni",killswitch:"Interruttore di spegnimento",watchdog:"Cane da guardia",server_logs:"Registri del server",ip_blocker:"Blocco IP",security:"Sicurezza",security_tools:"Strumenti di sicurezza",block_access_hint:"Blocca l'accesso per IP",allow_access_hint:"Consenti l'accesso per IP (sovrascriverà gli IP bloccati)",enter_ip:"Inserisci l'IP e premi invio",rate_limiter:"Limitatore di frequenza",wallet_limiter:"Limitatore del Portafoglio",wallet_limit_max_withdraw_per_day:"Prelievo massimo giornaliero dal portafoglio in sats (0 per disabilitare)",wallet_max_ballance:"Saldo massimo del portafoglio in sats (0 per disabilitare)",wallet_limit_secs_between_trans:"Minuti e secondi tra transazioni per portafoglio (0 per disabilitare)",number_of_requests:"Numero di richieste",time_unit:"Unità di tempo",minute:"minuto",second:"secondo",hour:"ora",disable_server_log:"Disabilita Registro Server",enable_server_log:"Attiva Registro Server",coming_soon:"Caratteristica in arrivo prossimamente",session_has_expired:"La tua sessione è scaduta. Per favore, effettua nuovamente il login.",instant_access_question:"Vuoi accesso immediato?",login_with_user_id:"Accedi con ID utente",or:"oppure",create_new_wallet:"Crea nuovo portafoglio",login_to_account:"Accedi al tuo account",create_account:"Crea un account",account_settings:"Impostazioni dell'account",signin_with_google:"Accedi con Google",signin_with_github:"Accedi con GitHub",signin_with_keycloak:"Accedi con Keycloak",username_or_email:"Nome utente o Email",password:"Password",password_config:"Configurazione della password",password_repeat:"Ripeti la password",change_password:"Cambia Password",set_password:"Imposta password",invalid_password:"La password deve contenere almeno 8 caratteri",login:"Accesso",register:"Registrati",username:"Nome utente",user_id:"ID utente",email:"Email",first_name:"Nome",last_name:"Cognome",picture:"Immagine",verify_email:"Verifica email con",account:"Conto",update_account:"Aggiorna Account",invalid_username:"Nome utente non valido",auth_provider:"Provider di Autenticazione",my_account:"Il mio account",back:"Indietro",logout:"Esci",look_and_feel:"Aspetto e Comportamento",language:"Lingua",color_scheme:"Schema dei colori",extension_cost:"Questa versione richiede un pagamento minimo di {cost} satoshi.",extension_paid_sats:"Hai già pagato {paid_sats} sats.",release_details_error:"Impossibile ottenere i dettagli della versione.",pay_from_wallet:"Paga dal Portafoglio",show_qr:"Mostra QR",retry_install:"Riprova Installazione",new_payment:"Effettua Nuovo Pagamento",hide_empty_wallets:"Nascondi portafogli vuoti"},window.localisation.jp={confirm:"はい",server:"サーバー",theme:"テーマ",funding:"資金調達",users:"ユーザー",apps:"アプリ",channels:"チャンネル",transactions:"トランザクション",dashboard:"ダッシュボード",node:"ノード",export_users:"ユーザーのエクスポート",no_users:"ユーザーが見つかりません",total_capacity:"合計容量",avg_channel_size:"平均チャンネルサイズ",biggest_channel_size:"最大チャネルサイズ",smallest_channel_size:"最小チャンネルサイズ",number_of_channels:"チャンネル数",active_channels:"アクティブチャンネル",connect_peer:"ピアを接続",connect:"接続",open_channel:"オープンチャンネル",open:"開く",close_channel:"チャンネルを閉じる",close:"閉じる",restart:"サーバーを再起動する",save:"保存",save_tooltip:"変更を保存する",topup:"トップアップ",topup_wallet:"ウォレットをトップアップする",topup_hint:"ウォレットIDを使用して、任意のウォレットをトップアップできます",restart_tooltip:"サーバーを再起動して変更を適用します",add_funds_tooltip:"ウォレットに資金を追加します。",reset_defaults:"リセット",reset_defaults_tooltip:"すべての設定を削除してデフォルトに戻します。",download_backup:"データベースのバックアップをダウンロードする",name_your_wallet:"あなたのウォレットの名前 {name}",wallet_topup_ok:"仮想資金の作成に成功しました({amount} sats)。支払いは資金ソースの実際の資金に依存します。",paste_invoice_label:"請求書を貼り付けてください",lnbits_description:"簡単にインストールでき、軽量なLNbitsは、あらゆるライトニングネットワークの資金源と、LNbits自身でさえも実行できます!LNbitsを個人で実行することも、他人に対してカストディアンソリューションをで実行できます! LNbitsを自分で実行することも、他の人に優れたソリューションを提供することもできます。各ウォレットには独自のAPIキーがあり、作成できるウォレットの数に制限はありません。資金を分割する機能は、LNbitsを資金管理ツールとして使用したり、開発ツールとして使用したりするための便利なツールです。拡張機能は、LNbitsに追加の機能を追加します。そのため、LNbitsは最先端の技術をネットワークLightningで試すことができます。拡張機能を開発するのは簡単で、無料でオープンソースのプロジェクトであるため、人々が自分で開発し、自分の貢献を送信することを奨励しています。",export_to_phone:"電話にエクスポート",export_to_phone_desc:"ウォレットを電話にエクスポートすると、ウォレットを削除する前にウォレットを復元できます。ウォレットを削除すると、ウォレットの秘密鍵が削除され、ウォレットを復元することはできません。",wallets:"ウォレット",add_wallet:"ウォレットを追加",delete_wallet:"ウォレットを削除",delete_wallet_desc:"ウォレットを削除すると、ウォレットの秘密鍵が削除され、ウォレットを復元することはできません。",rename_wallet:"ウォレットの名前を変更",update_name:"名前を更新",fiat_tracking:"フィアット追跡",currency:"通貨",update_currency:"通貨を更新する",press_to_claim:"クレームするには押してください",donate:"寄付",view_github:"GitHubで表示",voidwallet_active:"Voidwalletアクティブ",use_with_caution:"注意して使用してください - {name} ウォレットはまだベータ版です",service_fee:"取引ごとのサービス手数料: {amount} %",service_fee_max:"取引手数料:{amount}%(最大{max}サトシ)",service_fee_tooltip:"LNbitsサーバー管理者が発生する送金ごとの手数料",toggle_darkmode:"ダークモードを切り替える",payment_reactions:"支払いの反応",view_swagger_docs:"Swaggerドキュメントを表示",api_docs:"APIドキュメント",api_keys_api_docs:"ノードURL、APIキー、APIドキュメント",lnbits_version:"LNbits バージョン",runs_on:"で実行",credit_hint:"クレジットカードを使用して資金を追加するには、LNbitsを使用してください。",credit_label:"{denomination} をクレジットに",paste:"貼り付け",paste_from_clipboard:"クリップボードから貼り付け",paste_request:"リクエストを貼り付ける",create_invoice:"請求書を作成する",camera_tooltip:"QRコードを読み取る",export_csv:"CSVでエクスポート",chart_tooltip:"チャートを表示するには、グラフの上にカーソルを合わせます",pending:"保留中",copy_invoice:"請求書をコピー",withdraw_from:"出金",cancel:"キャンセル",scan:"スキャン",read:"読む",pay:"支払う",memo:"メモ",date:"日付",processing_payment:"支払い処理中",not_enough_funds:"資金が不足しています",search_by_tag_memo_amount:"タグ、メモ、金額で検索",invoice_waiting:"請求書を待っています",payment_received:"お支払いありがとうございます",payment_sent:"支払いが完了しました",receive:"受け取る",send:"送信",outgoing_payment_pending:"支払い保留中",drain_funds:"資金を排出する",drain_funds_desc:"ウォレットの残高をすべて他のウォレットに送金します",i_understand:"理解した",copy_wallet_url:"ウォレットURLをコピー",disclaimer_dialog_title:"重要!",disclaimer_dialog:"ウォレットを削除すると、ウォレットの秘密鍵が削除され、ウォレットを復元することはできません。ウォレットを削除する前に、ウォレットをエクスポートしてください。",no_transactions:"トランザクションはありません",manage:"管理",extensions:"拡張機能",no_extensions:"拡張機能はありません",created:"作成済み",search_extensions:"検索拡張機能",warning:"警告",repository:"リポジトリ",confirm_continue:"続行してもよろしいですか?",manage_extension_details:"拡張機能のインストール/アンインストール",install:"インストール",uninstall:"アンインストール",drop_db:"データを削除",enable:"有効",enable_extension_details:"現在のユーザーの拡張機能を有効にする",disable:"無効",installed:"インストール済み",activated:"有効化",deactivated:"無効化",release_notes:"リリースノート",activate_extension_details:"拡張機能をユーザーが利用できるようにする/利用できないようにする",featured:"特集",all:"すべて",only_admins_can_install:"(管理者アカウントのみが拡張機能をインストールできます)",admin_only:"管理者のみ",new_version:"新しいバージョン",extension_depends_on:"依存先:",extension_rating_soon:"評価は近日公開",extension_installed_version:"インストール済みバージョン",extension_uninstall_warning:"すべてのユーザーの拡張機能を削除しようとしています.",uninstall_confirm:"はい、アンインストールします",extension_db_drop_info:"エクステンションのすべてのデータが完全に削除されます。この操作を元に戻す方法はありません!",extension_db_drop_warning:"エクステンションのすべてのデータを削除しようとしています。続行するには、エクステンションの名前を入力してください:",extension_min_lnbits_version:"このリリースには少なくとも LNbits バージョンが必要です",payment_hash:"支払いハッシュ",fee:"料金",amount:"量",tag:"タグ",unit:"単位",description:"説明",expiry:"有効期限",webhook:"ウェブフック",payment_proof:"支払い証明",update_available:"アップデート{version}が利用可能です!",latest_update:"あなたは最新バージョン{version}を使用しています。",notifications:"通知",no_notifications:"通知はありません",notifications_disabled:"LNbitsステータス通知は無効です。",enable_notifications:"通知を有効にする",enable_notifications_desc:"有効にすると、セキュリティインシデントやアップデートのような最新のLNbitsステータス更新を取得します。",enable_killswitch:"キルスイッチを有効にする",enable_killswitch_desc:"有効にすると、LNbitsからキルスイッチ信号が送信された場合に自動的に資金源をVoidWalletに切り替えます。更新後には手動で有効にする必要があります。",killswitch_interval:"キルスイッチ間隔",killswitch_interval_desc:"バックグラウンドタスクがステータスソースからLNbitsキルスイッチ信号を確認する頻度(分単位)。",enable_watchdog:"ウォッチドッグを有効にする",enable_watchdog_desc:"有効にすると、残高がLNbitsの残高より少ない場合に、資金源を自動的にVoidWalletに変更します。アップデート後は手動で有効にする必要があります。",watchdog_interval:"ウォッチドッグ・インターバル",watchdog_interval_desc:"バックグラウンドタスクがウォッチドッグデルタ[node_balance - lnbits_balance]でキルスイッチシグナルを確認する頻度(分単位)。",watchdog_delta:"ウォッチドッグデルタ",watchdog_delta_desc:"キルスイッチが資金源をVoidWalletに変更する前の限界 [lnbits_balance - node_balance > delta]",status:"ステータス",notification_source:"通知ソース",notification_source_label:"ソースURL(公式のLNbitsステータスソースのみを使用し、信頼できるソースのみを利用してください)",more:"より多くの",less:"少ない",releases:"リリース",killswitch:"キルスイッチ",watchdog:"ウォッチドッグ",server_logs:"サーバーログ",ip_blocker:"IPブロッカー",security:"セキュリティ",security_tools:"セキュリティツール",block_access_hint:"IPによるアクセスをブロック",allow_access_hint:"IPによるアクセスを許可する(ブロックされたIPを上書きします)",enter_ip:"IPを入力してエンターキーを押してください",rate_limiter:"レートリミッター",wallet_limiter:"ウォレットリミッター",wallet_limit_max_withdraw_per_day:"1日あたりの最大ウォレット出金額をsatsで入力してください(0 で無効)。",wallet_max_ballance:"ウォレットの最大残高(sats)(0は無効)",wallet_limit_secs_between_trans:"トランザクション間の最小秒数(ウォレットごと)(0は無効)",number_of_requests:"リクエストの数",time_unit:"時間単位",minute:"分",second:"秒",hour:"時間",disable_server_log:"サーバーログを無効にする",enable_server_log:"サーバーログを有効にする",coming_soon:"機能は間もなく登場します",session_has_expired:"あなたのセッションは期限切れです。もう一度ログインしてください。",instant_access_question:"即時アクセスをご希望ですか?",login_with_user_id:"ユーザーIDでログイン",or:"または",create_new_wallet:"新しいウォレットを作成",login_to_account:"アカウントにログインしてください",create_account:"アカウントを作成",account_settings:"アカウント設定",signin_with_google:"Googleでサインイン",signin_with_github:"GitHubでサインイン",signin_with_keycloak:"Keycloakでサインイン",username_or_email:"ユーザー名またはメールアドレス",password:"パスワード",password_config:"パスワード設定",password_repeat:"パスワードの再入力",change_password:"パスワードを変更",set_password:"パスワードを設定",invalid_password:"パスワードは少なくとも8文字必要です",login:"ログイン",register:"登録",username:"ユーザー名",user_id:"ユーザーID",email:"メール",first_name:"名",last_name:"姓",picture:"写真",verify_email:"メールアドレスの確認を行ってください",account:"アカウント",update_account:"アカウントを更新",invalid_username:"無効なユーザー名",auth_provider:"認証プロバイダ",my_account:"マイアカウント",back:"戻る",logout:"ログアウト",look_and_feel:"ルック・アンド・フィール",language:"言語",color_scheme:"カラースキーム",extension_cost:"このリリースには最低 {cost} サトシの支払いが必要です。",extension_paid_sats:"すでに{paid_sats} satsを支払いました。",release_details_error:"リリースの詳細を取得できません。",pay_from_wallet:"ウォレットから支払う",show_qr:"QRを表示",retry_install:"再試行インストール",new_payment:"新しい支払いを作成する",hide_empty_wallets:"空のウォレットを非表示にする"},window.localisation.cn={confirm:"确定",server:"服务器",theme:"主题",funding:"资金",users:"用户",apps:"应用程序",channels:"频道",transactions:"交易记录",dashboard:"控制面板",node:"节点",export_users:"导出用户",no_users:"未找到用户",total_capacity:"总容量",avg_channel_size:"平均频道大小",biggest_channel_size:"最大通道大小",smallest_channel_size:"最小频道尺寸",number_of_channels:"频道数量",active_channels:"活跃频道",connect_peer:"连接对等",connect:"连接",open_channel:"打开频道",open:"打开",close_channel:"关闭频道",close:"关闭",restart:"重新启动服务器",save:"保存",save_tooltip:"保存更改",topup:"充值",topup_wallet:"给钱包充值",topup_hint:"使用钱包ID为任何钱包充值",restart_tooltip:"重新启动服务器以使更改生效",add_funds_tooltip:"为钱包添加资金",reset_defaults:"重置为默认设置",reset_defaults_tooltip:"删除所有设置并重置为默认设置",download_backup:"下载数据库备份",name_your_wallet:"给你的 {name}钱包起个名字",wallet_topup_ok:"成功创建虚拟资金({amount} sats)。付款取决于资金来源的实际资金。",paste_invoice_label:"粘贴发票,付款请求或lnurl*",lnbits_description:"LNbits 设置简单、轻量级,可以在任何闪电网络的资金来源上运行,甚至可以在LNbits自身上运行!您可以为自己运行LNbits,或者轻松为他人提供托管解决方案。每个钱包都有自己的 API 密钥,你可以创建的钱包数量没有限制。能够把资金分开管理使 LNbits 成为一款有用的资金管理和开发工具。扩展程序增加了 LNbits 的额外功能,所以你可以在闪电网络上尝试各种尖端技术。我们已经尽可能简化了开发扩展程序的过程,作为一个免费和开源的项目,我们鼓励人们开发并提交自己的扩展程序。",export_to_phone:"通过二维码导出到手机",export_to_phone_desc:"这个二维码包含您钱包的URL。您可以使用手机扫描的方式打开您的钱包。",wallets:"钱包",add_wallet:"添加新钱包",delete_wallet:"删除钱包",delete_wallet_desc:"整个钱包将被删除,资金将无法恢复",rename_wallet:"重命名钱包",update_name:"更新名称",fiat_tracking:"菲亚特追踪",currency:"货币",update_currency:"更新货币",press_to_claim:"点击领取比特币",donate:"捐献",view_github:"在GitHub上查看",voidwallet_active:"VoidWallet 已激活!付款功能已禁用。",use_with_caution:"请谨慎使用 - {name}钱包还处于测试版阶段",service_fee:"服务费:{amount}% 每笔交易",service_fee_max:"服务费:{amount}% 每笔交易(最高 {max} sats)",service_fee_tooltip:"LNbits服务器管理员每笔外发交易收取的服务费",toggle_darkmode:"切换暗黑模式",payment_reactions:"支付反应",view_swagger_docs:"查看 LNbits Swagger API 文档",api_docs:"API文档",api_keys_api_docs:"节点URL、API密钥和API文档",lnbits_version:"LNbits版本",runs_on:"可运行在",credit_hint:"按 Enter 键充值账户",credit_label:"{denomination} 充值",paste:"粘贴",paste_from_clipboard:"从剪贴板粘贴",paste_request:"粘贴请求",create_invoice:"创建发票",camera_tooltip:"用相机扫描发票/二维码",export_csv:"导出为CSV",chart_tooltip:"显示图表",pending:"待处理",copy_invoice:"复制发票",withdraw_from:"从",cancel:"取消",scan:"扫描",read:"读取",pay:"付款",memo:"备注",date:"日期",processing_payment:"正在处理支付...",not_enough_funds:"资金不足!",search_by_tag_memo_amount:"按标签、备注、金额搜索",invoice_waiting:"待支付的发票",payment_received:"收到付款",payment_sent:"付款已发送",receive:"收款",send:"付款",outgoing_payment_pending:"付款正在等待处理",drain_funds:"清空资金",drain_funds_desc:"这是一个 LNURL-取款的二维码,用于从该钱包中提取全部资金。请不要与他人分享。它与 balanceCheck 和 balanceNotify 兼容,因此在第一次取款后,您的钱包还可能会持续从这里提取资金",i_understand:"我明白",copy_wallet_url:"复制钱包URL",disclaimer_dialog_title:"重要!",disclaimer_dialog:"登录功能将在以后的更新中发布,请将此页面加为书签,以便将来访问您的钱包!此服务处于测试阶段,我们不对资金的丢失承担任何责任。",no_transactions:"尚未进行任何交易",manage:"管理",extensions:"扩展程序",no_extensions:"你没有安装任何扩展程序 :(",created:"已创建",search_extensions:"搜索扩展程序",warning:"警告",repository:"代码库",confirm_continue:"你确定要继续吗?",manage_extension_details:"安装/卸载扩展程序",install:"安装",uninstall:"卸载",drop_db:"删除数据",enable:"启用",enable_extension_details:"为当前用户启用扩展程序",disable:"禁用",installed:"已安装",activated:"已激活",deactivated:"已停用",release_notes:"发布说明",activate_extension_details:"对用户开放或禁用扩展程序",featured:"精选",all:"全部",only_admins_can_install:"(只有管理员账户可以安装扩展)",admin_only:"仅限管理员",new_version:"新版本",extension_depends_on:"依赖于:",extension_rating_soon:"即将推出评分",extension_installed_version:"已安装的版本",extension_uninstall_warning:"您即将对所有用户删除该扩展程序。",uninstall_confirm:"是的,卸载",extension_db_drop_info:"该扩展程序的所有数据将被永久删除。此操作无法撤销!",extension_db_drop_warning:"您即将删除该扩展的所有数据。请继续输入扩展程序名称以确认操作:",extension_min_lnbits_version:"此版本要求最低的 LNbits 版本为",payment_hash:"付款哈希",fee:"费",amount:"金额",tag:"标签",unit:"单位",description:"详情",expiry:"过期时间",webhook:"Webhook",payment_proof:"付款证明",update_available:"更新{version}可用!",latest_update:"您当前使用的是最新版本{version}。",notifications:"通知",no_notifications:"没有通知",notifications_disabled:"LNbits状态通知已禁用。",enable_notifications:"启用通知",enable_notifications_desc:"如果启用,它将获取最新的LNbits状态更新,如安全事件和更新。",enable_killswitch:"启用紧急停止开关",enable_killswitch_desc:"如果启用,当LNbits发送终止信号时,系统将自动将您的资金来源更改为VoidWallet。更新后,您将需要手动启用。",killswitch_interval:"Killswitch 间隔",killswitch_interval_desc:"后台任务应该多久检查一次来自状态源的LNbits断路信号(以分钟为单位)。",enable_watchdog:"启用看门狗",enable_watchdog_desc:"如果启用,当您的余额低于LNbits余额时,系统将自动将您的资金来源更改为VoidWallet。更新后您将需要手动启用。",watchdog_interval:"看门狗间隔",watchdog_interval_desc:"后台任务应该多久检查一次看门狗增量中的 killswitch 信号 [node_balance - lnbits_balance](以分钟计)。",watchdog_delta:"看门狗德尔塔",watchdog_delta_desc:"在触发紧急停止前切换资金来源至VoidWallet的限制 [lnbits_balance - node_balance > delta]",status:"状态",notification_source:"通知来源",notification_source_label:"来源 URL(仅使用官方LNbits状态源和您信任的源)",more:"更多",less:"少",releases:"版本",killswitch:"杀手锏",watchdog:"监控程序",server_logs:"服务器日志",ip_blocker:"IP 阻止器",security:"安全",security_tools:"安全工具",block_access_hint:"屏蔽IP访问",allow_access_hint:"允许通过IP访问(将覆盖被屏蔽的IP)",enter_ip:"输入IP地址并按回车键",rate_limiter:"速率限制器",wallet_limiter:"钱包限制器",wallet_limit_max_withdraw_per_day:"每日钱包最大提现额度(单位:sats)(设为0则禁用)",wallet_max_ballance:"钱包最大余额(以sats计)(设为0则禁用)",wallet_limit_secs_between_trans:"每个钱包交易间最少秒数(设为0则禁用)",number_of_requests:"请求次数",time_unit:"时间单位",minute:"分钟",second:"秒",hour:"小时",disable_server_log:"禁用服务器日志",enable_server_log:"启用服务器日志",coming_soon:"功能即将推出",session_has_expired:"您的会话已过期。请重新登录。",instant_access_question:"想要即时访问吗?",login_with_user_id:"使用用户ID登录",or:"或",create_new_wallet:"创建新钱包",login_to_account:"登录您的账户",create_account:"创建账户",account_settings:"账户设置",signin_with_google:"使用谷歌账号登录",signin_with_github:"使用GitHub登录",signin_with_keycloak:"使用Keycloak登录",username_or_email:"用户名或电子邮箱",password:"密码",password_config:"密码配置",password_repeat:"密码重复",change_password:"修改密码",set_password:"设置密码",invalid_password:"密码至少需要有8个字符",login:"登录",register:"注册",username:"用户名",user_id:"用户ID",email:"电子邮件",first_name:"名字",last_name:"姓氏",picture:"图片",verify_email:"验证电子邮件与",account:"账户",update_account:"更新帐户",invalid_username:"无效用户名",auth_provider:"认证提供者",my_account:"我的账户",back:"返回",logout:"注销",look_and_feel:"外观和感觉",language:"语言",color_scheme:"配色方案",extension_cost:"此版本需要支付最低 {cost} sats。",extension_paid_sats:"您已经支付了{paid_sats} sats。",release_details_error:"无法获取发布详情。",pay_from_wallet:"从钱包支付",show_qr:"显示QR码",retry_install:"重试安装",new_payment:"创建新支付",hide_empty_wallets:"隐藏空钱包"},window.localisation.nl={confirm:"Ja",server:"Server",theme:"Thema",funding:"Financiering",users:"Gebruikers",apps:"Apps",channels:"Kanalen",transactions:"Transacties",dashboard:"Dashboard",node:"Knooppunt",export_users:"Gebruikers exporteren",no_users:"Geen gebruikers gevonden",total_capacity:"Totale capaciteit",avg_channel_size:"Gem. Kanaalgrootte",biggest_channel_size:"Grootste Kanaalgrootte",smallest_channel_size:"Kleinste Kanaalgrootte",number_of_channels:"Aantal kanalen",active_channels:"Actieve Kanalen",connect_peer:"Peer verbinden",connect:"Verbinden",open_channel:"Open Kanaal",open:"Open",close_channel:"Kanaal Sluiten",close:"Sluiten",restart:"Server opnieuw opstarten",save:"Opslaan",save_tooltip:"Sla uw wijzigingen op",topup:"Bijvullen",topup_wallet:"Een portemonnee bijvullen",topup_hint:"Gebruik de portemonnee-ID om elke portemonnee bij te vullen",restart_tooltip:"Start de server opnieuw op zodat wijzigingen van kracht worden",add_funds_tooltip:"Voeg geld toe aan een portemonnee.",reset_defaults:"Standaardinstellingen herstellen",reset_defaults_tooltip:"Wis alle instellingen en herstel de standaardinstellingen.",download_backup:"Databaseback-up downloaden",name_your_wallet:"Geef je {name} portemonnee een naam",wallet_topup_ok:"Succes met het aanmaken van virtuele fondsen ({amount} sats). Betalingen zijn afhankelijk van de werkelijke fondsen op de financieringsbron.",paste_invoice_label:"Plak een factuur, betalingsverzoek of lnurl-code*",lnbits_description:"Gemakkelijk in te stellen en lichtgewicht, LNbits kan op elke lightning-netwerkfinancieringsbron draaien en zelfs LNbits zelf! U kunt LNbits voor uzelf laten draaien of gemakkelijk een bewaardersoplossing voor anderen bieden. Elke portemonnee heeft zijn eigen API-sleutels en er is geen limiet aan het aantal portemonnees dat u kunt maken. Het kunnen partitioneren van fondsen maakt LNbits een nuttige tool voor geldbeheer en als ontwikkelingstool. Extensies voegen extra functionaliteit toe aan LNbits, zodat u kunt experimenteren met een reeks toonaangevende technologieën op het bliksemschichtnetwerk. We hebben het ontwikkelen van extensies zo eenvoudig mogelijk gemaakt en als een gratis en opensource-project moedigen we mensen aan om hun eigen ontwikkelingen in te dienen.",export_to_phone:"Exporteren naar telefoon met QR-code",export_to_phone_desc:"Deze QR-code bevat uw portemonnee-URL met volledige toegang. U kunt het vanaf uw telefoon scannen om uw portemonnee van daaruit te openen.",wallets:"Portemonnees",add_wallet:"Een nieuwe portemonnee toevoegen",delete_wallet:"Portemonnee verwijderen",delete_wallet_desc:"Deze hele portemonnee wordt verwijderd, de fondsen worden NIET TERUGGEVONDEN.",rename_wallet:"Portemonnee hernoemen",update_name:"Naam bijwerken",fiat_tracking:"Volgfunctie voor fiat-valuata",currency:"Valuta",update_currency:"Valuta bijwerken",press_to_claim:"Druk om bitcoin te claimen",donate:"Doneren",view_github:"Bekijken op GitHub",voidwallet_active:"VoidWallet is actief! Betalingen uitgeschakeld",use_with_caution:"GEBRUIK MET VOORZICHTIGHEID - {name} portemonnee is nog in BETA",service_fee:"Servicekosten: {amount} % per transactie",service_fee_max:"Servicekosten: {amount} % per transactie (max {max} sats)",service_fee_tooltip:"Transactiekosten in rekening gebracht door de LNbits serverbeheerder per uitgaande transactie",toggle_darkmode:"Donkere modus aan/uit",payment_reactions:"Betalingsreacties",view_swagger_docs:"Bekijk LNbits Swagger API-documentatie",api_docs:"API-documentatie",api_keys_api_docs:"Node URL, API-sleutels en API-documentatie",lnbits_version:"LNbits-versie",runs_on:"Draait op",credit_hint:"Druk op Enter om de rekening te crediteren",credit_label:"{denomination} te crediteren",paste:"Plakken",paste_from_clipboard:"Plakken van klembord",paste_request:"Verzoek plakken",create_invoice:"Factuur aanmaken",camera_tooltip:"Gebruik de camera om een factuur/QR-code te scannen",export_csv:"Exporteer naar CSV",chart_tooltip:"Toon grafiek",pending:"In behandeling",copy_invoice:"Kopieer factuur",withdraw_from:"Opnemen van",cancel:"Annuleren",scan:"Scannen",read:"Lezen",pay:"Betalen",memo:"Memo",date:"Datum",processing_payment:"Verwerking betaling...",not_enough_funds:"Onvoldoende saldo!",search_by_tag_memo_amount:"Zoeken op tag, memo, bedrag",invoice_waiting:"Factuur wachtend op betaling",payment_received:"Betaling ontvangen",payment_sent:"Betaling verzonden",receive:"ontvangen",send:"versturen",outgoing_payment_pending:"Uitgaande betaling in behandeling",drain_funds:"Geld opnemen",drain_funds_desc:"Dit is een LNURL-withdraw QR-code om alles uit deze portemonnee te halen. Deel deze code niet met anderen. Het is compatibel met balanceCheck en balanceNotify zodat jouw portemonnee continu geld kan blijven opnemen vanaf hier na de eerste opname.",i_understand:"Ik begrijp het",copy_wallet_url:"Kopieer portemonnee-URL",disclaimer_dialog_title:"Belangrijk!",disclaimer_dialog:"Inlogfunctionaliteit wordt uitgebracht in een toekomstige update. Zorg er nu voor dat je deze pagina als favoriet markeert om in de toekomst toegang te krijgen tot je portemonnee! Deze service is in BETA en we zijn niet verantwoordelijk voor mensen die de toegang tot hun fondsen verliezen.",no_transactions:"Er zijn nog geen transacties gedaan",manage:"Beheer",extensions:"Extensies",no_extensions:"Je hebt geen extensies geïnstalleerd :(",created:"Aangemaakt",search_extensions:"Zoekextensies",warning:"Waarschuwing",repository:"Repository",confirm_continue:"Weet je zeker dat je wilt doorgaan?",manage_extension_details:"Installeren/verwijderen van extensie",install:"Installeren",uninstall:"Deïnstalleren",drop_db:"Gegevens verwijderen",enable:"Inschakelen",enable_extension_details:"Schakel extensie in voor huidige gebruiker",disable:"Uitschakelen",installed:"Geïnstalleerd",activated:"Geactiveerd",deactivated:"Gedeactiveerd",release_notes:"Release-opmerkingen",activate_extension_details:"Maak extensie beschikbaar/niet beschikbaar voor gebruikers",featured:"Uitgelicht",all:"Alles",only_admins_can_install:"Alleen beheerdersaccounts kunnen extensies installeren",admin_only:"Alleen beheerder",new_version:"Nieuwe Versie",extension_depends_on:"Afhankelijk van:",extension_rating_soon:"Beoordelingen binnenkort beschikbaar",extension_installed_version:"Geïnstalleerde versie",extension_uninstall_warning:"U staat op het punt de extensie voor alle gebruikers te verwijderen.",uninstall_confirm:"Ja, de-installeren",extension_db_drop_info:"Alle gegevens voor de extensie zullen permanent worden verwijderd. Er is geen manier om deze bewerking ongedaan te maken!",extension_db_drop_warning:"U staat op het punt alle gegevens voor de extensie te verwijderen. Typ de naam van de extensie om door te gaan:",extension_min_lnbits_version:"Deze release vereist ten minste LNbits-versie",payment_hash:"Betalings-hash",fee:"Kosten",amount:"Bedrag",tag:"Label",unit:"Eenheid",description:"Beschrijving",expiry:"Vervaldatum",webhook:"Webhook",payment_proof:"Betalingsbewijs",update_available:"Update {version} beschikbaar!",latest_update:"U bent op de nieuwste versie {version}.",notifications:"Meldingen",no_notifications:"Geen meldingen",notifications_disabled:"LNbits-statusmeldingen zijn uitgeschakeld.",enable_notifications:"Schakel meldingen in",enable_notifications_desc:"Indien ingeschakeld zal het de laatste LNbits Status updates ophalen, zoals veiligheidsincidenten en updates.",enable_killswitch:"Activeer Killswitch",enable_killswitch_desc:"Indien ingeschakeld, zal het uw financieringsbron automatisch wijzigen naar VoidWallet als LNbits een killswitch-signaal verzendt. U zult het na een update handmatig moeten inschakelen.",killswitch_interval:"Uitschakelschakelaar-interval",killswitch_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op het LNbits killswitch signaal van de statusbron (in minuten).",enable_watchdog:"Inschakelen Watchdog",enable_watchdog_desc:"Indien ingeschakeld, wordt uw betaalbron automatisch gewijzigd naar VoidWallet als uw saldo lager is dan het saldo van LNbits. U zult dit na een update handmatig moeten inschakelen.",watchdog_interval:"Watchdog-interval",watchdog_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op een killswitch signaal in het watchdog verschil [node_balance - lnbits_balance] (in minuten).",watchdog_delta:"Waakhond Delta",watchdog_delta_desc:"Limiet voordat de killswitch de financieringsbron verandert naar VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notificatiebron",notification_source_label:"Bron-URL (gebruik alleen de officiële LNbits-statusbron en bronnen die u vertrouwt)",more:"meer",less:"minder",releases:"Uitgaven",killswitch:"Killswitch",watchdog:"Waakhond",server_logs:"Serverlogboeken",ip_blocker:"IP-blokkering",security:"Beveiliging",security_tools:"Beveiligingstools",block_access_hint:"Toegang blokkeren per IP",allow_access_hint:"Toegang verlenen op basis van IP (zal geblokkeerde IP's overschrijven)",enter_ip:"Voer IP in en druk op enter",rate_limiter:"Snelheidsbegrenzer",wallet_limiter:"Portemonnee Limietsteller",wallet_limit_max_withdraw_per_day:"Maximale dagelijkse opname van wallet in sats (0 om uit te schakelen)",wallet_max_ballance:"Maximale portefeuillesaldo in sats (0 om uit te schakelen)",wallet_limit_secs_between_trans:"Min seconden tussen transacties per portemonnee (0 om uit te schakelen)",number_of_requests:"Aantal verzoeken",time_unit:"Tijdeenheid",minute:"minuut",second:"seconde",hour:"uur",disable_server_log:"Serverlog uitschakelen",enable_server_log:"Activeer Serverlog",coming_soon:"Functie binnenkort beschikbaar",session_has_expired:"Uw sessie is verlopen. Log alstublieft opnieuw in.",instant_access_question:"Wil je directe toegang?",login_with_user_id:"Inloggen met gebruikers-ID",or:"of",create_new_wallet:"Nieuwe portemonnee aanmaken",login_to_account:"Log in op je account",create_account:"Account aanmaken",account_settings:"Accountinstellingen",signin_with_google:"Inloggen met Google",signin_with_github:"Inloggen met GitHub",signin_with_keycloak:"Inloggen met Keycloak",username_or_email:"Gebruikersnaam of e-mail",password:"Wachtwoord",password_config:"Wachtwoordconfiguratie",password_repeat:"Wachtwoord herhalen",change_password:"Wachtwoord wijzigen",set_password:"Wachtwoord instellen",invalid_password:"Wachtwoord moet ten minste 8 tekens bevatten",login:"Inloggen",register:"Registreren",username:"Gebruikersnaam",user_id:"Gebruikers-ID",email:"E-mail",first_name:"Voornaam",last_name:"Achternaam",picture:"Foto",verify_email:"E-mail verifiëren met",account:"Account",update_account:"Account bijwerken",invalid_username:"Ongeldige gebruikersnaam",auth_provider:"Auth Provider",my_account:"Mijn Account",back:"Terug",logout:"Afmelden",look_and_feel:"Uiterlijk en gedrag",language:"Taal",color_scheme:"Kleurenschema",extension_cost:"Deze release vereist een betaling van minimaal {cost} sats.",extension_paid_sats:"U heeft al {paid_sats} sats betaald.",release_details_error:"Kan de gegevens van de release niet ophalen.",pay_from_wallet:"Betalen vanuit Portemonnee",show_qr:"Toon QR",retry_install:"Opnieuw installeren",new_payment:"Nieuwe betaling maken",hide_empty_wallets:"Verberg lege portemonnees"},window.localisation.pi={confirm:"Aye",server:"Cap`n",theme:"Theme",funding:"Funding",users:"Buccaneers",apps:"Arrrrplications",channels:"Channels",transactions:"Pirate Transactions and loot",dashboard:"Arrr-board",node:"Node",export_users:"Export Mateys",no_users:"No swabbies found",total_capacity:"Total Capacity",avg_channel_size:"Avg. Channel Size",biggest_channel_size:"Largest Bilge Size",smallest_channel_size:"Smallest Channel Size",number_of_channels:"Nummer o' Channels",active_channels:"Active Channels",connect_peer:"Connect Peer",connect:"Connect",open_channel:"Open Channel",open:"Open yer hatches",close_channel:"Shut Yer Gob Channel",close:"Batten down the hatches, we be closin",restart:"Arr, restart Cap`n",save:"Bury Treasure",save_tooltip:"Bury yer changes, matey",topup:"Top up the Chest",topup_wallet:"Add more doubloons to the chest",topup_hint:"Use the chest ID to top up any chest",restart_tooltip:"Restart the Cap`n for changes to take effect, arr!",add_funds_tooltip:"Add doubloons to a chest and make it heavier",reset_defaults:"Reset to Davy Jones Locker",reset_defaults_tooltip:"Scuttle all settings and reset to Davy Jones Locker. Aye, start anew!",download_backup:"Download database booty",name_your_wallet:"Name yer {name} treasure chest",wallet_topup_ok:"Success creatin' virtual funds ({amount} sats). Payments depend on actual funds on funding source.",paste_invoice_label:"Paste a booty, payment request or lnurl code, matey!",lnbits_description:"Arr, easy to set up and lightweight, LNbits can run on any Lightning Network funding source and even LNbits itself! Ye can run LNbits for yourself, or easily offer a custodian solution for others. Each chest has its own API keys and there be no limit to the number of chests ye can make. Being able to partition booty makes LNbits a useful tool for money management and as a development tool. Arr, extensions add extra functionality to LNbits so ye can experiment with a range of cutting-edge technologies on the lightning network. We have made developing extensions as easy as possible, and as a free and open-source project, we encourage scallywags to develop and submit their own.",export_to_phone:"Export to Phone with QR Code, me hearties",export_to_phone_desc:"This QR code contains yer chest URL with full access. Ye can scan it from yer phone to open yer chest from there, arr!",wallets:"Treasure Chests",add_wallet:"Add a new chest and fill it with doubloons!",delete_wallet:"Scuttle the Chest",delete_wallet_desc:"This whole chest will be scuttled, the booty will be UNRECOVERABLE. Aye, be warned!",rename_wallet:"Rename the Chest, me hearty",update_name:"Update name like a captain",fiat_tracking:"Trackin' o' the treasure",currency:"Curr'nsey",update_currency:"Update doubloons",press_to_claim:"Press to claim gold doubloons, matey!",donate:"Donate like a true pirate!",view_github:"View on GitHub and find treasures",voidwallet_active:"VoidWallet be active! Payments disabled",use_with_caution:"USE WITH CAUTION - {name} chest be still in BETA. Aye, be careful!",service_fee:"Service fee: {amount} % per transaction",service_fee_max:"Service fee: {amount} % per transaction (max {max} sats)",service_fee_tooltip:"Service fee charged by the LNbits server admin per goin' transaction",toggle_darkmode:"Toggle Dark Mode, arr!",payment_reactions:"Payment Reactions",view_swagger_docs:"View LNbits Swagger API docs and learn the secrets",api_docs:"API docs for the scallywags",api_keys_api_docs:"Node URL, API keys and API docs",lnbits_version:"LNbits version, arr!",runs_on:"Runs on, matey",credit_hint:"Press Enter to credit account and make it richer",credit_label:"{denomination} to credit, arr!",paste:"Stow",paste_from_clipboard:"Paste from clipboard",paste_request:"Paste Request and find treasures",create_invoice:"Create Booty Request and get rich, me hearties!",camera_tooltip:"Use spyglass to scan a booty/QR, arr!",export_csv:"Export to CSV and keep track of the booty",chart_tooltip:"Show ye chart, me hearty",pending:"Pendin like a ship at anchor",copy_invoice:"Copy booty request, arrr",withdraw_from:"Withdraw from",cancel:"Abandon ship! We be retreatin",scan:"Avast! Scan me beauty, arrr",read:"Read it, if ye dare",pay:"Pay up or walk the plank, ye scallywag",memo:"Message in a bottle, argh",date:"Date of the map, me matey",processing_payment:"Processing yer payment... don´t make me say it again",not_enough_funds:"Arrr, ye don´t have enough doubloons! Walk the plank!",search_by_tag_memo_amount:"Search by tag, message, or booty amount, savvy",invoice_waiting:"Invoice waiting to be plundered, arrr",payment_received:"Payment Received like a treasure, argh",payment_sent:"Payment Sent, hoist the colors! We´ve got some doubloons!",receive:"booty",send:"hoist",outgoing_payment_pending:"Outgoing payment pending in the port, ye scurvy dog",drain_funds:"Plunder all the doubloons, ye buccaneer",drain_funds_desc:"This be an LNURL-withdraw QR code for slurpin everything from this wallet. Don`t share with anyone. It be compatible with balanceCheck and balanceNotify so yer wallet may keep pullin` the funds continuously from here after the first withdraw.",i_understand:"I understand, yo ho ho and a bottle of rum!",copy_wallet_url:"Copy wallet URL like a map, savvy",disclaimer_dialog_title:"Avast!",disclaimer_dialog:"Login functionality to be released in a future update, for now, make sure ye bookmark this page for future access to your booty! This service be in BETA, and we hold no responsibility for people losing access to doubloons.",no_transactions:"No transactions made yet, me hearties. Belay that!",manage:"Manage, me hearty",extensions:"Yer Extensions, ye scurvy dog",no_extensions:"Ye don't have any extensions installed, ye scallywag :(. Where be yer loot?",created:"Created like a legend, savvy",search_extensions:"Search fer extensions",warning:"Avast",repository:"Repository",confirm_continue:"Be ye sure ye want t' proceed?",manage_extension_details:"Install/uninstall extension",install:"Set sail",uninstall:"Avaast",drop_db:"Scuttle Data",enable:"Enable",enable_extension_details:"Enable extension fer th' current user",disable:"Disablin'",installed:"Installed",activated:"Activated",deactivated:"Deactivated",release_notes:"Release Notes",activate_extension_details:"Make extension available/unavailable fer users",featured:"Featured",all:"Arr",only_admins_can_install:"(Only admin accounts can install extensions)",admin_only:"Cap'n Only",new_version:"New Version",extension_depends_on:"Depends on:",extension_rating_soon:"Ratings a'comin' soon",extension_installed_version:"Installed version",extension_uninstall_warning:"Ye be about t' remove th' extension fer all hands.",uninstall_confirm:"Aye, Uninstall",extension_db_drop_info:"All data fer th' extension will be permanently deleted. There be no way to undo this operation!",extension_db_drop_warning:"Ye be about to scuttle all data fer th' extension. Please scribble th' extension name to continue:",extension_min_lnbits_version:"This release be needin' at least LNbits version",payment_hash:"Payment Hash like a treasure map, arrr",fee:"Fee like a toll to cross a strait, matey",amount:"Amount of doubloons, arrr",tag:"Tag",unit:"Unit of measurement like a fathom, ye buccaneer",description:"Description like a tale of adventure, arrr",expiry:"Expiry like the food on a ship, ye landlubber",webhook:"Webhook like a fishing line, arrr",payment_proof:"Payment Proof like a seal of authenticity, argh",update_available:"Update {version} available, me matey!",latest_update:"Ye be on th' latest version {version}.",notifications:"Notificashuns",no_notifications:"No noticin's",notifications_disabled:"LNbits status notifications be disabled, arr!",enable_notifications:"Enable Notifications",enable_notifications_desc:"If ye be allowin' it, it'll be fetchin' the latest LNbits Status updates, like security incidents and updates.",enable_killswitch:"Enabl' th' Killswitch",enable_killswitch_desc:"If enabled it'll be changin' yer fundin' source to VoidWallet automatically if LNbits sends out a killswitch signal, ye will. Ye'll be needin' t' enable manually after an update, arr.",killswitch_interval:"Killswitch Interval",killswitch_interval_desc:"How oft th' background task should be checkin' fer th' LNbits killswitch signal from th' status source (in minutes).",enable_watchdog:"Enable Seadog",enable_watchdog_desc:"If enabled, it will swap yer treasure source t' VoidWallet on its own if yer balance be lower than th' LNbits balance. Ye'll need t' enable by hand after an update.",watchdog_interval:"Seadog Interval",watchdog_interval_desc:"How oft th' background task should be checkin' fer a killswitch signal in th' seadog delta [node_balance - lnbits_balance] (in minutes), arr.",watchdog_delta:"Seadog Delta",watchdog_delta_desc:"Limit afore killswitch changes fundin' source to VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notification Source",notification_source_label:"Source URL (only use th' official LNbits status source, and sources ye can trust)",more:"Arr, 'tis more.",less:"Arr, 'tis more fewer.",releases:"Releases",killswitch:"Killswitch",watchdog:"Seadog",server_logs:"Server Logs",ip_blocker:"IP Blockar",security:"Securrrity",security_tools:"Securrrity tools",block_access_hint:"Block access by IP",allow_access_hint:"Grant permission by IP (will override barred IPs)",enter_ip:"Enter IP and hit enter",rate_limiter:"Rate Limiter",wallet_limiter:"Pouch Limitar",wallet_limit_max_withdraw_per_day:"Max daily wallet withdrawal in sats (0 ter disable)",wallet_max_ballance:"Purse max heaviness in sats (0 fer scuttle)",wallet_limit_secs_between_trans:"Min secs 'tween transactions per wallet (0 to disable)",number_of_requests:"Number o' requests",time_unit:"time bein'",minute:"minnit",second:"second",hour:"hour",disable_server_log:"Disabl' {Server} Log",enable_server_log:"Enable Server Log",coming_soon:"Feature comin' soon",session_has_expired:"Yer session has expired. Please login again.",instant_access_question:"Be wantin' quick entry, aye?",login_with_user_id:"Login with user ID",or:"arr",create_new_wallet:"Create New Wallet",login_to_account:"Log in to yer account",create_account:"Create account",account_settings:"Account Settin's",signin_with_google:"Sign in wit' Google",signin_with_github:"Sign in wit' GitHub",signin_with_keycloak:"Sign in wit' Keycloak",username_or_email:"Usarrrname or Email",password:"Passwarrd",password_config:"Passwarrd Config",password_repeat:"Passwarrd repeat",change_password:"Change Passwarrd",set_password:"Set yer Secret Code",invalid_password:"Passwarrd must be havin' at leest 8 charrracters",login:"Log in",register:"Sign on",username:"Username",user_id:"User ID",email:"Email",first_name:"Firrrst Name",last_name:"Surname",picture:"pictur'",verify_email:"Verify email with",account:"Arrrccount",update_account:"Updatin' Arrrccount",invalid_username:"Username be not valid, matey!",auth_provider:"Auth Provider becometh Auth Provider, ye see?",my_account:"Me Arrrccount",back:"Return",logout:"Log out yer session",look_and_feel:"Look and Feel",language:"Langwidge",color_scheme:"Colour Scheme",extension_cost:"This release be needin' a payment o' minimum {cost} sats, arr.",extension_paid_sats:"Ye have already paid {paid_sats} sats.",release_details_error:"Cannot get th' release details.",pay_from_wallet:"Pay from ye Wallet",show_qr:"Show QR",retry_install:"Try 'nstallin' Again",new_payment:"Make New Payment",hide_empty_wallets:"Stow empty wallets"},window.localisation.pl={confirm:"Tak",server:"Serwer",theme:"Motyw",funding:"Finansowanie",users:"Użytkownicy",apps:"Aplikacje",channels:"Kanały",transactions:"Transakcje",dashboard:"Panel kontrolny",node:"Węzeł",export_users:"Eksportuj użytkowników",no_users:"Nie znaleziono użytkowników",total_capacity:"Całkowita Pojemność",avg_channel_size:"Średni rozmiar kanału",biggest_channel_size:"Największy Rozmiar Kanału",smallest_channel_size:"Najmniejszy Rozmiar Kanału",number_of_channels:"Ilość kanałów",active_channels:"Aktywne kanały",connect_peer:"Połącz z węzłem równorzędnym",connect:"Połącz",open_channel:"Otwarty Kanał",open:"Otwórz",close_channel:"Zamknij kanał",close:"Zamknij",restart:"Restart serwera",save:"Zapisz",save_tooltip:"Zapisz zmiany",topup:"Doładowanie",topup_wallet:"Doładuj portfel",topup_hint:"Użyj ID portfela aby go doładować",restart_tooltip:"Zrestartuj serwer aby aktywować zmiany",add_funds_tooltip:"Dodaj środki do portfela.",reset_defaults:"Powrót do ustawień domyślnych",reset_defaults_tooltip:"Wymaż wszystkie ustawienia i ustaw domyślne.",download_backup:"Pobierz kopię zapasową bazy danych",name_your_wallet:"Nazwij swój portfel {name}",wallet_topup_ok:"Sukces w tworzeniu wirtualnych środków ({amount} sats). Płatności zależą od rzeczywistych środków na źródle finansowania.",paste_invoice_label:"Wklej fakturę, żądanie zapłaty lub kod lnurl *",lnbits_description:"Łatwy i lekki w konfiguracji, LNbits może działać w oparciu o dowolne źródło finansowania w sieci lightning czy nawet inną instancję LNbits! Możesz uruchomić instancję LNbits dla siebie lub dla innych. Każdy portfel ma swoje klucze API i nie ma ograniczeń jeśli chodzi o ilość portfeli. LNbits umożliwia dzielenie środków w celu zarządzania nimi, jest również dobrym narzędziem deweloperskim. Rozszerzenia zwiększają funkcjonalność LNbits co umożliwia eksperymentowanie z nowym technologiami w sieci lightning. Tworzenie rozszerzeń jest proste dlatego zachęcamy innych deweloperów do tworzenia dodatkowych funkcjonalności i wysyłanie do nas PR",export_to_phone:"Eksport kodu QR na telefon",export_to_phone_desc:"Ten kod QR zawiera adres URL Twojego portfela z pełnym dostępem do niego. Możesz go zeskanować na swoim telefonie aby otworzyć na nim ten portfel.",wallets:"Portfele",add_wallet:"Dodaj portfel",delete_wallet:"Usuń portfel",delete_wallet_desc:"Ten portfel zostanie usunięty, środków na nim zgromadzonych NIE BĘDZIE MOŻNA ODZYSKAĆ.",rename_wallet:"Zmień nazwę portfela",update_name:"Zaktualizuj nazwę",fiat_tracking:"Śledzenie Fiata",currency:"Waluta",update_currency:"Aktualizuj walutę",press_to_claim:"Naciśnij aby odebrać Bitcoiny",donate:"Podaruj",view_github:"Otwórz GitHub",voidwallet_active:"VoidWallet jest aktywny! Płatności są niemożliwe",use_with_caution:"KORZYSTAJ Z ROZWAGĄ - portfel {name} jest w wersji BETA",service_fee:"Opłata serwisowa: {amount} % za transakcję",service_fee_max:"Opłata serwisowa: {amount} % za transakcję (maks {max} sat)",service_fee_tooltip:"Opłata serwisowa pobierana przez administratora serwera LNbits za każdą wychodzącą transakcję",toggle_darkmode:"Tryb nocny",payment_reactions:"Reakcje na płatność",view_swagger_docs:"Dokumentacja Swagger API",api_docs:"Dokumentacja API",api_keys_api_docs:"Adres URL węzła, klucze API i dokumentacja API",lnbits_version:"Wersja LNbits",runs_on:"Działa na",credit_hint:"Naciśnij Enter aby doładować konto",credit_label:"{denomination} doładowanie",paste:"Wklej",paste_from_clipboard:"Wklej ze schowka",paste_request:"Wklej żądanie",create_invoice:"Utwórz fakturę",camera_tooltip:"Użyj kamery aby zeskanować fakturę lub kod QR",export_csv:"Eksport do CSV",chart_tooltip:"Wykres",pending:"W toku",copy_invoice:"Skopiuj fakturę",withdraw_from:"Wypłać z",cancel:"Anuluj",scan:"Skanuj",read:"Odczytaj",pay:"Zapłać",memo:"Memo",date:"Data",processing_payment:"Przetwarzam płatność...",not_enough_funds:"Brak wystarczających środków!",search_by_tag_memo_amount:"Szukaj po tagu, memo czy wartości",invoice_waiting:"Faktura oczekuje na zapłatę",payment_received:"Otrzymano płatność",payment_sent:"Wysłano płatność",receive:"odbierać",send:"wysłać",outgoing_payment_pending:"Płatność wychodząca w toku",drain_funds:"Opróżnij środki",drain_funds_desc:"To jest kod QR służący do opróżnienia portfela (LNURL-withdraw). Nie udostępniaj go nikomu. Ten kod jest kompatybilny z funkcjami, które umożliwiają wielokrotne żądania aż do zupełnego opróżnienia portfela.",i_understand:"Rozumiem",copy_wallet_url:"Skopiuj URL portfela",disclaimer_dialog_title:"Ważne!",disclaimer_dialog:"Funkcja logowania zostanie uruchomiona w przyszłości. Póki co upewnij się, że zapisałeś adres URL tej strony aby mieć dostęp do tego portfela. Nie udostępniaj adresu tej strony nikomu, kto nie ma mieć do tego portfela dostępu! Ta usługa działa w wersji BETA, nie odpowiadamy za utratę dostępu do środków przez osoby używające LNbits.",no_transactions:"Brak transakcji",manage:"Zarządzaj",extensions:"Rozszerzenia",no_extensions:"Nie masz zainstalowanych żadnych rozszerzeń :(",created:"Utworzono",search_extensions:"Szukaj rozszerzeń",warning:"Ostrzeżenie",repository:"Repozytorium",confirm_continue:"Czy na pewno chcesz kontynuować?",manage_extension_details:"Instaluj/odinstaluj rozszerzenie",install:"Zainstaluj",uninstall:"Odinstaluj",drop_db:"Usuń dane",enable:"Włącz",enable_extension_details:"Włącz rozszerzenie dla aktualnego użytkownika",disable:"Wyłącz",installed:"Zainstalowano",activated:"Aktywowany",deactivated:"Dezaktywowany",release_notes:"Informacje o wydaniu",activate_extension_details:"Udostępnij/nie udostępniaj rozszerzenia użytkownikom",featured:"Polecane",all:"Wszystko",only_admins_can_install:"Tylko konta administratorów mogą instalować rozszerzenia",admin_only:"Tylko dla administratora",new_version:"Nowa wersja",extension_depends_on:"Zależy od:",extension_rating_soon:"Oceny będą dostępne wkrótce",extension_installed_version:"Zainstalowana wersja",extension_uninstall_warning:"Za chwilę usuniesz rozszerzenie dla wszystkich użytkowników.",uninstall_confirm:"Tak, Odinstaluj",extension_db_drop_info:"Wszystkie dane dla rozszerzenia zostaną trwale usunięte. Nie ma sposobu, aby cofnąć tę operację!",extension_db_drop_warning:"Za chwilę usuniesz wszystkie dane dla rozszerzenia. Proszę wpisz nazwę rozszerzenia, aby kontynuować:",extension_min_lnbits_version:"To wymaga przynajmniej wersji LNbits",payment_hash:"Hash Płatności",fee:"Opłata",amount:"Wartość",tag:"Etykieta",unit:"Jednostka",description:"Opis",expiry:"Wygasa",webhook:"Webhook",payment_proof:"Potwierdzenie płatności",update_available:"Aktualizacja {version} dostępna!",latest_update:"Korzystasz z najnowszej wersji {version}.",notifications:"Powiadomienia",no_notifications:"Brak powiadomień",notifications_disabled:"Powiadomienia o statusie LNbits są wyłączone.",enable_notifications:"Włącz powiadomienia",enable_notifications_desc:"Jeśli ta opcja zostanie włączona, będzie pobierać najnowsze informacje o statusie LNbits, takie jak incydenty bezpieczeństwa i aktualizacje.",enable_killswitch:"Włącz Killswitch",enable_killswitch_desc:"Jeśli zostanie włączone, automatycznie zmieni źródło finansowania na VoidWallet, jeśli LNbits wyśle sygnał wyłączający. Po aktualizacji będziesz musiał włączyć to ręcznie.",killswitch_interval:"Interwał wyłącznika awaryjnego",killswitch_interval_desc:"Jak często zadanie w tle powinno sprawdzać sygnał wyłącznika awaryjnego LNbits ze źródła statusu (w minutach).",enable_watchdog:"Włącz Watchdog",enable_watchdog_desc:"Jeśli zostanie włączone, automatycznie zmieni źródło finansowania na VoidWallet, jeśli saldo jest niższe niż saldo LNbits. Po aktualizacji trzeba będzie włączyć ręcznie.",watchdog_interval:"Interwał Watchdog",watchdog_interval_desc:"Jak często zadanie w tle powinno sprawdzać sygnał wyłącznika awaryjnego w delcie strażnika [node_balance - lnbits_balance] (w minutach).",watchdog_delta:"Strażnik Delta",watchdog_delta_desc:"Limit przed aktywacją wyłącznika zmienia źródło finansowania na VoidWallet [lnbits_balance - node_balance > delta]",status:"Stan",notification_source:"Źródło powiadomień",notification_source_label:"Adres URL źródła (używaj tylko oficjalnego źródła statusu LNbits oraz źródeł, którym możesz zaufać)",more:"więcej",less:"mniej",releases:"Wydania",killswitch:"Killswitch",watchdog:"Pies gończy",server_logs:"Dzienniki serwera",ip_blocker:"Blokada IP",security:"Bezpieczeństwo",security_tools:"Narzędzia bezpieczeństwa",block_access_hint:"Zablokuj dostęp przez IP",allow_access_hint:"Zezwól na dostęp przez IP (zignoruje zablokowane adresy IP)",enter_ip:"Wpisz adres IP i naciśnij enter",rate_limiter:"Ogranicznik Częstotliwości",wallet_limiter:"Ogranicznik Portfela",wallet_limit_max_withdraw_per_day:"Maksymalna dzienna wypłata z portfela w satoshi (0 aby wyłączyć)",wallet_max_ballance:"Maksymalny stan portfela w satoshi (0 aby wyłączyć)",wallet_limit_secs_between_trans:"Min sekund pomiędzy transakcjami na portfel (0 aby wyłączyć)",number_of_requests:"Liczba żądań",time_unit:"Jednostka czasu",minute:"minuta",second:"sekunda",hour:"godzina",disable_server_log:"Wyłącz log serwera",enable_server_log:"Włącz dziennik serwera",coming_soon:"Funkcja wkrótce będzie dostępna",session_has_expired:"Twoja sesja wygasła. Proszę zaloguj się ponownie.",instant_access_question:"Chcesz mieć natychmiastowy dostęp?",login_with_user_id:"Zaloguj się za pomocą identyfikatora użytkownika",or:"lub",create_new_wallet:"Utwórz nowy portfel",login_to_account:"Zaloguj się do swojego konta",create_account:"Załóż konto",account_settings:"Ustawienia konta",signin_with_google:"Zaloguj się przez Google",signin_with_github:"Zaloguj się przez GitHub",signin_with_keycloak:"Zaloguj się przez Keycloak",username_or_email:"Nazwa użytkownika lub Email",password:"Hasło",password_config:"Konfiguracja Hasła",password_repeat:"Powtórz hasło",change_password:"Zmień hasło",set_password:"Ustaw hasło",invalid_password:"Hasło musi zawierać co najmniej 8 znaków",login:"Logowanie",register:"Zarejestruj",username:"Nazwa użytkownika",user_id:"Identyfikator użytkownika",email:"Email",first_name:"Imię",last_name:"Nazwisko",picture:"Zdjęcie",verify_email:"Zweryfikuj email za pomocą",account:"Konto",update_account:"Aktualizuj konto",invalid_username:"Nieprawidłowa nazwa użytkownika",auth_provider:"Dostawca uwierzytelniania",my_account:"Moje Konto",back:"Wstecz",logout:"Wyloguj",look_and_feel:"Wygląd i zachowanie",language:"Język",color_scheme:"Schemat kolorów",extension_cost:"To niniejsze wydanie wymaga zapłaty minimalnej {cost} satów.",extension_paid_sats:"Już zapłaciłeś {paid_sats} satów.",release_details_error:"Nie można uzyskać szczegółów wydania.",pay_from_wallet:"Zapłać z portfela",show_qr:"Pokaż kod QR",retry_install:"Ponów instalację",new_payment:"Dokonaj nowej płatności",hide_empty_wallets:"Ukryj puste portfele"},window.localisation.fr={confirm:"Oui",server:"Serveur",theme:"Thème",funding:"Financement",users:"Utilisateurs",apps:"Applications",channels:"Canaux",transactions:"Transactions",dashboard:"Tableau de bord",node:"Noeud",export_users:"Exporter les utilisateurs",no_users:"Aucun utilisateur trouvé",total_capacity:"Capacité totale",avg_channel_size:"Taille moyenne du canal",biggest_channel_size:"Taille de canal maximale",smallest_channel_size:"Taille de canal la plus petite",number_of_channels:"Nombre de canaux",active_channels:"Canaux actifs",connect_peer:"Connecter un pair",connect:"Connecter",open_channel:"Ouvrir le canal",open:"Ouvrir",close_channel:"Fermer le canal",close:"Fermer",restart:"Redémarrer le serveur",save:"Enregistrer",save_tooltip:"Enregistrer vos modifications",topup:"Renflouer",topup_wallet:"Reflouer un portefeuille",topup_hint:"Utilisez l'ID du portefeuille pour recharger n'importe quel portefeuille",restart_tooltip:"Redémarrez le serveur pour que les changements prennent effet",add_funds_tooltip:"Ajouter des fonds à un portefeuille.",reset_defaults:"Réinitialiser aux valeurs par défaut",reset_defaults_tooltip:"Supprimer tous les paramètres et les réinitialiser aux valeurs par défaut.",download_backup:"Télécharger la sauvegarde de la base de données",name_your_wallet:"Nommez votre portefeuille {name}",wallet_topup_ok:"Succès de la création de fonds virtuels ({amount} sats). Les paiements dépendent des fonds réels sur la source de financement.",paste_invoice_label:"Coller une facture, une demande de paiement ou un code lnurl *",lnbits_description:"Facile à installer et léger, LNbits peut fonctionner sur n'importe quelle source de financement du réseau Lightning et même LNbits lui-même! Vous pouvez exécuter LNbits pour vous-même ou offrir facilement une solution de gardien pour les autres. Chaque portefeuille a ses propres clés API et il n'y a pas de limite au nombre de portefeuilles que vous pouvez créer. La capacité de partitionner les fonds rend LNbits un outil utile pour la gestion de l'argent et comme outil de développement. Les extensions ajoutent une fonctionnalité supplémentaire à LNbits afin que vous puissiez expérimenter une gamme de technologies de pointe sur le réseau Lightning. Nous avons rendu le développement d'extensions aussi simple que possible et, en tant que projet gratuit et open source, nous encourageons les gens à développer et à soumettre les leurs.",export_to_phone:"Exporter vers le téléphone avec un code QR",export_to_phone_desc:"Ce code QR contient l'URL de votre portefeuille avec un accès complet. Vous pouvez le scanner depuis votre téléphone pour ouvrir votre portefeuille depuis là-bas.",wallets:"Portefeuilles",add_wallet:"Ajouter un nouveau portefeuille",delete_wallet:"Supprimer le portefeuille",delete_wallet_desc:"Ce portefeuille entier sera supprimé et les fonds seront IRRECUPERABLES.",rename_wallet:"Renommer le portefeuille",update_name:"Mettre à jour le nom",fiat_tracking:"Suivi Fiat",currency:"Devise",update_currency:"Mettre à jour la devise",press_to_claim:"Appuyez pour demander du Bitcoin",donate:"Donner",view_github:"Voir sur GitHub",voidwallet_active:"VoidWallet est actif! Paiements désactivés",use_with_caution:"UTILISER AVEC PRUDENCE - Le portefeuille {name} est toujours en version BETA",service_fee:"Frais de service : {amount} % par transaction",service_fee_max:"Frais de service : {amount} % par transaction (max {max} sats)",service_fee_tooltip:"Frais de service facturés par l'administrateur du serveur LNbits pour chaque transaction sortante",toggle_darkmode:"Basculer le mode sombre",payment_reactions:"Réactions de paiement",view_swagger_docs:"Voir les documentation de l'API Swagger de LNbits",api_docs:"Documentation de l'API",api_keys_api_docs:"URL du nœud, clés API et documentation API",lnbits_version:"Version de LNbits",runs_on:"Fonctionne sur",credit_hint:"Appuyez sur Entrée pour créditer le compte",credit_label:"{denomination} à créditer",paste:"Coller",paste_from_clipboard:"Coller depuis le presse-papiers",paste_request:"Coller la requête",create_invoice:"Créer une facture",camera_tooltip:"Utiliser la caméra pour scanner une facture / un code QR",export_csv:"Exporter vers CSV",chart_tooltip:"Afficher le graphique",pending:"En attente",copy_invoice:"Copier la facture",withdraw_from:"Retirer de",cancel:"Annuler",scan:"Scanner",read:"Lire",pay:"Payer",memo:"Mémo",date:"Date",processing_payment:"Traitement du paiement...",not_enough_funds:"Fonds insuffisants !",search_by_tag_memo_amount:"Rechercher par tag, mémo, montant",invoice_waiting:"Facture en attente de paiement",payment_received:"Paiement reçu",payment_sent:"Paiement envoyé",receive:"recevoir",send:"envoyer",outgoing_payment_pending:"Paiement sortant en attente",drain_funds:"Vider les fonds",drain_funds_desc:"Il s'agit d'un code QR LNURL-withdraw pour tout aspirer de ce portefeuille. Ne le partagez avec personne. Il est compatible avec balanceCheck et balanceNotify, de sorte que votre portefeuille peut continuer à retirer les fonds continuellement à partir d'ici après le premier retrait.",i_understand:"J'ai compris",copy_wallet_url:"Copier l'URL du portefeuille",disclaimer_dialog_title:"Important !",disclaimer_dialog:"La fonctionnalité de connexion sera publiée dans une future mise à jour, pour l'instant, assurez-vous de mettre cette page en favori pour accéder à votre portefeuille ultérieurement ! Ce service est en BETA, et nous ne sommes pas responsables des personnes qui perdent l'accès à leurs fonds.",no_transactions:"Aucune transaction effectuée pour le moment",manage:"Gérer",extensions:"Extensions",no_extensions:"Vous n'avez installé aucune extension :(",created:"Créé",search_extensions:"Rechercher des extensions",warning:"Avertissement",repository:"Référentiel",confirm_continue:"Êtes-vous sûr de vouloir continuer ?",manage_extension_details:"Installer/désinstaller l'extension",install:"Installer",uninstall:"Désinstaller",drop_db:"Supprimer les données",enable:"Activer",enable_extension_details:"Activer l'extension pour l'utilisateur actuel",disable:"Désactiver",installed:"Installé",activated:"Activé",deactivated:"Désactivé",release_notes:"Notes de version",activate_extension_details:"Rendre l'extension disponible/indisponible pour les utilisateurs",featured:"Mis en avant",all:"Tout",only_admins_can_install:"Seuls les comptes administrateurs peuvent installer des extensions",admin_only:"Réservé aux administrateurs",new_version:"Nouvelle version",extension_depends_on:"Dépend de :",extension_rating_soon:"Notes des utilisateurs à venir bientôt",extension_installed_version:"Version installée",extension_uninstall_warning:"Vous êtes sur le point de supprimer l'extension pour tous les utilisateurs.",uninstall_confirm:"Oui, Désinstaller",extension_db_drop_info:"Toutes les données pour l'extension seront supprimées de manière permanente. Il n'est pas possible d'annuler cette opération !",extension_db_drop_warning:"Vous êtes sur le point de supprimer toutes les données de l'extension. Veuillez taper le nom de l'extension pour continuer :",extension_min_lnbits_version:"Cette version nécessite au moins LNbits version",payment_hash:"Hash de paiement",fee:"Frais",amount:"Montant",tag:"Étiqueter",unit:"Unité",description:"Description",expiry:"Expiration",webhook:"Webhook",payment_proof:"Preuve de paiement",update_available:"Mise à jour {version} disponible !",latest_update:"Vous êtes sur la dernière version {version}.",notifications:"Notifications",no_notifications:"Aucune notification",notifications_disabled:"Les notifications de statut LNbits sont désactivées.",enable_notifications:"Activer les notifications",enable_notifications_desc:"Si activé, il récupérera les dernières mises à jour du statut LNbits, telles que les incidents de sécurité et les mises à jour.",enable_killswitch:"Activer le Killswitch",enable_killswitch_desc:"Si activé, il changera automatiquement votre source de financement en VoidWallet si LNbits envoie un signal de coupure. Vous devrez activer manuellement après une mise à jour.",killswitch_interval:"Intervalle du Killswitch",killswitch_interval_desc:"À quelle fréquence la tâche de fond doit-elle vérifier le signal d'arrêt d'urgence LNbits provenant de la source de statut (en minutes).",enable_watchdog:"Activer le Watchdog",enable_watchdog_desc:"Si elle est activée, elle changera automatiquement votre source de financement en VoidWallet si votre solde est inférieur au solde LNbits. Vous devrez activer manuellement après une mise à jour.",watchdog_interval:"Intervalle du gardien",watchdog_interval_desc:"À quelle fréquence la tâche en arrière-plan doit-elle vérifier la présence d'un signal d'arrêt d'urgence dans le delta du gardien [node_balance - lnbits_balance] (en minutes).",watchdog_delta:"Chien de garde Delta",watchdog_delta_desc:"Limite avant que l'interrupteur d'arrêt ne change la source de financement pour VoidWallet [lnbits_balance - node_balance > delta]",status:"Statut",notification_source:"Source de notification",notification_source_label:"URL source (utilisez uniquement la source officielle de statut LNbits et des sources de confiance)",more:"plus",less:"moins",releases:"Versions",killswitch:"Interrupteur d'arrêt",watchdog:"Chien de garde",server_logs:"Journaux du serveur",ip_blocker:"Bloqueur d'IP",security:"Sécurité",security_tools:"Outils de sécurité",block_access_hint:"Bloquer l'accès par IP",allow_access_hint:"Autoriser l'accès par IP (cela passera outre les IP bloquées)",enter_ip:"Entrez l'adresse IP et appuyez sur Entrée",rate_limiter:"Limiteur de débit",wallet_limiter:"Limiteur de portefeuille",wallet_limit_max_withdraw_per_day:"Retrait quotidien maximum du portefeuille en sats (0 pour désactiver)",wallet_max_ballance:"Solde maximum du portefeuille en sats (0 pour désactiver)",wallet_limit_secs_between_trans:"Minutes et secondes entre les transactions par portefeuille (0 pour désactiver)",number_of_requests:"Nombre de requêtes",time_unit:"Unité de temps",minute:"minute",second:"seconde",hour:"heure",disable_server_log:"Désactiver le journal du serveur",enable_server_log:"Activer le journal du serveur",coming_soon:"Fonctionnalité à venir bientôt",session_has_expired:"Votre session a expiré. Veuillez vous reconnecter.",instant_access_question:"Voulez-vous un accès instantané ?",login_with_user_id:"Connexion avec l'identifiant utilisateur",or:"ou",create_new_wallet:"Créer un nouveau portefeuille",login_to_account:"Connectez-vous à votre compte",create_account:"Créer un compte",account_settings:"Paramètres du compte",signin_with_google:"Connectez-vous avec Google",signin_with_github:"Connectez-vous avec GitHub",signin_with_keycloak:"Connectez-vous avec Keycloak",username_or_email:"Nom d'utilisateur ou e-mail",password:"Mot de passe",password_config:"Configuration du mot de passe",password_repeat:"Répétition du mot de passe",change_password:"Changer le mot de passe",set_password:"Définir le mot de passe",invalid_password:"Le mot de passe doit comporter au moins 8 caractères",login:"Connexion",register:"Inscrire",username:"Nom d'utilisateur",user_id:"Identifiant utilisateur",email:"E-mail",first_name:"Prénom",last_name:"Nom de famille",picture:"Image",verify_email:"Vérifiez l'e-mail avec",account:"Compte",update_account:"Mettre à jour le compte",invalid_username:"Nom d'utilisateur invalide",auth_provider:"Fournisseur d'authentification",my_account:"Mon compte",back:"Retour",logout:"Déconnexion",look_and_feel:"Apparence",language:"Langue",color_scheme:"Schéma de couleurs",extension_cost:"Cette version nécessite un paiement minimum de {cost} sats.",extension_paid_sats:"Vous avez déjà payé {paid_sats} sats.",release_details_error:"Impossible d'obtenir les détails de la version.",pay_from_wallet:"Payer depuis le portefeuille",show_qr:"Afficher le QR",retry_install:"Réessayer l'installation",new_payment:"Effectuer un nouveau paiement",hide_empty_wallets:"Masquer les portefeuilles vides"},window.localisation.nl={confirm:"Ja",server:"Server",theme:"Thema",funding:"Financiering",users:"Gebruikers",apps:"Apps",channels:"Kanalen",transactions:"Transacties",dashboard:"Dashboard",node:"Knooppunt",export_users:"Gebruikers exporteren",no_users:"Geen gebruikers gevonden",total_capacity:"Totale capaciteit",avg_channel_size:"Gem. Kanaalgrootte",biggest_channel_size:"Grootste Kanaalgrootte",smallest_channel_size:"Kleinste Kanaalgrootte",number_of_channels:"Aantal kanalen",active_channels:"Actieve Kanalen",connect_peer:"Peer verbinden",connect:"Verbinden",open_channel:"Open Kanaal",open:"Open",close_channel:"Kanaal Sluiten",close:"Sluiten",restart:"Server opnieuw opstarten",save:"Opslaan",save_tooltip:"Sla uw wijzigingen op",topup:"Bijvullen",topup_wallet:"Een portemonnee bijvullen",topup_hint:"Gebruik de portemonnee-ID om elke portemonnee bij te vullen",restart_tooltip:"Start de server opnieuw op zodat wijzigingen van kracht worden",add_funds_tooltip:"Voeg geld toe aan een portemonnee.",reset_defaults:"Standaardinstellingen herstellen",reset_defaults_tooltip:"Wis alle instellingen en herstel de standaardinstellingen.",download_backup:"Databaseback-up downloaden",name_your_wallet:"Geef je {name} portemonnee een naam",wallet_topup_ok:"Succes met het aanmaken van virtuele fondsen ({amount} sats). Betalingen zijn afhankelijk van de werkelijke fondsen op de financieringsbron.",paste_invoice_label:"Plak een factuur, betalingsverzoek of lnurl-code*",lnbits_description:"Gemakkelijk in te stellen en lichtgewicht, LNbits kan op elke lightning-netwerkfinancieringsbron draaien en zelfs LNbits zelf! U kunt LNbits voor uzelf laten draaien of gemakkelijk een bewaardersoplossing voor anderen bieden. Elke portemonnee heeft zijn eigen API-sleutels en er is geen limiet aan het aantal portemonnees dat u kunt maken. Het kunnen partitioneren van fondsen maakt LNbits een nuttige tool voor geldbeheer en als ontwikkelingstool. Extensies voegen extra functionaliteit toe aan LNbits, zodat u kunt experimenteren met een reeks toonaangevende technologieën op het bliksemschichtnetwerk. We hebben het ontwikkelen van extensies zo eenvoudig mogelijk gemaakt en als een gratis en opensource-project moedigen we mensen aan om hun eigen ontwikkelingen in te dienen.",export_to_phone:"Exporteren naar telefoon met QR-code",export_to_phone_desc:"Deze QR-code bevat uw portemonnee-URL met volledige toegang. U kunt het vanaf uw telefoon scannen om uw portemonnee van daaruit te openen.",wallets:"Portemonnees",add_wallet:"Een nieuwe portemonnee toevoegen",delete_wallet:"Portemonnee verwijderen",delete_wallet_desc:"Deze hele portemonnee wordt verwijderd, de fondsen worden NIET TERUGGEVONDEN.",rename_wallet:"Portemonnee hernoemen",update_name:"Naam bijwerken",fiat_tracking:"Volgfunctie voor fiat-valuata",currency:"Valuta",update_currency:"Valuta bijwerken",press_to_claim:"Druk om bitcoin te claimen",donate:"Doneren",view_github:"Bekijken op GitHub",voidwallet_active:"VoidWallet is actief! Betalingen uitgeschakeld",use_with_caution:"GEBRUIK MET VOORZICHTIGHEID - {name} portemonnee is nog in BETA",service_fee:"Servicekosten: {amount} % per transactie",service_fee_max:"Servicekosten: {amount} % per transactie (max {max} sats)",service_fee_tooltip:"Transactiekosten in rekening gebracht door de LNbits serverbeheerder per uitgaande transactie",toggle_darkmode:"Donkere modus aan/uit",payment_reactions:"Betalingsreacties",view_swagger_docs:"Bekijk LNbits Swagger API-documentatie",api_docs:"API-documentatie",api_keys_api_docs:"Node URL, API-sleutels en API-documentatie",lnbits_version:"LNbits-versie",runs_on:"Draait op",credit_hint:"Druk op Enter om de rekening te crediteren",credit_label:"{denomination} te crediteren",paste:"Plakken",paste_from_clipboard:"Plakken van klembord",paste_request:"Verzoek plakken",create_invoice:"Factuur aanmaken",camera_tooltip:"Gebruik de camera om een factuur/QR-code te scannen",export_csv:"Exporteer naar CSV",chart_tooltip:"Toon grafiek",pending:"In behandeling",copy_invoice:"Kopieer factuur",withdraw_from:"Opnemen van",cancel:"Annuleren",scan:"Scannen",read:"Lezen",pay:"Betalen",memo:"Memo",date:"Datum",processing_payment:"Verwerking betaling...",not_enough_funds:"Onvoldoende saldo!",search_by_tag_memo_amount:"Zoeken op tag, memo, bedrag",invoice_waiting:"Factuur wachtend op betaling",payment_received:"Betaling ontvangen",payment_sent:"Betaling verzonden",receive:"ontvangen",send:"versturen",outgoing_payment_pending:"Uitgaande betaling in behandeling",drain_funds:"Geld opnemen",drain_funds_desc:"Dit is een LNURL-withdraw QR-code om alles uit deze portemonnee te halen. Deel deze code niet met anderen. Het is compatibel met balanceCheck en balanceNotify zodat jouw portemonnee continu geld kan blijven opnemen vanaf hier na de eerste opname.",i_understand:"Ik begrijp het",copy_wallet_url:"Kopieer portemonnee-URL",disclaimer_dialog_title:"Belangrijk!",disclaimer_dialog:"Inlogfunctionaliteit wordt uitgebracht in een toekomstige update. Zorg er nu voor dat je deze pagina als favoriet markeert om in de toekomst toegang te krijgen tot je portemonnee! Deze service is in BETA en we zijn niet verantwoordelijk voor mensen die de toegang tot hun fondsen verliezen.",no_transactions:"Er zijn nog geen transacties gedaan",manage:"Beheer",extensions:"Extensies",no_extensions:"Je hebt geen extensies geïnstalleerd :(",created:"Aangemaakt",search_extensions:"Zoekextensies",warning:"Waarschuwing",repository:"Repository",confirm_continue:"Weet je zeker dat je wilt doorgaan?",manage_extension_details:"Installeren/verwijderen van extensie",install:"Installeren",uninstall:"Deïnstalleren",drop_db:"Gegevens verwijderen",enable:"Inschakelen",enable_extension_details:"Schakel extensie in voor huidige gebruiker",disable:"Uitschakelen",installed:"Geïnstalleerd",activated:"Geactiveerd",deactivated:"Gedeactiveerd",release_notes:"Release-opmerkingen",activate_extension_details:"Maak extensie beschikbaar/niet beschikbaar voor gebruikers",featured:"Uitgelicht",all:"Alles",only_admins_can_install:"Alleen beheerdersaccounts kunnen extensies installeren",admin_only:"Alleen beheerder",new_version:"Nieuwe Versie",extension_depends_on:"Afhankelijk van:",extension_rating_soon:"Beoordelingen binnenkort beschikbaar",extension_installed_version:"Geïnstalleerde versie",extension_uninstall_warning:"U staat op het punt de extensie voor alle gebruikers te verwijderen.",uninstall_confirm:"Ja, de-installeren",extension_db_drop_info:"Alle gegevens voor de extensie zullen permanent worden verwijderd. Er is geen manier om deze bewerking ongedaan te maken!",extension_db_drop_warning:"U staat op het punt alle gegevens voor de extensie te verwijderen. Typ de naam van de extensie om door te gaan:",extension_min_lnbits_version:"Deze release vereist ten minste LNbits-versie",payment_hash:"Betalings-hash",fee:"Kosten",amount:"Bedrag",tag:"Label",unit:"Eenheid",description:"Beschrijving",expiry:"Vervaldatum",webhook:"Webhook",payment_proof:"Betalingsbewijs",update_available:"Update {version} beschikbaar!",latest_update:"U bent op de nieuwste versie {version}.",notifications:"Meldingen",no_notifications:"Geen meldingen",notifications_disabled:"LNbits-statusmeldingen zijn uitgeschakeld.",enable_notifications:"Schakel meldingen in",enable_notifications_desc:"Indien ingeschakeld zal het de laatste LNbits Status updates ophalen, zoals veiligheidsincidenten en updates.",enable_killswitch:"Activeer Killswitch",enable_killswitch_desc:"Indien ingeschakeld, zal het uw financieringsbron automatisch wijzigen naar VoidWallet als LNbits een killswitch-signaal verzendt. U zult het na een update handmatig moeten inschakelen.",killswitch_interval:"Uitschakelschakelaar-interval",killswitch_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op het LNbits killswitch signaal van de statusbron (in minuten).",enable_watchdog:"Inschakelen Watchdog",enable_watchdog_desc:"Indien ingeschakeld, wordt uw betaalbron automatisch gewijzigd naar VoidWallet als uw saldo lager is dan het saldo van LNbits. U zult dit na een update handmatig moeten inschakelen.",watchdog_interval:"Watchdog-interval",watchdog_interval_desc:"Hoe vaak de achtergrondtaak moet controleren op een killswitch signaal in het watchdog verschil [node_balance - lnbits_balance] (in minuten).",watchdog_delta:"Waakhond Delta",watchdog_delta_desc:"Limiet voordat de killswitch de financieringsbron verandert naar VoidWallet [lnbits_balance - node_balance > delta]",status:"Status",notification_source:"Notificatiebron",notification_source_label:"Bron-URL (gebruik alleen de officiële LNbits-statusbron en bronnen die u vertrouwt)",more:"meer",less:"minder",releases:"Uitgaven",killswitch:"Killswitch",watchdog:"Waakhond",server_logs:"Serverlogboeken",ip_blocker:"IP-blokkering",security:"Beveiliging",security_tools:"Beveiligingstools",block_access_hint:"Toegang blokkeren per IP",allow_access_hint:"Toegang verlenen op basis van IP (zal geblokkeerde IP's overschrijven)",enter_ip:"Voer IP in en druk op enter",rate_limiter:"Snelheidsbegrenzer",wallet_limiter:"Portemonnee Limietsteller",wallet_limit_max_withdraw_per_day:"Maximale dagelijkse opname van wallet in sats (0 om uit te schakelen)",wallet_max_ballance:"Maximale portefeuillesaldo in sats (0 om uit te schakelen)",wallet_limit_secs_between_trans:"Min seconden tussen transacties per portemonnee (0 om uit te schakelen)",number_of_requests:"Aantal verzoeken",time_unit:"Tijdeenheid",minute:"minuut",second:"seconde",hour:"uur",disable_server_log:"Serverlog uitschakelen",enable_server_log:"Activeer Serverlog",coming_soon:"Functie binnenkort beschikbaar",session_has_expired:"Uw sessie is verlopen. Log alstublieft opnieuw in.",instant_access_question:"Wil je directe toegang?",login_with_user_id:"Inloggen met gebruikers-ID",or:"of",create_new_wallet:"Nieuwe portemonnee aanmaken",login_to_account:"Log in op je account",create_account:"Account aanmaken",account_settings:"Accountinstellingen",signin_with_google:"Inloggen met Google",signin_with_github:"Inloggen met GitHub",signin_with_keycloak:"Inloggen met Keycloak",username_or_email:"Gebruikersnaam of e-mail",password:"Wachtwoord",password_config:"Wachtwoordconfiguratie",password_repeat:"Wachtwoord herhalen",change_password:"Wachtwoord wijzigen",set_password:"Wachtwoord instellen",invalid_password:"Wachtwoord moet ten minste 8 tekens bevatten",login:"Inloggen",register:"Registreren",username:"Gebruikersnaam",user_id:"Gebruikers-ID",email:"E-mail",first_name:"Voornaam",last_name:"Achternaam",picture:"Foto",verify_email:"E-mail verifiëren met",account:"Account",update_account:"Account bijwerken",invalid_username:"Ongeldige gebruikersnaam",auth_provider:"Auth Provider",my_account:"Mijn Account",back:"Terug",logout:"Afmelden",look_and_feel:"Uiterlijk en gedrag",language:"Taal",color_scheme:"Kleurenschema",extension_cost:"Deze release vereist een betaling van minimaal {cost} sats.",extension_paid_sats:"U heeft al {paid_sats} sats betaald.",release_details_error:"Kan de gegevens van de release niet ophalen.",pay_from_wallet:"Betalen vanuit Portemonnee",show_qr:"Toon QR",retry_install:"Opnieuw installeren",new_payment:"Nieuwe betaling maken",hide_empty_wallets:"Verberg lege portemonnees"},window.localisation.we={confirm:"Ydw",server:"Gweinydd",theme:"Thema",funding:"Arian fyndio",users:"Defnyddwyr",apps:"Apiau",channels:"Sianelau",transactions:"Trafodion",dashboard:"Panel Gweinyddol",node:"Nod",export_users:"Allfor Defnyddwyr",no_users:"Heb ganfod defnyddwyr",total_capacity:"Capasiti Cyfanswm",avg_channel_size:"Maint Sianel Cyf.",biggest_channel_size:"Maint Sianel Fwyaf",smallest_channel_size:"Maint Sianel Lleiaf",number_of_channels:"Nifer y Sianeli",active_channels:"Sianeli Gweithredol",connect_peer:"Cysylltu â Chymar",connect:"Cysylltu",open_channel:"Sianel Agored",open:"Agor",close_channel:"Cau Sianel",close:"cau",restart:"Ailgychwyn gweinydd",save:"Save",save_tooltip:"cadw eich newidiadau",topup:"Topup",topup_wallet:"Atodi waled",topup_hint:"Defnyddiwch ID y waled i ychwanegu at unrhyw waled",restart_tooltip:"Ailgychwyn y gweinydd er mwyn i newidiadau ddod i rym",add_funds_tooltip:"Ychwanegu arian at waled.",reset_defaults:"Ailosod i`r rhagosodiadau",reset_defaults_tooltip:"Dileu pob gosodiad ac ailosod i`r rhagosodiadau.",download_backup:"Lawrlwytho copi wrth gefn cronfa ddata",name_your_wallet:"Enwch eich waled {name}",wallet_topup_ok:"Llwyddiant wrth greu cronfeydd rhithwir ({amount} sats). Mae taliadau'n dibynnu ar gronfeydd gwirioneddol ar y ffynhonnell cyllido.",paste_invoice_label:"Gludwch anfoneb, cais am daliad neu god lnurl *",lnbits_description:"Yn hawdd iw sefydlu ac yn ysgafn, gall LNbits redeg ar unrhyw ffynhonnell ariannu rhwydwaith mellt a hyd yn oed LNbits ei hun! Gallwch redeg LNbits i chi`ch hun, neu gynnig datrysiad ceidwad i eraill yn hawdd. Mae gan bob waled ei allweddi API ei hun ac nid oes cyfyngiad ar nifer y waledi y gallwch eu gwneud. Mae gallu rhannu cronfeydd yn gwneud LNbits yn arf defnyddiol ar gyfer rheoli arian ac fel offeryn datblygu. Mae estyniadau yn ychwanegu ymarferoldeb ychwanegol at LNbits fel y gallwch arbrofi gydag ystod o dechnolegau blaengar ar y rhwydwaith mellt. Rydym wedi gwneud datblygu estyniadau mor hawdd â phosibl, ac fel prosiect ffynhonnell agored am ddim, rydym yn annog pobl i ddatblygu a chyflwyno eu rhai eu hunain.",export_to_phone:"Allforio i Ffôn gyda chod QR",export_to_phone_desc:"Mae`r cod QR hwn yn cynnwys URL eich waled gyda mynediad llawn. Gallwch ei sganio o`ch ffôn i agor eich waled oddi yno.",wallets:"Waledi",add_wallet:"Ychwanegu waled newydd",delete_wallet:"Dileu waled",delete_wallet_desc:"Bydd y waled gyfan hon yn cael ei dileu, ni fydd modd adennill yr arian.",rename_wallet:"Ailenwi waled",update_name:"Diweddaru enw",fiat_tracking:"Olrhain Fiat",currency:"Arian Cyfred",update_currency:"Diweddaru arian cyfred",press_to_claim:"Pwyswch i hawlio bitcoin",donate:"Rhoi",view_github:"Gweld ar GitHub",voidwallet_active:" Mae VoidWallet yn weithredol! Taliadau wedi`u hanalluogi",use_with_caution:"DEFNYDDIO GYDA GOFAL - mae waled {name} yn dal yn BETA",service_fee:"Ffi gwasanaeth: {amount} % y trafodiad",service_fee_max:"Ffi gwasanaeth: {amount} % y trafodiad (uchafswm {max} sats)",service_fee_tooltip:"Ffi gwasanaeth a godir gan weinyddwr gweinydd LNbits ym mhob trafodiad sy'n mynd allan",toggle_darkmode:"Toglo Modd Tywyll",payment_reactions:"Adweithiau Talu",view_swagger_docs:"Gweld dogfennau API LNbits Swagger",api_docs:"Dogfennau API",api_keys_api_docs:"URL y nod, allweddi API a dogfennau API",lnbits_version:"Fersiwn LNbits",runs_on:"Yn rhedeg ymlaen",credit_hint:"Pwyswch Enter i gyfrif credyd",credit_label:"{denomination} i gredyd",paste:"Gludo",paste_from_clipboard:"Gludo o'r clipfwrdd",paste_request:"Gludo Cais",create_invoice:"Creu Anfoneb",camera_tooltip:"Defnyddio camera i sganio anfoneb/QR",export_csv:"Allforio i CSV",chart_tooltip:"Dangos siart",pending:"yn yr arfaeth",copy_invoice:"Copi anfoneb",withdraw_from:"Tynnu oddi ar",cancel:"Canslo",scan:"Sgan",read:"Darllen",pay:"Talu",memo:"Memo",date:"Dyddiad",processing_payment:"Prosesu taliad...",not_enough_funds:"Dim digon o arian!",search_by_tag_memo_amount:"Chwilio yn ôl tag, memo, swm",invoice_waiting:"Anfoneb yn aros i gael ei thalu",payment_received:"Taliad a Dderbyniwyd",payment_sent:"Taliad a Anfonwyd",receive:"derbyn",send:"anfon",outgoing_payment_pending:"Taliad sy`n aros yn yr arfaeth",drain_funds:"Cronfeydd Draenio",drain_funds_desc:"Cod QR Tynnu`n ôl LNURL yw hwn ar gyfer slurpio popeth o`r waled hon. Peidiwch â rhannu gyda neb. Mae`n gydnaws â balanceCheck a balanceNotify felly efallai y bydd eich waled yn tynnu`r arian yn barhaus o`r fan hon ar ôl y codiad cyntaf.",i_understand:"Rwy`n deall",copy_wallet_url:"Copi URL waled",disclaimer_dialog_title:"Pwysig!",disclaimer_dialog:"Swyddogaeth mewngofnodi i`w ryddhau mewn diweddariad yn y dyfodol, am y tro, gwnewch yn siŵr eich bod yn rhoi nod tudalen ar y dudalen hon ar gyfer mynediad i`ch waled yn y dyfodol! Mae`r gwasanaeth hwn yn BETA, ac nid ydym yn gyfrifol am bobl sy`n colli mynediad at arian.",no_transactions:"Dim trafodion wedi`u gwneud eto",manage:"Rheoli",extensions:"Estyniadau",no_extensions:"Nid oes gennych unrhyw estyniadau wedi'u gosod :(",created:"Crëwyd",search_extensions:"Chwilio estyniadau",warning:"Rhybudd",repository:"Ystorfa",confirm_continue:"Ydych chi'n siŵr eich bod chi eisiau parhau?",manage_extension_details:"Gosod/dadosod estyniad",install:"Gosod",uninstall:"Dadgymhwyso",drop_db:"Dileu Data",enable:"Galluogi",enable_extension_details:"Galluogi estyniad ar gyfer y defnyddiwr presennol",disable:"Analluogi",installed:"Gosodwyd",activated:"Wedi'i actifadu",deactivated:"Anweithredol",release_notes:"Nodiadau Rhyddhau",activate_extension_details:"Gwneud estyniad ar gael/anar gael i ddefnyddwyr",featured:"Nodweddwyd",all:"Pob",only_admins_can_install:"Dim ond cyfrifon gweinyddwr all osod estyniadau",admin_only:"Dim ond Gweinyddwr",new_version:"Fersiwn Newydd",extension_depends_on:"Dibynnu ar:",extension_rating_soon:"Sgôr yn dod yn fuan",extension_installed_version:"Fersiwn wedi'i gosod",extension_uninstall_warning:"Rydych chi ar fin dileu'r estyniad ar gyfer pob defnyddiwr.",uninstall_confirm:"Ie, Dad-osod",extension_db_drop_info:"Bydd yr holl ddata ar gyfer yr estyniad yn cael ei ddileu'n barhaol. Does dim ffordd o dadwneud y weithrediad hwn!",extension_db_drop_warning:"Rydych chi ar fin dileu'r holl ddata ar gyfer yr estyniad. Teipiwch enw'r estyniad i barhau:",extension_min_lnbits_version:"Mae'r rhyddhau hwn yn gofyn o leiaf am fersiwn LNbits",payment_hash:"Hais Taliad",fee:"Fee",amount:"swm",tag:"Tag",unit:"Uned",description:"Disgrifiad",expiry:"dod i ben",webhook:"bachyn we",payment_proof:"prawf taliad",update_available:"Diweddariad {version} ar gael!",latest_update:"Rydych chi ar y fersiwn diweddaraf {version}.",notifications:"Hysbysiadau",no_notifications:"Dim hysbysiadau",notifications_disabled:"Hysbysiadau statws LNbits wedi'u analluogi.",enable_notifications:"Galluogi Hysbysiadau",enable_notifications_desc:"Os bydd wedi'i alluogi bydd yn nôl y diweddariadau Statws LNbits diweddaraf, fel digwyddiadau diogelwch a diweddariadau.",enable_killswitch:"Galluogi Killswitch",enable_killswitch_desc:"Os bydd yn galluogi, bydd yn newid eich ffynhonnell arian i VoidWallet yn awtomatig os bydd LNbits yn anfon arwydd killswitch. Bydd angen i chi alluogi â llaw ar ôl diweddariad.",killswitch_interval:"Amlder Cyllell Dorri",killswitch_interval_desc:"Pa mor aml y dylai'r dasg gefndir wirio am signal killswitch LNbits o'r ffynhonnell statws (mewn munudau).",enable_watchdog:"Galluogi Watchdog",enable_watchdog_desc:"Os bydd yn cael ei alluogi bydd yn newid eich ffynhonnell ariannu i VoidWallet yn awtomatig os bydd eich balans yn is na balans LNbits. Bydd angen i chi alluogi â llaw ar ôl diweddariad.",watchdog_interval:"Amserlennu Gwylio",watchdog_interval_desc:"Pa mor aml y dylai'r dasg gefndir wirio am signal torri yn y gwarchodfa delta [node_balance - lnbits_balance] (mewn munudau).",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Terfyn cyn i'r switshladd newid ffynhonnell ariannu i VoidWallet [lnbits_balance - node_balance > delta]",status:"Statws",notification_source:"Ffynhonnell Hysbysiad",notification_source_label:"URL Ffynhonnell (defnyddiwch yn unig ffynhonnell statws swyddogol LNbits, a ffynonellau y gallwch ymddiried ynddynt)",more:"mwy",less:"llai",releases:"Rhyddhau",killswitch:"Killswitch",watchdog:"Gwyliwr",server_logs:"Logiau Gweinydd",ip_blocker:"Rheolydd IP",security:"Diogelwch",security_tools:"Offer teclynnau diogelwch",block_access_hint:"Atal mynediad gan IP",allow_access_hint:"Caniatáu mynediad gan IP (bydd yn diystyru IPs sydd wedi'u blocio)",enter_ip:"Rhowch IP a gwasgwch enter",rate_limiter:"Cyfyngydd Cyfradd",wallet_limiter:"Cyfyngwr Waled",wallet_limit_max_withdraw_per_day:"Uchafswm tynnu’n ôl waled dyddiol mewn sats (0 i analluogi)",wallet_max_ballance:"Uchafswm balans y waled mewn sats (0 i analluogi)",wallet_limit_secs_between_trans:"Eiliadau lleiaf rhwng trafodion fesul waled (0 i analluogi)",number_of_requests:"Nifer y ceisiadau",time_unit:"Uned amser",minute:"munud",second:"ail",hour:"awr",disable_server_log:"Analluogi Log Gweinydd",enable_server_log:"Galluogi Log Gweinydd",coming_soon:"Nodwedd yn dod yn fuan",session_has_expired:"Mae eich sesiwn wedi dod i ben. Mewngofnodwch eto.",instant_access_question:"Eisiau mynediad ar unwaith?",login_with_user_id:"Mewngofnodi gyda ID y defnyddiwr",or:"neu",create_new_wallet:"Creu Waled Newydd",login_to_account:"Mewngofnodwch i'ch cyfrif",create_account:"Creu cyfrif",account_settings:"Gosodiadau Cyfrif",signin_with_google:"Mewngofnodi gyda Google",signin_with_github:"Mewngofnodi gyda GitHub",signin_with_keycloak:"Mewngofnodi gyda Keycloak",username_or_email:"Defnyddiwr neu E-bost",password:"Cyfrinair",password_config:"Ffurfweddiad Cyfrinair",password_repeat:"Ailadrodd cyfrinair",change_password:"Newid Cyfrinair",set_password:"Gosod Cyfrinair",invalid_password:"Rhaid i'r cyfrinair gynnwys o leiaf 8 nod.",login:"Mewngofnodi",register:"Cofrestru",username:"Enw defnyddiwr",user_id:"ID Defnyddiwr",email:"E-bost",first_name:"Enw Cyntaf",last_name:"Cyfenw",picture:"Llun",verify_email:"Gwirio e-bost gyda",account:"Cyfrif",update_account:"Diweddaru Cyfrif",invalid_username:"Enw Defnyddiwr Annilys",auth_provider:"Darparwr Dilysiad",my_account:"Fy Nghyfrif",back:"Yn ôl",logout:"Allgofnodi",look_and_feel:"Edrych a Theimlo",language:"Iaith",color_scheme:"Cynllun Lliw",extension_cost:"Mae'r rhyddhad hwn yn gofyn am daliad o leiaf {cost} sats.",extension_paid_sats:"Rydych chi eisoes wedi talu {paid_sats} sats.",release_details_error:"Methu cael manylion y rhyddhau.",pay_from_wallet:"Talu o'r Waled",show_qr:"Dangos QR",retry_install:"Ailgeisio Gosod",new_payment:"Gwneud Taliad Newydd",hide_empty_wallets:"Cuddio waledau gwag"},window.localisation.pt={confirm:"Sim",server:"Servidor",theme:"Tema",funding:"Financiamento",users:"Usuários",apps:"Aplicativos",channels:"Canais",transactions:"Transações",dashboard:"Painel de Controle",node:"Nó",export_users:"Exportar Usuários",no_users:"Nenhum usuário encontrado",total_capacity:"Capacidade Total",avg_channel_size:"Tamanho Médio do Canal",biggest_channel_size:"Maior Tamanho do Canal",smallest_channel_size:"Menor Tamanho de Canal",number_of_channels:"Número de Canais",active_channels:"Canais Ativos",connect_peer:"Conectar Par",connect:"Conectar",open_channel:"Canal Aberto",open:"Abrir",close_channel:"Fechar Canal",close:"Fechar",restart:"Reiniciar servidor",save:"Gravar",save_tooltip:"Gravar as alterações",topup:"Reforçar conta",topup_wallet:"Recarregar uma carteira",topup_hint:"Use o ID da carteira para recarregar qualquer carteira",restart_tooltip:"Reinicie o servidor para que as alterações tenham efeito",add_funds_tooltip:"Adicionar fundos a uma carteira.",reset_defaults:"Redefinir para padrões",reset_defaults_tooltip:"Apagar todas as configurações e redefinir para os padrões.",download_backup:"Fazer backup da base de dados",name_your_wallet:"Nomeie sua carteira {name}",wallet_topup_ok:"Sucesso ao criar fundos virtuais ({amount} sats). Os pagamentos dependem dos fundos reais na fonte de financiamento.",paste_invoice_label:"Cole uma fatura, pedido de pagamento ou código lnurl *",lnbits_description:"Fácil de configurar e leve, o LNbits pode ser executado em qualquer fonte de financiamento da Lightning Network e até mesmo o LNbits em si! Você pode executar o LNbits para si mesmo ou oferecer facilmente uma solução de custódia para outros. Cada carteira tem suas próprias chaves de API e não há limite para o número de carteiras que você pode criar. Ser capaz de particionar fundos torna o LNbits uma ferramenta útil para gerenciamento de dinheiro e como uma ferramenta de desenvolvimento. As extensões adicionam funcionalidades extras ao LNbits para que você possa experimentar uma série de tecnologias de ponta na rede lightning. Nós tornamos o desenvolvimento de extensões o mais fácil possível e, como um projeto gratuito e de código aberto, incentivamos as pessoas a desenvolver e enviar as suas próprias.",export_to_phone:"Exportar para o telefone com código QR",export_to_phone_desc:"Este código QR contém a URL da sua carteira com acesso total. Você pode escaneá-lo do seu telefone para abrir sua carteira a partir dele.",wallets:"Carteiras",add_wallet:"Adicionar nova carteira",delete_wallet:"Excluir carteira",delete_wallet_desc:"Toda a carteira será excluída, os fundos serão IRRECUPERÁVEIS.",rename_wallet:"Renomear carteira",update_name:"Atualizar nome",fiat_tracking:"Rastreamento Fiat",currency:"Moeda",update_currency:"Atualizar moeda",press_to_claim:"Pressione para solicitar bitcoin",donate:"Doar",view_github:"Ver no GitHub",voidwallet_active:"VoidWallet está ativo! Pagamentos desabilitados",use_with_caution:"USE COM CAUTELA - a carteira {name} ainda está em BETA",service_fee:"Taxa de serviço: {amount} % por transação",service_fee_max:"Taxa de serviço: {amount} % por transação (máximo de {max} sats)",service_fee_tooltip:"Taxa de serviço cobrada pelo administrador do servidor LNbits por transação de saída",toggle_darkmode:"Alternar modo escuro",payment_reactions:"Reações de Pagamento",view_swagger_docs:"Ver a documentação da API do LNbits Swagger",api_docs:"Documentação da API",api_keys_api_docs:"URL do Nó, chaves de API e documentação de API",lnbits_version:"Versão do LNbits",runs_on:"Executa em",credit_hint:"Pressione Enter para creditar a conta",credit_label:"{denomination} para creditar",paste:"Colar",paste_from_clipboard:"Colar da área de transferência",paste_request:"Colar Pedido",create_invoice:"Criar Fatura",camera_tooltip:"Usar a câmara para escanear uma fatura / QR",export_csv:"Exportar para CSV",chart_tooltip:"Mostrar gráfico",pending:"Pendente",copy_invoice:"Copiar fatura",withdraw_from:"Retirar de",cancel:"Cancelar",scan:"Escanear",read:"Ler",pay:"Pagar",memo:"Memo",date:"Data",processing_payment:"Processando pagamento...",not_enough_funds:"Fundos insuficientes!",search_by_tag_memo_amount:"Pesquisar por tag, memo, quantidade",invoice_waiting:"Fatura aguardando pagamento",payment_received:"Pagamento Recebido",payment_sent:"Pagamento Enviado",receive:"receber",send:"enviar",outgoing_payment_pending:"Pagamento de saída pendente",drain_funds:"Esvasiar carteira",drain_funds_desc:"Este é um código QR de saque LNURL para sacar tudo desta carteira. Não o partilhe com ninguém. É compatível com balanceCheck e balanceNotify para que a sua carteira possa continuar levantando os fundos continuamente daqui após o primeiro saque.",i_understand:"Eu entendo",copy_wallet_url:"Copiar URL da carteira",disclaimer_dialog_title:"Importante!",disclaimer_dialog:"Funcionalidade de login a ser lançada numa atualização futura, por enquanto, certifique-se que marca esta página para acesso futuro à sua carteira! Este serviço está em BETA, e não nos responsabilizamos por pessoas que perderem o acesso aos fundos.",no_transactions:"Ainda não foram feitas transações",manage:"Gerir",extensions:"Extensões",no_extensions:"Não há nenhuma extensão instalada :(",created:"Criado",search_extensions:"Pesquisar extensões",warning:"Aviso",repository:"Repositório",confirm_continue:"Tem certeza de que deseja continuar?",manage_extension_details:"Instalar/desinstalar extensão",install:"Instalar",uninstall:"Desinstalar",drop_db:"Remover Dados",enable:"Ativar",enable_extension_details:"Ativar extensão para o usuário atual",disable:"Desativar",installed:"Instalado",activated:"Ativado",deactivated:"Desativado",release_notes:"Notas de Lançamento",activate_extension_details:"Torne a extensão disponível/indisponível para usuários",featured:"Destacado",all:"Todos",only_admins_can_install:"Apenas contas de administrador podem instalar extensões.",admin_only:"Apenas para administradores",new_version:"Nova Versão",extension_depends_on:"Depende de:",extension_rating_soon:"Avaliações em breve",extension_installed_version:"Versão instalada",extension_uninstall_warning:"Você está prestes a remover a extensão para todos os usuários.",uninstall_confirm:"Sim, Desinstalar",extension_db_drop_info:"Todos os dados da extensão serão permanentemente excluídos. Não há como desfazer essa operação!",extension_db_drop_warning:"Você está prestes a remover todos os dados para a extensão. Por favor, digite o nome da extensão para continuar:",extension_min_lnbits_version:"Esta versão requer pelo menos a versão LNbits",payment_hash:"Hash de pagamento",fee:"Taxa",amount:"Quantidade",tag:"Etiqueta",unit:"Unidade",description:"Descrição",expiry:"Validade",webhook:"Webhook",payment_proof:"Comprovativo de pagamento",update_available:"Atualização {version} disponível!",latest_update:"Você está na última versão {version}.",notifications:"Notificações",no_notifications:"Sem notificações",notifications_disabled:"As notificações de status do LNbits estão desativadas.",enable_notifications:"Ativar Notificações",enable_notifications_desc:"Se ativado, ele buscará as últimas atualizações de status do LNbits, como incidentes de segurança e atualizações.",enable_killswitch:"Ativar Killswitch",enable_killswitch_desc:"Se ativado, ele mudará sua fonte de financiamento para VoidWallet automaticamente se o LNbits enviar um sinal de desativação. Você precisará ativar manualmente após uma atualização.",killswitch_interval:"Intervalo do Killswitch",killswitch_interval_desc:"Com que frequência a tarefa de fundo deve verificar o sinal de desativação do LNbits proveniente da fonte de status (em minutos).",enable_watchdog:"Ativar Watchdog",enable_watchdog_desc:"Se ativado, mudará automaticamente a sua fonte de financiamento para VoidWallet caso o seu saldo seja inferior ao saldo LNbits. Você precisará ativar manualmente após uma atualização.",watchdog_interval:"Intervalo do Watchdog",watchdog_interval_desc:"Com que frequência a tarefa de fundo deve verificar um sinal de desligamento no delta do watchdog [node_balance - lnbits_balance] (em minutos).",watchdog_delta:"Observador Delta",watchdog_delta_desc:"Limite antes que o killswitch altere a fonte de financiamento para VoidWallet [lnbits_balance - node_balance > delta]",status:"Estado",notification_source:"Fonte de Notificação",notification_source_label:"URL de Origem (use apenas a fonte oficial de status do LNbits e fontes em que confia)",more:"mais",less:"menos",releases:"Lançamentos",killswitch:"Interruptor de desativação",watchdog:"Cão de guarda",server_logs:"Registros do Servidor",ip_blocker:"Bloqueador de IP",security:"Segurança",security_tools:"Ferramentas de segurança",block_access_hint:"Bloquear acesso por IP",allow_access_hint:"Permitir acesso por IP (substituirá IPs bloqueados)",enter_ip:"Digite o IP e pressione enter.",rate_limiter:"Limitador de Taxa",wallet_limiter:"Limitador de Carteira",wallet_limit_max_withdraw_per_day:"Limite diário máximo de saque da carteira em sats (0 para desativar)",wallet_max_ballance:"Saldo máximo da carteira em sats (0 para desativar)",wallet_limit_secs_between_trans:"Minutos seg. entre transações por carteira (0 para desativar)",number_of_requests:"Número de solicitações",time_unit:"Unidade de tempo",minute:"minuto",second:"segundo",hour:"hora",disable_server_log:"Desativar Log do Servidor",enable_server_log:"Ativar Log do Servidor",coming_soon:"Funcionalidade em breve",session_has_expired:"Sua sessão expirou. Por favor, faça login novamente.",instant_access_question:"Quer acesso imediato?",login_with_user_id:"Entrar com ID do usuário",or:"ou",create_new_wallet:"Criar Nova Carteira",login_to_account:"Faça login na sua conta",create_account:"Criar conta",account_settings:"Configurações da Conta",signin_with_google:"Entrar com o Google",signin_with_github:"Entrar com o GitHub",signin_with_keycloak:"Entrar com o Keycloak",username_or_email:"Nome de usuário ou Email",password:"Senha",password_config:"Configuração de Senha",password_repeat:"Repetição de senha",change_password:"Alterar Senha",set_password:"Definir Senha",invalid_password:"A senha deve ter pelo menos 8 caracteres",login:"Entrar",register:"Registrar",username:"Nome de usuário",user_id:"ID do Usuário",email:"E-mail",first_name:"Nome próprio",last_name:"Sobrenome",picture:"Foto",verify_email:"Verifique o e-mail com",account:"Conta",update_account:"Atualizar Conta",invalid_username:"Nome de usuário inválido",auth_provider:"Provedor de Autenticação",my_account:"Minha Conta",back:"Voltar",logout:"Sair",look_and_feel:"Aparência e Sensação",language:"Idioma",color_scheme:"Esquema de Cores",extension_cost:"Este lançamento requer um pagamento mínimo de {cost} sats.",extension_paid_sats:"Você já pagou {paid_sats} sats.",release_details_error:"Não é possível obter os detalhes da versão.",pay_from_wallet:"Pague da Carteira",show_qr:"Exibir QR",retry_install:"Reinstalar Tente Novamente",new_payment:"Realizar Novo Pagamento",hide_empty_wallets:"Ocultar carteiras vazias"},window.localisation.br={confirm:"Sim",server:"Servidor",theme:"Tema",funding:"Financiamento",users:"Usuários",apps:"Aplicativos",channels:"Canais",transactions:"Transações",dashboard:"Painel de Controle",node:"Nó",export_users:"Exportar Usuários",no_users:"Nenhum usuário encontrado",total_capacity:"Capacidade Total",avg_channel_size:"Tamanho médio do canal",biggest_channel_size:"Maior Tamanho de Canal",smallest_channel_size:"Tamanho Mínimo do Canal",number_of_channels:"Número de Canais",active_channels:"Canais Ativos",connect_peer:"Conectar Par",connect:"Conectar",open_channel:"Canal Aberto",open:"Abrir",close_channel:"Fechar Canal",close:"Fechar",restart:"Reiniciar servidor",save:"Salvar",save_tooltip:"Salvar suas alterações",topup:"Recarregar",topup_wallet:"Recarregar uma carteira",topup_hint:"Use o ID da carteira para recarregar qualquer carteira",restart_tooltip:"Reinicie o servidor para que as alterações tenham efeito",add_funds_tooltip:"Adicionar fundos a uma carteira.",reset_defaults:"Redefinir para padrões",reset_defaults_tooltip:"Apagar todas as configurações e redefinir para os padrões.",download_backup:"Fazer backup do banco de dados",name_your_wallet:"Nomeie sua carteira {name}",wallet_topup_ok:"Sucesso ao criar fundos virtuais ({amount} sats). Pagamentos dependem dos fundos reais na fonte de financiamento.",paste_invoice_label:"Cole uma fatura, pedido de pagamento ou código lnurl *",lnbits_description:"Fácil de configurar e leve, o LNbits pode ser executado em qualquer fonte de financiamento da Lightning Network e até mesmo o LNbits em si! Você pode executar o LNbits para si mesmo ou oferecer facilmente uma solução de custódia para outros. Cada carteira tem suas próprias chaves de API e não há limite para o número de carteiras que você pode criar. Ser capaz de particionar fundos torna o LNbits uma ferramenta útil para gerenciamento de dinheiro e como uma ferramenta de desenvolvimento. As extensões adicionam funcionalidades extras ao LNbits para que você possa experimentar uma série de tecnologias de ponta na rede lightning. Nós tornamos o desenvolvimento de extensões o mais fácil possível e, como um projeto gratuito e de código aberto, incentivamos as pessoas a desenvolver e enviar as suas próprias.",export_to_phone:"Exportar para o telefone com código QR",export_to_phone_desc:"Este código QR contém a URL da sua carteira com acesso total. Você pode escaneá-lo do seu telefone para abrir sua carteira a partir dele.",wallets:"Carteiras",add_wallet:"Adicionar nova carteira",delete_wallet:"Excluir carteira",delete_wallet_desc:"Toda a carteira será excluída, os fundos serão IRRECUPERÁVEIS.",rename_wallet:"Renomear carteira",update_name:"Atualizar nome",fiat_tracking:"Rastreamento Fiat",currency:"Moeda",update_currency:"Atualizar moeda",press_to_claim:"Pressione para solicitar bitcoin",donate:"Doar",view_github:"Ver no GitHub",voidwallet_active:"VoidWallet está ativo! Pagamentos desabilitados",use_with_caution:"USE COM CAUTELA - a carteira {name} ainda está em BETA",service_fee:"Taxa de serviço: {amount} % por transação",service_fee_max:"Taxa de serviço: {amount} % por transação (máx {max} sats)",service_fee_tooltip:"Taxa de serviço cobrada pelo administrador do servidor LNbits por transação de saída",toggle_darkmode:"Alternar modo escuro",payment_reactions:"Reações de Pagamento",view_swagger_docs:"Ver a documentação da API do LNbits Swagger",api_docs:"Documentação da API",api_keys_api_docs:"URL do Node, chaves da API e documentação da API",lnbits_version:"Versão do LNbits",runs_on:"Executa em",credit_hint:"Pressione Enter para creditar a conta",credit_label:"{denomination} para creditar",paste:"Colar",paste_from_clipboard:"Cole do clipboard",paste_request:"Colar Pedido",create_invoice:"Criar Fatura",camera_tooltip:"Usar a câmara para escanear uma fatura / QR",export_csv:"Exportar para CSV",chart_tooltip:"Mostrar gráfico",pending:"Pendente",copy_invoice:"Copiar fatura",withdraw_from:"Sacar de",cancel:"Cancelar",scan:"Escanear",read:"Ler",pay:"Pagar",memo:"Memo",date:"Data",processing_payment:"Processando pagamento...",not_enough_funds:"Fundos insuficientes!",search_by_tag_memo_amount:"Pesquisar por tag, memo, quantidade",invoice_waiting:"Fatura aguardando pagamento",payment_received:"Pagamento Recebido",payment_sent:"Pagamento Enviado",receive:"receber",send:"enviar",outgoing_payment_pending:"Pagamento pendente de saída",drain_funds:"Drenar Fundos",drain_funds_desc:"Este é um código QR de retirada do LNURL para sugar tudo desta carteira. Não compartilhe com ninguém. É compatível com balanceCheck e balanceNotify para que sua carteira possa continuar retirando os fundos continuamente daqui após a primeira retirada.",i_understand:"Eu entendo",copy_wallet_url:"Copiar URL da carteira",disclaimer_dialog_title:"Importante!",disclaimer_dialog:"Funcionalidade de login a ser lançada em uma atualização futura, por enquanto, certifique-se de marcar esta página para acesso futuro à sua carteira! Este serviço está em BETA, e não nos responsabilizamos por pessoas que perderem o acesso aos fundos.",no_transactions:"Ainda não foram feitas transações",manage:"Gerenciar",extensions:"Extensões",no_extensions:"Você não possui nenhuma extensão instalada :(",created:"Criado",search_extensions:"Extensões de pesquisa",warning:"Aviso",repository:"Repositório",confirm_continue:"Você tem certeza de que deseja continuar?",manage_extension_details:"Instalar/desinstalar extensão",install:"Instalar",uninstall:"Desinstalar",drop_db:"Remover Dados",enable:"Ativar",enable_extension_details:"Ativar extensão para o usuário atual",disable:"Desativar",installed:"Instalado",activated:"Ativado",deactivated:"Desativado",release_notes:"Notas de Lançamento",activate_extension_details:"Tornar a extensão disponível/indisponível para usuários",featured:"Destacado",all:"Tudo",only_admins_can_install:"Apenas contas de administrador podem instalar extensões.",admin_only:"Apenas para Administração",new_version:"Nova Versão",extension_depends_on:"Depende de:",extension_rating_soon:"Avaliações estarão disponíveis em breve",extension_installed_version:"Versão instalada",extension_uninstall_warning:"Você está prestes a remover a extensão para todos os usuários.",uninstall_confirm:"Sim, Desinstalar",extension_db_drop_info:"Todos os dados da extensão serão permanentemente excluídos. Não há como desfazer essa operação!",extension_db_drop_warning:"Você está prestes a remover todos os dados para a extensão. Por favor, digite o nome da extensão para continuar:",extension_min_lnbits_version:"Esta versão requer no mínimo a versão do LNbits",payment_hash:"Hash de pagamento",fee:"Taxa",amount:"Quantidade",tag:"Etiqueta",unit:"Unidade",description:"Descrição",expiry:"Validade",webhook:"Webhook",payment_proof:"Comprovante de pagamento",update_available:"Atualização {version} disponível!",latest_update:"Você está na versão mais recente {version}.",notifications:"Notificações",no_notifications:"Sem notificações",notifications_disabled:"As notificações de status do LNbits estão desativadas.",enable_notifications:"Ativar notificações",enable_notifications_desc:"Se ativado, ele buscará as últimas atualizações de status do LNbits, como incidentes de segurança e atualizações.",enable_killswitch:"Ativar Killswitch",enable_killswitch_desc:"Se ativado, mudará sua fonte de fundos para VoidWallet automaticamente se o LNbits enviar um sinal de desativação. Você precisará ativar manualmente após uma atualização.",killswitch_interval:"Intervalo do Killswitch",killswitch_interval_desc:"Com que frequência a tarefa de fundo deve verificar o sinal de desativação do LNbits proveniente da fonte de status (em minutos).",enable_watchdog:"Ativar Watchdog",enable_watchdog_desc:"Se ativado, ele mudará automaticamente sua fonte de financiamento para VoidWallet se o seu saldo for inferior ao saldo do LNbits. Você precisará ativar manualmente após uma atualização.",watchdog_interval:"Intervalo do Watchdog",watchdog_interval_desc:"Com que frequência a tarefa de fundo deve verificar um sinal de interrupção no delta do monitor [node_balance - lnbits_balance] (em minutos).",watchdog_delta:"Observador Delta",watchdog_delta_desc:"Limite antes da mudança do mecanismo de segurança alterar a fonte de financiamento para VoidWallet [lnbits_balance - node_balance > delta]",status:"Estado",notification_source:"Fonte de Notificação",notification_source_label:"URL de origem (use apenas a fonte de status oficial do LNbits e fontes de confiança)",more:"mais",less:"menos",releases:"Lançamentos",killswitch:"Dispositivo de desativação",watchdog:"Cão de guarda",server_logs:"Registros do Servidor",ip_blocker:"Bloqueador de IP",security:"Segurança",security_tools:"Ferramentas de segurança",block_access_hint:"Bloquear acesso por IP",allow_access_hint:"Permitir acesso por IP (substituirá os IPs bloqueados)",enter_ip:"Digite o IP e pressione enter",rate_limiter:"Limitador de Taxa",wallet_limiter:"Limitador de Carteira",wallet_limit_max_withdraw_per_day:"Retirada máxima diária da carteira em sats (0 para desativar)",wallet_max_ballance:"Saldo máximo da carteira em sats (0 para desativar)",wallet_limit_secs_between_trans:"Minutos e segundos entre transações por carteira (0 para desativar)",number_of_requests:"Número de solicitações",time_unit:"Unidade de tempo",minute:"minuto",second:"segundo",hour:"hora",disable_server_log:"Desativar Log do Servidor",enable_server_log:"Ativar Registro do Servidor",coming_soon:"Funcionalidade em breve",session_has_expired:"Sua sessão expirou. Por favor, faça login novamente.",instant_access_question:"Quer acesso imediato?",login_with_user_id:"Faça login com ID do usuário",or:"ou",create_new_wallet:"Criar Nova Carteira",login_to_account:"Faça login na sua conta",create_account:"Criar conta",account_settings:"Configurações da Conta",signin_with_google:"Entrar com o Google",signin_with_github:"Entrar com GitHub",signin_with_keycloak:"Entrar com Keycloak",username_or_email:"Nome de usuário ou E-mail",password:"Senha",password_config:"Configuração de Senha",password_repeat:"Repetição de senha",change_password:"Alterar Senha",set_password:"Definir Senha",invalid_password:"A senha deve ter pelo menos 8 caracteres",login:"Entrar",register:"Registrar",username:"Nome de usuário",user_id:"ID do Usuário",email:"E-mail",first_name:"Primeiro Nome",last_name:"Sobrenome",picture:"Foto",verify_email:"Verifique o e-mail com",account:"Conta",update_account:"Atualizar Conta",invalid_username:"Nome de usuário inválido",auth_provider:"Provedor de Autenticação",my_account:"Minha Conta",back:"Voltar",logout:"Sair",look_and_feel:"Aparência",language:"Idioma",color_scheme:"Esquema de Cores",extension_cost:"Este lançamento requer um pagamento mínimo de {cost} sats.",extension_paid_sats:"Você já pagou {paid_sats} sats.",release_details_error:"Não é possível obter os detalhes da versão.",pay_from_wallet:"Pagar com a Carteira",show_qr:"Exibir QR",retry_install:"Repetir Instalação",new_payment:"Efetuar Novo Pagamento",hide_empty_wallets:"Ocultar carteiras vazias"},window.localisation.cs={confirm:"Ano",server:"Server",theme:"Téma",funding:"Financování",users:"Uživatelé",apps:"Aplikace",channels:"Kanály",transactions:"Transakce",dashboard:"Přehled",node:"Uzel",export_users:"Exportovat uživatele",no_users:"Nebyli nalezeni žádní uživatelé",total_capacity:"Celková kapacita",avg_channel_size:"Průmerná velikost kanálu",biggest_channel_size:"Největší velikost kanálu",smallest_channel_size:"Nejmenší velikost kanálu",number_of_channels:"Počet kanálů",active_channels:"Aktivní kanály",connect_peer:"Připojit peer",connect:"Připojit",open_channel:"Otevřít kanál",open:"Otevřít",close_channel:"Zavřít kanál",close:"Zavřít",restart:"Restartovat server",save:"Uložit",save_tooltip:"Uložit změny",topup:"Dobít",topup_wallet:"Dobít peněženku",topup_hint:"Použijte ID peněženky pro dobíjení jakékoliv peněženky",restart_tooltip:"Restartujte server pro aplikaci změn",add_funds_tooltip:"Přidat prostředky do peněženky.",reset_defaults:"Obnovit výchozí",reset_defaults_tooltip:"Smazat všechna nastavení a obnovit výchozí.",download_backup:"Stáhnout zálohu databáze",name_your_wallet:"Pojmenujte svou {name} peněženku",wallet_topup_ok:"Úspěšně vytvořeny virtuální prostředky ({amount} sats). Platby závisí na skutečných prostředcích na zdrojovém účtu.",paste_invoice_label:"Vložte fakturu, platební požadavek nebo lnurl kód *",lnbits_description:"Snadno nastavitelný a lehkotonážní, LNbits může běžet na jakémkoliv zdroji financování Lightning Network a dokonce LNbits samotné! LNbits můžete provozovat pro sebe, nebo snadno nabízet správu peněženek pro ostatní. Každá peněženka má své vlastní API klíče a není omezen počet peněženek, které můžete vytvořit. Možnost rozdělení prostředků dělá z LNbits užitečný nástroj pro správu peněz a jako vývojový nástroj. Rozšíření přidávají extra funkčnost k LNbits, takže můžete experimentovat s řadou špičkových technologií na lightning network. Vývoj rozšíření jsme učinili co nejjednodušší a jako svobodný a open-source projekt podporujeme lidi ve vývoji a zasílání vlastních rozšíření.",export_to_phone:"Exportovat do telefonu pomocí QR kódu",export_to_phone_desc:"Tento QR kód obsahuje URL vaší peněženky s plným přístupem. Můžete jej naskenovat z telefonu a otevřít peněženku odtamtud.",wallets:"Peněženky",add_wallet:"Přidat novou peněženku",delete_wallet:"Smazat peněženku",delete_wallet_desc:"Celá peněženka bude smazána, prostředky budou NEOBNOVITELNÉ.",rename_wallet:"Přejmenovat peněženku",update_name:"Aktualizovat název",fiat_tracking:"Sledování fiatu",currency:"Měna",update_currency:"Aktualizovat měnu",press_to_claim:"Stiskněte pro nárokování bitcoinu",donate:"Darovat",view_github:"Zobrazit na GitHubu",voidwallet_active:"VoidWallet je aktivní! Platby zakázány",use_with_caution:"POUŽÍVEJTE S OBEZŘETNOSTÍ - {name} peněženka je stále v BETĚ",service_fee:"Servisný poplatek: {amount} % za transakci",service_fee_max:"Servisný poplatek: {amount} % za transakci (max {max} satoshi)",service_fee_tooltip:"Servisní poplatek účtovaný správcem LNbits serveru za odchozí transakci",toggle_darkmode:"Přepnout tmavý režim",payment_reactions:"Reakce na platby",view_swagger_docs:"Zobrazit LNbits Swagger API dokumentaci",api_docs:"API dokumentace",api_keys_api_docs:"Adresa uzlu, API klíče a API dokumentace",lnbits_version:"Verze LNbits",runs_on:"Běží na",credit_hint:"Stiskněte Enter pro připsání na účet",credit_label:"{denomination} k připsání",paste:"Vložit",paste_from_clipboard:"Vložit ze schránky",paste_request:"Vložit požadavek",create_invoice:"Vytvořit fakturu",camera_tooltip:"Použijte kameru pro skenování faktury/QR",export_csv:"Exportovat do CSV",chart_tooltip:"Zobrazit graf",pending:"Čeká na vyřízení",copy_invoice:"Kopírovat fakturu",withdraw_from:"Vybrat z",cancel:"Zrušit",scan:"Skenovat",read:"Číst",pay:"Platit",memo:"Poznámka",date:"Datum",processing_payment:"Zpracování platby...",not_enough_funds:"Nedostatek prostředků!",search_by_tag_memo_amount:"Hledat podle tagu, poznámky, částky",invoice_waiting:"Faktura čeká na platbu",payment_received:"Platba přijata",payment_sent:"Platba odeslána",receive:"přijmout",send:"odeslat",outgoing_payment_pending:"Odchozí platba čeká na vyřízení",drain_funds:"Vyčerpat prostředky",drain_funds_desc:"Toto je LNURL-withdraw QR kód pro vyčerpání všeho z této peněženky. Nesdílejte s nikým. Je kompatibilní s balanceCheck a balanceNotify, takže vaše peněženka může kontinuálně čerpat prostředky odsud po prvním výběru.",i_understand:"Rozumím",copy_wallet_url:"Kopírovat URL peněženky",disclaimer_dialog_title:"Důležité!",disclaimer_dialog:"Funkcionalita přihlášení bude vydána v budoucí aktualizaci, zatím si ujistěte, že jste si tuto stránku uložili do záložek pro budoucí přístup k vaší peněžence! Tato služba je v BETA verzi a nepřebíráme žádnou zodpovědnost za ztrátu přístupu k prostředkům.",no_transactions:"Zatím žádné transakce",manage:"Spravovat",extensions:"Rozšíření",no_extensions:"Nemáte nainstalováno žádné rozšíření :(",created:"Vytvořeno",search_extensions:"Hledat rozšíření",warning:"Varování",repository:"Repositář",confirm_continue:"Jste si jistí, že chcete pokračovat?",manage_extension_details:"Instalovat/odinstalovat rozšíření",install:"Instalovat",uninstall:"Odinstalovat",drop_db:"Odstranit data",enable:"Povolit",enable_extension_details:"Povolit rozšíření pro aktuálního uživatele",disable:"Zakázat",installed:"Nainstalováno",activated:"Aktivováno",deactivated:"Deaktivováno",release_notes:"Poznámky k vydání",activate_extension_details:"Zpřístupnit/zakázat rozšíření pro uživatele",featured:"Doporučené",all:"Vše",only_admins_can_install:"(Pouze administrátorské účty mohou instalovat rozšíření)",admin_only:"Pouze pro adminy",new_version:"Nová verze",extension_depends_on:"Závisí na:",extension_rating_soon:"Hodnocení brzy dostupné",extension_installed_version:"Nainstalovaná verze",extension_uninstall_warning:"Chystáte se odstranit rozšíření pro všechny uživatele.",uninstall_confirm:"Ano, odinstalovat",extension_db_drop_info:"Všechna data pro rozšíření budou trvale odstraněna. Tuto operaci nelze vrátit zpět!",extension_db_drop_warning:"Chystáte se odstranit všechna data pro rozšíření. Prosím, pokračujte zadáním názvu rozšíření:",extension_min_lnbits_version:"Toto vydání vyžaduje alespoň verzi LNbits",payment_hash:"Hash platby",fee:"Poplatek",amount:"Částka",tag:"Tag",unit:"Jednotka",description:"Popis",expiry:"Expirace",webhook:"Webhook",payment_proof:"Důkaz platby",update_available:"Dostupná aktualizace {version}!",latest_update:"Máte nejnovější verzi {version}.",notifications:"Notifikace",no_notifications:"Žádné notifikace",notifications_disabled:"Notifikace stavu LNbits jsou zakázány.",enable_notifications:"Povolit notifikace",enable_notifications_desc:"Pokud je povoleno, bude stahovat nejnovější aktualizace stavu LNbits, jako jsou bezpečnostní incidenty a aktualizace.",enable_killswitch:"Povolit Killswitch",enable_killswitch_desc:"Pokud je povoleno, automaticky změní zdroj financování na VoidWallet pokud LNbits odešle signál killswitch. Po aktualizaci budete muset povolit ručně.",killswitch_interval:"Interval Killswitch",killswitch_interval_desc:"Jak často by měl úkol na pozadí kontrolovat signál killswitch od LNbits ze zdroje stavu (v minutách).",enable_watchdog:"Povolit Watchdog",enable_watchdog_desc:"Pokud je povoleno, automaticky změní zdroj financování na VoidWallet pokud je váš zůstatek nižší než zůstatek LNbits. Po aktualizaci budete muset povolit ručně.",watchdog_interval:"Interval Watchdog",watchdog_interval_desc:"Jak často by měl úkol na pozadí kontrolovat signál killswitch v watchdog delta [node_balance - lnbits_balance] (v minutách).",watchdog_delta:"Delta Watchdog",watchdog_delta_desc:"Limit předtím, než killswitch změní zdroj financování na VoidWallet [lnbits_balance - node_balance > delta]",status:"Stav",notification_source:"Zdroj notifikací",notification_source_label:"URL zdroje (používejte pouze oficiální zdroj stavu LNbits a zdroje, kterým můžete věřit)",more:"více",less:"méně",releases:"Vydání",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Logy serveru",ip_blocker:"Blokování IP",security:"Bezpečnost",security_tools:"Nástroje bezpečnosti",block_access_hint:"Blokovat přístup podle IP",allow_access_hint:"Povolit přístup podle IP (přepíše blokované IP)",enter_ip:"Zadejte IP a stiskněte enter",rate_limiter:"Omezovač počtu požadavků",wallet_limiter:"Omezení peněženky",wallet_limit_max_withdraw_per_day:"Maximální denní limit pro výběr z peněženky v sats (0 pro deaktivaci)",wallet_max_ballance:"Maximální zůstatek v peněžence v sats (0 pro zakázání)",wallet_limit_secs_between_trans:"Minimální počet sekund mezi transakcemi na peněženku (0 pro vypnutí)",number_of_requests:"Počet požadavků",time_unit:"Časová jednotka",minute:"minuta",second:"sekunda",hour:"hodina",disable_server_log:"Zakázat log serveru",enable_server_log:"Povolit log serveru",coming_soon:"Funkce brzy dostupná",session_has_expired:"Vaše relace vypršela. Prosím, přihlašte se znovu.",instant_access_question:"Chcete okamžitý přístup?",login_with_user_id:"Přihlásit se s uživatelským ID",or:"nebo",create_new_wallet:"Vytvořit novou peněženku",login_to_account:"Přihlaste se ke svému účtu",create_account:"Vytvořit účet",account_settings:"Nastavení účtu",signin_with_google:"Přihlásit se přes Google",signin_with_github:"Přihlásit se přes GitHub",signin_with_keycloak:"Přihlásit se přes Keycloak",username_or_email:"Uživatelské jméno nebo Email",password:"Heslo",password_config:"Konfigurace hesla",password_repeat:"Opakujte heslo",change_password:"Změnit heslo",set_password:"Nastavit heslo",invalid_password:"Heslo musí mít alespoň 8 znaků",login:"Přihlášení",register:"Registrovat",username:"Uživatelské jméno",user_id:"ID uživatele",email:"Email",first_name:"Křestní jméno",last_name:"Příjmení",picture:"Obrázek",verify_email:"Ověřte e-mail s",account:"Účet",update_account:"Aktualizovat účet",invalid_username:"Neplatné uživatelské jméno",auth_provider:"Poskytovatel ověření",my_account:"Můj účet",back:"Zpět",logout:"Odhlásit se",look_and_feel:"Vzhled a chování",language:"Jazyk",color_scheme:"Barevné schéma",extension_cost:"Toto vydání vyžaduje minimální platbu {cost} satoshi.",extension_paid_sats:"Již jste zaplatili {paid_sats} sats.",release_details_error:"Nelze získat podrobnosti o vydání.",pay_from_wallet:"Platit z peněženky",show_qr:"Zobrazit QR",retry_install:"Zkusit znovu nainstalovat",new_payment:"Vytvořit novou platbu",hide_empty_wallets:"Skrýt prázdné peněženky"},window.localisation.sk={confirm:"Áno",server:"Server",theme:"Téma",funding:"Financovanie",users:"Používatelia",apps:"Aplikácie",channels:"Kanály",transactions:"Transakcie",dashboard:"Prehľad",node:"Uzol",export_users:"Exportovať používateľov",no_users:"Nenašli sa žiadni používatelia",total_capacity:"Celková kapacita",avg_channel_size:"Priemerná veľkosť kanálu",biggest_channel_size:"Najväčší kanál",smallest_channel_size:"Najmenší kanál",number_of_channels:"Počet kanálov",active_channels:"Aktívne kanály",connect_peer:"Pripojiť peer",connect:"Pripojiť",open_channel:"Otvoriť kanál",open:"Otvoriť",close_channel:"Zatvoriť kanál",close:"Zatvoriť",restart:"Reštartovať server",save:"Uložiť",save_tooltip:"Uložiť vaše zmeny",topup:"Doplniť",topup_wallet:"Doplniť peňaženku",topup_hint:"Použite ID peňaženky na doplnenie ľubovoľnej peňaženky",restart_tooltip:"Pre prejavenie zmien reštartujte server",add_funds_tooltip:"Pridať prostriedky do peňaženky.",reset_defaults:"Obnoviť predvolené",reset_defaults_tooltip:"Odstrániť všetky nastavenia a obnoviť predvolené.",download_backup:"Stiahnuť zálohu databázy",name_your_wallet:"Pomenujte vašu {name} peňaženku",wallet_topup_ok:"Úspešne vytvorené virtuálne prostriedky ({amount} sats). Platby závisia od skutočných prostriedkov v zdroji financovania.",paste_invoice_label:"Vložte faktúru, platobnú požiadavku alebo lnurl kód *",lnbits_description:"Ľahko nastaviteľný a ľahkotonážny, LNbits môže bežať na akomkoľvek zdroji financovania Lightning Network a dokonca LNbits samotný! LNbits môžete používať pre seba, alebo ľahko ponúknuť správcovské riešenie pre iných. Každá peňaženka má svoje vlastné API kľúče a nie je limit na počet peňaženiek, ktoré môžete vytvoriť. Schopnosť rozdeľovať finančné prostriedky robí z LNbits užitočný nástroj pre správu peňazí a ako vývojový nástroj. Rozšírenia pridávajú extra funkčnosť do LNbits, takže môžete experimentovať s radou najnovších technológií na lightning sieti. Vývoj rozšírení sme urobili čo najjednoduchší a ako voľný a open-source projekt, podporujeme ľudí vývoj a odovzdávanie vlastných rozšírení.",export_to_phone:"Exportovať do telefónu s QR kódom",export_to_phone_desc:"Tento QR kód obsahuje URL vašej peňaženky s plným prístupom. Môžete ho naskenovať z vášho telefónu a otvoriť vašu peňaženku odtiaľ.",wallets:"Peňaženky",add_wallet:"Pridať novú peňaženku",delete_wallet:"Zmazať peňaženku",delete_wallet_desc:"Celá peňaženka bude zmazaná, prostriedky budú NEOBNOVITEĽNÉ.",rename_wallet:"Premenovať peňaženku",update_name:"Aktualizovať meno",fiat_tracking:"Sledovanie fiat",currency:"Mena",update_currency:"Aktualizovať menu",press_to_claim:"Stlačte pre nárok na bitcoin",donate:"Prispieť",view_github:"Zobraziť na GitHube",voidwallet_active:"VoidWallet je aktívny! Platby zakázané",use_with_caution:"POUŽÍVAJTE OPATRNE - {name} peňaženka je stále v BETE",service_fee:"Servisný poplatok: {amount} % za transakciu",service_fee_max:"Servisný poplatok: {amount} % za transakciu (max {max} satoshi)",service_fee_tooltip:"Servisný poplatok účtovaný správcom LNbits servera za odchádzajúcu transakciu",toggle_darkmode:"Prepnúť Tmavý režim",payment_reactions:"Reakcie na platbu",view_swagger_docs:"Zobraziť LNbits Swagger API dokumentáciu",api_docs:"API dokumentácia",api_keys_api_docs:"Adresa uzla, API kľúče a API dokumentácia",lnbits_version:"Verzia LNbits",runs_on:"Beží na",credit_hint:"Stlačte Enter pre pripísanie na účet",credit_label:"{denomination} na pripísanie",paste:"Vložiť",paste_from_clipboard:"Vložiť zo schránky",paste_request:"Vložiť požiadavku",create_invoice:"Vytvoriť faktúru",camera_tooltip:"Použite kameru na naskenovanie faktúry/QR",export_csv:"Exportovať do CSV",chart_tooltip:"Zobraziť graf",pending:"Čakajúce",copy_invoice:"Kopírovať faktúru",withdraw_from:"Vybrať z",cancel:"Zrušiť",scan:"Skenovať",read:"Čítať",pay:"Platiť",memo:"Poznámka",date:"Dátum",processing_payment:"Spracovávanie platby...",not_enough_funds:"Nedostatok prostriedkov!",search_by_tag_memo_amount:"Vyhľadať podľa značky, poznámky, sumy",invoice_waiting:"Faktúra čakajúca na zaplatenie",payment_received:"Platba prijatá",payment_sent:"Platba odoslaná",receive:"prijímať",send:"posielať",outgoing_payment_pending:"Odchádzajúca platba čaká",drain_funds:"Vyprázdniť prostriedky",drain_funds_desc:"Toto je LNURL-withdraw QR kód pre vyprázdnienie všetkého z tejto peňaženky. S nikým ho nezdieľajte. Je kompatibilný s balanceCheck a balanceNotify, takže vaša peňaženka môže naďalej kontinuálne vyťahovať prostriedky odtiaľto po prvom výbere.",i_understand:"Rozumiem",copy_wallet_url:"Kopírovať URL peňaženky",disclaimer_dialog_title:"Dôležité!",disclaimer_dialog:"Funkcionalita prihlásenia bude vydaná v budúcej aktualizácii, zatiaľ si uistite, že ste si túto stránku pridali medzi záložky pre budúci prístup k vašej peňaženke! Táto služba je v BETA verzii a nenesieme zodpovednosť za stratu prístupu k prostriedkom.",no_transactions:"Zatiaľ žiadne transakcie",manage:"Spravovať",extensions:"Rozšírenia",no_extensions:"Nemáte nainštalované žiadne rozšírenia :(",created:"Vytvorené",search_extensions:"Hľadať rozšírenia",warning:"Upozornenie",repository:"Repozitár",confirm_continue:"Ste si istí, že chcete pokračovať?",manage_extension_details:"Inštalovať/odinštalovať rozšírenie",install:"Inštalovať",uninstall:"Odinštalovať",drop_db:"Odstrániť údaje",enable:"Povoliť",enable_extension_details:"Povoliť rozšírenie pre aktuálneho používateľa",disable:"Zakázať",installed:"Nainštalované",activated:"Aktivované",deactivated:"Deaktivované",release_notes:"Poznámky k vydaniu",activate_extension_details:"Sprístupniť/neprístupniť rozšírenie pre používateľov",featured:"Odporúčané",all:"Všetky",only_admins_can_install:"(Iba administrátorské účty môžu inštalovať rozšírenia)",admin_only:"Iba pre administrátorov",new_version:"Nová verzia",extension_depends_on:"Závisí na:",extension_rating_soon:"Hodnotenia budú čoskoro dostupné",extension_installed_version:"Nainštalovaná verzia",extension_uninstall_warning:"Chystáte sa odstrániť rozšírenie pre všetkých používateľov.",uninstall_confirm:"Áno, Odinštalovať",extension_db_drop_info:"Všetky údaje pre rozšírenie budú trvalo vymazané. Túto operáciu nie je možné vrátiť!",extension_db_drop_warning:"Chystáte sa odstrániť všetky údaje pre rozšírenie. Pre pokračovanie prosím napíšte názov rozšírenia:",extension_min_lnbits_version:"Toto vydanie vyžaduje aspoň verziu LNbits",payment_hash:"Hash platby",fee:"Poplatok",amount:"Suma",tag:"Tag",unit:"Jednotka",description:"Popis",expiry:"Expirácia",webhook:"Webhook",payment_proof:"Dôkaz platby",update_available:"Dostupná aktualizácia {version}!",latest_update:"Máte najnovšiu verziu {version}.",notifications:"Notifikácie",no_notifications:"Žiadne notifikácie",notifications_disabled:"Notifikácie stavu LNbits sú zakázané.",enable_notifications:"Povoliť Notifikácie",enable_notifications_desc:"Ak povolené, budú sa načítavať najnovšie aktualizácie stavu LNbits, ako sú bezpečnostné incidenty a aktualizácie.",enable_killswitch:"Povoliť Killswitch",enable_killswitch_desc:"Ak povolené, vaš zdroj financovania sa automaticky zmení na VoidWallet, ak LNbits vysielajú signál killswitch. Po aktualizácii bude treba povoliť manuálne.",killswitch_interval:"Interval Killswitch",killswitch_interval_desc:"Ako často by malo pozadie kontrolovať signál killswitch od LNbits zo zdroja stavu (v minútach).",enable_watchdog:"Povoliť Watchdog",enable_watchdog_desc:"Ak povolené, vaš zdroj financovania sa automaticky zmení na VoidWallet, ak je váš zostatok nižší ako zostatok LNbits. Po aktualizácii bude treba povoliť manuálne.",watchdog_interval:"Interval Watchdog",watchdog_interval_desc:"Ako často by malo pozadie kontrolovať signál killswitch v watchdog delta [node_balance - lnbits_balance] (v minútach).",watchdog_delta:"Delta Watchdog",watchdog_delta_desc:"Limit pred zmenou zdroja financovania na VoidWallet [lnbits_balance - node_balance > delta]",status:"Stav",notification_source:"Zdroj notifikácií",notification_source_label:"URL zdroja (používajte len oficiálny LNbits zdroj stavu a zdroje, ktorým môžete dôverovať)",more:"viac",less:"menej",releases:"Vydania",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Logy servera",ip_blocker:"Blokovanie IP",security:"Bezpečnosť",security_tools:"Nástroje bezpečnosti",block_access_hint:"Blokovať prístup podľa IP",allow_access_hint:"Povoliť prístup podľa IP (prebije blokované IP)",enter_ip:"Zadajte IP a stlačte enter",rate_limiter:"Obmedzovač počtu požiadaviek",wallet_limiter:"Obmedzovač peňaženky",wallet_limit_max_withdraw_per_day:"Maximálny denný výber z peňaženky v satošiach (0 pre zrušenie)",wallet_max_ballance:"Maximálny zostatok v peňaženke v satošiach (0 pre deaktiváciu)",wallet_limit_secs_between_trans:"Minimálny počet sekúnd medzi transakciami na peňaženku (0 na deaktiváciu)",number_of_requests:"Počet požiadaviek",time_unit:"Časová jednotka",minute:"minúta",second:"sekunda",hour:"hodina",disable_server_log:"Zakázať Log servera",enable_server_log:"Povoliť Log servera",coming_soon:"Funkcia bude čoskoro dostupná",session_has_expired:"Vaša relácia vypršala. Prosím, prihláste sa znova.",instant_access_question:"Chcete okamžitý prístup?",login_with_user_id:"Prihlásiť sa s používateľským ID",or:"alebo",create_new_wallet:"Vytvoriť novú peňaženku",login_to_account:"Prihláste sa do vášho účtu",create_account:"Vytvoriť účet",account_settings:"Nastavenia účtu",signin_with_google:"Prihlásiť sa pomocou Google",signin_with_github:"Prihlásiť sa pomocou GitHub",signin_with_keycloak:"Prihlásiť sa pomocou Keycloak",username_or_email:"Používateľské meno alebo email",password:"Heslo",password_config:"Konfigurácia hesla",password_repeat:"Opakovanie hesla",change_password:"Zmeniť heslo",set_password:"Nastaviť heslo",invalid_password:"Heslo musí mať aspoň 8 znakov",login:"Prihlásenie",register:"Registrovať",username:"Používateľské meno",user_id:"ID používateľa",email:"Email",first_name:"Meno",last_name:"Priezvisko",picture:"Obrázok",verify_email:"Overiť e-mail s",account:"Účet",update_account:"Aktualizovať účet",invalid_username:"Neplatné užívateľské meno",auth_provider:"Poskytovateľ autentifikácie",my_account:"Môj účet",back:"Späť",logout:"Odhlásiť sa",look_and_feel:"Vzhľad a dojem",language:"Jazyk",color_scheme:"Farebná schéma",extension_cost:"Táto verzia vyžaduje minimálnu platbu {cost} satoshi.",extension_paid_sats:"Už ste zaplatili {paid_sats} sats.",release_details_error:"Nepodarilo sa získať podrobnosti o vydaní.",pay_from_wallet:"Zaplatiť z peňaženky",show_qr:"Zobraziť QR",retry_install:"Skúste inštaláciu znova",new_payment:"Vytvoriť novú platbu",hide_empty_wallets:"Skryť prázdne peňaženky"},window.localisation.kr={confirm:"확인",server:"서버",theme:"테마",funding:"자금",users:"사용자",apps:"앱",channels:"채널",transactions:"거래 내역",dashboard:"현황판",node:"노드",export_users:"사용자 내보내기",no_users:"사용자가 없습니다",total_capacity:"총 용량",avg_channel_size:"평균 채널 용량",biggest_channel_size:"가장 큰 채널 용량",smallest_channel_size:"가장 작은 채널 용량",number_of_channels:"채널 수",active_channels:"활성화된 채널",connect_peer:"피어 연결하기",connect:"연결하기",open_channel:"채널 개설하기",open:"개설",close_channel:"채널 폐쇄하기",close:"폐쇄",restart:"서버 재시작",save:"저장",save_tooltip:"변경 사항 저장",topup:"자금 추가",topup_wallet:"지갑에 자금 추가",topup_hint:"자금을 추가할 지갑의 ID를 넣어주세요",restart_tooltip:"변경 사항을 적용하려면 서버를 재시작해야 합니다.",add_funds_tooltip:"지갑에 자금을 추가합니다.",reset_defaults:"기본 설정으로 돌아가기",reset_defaults_tooltip:"설정했던 내용들을 모두 지우고, 기본 설정으로 돌아갑니다.",download_backup:"데이터베이스 백업 다운로드",name_your_wallet:"사용할 {name}지갑의 이름을 정하세요",wallet_topup_ok:"성공적으로 가상 자금을 생성했습니다 ({amount} sats). 지급은 자금 원천의 실제 자금에 따라 달라집니다.",paste_invoice_label:"인보이스, 결제 요청, 혹은 lnurl 코드를 붙여넣으세요 *",lnbits_description:"설정이 쉽고 가벼운 LNbits는 어떤 라이트닝 네트워크의 예산 자원 위에서든 돌아갈 수 있습니다, 그리고 다른 LNbits 지갑들입니다. 스스로 사용하기 위해, 또는 다른 사람들에게 수탁형 솔루션을 제공하기 위해 LNbits를 운영할 수 있습니다. 각 지갑들은 자신만의 API key를 가지며, 생성 가능한 지갑의 수에는 제한이 없습니다. 자금을 분할할 수 있는 기능으로 인해, LNbits는 자금 운영 도구로써뿐만 아니라 개발 도구로써도 유용합니다. 확장 기능들은 LNbits에 여러분들이 라이트닝 네트워크의 다양한 최신 기술들을 수행해볼 수 있게 하는 추가 기능을 제공합니다. LNbits 개발진들은 확장 기능들의 개발 또한 가능한 쉽게 만들었으며, 무료 오픈 소스 프로젝트답게 사람들이 자신만의 확장 기능들을 개발하고 제출하기를 응원합니다.",export_to_phone:"QR 코드를 이용해 모바일 기기로 내보내기",export_to_phone_desc:"이 QR 코드는 선택된 지갑의 최대 접근 권한을 가진 전체 URL을 담고 있습니다. 스캔 후, 모바일 기기에서 지갑을 열 수 있습니다.",wallets:"지갑",add_wallet:"새로운 지갑을 추가합니다",delete_wallet:"지갑을 삭제합니다",delete_wallet_desc:"이 지갑은 삭제될 것이며, 삭제 시 지갑 내 자금은 복구가 불가능합니다.",rename_wallet:"지갑 이름 변경",update_name:"이름 변경하기",fiat_tracking:"법정통화 가격 표시",currency:"통화",update_currency:"통화 수정하기",press_to_claim:"비트코인을 수령하려면 눌러주세요",donate:"기부",view_github:"GitHub 페이지 보기",voidwallet_active:"VoidWallet이 활성화되었습니다! 결제가 불가능합니다.",use_with_caution:"주의하세요 - {name} 지갑은 아직 BETA 단계입니다.",service_fee:"서비스 수수료: 거래액의 {amount} %",service_fee_max:"서비스 수수료: 거래액의 {amount} % (최대 {max} sats)",service_fee_tooltip:"지불 결제 시마다 LNbits 서버 관리자에게 납부되는 서비스 수수료",toggle_darkmode:"다크 모드 전환",payment_reactions:"결제 반응",view_swagger_docs:"LNbits Swagger API 문서를 봅니다",api_docs:"API 문서",api_keys_api_docs:"노드 URL, API 키와 API 문서",lnbits_version:"LNbits 버전",runs_on:"Runs on",credit_hint:"계정에 자금을 넣으려면 Enter를 눌러주세요",credit_label:"{denomination} 단위로 충전하기",paste:"붙여넣기",paste_from_clipboard:"클립보드에서 붙여넣기",paste_request:"지불 요청 붙여넣기",create_invoice:"인보이스 생성하기",camera_tooltip:"카메라를 이용해서 인보이스/QR을 스캔하세요",export_csv:"CSV 형태로 내보내기",chart_tooltip:"그래프로 보여주기",pending:"대기 중",copy_invoice:"인보이스 복사하기",withdraw_from:"출금",cancel:"취소",scan:"스캔",read:"분석하기",pay:"지불하기",memo:"Memo",date:"일시",processing_payment:"결제 처리 중...",not_enough_funds:"자금이 부족합니다!",search_by_tag_memo_amount:"태그, memo, 수량으로 검색하기",invoice_waiting:"결제를 기다리는 인보이스",payment_received:"받은 결제액",payment_sent:"보낸 결제액",receive:"받기",send:"보내기",outgoing_payment_pending:"지불 대기 중",drain_funds:"자금 비우기",drain_funds_desc:"이는 선택된 지갑으로부터 모든 자금을 인출하는 LNURL-withdraw QR 코드입니다. 그 누구와도 공유하지 마세요. balanceCheck 및 balanceNotify 기능과 호환되며, 당신의 지갑은 첫 출금 이후로도 계속 자금을 끌어당기고 있을 수 있습니다.",i_understand:"이해하였습니다",copy_wallet_url:"지갑 URL 복사하기",disclaimer_dialog_title:"중요!",disclaimer_dialog:"로그인 기능은 향후 업데이트를 통해 지원될 계획이지만, 현재로써는 이 페이지에 향후 다시 접속하기 위해 북마크 설정하는 것을 잊지 마세요! 이 서비스는 아직 BETA 과정에 있고, LNbits 개발자들은 자금 손실에 대해 전혀 책임을 지지 않습니다.",no_transactions:"아직 아무런 거래도 이루어지지 않았습니다",manage:"관리",extensions:"확장 기능",no_extensions:"아직 설치된 확장 기능들이 없네요 :(",created:"생성됨",search_extensions:"확장 기능 검색하기",warning:"주의",repository:"저장소",confirm_continue:"정말로 계속할까요?",manage_extension_details:"확장 기능 설치/삭제하기",install:"설치",uninstall:"삭제",drop_db:"데이터 삭제",enable:"활성화",enable_extension_details:"현재 사용자 계정에 해당 확장 기능을 활성화합니다",disable:"비활성화",installed:"설치됨",activated:"작동됨",deactivated:"작동 중지",release_notes:"배포 노트",activate_extension_details:"사용자들의 확장 기능 사용 가능 여부를 결정합니다",featured:"추천",all:"전체",only_admins_can_install:"(관리자 계정만이 확장 기능을 설치할 수 있습니다)",admin_only:"관리자 전용",new_version:"새로운 버전",extension_depends_on:"의존성 존재:",extension_rating_soon:"평점 기능도 곧 구현됩니다",extension_installed_version:"설치된 버전",extension_uninstall_warning:"모든 사용자들로부터 이 확장 기능을 제거한다는 점에 유의하세요.",uninstall_confirm:"네, 삭제합니다",extension_db_drop_info:"해당 확장 기능의 모든 데이터가 영구적으로 삭제됩니다. 작업 수행 후에는 되돌릴 수 없습니다!",extension_db_drop_warning:"해당 확장 기능의 모든 데이터가 영구적으로 삭제될 겁니다. 계속하려면 확장 기능의 이름을 입력해주세요:",extension_min_lnbits_version:"이 배포 버전은 더 높은 버전의 lnbits가 설치되어 있어야 합니다.",payment_hash:"결제 해쉬값",fee:"수수료",amount:"액수",tag:"태그",unit:"단위",description:"상세",expiry:"만료",webhook:"Webhook",payment_proof:"Payment 증거",update_available:"{version}으로 업데이트가 가능합니다.",latest_update:"이미 {version} 버전으로 업데이트되었습니다.",notifications:"알림",no_notifications:"알림 없음",notifications_disabled:"LNbits 상태 알림이 비활성화되었습니다.",enable_notifications:"알림 활성화",enable_notifications_desc:"활성화 시, 가장 최신의 보안 사고나 소프트웨어 업데이트 등의 LNbits 상황 업데이트를 불러옵니다.",enable_killswitch:"비상 정지 활성화",enable_killswitch_desc:"활성화 시, LNbits 메인 서버에서 비상 정지 신호를 보내면 자동으로 자금의 원천을 VoidWallet으로 변경합니다. 업데이트 이후 수동으로 활성화해 주어야 합니다.",killswitch_interval:"비상 정지 시간 간격",killswitch_interval_desc:"LNbits 메인 서버에서 나오는 비상 정지 신호를 백그라운드 작업으로 얼마나 자주 확인할 것인지를 결정합니다. (분 단위)",enable_watchdog:"와치독 활성화",enable_watchdog_desc:"활성화 시, LNbits 잔금보다 당신의 잔금이 지정한 수준보다 더 낮아질 경우 자동으로 자금의 원천을 VoidWallet으로 변경합니다. 업데이트 이후 수동으로 활성화해 주어야 합니다.",watchdog_interval:"와치독 시간 간격",watchdog_interval_desc:"와치독 델타 값을 기반으로 하여 당신의 LNbits 서버에서 나오는 비상 정지 신호를 백그라운드 작업으로 얼마나 자주 확인할 것인지를 결정합니다. (분 단위)",watchdog_delta:"와치독 델타",watchdog_delta_desc:"당신의 자금 원천을 VoidWallet으로 변경하기까지의 기준 값 [LNbits 잔액 - 노드 잔액 > 델타 값]",status:"상황",notification_source:"알림 메세지 출처",notification_source_label:"알림 메세지를 가져올 URL (공식 LNbits 상황판 출처나, 당신이 신뢰할 수 있는 출처만을 사용하세요)",more:"더 알아보기",less:"적게",releases:"배포 버전들",killswitch:"비상 정지",watchdog:"와치독",server_logs:"서버 로그",ip_blocker:"IP 기반 차단기",security:"보안",security_tools:"보안 도구들",block_access_hint:"IP 기준으로 접속 차단하기",allow_access_hint:"IP 기준으로 접속 허용하기 (차단한 IP들을 무시합니다)",enter_ip:"IP 주소를 입력하고 Enter를 눌러주세요",rate_limiter:"횟수로 제한하기",wallet_limiter:"지갑 제한기",wallet_limit_max_withdraw_per_day:"일일 최대 지갑 출금액(sats) (0은 비활성화)",wallet_max_ballance:"지갑 최대 잔액(sats) (0은 비활성화)",wallet_limit_secs_between_trans:"지갑 당 거래 사이 최소 초 (0은 비활성화)",number_of_requests:"요청 횟수",time_unit:"시간 단위",minute:"분",second:"초",hour:"시간",disable_server_log:"서버 로깅 중단하기",enable_server_log:"서버 로깅 활성화하기",coming_soon:"곧 구현될 기능들입니다",session_has_expired:"세션 유효 기간이 만료되었습니다. 다시 로그인해 주세요.",instant_access_question:"즉시 액세스하시겠습니까?",login_with_user_id:"사용자 ID로 로그인",or:"또는",create_new_wallet:"새 지갑 만들기",login_to_account:"계정에 로그인하세요.",create_account:"계정 생성",account_settings:"계정 설정",signin_with_google:"Google으로 로그인",signin_with_github:"GitHub으로 로그인",signin_with_keycloak:"Keycloak으로 로그인",username_or_email:"사용자 이름 또는 이메일",password:"비밀번호",password_config:"비밀번호 설정",password_repeat:"비밀번호 재입력",change_password:"비밀번호 변경",set_password:"비밀번호 설정",invalid_password:"비밀번호는 최소 8자 이상이어야 합니다",login:"로그인",register:"등록",username:"사용자 이름",user_id:"사용자 ID",email:"이메일",first_name:"성명",last_name:"성",picture:"사진",verify_email:"이메일을 인증하려면",account:"계정",update_account:"계정 업데이트",invalid_username:"잘못된 사용자 이름",auth_provider:"인증 제공자",my_account:"내 계정",back:"뒤로",logout:"로그아웃",look_and_feel:"외관과 느낌",language:"언어",color_scheme:"색상 구성",extension_cost:"이 버전은 최소 {cost} sats의 지불이 필요합니다.",extension_paid_sats:"당신은 이미 {paid_sats} sats를 지불했습니다.",release_details_error:"릴리스 세부 정보를 가져올 수 없습니다.",pay_from_wallet:"지갑에서 결제하다",show_qr:"QR 보기",retry_install:"다시 설치하세요",new_payment:"새로운 결제하기",hide_empty_wallets:"빈 지갑 숨기기"},window.localisation.fi={confirm:"Kyllä",server:"Palvelin",theme:"Teema",funding:"Rahoitus",users:"Käyttäjät",apps:"Sovellukset",channels:"Kanavat",transactions:"Tapahtumat",dashboard:"Ohjauspaneeli",node:"Solmu",export_users:"Vie käyttäjät",no_users:"Käyttäjiä ei löytynyt",total_capacity:"Kokonaiskapasiteetti",avg_channel_size:"Keskimääräisen kanavan kapasiteetti",biggest_channel_size:"Suurimman kanavan kapasiteetti",smallest_channel_size:"Pienimmän kanavan kapasiteetti",number_of_channels:"Kanavien lukumäärä",active_channels:"Aktiivisia kanavia",connect_peer:"Yhdistä naapuriin",connect:"Yhdistä",open_channel:"Avaa kanava",open:"Avaa",close_channel:"Sulje kanava",close:"Sulje",restart:"Palvelimen uudelleen käynnistys",save:"Tallenna",save_tooltip:"Tallenna muutokset",topup:"Topup",topup_wallet:"Lisää varoja lompakkoon",topup_hint:"Lisää varoja lompakkoon sen ID:n perusteella",restart_tooltip:"Uudelleenkäynnistä palvelu muutosten käyttöönottamiseksi",add_funds_tooltip:"Lisää varoja lompakkoon",reset_defaults:"Peruuta muutokset",reset_defaults_tooltip:"Poista kaikki asetusten muutokset ja palauta järjestelmän oletusasetukset.",download_backup:"Lataa tietokannan varmuuskopio",name_your_wallet:"Anna {name}-lompakollesi nimi",wallet_topup_ok:"Virtuaalisten varojen luominen onnistui ({amount} sats). Maksut riippuvat rahoituslähteen todellisista varoista.",paste_invoice_label:"Liitä lasku, maksupyyntö, lnurl-koodi tai Lightning Address *",lnbits_description:"Kevyt ja helppokäyttöinen LNbits voi käyttää rahoituslähteinään erilaisia palveluita, ja jopa LNbits itseään! Voit käyttää sitä itsenäisesti ja helposti tarjota erilaisia Lightning-palveluita. Pystyt luomaan sillä salamaverkkolompakoita eikä niiden määrää ole rajoitettu. Jokaiselle lompakolle saat yksilölliset API-avaimet. Varojen osittaminen tekee siitä erittäin kätevän varojen hallinnassa sekä myös ohjelmistokehityksen työkalun. Laajennukset lisäävät LNbits:in toiminnallisuuksia. Näinpä voit helposti testailla useita erilaisia ja viimeisimpiä salamaverkon teknologioita. Laajennuksien kehittämisen olemme pyrkineet tekemään mahdollisimman helpoksi pitämällä LNbits:in ilmaisena OpenSource-projektina. Kannustamme kaikkia kehittämään ja jakelemaan omia laajennuksia!",export_to_phone:"Käytä puhelimessa lukemalla QR-koodi",export_to_phone_desc:"Tämä QR-koodi sisältää URL-osoitteen, jolla saa lompakkoosi täydet valtuudet. Voi lukea sen puhelimellasi ja avata sillä lompakkosi. Voit myös lisätä lompakkosi selaimella käytettäväksi PWA-sovellukseksi puhelimen aloitusruudulle. ",wallets:"Lompakot",add_wallet:"Lisää lompakko",delete_wallet:"Poista lompakko",delete_wallet_desc:"Lompakko poistetaan pysyvästi. Siirrä lompakosta varat ennalta muualle, sillä tämä toiminto on PERUUTTAMATON!",rename_wallet:"Nimeä lompakko uudelleen",update_name:"Tallenna",fiat_tracking:"Käytettävä valuutta",currency:"Valuutta",update_currency:"Tallenna",press_to_claim:"Lunasta varat painamalla tästä",donate:"Lahjoita",view_github:"Näytä GitHub:ssa",voidwallet_active:"Maksutapahtumat ovat poissa käytöstä, koska VoidWallet on aktiivinen!",use_with_caution:"KÄYTÄ VAROEN - BETA-ohjelmisto on käytössä palvelussa: {name}",service_fee:"Palvelumaksu: {amount} % tapahtumasta",service_fee_max:"Palvelumaksu: {amount} % tapahtumasta (enintään {max} sat)",service_fee_tooltip:"LNbits palvelimen ylläpitäjä veloittaa lähtevästä maksusta palvelumaksun.",toggle_darkmode:"Tumma näkymä",payment_reactions:"Maksureaktiot",view_swagger_docs:"Näytä LNbits Swagger API-dokumentit",api_docs:"API-dokumentaatio",api_keys_api_docs:"Solmun URL, API-avaimet ja -dokumentaatio",lnbits_version:"LNbits versio",runs_on:"Mukana menossa",credit_hint:"Hyväksy painamalla Enter",credit_label:"Lisää tilille varoja {denomination}",paste:"Liitä",paste_from_clipboard:"Liitä leikepöydältä",paste_request:"Liitä pyyntö",create_invoice:"Laskuta",camera_tooltip:"Kuvaa lasku tai QR-koodi",export_csv:"Vie CSV-tiedostoon",chart_tooltip:"Näytä kaaviokuva",pending:"Odottaa",copy_invoice:"Kopioi lasku",withdraw_from:"Nosta kohteesta",cancel:"Peruuta",scan:"Scannaa",read:"Lue",pay:"Maksa",memo:"Kuvaus",date:"Päiväys",processing_payment:"Maksua käsitellään...",not_enough_funds:"Varat eivät riitä!",search_by_tag_memo_amount:"Etsi tunnisteella, muistiolla tai määrällä",invoice_waiting:"Lasku osottaa maksamista",payment_received:"Maksu vastaanotettu",payment_sent:"Maksu lähetetty",receive:"vastaanota",send:"lähetä",outgoing_payment_pending:"Lähtevä maksu odottaa",drain_funds:"Tyhjennä varat",drain_funds_desc:"Tämä LNURL-withdraw -tyyppinen QR-koodi on tarkoitettu kaikkien varojen imurointiin lompakosta. ÄLÄ JAA SITÄ KENELLEKÄÄN! Se on balanceCheck- ja balanceNotify-toimintojen kanssa yhteensopiva, joten sitä voi käyttää lompakon tyhjentämiseen ensimmäisen käytön jälleen jatkuvasti.",i_understand:"Vakuutan ymmärtäväni",copy_wallet_url:"Kopioi lompakon URL",disclaimer_dialog_title:"Tärkeää!",disclaimer_dialog:"Muistathan tallettaa kirjautumistietosi turvallisesta ja helposti saataville, jotta pääset jatkossakin kirjautumaan lompakkoosi! Tutustu myös Tilin asetukset -sivuun. Tämä palvelu on kokeiluvaiheessa (eli BETA), ja niinpä kukaan ei ota mitään vastuuta varojen säilymisestä tai niiden käytettävyyden takaamisesta.",no_transactions:"Lompakossa ei ole yhtään tapahtumaa",manage:"Hallinnointi",extensions:"Laajennukset",no_extensions:"Laajennuksia ei ole asennettu :(",created:"Luotu",search_extensions:"Etsi laajennuksia",warning:"Varoitus",repository:"Laajennuksien lähde",confirm_continue:"Haluatko varmasti jatkaa?",manage_extension_details:"Asenna/Poista laajennus",install:"Asenna",uninstall:"Poista",drop_db:"Poista tiedot",enable:"Ota käyttöön",enable_extension_details:"Ota laajennus käyttöön tälle käyttäjälle",disable:"Poista käytöstä",installed:"Asennettu",activated:"Käytössä",deactivated:"Poissa käytöstä",release_notes:"Julkaisutiedot",activate_extension_details:"Aseta/Poista laajennus käyttäjien saatavilta",featured:"Esittelyssä",all:"Kaikki",only_admins_can_install:"(Vain pääkäyttäjät voivat asentaa laajennuksia)",admin_only:"Pääkäyttäjille",new_version:"Uusi versio",extension_depends_on:"Edellyttää:",extension_rating_soon:"Arvostelut on tulossa pian",extension_installed_version:"Nykyinen versio",extension_uninstall_warning:"Olet poistamassa laajennuksen kaikilta käyttäjiltä.",uninstall_confirm:"Kyllä, poista asennus",extension_db_drop_info:"Kaikki laajennuksen tallettama tieto poistetaan pysyvästi. Poistoa ei voi jälkikäteen peruuttaa!",extension_db_drop_warning:"Olet tuhoamassa laajennuksen tallettamat tiedot. Vahvista poisto kirjoittamalla viivalle seuraavassa näkyvä laajennuksen nimi:",extension_min_lnbits_version:"Tämä julkaisu vaatii vähintään LNbits-version",payment_hash:"Maksun tiiviste",fee:"Kulu",amount:"Määrä",tag:"Tunniste",unit:"Yksikkö",description:"Kuvaus",expiry:"Vanheneminen",webhook:"Webhook",payment_proof:"Maksun varmenne",update_available:"Saatavilla on päivitys versioon {version}!",latest_update:"Käytössä oleva versio {version}, on viimeisin saatavilla oleva.",notifications:"Tiedotteet",no_notifications:"Ei tiedotteita",notifications_disabled:"LNbits-tilatiedotteet on poistettu käytöstä.",enable_notifications:"Ota tiedotteet käyttöön",enable_notifications_desc:"Tämän ollessa valittuna, noudetaan LNbits-tilatiedotteet. Niitä ovat esimerkiksi turvallisuuteen liittyvät tapahtumatiedotteet ja tiedot tämän ohjelmiston päivityksistä.",enable_killswitch:"Ota Killswitch käyttöön",enable_killswitch_desc:"Jos LNbits antaa killswitch-komennon, niin rahoituslähteeksi valitaan automaattisesti heti VoidWallet. Päivityksen jälkeen tämä asetus pitää tarkastaa uudelleen.",killswitch_interval:"Killswitch-aikaväli",killswitch_interval_desc:"Tällä määritetään kuinka usein taustatoiminto tarkistaa killswitch-signaalin tilatiedotteiden lähteestä. Hakujen väli ilmoitetaan minuutteina.",enable_watchdog:"Ota Watchdog käyttöön",enable_watchdog_desc:"Tämän ollessa käytössä, ja solmun varojen laskiessa alle LNbits-varojen määrän, otetaan automaattisesti käyttöön VoidWallet. Päivityksen jälkeen tämä asetus pitää tarkastaa uudelleen.",watchdog_interval:"Watchdog-aikaväli",watchdog_interval_desc:"Tällä määritetään kuinka usein taustatoiminto tarkistaa varojen Delta-muutokset [node_balance - lnbits_balance] killswitch-signaalille. Hakujen väli ilmoitetaan minuutteina.",watchdog_delta:"Watchdog Delta",watchdog_delta_desc:"Saldomuutoksen raja-arvo jolloin killswitch-muuttaa rahoituslähteeksi VoidWallet:in [lnbits_balance - node_balance > delta]",status:"Tilanne",notification_source:"Tiedotteiden lähde",notification_source_label:"Lähde-URL (käytä ainoastaan LNbits:iä tai muuta luotettavaa lähdettä)",more:"enemmän",less:"vähemmän",releases:"Julkaisut",killswitch:"Killswitch",watchdog:"Watchdog",server_logs:"Palvelimen lokit",ip_blocker:"IP-suodatin",security:"Turvallisuus",security_tools:"Turvallisuus työkalut",block_access_hint:"Estä pääsy IP-osoitteen perusteella",allow_access_hint:"Salli pääsy IP-osoitteen perusteella (ohittaa estot)",enter_ip:"Anna IP ja paina +",rate_limiter:"Toiston rajoitin",wallet_limiter:"Lompakon Rajoitin",wallet_limit_max_withdraw_per_day:"Maksimi päivittäinen lompakon nosto sateissa (0 poistaa käytöstä)",wallet_max_ballance:"Lompakon maksimisaldo satosheina (0 poistaa käytöstä)",wallet_limit_secs_between_trans:"Min sekuntia transaktioiden välillä lompakkoa kohden (0 poistaa käytöstä)",number_of_requests:"Pyyntöjen lukumäärä",time_unit:"aikayksikkö",minute:"minuutti",second:"sekunti",hour:"tunti",disable_server_log:"Poista palvelimen loki käytöstä",enable_server_log:"Ota palvelimen loki käyttöön",coming_soon:"Ominaisuus on tulossa pian",session_has_expired:"Käyttämätön sessio on vanhentunut. Kirjaudu uudelleen.",instant_access_question:"Kirjaudu aikaisemmin luodulla tiedolla",login_with_user_id:"Kirjaudu käyttäjä-ID:llä",or:"tai",create_new_wallet:"Avaa uusi lompakko",login_to_account:"Kirjaudu käyttäjänimellä",create_account:"Luo tili",account_settings:"Tilin asetukset",signin_with_google:"Kirjaudu Google-tunnuksella",signin_with_github:"Kirjaudu GitHub-tunnuksella",signin_with_keycloak:"Kirjaudu Keycloak-tunnuksella",username_or_email:"Käyttäjänimi tai sähköposti",password:"Anna uusi salasana",password_config:"Salasanan määritys",password_repeat:"Toista uusi salasana",change_password:"Vaihda salasana",set_password:"Aseta salasana",invalid_password:"Salasanassa tulee olla vähintään kahdeksan merkkiä",login:"Kirjaudu",register:"Rekisteröidy",username:"Käyttäjänimi",user_id:"Käyttäjä ID",email:"Sähköposti",first_name:"Etunimi",last_name:"Sukunimi",picture:"Kuva",verify_email:"Vahvista sähköposti",account:"Tili",update_account:"Päivitä tiliä",invalid_username:"Virheellinen käyttäjänimi",auth_provider:"Tunnistamisen toimittaja",my_account:"Tilini",back:"Takaisin",logout:"Poistu",look_and_feel:"Kieli ja värit",language:"Kieli",color_scheme:"Väriteema",extension_cost:"Tämä julkaisu edellyttää vähintään {cost} satsin maksua.",extension_paid_sats:"Olet jo maksanut {paid_sats} satsia.",release_details_error:"Ei voi hakea julkaisun tietoja.",pay_from_wallet:"Maksa lompakosta",show_qr:"Näytä QR",retry_install:"Yritä asennusta uudelleen",new_payment:"Tee uusi maksu",hide_empty_wallets:"Piilota tyhjät lompakot"},window.LOCALE="en",window.i18n=new VueI18n.createI18n({locale:window.LOCALE,fallbackLocale:window.LOCALE,messages:window.localisation}),window.LNbits={api:{request:function(e,t,n,a){return axios({method:e,url:t,headers:{"X-Api-Key":n},data:a})},getServerHealth:function(){return this.request("get","/api/v1/health")},createInvoice:async function(e,t,n,a="sat",i=null){return this.request("post","/api/v1/payments",e.inkey,{out:!1,amount:t,memo:n,lnurl_callback:i,unit:a})},payInvoice:function(e,t){return this.request("post","/api/v1/payments",e.adminkey,{out:!0,bolt11:t})},payLnurl:function(e,t,n,a,i="",r="",o=""){return this.request("post","/api/v1/payments/lnurl",e.adminkey,{callback:t,description_hash:n,amount:a,comment:r,description:i,unit:o})},authLnurl:function(e,t){return this.request("post","/api/v1/lnurlauth",e.adminkey,{callback:t})},createAccount:function(e){return this.request("post","/api/v1/account",null,{name:e})},register:function(e,t,n,a){return axios({method:"POST",url:"/api/v1/auth/register",data:{username:e,email:t,password:n,password_repeat:a}})},login:function(e,t){return axios({method:"POST",url:"/api/v1/auth",data:{username:e,password:t}})},loginByProvider:function(e,t,n){return axios({method:"POST",url:`/api/v1/auth/${e}`,headers:t,data:n})},loginUsr:function(e){return axios({method:"POST",url:"/api/v1/auth/usr",data:{usr:e}})},logout:function(){return axios({method:"POST",url:"/api/v1/auth/logout"})},getAuthenticatedUser:function(){return this.request("get","/api/v1/auth")},getWallet:function(e){return this.request("get","/api/v1/wallet",e.inkey)},createWallet:function(e,t){return this.request("post","/api/v1/wallet",e.adminkey,{name:t}).then((e=>{window.location="/wallet?wal="+e.data.id}))},updateWallet:function(e,t){return this.request("patch","/api/v1/wallet",t.adminkey,{name:e})},deleteWallet:function(e){return this.request("delete","/api/v1/wallet",e.adminkey).then((e=>{let t=new URL(window.location.href);t.searchParams.delete("wal"),window.location=t}))},getPayments:function(e,t){return this.request("get","/api/v1/payments/paginated?"+t,e.inkey)},getPayment:function(e,t){return this.request("get","/api/v1/payments/"+t,e.inkey)},updateBalance:function(e,t){return LNbits.api.request("PUT","/users/api/v1/topup",null,{amount:e,id:t})}},events:{onInvoicePaid:function(e,t){let n=e=>{t(JSON.parse(e.data))};return this.listenersCount=this.listenersCount||{[e.inkey]:0},this.listenersCount[e.inkey]++,this.listeners=this.listeners||{},e.inkey in this.listeners||(this.listeners[e.inkey]=new EventSource("/api/v1/payments/sse?api-key="+e.inkey)),this.listeners[e.inkey].addEventListener("payment-received",n),()=>{this.listeners[e.inkey].removeEventListener("payment-received",n),this.listenersCount[e.inkey]--,this.listenersCount[e.inkey]<=0&&(this.listeners[e.inkey].close(),delete this.listeners[e.inkey])}}},map:{extension:function(e){var t=_.object(["code","isValid","isAdminOnly","name","shortDescription","tile","contributors","hidden"],e);return t.url=["/",t.code,"/"].join(""),t},user:function(e){var t={id:e.id,admin:e.admin,email:e.email,extensions:e.extensions,wallets:e.wallets,admin:e.admin},n=this.wallet;return t.wallets=t.wallets.map((function(e){return n(e)})).sort((function(e,t){return e.name.localeCompare(t.name)})),t.walletOptions=t.wallets.map((function(e){return{label:[e.name," - ",e.id].join(""),value:e.id}})),t},wallet:function(e){return newWallet={id:e.id,name:e.name,adminkey:e.adminkey,inkey:e.inkey,currency:e.currency},newWallet.msat=e.balance_msat,newWallet.sat=Math.floor(e.balance_msat/1e3),newWallet.fsat=new Intl.NumberFormat(window.LOCALE).format(newWallet.sat),newWallet.url=`/wallet?&wal=${e.id}`,newWallet},payment:function(e){obj={checking_id:e.checking_id,status:e.status,amount:e.amount,fee:e.fee,memo:e.memo,time:e.time,bolt11:e.bolt11,preimage:e.preimage,payment_hash:e.payment_hash,expiry:e.expiry,extra:e.extra,wallet_id:e.wallet_id,webhook:e.webhook,webhook_status:e.webhook_status,fiat_amount:e.fiat_amount,fiat_currency:e.fiat_currency},obj.date=Quasar.date.formatDate(new Date(1e3*obj.time),"YYYY-MM-DD HH:mm"),obj.dateFrom=moment(obj.date).fromNow(),obj.expirydate=Quasar.date.formatDate(new Date(1e3*obj.expiry),"YYYY-MM-DD HH:mm"),obj.expirydateFrom=moment(obj.expirydate).fromNow(),obj.msat=obj.amount,obj.sat=obj.msat/1e3,obj.tag=obj.extra?.tag,obj.fsat=new Intl.NumberFormat(window.LOCALE).format(obj.sat),obj.isIn=obj.amount>0,obj.isOut=obj.amount<0,obj.isPending="pending"===obj.status,obj.isPaid="success"===obj.status,obj.isFailed="failed"===obj.status,obj._q=[obj.memo,obj.sat].join(" ").toLowerCase();try{obj.details=JSON.parse(e.extra?.details||"{}")}catch{obj.details={extraDetails:e.extra?.details}}return obj}},utils:{confirmDialog:function(e){return Quasar.Dialog.create({message:e,ok:{flat:!0,color:"orange"},cancel:{flat:!0,color:"grey"}})},digestMessage:async function(e){const t=(new TextEncoder).encode(e),n=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(n)).map((e=>e.toString(16).padStart(2,"0"))).join("")},formatCurrency:function(e,t){return new Intl.NumberFormat(window.LOCALE,{style:"currency",currency:t}).format(e)},formatSat:function(e){return new Intl.NumberFormat(window.LOCALE).format(e)},formatMsat:function(e){return this.formatSat(e/1e3)},notifyApiError:function(e){console.error(e);Quasar.Notify.create({timeout:5e3,type:{400:"warning",401:"warning",500:"negative"}[e.response.status]||"warning",message:e.response.data.message||e.response.data.detail||null,caption:[e.response.status," ",e.response.statusText].join("").toUpperCase()||null,icon:null})},search:function(e,t,n,a){try{var i=t.toLowerCase().split(a||" ");return e.filter((function(e){var t=0;return _.each(i,(function(a){-1!==e[n].indexOf(a)&&t++})),t===i.length}))}catch(t){return e}},prepareFilterQuery(e,t){t&&(e.pagination=t.pagination);let n=e.pagination;e.loading=!0;const a={limit:n.rowsPerPage,offset:(n.page-1)*n.rowsPerPage,sortby:n.sortBy??"",direction:n.descending?"desc":"asc",...e.filter};return e.search&&(a.search=e.search),new URLSearchParams(a)},exportCSV:function(e,t,n){var a=function(e,t){var n=void 0!==t?t(e):e;return`"${n=(n=null==n?"":String(n)).split('"').join('""')}"`},i=[e.map((function(e){return a(e.label)}))].concat(t.map((function(t){return e.map((function(e){return a("function"==typeof e.field?e.field(t):t[void 0===e.field?e.name:e.field],e.format)})).join(",")}))).join("\r\n");!0!==Quasar.exportFile(`${n||"table-export"}.csv`,i,"text/csv")&&Quasar.Notify.create({message:"Browser denied file download...",color:"negative",icon:null})},convertMarkdown(e){const t=new showdown.Converter;return t.setFlavor("github"),t.setOption("simpleLineBreaks",!0),t.makeHtml(e)},hexToRgb:function(e){return Quasar.colors.hexToRgb(e)},hexDarken:function(e,t){return Quasar.colors.lighten(e,t)},hexAlpha:function(e,t){return Quasar.colors.changeAlpha(e,t)},getPaletteColor:function(e){return Quasar.colors.getPaletteColor(e)}}},window.windowMixin={i18n:window.i18n,data:function(){return{toggleSubs:!0,reactionChoice:"confettiBothSides",gradientChoice:this.$q.localStorage.getItem("lnbits.gradientBg")||!1,isUserAuthorized:!1,g:{offline:!navigator.onLine,visibleDrawer:!1,extensions:[],user:null,wallet:null,payments:[],allowedThemes:null,langs:[]}}},methods:{changeColor:function(e){document.body.setAttribute("data-theme",e),this.$q.localStorage.set("lnbits.theme",e)},applyGradient:function(){if(this.$q.localStorage.getItem("lnbits.gradientBg")){this.setColors(),darkBgColor=this.$q.localStorage.getItem("lnbits.darkBgColor"),primaryColor=this.$q.localStorage.getItem("lnbits.primaryColor");const e=`linear-gradient(to bottom right, ${LNbits.utils.hexDarken(String(primaryColor),-70)}, #0a0a0a)`;document.body.style.setProperty("background-image",e,"important");const t=`background-color: ${LNbits.utils.hexAlpha(String(darkBgColor),.4)} !important`,n=document.createElement("style");n.innerHTML=`body[data-theme="${this.$q.localStorage.getItem("lnbits.theme")}"] .q-card:not(.q-dialog .q-card, .lnbits__dialog-card, .q-dialog-plugin--dark), body.body${this.$q.dark.isActive?"--dark":""} .q-header, body.body${this.$q.dark.isActive?"--dark":""} .q-drawer { ${t} }body[data-theme="${this.$q.localStorage.getItem("lnbits.theme")}"].body--dark{background: ${LNbits.utils.hexDarken(String(primaryColor),-88)} !important; }[data-theme="${this.$q.localStorage.getItem("lnbits.theme")}"] .q-card--dark{background: ${String(darkBgColor)} !important;} }`,document.head.appendChild(n)}},setColors:function(){this.$q.localStorage.set("lnbits.primaryColor",LNbits.utils.getPaletteColor("primary")),this.$q.localStorage.set("lnbits.secondaryColor",LNbits.utils.getPaletteColor("secondary")),this.$q.localStorage.set("lnbits.darkBgColor",LNbits.utils.getPaletteColor("dark"))},copyText:function(e,t,n){Quasar.copyToClipboard(e).then((function(){Quasar.Notify.create({message:t||"Copied to clipboard!",position:n||"bottom"})}))},checkUsrInUrl:async function(){try{const e=new URLSearchParams(window.location.search),t=e.get("usr");if(!t)return;this.isUserAuthorized||await LNbits.api.loginUsr(t),e.delete("usr");const n=e.size?`?${e.toString()}`:"";window.history.replaceState({},document.title,window.location.pathname+n)}finally{this.isUserAuthorized=!!this.$q.cookies.get("is_lnbits_user_authorized")}},logout:async function(){LNbits.utils.confirmDialog('Do you really want to logout? Please visit "My Account" page to check your credentials!').onOk((async()=>{try{await LNbits.api.logout(),window.location="/"}catch(e){LNbits.utils.notifyApiError(e)}}))},themeParams(){const e=new URL(window.location.href),t=new URLSearchParams(window.location.search),n=["theme","dark","gradient"],a=e=>"true"===e.trim().toLowerCase()||"1"===e;if(n.some((e=>t.has(e)))){const i=t.get("theme"),r=t.get("dark"),o=t.get("gradient");if(i&&this.g.allowedThemes.includes(i.trim().toLowerCase())){const e=i.trim().toLowerCase();document.body.setAttribute("data-theme",e),this.$q.localStorage.set("lnbits.theme",e)}if(r){const e=a(r);this.$q.localStorage.set("lnbits.darkMode",e),e||this.$q.localStorage.set("lnbits.gradientBg",!1)}if(o){const e=a(o);this.$q.localStorage.set("lnbits.gradientBg",e),e&&this.$q.localStorage.set("lnbits.darkMode",!0)}n.forEach((e=>t.delete(e))),window.history.replaceState(null,null,e.pathname)}this.setColors()}},created:async function(){1==this.$q.localStorage.getItem("lnbits.darkMode")||0==this.$q.localStorage.getItem("lnbits.darkMode")?this.$q.dark.set(this.$q.localStorage.getItem("lnbits.darkMode")):this.$q.dark.set(!0),this.reactionChoice=this.$q.localStorage.getItem("lnbits.reactions")||"confettiBothSides",this.g.allowedThemes=window.allowedThemes??["bitcoin"];let e=this.$q.localStorage.getItem("lnbits.lang");if(e&&(window.LOCALE=e,window.i18n.global.locale=e),this.g.langs=window.langs??[],addEventListener("offline",(e=>{this.g.offline=!0})),addEventListener("online",(e=>{this.g.offline=!1})),this.$q.localStorage.getItem("lnbits.theme")||this.changeColor(this.g.allowedThemes[0]),this.$q.localStorage.getItem("lnbits.theme")&&!this.g.allowedThemes.includes(this.$q.localStorage.getItem("lnbits.theme"))&&this.changeColor(this.g.allowedThemes[0]),this.$q.localStorage.getItem("lnbits.theme")&&document.body.setAttribute("data-theme",this.$q.localStorage.getItem("lnbits.theme")),this.applyGradient(),window.user&&(this.g.user=Object.freeze(window.LNbits.map.user(window.user))),window.wallet&&(this.g.wallet=Object.freeze(window.LNbits.map.wallet(window.wallet))),window.extensions){var t=this.g.user;const e=Object.freeze(window.extensions.map((function(e){return window.LNbits.map.extension(e)})).filter((function(e){return!e.hidden})).filter((function(e){return window.user?.admin?e:!e.isAdminOnly})).map((function(e){return e.isEnabled=!!t&&-1!==t.extensions.indexOf(e.code),e})).sort((function(e,t){const n=e.name.toUpperCase(),a=t.name.toUpperCase();return na?1:0})));this.g.extensions=e}await this.checkUsrInUrl(),this.themeParams()}},window.decryptLnurlPayAES=function(e,t){let n=new Uint8Array(t.match(/[\da-f]{2}/gi).map((e=>parseInt(e,16))));return crypto.subtle.importKey("raw",n,{name:"AES-CBC",length:256},!1,["decrypt"]).then((t=>{let n=Uint8Array.from(window.atob(e.iv),(e=>e.charCodeAt(0))),a=Uint8Array.from(window.atob(e.ciphertext),(e=>e.charCodeAt(0)));return crypto.subtle.decrypt({name:"AES-CBC",iv:n},t,a)})).then((e=>new TextDecoder("utf-8").decode(e)))},function(e,t){!function e(t,n,a,i){var r=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL);function o(){}function s(e){var a=n.exports.Promise,i=void 0!==a?a:t.Promise;return"function"==typeof i?new i(e):(e(o,o),null)}var l,u,c,d,h,p,f,m,g=(c=Math.floor(1e3/60),d={},h=0,"function"==typeof requestAnimationFrame&&"function"==typeof cancelAnimationFrame?(l=function(e){var t=Math.random();return d[t]=requestAnimationFrame((function n(a){h===a||h+c-1{a=(a<<5)+e,n+=5,n>=8&&(i.push(a>>n-8&255),n-=8)})),t&&n>0&&i.push(a<<8-n&255),i}function bech32ToUTF8String(e){let t=fiveBitArrayTo8BitArray(bech32ToFiveBitArray(e)),n="";for(let e=0;e20&&(t-=20,e/=Math.pow(10,t),e+=new Array(t+1).join("0"));return e} diff --git a/lnbits/static/i18n/en.js b/lnbits/static/i18n/en.js index 4d7787512..b5e784774 100644 --- a/lnbits/static/i18n/en.js +++ b/lnbits/static/i18n/en.js @@ -214,6 +214,7 @@ window.localisation.en = { login_to_account: 'Login to your account', create_account: 'Create account', account_settings: 'Account Settings', + signin_with_nostr: 'Continue with Nostr', signin_with_google: 'Sign in with Google', signin_with_github: 'Sign in with GitHub', signin_with_keycloak: 'Sign in with Keycloak', @@ -222,11 +223,14 @@ window.localisation.en = { password_config: 'Password Config', password_repeat: 'Password repeat', change_password: 'Change Password', + update_credentials: 'Update Credentials', + update_pubkey: 'Update Public Key', set_password: 'Set Password', invalid_password: 'Password must have at least 8 characters', login: 'Login', register: 'Register', username: 'Username', + pubkey: 'Public Key', user_id: 'User ID', email: 'Email', first_name: 'First Name', diff --git a/lnbits/static/images/logos/nostr.svg b/lnbits/static/images/logos/nostr.svg new file mode 100644 index 000000000..b076fb14e --- /dev/null +++ b/lnbits/static/images/logos/nostr.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/lnbits/static/js/account.js b/lnbits/static/js/account.js index 5d364dc8c..82df5a745 100644 --- a/lnbits/static/js/account.js +++ b/lnbits/static/js/account.js @@ -13,11 +13,13 @@ window.app = Vue.createApp({ 'confettiStars' ], tab: 'user', - passwordData: { + credentialsData: { show: false, oldPassword: null, newPassword: null, - newPasswordRepeat: null + newPasswordRepeat: null, + username: null, + pubkey: null } } }, @@ -94,6 +96,7 @@ window.app = Vue.createApp({ } ) this.user = data + this.hasUsername = !!data.username Quasar.Notify.create({ type: 'positive', message: 'Account updated.' @@ -102,11 +105,19 @@ window.app = Vue.createApp({ LNbits.utils.notifyApiError(e) } }, + disableUpdatePassword: function () { + return ( + !this.credentialsData.newPassword || + !this.credentialsData.newPasswordRepeat || + this.credentialsData.newPassword !== + this.credentialsData.newPasswordRepeat + ) + }, updatePassword: async function () { - if (!this.user.username) { + if (!this.credentialsData.username) { Quasar.Notify.create({ type: 'warning', - message: 'Please set a username first.' + message: 'Please set a username.' }) return } @@ -117,14 +128,15 @@ window.app = Vue.createApp({ null, { user_id: this.user.id, - username: this.user.username, - password_old: this.passwordData.oldPassword, - password: this.passwordData.newPassword, - password_repeat: this.passwordData.newPasswordRepeat + username: this.credentialsData.username, + password_old: this.credentialsData.oldPassword, + password: this.credentialsData.newPassword, + password_repeat: this.credentialsData.newPasswordRepeat } ) this.user = data - this.passwordData.show = false + this.hasUsername = !!data.username + this.credentialsData.show = false Quasar.Notify.create({ type: 'positive', message: 'Password updated.' @@ -133,17 +145,34 @@ window.app = Vue.createApp({ LNbits.utils.notifyApiError(e) } }, - showChangePassword: function () { - if (!this.user.username) { - Quasar.Notify.create({ - type: 'warning', - message: 'Please set a username first.' + updatePubkey: async function () { + try { + const {data} = await LNbits.api.request( + 'PUT', + '/api/v1/auth/pubkey', + null, + { + user_id: this.user.id, + pubkey: this.credentialsData.pubkey + } + ) + this.user = data + this.hasUsername = !!data.username + this.credentialsData.show = false + this.$q.notify({ + type: 'positive', + message: 'Public key updated.' }) - return + } catch (e) { + LNbits.utils.notifyApiError(e) } - this.passwordData = { + }, + showUpdateCredentials: function () { + this.credentialsData = { show: true, oldPassword: null, + username: this.user.username, + pubkey: this.user.pubkey, newPassword: null, newPasswordRepeat: null } diff --git a/lnbits/static/js/admin.js b/lnbits/static/js/admin.js index 241b4b1e9..9fe3f1230 100644 --- a/lnbits/static/js/admin.js +++ b/lnbits/static/js/admin.js @@ -41,6 +41,7 @@ window.app = Vue.createApp({ formAddExtensionsManifest: '', formAllowedIPs: '', formBlockedIPs: '', + nostrAcceptedUrl: '', isSuperUser: false, wallet: {}, cancel: {}, @@ -181,6 +182,16 @@ window.app = Vue.createApp({ b => b !== blocked_ip ) }, + addNostrUrl() { + const url = this.nostrAcceptedUrl.trim() + this.removeNostrUrl(url) + this.formData.nostr_absolute_request_urls.push(url) + this.nostrAcceptedUrl = '' + }, + removeNostrUrl(url) { + this.formData.nostr_absolute_request_urls = + this.formData.nostr_absolute_request_urls.filter(b => b !== url) + }, restartServer() { LNbits.api .request('GET', '/admin/api/v1/restart/') diff --git a/lnbits/static/js/base.js b/lnbits/static/js/base.js index 0eb8b915a..b8f50bf86 100644 --- a/lnbits/static/js/base.js +++ b/lnbits/static/js/base.js @@ -17,6 +17,9 @@ window.LNbits = { data: data }) }, + getServerHealth: function () { + return this.request('get', '/api/v1/health') + }, createInvoice: async function ( wallet, amount, @@ -85,6 +88,14 @@ window.LNbits = { data: {username, password} }) }, + loginByProvider: function (provider, headers, data) { + return axios({ + method: 'POST', + url: `/api/v1/auth/${provider}`, + headers: headers, + data + }) + }, loginUsr: function (usr) { return axios({ method: 'POST', diff --git a/lnbits/static/js/index.js b/lnbits/static/js/index.js index 243790b11..106b13d89 100644 --- a/lnbits/static/js/index.js +++ b/lnbits/static/js/index.js @@ -42,6 +42,79 @@ window.app = Vue.createApp({ this.authAction = 'register' this.authMethod = authMethod }, + signInWithNostr: async function () { + try { + const nostrToken = await this.createNostrToken() + if (!nostrToken) { + return + } + resp = await LNbits.api.loginByProvider( + 'nostr', + {Authorization: nostrToken}, + {} + ) + window.location.href = '/wallet' + } catch (error) { + console.warn(error) + const details = error?.response?.data?.detail || `${error}` + Quasar.Notify.create({ + type: 'negative', + message: 'Failed to sign in with Nostr.', + caption: details + }) + } + }, + createNostrToken: async function () { + try { + async function _signEvent(e) { + try { + const {data} = await LNbits.api.getServerHealth() + e.created_at = data.server_time + return await window.nostr.signEvent(e) + } catch (error) { + console.error(error) + Quasar.Notify.create({ + type: 'negative', + message: 'Failed to sign nostr event.', + caption: `${error}` + }) + } + } + if (!window.nostr?.signEvent) { + Quasar.Notify.create({ + type: 'negative', + message: 'No Nostr signing app detected.', + caption: 'Is "window.nostr" present?' + }) + return + } + const tagU = `${window.location}nostr` + const tagMethod = 'POST' + const nostrToken = await NostrTools.nip98.getToken( + tagU, + tagMethod, + e => _signEvent(e), + true + ) + const isTokenValid = await NostrTools.nip98.validateToken( + nostrToken, + tagU, + tagMethod + ) + if (!isTokenValid) { + throw new Error('Invalid signed token!') + } + + return nostrToken + } catch (error) { + console.warn(error) + Quasar.Notify.create({ + type: 'negative', + message: 'Failed create Nostr event.', + caption: `${error}` + }) + } + }, register: async function () { try { await LNbits.api.register( @@ -69,6 +142,7 @@ window.app = Vue.createApp({ this.usr = '' window.location.href = '/wallet' } catch (e) { + console.warn(e) LNbits.utils.notifyApiError(e) } }, diff --git a/lnbits/static/vendor.json b/lnbits/static/vendor.json index fb2657694..ba4f5b77a 100644 --- a/lnbits/static/vendor.json +++ b/lnbits/static/vendor.json @@ -12,6 +12,7 @@ "vendor/qrcode.vue.browser.js", "vendor/chart.umd.js", "vendor/showdown.js", + "vendor/nostr.bundle.js", "i18n/i18n.js", "i18n/de.js", "i18n/en.js", diff --git a/lnbits/static/vendor/nostr.bundle.js b/lnbits/static/vendor/nostr.bundle.js new file mode 100644 index 000000000..9bd0f0c6b --- /dev/null +++ b/lnbits/static/vendor/nostr.bundle.js @@ -0,0 +1,6342 @@ +"use strict"; +var NostrTools = (() => { + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toCommonJS = (mod2) => __copyProps(__defProp({}, "__esModule", { value: true }), mod2); + + // index.ts + var nostr_tools_exports = {}; + __export(nostr_tools_exports, { + Relay: () => Relay, + SimplePool: () => SimplePool, + finalizeEvent: () => finalizeEvent, + fj: () => fakejson_exports, + generateSecretKey: () => generateSecretKey, + getEventHash: () => getEventHash, + getFilterLimit: () => getFilterLimit, + getPublicKey: () => getPublicKey, + kinds: () => kinds_exports, + matchFilter: () => matchFilter, + matchFilters: () => matchFilters, + mergeFilters: () => mergeFilters, + nip04: () => nip04_exports, + nip05: () => nip05_exports, + nip10: () => nip10_exports, + nip11: () => nip11_exports, + nip13: () => nip13_exports, + nip18: () => nip18_exports, + nip19: () => nip19_exports, + nip21: () => nip21_exports, + nip25: () => nip25_exports, + nip27: () => nip27_exports, + nip28: () => nip28_exports, + nip30: () => nip30_exports, + nip39: () => nip39_exports, + nip42: () => nip42_exports, + nip44: () => nip44_exports, + nip47: () => nip47_exports, + nip57: () => nip57_exports, + nip98: () => nip98_exports, + parseReferences: () => parseReferences, + serializeEvent: () => serializeEvent, + sortEvents: () => sortEvents, + utils: () => utils_exports2, + validateEvent: () => validateEvent, + verifiedSymbol: () => verifiedSymbol, + verifyEvent: () => verifyEvent + }); + + // node_modules/@noble/curves/node_modules/@noble/hashes/esm/_assert.js + function number(n) { + if (!Number.isSafeInteger(n) || n < 0) + throw new Error(`Wrong positive integer: ${n}`); + } + function bytes(b, ...lengths) { + if (!(b instanceof Uint8Array)) + throw new Error("Expected Uint8Array"); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); + } + function hash(hash3) { + if (typeof hash3 !== "function" || typeof hash3.create !== "function") + throw new Error("Hash should be wrapped by utils.wrapConstructor"); + number(hash3.outputLen); + number(hash3.blockLen); + } + function exists(instance, checkFinished = true) { + if (instance.destroyed) + throw new Error("Hash instance has been destroyed"); + if (checkFinished && instance.finished) + throw new Error("Hash#digest() has already been called"); + } + function output(out, instance) { + bytes(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error(`digestInto() expects output buffer of length at least ${min}`); + } + } + + // node_modules/@noble/curves/node_modules/@noble/hashes/esm/crypto.js + var crypto = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0; + + // node_modules/@noble/curves/node_modules/@noble/hashes/esm/utils.js + var u8a = (a) => a instanceof Uint8Array; + var createView = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var rotr = (word, shift) => word << 32 - shift | word >>> shift; + var isLE = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; + if (!isLE) + throw new Error("Non little-endian hardware is not supported"); + function utf8ToBytes(str) { + if (typeof str !== "string") + throw new Error(`utf8ToBytes expected string, got ${typeof str}`); + return new Uint8Array(new TextEncoder().encode(str)); + } + function toBytes(data) { + if (typeof data === "string") + data = utf8ToBytes(data); + if (!u8a(data)) + throw new Error(`expected Uint8Array, got ${typeof data}`); + return data; + } + function concatBytes(...arrays) { + const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0)); + let pad2 = 0; + arrays.forEach((a) => { + if (!u8a(a)) + throw new Error("Uint8Array expected"); + r.set(a, pad2); + pad2 += a.length; + }); + return r; + } + var Hash = class { + clone() { + return this._cloneInto(); + } + }; + var toStr = {}.toString; + function wrapConstructor(hashCons) { + const hashC = (msg) => hashCons().update(toBytes(msg)).digest(); + const tmp = hashCons(); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = () => hashCons(); + return hashC; + } + function randomBytes(bytesLength = 32) { + if (crypto && typeof crypto.getRandomValues === "function") { + return crypto.getRandomValues(new Uint8Array(bytesLength)); + } + throw new Error("crypto.getRandomValues must be defined"); + } + + // node_modules/@noble/curves/node_modules/@noble/hashes/esm/_sha2.js + function setBigUint64(view, byteOffset, value, isLE4) { + if (typeof view.setBigUint64 === "function") + return view.setBigUint64(byteOffset, value, isLE4); + const _32n = BigInt(32); + const _u32_max = BigInt(4294967295); + const wh = Number(value >> _32n & _u32_max); + const wl = Number(value & _u32_max); + const h = isLE4 ? 4 : 0; + const l = isLE4 ? 0 : 4; + view.setUint32(byteOffset + h, wh, isLE4); + view.setUint32(byteOffset + l, wl, isLE4); + } + var SHA2 = class extends Hash { + constructor(blockLen, outputLen, padOffset, isLE4) { + super(); + this.blockLen = blockLen; + this.outputLen = outputLen; + this.padOffset = padOffset; + this.isLE = isLE4; + this.finished = false; + this.length = 0; + this.pos = 0; + this.destroyed = false; + this.buffer = new Uint8Array(blockLen); + this.view = createView(this.buffer); + } + update(data) { + exists(this); + const { view, buffer, blockLen } = this; + data = toBytes(data); + const len = data.length; + for (let pos = 0; pos < len; ) { + const take = Math.min(blockLen - this.pos, len - pos); + if (take === blockLen) { + const dataView = createView(data); + for (; blockLen <= len - pos; pos += blockLen) + this.process(dataView, pos); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.process(view, 0); + this.pos = 0; + } + } + this.length += data.length; + this.roundClean(); + return this; + } + digestInto(out) { + exists(this); + output(out, this); + this.finished = true; + const { buffer, view, blockLen, isLE: isLE4 } = this; + let { pos } = this; + buffer[pos++] = 128; + this.buffer.subarray(pos).fill(0); + if (this.padOffset > blockLen - pos) { + this.process(view, 0); + pos = 0; + } + for (let i2 = pos; i2 < blockLen; i2++) + buffer[i2] = 0; + setBigUint64(view, blockLen - 8, BigInt(this.length * 8), isLE4); + this.process(view, 0); + const oview = createView(out); + const len = this.outputLen; + if (len % 4) + throw new Error("_sha2: outputLen should be aligned to 32bit"); + const outLen = len / 4; + const state = this.get(); + if (outLen > state.length) + throw new Error("_sha2: outputLen bigger than state"); + for (let i2 = 0; i2 < outLen; i2++) + oview.setUint32(4 * i2, state[i2], isLE4); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to) { + to || (to = new this.constructor()); + to.set(...this.get()); + const { blockLen, buffer, length, finished, destroyed, pos } = this; + to.length = length; + to.pos = pos; + to.finished = finished; + to.destroyed = destroyed; + if (length % blockLen) + to.buffer.set(buffer); + return to; + } + }; + + // node_modules/@noble/curves/node_modules/@noble/hashes/esm/sha256.js + var Chi = (a, b, c) => a & b ^ ~a & c; + var Maj = (a, b, c) => a & b ^ a & c ^ b & c; + var SHA256_K = /* @__PURE__ */ new Uint32Array([ + 1116352408, + 1899447441, + 3049323471, + 3921009573, + 961987163, + 1508970993, + 2453635748, + 2870763221, + 3624381080, + 310598401, + 607225278, + 1426881987, + 1925078388, + 2162078206, + 2614888103, + 3248222580, + 3835390401, + 4022224774, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + 2554220882, + 2821834349, + 2952996808, + 3210313671, + 3336571891, + 3584528711, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + 2177026350, + 2456956037, + 2730485921, + 2820302411, + 3259730800, + 3345764771, + 3516065817, + 3600352804, + 4094571909, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + 2227730452, + 2361852424, + 2428436474, + 2756734187, + 3204031479, + 3329325298 + ]); + var IV = /* @__PURE__ */ new Uint32Array([ + 1779033703, + 3144134277, + 1013904242, + 2773480762, + 1359893119, + 2600822924, + 528734635, + 1541459225 + ]); + var SHA256_W = /* @__PURE__ */ new Uint32Array(64); + var SHA256 = class extends SHA2 { + constructor() { + super(64, 32, 8, false); + this.A = IV[0] | 0; + this.B = IV[1] | 0; + this.C = IV[2] | 0; + this.D = IV[3] | 0; + this.E = IV[4] | 0; + this.F = IV[5] | 0; + this.G = IV[6] | 0; + this.H = IV[7] | 0; + } + get() { + const { A, B, C, D, E, F, G, H } = this; + return [A, B, C, D, E, F, G, H]; + } + set(A, B, C, D, E, F, G, H) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + this.F = F | 0; + this.G = G | 0; + this.H = H | 0; + } + process(view, offset) { + for (let i2 = 0; i2 < 16; i2++, offset += 4) + SHA256_W[i2] = view.getUint32(offset, false); + for (let i2 = 16; i2 < 64; i2++) { + const W15 = SHA256_W[i2 - 15]; + const W2 = SHA256_W[i2 - 2]; + const s0 = rotr(W15, 7) ^ rotr(W15, 18) ^ W15 >>> 3; + const s1 = rotr(W2, 17) ^ rotr(W2, 19) ^ W2 >>> 10; + SHA256_W[i2] = s1 + SHA256_W[i2 - 7] + s0 + SHA256_W[i2 - 16] | 0; + } + let { A, B, C, D, E, F, G, H } = this; + for (let i2 = 0; i2 < 64; i2++) { + const sigma1 = rotr(E, 6) ^ rotr(E, 11) ^ rotr(E, 25); + const T1 = H + sigma1 + Chi(E, F, G) + SHA256_K[i2] + SHA256_W[i2] | 0; + const sigma0 = rotr(A, 2) ^ rotr(A, 13) ^ rotr(A, 22); + const T2 = sigma0 + Maj(A, B, C) | 0; + H = G; + G = F; + F = E; + E = D + T1 | 0; + D = C; + C = B; + B = A; + A = T1 + T2 | 0; + } + A = A + this.A | 0; + B = B + this.B | 0; + C = C + this.C | 0; + D = D + this.D | 0; + E = E + this.E | 0; + F = F + this.F | 0; + G = G + this.G | 0; + H = H + this.H | 0; + this.set(A, B, C, D, E, F, G, H); + } + roundClean() { + SHA256_W.fill(0); + } + destroy() { + this.set(0, 0, 0, 0, 0, 0, 0, 0); + this.buffer.fill(0); + } + }; + var sha256 = /* @__PURE__ */ wrapConstructor(() => new SHA256()); + + // node_modules/@noble/curves/esm/abstract/utils.js + var utils_exports = {}; + __export(utils_exports, { + bitGet: () => bitGet, + bitLen: () => bitLen, + bitMask: () => bitMask, + bitSet: () => bitSet, + bytesToHex: () => bytesToHex, + bytesToNumberBE: () => bytesToNumberBE, + bytesToNumberLE: () => bytesToNumberLE, + concatBytes: () => concatBytes2, + createHmacDrbg: () => createHmacDrbg, + ensureBytes: () => ensureBytes, + equalBytes: () => equalBytes, + hexToBytes: () => hexToBytes, + hexToNumber: () => hexToNumber, + numberToBytesBE: () => numberToBytesBE, + numberToBytesLE: () => numberToBytesLE, + numberToHexUnpadded: () => numberToHexUnpadded, + numberToVarBytesBE: () => numberToVarBytesBE, + utf8ToBytes: () => utf8ToBytes2, + validateObject: () => validateObject + }); + var _0n = BigInt(0); + var _1n = BigInt(1); + var _2n = BigInt(2); + var u8a2 = (a) => a instanceof Uint8Array; + var hexes = /* @__PURE__ */ Array.from({ length: 256 }, (_, i2) => i2.toString(16).padStart(2, "0")); + function bytesToHex(bytes4) { + if (!u8a2(bytes4)) + throw new Error("Uint8Array expected"); + let hex2 = ""; + for (let i2 = 0; i2 < bytes4.length; i2++) { + hex2 += hexes[bytes4[i2]]; + } + return hex2; + } + function numberToHexUnpadded(num) { + const hex2 = num.toString(16); + return hex2.length & 1 ? `0${hex2}` : hex2; + } + function hexToNumber(hex2) { + if (typeof hex2 !== "string") + throw new Error("hex string expected, got " + typeof hex2); + return BigInt(hex2 === "" ? "0" : `0x${hex2}`); + } + function hexToBytes(hex2) { + if (typeof hex2 !== "string") + throw new Error("hex string expected, got " + typeof hex2); + const len = hex2.length; + if (len % 2) + throw new Error("padded hex string expected, got unpadded hex of length " + len); + const array = new Uint8Array(len / 2); + for (let i2 = 0; i2 < array.length; i2++) { + const j = i2 * 2; + const hexByte = hex2.slice(j, j + 2); + const byte = Number.parseInt(hexByte, 16); + if (Number.isNaN(byte) || byte < 0) + throw new Error("Invalid byte sequence"); + array[i2] = byte; + } + return array; + } + function bytesToNumberBE(bytes4) { + return hexToNumber(bytesToHex(bytes4)); + } + function bytesToNumberLE(bytes4) { + if (!u8a2(bytes4)) + throw new Error("Uint8Array expected"); + return hexToNumber(bytesToHex(Uint8Array.from(bytes4).reverse())); + } + function numberToBytesBE(n, len) { + return hexToBytes(n.toString(16).padStart(len * 2, "0")); + } + function numberToBytesLE(n, len) { + return numberToBytesBE(n, len).reverse(); + } + function numberToVarBytesBE(n) { + return hexToBytes(numberToHexUnpadded(n)); + } + function ensureBytes(title, hex2, expectedLength) { + let res; + if (typeof hex2 === "string") { + try { + res = hexToBytes(hex2); + } catch (e) { + throw new Error(`${title} must be valid hex string, got "${hex2}". Cause: ${e}`); + } + } else if (u8a2(hex2)) { + res = Uint8Array.from(hex2); + } else { + throw new Error(`${title} must be hex string or Uint8Array`); + } + const len = res.length; + if (typeof expectedLength === "number" && len !== expectedLength) + throw new Error(`${title} expected ${expectedLength} bytes, got ${len}`); + return res; + } + function concatBytes2(...arrays) { + const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0)); + let pad2 = 0; + arrays.forEach((a) => { + if (!u8a2(a)) + throw new Error("Uint8Array expected"); + r.set(a, pad2); + pad2 += a.length; + }); + return r; + } + function equalBytes(b1, b2) { + if (b1.length !== b2.length) + return false; + for (let i2 = 0; i2 < b1.length; i2++) + if (b1[i2] !== b2[i2]) + return false; + return true; + } + function utf8ToBytes2(str) { + if (typeof str !== "string") + throw new Error(`utf8ToBytes expected string, got ${typeof str}`); + return new Uint8Array(new TextEncoder().encode(str)); + } + function bitLen(n) { + let len; + for (len = 0; n > _0n; n >>= _1n, len += 1) + ; + return len; + } + function bitGet(n, pos) { + return n >> BigInt(pos) & _1n; + } + var bitSet = (n, pos, value) => { + return n | (value ? _1n : _0n) << BigInt(pos); + }; + var bitMask = (n) => (_2n << BigInt(n - 1)) - _1n; + var u8n = (data) => new Uint8Array(data); + var u8fr = (arr) => Uint8Array.from(arr); + function createHmacDrbg(hashLen, qByteLen, hmacFn) { + if (typeof hashLen !== "number" || hashLen < 2) + throw new Error("hashLen must be a number"); + if (typeof qByteLen !== "number" || qByteLen < 2) + throw new Error("qByteLen must be a number"); + if (typeof hmacFn !== "function") + throw new Error("hmacFn must be a function"); + let v = u8n(hashLen); + let k = u8n(hashLen); + let i2 = 0; + const reset = () => { + v.fill(1); + k.fill(0); + i2 = 0; + }; + const h = (...b) => hmacFn(k, v, ...b); + const reseed = (seed = u8n()) => { + k = h(u8fr([0]), seed); + v = h(); + if (seed.length === 0) + return; + k = h(u8fr([1]), seed); + v = h(); + }; + const gen = () => { + if (i2++ >= 1e3) + throw new Error("drbg: tried 1000 values"); + let len = 0; + const out = []; + while (len < qByteLen) { + v = h(); + const sl = v.slice(); + out.push(sl); + len += v.length; + } + return concatBytes2(...out); + }; + const genUntil = (seed, pred) => { + reset(); + reseed(seed); + let res = void 0; + while (!(res = pred(gen()))) + reseed(); + reset(); + return res; + }; + return genUntil; + } + var validatorFns = { + bigint: (val) => typeof val === "bigint", + function: (val) => typeof val === "function", + boolean: (val) => typeof val === "boolean", + string: (val) => typeof val === "string", + stringOrUint8Array: (val) => typeof val === "string" || val instanceof Uint8Array, + isSafeInteger: (val) => Number.isSafeInteger(val), + array: (val) => Array.isArray(val), + field: (val, object) => object.Fp.isValid(val), + hash: (val) => typeof val === "function" && Number.isSafeInteger(val.outputLen) + }; + function validateObject(object, validators, optValidators = {}) { + const checkField = (fieldName, type, isOptional) => { + const checkVal = validatorFns[type]; + if (typeof checkVal !== "function") + throw new Error(`Invalid validator "${type}", expected function`); + const val = object[fieldName]; + if (isOptional && val === void 0) + return; + if (!checkVal(val, object)) { + throw new Error(`Invalid param ${String(fieldName)}=${val} (${typeof val}), expected ${type}`); + } + }; + for (const [fieldName, type] of Object.entries(validators)) + checkField(fieldName, type, false); + for (const [fieldName, type] of Object.entries(optValidators)) + checkField(fieldName, type, true); + return object; + } + + // node_modules/@noble/curves/esm/abstract/modular.js + var _0n2 = BigInt(0); + var _1n2 = BigInt(1); + var _2n2 = BigInt(2); + var _3n = BigInt(3); + var _4n = BigInt(4); + var _5n = BigInt(5); + var _8n = BigInt(8); + var _9n = BigInt(9); + var _16n = BigInt(16); + function mod(a, b) { + const result = a % b; + return result >= _0n2 ? result : b + result; + } + function pow(num, power, modulo) { + if (modulo <= _0n2 || power < _0n2) + throw new Error("Expected power/modulo > 0"); + if (modulo === _1n2) + return _0n2; + let res = _1n2; + while (power > _0n2) { + if (power & _1n2) + res = res * num % modulo; + num = num * num % modulo; + power >>= _1n2; + } + return res; + } + function pow2(x, power, modulo) { + let res = x; + while (power-- > _0n2) { + res *= res; + res %= modulo; + } + return res; + } + function invert(number4, modulo) { + if (number4 === _0n2 || modulo <= _0n2) { + throw new Error(`invert: expected positive integers, got n=${number4} mod=${modulo}`); + } + let a = mod(number4, modulo); + let b = modulo; + let x = _0n2, y = _1n2, u = _1n2, v = _0n2; + while (a !== _0n2) { + const q = b / a; + const r = b % a; + const m = x - u * q; + const n = y - v * q; + b = a, a = r, x = u, y = v, u = m, v = n; + } + const gcd2 = b; + if (gcd2 !== _1n2) + throw new Error("invert: does not exist"); + return mod(x, modulo); + } + function tonelliShanks(P) { + const legendreC = (P - _1n2) / _2n2; + let Q, S, Z; + for (Q = P - _1n2, S = 0; Q % _2n2 === _0n2; Q /= _2n2, S++) + ; + for (Z = _2n2; Z < P && pow(Z, legendreC, P) !== P - _1n2; Z++) + ; + if (S === 1) { + const p1div4 = (P + _1n2) / _4n; + return function tonelliFast(Fp2, n) { + const root = Fp2.pow(n, p1div4); + if (!Fp2.eql(Fp2.sqr(root), n)) + throw new Error("Cannot find square root"); + return root; + }; + } + const Q1div2 = (Q + _1n2) / _2n2; + return function tonelliSlow(Fp2, n) { + if (Fp2.pow(n, legendreC) === Fp2.neg(Fp2.ONE)) + throw new Error("Cannot find square root"); + let r = S; + let g = Fp2.pow(Fp2.mul(Fp2.ONE, Z), Q); + let x = Fp2.pow(n, Q1div2); + let b = Fp2.pow(n, Q); + while (!Fp2.eql(b, Fp2.ONE)) { + if (Fp2.eql(b, Fp2.ZERO)) + return Fp2.ZERO; + let m = 1; + for (let t2 = Fp2.sqr(b); m < r; m++) { + if (Fp2.eql(t2, Fp2.ONE)) + break; + t2 = Fp2.sqr(t2); + } + const ge2 = Fp2.pow(g, _1n2 << BigInt(r - m - 1)); + g = Fp2.sqr(ge2); + x = Fp2.mul(x, ge2); + b = Fp2.mul(b, g); + r = m; + } + return x; + }; + } + function FpSqrt(P) { + if (P % _4n === _3n) { + const p1div4 = (P + _1n2) / _4n; + return function sqrt3mod4(Fp2, n) { + const root = Fp2.pow(n, p1div4); + if (!Fp2.eql(Fp2.sqr(root), n)) + throw new Error("Cannot find square root"); + return root; + }; + } + if (P % _8n === _5n) { + const c1 = (P - _5n) / _8n; + return function sqrt5mod8(Fp2, n) { + const n2 = Fp2.mul(n, _2n2); + const v = Fp2.pow(n2, c1); + const nv = Fp2.mul(n, v); + const i2 = Fp2.mul(Fp2.mul(nv, _2n2), v); + const root = Fp2.mul(nv, Fp2.sub(i2, Fp2.ONE)); + if (!Fp2.eql(Fp2.sqr(root), n)) + throw new Error("Cannot find square root"); + return root; + }; + } + if (P % _16n === _9n) { + } + return tonelliShanks(P); + } + var FIELD_FIELDS = [ + "create", + "isValid", + "is0", + "neg", + "inv", + "sqrt", + "sqr", + "eql", + "add", + "sub", + "mul", + "pow", + "div", + "addN", + "subN", + "mulN", + "sqrN" + ]; + function validateField(field) { + const initial = { + ORDER: "bigint", + MASK: "bigint", + BYTES: "isSafeInteger", + BITS: "isSafeInteger" + }; + const opts = FIELD_FIELDS.reduce((map, val) => { + map[val] = "function"; + return map; + }, initial); + return validateObject(field, opts); + } + function FpPow(f, num, power) { + if (power < _0n2) + throw new Error("Expected power > 0"); + if (power === _0n2) + return f.ONE; + if (power === _1n2) + return num; + let p = f.ONE; + let d = num; + while (power > _0n2) { + if (power & _1n2) + p = f.mul(p, d); + d = f.sqr(d); + power >>= _1n2; + } + return p; + } + function FpInvertBatch(f, nums) { + const tmp = new Array(nums.length); + const lastMultiplied = nums.reduce((acc, num, i2) => { + if (f.is0(num)) + return acc; + tmp[i2] = acc; + return f.mul(acc, num); + }, f.ONE); + const inverted = f.inv(lastMultiplied); + nums.reduceRight((acc, num, i2) => { + if (f.is0(num)) + return acc; + tmp[i2] = f.mul(acc, tmp[i2]); + return f.mul(acc, num); + }, inverted); + return tmp; + } + function nLength(n, nBitLength) { + const _nBitLength = nBitLength !== void 0 ? nBitLength : n.toString(2).length; + const nByteLength = Math.ceil(_nBitLength / 8); + return { nBitLength: _nBitLength, nByteLength }; + } + function Field(ORDER, bitLen2, isLE4 = false, redef = {}) { + if (ORDER <= _0n2) + throw new Error(`Expected Field ORDER > 0, got ${ORDER}`); + const { nBitLength: BITS, nByteLength: BYTES } = nLength(ORDER, bitLen2); + if (BYTES > 2048) + throw new Error("Field lengths over 2048 bytes are not supported"); + const sqrtP = FpSqrt(ORDER); + const f = Object.freeze({ + ORDER, + BITS, + BYTES, + MASK: bitMask(BITS), + ZERO: _0n2, + ONE: _1n2, + create: (num) => mod(num, ORDER), + isValid: (num) => { + if (typeof num !== "bigint") + throw new Error(`Invalid field element: expected bigint, got ${typeof num}`); + return _0n2 <= num && num < ORDER; + }, + is0: (num) => num === _0n2, + isOdd: (num) => (num & _1n2) === _1n2, + neg: (num) => mod(-num, ORDER), + eql: (lhs, rhs) => lhs === rhs, + sqr: (num) => mod(num * num, ORDER), + add: (lhs, rhs) => mod(lhs + rhs, ORDER), + sub: (lhs, rhs) => mod(lhs - rhs, ORDER), + mul: (lhs, rhs) => mod(lhs * rhs, ORDER), + pow: (num, power) => FpPow(f, num, power), + div: (lhs, rhs) => mod(lhs * invert(rhs, ORDER), ORDER), + sqrN: (num) => num * num, + addN: (lhs, rhs) => lhs + rhs, + subN: (lhs, rhs) => lhs - rhs, + mulN: (lhs, rhs) => lhs * rhs, + inv: (num) => invert(num, ORDER), + sqrt: redef.sqrt || ((n) => sqrtP(f, n)), + invertBatch: (lst) => FpInvertBatch(f, lst), + cmov: (a, b, c) => c ? b : a, + toBytes: (num) => isLE4 ? numberToBytesLE(num, BYTES) : numberToBytesBE(num, BYTES), + fromBytes: (bytes4) => { + if (bytes4.length !== BYTES) + throw new Error(`Fp.fromBytes: expected ${BYTES}, got ${bytes4.length}`); + return isLE4 ? bytesToNumberLE(bytes4) : bytesToNumberBE(bytes4); + } + }); + return Object.freeze(f); + } + function getFieldBytesLength(fieldOrder) { + if (typeof fieldOrder !== "bigint") + throw new Error("field order must be bigint"); + const bitLength = fieldOrder.toString(2).length; + return Math.ceil(bitLength / 8); + } + function getMinHashLength(fieldOrder) { + const length = getFieldBytesLength(fieldOrder); + return length + Math.ceil(length / 2); + } + function mapHashToField(key, fieldOrder, isLE4 = false) { + const len = key.length; + const fieldLen = getFieldBytesLength(fieldOrder); + const minLen = getMinHashLength(fieldOrder); + if (len < 16 || len < minLen || len > 1024) + throw new Error(`expected ${minLen}-1024 bytes of input, got ${len}`); + const num = isLE4 ? bytesToNumberBE(key) : bytesToNumberLE(key); + const reduced = mod(num, fieldOrder - _1n2) + _1n2; + return isLE4 ? numberToBytesLE(reduced, fieldLen) : numberToBytesBE(reduced, fieldLen); + } + + // node_modules/@noble/curves/esm/abstract/curve.js + var _0n3 = BigInt(0); + var _1n3 = BigInt(1); + function wNAF(c, bits) { + const constTimeNegate = (condition, item) => { + const neg = item.negate(); + return condition ? neg : item; + }; + const opts = (W) => { + const windows = Math.ceil(bits / W) + 1; + const windowSize = 2 ** (W - 1); + return { windows, windowSize }; + }; + return { + constTimeNegate, + unsafeLadder(elm, n) { + let p = c.ZERO; + let d = elm; + while (n > _0n3) { + if (n & _1n3) + p = p.add(d); + d = d.double(); + n >>= _1n3; + } + return p; + }, + precomputeWindow(elm, W) { + const { windows, windowSize } = opts(W); + const points = []; + let p = elm; + let base = p; + for (let window = 0; window < windows; window++) { + base = p; + points.push(base); + for (let i2 = 1; i2 < windowSize; i2++) { + base = base.add(p); + points.push(base); + } + p = base.double(); + } + return points; + }, + wNAF(W, precomputes, n) { + const { windows, windowSize } = opts(W); + let p = c.ZERO; + let f = c.BASE; + const mask = BigInt(2 ** W - 1); + const maxNumber = 2 ** W; + const shiftBy = BigInt(W); + for (let window = 0; window < windows; window++) { + const offset = window * windowSize; + let wbits = Number(n & mask); + n >>= shiftBy; + if (wbits > windowSize) { + wbits -= maxNumber; + n += _1n3; + } + const offset1 = offset; + const offset2 = offset + Math.abs(wbits) - 1; + const cond1 = window % 2 !== 0; + const cond2 = wbits < 0; + if (wbits === 0) { + f = f.add(constTimeNegate(cond1, precomputes[offset1])); + } else { + p = p.add(constTimeNegate(cond2, precomputes[offset2])); + } + } + return { p, f }; + }, + wNAFCached(P, precomputesMap, n, transform) { + const W = P._WINDOW_SIZE || 1; + let comp = precomputesMap.get(P); + if (!comp) { + comp = this.precomputeWindow(P, W); + if (W !== 1) { + precomputesMap.set(P, transform(comp)); + } + } + return this.wNAF(W, comp, n); + } + }; + } + function validateBasic(curve) { + validateField(curve.Fp); + validateObject(curve, { + n: "bigint", + h: "bigint", + Gx: "field", + Gy: "field" + }, { + nBitLength: "isSafeInteger", + nByteLength: "isSafeInteger" + }); + return Object.freeze({ + ...nLength(curve.n, curve.nBitLength), + ...curve, + ...{ p: curve.Fp.ORDER } + }); + } + + // node_modules/@noble/curves/esm/abstract/weierstrass.js + function validatePointOpts(curve) { + const opts = validateBasic(curve); + validateObject(opts, { + a: "field", + b: "field" + }, { + allowedPrivateKeyLengths: "array", + wrapPrivateKey: "boolean", + isTorsionFree: "function", + clearCofactor: "function", + allowInfinityPoint: "boolean", + fromBytes: "function", + toBytes: "function" + }); + const { endo, Fp: Fp2, a } = opts; + if (endo) { + if (!Fp2.eql(a, Fp2.ZERO)) { + throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0"); + } + if (typeof endo !== "object" || typeof endo.beta !== "bigint" || typeof endo.splitScalar !== "function") { + throw new Error("Expected endomorphism with beta: bigint and splitScalar: function"); + } + } + return Object.freeze({ ...opts }); + } + var { bytesToNumberBE: b2n, hexToBytes: h2b } = utils_exports; + var DER = { + Err: class DERErr extends Error { + constructor(m = "") { + super(m); + } + }, + _parseInt(data) { + const { Err: E } = DER; + if (data.length < 2 || data[0] !== 2) + throw new E("Invalid signature integer tag"); + const len = data[1]; + const res = data.subarray(2, len + 2); + if (!len || res.length !== len) + throw new E("Invalid signature integer: wrong length"); + if (res[0] & 128) + throw new E("Invalid signature integer: negative"); + if (res[0] === 0 && !(res[1] & 128)) + throw new E("Invalid signature integer: unnecessary leading zero"); + return { d: b2n(res), l: data.subarray(len + 2) }; + }, + toSig(hex2) { + const { Err: E } = DER; + const data = typeof hex2 === "string" ? h2b(hex2) : hex2; + if (!(data instanceof Uint8Array)) + throw new Error("ui8a expected"); + let l = data.length; + if (l < 2 || data[0] != 48) + throw new E("Invalid signature tag"); + if (data[1] !== l - 2) + throw new E("Invalid signature: incorrect length"); + const { d: r, l: sBytes } = DER._parseInt(data.subarray(2)); + const { d: s, l: rBytesLeft } = DER._parseInt(sBytes); + if (rBytesLeft.length) + throw new E("Invalid signature: left bytes after parsing"); + return { r, s }; + }, + hexFromSig(sig) { + const slice = (s2) => Number.parseInt(s2[0], 16) & 8 ? "00" + s2 : s2; + const h = (num) => { + const hex2 = num.toString(16); + return hex2.length & 1 ? `0${hex2}` : hex2; + }; + const s = slice(h(sig.s)); + const r = slice(h(sig.r)); + const shl = s.length / 2; + const rhl = r.length / 2; + const sl = h(shl); + const rl = h(rhl); + return `30${h(rhl + shl + 4)}02${rl}${r}02${sl}${s}`; + } + }; + var _0n4 = BigInt(0); + var _1n4 = BigInt(1); + var _2n3 = BigInt(2); + var _3n2 = BigInt(3); + var _4n2 = BigInt(4); + function weierstrassPoints(opts) { + const CURVE = validatePointOpts(opts); + const { Fp: Fp2 } = CURVE; + const toBytes4 = CURVE.toBytes || ((_c, point, _isCompressed) => { + const a = point.toAffine(); + return concatBytes2(Uint8Array.from([4]), Fp2.toBytes(a.x), Fp2.toBytes(a.y)); + }); + const fromBytes = CURVE.fromBytes || ((bytes4) => { + const tail = bytes4.subarray(1); + const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); + const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); + return { x, y }; + }); + function weierstrassEquation(x) { + const { a, b } = CURVE; + const x2 = Fp2.sqr(x); + const x3 = Fp2.mul(x2, x); + return Fp2.add(Fp2.add(x3, Fp2.mul(x, a)), b); + } + if (!Fp2.eql(Fp2.sqr(CURVE.Gy), weierstrassEquation(CURVE.Gx))) + throw new Error("bad generator point: equation left != right"); + function isWithinCurveOrder(num) { + return typeof num === "bigint" && _0n4 < num && num < CURVE.n; + } + function assertGE(num) { + if (!isWithinCurveOrder(num)) + throw new Error("Expected valid bigint: 0 < bigint < curve.n"); + } + function normPrivateKeyToScalar(key) { + const { allowedPrivateKeyLengths: lengths, nByteLength, wrapPrivateKey, n } = CURVE; + if (lengths && typeof key !== "bigint") { + if (key instanceof Uint8Array) + key = bytesToHex(key); + if (typeof key !== "string" || !lengths.includes(key.length)) + throw new Error("Invalid key"); + key = key.padStart(nByteLength * 2, "0"); + } + let num; + try { + num = typeof key === "bigint" ? key : bytesToNumberBE(ensureBytes("private key", key, nByteLength)); + } catch (error) { + throw new Error(`private key must be ${nByteLength} bytes, hex or bigint, not ${typeof key}`); + } + if (wrapPrivateKey) + num = mod(num, n); + assertGE(num); + return num; + } + const pointPrecomputes = /* @__PURE__ */ new Map(); + function assertPrjPoint(other) { + if (!(other instanceof Point2)) + throw new Error("ProjectivePoint expected"); + } + class Point2 { + constructor(px, py, pz) { + this.px = px; + this.py = py; + this.pz = pz; + if (px == null || !Fp2.isValid(px)) + throw new Error("x required"); + if (py == null || !Fp2.isValid(py)) + throw new Error("y required"); + if (pz == null || !Fp2.isValid(pz)) + throw new Error("z required"); + } + static fromAffine(p) { + const { x, y } = p || {}; + if (!p || !Fp2.isValid(x) || !Fp2.isValid(y)) + throw new Error("invalid affine point"); + if (p instanceof Point2) + throw new Error("projective point not allowed"); + const is0 = (i2) => Fp2.eql(i2, Fp2.ZERO); + if (is0(x) && is0(y)) + return Point2.ZERO; + return new Point2(x, y, Fp2.ONE); + } + get x() { + return this.toAffine().x; + } + get y() { + return this.toAffine().y; + } + static normalizeZ(points) { + const toInv = Fp2.invertBatch(points.map((p) => p.pz)); + return points.map((p, i2) => p.toAffine(toInv[i2])).map(Point2.fromAffine); + } + static fromHex(hex2) { + const P = Point2.fromAffine(fromBytes(ensureBytes("pointHex", hex2))); + P.assertValidity(); + return P; + } + static fromPrivateKey(privateKey) { + return Point2.BASE.multiply(normPrivateKeyToScalar(privateKey)); + } + _setWindowSize(windowSize) { + this._WINDOW_SIZE = windowSize; + pointPrecomputes.delete(this); + } + assertValidity() { + if (this.is0()) { + if (CURVE.allowInfinityPoint && !Fp2.is0(this.py)) + return; + throw new Error("bad point: ZERO"); + } + const { x, y } = this.toAffine(); + if (!Fp2.isValid(x) || !Fp2.isValid(y)) + throw new Error("bad point: x or y not FE"); + const left = Fp2.sqr(y); + const right = weierstrassEquation(x); + if (!Fp2.eql(left, right)) + throw new Error("bad point: equation left != right"); + if (!this.isTorsionFree()) + throw new Error("bad point: not in prime-order subgroup"); + } + hasEvenY() { + const { y } = this.toAffine(); + if (Fp2.isOdd) + return !Fp2.isOdd(y); + throw new Error("Field doesn't support isOdd"); + } + equals(other) { + assertPrjPoint(other); + const { px: X1, py: Y1, pz: Z1 } = this; + const { px: X2, py: Y2, pz: Z2 } = other; + const U1 = Fp2.eql(Fp2.mul(X1, Z2), Fp2.mul(X2, Z1)); + const U2 = Fp2.eql(Fp2.mul(Y1, Z2), Fp2.mul(Y2, Z1)); + return U1 && U2; + } + negate() { + return new Point2(this.px, Fp2.neg(this.py), this.pz); + } + double() { + const { a, b } = CURVE; + const b3 = Fp2.mul(b, _3n2); + const { px: X1, py: Y1, pz: Z1 } = this; + let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO; + let t0 = Fp2.mul(X1, X1); + let t1 = Fp2.mul(Y1, Y1); + let t2 = Fp2.mul(Z1, Z1); + let t3 = Fp2.mul(X1, Y1); + t3 = Fp2.add(t3, t3); + Z3 = Fp2.mul(X1, Z1); + Z3 = Fp2.add(Z3, Z3); + X3 = Fp2.mul(a, Z3); + Y3 = Fp2.mul(b3, t2); + Y3 = Fp2.add(X3, Y3); + X3 = Fp2.sub(t1, Y3); + Y3 = Fp2.add(t1, Y3); + Y3 = Fp2.mul(X3, Y3); + X3 = Fp2.mul(t3, X3); + Z3 = Fp2.mul(b3, Z3); + t2 = Fp2.mul(a, t2); + t3 = Fp2.sub(t0, t2); + t3 = Fp2.mul(a, t3); + t3 = Fp2.add(t3, Z3); + Z3 = Fp2.add(t0, t0); + t0 = Fp2.add(Z3, t0); + t0 = Fp2.add(t0, t2); + t0 = Fp2.mul(t0, t3); + Y3 = Fp2.add(Y3, t0); + t2 = Fp2.mul(Y1, Z1); + t2 = Fp2.add(t2, t2); + t0 = Fp2.mul(t2, t3); + X3 = Fp2.sub(X3, t0); + Z3 = Fp2.mul(t2, t1); + Z3 = Fp2.add(Z3, Z3); + Z3 = Fp2.add(Z3, Z3); + return new Point2(X3, Y3, Z3); + } + add(other) { + assertPrjPoint(other); + const { px: X1, py: Y1, pz: Z1 } = this; + const { px: X2, py: Y2, pz: Z2 } = other; + let X3 = Fp2.ZERO, Y3 = Fp2.ZERO, Z3 = Fp2.ZERO; + const a = CURVE.a; + const b3 = Fp2.mul(CURVE.b, _3n2); + let t0 = Fp2.mul(X1, X2); + let t1 = Fp2.mul(Y1, Y2); + let t2 = Fp2.mul(Z1, Z2); + let t3 = Fp2.add(X1, Y1); + let t4 = Fp2.add(X2, Y2); + t3 = Fp2.mul(t3, t4); + t4 = Fp2.add(t0, t1); + t3 = Fp2.sub(t3, t4); + t4 = Fp2.add(X1, Z1); + let t5 = Fp2.add(X2, Z2); + t4 = Fp2.mul(t4, t5); + t5 = Fp2.add(t0, t2); + t4 = Fp2.sub(t4, t5); + t5 = Fp2.add(Y1, Z1); + X3 = Fp2.add(Y2, Z2); + t5 = Fp2.mul(t5, X3); + X3 = Fp2.add(t1, t2); + t5 = Fp2.sub(t5, X3); + Z3 = Fp2.mul(a, t4); + X3 = Fp2.mul(b3, t2); + Z3 = Fp2.add(X3, Z3); + X3 = Fp2.sub(t1, Z3); + Z3 = Fp2.add(t1, Z3); + Y3 = Fp2.mul(X3, Z3); + t1 = Fp2.add(t0, t0); + t1 = Fp2.add(t1, t0); + t2 = Fp2.mul(a, t2); + t4 = Fp2.mul(b3, t4); + t1 = Fp2.add(t1, t2); + t2 = Fp2.sub(t0, t2); + t2 = Fp2.mul(a, t2); + t4 = Fp2.add(t4, t2); + t0 = Fp2.mul(t1, t4); + Y3 = Fp2.add(Y3, t0); + t0 = Fp2.mul(t5, t4); + X3 = Fp2.mul(t3, X3); + X3 = Fp2.sub(X3, t0); + t0 = Fp2.mul(t3, t1); + Z3 = Fp2.mul(t5, Z3); + Z3 = Fp2.add(Z3, t0); + return new Point2(X3, Y3, Z3); + } + subtract(other) { + return this.add(other.negate()); + } + is0() { + return this.equals(Point2.ZERO); + } + wNAF(n) { + return wnaf.wNAFCached(this, pointPrecomputes, n, (comp) => { + const toInv = Fp2.invertBatch(comp.map((p) => p.pz)); + return comp.map((p, i2) => p.toAffine(toInv[i2])).map(Point2.fromAffine); + }); + } + multiplyUnsafe(n) { + const I = Point2.ZERO; + if (n === _0n4) + return I; + assertGE(n); + if (n === _1n4) + return this; + const { endo } = CURVE; + if (!endo) + return wnaf.unsafeLadder(this, n); + let { k1neg, k1, k2neg, k2 } = endo.splitScalar(n); + let k1p = I; + let k2p = I; + let d = this; + while (k1 > _0n4 || k2 > _0n4) { + if (k1 & _1n4) + k1p = k1p.add(d); + if (k2 & _1n4) + k2p = k2p.add(d); + d = d.double(); + k1 >>= _1n4; + k2 >>= _1n4; + } + if (k1neg) + k1p = k1p.negate(); + if (k2neg) + k2p = k2p.negate(); + k2p = new Point2(Fp2.mul(k2p.px, endo.beta), k2p.py, k2p.pz); + return k1p.add(k2p); + } + multiply(scalar) { + assertGE(scalar); + let n = scalar; + let point, fake; + const { endo } = CURVE; + if (endo) { + const { k1neg, k1, k2neg, k2 } = endo.splitScalar(n); + let { p: k1p, f: f1p } = this.wNAF(k1); + let { p: k2p, f: f2p } = this.wNAF(k2); + k1p = wnaf.constTimeNegate(k1neg, k1p); + k2p = wnaf.constTimeNegate(k2neg, k2p); + k2p = new Point2(Fp2.mul(k2p.px, endo.beta), k2p.py, k2p.pz); + point = k1p.add(k2p); + fake = f1p.add(f2p); + } else { + const { p, f } = this.wNAF(n); + point = p; + fake = f; + } + return Point2.normalizeZ([point, fake])[0]; + } + multiplyAndAddUnsafe(Q, a, b) { + const G = Point2.BASE; + const mul3 = (P, a2) => a2 === _0n4 || a2 === _1n4 || !P.equals(G) ? P.multiplyUnsafe(a2) : P.multiply(a2); + const sum = mul3(this, a).add(mul3(Q, b)); + return sum.is0() ? void 0 : sum; + } + toAffine(iz) { + const { px: x, py: y, pz: z } = this; + const is0 = this.is0(); + if (iz == null) + iz = is0 ? Fp2.ONE : Fp2.inv(z); + const ax = Fp2.mul(x, iz); + const ay = Fp2.mul(y, iz); + const zz = Fp2.mul(z, iz); + if (is0) + return { x: Fp2.ZERO, y: Fp2.ZERO }; + if (!Fp2.eql(zz, Fp2.ONE)) + throw new Error("invZ was invalid"); + return { x: ax, y: ay }; + } + isTorsionFree() { + const { h: cofactor, isTorsionFree } = CURVE; + if (cofactor === _1n4) + return true; + if (isTorsionFree) + return isTorsionFree(Point2, this); + throw new Error("isTorsionFree() has not been declared for the elliptic curve"); + } + clearCofactor() { + const { h: cofactor, clearCofactor } = CURVE; + if (cofactor === _1n4) + return this; + if (clearCofactor) + return clearCofactor(Point2, this); + return this.multiplyUnsafe(CURVE.h); + } + toRawBytes(isCompressed = true) { + this.assertValidity(); + return toBytes4(Point2, this, isCompressed); + } + toHex(isCompressed = true) { + return bytesToHex(this.toRawBytes(isCompressed)); + } + } + Point2.BASE = new Point2(CURVE.Gx, CURVE.Gy, Fp2.ONE); + Point2.ZERO = new Point2(Fp2.ZERO, Fp2.ONE, Fp2.ZERO); + const _bits = CURVE.nBitLength; + const wnaf = wNAF(Point2, CURVE.endo ? Math.ceil(_bits / 2) : _bits); + return { + CURVE, + ProjectivePoint: Point2, + normPrivateKeyToScalar, + weierstrassEquation, + isWithinCurveOrder + }; + } + function validateOpts(curve) { + const opts = validateBasic(curve); + validateObject(opts, { + hash: "hash", + hmac: "function", + randomBytes: "function" + }, { + bits2int: "function", + bits2int_modN: "function", + lowS: "boolean" + }); + return Object.freeze({ lowS: true, ...opts }); + } + function weierstrass(curveDef) { + const CURVE = validateOpts(curveDef); + const { Fp: Fp2, n: CURVE_ORDER } = CURVE; + const compressedLen = Fp2.BYTES + 1; + const uncompressedLen = 2 * Fp2.BYTES + 1; + function isValidFieldElement(num) { + return _0n4 < num && num < Fp2.ORDER; + } + function modN2(a) { + return mod(a, CURVE_ORDER); + } + function invN(a) { + return invert(a, CURVE_ORDER); + } + const { ProjectivePoint: Point2, normPrivateKeyToScalar, weierstrassEquation, isWithinCurveOrder } = weierstrassPoints({ + ...CURVE, + toBytes(_c, point, isCompressed) { + const a = point.toAffine(); + const x = Fp2.toBytes(a.x); + const cat = concatBytes2; + if (isCompressed) { + return cat(Uint8Array.from([point.hasEvenY() ? 2 : 3]), x); + } else { + return cat(Uint8Array.from([4]), x, Fp2.toBytes(a.y)); + } + }, + fromBytes(bytes4) { + const len = bytes4.length; + const head = bytes4[0]; + const tail = bytes4.subarray(1); + if (len === compressedLen && (head === 2 || head === 3)) { + const x = bytesToNumberBE(tail); + if (!isValidFieldElement(x)) + throw new Error("Point is not on curve"); + const y2 = weierstrassEquation(x); + let y = Fp2.sqrt(y2); + const isYOdd = (y & _1n4) === _1n4; + const isHeadOdd = (head & 1) === 1; + if (isHeadOdd !== isYOdd) + y = Fp2.neg(y); + return { x, y }; + } else if (len === uncompressedLen && head === 4) { + const x = Fp2.fromBytes(tail.subarray(0, Fp2.BYTES)); + const y = Fp2.fromBytes(tail.subarray(Fp2.BYTES, 2 * Fp2.BYTES)); + return { x, y }; + } else { + throw new Error(`Point of length ${len} was invalid. Expected ${compressedLen} compressed bytes or ${uncompressedLen} uncompressed bytes`); + } + } + }); + const numToNByteStr = (num) => bytesToHex(numberToBytesBE(num, CURVE.nByteLength)); + function isBiggerThanHalfOrder(number4) { + const HALF = CURVE_ORDER >> _1n4; + return number4 > HALF; + } + function normalizeS(s) { + return isBiggerThanHalfOrder(s) ? modN2(-s) : s; + } + const slcNum = (b, from, to) => bytesToNumberBE(b.slice(from, to)); + class Signature { + constructor(r, s, recovery) { + this.r = r; + this.s = s; + this.recovery = recovery; + this.assertValidity(); + } + static fromCompact(hex2) { + const l = CURVE.nByteLength; + hex2 = ensureBytes("compactSignature", hex2, l * 2); + return new Signature(slcNum(hex2, 0, l), slcNum(hex2, l, 2 * l)); + } + static fromDER(hex2) { + const { r, s } = DER.toSig(ensureBytes("DER", hex2)); + return new Signature(r, s); + } + assertValidity() { + if (!isWithinCurveOrder(this.r)) + throw new Error("r must be 0 < r < CURVE.n"); + if (!isWithinCurveOrder(this.s)) + throw new Error("s must be 0 < s < CURVE.n"); + } + addRecoveryBit(recovery) { + return new Signature(this.r, this.s, recovery); + } + recoverPublicKey(msgHash) { + const { r, s, recovery: rec } = this; + const h = bits2int_modN(ensureBytes("msgHash", msgHash)); + if (rec == null || ![0, 1, 2, 3].includes(rec)) + throw new Error("recovery id invalid"); + const radj = rec === 2 || rec === 3 ? r + CURVE.n : r; + if (radj >= Fp2.ORDER) + throw new Error("recovery id 2 or 3 invalid"); + const prefix = (rec & 1) === 0 ? "02" : "03"; + const R = Point2.fromHex(prefix + numToNByteStr(radj)); + const ir = invN(radj); + const u1 = modN2(-h * ir); + const u2 = modN2(s * ir); + const Q = Point2.BASE.multiplyAndAddUnsafe(R, u1, u2); + if (!Q) + throw new Error("point at infinify"); + Q.assertValidity(); + return Q; + } + hasHighS() { + return isBiggerThanHalfOrder(this.s); + } + normalizeS() { + return this.hasHighS() ? new Signature(this.r, modN2(-this.s), this.recovery) : this; + } + toDERRawBytes() { + return hexToBytes(this.toDERHex()); + } + toDERHex() { + return DER.hexFromSig({ r: this.r, s: this.s }); + } + toCompactRawBytes() { + return hexToBytes(this.toCompactHex()); + } + toCompactHex() { + return numToNByteStr(this.r) + numToNByteStr(this.s); + } + } + const utils = { + isValidPrivateKey(privateKey) { + try { + normPrivateKeyToScalar(privateKey); + return true; + } catch (error) { + return false; + } + }, + normPrivateKeyToScalar, + randomPrivateKey: () => { + const length = getMinHashLength(CURVE.n); + return mapHashToField(CURVE.randomBytes(length), CURVE.n); + }, + precompute(windowSize = 8, point = Point2.BASE) { + point._setWindowSize(windowSize); + point.multiply(BigInt(3)); + return point; + } + }; + function getPublicKey2(privateKey, isCompressed = true) { + return Point2.fromPrivateKey(privateKey).toRawBytes(isCompressed); + } + function isProbPub(item) { + const arr = item instanceof Uint8Array; + const str = typeof item === "string"; + const len = (arr || str) && item.length; + if (arr) + return len === compressedLen || len === uncompressedLen; + if (str) + return len === 2 * compressedLen || len === 2 * uncompressedLen; + if (item instanceof Point2) + return true; + return false; + } + function getSharedSecret(privateA, publicB, isCompressed = true) { + if (isProbPub(privateA)) + throw new Error("first arg must be private key"); + if (!isProbPub(publicB)) + throw new Error("second arg must be public key"); + const b = Point2.fromHex(publicB); + return b.multiply(normPrivateKeyToScalar(privateA)).toRawBytes(isCompressed); + } + const bits2int = CURVE.bits2int || function(bytes4) { + const num = bytesToNumberBE(bytes4); + const delta = bytes4.length * 8 - CURVE.nBitLength; + return delta > 0 ? num >> BigInt(delta) : num; + }; + const bits2int_modN = CURVE.bits2int_modN || function(bytes4) { + return modN2(bits2int(bytes4)); + }; + const ORDER_MASK = bitMask(CURVE.nBitLength); + function int2octets(num) { + if (typeof num !== "bigint") + throw new Error("bigint expected"); + if (!(_0n4 <= num && num < ORDER_MASK)) + throw new Error(`bigint expected < 2^${CURVE.nBitLength}`); + return numberToBytesBE(num, CURVE.nByteLength); + } + function prepSig(msgHash, privateKey, opts = defaultSigOpts) { + if (["recovered", "canonical"].some((k) => k in opts)) + throw new Error("sign() legacy options not supported"); + const { hash: hash3, randomBytes: randomBytes3 } = CURVE; + let { lowS, prehash, extraEntropy: ent } = opts; + if (lowS == null) + lowS = true; + msgHash = ensureBytes("msgHash", msgHash); + if (prehash) + msgHash = ensureBytes("prehashed msgHash", hash3(msgHash)); + const h1int = bits2int_modN(msgHash); + const d = normPrivateKeyToScalar(privateKey); + const seedArgs = [int2octets(d), int2octets(h1int)]; + if (ent != null) { + const e = ent === true ? randomBytes3(Fp2.BYTES) : ent; + seedArgs.push(ensureBytes("extraEntropy", e)); + } + const seed = concatBytes2(...seedArgs); + const m = h1int; + function k2sig(kBytes) { + const k = bits2int(kBytes); + if (!isWithinCurveOrder(k)) + return; + const ik = invN(k); + const q = Point2.BASE.multiply(k).toAffine(); + const r = modN2(q.x); + if (r === _0n4) + return; + const s = modN2(ik * modN2(m + r * d)); + if (s === _0n4) + return; + let recovery = (q.x === r ? 0 : 2) | Number(q.y & _1n4); + let normS = s; + if (lowS && isBiggerThanHalfOrder(s)) { + normS = normalizeS(s); + recovery ^= 1; + } + return new Signature(r, normS, recovery); + } + return { seed, k2sig }; + } + const defaultSigOpts = { lowS: CURVE.lowS, prehash: false }; + const defaultVerOpts = { lowS: CURVE.lowS, prehash: false }; + function sign(msgHash, privKey, opts = defaultSigOpts) { + const { seed, k2sig } = prepSig(msgHash, privKey, opts); + const C = CURVE; + const drbg = createHmacDrbg(C.hash.outputLen, C.nByteLength, C.hmac); + return drbg(seed, k2sig); + } + Point2.BASE._setWindowSize(8); + function verify(signature, msgHash, publicKey, opts = defaultVerOpts) { + const sg = signature; + msgHash = ensureBytes("msgHash", msgHash); + publicKey = ensureBytes("publicKey", publicKey); + if ("strict" in opts) + throw new Error("options.strict was renamed to lowS"); + const { lowS, prehash } = opts; + let _sig = void 0; + let P; + try { + if (typeof sg === "string" || sg instanceof Uint8Array) { + try { + _sig = Signature.fromDER(sg); + } catch (derError) { + if (!(derError instanceof DER.Err)) + throw derError; + _sig = Signature.fromCompact(sg); + } + } else if (typeof sg === "object" && typeof sg.r === "bigint" && typeof sg.s === "bigint") { + const { r: r2, s: s2 } = sg; + _sig = new Signature(r2, s2); + } else { + throw new Error("PARSE"); + } + P = Point2.fromHex(publicKey); + } catch (error) { + if (error.message === "PARSE") + throw new Error(`signature must be Signature instance, Uint8Array or hex string`); + return false; + } + if (lowS && _sig.hasHighS()) + return false; + if (prehash) + msgHash = CURVE.hash(msgHash); + const { r, s } = _sig; + const h = bits2int_modN(msgHash); + const is = invN(s); + const u1 = modN2(h * is); + const u2 = modN2(r * is); + const R = Point2.BASE.multiplyAndAddUnsafe(P, u1, u2)?.toAffine(); + if (!R) + return false; + const v = modN2(R.x); + return v === r; + } + return { + CURVE, + getPublicKey: getPublicKey2, + getSharedSecret, + sign, + verify, + ProjectivePoint: Point2, + Signature, + utils + }; + } + + // node_modules/@noble/curves/node_modules/@noble/hashes/esm/hmac.js + var HMAC = class extends Hash { + constructor(hash3, _key) { + super(); + this.finished = false; + this.destroyed = false; + hash(hash3); + const key = toBytes(_key); + this.iHash = hash3.create(); + if (typeof this.iHash.update !== "function") + throw new Error("Expected instance of class which extends utils.Hash"); + this.blockLen = this.iHash.blockLen; + this.outputLen = this.iHash.outputLen; + const blockLen = this.blockLen; + const pad2 = new Uint8Array(blockLen); + pad2.set(key.length > blockLen ? hash3.create().update(key).digest() : key); + for (let i2 = 0; i2 < pad2.length; i2++) + pad2[i2] ^= 54; + this.iHash.update(pad2); + this.oHash = hash3.create(); + for (let i2 = 0; i2 < pad2.length; i2++) + pad2[i2] ^= 54 ^ 92; + this.oHash.update(pad2); + pad2.fill(0); + } + update(buf) { + exists(this); + this.iHash.update(buf); + return this; + } + digestInto(out) { + exists(this); + bytes(out, this.outputLen); + this.finished = true; + this.iHash.digestInto(out); + this.oHash.update(out); + this.oHash.digestInto(out); + this.destroy(); + } + digest() { + const out = new Uint8Array(this.oHash.outputLen); + this.digestInto(out); + return out; + } + _cloneInto(to) { + to || (to = Object.create(Object.getPrototypeOf(this), {})); + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + to = to; + to.finished = finished; + to.destroyed = destroyed; + to.blockLen = blockLen; + to.outputLen = outputLen; + to.oHash = oHash._cloneInto(to.oHash); + to.iHash = iHash._cloneInto(to.iHash); + return to; + } + destroy() { + this.destroyed = true; + this.oHash.destroy(); + this.iHash.destroy(); + } + }; + var hmac = (hash3, key, message) => new HMAC(hash3, key).update(message).digest(); + hmac.create = (hash3, key) => new HMAC(hash3, key); + + // node_modules/@noble/curves/esm/_shortw_utils.js + function getHash(hash3) { + return { + hash: hash3, + hmac: (key, ...msgs) => hmac(hash3, key, concatBytes(...msgs)), + randomBytes + }; + } + function createCurve(curveDef, defHash) { + const create = (hash3) => weierstrass({ ...curveDef, ...getHash(hash3) }); + return Object.freeze({ ...create(defHash), create }); + } + + // node_modules/@noble/curves/esm/secp256k1.js + var secp256k1P = BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"); + var secp256k1N = BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"); + var _1n5 = BigInt(1); + var _2n4 = BigInt(2); + var divNearest = (a, b) => (a + b / _2n4) / b; + function sqrtMod(y) { + const P = secp256k1P; + const _3n3 = BigInt(3), _6n = BigInt(6), _11n = BigInt(11), _22n = BigInt(22); + const _23n = BigInt(23), _44n = BigInt(44), _88n = BigInt(88); + const b2 = y * y * y % P; + const b3 = b2 * b2 * y % P; + const b6 = pow2(b3, _3n3, P) * b3 % P; + const b9 = pow2(b6, _3n3, P) * b3 % P; + const b11 = pow2(b9, _2n4, P) * b2 % P; + const b22 = pow2(b11, _11n, P) * b11 % P; + const b44 = pow2(b22, _22n, P) * b22 % P; + const b88 = pow2(b44, _44n, P) * b44 % P; + const b176 = pow2(b88, _88n, P) * b88 % P; + const b220 = pow2(b176, _44n, P) * b44 % P; + const b223 = pow2(b220, _3n3, P) * b3 % P; + const t1 = pow2(b223, _23n, P) * b22 % P; + const t2 = pow2(t1, _6n, P) * b2 % P; + const root = pow2(t2, _2n4, P); + if (!Fp.eql(Fp.sqr(root), y)) + throw new Error("Cannot find square root"); + return root; + } + var Fp = Field(secp256k1P, void 0, void 0, { sqrt: sqrtMod }); + var secp256k1 = createCurve({ + a: BigInt(0), + b: BigInt(7), + Fp, + n: secp256k1N, + Gx: BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"), + Gy: BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"), + h: BigInt(1), + lowS: true, + endo: { + beta: BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"), + splitScalar: (k) => { + const n = secp256k1N; + const a1 = BigInt("0x3086d221a7d46bcde86c90e49284eb15"); + const b1 = -_1n5 * BigInt("0xe4437ed6010e88286f547fa90abfe4c3"); + const a2 = BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"); + const b2 = a1; + const POW_2_128 = BigInt("0x100000000000000000000000000000000"); + const c1 = divNearest(b2 * k, n); + const c2 = divNearest(-b1 * k, n); + let k1 = mod(k - c1 * a1 - c2 * a2, n); + let k2 = mod(-c1 * b1 - c2 * b2, n); + const k1neg = k1 > POW_2_128; + const k2neg = k2 > POW_2_128; + if (k1neg) + k1 = n - k1; + if (k2neg) + k2 = n - k2; + if (k1 > POW_2_128 || k2 > POW_2_128) { + throw new Error("splitScalar: Endomorphism failed, k=" + k); + } + return { k1neg, k1, k2neg, k2 }; + } + } + }, sha256); + var _0n5 = BigInt(0); + var fe = (x) => typeof x === "bigint" && _0n5 < x && x < secp256k1P; + var ge = (x) => typeof x === "bigint" && _0n5 < x && x < secp256k1N; + var TAGGED_HASH_PREFIXES = {}; + function taggedHash(tag, ...messages) { + let tagP = TAGGED_HASH_PREFIXES[tag]; + if (tagP === void 0) { + const tagH = sha256(Uint8Array.from(tag, (c) => c.charCodeAt(0))); + tagP = concatBytes2(tagH, tagH); + TAGGED_HASH_PREFIXES[tag] = tagP; + } + return sha256(concatBytes2(tagP, ...messages)); + } + var pointToBytes = (point) => point.toRawBytes(true).slice(1); + var numTo32b = (n) => numberToBytesBE(n, 32); + var modP = (x) => mod(x, secp256k1P); + var modN = (x) => mod(x, secp256k1N); + var Point = secp256k1.ProjectivePoint; + var GmulAdd = (Q, a, b) => Point.BASE.multiplyAndAddUnsafe(Q, a, b); + function schnorrGetExtPubKey(priv) { + let d_ = secp256k1.utils.normPrivateKeyToScalar(priv); + let p = Point.fromPrivateKey(d_); + const scalar = p.hasEvenY() ? d_ : modN(-d_); + return { scalar, bytes: pointToBytes(p) }; + } + function lift_x(x) { + if (!fe(x)) + throw new Error("bad x: need 0 < x < p"); + const xx = modP(x * x); + const c = modP(xx * x + BigInt(7)); + let y = sqrtMod(c); + if (y % _2n4 !== _0n5) + y = modP(-y); + const p = new Point(x, y, _1n5); + p.assertValidity(); + return p; + } + function challenge(...args) { + return modN(bytesToNumberBE(taggedHash("BIP0340/challenge", ...args))); + } + function schnorrGetPublicKey(privateKey) { + return schnorrGetExtPubKey(privateKey).bytes; + } + function schnorrSign(message, privateKey, auxRand = randomBytes(32)) { + const m = ensureBytes("message", message); + const { bytes: px, scalar: d } = schnorrGetExtPubKey(privateKey); + const a = ensureBytes("auxRand", auxRand, 32); + const t = numTo32b(d ^ bytesToNumberBE(taggedHash("BIP0340/aux", a))); + const rand = taggedHash("BIP0340/nonce", t, px, m); + const k_ = modN(bytesToNumberBE(rand)); + if (k_ === _0n5) + throw new Error("sign failed: k is zero"); + const { bytes: rx, scalar: k } = schnorrGetExtPubKey(k_); + const e = challenge(rx, px, m); + const sig = new Uint8Array(64); + sig.set(rx, 0); + sig.set(numTo32b(modN(k + e * d)), 32); + if (!schnorrVerify(sig, m, px)) + throw new Error("sign: Invalid signature produced"); + return sig; + } + function schnorrVerify(signature, message, publicKey) { + const sig = ensureBytes("signature", signature, 64); + const m = ensureBytes("message", message); + const pub = ensureBytes("publicKey", publicKey, 32); + try { + const P = lift_x(bytesToNumberBE(pub)); + const r = bytesToNumberBE(sig.subarray(0, 32)); + if (!fe(r)) + return false; + const s = bytesToNumberBE(sig.subarray(32, 64)); + if (!ge(s)) + return false; + const e = challenge(numTo32b(r), pointToBytes(P), m); + const R = GmulAdd(P, s, modN(-e)); + if (!R || !R.hasEvenY() || R.toAffine().x !== r) + return false; + return true; + } catch (error) { + return false; + } + } + var schnorr = /* @__PURE__ */ (() => ({ + getPublicKey: schnorrGetPublicKey, + sign: schnorrSign, + verify: schnorrVerify, + utils: { + randomPrivateKey: secp256k1.utils.randomPrivateKey, + lift_x, + pointToBytes, + numberToBytesBE, + bytesToNumberBE, + taggedHash, + mod + } + }))(); + + // node_modules/@noble/hashes/esm/crypto.js + var crypto2 = typeof globalThis === "object" && "crypto" in globalThis ? globalThis.crypto : void 0; + + // node_modules/@noble/hashes/esm/utils.js + var u8a3 = (a) => a instanceof Uint8Array; + var createView2 = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var rotr2 = (word, shift) => word << 32 - shift | word >>> shift; + var isLE2 = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; + if (!isLE2) + throw new Error("Non little-endian hardware is not supported"); + var hexes2 = Array.from({ length: 256 }, (v, i2) => i2.toString(16).padStart(2, "0")); + function bytesToHex2(bytes4) { + if (!u8a3(bytes4)) + throw new Error("Uint8Array expected"); + let hex2 = ""; + for (let i2 = 0; i2 < bytes4.length; i2++) { + hex2 += hexes2[bytes4[i2]]; + } + return hex2; + } + function hexToBytes2(hex2) { + if (typeof hex2 !== "string") + throw new Error("hex string expected, got " + typeof hex2); + const len = hex2.length; + if (len % 2) + throw new Error("padded hex string expected, got unpadded hex of length " + len); + const array = new Uint8Array(len / 2); + for (let i2 = 0; i2 < array.length; i2++) { + const j = i2 * 2; + const hexByte = hex2.slice(j, j + 2); + const byte = Number.parseInt(hexByte, 16); + if (Number.isNaN(byte) || byte < 0) + throw new Error("Invalid byte sequence"); + array[i2] = byte; + } + return array; + } + function utf8ToBytes3(str) { + if (typeof str !== "string") + throw new Error(`utf8ToBytes expected string, got ${typeof str}`); + return new Uint8Array(new TextEncoder().encode(str)); + } + function toBytes2(data) { + if (typeof data === "string") + data = utf8ToBytes3(data); + if (!u8a3(data)) + throw new Error(`expected Uint8Array, got ${typeof data}`); + return data; + } + function concatBytes3(...arrays) { + const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0)); + let pad2 = 0; + arrays.forEach((a) => { + if (!u8a3(a)) + throw new Error("Uint8Array expected"); + r.set(a, pad2); + pad2 += a.length; + }); + return r; + } + var Hash2 = class { + clone() { + return this._cloneInto(); + } + }; + function wrapConstructor2(hashCons) { + const hashC = (msg) => hashCons().update(toBytes2(msg)).digest(); + const tmp = hashCons(); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = () => hashCons(); + return hashC; + } + function randomBytes2(bytesLength = 32) { + if (crypto2 && typeof crypto2.getRandomValues === "function") { + return crypto2.getRandomValues(new Uint8Array(bytesLength)); + } + throw new Error("crypto.getRandomValues must be defined"); + } + + // core.ts + var verifiedSymbol = Symbol("verified"); + var isRecord = (obj) => obj instanceof Object; + function validateEvent(event) { + if (!isRecord(event)) + return false; + if (typeof event.kind !== "number") + return false; + if (typeof event.content !== "string") + return false; + if (typeof event.created_at !== "number") + return false; + if (typeof event.pubkey !== "string") + return false; + if (!event.pubkey.match(/^[a-f0-9]{64}$/)) + return false; + if (!Array.isArray(event.tags)) + return false; + for (let i2 = 0; i2 < event.tags.length; i2++) { + let tag = event.tags[i2]; + if (!Array.isArray(tag)) + return false; + for (let j = 0; j < tag.length; j++) { + if (typeof tag[j] === "object") + return false; + } + } + return true; + } + function sortEvents(events) { + return events.sort((a, b) => { + if (a.created_at !== b.created_at) { + return b.created_at - a.created_at; + } + return a.id.localeCompare(b.id); + }); + } + + // node_modules/@noble/hashes/esm/_assert.js + function number2(n) { + if (!Number.isSafeInteger(n) || n < 0) + throw new Error(`Wrong positive integer: ${n}`); + } + function bool(b) { + if (typeof b !== "boolean") + throw new Error(`Expected boolean, not ${b}`); + } + function bytes2(b, ...lengths) { + if (!(b instanceof Uint8Array)) + throw new Error("Expected Uint8Array"); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error(`Expected Uint8Array of length ${lengths}, not of length=${b.length}`); + } + function hash2(hash3) { + if (typeof hash3 !== "function" || typeof hash3.create !== "function") + throw new Error("Hash should be wrapped by utils.wrapConstructor"); + number2(hash3.outputLen); + number2(hash3.blockLen); + } + function exists2(instance, checkFinished = true) { + if (instance.destroyed) + throw new Error("Hash instance has been destroyed"); + if (checkFinished && instance.finished) + throw new Error("Hash#digest() has already been called"); + } + function output2(out, instance) { + bytes2(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error(`digestInto() expects output buffer of length at least ${min}`); + } + } + var assert = { + number: number2, + bool, + bytes: bytes2, + hash: hash2, + exists: exists2, + output: output2 + }; + var assert_default = assert; + + // node_modules/@noble/hashes/esm/_sha2.js + function setBigUint642(view, byteOffset, value, isLE4) { + if (typeof view.setBigUint64 === "function") + return view.setBigUint64(byteOffset, value, isLE4); + const _32n = BigInt(32); + const _u32_max = BigInt(4294967295); + const wh = Number(value >> _32n & _u32_max); + const wl = Number(value & _u32_max); + const h = isLE4 ? 4 : 0; + const l = isLE4 ? 0 : 4; + view.setUint32(byteOffset + h, wh, isLE4); + view.setUint32(byteOffset + l, wl, isLE4); + } + var SHA22 = class extends Hash2 { + constructor(blockLen, outputLen, padOffset, isLE4) { + super(); + this.blockLen = blockLen; + this.outputLen = outputLen; + this.padOffset = padOffset; + this.isLE = isLE4; + this.finished = false; + this.length = 0; + this.pos = 0; + this.destroyed = false; + this.buffer = new Uint8Array(blockLen); + this.view = createView2(this.buffer); + } + update(data) { + assert_default.exists(this); + const { view, buffer, blockLen } = this; + data = toBytes2(data); + const len = data.length; + for (let pos = 0; pos < len; ) { + const take = Math.min(blockLen - this.pos, len - pos); + if (take === blockLen) { + const dataView = createView2(data); + for (; blockLen <= len - pos; pos += blockLen) + this.process(dataView, pos); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.process(view, 0); + this.pos = 0; + } + } + this.length += data.length; + this.roundClean(); + return this; + } + digestInto(out) { + assert_default.exists(this); + assert_default.output(out, this); + this.finished = true; + const { buffer, view, blockLen, isLE: isLE4 } = this; + let { pos } = this; + buffer[pos++] = 128; + this.buffer.subarray(pos).fill(0); + if (this.padOffset > blockLen - pos) { + this.process(view, 0); + pos = 0; + } + for (let i2 = pos; i2 < blockLen; i2++) + buffer[i2] = 0; + setBigUint642(view, blockLen - 8, BigInt(this.length * 8), isLE4); + this.process(view, 0); + const oview = createView2(out); + const len = this.outputLen; + if (len % 4) + throw new Error("_sha2: outputLen should be aligned to 32bit"); + const outLen = len / 4; + const state = this.get(); + if (outLen > state.length) + throw new Error("_sha2: outputLen bigger than state"); + for (let i2 = 0; i2 < outLen; i2++) + oview.setUint32(4 * i2, state[i2], isLE4); + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + _cloneInto(to) { + to || (to = new this.constructor()); + to.set(...this.get()); + const { blockLen, buffer, length, finished, destroyed, pos } = this; + to.length = length; + to.pos = pos; + to.finished = finished; + to.destroyed = destroyed; + if (length % blockLen) + to.buffer.set(buffer); + return to; + } + }; + + // node_modules/@noble/hashes/esm/sha256.js + var Chi2 = (a, b, c) => a & b ^ ~a & c; + var Maj2 = (a, b, c) => a & b ^ a & c ^ b & c; + var SHA256_K2 = new Uint32Array([ + 1116352408, + 1899447441, + 3049323471, + 3921009573, + 961987163, + 1508970993, + 2453635748, + 2870763221, + 3624381080, + 310598401, + 607225278, + 1426881987, + 1925078388, + 2162078206, + 2614888103, + 3248222580, + 3835390401, + 4022224774, + 264347078, + 604807628, + 770255983, + 1249150122, + 1555081692, + 1996064986, + 2554220882, + 2821834349, + 2952996808, + 3210313671, + 3336571891, + 3584528711, + 113926993, + 338241895, + 666307205, + 773529912, + 1294757372, + 1396182291, + 1695183700, + 1986661051, + 2177026350, + 2456956037, + 2730485921, + 2820302411, + 3259730800, + 3345764771, + 3516065817, + 3600352804, + 4094571909, + 275423344, + 430227734, + 506948616, + 659060556, + 883997877, + 958139571, + 1322822218, + 1537002063, + 1747873779, + 1955562222, + 2024104815, + 2227730452, + 2361852424, + 2428436474, + 2756734187, + 3204031479, + 3329325298 + ]); + var IV2 = new Uint32Array([ + 1779033703, + 3144134277, + 1013904242, + 2773480762, + 1359893119, + 2600822924, + 528734635, + 1541459225 + ]); + var SHA256_W2 = new Uint32Array(64); + var SHA2562 = class extends SHA22 { + constructor() { + super(64, 32, 8, false); + this.A = IV2[0] | 0; + this.B = IV2[1] | 0; + this.C = IV2[2] | 0; + this.D = IV2[3] | 0; + this.E = IV2[4] | 0; + this.F = IV2[5] | 0; + this.G = IV2[6] | 0; + this.H = IV2[7] | 0; + } + get() { + const { A, B, C, D, E, F, G, H } = this; + return [A, B, C, D, E, F, G, H]; + } + set(A, B, C, D, E, F, G, H) { + this.A = A | 0; + this.B = B | 0; + this.C = C | 0; + this.D = D | 0; + this.E = E | 0; + this.F = F | 0; + this.G = G | 0; + this.H = H | 0; + } + process(view, offset) { + for (let i2 = 0; i2 < 16; i2++, offset += 4) + SHA256_W2[i2] = view.getUint32(offset, false); + for (let i2 = 16; i2 < 64; i2++) { + const W15 = SHA256_W2[i2 - 15]; + const W2 = SHA256_W2[i2 - 2]; + const s0 = rotr2(W15, 7) ^ rotr2(W15, 18) ^ W15 >>> 3; + const s1 = rotr2(W2, 17) ^ rotr2(W2, 19) ^ W2 >>> 10; + SHA256_W2[i2] = s1 + SHA256_W2[i2 - 7] + s0 + SHA256_W2[i2 - 16] | 0; + } + let { A, B, C, D, E, F, G, H } = this; + for (let i2 = 0; i2 < 64; i2++) { + const sigma1 = rotr2(E, 6) ^ rotr2(E, 11) ^ rotr2(E, 25); + const T1 = H + sigma1 + Chi2(E, F, G) + SHA256_K2[i2] + SHA256_W2[i2] | 0; + const sigma0 = rotr2(A, 2) ^ rotr2(A, 13) ^ rotr2(A, 22); + const T2 = sigma0 + Maj2(A, B, C) | 0; + H = G; + G = F; + F = E; + E = D + T1 | 0; + D = C; + C = B; + B = A; + A = T1 + T2 | 0; + } + A = A + this.A | 0; + B = B + this.B | 0; + C = C + this.C | 0; + D = D + this.D | 0; + E = E + this.E | 0; + F = F + this.F | 0; + G = G + this.G | 0; + H = H + this.H | 0; + this.set(A, B, C, D, E, F, G, H); + } + roundClean() { + SHA256_W2.fill(0); + } + destroy() { + this.set(0, 0, 0, 0, 0, 0, 0, 0); + this.buffer.fill(0); + } + }; + var SHA224 = class extends SHA2562 { + constructor() { + super(); + this.A = 3238371032 | 0; + this.B = 914150663 | 0; + this.C = 812702999 | 0; + this.D = 4144912697 | 0; + this.E = 4290775857 | 0; + this.F = 1750603025 | 0; + this.G = 1694076839 | 0; + this.H = 3204075428 | 0; + this.outputLen = 28; + } + }; + var sha2562 = wrapConstructor2(() => new SHA2562()); + var sha224 = wrapConstructor2(() => new SHA224()); + + // utils.ts + var utils_exports2 = {}; + __export(utils_exports2, { + Queue: () => Queue, + QueueNode: () => QueueNode, + binarySearch: () => binarySearch, + insertEventIntoAscendingList: () => insertEventIntoAscendingList, + insertEventIntoDescendingList: () => insertEventIntoDescendingList, + normalizeURL: () => normalizeURL, + utf8Decoder: () => utf8Decoder, + utf8Encoder: () => utf8Encoder + }); + var utf8Decoder = new TextDecoder("utf-8"); + var utf8Encoder = new TextEncoder(); + function normalizeURL(url) { + if (url.indexOf("://") === -1) + url = "wss://" + url; + let p = new URL(url); + p.pathname = p.pathname.replace(/\/+/g, "/"); + if (p.pathname.endsWith("/")) + p.pathname = p.pathname.slice(0, -1); + if (p.port === "80" && p.protocol === "ws:" || p.port === "443" && p.protocol === "wss:") + p.port = ""; + p.searchParams.sort(); + p.hash = ""; + return p.toString(); + } + function insertEventIntoDescendingList(sortedArray, event) { + const [idx, found] = binarySearch(sortedArray, (b) => { + if (event.id === b.id) + return 0; + if (event.created_at === b.created_at) + return -1; + return b.created_at - event.created_at; + }); + if (!found) { + sortedArray.splice(idx, 0, event); + } + return sortedArray; + } + function insertEventIntoAscendingList(sortedArray, event) { + const [idx, found] = binarySearch(sortedArray, (b) => { + if (event.id === b.id) + return 0; + if (event.created_at === b.created_at) + return -1; + return event.created_at - b.created_at; + }); + if (!found) { + sortedArray.splice(idx, 0, event); + } + return sortedArray; + } + function binarySearch(arr, compare) { + let start = 0; + let end = arr.length - 1; + while (start <= end) { + const mid = Math.floor((start + end) / 2); + const cmp = compare(arr[mid]); + if (cmp === 0) { + return [mid, true]; + } + if (cmp < 0) { + end = mid - 1; + } else { + start = mid + 1; + } + } + return [start, false]; + } + var QueueNode = class { + value; + next = null; + prev = null; + constructor(message) { + this.value = message; + } + }; + var Queue = class { + first; + last; + constructor() { + this.first = null; + this.last = null; + } + enqueue(value) { + const newNode = new QueueNode(value); + if (!this.last) { + this.first = newNode; + this.last = newNode; + } else if (this.last === this.first) { + this.last = newNode; + this.last.prev = this.first; + this.first.next = newNode; + } else { + newNode.prev = this.last; + this.last.next = newNode; + this.last = newNode; + } + return true; + } + dequeue() { + if (!this.first) + return null; + if (this.first === this.last) { + const target2 = this.first; + this.first = null; + this.last = null; + return target2.value; + } + const target = this.first; + this.first = target.next; + return target.value; + } + }; + + // pure.ts + var JS = class { + generateSecretKey() { + return schnorr.utils.randomPrivateKey(); + } + getPublicKey(secretKey) { + return bytesToHex2(schnorr.getPublicKey(secretKey)); + } + finalizeEvent(t, secretKey) { + const event = t; + event.pubkey = bytesToHex2(schnorr.getPublicKey(secretKey)); + event.id = getEventHash(event); + event.sig = bytesToHex2(schnorr.sign(getEventHash(event), secretKey)); + event[verifiedSymbol] = true; + return event; + } + verifyEvent(event) { + if (typeof event[verifiedSymbol] === "boolean") + return event[verifiedSymbol]; + const hash3 = getEventHash(event); + if (hash3 !== event.id) { + event[verifiedSymbol] = false; + return false; + } + try { + const valid = schnorr.verify(event.sig, hash3, event.pubkey); + event[verifiedSymbol] = valid; + return valid; + } catch (err) { + event[verifiedSymbol] = false; + return false; + } + } + }; + function serializeEvent(evt) { + if (!validateEvent(evt)) + throw new Error("can't serialize event with wrong or missing properties"); + return JSON.stringify([0, evt.pubkey, evt.created_at, evt.kind, evt.tags, evt.content]); + } + function getEventHash(event) { + let eventHash = sha2562(utf8Encoder.encode(serializeEvent(event))); + return bytesToHex2(eventHash); + } + var i = new JS(); + var generateSecretKey = i.generateSecretKey; + var getPublicKey = i.getPublicKey; + var finalizeEvent = i.finalizeEvent; + var verifyEvent = i.verifyEvent; + + // kinds.ts + var kinds_exports = {}; + __export(kinds_exports, { + Application: () => Application, + BadgeAward: () => BadgeAward, + BadgeDefinition: () => BadgeDefinition, + BlockedRelaysList: () => BlockedRelaysList, + BookmarkList: () => BookmarkList, + Bookmarksets: () => Bookmarksets, + Calendar: () => Calendar, + CalendarEventRSVP: () => CalendarEventRSVP, + ChannelCreation: () => ChannelCreation, + ChannelHideMessage: () => ChannelHideMessage, + ChannelMessage: () => ChannelMessage, + ChannelMetadata: () => ChannelMetadata, + ChannelMuteUser: () => ChannelMuteUser, + ClassifiedListing: () => ClassifiedListing, + ClientAuth: () => ClientAuth, + CommunitiesList: () => CommunitiesList, + CommunityDefinition: () => CommunityDefinition, + CommunityPostApproval: () => CommunityPostApproval, + Contacts: () => Contacts, + CreateOrUpdateProduct: () => CreateOrUpdateProduct, + CreateOrUpdateStall: () => CreateOrUpdateStall, + Curationsets: () => Curationsets, + Date: () => Date2, + DraftClassifiedListing: () => DraftClassifiedListing, + DraftLong: () => DraftLong, + Emojisets: () => Emojisets, + EncryptedDirectMessage: () => EncryptedDirectMessage, + EncryptedDirectMessages: () => EncryptedDirectMessages, + EventDeletion: () => EventDeletion, + FileMetadata: () => FileMetadata, + FileServerPreference: () => FileServerPreference, + Followsets: () => Followsets, + GenericRepost: () => GenericRepost, + Genericlists: () => Genericlists, + HTTPAuth: () => HTTPAuth, + Handlerinformation: () => Handlerinformation, + Handlerrecommendation: () => Handlerrecommendation, + Highlights: () => Highlights, + InterestsList: () => InterestsList, + Interestsets: () => Interestsets, + JobFeedback: () => JobFeedback, + JobRequest: () => JobRequest, + JobResult: () => JobResult, + Label: () => Label, + LightningPubRPC: () => LightningPubRPC, + LiveChatMessage: () => LiveChatMessage, + LiveEvent: () => LiveEvent, + LongFormArticle: () => LongFormArticle, + Metadata: () => Metadata, + Mutelist: () => Mutelist, + NWCWalletInfo: () => NWCWalletInfo, + NWCWalletRequest: () => NWCWalletRequest, + NWCWalletResponse: () => NWCWalletResponse, + NostrConnect: () => NostrConnect, + OpenTimestamps: () => OpenTimestamps, + Pinlist: () => Pinlist, + ProblemTracker: () => ProblemTracker, + ProfileBadges: () => ProfileBadges, + PublicChatsList: () => PublicChatsList, + Reaction: () => Reaction, + RecommendRelay: () => RecommendRelay, + RelayList: () => RelayList, + Relaysets: () => Relaysets, + Report: () => Report, + Reporting: () => Reporting, + Repost: () => Repost, + SearchRelaysList: () => SearchRelaysList, + ShortTextNote: () => ShortTextNote, + Time: () => Time, + UserEmojiList: () => UserEmojiList, + UserStatuses: () => UserStatuses, + Zap: () => Zap, + ZapGoal: () => ZapGoal, + ZapRequest: () => ZapRequest, + classifyKind: () => classifyKind, + isEphemeralKind: () => isEphemeralKind, + isParameterizedReplaceableKind: () => isParameterizedReplaceableKind, + isRegularKind: () => isRegularKind, + isReplaceableKind: () => isReplaceableKind + }); + function isRegularKind(kind) { + return 1e3 <= kind && kind < 1e4 || [1, 2, 4, 5, 6, 7, 8, 16, 40, 41, 42, 43, 44].includes(kind); + } + function isReplaceableKind(kind) { + return [0, 3].includes(kind) || 1e4 <= kind && kind < 2e4; + } + function isEphemeralKind(kind) { + return 2e4 <= kind && kind < 3e4; + } + function isParameterizedReplaceableKind(kind) { + return 3e4 <= kind && kind < 4e4; + } + function classifyKind(kind) { + if (isRegularKind(kind)) + return "regular"; + if (isReplaceableKind(kind)) + return "replaceable"; + if (isEphemeralKind(kind)) + return "ephemeral"; + if (isParameterizedReplaceableKind(kind)) + return "parameterized"; + return "unknown"; + } + var Metadata = 0; + var ShortTextNote = 1; + var RecommendRelay = 2; + var Contacts = 3; + var EncryptedDirectMessage = 4; + var EncryptedDirectMessages = 4; + var EventDeletion = 5; + var Repost = 6; + var Reaction = 7; + var BadgeAward = 8; + var GenericRepost = 16; + var ChannelCreation = 40; + var ChannelMetadata = 41; + var ChannelMessage = 42; + var ChannelHideMessage = 43; + var ChannelMuteUser = 44; + var OpenTimestamps = 1040; + var FileMetadata = 1063; + var LiveChatMessage = 1311; + var ProblemTracker = 1971; + var Report = 1984; + var Reporting = 1984; + var Label = 1985; + var CommunityPostApproval = 4550; + var JobRequest = 5999; + var JobResult = 6999; + var JobFeedback = 7e3; + var ZapGoal = 9041; + var ZapRequest = 9734; + var Zap = 9735; + var Highlights = 9802; + var Mutelist = 1e4; + var Pinlist = 10001; + var RelayList = 10002; + var BookmarkList = 10003; + var CommunitiesList = 10004; + var PublicChatsList = 10005; + var BlockedRelaysList = 10006; + var SearchRelaysList = 10007; + var InterestsList = 10015; + var UserEmojiList = 10030; + var FileServerPreference = 10096; + var NWCWalletInfo = 13194; + var LightningPubRPC = 21e3; + var ClientAuth = 22242; + var NWCWalletRequest = 23194; + var NWCWalletResponse = 23195; + var NostrConnect = 24133; + var HTTPAuth = 27235; + var Followsets = 3e4; + var Genericlists = 30001; + var Relaysets = 30002; + var Bookmarksets = 30003; + var Curationsets = 30004; + var ProfileBadges = 30008; + var BadgeDefinition = 30009; + var Interestsets = 30015; + var CreateOrUpdateStall = 30017; + var CreateOrUpdateProduct = 30018; + var LongFormArticle = 30023; + var DraftLong = 30024; + var Emojisets = 30030; + var Application = 30078; + var LiveEvent = 30311; + var UserStatuses = 30315; + var ClassifiedListing = 30402; + var DraftClassifiedListing = 30403; + var Date2 = 31922; + var Time = 31923; + var Calendar = 31924; + var CalendarEventRSVP = 31925; + var Handlerrecommendation = 31989; + var Handlerinformation = 31990; + var CommunityDefinition = 34550; + + // filter.ts + function matchFilter(filter, event) { + if (filter.ids && filter.ids.indexOf(event.id) === -1) { + return false; + } + if (filter.kinds && filter.kinds.indexOf(event.kind) === -1) { + return false; + } + if (filter.authors && filter.authors.indexOf(event.pubkey) === -1) { + return false; + } + for (let f in filter) { + if (f[0] === "#") { + let tagName = f.slice(1); + let values = filter[`#${tagName}`]; + if (values && !event.tags.find(([t, v]) => t === f.slice(1) && values.indexOf(v) !== -1)) + return false; + } + } + if (filter.since && event.created_at < filter.since) + return false; + if (filter.until && event.created_at > filter.until) + return false; + return true; + } + function matchFilters(filters, event) { + for (let i2 = 0; i2 < filters.length; i2++) { + if (matchFilter(filters[i2], event)) { + return true; + } + } + return false; + } + function mergeFilters(...filters) { + let result = {}; + for (let i2 = 0; i2 < filters.length; i2++) { + let filter = filters[i2]; + Object.entries(filter).forEach(([property, values]) => { + if (property === "kinds" || property === "ids" || property === "authors" || property[0] === "#") { + result[property] = result[property] || []; + for (let v = 0; v < values.length; v++) { + let value = values[v]; + if (!result[property].includes(value)) + result[property].push(value); + } + } + }); + if (filter.limit && (!result.limit || filter.limit > result.limit)) + result.limit = filter.limit; + if (filter.until && (!result.until || filter.until > result.until)) + result.until = filter.until; + if (filter.since && (!result.since || filter.since < result.since)) + result.since = filter.since; + } + return result; + } + function getFilterLimit(filter) { + if (filter.ids && !filter.ids.length) + return 0; + if (filter.kinds && !filter.kinds.length) + return 0; + if (filter.authors && !filter.authors.length) + return 0; + for (const [key, value] of Object.entries(filter)) { + if (key[0] === "#" && Array.isArray(value) && !value.length) + return 0; + } + return Math.min( + Math.max(0, filter.limit ?? Infinity), + filter.ids?.length ?? Infinity, + filter.authors?.length && filter.kinds?.every((kind) => isReplaceableKind(kind)) ? filter.authors.length * filter.kinds.length : Infinity, + filter.authors?.length && filter.kinds?.every((kind) => isParameterizedReplaceableKind(kind)) && filter["#d"]?.length ? filter.authors.length * filter.kinds.length * filter["#d"].length : Infinity + ); + } + + // fakejson.ts + var fakejson_exports = {}; + __export(fakejson_exports, { + getHex64: () => getHex64, + getInt: () => getInt, + getSubscriptionId: () => getSubscriptionId, + matchEventId: () => matchEventId, + matchEventKind: () => matchEventKind, + matchEventPubkey: () => matchEventPubkey + }); + function getHex64(json, field) { + let len = field.length + 3; + let idx = json.indexOf(`"${field}":`) + len; + let s = json.slice(idx).indexOf(`"`) + idx + 1; + return json.slice(s, s + 64); + } + function getInt(json, field) { + let len = field.length; + let idx = json.indexOf(`"${field}":`) + len + 3; + let sliced = json.slice(idx); + let end = Math.min(sliced.indexOf(","), sliced.indexOf("}")); + return parseInt(sliced.slice(0, end), 10); + } + function getSubscriptionId(json) { + let idx = json.slice(0, 22).indexOf(`"EVENT"`); + if (idx === -1) + return null; + let pstart = json.slice(idx + 7 + 1).indexOf(`"`); + if (pstart === -1) + return null; + let start = idx + 7 + 1 + pstart; + let pend = json.slice(start + 1, 80).indexOf(`"`); + if (pend === -1) + return null; + let end = start + 1 + pend; + return json.slice(start + 1, end); + } + function matchEventId(json, id) { + return id === getHex64(json, "id"); + } + function matchEventPubkey(json, pubkey) { + return pubkey === getHex64(json, "pubkey"); + } + function matchEventKind(json, kind) { + return kind === getInt(json, "kind"); + } + + // nip42.ts + var nip42_exports = {}; + __export(nip42_exports, { + makeAuthEvent: () => makeAuthEvent + }); + function makeAuthEvent(relayURL, challenge2) { + return { + kind: ClientAuth, + created_at: Math.floor(Date.now() / 1e3), + tags: [ + ["relay", relayURL], + ["challenge", challenge2] + ], + content: "" + }; + } + + // helpers.ts + async function yieldThread() { + return new Promise((resolve) => { + const ch = new MessageChannel(); + const handler = () => { + ch.port1.removeEventListener("message", handler); + resolve(); + }; + ch.port1.addEventListener("message", handler); + ch.port2.postMessage(0); + ch.port1.start(); + }); + } + var alwaysTrue = (t) => { + t[verifiedSymbol] = true; + return true; + }; + + // abstract-relay.ts + var AbstractRelay = class { + url; + _connected = false; + onclose = null; + onnotice = (msg) => console.debug(`NOTICE from ${this.url}: ${msg}`); + _onauth = null; + baseEoseTimeout = 4400; + connectionTimeout = 4400; + openSubs = /* @__PURE__ */ new Map(); + connectionTimeoutHandle; + connectionPromise; + openCountRequests = /* @__PURE__ */ new Map(); + openEventPublishes = /* @__PURE__ */ new Map(); + ws; + incomingMessageQueue = new Queue(); + queueRunning = false; + challenge; + serial = 0; + verifyEvent; + _WebSocket; + constructor(url, opts) { + this.url = normalizeURL(url); + this.verifyEvent = opts.verifyEvent; + this._WebSocket = opts.websocketImplementation || WebSocket; + } + static async connect(url, opts) { + const relay = new AbstractRelay(url, opts); + await relay.connect(); + return relay; + } + closeAllSubscriptions(reason) { + for (let [_, sub] of this.openSubs) { + sub.close(reason); + } + this.openSubs.clear(); + for (let [_, ep] of this.openEventPublishes) { + ep.reject(new Error(reason)); + } + this.openEventPublishes.clear(); + for (let [_, cr] of this.openCountRequests) { + cr.reject(new Error(reason)); + } + this.openCountRequests.clear(); + } + get connected() { + return this._connected; + } + async connect() { + if (this.connectionPromise) + return this.connectionPromise; + this.challenge = void 0; + this.connectionPromise = new Promise((resolve, reject) => { + this.connectionTimeoutHandle = setTimeout(() => { + reject("connection timed out"); + this.connectionPromise = void 0; + this.onclose?.(); + this.closeAllSubscriptions("relay connection timed out"); + }, this.connectionTimeout); + try { + this.ws = new this._WebSocket(this.url); + } catch (err) { + reject(err); + return; + } + this.ws.onopen = () => { + clearTimeout(this.connectionTimeoutHandle); + this._connected = true; + resolve(); + }; + this.ws.onerror = (ev) => { + reject(ev.message || "websocket error"); + if (this._connected) { + this._connected = false; + this.connectionPromise = void 0; + this.onclose?.(); + this.closeAllSubscriptions("relay connection errored"); + } + }; + this.ws.onclose = async () => { + if (this._connected) { + this._connected = false; + this.connectionPromise = void 0; + this.onclose?.(); + this.closeAllSubscriptions("relay connection closed"); + } + }; + this.ws.onmessage = this._onmessage.bind(this); + }); + return this.connectionPromise; + } + async runQueue() { + this.queueRunning = true; + while (true) { + if (false === this.handleNext()) { + break; + } + await yieldThread(); + } + this.queueRunning = false; + } + handleNext() { + const json = this.incomingMessageQueue.dequeue(); + if (!json) { + return false; + } + const subid = getSubscriptionId(json); + if (subid) { + const so = this.openSubs.get(subid); + if (!so) { + return; + } + const id = getHex64(json, "id"); + const alreadyHave = so.alreadyHaveEvent?.(id); + so.receivedEvent?.(this, id); + if (alreadyHave) { + return; + } + } + try { + let data = JSON.parse(json); + switch (data[0]) { + case "EVENT": { + const so = this.openSubs.get(data[1]); + const event = data[2]; + if (this.verifyEvent(event) && matchFilters(so.filters, event)) { + so.onevent(event); + } + return; + } + case "COUNT": { + const id = data[1]; + const payload = data[2]; + const cr = this.openCountRequests.get(id); + if (cr) { + cr.resolve(payload.count); + this.openCountRequests.delete(id); + } + return; + } + case "EOSE": { + const so = this.openSubs.get(data[1]); + if (!so) + return; + so.receivedEose(); + return; + } + case "OK": { + const id = data[1]; + const ok = data[2]; + const reason = data[3]; + const ep = this.openEventPublishes.get(id); + if (ok) + ep.resolve(reason); + else + ep.reject(new Error(reason)); + this.openEventPublishes.delete(id); + return; + } + case "CLOSED": { + const id = data[1]; + const so = this.openSubs.get(id); + if (!so) + return; + so.closed = true; + so.close(data[2]); + return; + } + case "NOTICE": + this.onnotice(data[1]); + return; + case "AUTH": { + this.challenge = data[1]; + this._onauth?.(data[1]); + return; + } + } + } catch (err) { + return; + } + } + async send(message) { + if (!this.connectionPromise) + throw new Error("sending on closed connection"); + this.connectionPromise.then(() => { + this.ws?.send(message); + }); + } + async auth(signAuthEvent) { + if (!this.challenge) + throw new Error("can't perform auth, no challenge was received"); + const evt = await signAuthEvent(makeAuthEvent(this.url, this.challenge)); + const ret = new Promise((resolve, reject) => { + this.openEventPublishes.set(evt.id, { resolve, reject }); + }); + this.send('["AUTH",' + JSON.stringify(evt) + "]"); + return ret; + } + async publish(event) { + const ret = new Promise((resolve, reject) => { + this.openEventPublishes.set(event.id, { resolve, reject }); + }); + this.send('["EVENT",' + JSON.stringify(event) + "]"); + return ret; + } + async count(filters, params) { + this.serial++; + const id = params?.id || "count:" + this.serial; + const ret = new Promise((resolve, reject) => { + this.openCountRequests.set(id, { resolve, reject }); + }); + this.send('["COUNT","' + id + '",' + JSON.stringify(filters).substring(1)); + return ret; + } + subscribe(filters, params) { + const subscription = this.prepareSubscription(filters, params); + subscription.fire(); + return subscription; + } + prepareSubscription(filters, params) { + this.serial++; + const id = params.id || "sub:" + this.serial; + const subscription = new Subscription(this, id, filters, params); + this.openSubs.set(id, subscription); + return subscription; + } + close() { + this.closeAllSubscriptions("relay connection closed by us"); + this._connected = false; + this.ws?.close(); + } + _onmessage(ev) { + this.incomingMessageQueue.enqueue(ev.data); + if (!this.queueRunning) { + this.runQueue(); + } + } + }; + var Subscription = class { + relay; + id; + closed = false; + eosed = false; + filters; + alreadyHaveEvent; + receivedEvent; + onevent; + oneose; + onclose; + eoseTimeout; + eoseTimeoutHandle; + constructor(relay, id, filters, params) { + this.relay = relay; + this.filters = filters; + this.id = id; + this.alreadyHaveEvent = params.alreadyHaveEvent; + this.receivedEvent = params.receivedEvent; + this.eoseTimeout = params.eoseTimeout || relay.baseEoseTimeout; + this.oneose = params.oneose; + this.onclose = params.onclose; + this.onevent = params.onevent || ((event) => { + console.warn( + `onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`, + event + ); + }); + } + fire() { + this.relay.send('["REQ","' + this.id + '",' + JSON.stringify(this.filters).substring(1)); + this.eoseTimeoutHandle = setTimeout(this.receivedEose.bind(this), this.eoseTimeout); + } + receivedEose() { + if (this.eosed) + return; + clearTimeout(this.eoseTimeoutHandle); + this.eosed = true; + this.oneose?.(); + } + close(reason = "closed by caller") { + if (!this.closed && this.relay.connected) { + this.relay.send('["CLOSE",' + JSON.stringify(this.id) + "]"); + this.closed = true; + } + this.relay.openSubs.delete(this.id); + this.onclose?.(reason); + } + }; + + // relay.ts + var _WebSocket; + try { + _WebSocket = WebSocket; + } catch { + } + var Relay = class extends AbstractRelay { + constructor(url) { + super(url, { verifyEvent, websocketImplementation: _WebSocket }); + } + static async connect(url) { + const relay = new Relay(url); + await relay.connect(); + return relay; + } + }; + + // abstract-pool.ts + var AbstractSimplePool = class { + relays = /* @__PURE__ */ new Map(); + seenOn = /* @__PURE__ */ new Map(); + trackRelays = false; + verifyEvent; + trustedRelayURLs = /* @__PURE__ */ new Set(); + _WebSocket; + constructor(opts) { + this.verifyEvent = opts.verifyEvent; + this._WebSocket = opts.websocketImplementation; + } + async ensureRelay(url, params) { + url = normalizeURL(url); + let relay = this.relays.get(url); + if (!relay) { + relay = new AbstractRelay(url, { + verifyEvent: this.trustedRelayURLs.has(url) ? alwaysTrue : this.verifyEvent, + websocketImplementation: this._WebSocket + }); + if (params?.connectionTimeout) + relay.connectionTimeout = params.connectionTimeout; + this.relays.set(url, relay); + } + await relay.connect(); + return relay; + } + close(relays) { + relays.map(normalizeURL).forEach((url) => { + this.relays.get(url)?.close(); + }); + } + subscribeMany(relays, filters, params) { + return this.subscribeManyMap(Object.fromEntries(relays.map((url) => [url, filters])), params); + } + subscribeManyMap(requests, params) { + if (this.trackRelays) { + params.receivedEvent = (relay, id) => { + let set = this.seenOn.get(id); + if (!set) { + set = /* @__PURE__ */ new Set(); + this.seenOn.set(id, set); + } + set.add(relay); + }; + } + const _knownIds = /* @__PURE__ */ new Set(); + const subs = []; + const relaysLength = Object.keys(requests).length; + const eosesReceived = []; + let handleEose = (i2) => { + eosesReceived[i2] = true; + if (eosesReceived.filter((a) => a).length === relaysLength) { + params.oneose?.(); + handleEose = () => { + }; + } + }; + const closesReceived = []; + let handleClose = (i2, reason) => { + handleEose(i2); + closesReceived[i2] = reason; + if (closesReceived.filter((a) => a).length === relaysLength) { + params.onclose?.(closesReceived); + handleClose = () => { + }; + } + }; + const localAlreadyHaveEventHandler = (id) => { + if (params.alreadyHaveEvent?.(id)) { + return true; + } + const have = _knownIds.has(id); + _knownIds.add(id); + return have; + }; + const allOpened = Promise.all( + Object.entries(requests).map(async (req, i2, arr) => { + if (arr.indexOf(req) !== i2) { + handleClose(i2, "duplicate url"); + return; + } + let [url, filters] = req; + url = normalizeURL(url); + let relay; + try { + relay = await this.ensureRelay(url, { + connectionTimeout: params.maxWait ? Math.max(params.maxWait * 0.8, params.maxWait - 1e3) : void 0 + }); + } catch (err) { + handleClose(i2, err?.message || String(err)); + return; + } + let subscription = relay.subscribe(filters, { + ...params, + oneose: () => handleEose(i2), + onclose: (reason) => handleClose(i2, reason), + alreadyHaveEvent: localAlreadyHaveEventHandler, + eoseTimeout: params.maxWait + }); + subs.push(subscription); + }) + ); + return { + async close() { + await allOpened; + subs.forEach((sub) => { + sub.close(); + }); + } + }; + } + subscribeManyEose(relays, filters, params) { + const subcloser = this.subscribeMany(relays, filters, { + ...params, + oneose() { + subcloser.close(); + } + }); + return subcloser; + } + async querySync(relays, filter, params) { + return new Promise(async (resolve) => { + const events = []; + this.subscribeManyEose(relays, [filter], { + ...params, + onevent(event) { + events.push(event); + }, + onclose(_) { + resolve(events); + } + }); + }); + } + async get(relays, filter, params) { + filter.limit = 1; + const events = await this.querySync(relays, filter, params); + events.sort((a, b) => b.created_at - a.created_at); + return events[0] || null; + } + publish(relays, event) { + return relays.map(normalizeURL).map(async (url, i2, arr) => { + if (arr.indexOf(url) !== i2) { + return Promise.reject("duplicate url"); + } + let r = await this.ensureRelay(url); + return r.publish(event); + }); + } + listConnectionStatus() { + const map = /* @__PURE__ */ new Map(); + this.relays.forEach((relay, url) => map.set(url, relay.connected)); + return map; + } + destroy() { + this.relays.forEach((conn) => conn.close()); + this.relays = /* @__PURE__ */ new Map(); + } + }; + + // pool.ts + var _WebSocket2; + try { + _WebSocket2 = WebSocket; + } catch { + } + var SimplePool = class extends AbstractSimplePool { + constructor() { + super({ verifyEvent, websocketImplementation: _WebSocket2 }); + } + }; + + // nip19.ts + var nip19_exports = {}; + __export(nip19_exports, { + BECH32_REGEX: () => BECH32_REGEX, + Bech32MaxSize: () => Bech32MaxSize, + decode: () => decode, + encodeBytes: () => encodeBytes, + naddrEncode: () => naddrEncode, + neventEncode: () => neventEncode, + noteEncode: () => noteEncode, + nprofileEncode: () => nprofileEncode, + npubEncode: () => npubEncode, + nrelayEncode: () => nrelayEncode, + nsecEncode: () => nsecEncode + }); + + // node_modules/@scure/base/lib/esm/index.js + function assertNumber(n) { + if (!Number.isSafeInteger(n)) + throw new Error(`Wrong integer: ${n}`); + } + function chain(...args) { + const wrap = (a, b) => (c) => a(b(c)); + const encode = Array.from(args).reverse().reduce((acc, i2) => acc ? wrap(acc, i2.encode) : i2.encode, void 0); + const decode2 = args.reduce((acc, i2) => acc ? wrap(acc, i2.decode) : i2.decode, void 0); + return { encode, decode: decode2 }; + } + function alphabet(alphabet2) { + return { + encode: (digits) => { + if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + throw new Error("alphabet.encode input should be an array of numbers"); + return digits.map((i2) => { + assertNumber(i2); + if (i2 < 0 || i2 >= alphabet2.length) + throw new Error(`Digit index outside alphabet: ${i2} (alphabet: ${alphabet2.length})`); + return alphabet2[i2]; + }); + }, + decode: (input) => { + if (!Array.isArray(input) || input.length && typeof input[0] !== "string") + throw new Error("alphabet.decode input should be array of strings"); + return input.map((letter) => { + if (typeof letter !== "string") + throw new Error(`alphabet.decode: not string element=${letter}`); + const index = alphabet2.indexOf(letter); + if (index === -1) + throw new Error(`Unknown letter: "${letter}". Allowed: ${alphabet2}`); + return index; + }); + } + }; + } + function join(separator = "") { + if (typeof separator !== "string") + throw new Error("join separator should be string"); + return { + encode: (from) => { + if (!Array.isArray(from) || from.length && typeof from[0] !== "string") + throw new Error("join.encode input should be array of strings"); + for (let i2 of from) + if (typeof i2 !== "string") + throw new Error(`join.encode: non-string input=${i2}`); + return from.join(separator); + }, + decode: (to) => { + if (typeof to !== "string") + throw new Error("join.decode input should be string"); + return to.split(separator); + } + }; + } + function padding(bits, chr = "=") { + assertNumber(bits); + if (typeof chr !== "string") + throw new Error("padding chr should be string"); + return { + encode(data) { + if (!Array.isArray(data) || data.length && typeof data[0] !== "string") + throw new Error("padding.encode input should be array of strings"); + for (let i2 of data) + if (typeof i2 !== "string") + throw new Error(`padding.encode: non-string input=${i2}`); + while (data.length * bits % 8) + data.push(chr); + return data; + }, + decode(input) { + if (!Array.isArray(input) || input.length && typeof input[0] !== "string") + throw new Error("padding.encode input should be array of strings"); + for (let i2 of input) + if (typeof i2 !== "string") + throw new Error(`padding.decode: non-string input=${i2}`); + let end = input.length; + if (end * bits % 8) + throw new Error("Invalid padding: string should have whole number of bytes"); + for (; end > 0 && input[end - 1] === chr; end--) { + if (!((end - 1) * bits % 8)) + throw new Error("Invalid padding: string has too much padding"); + } + return input.slice(0, end); + } + }; + } + function normalize(fn) { + if (typeof fn !== "function") + throw new Error("normalize fn should be function"); + return { encode: (from) => from, decode: (to) => fn(to) }; + } + function convertRadix(data, from, to) { + if (from < 2) + throw new Error(`convertRadix: wrong from=${from}, base cannot be less than 2`); + if (to < 2) + throw new Error(`convertRadix: wrong to=${to}, base cannot be less than 2`); + if (!Array.isArray(data)) + throw new Error("convertRadix: data should be array"); + if (!data.length) + return []; + let pos = 0; + const res = []; + const digits = Array.from(data); + digits.forEach((d) => { + assertNumber(d); + if (d < 0 || d >= from) + throw new Error(`Wrong integer: ${d}`); + }); + while (true) { + let carry = 0; + let done = true; + for (let i2 = pos; i2 < digits.length; i2++) { + const digit = digits[i2]; + const digitBase = from * carry + digit; + if (!Number.isSafeInteger(digitBase) || from * carry / from !== carry || digitBase - digit !== from * carry) { + throw new Error("convertRadix: carry overflow"); + } + carry = digitBase % to; + digits[i2] = Math.floor(digitBase / to); + if (!Number.isSafeInteger(digits[i2]) || digits[i2] * to + carry !== digitBase) + throw new Error("convertRadix: carry overflow"); + if (!done) + continue; + else if (!digits[i2]) + pos = i2; + else + done = false; + } + res.push(carry); + if (done) + break; + } + for (let i2 = 0; i2 < data.length - 1 && data[i2] === 0; i2++) + res.push(0); + return res.reverse(); + } + var gcd = (a, b) => !b ? a : gcd(b, a % b); + var radix2carry = (from, to) => from + (to - gcd(from, to)); + function convertRadix2(data, from, to, padding2) { + if (!Array.isArray(data)) + throw new Error("convertRadix2: data should be array"); + if (from <= 0 || from > 32) + throw new Error(`convertRadix2: wrong from=${from}`); + if (to <= 0 || to > 32) + throw new Error(`convertRadix2: wrong to=${to}`); + if (radix2carry(from, to) > 32) { + throw new Error(`convertRadix2: carry overflow from=${from} to=${to} carryBits=${radix2carry(from, to)}`); + } + let carry = 0; + let pos = 0; + const mask = 2 ** to - 1; + const res = []; + for (const n of data) { + assertNumber(n); + if (n >= 2 ** from) + throw new Error(`convertRadix2: invalid data word=${n} from=${from}`); + carry = carry << from | n; + if (pos + from > 32) + throw new Error(`convertRadix2: carry overflow pos=${pos} from=${from}`); + pos += from; + for (; pos >= to; pos -= to) + res.push((carry >> pos - to & mask) >>> 0); + carry &= 2 ** pos - 1; + } + carry = carry << to - pos & mask; + if (!padding2 && pos >= from) + throw new Error("Excess padding"); + if (!padding2 && carry) + throw new Error(`Non-zero padding: ${carry}`); + if (padding2 && pos > 0) + res.push(carry >>> 0); + return res; + } + function radix(num) { + assertNumber(num); + return { + encode: (bytes4) => { + if (!(bytes4 instanceof Uint8Array)) + throw new Error("radix.encode input should be Uint8Array"); + return convertRadix(Array.from(bytes4), 2 ** 8, num); + }, + decode: (digits) => { + if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + throw new Error("radix.decode input should be array of strings"); + return Uint8Array.from(convertRadix(digits, num, 2 ** 8)); + } + }; + } + function radix2(bits, revPadding = false) { + assertNumber(bits); + if (bits <= 0 || bits > 32) + throw new Error("radix2: bits should be in (0..32]"); + if (radix2carry(8, bits) > 32 || radix2carry(bits, 8) > 32) + throw new Error("radix2: carry overflow"); + return { + encode: (bytes4) => { + if (!(bytes4 instanceof Uint8Array)) + throw new Error("radix2.encode input should be Uint8Array"); + return convertRadix2(Array.from(bytes4), 8, bits, !revPadding); + }, + decode: (digits) => { + if (!Array.isArray(digits) || digits.length && typeof digits[0] !== "number") + throw new Error("radix2.decode input should be array of strings"); + return Uint8Array.from(convertRadix2(digits, bits, 8, revPadding)); + } + }; + } + function unsafeWrapper(fn) { + if (typeof fn !== "function") + throw new Error("unsafeWrapper fn should be function"); + return function(...args) { + try { + return fn.apply(null, args); + } catch (e) { + } + }; + } + var base16 = chain(radix2(4), alphabet("0123456789ABCDEF"), join("")); + var base32 = chain(radix2(5), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"), padding(5), join("")); + var base32hex = chain(radix2(5), alphabet("0123456789ABCDEFGHIJKLMNOPQRSTUV"), padding(5), join("")); + var base32crockford = chain(radix2(5), alphabet("0123456789ABCDEFGHJKMNPQRSTVWXYZ"), join(""), normalize((s) => s.toUpperCase().replace(/O/g, "0").replace(/[IL]/g, "1"))); + var base64 = chain(radix2(6), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"), padding(6), join("")); + var base64url = chain(radix2(6), alphabet("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"), padding(6), join("")); + var genBase58 = (abc) => chain(radix(58), alphabet(abc), join("")); + var base58 = genBase58("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"); + var base58flickr = genBase58("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"); + var base58xrp = genBase58("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"); + var XMR_BLOCK_LEN = [0, 2, 3, 5, 6, 7, 9, 10, 11]; + var base58xmr = { + encode(data) { + let res = ""; + for (let i2 = 0; i2 < data.length; i2 += 8) { + const block = data.subarray(i2, i2 + 8); + res += base58.encode(block).padStart(XMR_BLOCK_LEN[block.length], "1"); + } + return res; + }, + decode(str) { + let res = []; + for (let i2 = 0; i2 < str.length; i2 += 11) { + const slice = str.slice(i2, i2 + 11); + const blockLen = XMR_BLOCK_LEN.indexOf(slice.length); + const block = base58.decode(slice); + for (let j = 0; j < block.length - blockLen; j++) { + if (block[j] !== 0) + throw new Error("base58xmr: wrong padding"); + } + res = res.concat(Array.from(block.slice(block.length - blockLen))); + } + return Uint8Array.from(res); + } + }; + var BECH_ALPHABET = chain(alphabet("qpzry9x8gf2tvdw0s3jn54khce6mua7l"), join("")); + var POLYMOD_GENERATORS = [996825010, 642813549, 513874426, 1027748829, 705979059]; + function bech32Polymod(pre) { + const b = pre >> 25; + let chk = (pre & 33554431) << 5; + for (let i2 = 0; i2 < POLYMOD_GENERATORS.length; i2++) { + if ((b >> i2 & 1) === 1) + chk ^= POLYMOD_GENERATORS[i2]; + } + return chk; + } + function bechChecksum(prefix, words, encodingConst = 1) { + const len = prefix.length; + let chk = 1; + for (let i2 = 0; i2 < len; i2++) { + const c = prefix.charCodeAt(i2); + if (c < 33 || c > 126) + throw new Error(`Invalid prefix (${prefix})`); + chk = bech32Polymod(chk) ^ c >> 5; + } + chk = bech32Polymod(chk); + for (let i2 = 0; i2 < len; i2++) + chk = bech32Polymod(chk) ^ prefix.charCodeAt(i2) & 31; + for (let v of words) + chk = bech32Polymod(chk) ^ v; + for (let i2 = 0; i2 < 6; i2++) + chk = bech32Polymod(chk); + chk ^= encodingConst; + return BECH_ALPHABET.encode(convertRadix2([chk % 2 ** 30], 30, 5, false)); + } + function genBech32(encoding) { + const ENCODING_CONST = encoding === "bech32" ? 1 : 734539939; + const _words = radix2(5); + const fromWords = _words.decode; + const toWords = _words.encode; + const fromWordsUnsafe = unsafeWrapper(fromWords); + function encode(prefix, words, limit2 = 90) { + if (typeof prefix !== "string") + throw new Error(`bech32.encode prefix should be string, not ${typeof prefix}`); + if (!Array.isArray(words) || words.length && typeof words[0] !== "number") + throw new Error(`bech32.encode words should be array of numbers, not ${typeof words}`); + const actualLength = prefix.length + 7 + words.length; + if (limit2 !== false && actualLength > limit2) + throw new TypeError(`Length ${actualLength} exceeds limit ${limit2}`); + prefix = prefix.toLowerCase(); + return `${prefix}1${BECH_ALPHABET.encode(words)}${bechChecksum(prefix, words, ENCODING_CONST)}`; + } + function decode2(str, limit2 = 90) { + if (typeof str !== "string") + throw new Error(`bech32.decode input should be string, not ${typeof str}`); + if (str.length < 8 || limit2 !== false && str.length > limit2) + throw new TypeError(`Wrong string length: ${str.length} (${str}). Expected (8..${limit2})`); + const lowered = str.toLowerCase(); + if (str !== lowered && str !== str.toUpperCase()) + throw new Error(`String must be lowercase or uppercase`); + str = lowered; + const sepIndex = str.lastIndexOf("1"); + if (sepIndex === 0 || sepIndex === -1) + throw new Error(`Letter "1" must be present between prefix and data only`); + const prefix = str.slice(0, sepIndex); + const _words2 = str.slice(sepIndex + 1); + if (_words2.length < 6) + throw new Error("Data must be at least 6 characters long"); + const words = BECH_ALPHABET.decode(_words2).slice(0, -6); + const sum = bechChecksum(prefix, words, ENCODING_CONST); + if (!_words2.endsWith(sum)) + throw new Error(`Invalid checksum in ${str}: expected "${sum}"`); + return { prefix, words }; + } + const decodeUnsafe = unsafeWrapper(decode2); + function decodeToBytes(str) { + const { prefix, words } = decode2(str, false); + return { prefix, words, bytes: fromWords(words) }; + } + return { encode, decode: decode2, decodeToBytes, decodeUnsafe, fromWords, fromWordsUnsafe, toWords }; + } + var bech32 = genBech32("bech32"); + var bech32m = genBech32("bech32m"); + var utf8 = { + encode: (data) => new TextDecoder().decode(data), + decode: (str) => new TextEncoder().encode(str) + }; + var hex = chain(radix2(4), alphabet("0123456789abcdef"), join(""), normalize((s) => { + if (typeof s !== "string" || s.length % 2) + throw new TypeError(`hex.decode: expected string, got ${typeof s} with length ${s.length}`); + return s.toLowerCase(); + })); + var CODERS = { + utf8, + hex, + base16, + base32, + base64, + base64url, + base58, + base58xmr + }; + var coderTypeError = `Invalid encoding type. Available types: ${Object.keys(CODERS).join(", ")}`; + + // nip19.ts + var Bech32MaxSize = 5e3; + var BECH32_REGEX = /[\x21-\x7E]{1,83}1[023456789acdefghjklmnpqrstuvwxyz]{6,}/; + function integerToUint8Array(number4) { + const uint8Array = new Uint8Array(4); + uint8Array[0] = number4 >> 24 & 255; + uint8Array[1] = number4 >> 16 & 255; + uint8Array[2] = number4 >> 8 & 255; + uint8Array[3] = number4 & 255; + return uint8Array; + } + function decode(nip19) { + let { prefix, words } = bech32.decode(nip19, Bech32MaxSize); + let data = new Uint8Array(bech32.fromWords(words)); + switch (prefix) { + case "nprofile": { + let tlv = parseTLV(data); + if (!tlv[0]?.[0]) + throw new Error("missing TLV 0 for nprofile"); + if (tlv[0][0].length !== 32) + throw new Error("TLV 0 should be 32 bytes"); + return { + type: "nprofile", + data: { + pubkey: bytesToHex2(tlv[0][0]), + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [] + } + }; + } + case "nevent": { + let tlv = parseTLV(data); + if (!tlv[0]?.[0]) + throw new Error("missing TLV 0 for nevent"); + if (tlv[0][0].length !== 32) + throw new Error("TLV 0 should be 32 bytes"); + if (tlv[2] && tlv[2][0].length !== 32) + throw new Error("TLV 2 should be 32 bytes"); + if (tlv[3] && tlv[3][0].length !== 4) + throw new Error("TLV 3 should be 4 bytes"); + return { + type: "nevent", + data: { + id: bytesToHex2(tlv[0][0]), + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [], + author: tlv[2]?.[0] ? bytesToHex2(tlv[2][0]) : void 0, + kind: tlv[3]?.[0] ? parseInt(bytesToHex2(tlv[3][0]), 16) : void 0 + } + }; + } + case "naddr": { + let tlv = parseTLV(data); + if (!tlv[0]?.[0]) + throw new Error("missing TLV 0 for naddr"); + if (!tlv[2]?.[0]) + throw new Error("missing TLV 2 for naddr"); + if (tlv[2][0].length !== 32) + throw new Error("TLV 2 should be 32 bytes"); + if (!tlv[3]?.[0]) + throw new Error("missing TLV 3 for naddr"); + if (tlv[3][0].length !== 4) + throw new Error("TLV 3 should be 4 bytes"); + return { + type: "naddr", + data: { + identifier: utf8Decoder.decode(tlv[0][0]), + pubkey: bytesToHex2(tlv[2][0]), + kind: parseInt(bytesToHex2(tlv[3][0]), 16), + relays: tlv[1] ? tlv[1].map((d) => utf8Decoder.decode(d)) : [] + } + }; + } + case "nrelay": { + let tlv = parseTLV(data); + if (!tlv[0]?.[0]) + throw new Error("missing TLV 0 for nrelay"); + return { + type: "nrelay", + data: utf8Decoder.decode(tlv[0][0]) + }; + } + case "nsec": + return { type: prefix, data }; + case "npub": + case "note": + return { type: prefix, data: bytesToHex2(data) }; + default: + throw new Error(`unknown prefix ${prefix}`); + } + } + function parseTLV(data) { + let result = {}; + let rest = data; + while (rest.length > 0) { + let t = rest[0]; + let l = rest[1]; + let v = rest.slice(2, 2 + l); + rest = rest.slice(2 + l); + if (v.length < l) + throw new Error(`not enough data to read on TLV ${t}`); + result[t] = result[t] || []; + result[t].push(v); + } + return result; + } + function nsecEncode(key) { + return encodeBytes("nsec", key); + } + function npubEncode(hex2) { + return encodeBytes("npub", hexToBytes2(hex2)); + } + function noteEncode(hex2) { + return encodeBytes("note", hexToBytes2(hex2)); + } + function encodeBech32(prefix, data) { + let words = bech32.toWords(data); + return bech32.encode(prefix, words, Bech32MaxSize); + } + function encodeBytes(prefix, bytes4) { + return encodeBech32(prefix, bytes4); + } + function nprofileEncode(profile) { + let data = encodeTLV({ + 0: [hexToBytes2(profile.pubkey)], + 1: (profile.relays || []).map((url) => utf8Encoder.encode(url)) + }); + return encodeBech32("nprofile", data); + } + function neventEncode(event) { + let kindArray; + if (event.kind !== void 0) { + kindArray = integerToUint8Array(event.kind); + } + let data = encodeTLV({ + 0: [hexToBytes2(event.id)], + 1: (event.relays || []).map((url) => utf8Encoder.encode(url)), + 2: event.author ? [hexToBytes2(event.author)] : [], + 3: kindArray ? [new Uint8Array(kindArray)] : [] + }); + return encodeBech32("nevent", data); + } + function naddrEncode(addr) { + let kind = new ArrayBuffer(4); + new DataView(kind).setUint32(0, addr.kind, false); + let data = encodeTLV({ + 0: [utf8Encoder.encode(addr.identifier)], + 1: (addr.relays || []).map((url) => utf8Encoder.encode(url)), + 2: [hexToBytes2(addr.pubkey)], + 3: [new Uint8Array(kind)] + }); + return encodeBech32("naddr", data); + } + function nrelayEncode(url) { + let data = encodeTLV({ + 0: [utf8Encoder.encode(url)] + }); + return encodeBech32("nrelay", data); + } + function encodeTLV(tlv) { + let entries = []; + Object.entries(tlv).reverse().forEach(([t, vs]) => { + vs.forEach((v) => { + let entry = new Uint8Array(v.length + 2); + entry.set([parseInt(t)], 0); + entry.set([v.length], 1); + entry.set(v, 2); + entries.push(entry); + }); + }); + return concatBytes3(...entries); + } + + // references.ts + var mentionRegex = /\bnostr:((note|npub|naddr|nevent|nprofile)1\w+)\b|#\[(\d+)\]/g; + function parseReferences(evt) { + let references = []; + for (let ref of evt.content.matchAll(mentionRegex)) { + if (ref[2]) { + try { + let { type, data } = decode(ref[1]); + switch (type) { + case "npub": { + references.push({ + text: ref[0], + profile: { pubkey: data, relays: [] } + }); + break; + } + case "nprofile": { + references.push({ + text: ref[0], + profile: data + }); + break; + } + case "note": { + references.push({ + text: ref[0], + event: { id: data, relays: [] } + }); + break; + } + case "nevent": { + references.push({ + text: ref[0], + event: data + }); + break; + } + case "naddr": { + references.push({ + text: ref[0], + address: data + }); + break; + } + } + } catch (err) { + } + } else if (ref[3]) { + let idx = parseInt(ref[3], 10); + let tag = evt.tags[idx]; + if (!tag) + continue; + switch (tag[0]) { + case "p": { + references.push({ + text: ref[0], + profile: { pubkey: tag[1], relays: tag[2] ? [tag[2]] : [] } + }); + break; + } + case "e": { + references.push({ + text: ref[0], + event: { id: tag[1], relays: tag[2] ? [tag[2]] : [] } + }); + break; + } + case "a": { + try { + let [kind, pubkey, identifier] = tag[1].split(":"); + references.push({ + text: ref[0], + address: { + identifier, + pubkey, + kind: parseInt(kind, 10), + relays: tag[2] ? [tag[2]] : [] + } + }); + } catch (err) { + } + break; + } + } + } + } + return references; + } + + // nip04.ts + var nip04_exports = {}; + __export(nip04_exports, { + decrypt: () => decrypt2, + encrypt: () => encrypt2 + }); + + // node_modules/@noble/ciphers/esm/_assert.js + function number3(n) { + if (!Number.isSafeInteger(n) || n < 0) + throw new Error(`positive integer expected, not ${n}`); + } + function bool2(b) { + if (typeof b !== "boolean") + throw new Error(`boolean expected, not ${b}`); + } + function isBytes(a) { + return a instanceof Uint8Array || a != null && typeof a === "object" && a.constructor.name === "Uint8Array"; + } + function bytes3(b, ...lengths) { + if (!isBytes(b)) + throw new Error("Uint8Array expected"); + if (lengths.length > 0 && !lengths.includes(b.length)) + throw new Error(`Uint8Array expected of length ${lengths}, not of length=${b.length}`); + } + function exists3(instance, checkFinished = true) { + if (instance.destroyed) + throw new Error("Hash instance has been destroyed"); + if (checkFinished && instance.finished) + throw new Error("Hash#digest() has already been called"); + } + function output3(out, instance) { + bytes3(out); + const min = instance.outputLen; + if (out.length < min) { + throw new Error(`digestInto() expects output buffer of length at least ${min}`); + } + } + + // node_modules/@noble/ciphers/esm/utils.js + var u8 = (arr) => new Uint8Array(arr.buffer, arr.byteOffset, arr.byteLength); + var u32 = (arr) => new Uint32Array(arr.buffer, arr.byteOffset, Math.floor(arr.byteLength / 4)); + var createView3 = (arr) => new DataView(arr.buffer, arr.byteOffset, arr.byteLength); + var isLE3 = new Uint8Array(new Uint32Array([287454020]).buffer)[0] === 68; + if (!isLE3) + throw new Error("Non little-endian hardware is not supported"); + function utf8ToBytes4(str) { + if (typeof str !== "string") + throw new Error(`string expected, got ${typeof str}`); + return new Uint8Array(new TextEncoder().encode(str)); + } + function toBytes3(data) { + if (typeof data === "string") + data = utf8ToBytes4(data); + else if (isBytes(data)) + data = data.slice(); + else + throw new Error(`Uint8Array expected, got ${typeof data}`); + return data; + } + function checkOpts(defaults, opts) { + if (opts == null || typeof opts !== "object") + throw new Error("options must be defined"); + const merged = Object.assign(defaults, opts); + return merged; + } + function equalBytes2(a, b) { + if (a.length !== b.length) + return false; + let diff = 0; + for (let i2 = 0; i2 < a.length; i2++) + diff |= a[i2] ^ b[i2]; + return diff === 0; + } + var wrapCipher = (params, c) => { + Object.assign(c, params); + return c; + }; + function setBigUint643(view, byteOffset, value, isLE4) { + if (typeof view.setBigUint64 === "function") + return view.setBigUint64(byteOffset, value, isLE4); + const _32n = BigInt(32); + const _u32_max = BigInt(4294967295); + const wh = Number(value >> _32n & _u32_max); + const wl = Number(value & _u32_max); + const h = isLE4 ? 4 : 0; + const l = isLE4 ? 0 : 4; + view.setUint32(byteOffset + h, wh, isLE4); + view.setUint32(byteOffset + l, wl, isLE4); + } + + // node_modules/@noble/ciphers/esm/_polyval.js + var BLOCK_SIZE = 16; + var ZEROS16 = /* @__PURE__ */ new Uint8Array(16); + var ZEROS32 = u32(ZEROS16); + var POLY = 225; + var mul2 = (s0, s1, s2, s3) => { + const hiBit = s3 & 1; + return { + s3: s2 << 31 | s3 >>> 1, + s2: s1 << 31 | s2 >>> 1, + s1: s0 << 31 | s1 >>> 1, + s0: s0 >>> 1 ^ POLY << 24 & -(hiBit & 1) + }; + }; + var swapLE = (n) => (n >>> 0 & 255) << 24 | (n >>> 8 & 255) << 16 | (n >>> 16 & 255) << 8 | n >>> 24 & 255 | 0; + function _toGHASHKey(k) { + k.reverse(); + const hiBit = k[15] & 1; + let carry = 0; + for (let i2 = 0; i2 < k.length; i2++) { + const t = k[i2]; + k[i2] = t >>> 1 | carry; + carry = (t & 1) << 7; + } + k[0] ^= -hiBit & 225; + return k; + } + var estimateWindow = (bytes4) => { + if (bytes4 > 64 * 1024) + return 8; + if (bytes4 > 1024) + return 4; + return 2; + }; + var GHASH = class { + constructor(key, expectedLength) { + this.blockLen = BLOCK_SIZE; + this.outputLen = BLOCK_SIZE; + this.s0 = 0; + this.s1 = 0; + this.s2 = 0; + this.s3 = 0; + this.finished = false; + key = toBytes3(key); + bytes3(key, 16); + const kView = createView3(key); + let k0 = kView.getUint32(0, false); + let k1 = kView.getUint32(4, false); + let k2 = kView.getUint32(8, false); + let k3 = kView.getUint32(12, false); + const doubles = []; + for (let i2 = 0; i2 < 128; i2++) { + doubles.push({ s0: swapLE(k0), s1: swapLE(k1), s2: swapLE(k2), s3: swapLE(k3) }); + ({ s0: k0, s1: k1, s2: k2, s3: k3 } = mul2(k0, k1, k2, k3)); + } + const W = estimateWindow(expectedLength || 1024); + if (![1, 2, 4, 8].includes(W)) + throw new Error(`ghash: wrong window size=${W}, should be 2, 4 or 8`); + this.W = W; + const bits = 128; + const windows = bits / W; + const windowSize = this.windowSize = 2 ** W; + const items = []; + for (let w = 0; w < windows; w++) { + for (let byte = 0; byte < windowSize; byte++) { + let s0 = 0, s1 = 0, s2 = 0, s3 = 0; + for (let j = 0; j < W; j++) { + const bit = byte >>> W - j - 1 & 1; + if (!bit) + continue; + const { s0: d0, s1: d1, s2: d2, s3: d3 } = doubles[W * w + j]; + s0 ^= d0, s1 ^= d1, s2 ^= d2, s3 ^= d3; + } + items.push({ s0, s1, s2, s3 }); + } + } + this.t = items; + } + _updateBlock(s0, s1, s2, s3) { + s0 ^= this.s0, s1 ^= this.s1, s2 ^= this.s2, s3 ^= this.s3; + const { W, t, windowSize } = this; + let o0 = 0, o1 = 0, o2 = 0, o3 = 0; + const mask = (1 << W) - 1; + let w = 0; + for (const num of [s0, s1, s2, s3]) { + for (let bytePos = 0; bytePos < 4; bytePos++) { + const byte = num >>> 8 * bytePos & 255; + for (let bitPos = 8 / W - 1; bitPos >= 0; bitPos--) { + const bit = byte >>> W * bitPos & mask; + const { s0: e0, s1: e1, s2: e2, s3: e3 } = t[w * windowSize + bit]; + o0 ^= e0, o1 ^= e1, o2 ^= e2, o3 ^= e3; + w += 1; + } + } + } + this.s0 = o0; + this.s1 = o1; + this.s2 = o2; + this.s3 = o3; + } + update(data) { + data = toBytes3(data); + exists3(this); + const b32 = u32(data); + const blocks = Math.floor(data.length / BLOCK_SIZE); + const left = data.length % BLOCK_SIZE; + for (let i2 = 0; i2 < blocks; i2++) { + this._updateBlock(b32[i2 * 4 + 0], b32[i2 * 4 + 1], b32[i2 * 4 + 2], b32[i2 * 4 + 3]); + } + if (left) { + ZEROS16.set(data.subarray(blocks * BLOCK_SIZE)); + this._updateBlock(ZEROS32[0], ZEROS32[1], ZEROS32[2], ZEROS32[3]); + ZEROS32.fill(0); + } + return this; + } + destroy() { + const { t } = this; + for (const elm of t) { + elm.s0 = 0, elm.s1 = 0, elm.s2 = 0, elm.s3 = 0; + } + } + digestInto(out) { + exists3(this); + output3(out, this); + this.finished = true; + const { s0, s1, s2, s3 } = this; + const o32 = u32(out); + o32[0] = s0; + o32[1] = s1; + o32[2] = s2; + o32[3] = s3; + return out; + } + digest() { + const res = new Uint8Array(BLOCK_SIZE); + this.digestInto(res); + this.destroy(); + return res; + } + }; + var Polyval = class extends GHASH { + constructor(key, expectedLength) { + key = toBytes3(key); + const ghKey = _toGHASHKey(key.slice()); + super(ghKey, expectedLength); + ghKey.fill(0); + } + update(data) { + data = toBytes3(data); + exists3(this); + const b32 = u32(data); + const left = data.length % BLOCK_SIZE; + const blocks = Math.floor(data.length / BLOCK_SIZE); + for (let i2 = 0; i2 < blocks; i2++) { + this._updateBlock(swapLE(b32[i2 * 4 + 3]), swapLE(b32[i2 * 4 + 2]), swapLE(b32[i2 * 4 + 1]), swapLE(b32[i2 * 4 + 0])); + } + if (left) { + ZEROS16.set(data.subarray(blocks * BLOCK_SIZE)); + this._updateBlock(swapLE(ZEROS32[3]), swapLE(ZEROS32[2]), swapLE(ZEROS32[1]), swapLE(ZEROS32[0])); + ZEROS32.fill(0); + } + return this; + } + digestInto(out) { + exists3(this); + output3(out, this); + this.finished = true; + const { s0, s1, s2, s3 } = this; + const o32 = u32(out); + o32[0] = s0; + o32[1] = s1; + o32[2] = s2; + o32[3] = s3; + return out.reverse(); + } + }; + function wrapConstructorWithKey(hashCons) { + const hashC = (msg, key) => hashCons(key, msg.length).update(toBytes3(msg)).digest(); + const tmp = hashCons(new Uint8Array(16), 0); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (key, expectedLength) => hashCons(key, expectedLength); + return hashC; + } + var ghash = wrapConstructorWithKey((key, expectedLength) => new GHASH(key, expectedLength)); + var polyval = wrapConstructorWithKey((key, expectedLength) => new Polyval(key, expectedLength)); + + // node_modules/@noble/ciphers/esm/aes.js + var BLOCK_SIZE2 = 16; + var BLOCK_SIZE32 = 4; + var EMPTY_BLOCK = new Uint8Array(BLOCK_SIZE2); + var POLY2 = 283; + function mul22(n) { + return n << 1 ^ POLY2 & -(n >> 7); + } + function mul(a, b) { + let res = 0; + for (; b > 0; b >>= 1) { + res ^= a & -(b & 1); + a = mul22(a); + } + return res; + } + var sbox = /* @__PURE__ */ (() => { + let t = new Uint8Array(256); + for (let i2 = 0, x = 1; i2 < 256; i2++, x ^= mul22(x)) + t[i2] = x; + const box = new Uint8Array(256); + box[0] = 99; + for (let i2 = 0; i2 < 255; i2++) { + let x = t[255 - i2]; + x |= x << 8; + box[t[i2]] = (x ^ x >> 4 ^ x >> 5 ^ x >> 6 ^ x >> 7 ^ 99) & 255; + } + return box; + })(); + var invSbox = /* @__PURE__ */ sbox.map((_, j) => sbox.indexOf(j)); + var rotr32_8 = (n) => n << 24 | n >>> 8; + var rotl32_8 = (n) => n << 8 | n >>> 24; + function genTtable(sbox2, fn) { + if (sbox2.length !== 256) + throw new Error("Wrong sbox length"); + const T0 = new Uint32Array(256).map((_, j) => fn(sbox2[j])); + const T1 = T0.map(rotl32_8); + const T2 = T1.map(rotl32_8); + const T3 = T2.map(rotl32_8); + const T01 = new Uint32Array(256 * 256); + const T23 = new Uint32Array(256 * 256); + const sbox22 = new Uint16Array(256 * 256); + for (let i2 = 0; i2 < 256; i2++) { + for (let j = 0; j < 256; j++) { + const idx = i2 * 256 + j; + T01[idx] = T0[i2] ^ T1[j]; + T23[idx] = T2[i2] ^ T3[j]; + sbox22[idx] = sbox2[i2] << 8 | sbox2[j]; + } + } + return { sbox: sbox2, sbox2: sbox22, T0, T1, T2, T3, T01, T23 }; + } + var tableEncoding = /* @__PURE__ */ genTtable(sbox, (s) => mul(s, 3) << 24 | s << 16 | s << 8 | mul(s, 2)); + var tableDecoding = /* @__PURE__ */ genTtable(invSbox, (s) => mul(s, 11) << 24 | mul(s, 13) << 16 | mul(s, 9) << 8 | mul(s, 14)); + var xPowers = /* @__PURE__ */ (() => { + const p = new Uint8Array(16); + for (let i2 = 0, x = 1; i2 < 16; i2++, x = mul22(x)) + p[i2] = x; + return p; + })(); + function expandKeyLE(key) { + bytes3(key); + const len = key.length; + if (![16, 24, 32].includes(len)) + throw new Error(`aes: wrong key size: should be 16, 24 or 32, got: ${len}`); + const { sbox2 } = tableEncoding; + const k32 = u32(key); + const Nk = k32.length; + const subByte = (n) => applySbox(sbox2, n, n, n, n); + const xk = new Uint32Array(len + 28); + xk.set(k32); + for (let i2 = Nk; i2 < xk.length; i2++) { + let t = xk[i2 - 1]; + if (i2 % Nk === 0) + t = subByte(rotr32_8(t)) ^ xPowers[i2 / Nk - 1]; + else if (Nk > 6 && i2 % Nk === 4) + t = subByte(t); + xk[i2] = xk[i2 - Nk] ^ t; + } + return xk; + } + function expandKeyDecLE(key) { + const encKey = expandKeyLE(key); + const xk = encKey.slice(); + const Nk = encKey.length; + const { sbox2 } = tableEncoding; + const { T0, T1, T2, T3 } = tableDecoding; + for (let i2 = 0; i2 < Nk; i2 += 4) { + for (let j = 0; j < 4; j++) + xk[i2 + j] = encKey[Nk - i2 - 4 + j]; + } + encKey.fill(0); + for (let i2 = 4; i2 < Nk - 4; i2++) { + const x = xk[i2]; + const w = applySbox(sbox2, x, x, x, x); + xk[i2] = T0[w & 255] ^ T1[w >>> 8 & 255] ^ T2[w >>> 16 & 255] ^ T3[w >>> 24]; + } + return xk; + } + function apply0123(T01, T23, s0, s1, s2, s3) { + return T01[s0 << 8 & 65280 | s1 >>> 8 & 255] ^ T23[s2 >>> 8 & 65280 | s3 >>> 24 & 255]; + } + function applySbox(sbox2, s0, s1, s2, s3) { + return sbox2[s0 & 255 | s1 & 65280] | sbox2[s2 >>> 16 & 255 | s3 >>> 16 & 65280] << 16; + } + function encrypt(xk, s0, s1, s2, s3) { + const { sbox2, T01, T23 } = tableEncoding; + let k = 0; + s0 ^= xk[k++], s1 ^= xk[k++], s2 ^= xk[k++], s3 ^= xk[k++]; + const rounds = xk.length / 4 - 2; + for (let i2 = 0; i2 < rounds; i2++) { + const t02 = xk[k++] ^ apply0123(T01, T23, s0, s1, s2, s3); + const t12 = xk[k++] ^ apply0123(T01, T23, s1, s2, s3, s0); + const t22 = xk[k++] ^ apply0123(T01, T23, s2, s3, s0, s1); + const t32 = xk[k++] ^ apply0123(T01, T23, s3, s0, s1, s2); + s0 = t02, s1 = t12, s2 = t22, s3 = t32; + } + const t0 = xk[k++] ^ applySbox(sbox2, s0, s1, s2, s3); + const t1 = xk[k++] ^ applySbox(sbox2, s1, s2, s3, s0); + const t2 = xk[k++] ^ applySbox(sbox2, s2, s3, s0, s1); + const t3 = xk[k++] ^ applySbox(sbox2, s3, s0, s1, s2); + return { s0: t0, s1: t1, s2: t2, s3: t3 }; + } + function decrypt(xk, s0, s1, s2, s3) { + const { sbox2, T01, T23 } = tableDecoding; + let k = 0; + s0 ^= xk[k++], s1 ^= xk[k++], s2 ^= xk[k++], s3 ^= xk[k++]; + const rounds = xk.length / 4 - 2; + for (let i2 = 0; i2 < rounds; i2++) { + const t02 = xk[k++] ^ apply0123(T01, T23, s0, s3, s2, s1); + const t12 = xk[k++] ^ apply0123(T01, T23, s1, s0, s3, s2); + const t22 = xk[k++] ^ apply0123(T01, T23, s2, s1, s0, s3); + const t32 = xk[k++] ^ apply0123(T01, T23, s3, s2, s1, s0); + s0 = t02, s1 = t12, s2 = t22, s3 = t32; + } + const t0 = xk[k++] ^ applySbox(sbox2, s0, s3, s2, s1); + const t1 = xk[k++] ^ applySbox(sbox2, s1, s0, s3, s2); + const t2 = xk[k++] ^ applySbox(sbox2, s2, s1, s0, s3); + const t3 = xk[k++] ^ applySbox(sbox2, s3, s2, s1, s0); + return { s0: t0, s1: t1, s2: t2, s3: t3 }; + } + function getDst(len, dst) { + if (!dst) + return new Uint8Array(len); + bytes3(dst); + if (dst.length < len) + throw new Error(`aes: wrong destination length, expected at least ${len}, got: ${dst.length}`); + return dst; + } + function ctrCounter(xk, nonce, src, dst) { + bytes3(nonce, BLOCK_SIZE2); + bytes3(src); + const srcLen = src.length; + dst = getDst(srcLen, dst); + const ctr3 = nonce; + const c32 = u32(ctr3); + let { s0, s1, s2, s3 } = encrypt(xk, c32[0], c32[1], c32[2], c32[3]); + const src32 = u32(src); + const dst32 = u32(dst); + for (let i2 = 0; i2 + 4 <= src32.length; i2 += 4) { + dst32[i2 + 0] = src32[i2 + 0] ^ s0; + dst32[i2 + 1] = src32[i2 + 1] ^ s1; + dst32[i2 + 2] = src32[i2 + 2] ^ s2; + dst32[i2 + 3] = src32[i2 + 3] ^ s3; + let carry = 1; + for (let i3 = ctr3.length - 1; i3 >= 0; i3--) { + carry = carry + (ctr3[i3] & 255) | 0; + ctr3[i3] = carry & 255; + carry >>>= 8; + } + ({ s0, s1, s2, s3 } = encrypt(xk, c32[0], c32[1], c32[2], c32[3])); + } + const start = BLOCK_SIZE2 * Math.floor(src32.length / BLOCK_SIZE32); + if (start < srcLen) { + const b32 = new Uint32Array([s0, s1, s2, s3]); + const buf = u8(b32); + for (let i2 = start, pos = 0; i2 < srcLen; i2++, pos++) + dst[i2] = src[i2] ^ buf[pos]; + } + return dst; + } + function ctr32(xk, isLE4, nonce, src, dst) { + bytes3(nonce, BLOCK_SIZE2); + bytes3(src); + dst = getDst(src.length, dst); + const ctr3 = nonce; + const c32 = u32(ctr3); + const view = createView3(ctr3); + const src32 = u32(src); + const dst32 = u32(dst); + const ctrPos = isLE4 ? 0 : 12; + const srcLen = src.length; + let ctrNum = view.getUint32(ctrPos, isLE4); + let { s0, s1, s2, s3 } = encrypt(xk, c32[0], c32[1], c32[2], c32[3]); + for (let i2 = 0; i2 + 4 <= src32.length; i2 += 4) { + dst32[i2 + 0] = src32[i2 + 0] ^ s0; + dst32[i2 + 1] = src32[i2 + 1] ^ s1; + dst32[i2 + 2] = src32[i2 + 2] ^ s2; + dst32[i2 + 3] = src32[i2 + 3] ^ s3; + ctrNum = ctrNum + 1 >>> 0; + view.setUint32(ctrPos, ctrNum, isLE4); + ({ s0, s1, s2, s3 } = encrypt(xk, c32[0], c32[1], c32[2], c32[3])); + } + const start = BLOCK_SIZE2 * Math.floor(src32.length / BLOCK_SIZE32); + if (start < srcLen) { + const b32 = new Uint32Array([s0, s1, s2, s3]); + const buf = u8(b32); + for (let i2 = start, pos = 0; i2 < srcLen; i2++, pos++) + dst[i2] = src[i2] ^ buf[pos]; + } + return dst; + } + var ctr = wrapCipher({ blockSize: 16, nonceLength: 16 }, function ctr2(key, nonce) { + bytes3(key); + bytes3(nonce, BLOCK_SIZE2); + function processCtr(buf, dst) { + const xk = expandKeyLE(key); + const n = nonce.slice(); + const out = ctrCounter(xk, n, buf, dst); + xk.fill(0); + n.fill(0); + return out; + } + return { + encrypt: (plaintext, dst) => processCtr(plaintext, dst), + decrypt: (ciphertext, dst) => processCtr(ciphertext, dst) + }; + }); + function validateBlockDecrypt(data) { + bytes3(data); + if (data.length % BLOCK_SIZE2 !== 0) { + throw new Error(`aes/(cbc-ecb).decrypt ciphertext should consist of blocks with size ${BLOCK_SIZE2}`); + } + } + function validateBlockEncrypt(plaintext, pcks5, dst) { + let outLen = plaintext.length; + const remaining = outLen % BLOCK_SIZE2; + if (!pcks5 && remaining !== 0) + throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding"); + const b = u32(plaintext); + if (pcks5) { + let left = BLOCK_SIZE2 - remaining; + if (!left) + left = BLOCK_SIZE2; + outLen = outLen + left; + } + const out = getDst(outLen, dst); + const o = u32(out); + return { b, o, out }; + } + function validatePCKS(data, pcks5) { + if (!pcks5) + return data; + const len = data.length; + if (!len) + throw new Error(`aes/pcks5: empty ciphertext not allowed`); + const lastByte = data[len - 1]; + if (lastByte <= 0 || lastByte > 16) + throw new Error(`aes/pcks5: wrong padding byte: ${lastByte}`); + const out = data.subarray(0, -lastByte); + for (let i2 = 0; i2 < lastByte; i2++) + if (data[len - i2 - 1] !== lastByte) + throw new Error(`aes/pcks5: wrong padding`); + return out; + } + function padPCKS(left) { + const tmp = new Uint8Array(16); + const tmp32 = u32(tmp); + tmp.set(left); + const paddingByte = BLOCK_SIZE2 - left.length; + for (let i2 = BLOCK_SIZE2 - paddingByte; i2 < BLOCK_SIZE2; i2++) + tmp[i2] = paddingByte; + return tmp32; + } + var ecb = wrapCipher({ blockSize: 16 }, function ecb2(key, opts = {}) { + bytes3(key); + const pcks5 = !opts.disablePadding; + return { + encrypt: (plaintext, dst) => { + bytes3(plaintext); + const { b, o, out: _out } = validateBlockEncrypt(plaintext, pcks5, dst); + const xk = expandKeyLE(key); + let i2 = 0; + for (; i2 + 4 <= b.length; ) { + const { s0, s1, s2, s3 } = encrypt(xk, b[i2 + 0], b[i2 + 1], b[i2 + 2], b[i2 + 3]); + o[i2++] = s0, o[i2++] = s1, o[i2++] = s2, o[i2++] = s3; + } + if (pcks5) { + const tmp32 = padPCKS(plaintext.subarray(i2 * 4)); + const { s0, s1, s2, s3 } = encrypt(xk, tmp32[0], tmp32[1], tmp32[2], tmp32[3]); + o[i2++] = s0, o[i2++] = s1, o[i2++] = s2, o[i2++] = s3; + } + xk.fill(0); + return _out; + }, + decrypt: (ciphertext, dst) => { + validateBlockDecrypt(ciphertext); + const xk = expandKeyDecLE(key); + const out = getDst(ciphertext.length, dst); + const b = u32(ciphertext); + const o = u32(out); + for (let i2 = 0; i2 + 4 <= b.length; ) { + const { s0, s1, s2, s3 } = decrypt(xk, b[i2 + 0], b[i2 + 1], b[i2 + 2], b[i2 + 3]); + o[i2++] = s0, o[i2++] = s1, o[i2++] = s2, o[i2++] = s3; + } + xk.fill(0); + return validatePCKS(out, pcks5); + } + }; + }); + var cbc = wrapCipher({ blockSize: 16, nonceLength: 16 }, function cbc2(key, iv, opts = {}) { + bytes3(key); + bytes3(iv, 16); + const pcks5 = !opts.disablePadding; + return { + encrypt: (plaintext, dst) => { + const xk = expandKeyLE(key); + const { b, o, out: _out } = validateBlockEncrypt(plaintext, pcks5, dst); + const n32 = u32(iv); + let s0 = n32[0], s1 = n32[1], s2 = n32[2], s3 = n32[3]; + let i2 = 0; + for (; i2 + 4 <= b.length; ) { + s0 ^= b[i2 + 0], s1 ^= b[i2 + 1], s2 ^= b[i2 + 2], s3 ^= b[i2 + 3]; + ({ s0, s1, s2, s3 } = encrypt(xk, s0, s1, s2, s3)); + o[i2++] = s0, o[i2++] = s1, o[i2++] = s2, o[i2++] = s3; + } + if (pcks5) { + const tmp32 = padPCKS(plaintext.subarray(i2 * 4)); + s0 ^= tmp32[0], s1 ^= tmp32[1], s2 ^= tmp32[2], s3 ^= tmp32[3]; + ({ s0, s1, s2, s3 } = encrypt(xk, s0, s1, s2, s3)); + o[i2++] = s0, o[i2++] = s1, o[i2++] = s2, o[i2++] = s3; + } + xk.fill(0); + return _out; + }, + decrypt: (ciphertext, dst) => { + validateBlockDecrypt(ciphertext); + const xk = expandKeyDecLE(key); + const n32 = u32(iv); + const out = getDst(ciphertext.length, dst); + const b = u32(ciphertext); + const o = u32(out); + let s0 = n32[0], s1 = n32[1], s2 = n32[2], s3 = n32[3]; + for (let i2 = 0; i2 + 4 <= b.length; ) { + const ps0 = s0, ps1 = s1, ps2 = s2, ps3 = s3; + s0 = b[i2 + 0], s1 = b[i2 + 1], s2 = b[i2 + 2], s3 = b[i2 + 3]; + const { s0: o0, s1: o1, s2: o2, s3: o3 } = decrypt(xk, s0, s1, s2, s3); + o[i2++] = o0 ^ ps0, o[i2++] = o1 ^ ps1, o[i2++] = o2 ^ ps2, o[i2++] = o3 ^ ps3; + } + xk.fill(0); + return validatePCKS(out, pcks5); + } + }; + }); + function computeTag(fn, isLE4, key, data, AAD) { + const h = fn.create(key, data.length + (AAD?.length || 0)); + if (AAD) + h.update(AAD); + h.update(data); + const num = new Uint8Array(16); + const view = createView3(num); + if (AAD) + setBigUint643(view, 0, BigInt(AAD.length * 8), isLE4); + setBigUint643(view, 8, BigInt(data.length * 8), isLE4); + h.update(num); + return h.digest(); + } + var gcm = wrapCipher({ blockSize: 16, nonceLength: 12, tagLength: 16 }, function gcm2(key, nonce, AAD) { + bytes3(nonce); + if (nonce.length === 0) + throw new Error("aes/gcm: empty nonce"); + const tagLength = 16; + function _computeTag(authKey, tagMask, data) { + const tag = computeTag(ghash, false, authKey, data, AAD); + for (let i2 = 0; i2 < tagMask.length; i2++) + tag[i2] ^= tagMask[i2]; + return tag; + } + function deriveKeys() { + const xk = expandKeyLE(key); + const authKey = EMPTY_BLOCK.slice(); + const counter = EMPTY_BLOCK.slice(); + ctr32(xk, false, counter, counter, authKey); + if (nonce.length === 12) { + counter.set(nonce); + } else { + const nonceLen = EMPTY_BLOCK.slice(); + const view = createView3(nonceLen); + setBigUint643(view, 8, BigInt(nonce.length * 8), false); + ghash.create(authKey).update(nonce).update(nonceLen).digestInto(counter); + } + const tagMask = ctr32(xk, false, counter, EMPTY_BLOCK); + return { xk, authKey, counter, tagMask }; + } + return { + encrypt: (plaintext) => { + bytes3(plaintext); + const { xk, authKey, counter, tagMask } = deriveKeys(); + const out = new Uint8Array(plaintext.length + tagLength); + ctr32(xk, false, counter, plaintext, out); + const tag = _computeTag(authKey, tagMask, out.subarray(0, out.length - tagLength)); + out.set(tag, plaintext.length); + xk.fill(0); + return out; + }, + decrypt: (ciphertext) => { + bytes3(ciphertext); + if (ciphertext.length < tagLength) + throw new Error(`aes/gcm: ciphertext less than tagLen (${tagLength})`); + const { xk, authKey, counter, tagMask } = deriveKeys(); + const data = ciphertext.subarray(0, -tagLength); + const passedTag = ciphertext.subarray(-tagLength); + const tag = _computeTag(authKey, tagMask, data); + if (!equalBytes2(tag, passedTag)) + throw new Error("aes/gcm: invalid ghash tag"); + const out = ctr32(xk, false, counter, data); + authKey.fill(0); + tagMask.fill(0); + xk.fill(0); + return out; + } + }; + }); + var limit = (name, min, max) => (value) => { + if (!Number.isSafeInteger(value) || min > value || value > max) + throw new Error(`${name}: invalid value=${value}, must be [${min}..${max}]`); + }; + var siv = wrapCipher({ blockSize: 16, nonceLength: 12, tagLength: 16 }, function siv2(key, nonce, AAD) { + const tagLength = 16; + const AAD_LIMIT = limit("AAD", 0, 2 ** 36); + const PLAIN_LIMIT = limit("plaintext", 0, 2 ** 36); + const NONCE_LIMIT = limit("nonce", 12, 12); + const CIPHER_LIMIT = limit("ciphertext", 16, 2 ** 36 + 16); + bytes3(nonce); + NONCE_LIMIT(nonce.length); + if (AAD) { + bytes3(AAD); + AAD_LIMIT(AAD.length); + } + function deriveKeys() { + const len = key.length; + if (len !== 16 && len !== 24 && len !== 32) + throw new Error(`key length must be 16, 24 or 32 bytes, got: ${len} bytes`); + const xk = expandKeyLE(key); + const encKey = new Uint8Array(len); + const authKey = new Uint8Array(16); + const n32 = u32(nonce); + let s0 = 0, s1 = n32[0], s2 = n32[1], s3 = n32[2]; + let counter = 0; + for (const derivedKey of [authKey, encKey].map(u32)) { + const d32 = u32(derivedKey); + for (let i2 = 0; i2 < d32.length; i2 += 2) { + const { s0: o0, s1: o1 } = encrypt(xk, s0, s1, s2, s3); + d32[i2 + 0] = o0; + d32[i2 + 1] = o1; + s0 = ++counter; + } + } + xk.fill(0); + return { authKey, encKey: expandKeyLE(encKey) }; + } + function _computeTag(encKey, authKey, data) { + const tag = computeTag(polyval, true, authKey, data, AAD); + for (let i2 = 0; i2 < 12; i2++) + tag[i2] ^= nonce[i2]; + tag[15] &= 127; + const t32 = u32(tag); + let s0 = t32[0], s1 = t32[1], s2 = t32[2], s3 = t32[3]; + ({ s0, s1, s2, s3 } = encrypt(encKey, s0, s1, s2, s3)); + t32[0] = s0, t32[1] = s1, t32[2] = s2, t32[3] = s3; + return tag; + } + function processSiv(encKey, tag, input) { + let block = tag.slice(); + block[15] |= 128; + return ctr32(encKey, true, block, input); + } + return { + encrypt: (plaintext) => { + bytes3(plaintext); + PLAIN_LIMIT(plaintext.length); + const { encKey, authKey } = deriveKeys(); + const tag = _computeTag(encKey, authKey, plaintext); + const out = new Uint8Array(plaintext.length + tagLength); + out.set(tag, plaintext.length); + out.set(processSiv(encKey, tag, plaintext)); + encKey.fill(0); + authKey.fill(0); + return out; + }, + decrypt: (ciphertext) => { + bytes3(ciphertext); + CIPHER_LIMIT(ciphertext.length); + const tag = ciphertext.subarray(-tagLength); + const { encKey, authKey } = deriveKeys(); + const plaintext = processSiv(encKey, tag, ciphertext.subarray(0, -tagLength)); + const expectedTag = _computeTag(encKey, authKey, plaintext); + encKey.fill(0); + authKey.fill(0); + if (!equalBytes2(tag, expectedTag)) + throw new Error("invalid polyval tag"); + return plaintext; + } + }; + }); + + // nip04.ts + async function encrypt2(secretKey, pubkey, text) { + const privkey = secretKey instanceof Uint8Array ? bytesToHex2(secretKey) : secretKey; + const key = secp256k1.getSharedSecret(privkey, "02" + pubkey); + const normalizedKey = getNormalizedX(key); + let iv = Uint8Array.from(randomBytes2(16)); + let plaintext = utf8Encoder.encode(text); + let ciphertext = cbc(normalizedKey, iv).encrypt(plaintext); + let ctb64 = base64.encode(new Uint8Array(ciphertext)); + let ivb64 = base64.encode(new Uint8Array(iv.buffer)); + return `${ctb64}?iv=${ivb64}`; + } + async function decrypt2(secretKey, pubkey, data) { + const privkey = secretKey instanceof Uint8Array ? bytesToHex2(secretKey) : secretKey; + let [ctb64, ivb64] = data.split("?iv="); + let key = secp256k1.getSharedSecret(privkey, "02" + pubkey); + let normalizedKey = getNormalizedX(key); + let iv = base64.decode(ivb64); + let ciphertext = base64.decode(ctb64); + let plaintext = cbc(normalizedKey, iv).decrypt(ciphertext); + return utf8Decoder.decode(plaintext); + } + function getNormalizedX(key) { + return key.slice(1, 33); + } + + // nip05.ts + var nip05_exports = {}; + __export(nip05_exports, { + NIP05_REGEX: () => NIP05_REGEX, + isValid: () => isValid, + queryProfile: () => queryProfile, + searchDomain: () => searchDomain, + useFetchImplementation: () => useFetchImplementation + }); + var NIP05_REGEX = /^(?:([\w.+-]+)@)?([\w_-]+(\.[\w_-]+)+)$/; + var _fetch; + try { + _fetch = fetch; + } catch { + } + function useFetchImplementation(fetchImplementation) { + _fetch = fetchImplementation; + } + async function searchDomain(domain, query = "") { + try { + const url = `https://${domain}/.well-known/nostr.json?name=${query}`; + const res = await _fetch(url, { redirect: "error" }); + const json = await res.json(); + return json.names; + } catch (_) { + return {}; + } + } + async function queryProfile(fullname) { + const match = fullname.match(NIP05_REGEX); + if (!match) + return null; + const [_, name = "_", domain] = match; + try { + const url = `https://${domain}/.well-known/nostr.json?name=${name}`; + const res = await (await _fetch(url, { redirect: "error" })).json(); + let pubkey = res.names[name]; + return pubkey ? { pubkey, relays: res.relays?.[pubkey] } : null; + } catch (_e) { + return null; + } + } + async function isValid(pubkey, nip05) { + let res = await queryProfile(nip05); + return res ? res.pubkey === pubkey : false; + } + + // nip10.ts + var nip10_exports = {}; + __export(nip10_exports, { + parse: () => parse + }); + function parse(event) { + const result = { + reply: void 0, + root: void 0, + mentions: [], + profiles: [] + }; + const eTags = []; + for (const tag of event.tags) { + if (tag[0] === "e" && tag[1]) { + eTags.push(tag); + } + if (tag[0] === "p" && tag[1]) { + result.profiles.push({ + pubkey: tag[1], + relays: tag[2] ? [tag[2]] : [] + }); + } + } + for (let eTagIndex = 0; eTagIndex < eTags.length; eTagIndex++) { + const eTag = eTags[eTagIndex]; + const [_, eTagEventId, eTagRelayUrl, eTagMarker] = eTag; + const eventPointer = { + id: eTagEventId, + relays: eTagRelayUrl ? [eTagRelayUrl] : [] + }; + const isFirstETag = eTagIndex === 0; + const isLastETag = eTagIndex === eTags.length - 1; + if (eTagMarker === "root") { + result.root = eventPointer; + continue; + } + if (eTagMarker === "reply") { + result.reply = eventPointer; + continue; + } + if (eTagMarker === "mention") { + result.mentions.push(eventPointer); + continue; + } + if (isFirstETag) { + result.root = eventPointer; + continue; + } + if (isLastETag) { + result.reply = eventPointer; + continue; + } + result.mentions.push(eventPointer); + } + return result; + } + + // nip11.ts + var nip11_exports = {}; + __export(nip11_exports, { + fetchRelayInformation: () => fetchRelayInformation, + useFetchImplementation: () => useFetchImplementation2 + }); + var _fetch2; + try { + _fetch2 = fetch; + } catch { + } + function useFetchImplementation2(fetchImplementation) { + _fetch2 = fetchImplementation; + } + async function fetchRelayInformation(url) { + return await (await fetch(url.replace("ws://", "http://").replace("wss://", "https://"), { + headers: { Accept: "application/nostr+json" } + })).json(); + } + + // nip13.ts + var nip13_exports = {}; + __export(nip13_exports, { + getPow: () => getPow, + minePow: () => minePow + }); + function getPow(hex2) { + let count = 0; + for (let i2 = 0; i2 < hex2.length; i2++) { + const nibble = parseInt(hex2[i2], 16); + if (nibble === 0) { + count += 4; + } else { + count += Math.clz32(nibble) - 28; + break; + } + } + return count; + } + function minePow(unsigned, difficulty) { + let count = 0; + const event = unsigned; + const tag = ["nonce", count.toString(), difficulty.toString()]; + event.tags.push(tag); + while (true) { + const now = Math.floor(new Date().getTime() / 1e3); + if (now !== event.created_at) { + count = 0; + event.created_at = now; + } + tag[1] = (++count).toString(); + event.id = getEventHash(event); + if (getPow(event.id) >= difficulty) { + break; + } + } + return event; + } + + // nip18.ts + var nip18_exports = {}; + __export(nip18_exports, { + finishRepostEvent: () => finishRepostEvent, + getRepostedEvent: () => getRepostedEvent, + getRepostedEventPointer: () => getRepostedEventPointer + }); + function finishRepostEvent(t, reposted, relayUrl, privateKey) { + return finalizeEvent( + { + kind: Repost, + tags: [...t.tags ?? [], ["e", reposted.id, relayUrl], ["p", reposted.pubkey]], + content: t.content === "" ? "" : JSON.stringify(reposted), + created_at: t.created_at + }, + privateKey + ); + } + function getRepostedEventPointer(event) { + if (event.kind !== Repost) { + return void 0; + } + let lastETag; + let lastPTag; + for (let i2 = event.tags.length - 1; i2 >= 0 && (lastETag === void 0 || lastPTag === void 0); i2--) { + const tag = event.tags[i2]; + if (tag.length >= 2) { + if (tag[0] === "e" && lastETag === void 0) { + lastETag = tag; + } else if (tag[0] === "p" && lastPTag === void 0) { + lastPTag = tag; + } + } + } + if (lastETag === void 0) { + return void 0; + } + return { + id: lastETag[1], + relays: [lastETag[2], lastPTag?.[2]].filter((x) => typeof x === "string"), + author: lastPTag?.[1] + }; + } + function getRepostedEvent(event, { skipVerification } = {}) { + const pointer = getRepostedEventPointer(event); + if (pointer === void 0 || event.content === "") { + return void 0; + } + let repostedEvent; + try { + repostedEvent = JSON.parse(event.content); + } catch (error) { + return void 0; + } + if (repostedEvent.id !== pointer.id) { + return void 0; + } + if (!skipVerification && !verifyEvent(repostedEvent)) { + return void 0; + } + return repostedEvent; + } + + // nip21.ts + var nip21_exports = {}; + __export(nip21_exports, { + NOSTR_URI_REGEX: () => NOSTR_URI_REGEX, + parse: () => parse2, + test: () => test + }); + var NOSTR_URI_REGEX = new RegExp(`nostr:(${BECH32_REGEX.source})`); + function test(value) { + return typeof value === "string" && new RegExp(`^${NOSTR_URI_REGEX.source}$`).test(value); + } + function parse2(uri) { + const match = uri.match(new RegExp(`^${NOSTR_URI_REGEX.source}$`)); + if (!match) + throw new Error(`Invalid Nostr URI: ${uri}`); + return { + uri: match[0], + value: match[1], + decoded: decode(match[1]) + }; + } + + // nip25.ts + var nip25_exports = {}; + __export(nip25_exports, { + finishReactionEvent: () => finishReactionEvent, + getReactedEventPointer: () => getReactedEventPointer + }); + function finishReactionEvent(t, reacted, privateKey) { + const inheritedTags = reacted.tags.filter((tag) => tag.length >= 2 && (tag[0] === "e" || tag[0] === "p")); + return finalizeEvent( + { + ...t, + kind: Reaction, + tags: [...t.tags ?? [], ...inheritedTags, ["e", reacted.id], ["p", reacted.pubkey]], + content: t.content ?? "+" + }, + privateKey + ); + } + function getReactedEventPointer(event) { + if (event.kind !== Reaction) { + return void 0; + } + let lastETag; + let lastPTag; + for (let i2 = event.tags.length - 1; i2 >= 0 && (lastETag === void 0 || lastPTag === void 0); i2--) { + const tag = event.tags[i2]; + if (tag.length >= 2) { + if (tag[0] === "e" && lastETag === void 0) { + lastETag = tag; + } else if (tag[0] === "p" && lastPTag === void 0) { + lastPTag = tag; + } + } + } + if (lastETag === void 0 || lastPTag === void 0) { + return void 0; + } + return { + id: lastETag[1], + relays: [lastETag[2], lastPTag[2]].filter((x) => x !== void 0), + author: lastPTag[1] + }; + } + + // nip27.ts + var nip27_exports = {}; + __export(nip27_exports, { + matchAll: () => matchAll, + regex: () => regex, + replaceAll: () => replaceAll + }); + var regex = () => new RegExp(`\\b${NOSTR_URI_REGEX.source}\\b`, "g"); + function* matchAll(content) { + const matches = content.matchAll(regex()); + for (const match of matches) { + try { + const [uri, value] = match; + yield { + uri, + value, + decoded: decode(value), + start: match.index, + end: match.index + uri.length + }; + } catch (_e) { + } + } + } + function replaceAll(content, replacer) { + return content.replaceAll(regex(), (uri, value) => { + return replacer({ + uri, + value, + decoded: decode(value) + }); + }); + } + + // nip28.ts + var nip28_exports = {}; + __export(nip28_exports, { + channelCreateEvent: () => channelCreateEvent, + channelHideMessageEvent: () => channelHideMessageEvent, + channelMessageEvent: () => channelMessageEvent, + channelMetadataEvent: () => channelMetadataEvent, + channelMuteUserEvent: () => channelMuteUserEvent + }); + var channelCreateEvent = (t, privateKey) => { + let content; + if (typeof t.content === "object") { + content = JSON.stringify(t.content); + } else if (typeof t.content === "string") { + content = t.content; + } else { + return void 0; + } + return finalizeEvent( + { + kind: ChannelCreation, + tags: [...t.tags ?? []], + content, + created_at: t.created_at + }, + privateKey + ); + }; + var channelMetadataEvent = (t, privateKey) => { + let content; + if (typeof t.content === "object") { + content = JSON.stringify(t.content); + } else if (typeof t.content === "string") { + content = t.content; + } else { + return void 0; + } + return finalizeEvent( + { + kind: ChannelMetadata, + tags: [["e", t.channel_create_event_id], ...t.tags ?? []], + content, + created_at: t.created_at + }, + privateKey + ); + }; + var channelMessageEvent = (t, privateKey) => { + const tags = [["e", t.channel_create_event_id, t.relay_url, "root"]]; + if (t.reply_to_channel_message_event_id) { + tags.push(["e", t.reply_to_channel_message_event_id, t.relay_url, "reply"]); + } + return finalizeEvent( + { + kind: ChannelMessage, + tags: [...tags, ...t.tags ?? []], + content: t.content, + created_at: t.created_at + }, + privateKey + ); + }; + var channelHideMessageEvent = (t, privateKey) => { + let content; + if (typeof t.content === "object") { + content = JSON.stringify(t.content); + } else if (typeof t.content === "string") { + content = t.content; + } else { + return void 0; + } + return finalizeEvent( + { + kind: ChannelHideMessage, + tags: [["e", t.channel_message_event_id], ...t.tags ?? []], + content, + created_at: t.created_at + }, + privateKey + ); + }; + var channelMuteUserEvent = (t, privateKey) => { + let content; + if (typeof t.content === "object") { + content = JSON.stringify(t.content); + } else if (typeof t.content === "string") { + content = t.content; + } else { + return void 0; + } + return finalizeEvent( + { + kind: ChannelMuteUser, + tags: [["p", t.pubkey_to_mute], ...t.tags ?? []], + content, + created_at: t.created_at + }, + privateKey + ); + }; + + // nip30.ts + var nip30_exports = {}; + __export(nip30_exports, { + EMOJI_SHORTCODE_REGEX: () => EMOJI_SHORTCODE_REGEX, + matchAll: () => matchAll2, + regex: () => regex2, + replaceAll: () => replaceAll2 + }); + var EMOJI_SHORTCODE_REGEX = /:(\w+):/; + var regex2 = () => new RegExp(`\\B${EMOJI_SHORTCODE_REGEX.source}\\B`, "g"); + function* matchAll2(content) { + const matches = content.matchAll(regex2()); + for (const match of matches) { + try { + const [shortcode, name] = match; + yield { + shortcode, + name, + start: match.index, + end: match.index + shortcode.length + }; + } catch (_e) { + } + } + } + function replaceAll2(content, replacer) { + return content.replaceAll(regex2(), (shortcode, name) => { + return replacer({ + shortcode, + name + }); + }); + } + + // nip39.ts + var nip39_exports = {}; + __export(nip39_exports, { + useFetchImplementation: () => useFetchImplementation3, + validateGithub: () => validateGithub + }); + var _fetch3; + try { + _fetch3 = fetch; + } catch { + } + function useFetchImplementation3(fetchImplementation) { + _fetch3 = fetchImplementation; + } + async function validateGithub(pubkey, username, proof) { + try { + let res = await (await _fetch3(`https://gist.github.com/${username}/${proof}/raw`)).text(); + return res === `Verifying that I control the following Nostr public key: ${pubkey}`; + } catch (_) { + return false; + } + } + + // nip44.ts + var nip44_exports = {}; + __export(nip44_exports, { + decrypt: () => decrypt3, + encrypt: () => encrypt3, + getConversationKey: () => getConversationKey, + v2: () => v2 + }); + + // node_modules/@noble/ciphers/esm/_poly1305.js + var u8to16 = (a, i2) => a[i2++] & 255 | (a[i2++] & 255) << 8; + var Poly1305 = class { + constructor(key) { + this.blockLen = 16; + this.outputLen = 16; + this.buffer = new Uint8Array(16); + this.r = new Uint16Array(10); + this.h = new Uint16Array(10); + this.pad = new Uint16Array(8); + this.pos = 0; + this.finished = false; + key = toBytes3(key); + bytes3(key, 32); + const t0 = u8to16(key, 0); + const t1 = u8to16(key, 2); + const t2 = u8to16(key, 4); + const t3 = u8to16(key, 6); + const t4 = u8to16(key, 8); + const t5 = u8to16(key, 10); + const t6 = u8to16(key, 12); + const t7 = u8to16(key, 14); + this.r[0] = t0 & 8191; + this.r[1] = (t0 >>> 13 | t1 << 3) & 8191; + this.r[2] = (t1 >>> 10 | t2 << 6) & 7939; + this.r[3] = (t2 >>> 7 | t3 << 9) & 8191; + this.r[4] = (t3 >>> 4 | t4 << 12) & 255; + this.r[5] = t4 >>> 1 & 8190; + this.r[6] = (t4 >>> 14 | t5 << 2) & 8191; + this.r[7] = (t5 >>> 11 | t6 << 5) & 8065; + this.r[8] = (t6 >>> 8 | t7 << 8) & 8191; + this.r[9] = t7 >>> 5 & 127; + for (let i2 = 0; i2 < 8; i2++) + this.pad[i2] = u8to16(key, 16 + 2 * i2); + } + process(data, offset, isLast = false) { + const hibit = isLast ? 0 : 1 << 11; + const { h, r } = this; + const r0 = r[0]; + const r1 = r[1]; + const r2 = r[2]; + const r3 = r[3]; + const r4 = r[4]; + const r5 = r[5]; + const r6 = r[6]; + const r7 = r[7]; + const r8 = r[8]; + const r9 = r[9]; + const t0 = u8to16(data, offset + 0); + const t1 = u8to16(data, offset + 2); + const t2 = u8to16(data, offset + 4); + const t3 = u8to16(data, offset + 6); + const t4 = u8to16(data, offset + 8); + const t5 = u8to16(data, offset + 10); + const t6 = u8to16(data, offset + 12); + const t7 = u8to16(data, offset + 14); + let h0 = h[0] + (t0 & 8191); + let h1 = h[1] + ((t0 >>> 13 | t1 << 3) & 8191); + let h2 = h[2] + ((t1 >>> 10 | t2 << 6) & 8191); + let h3 = h[3] + ((t2 >>> 7 | t3 << 9) & 8191); + let h4 = h[4] + ((t3 >>> 4 | t4 << 12) & 8191); + let h5 = h[5] + (t4 >>> 1 & 8191); + let h6 = h[6] + ((t4 >>> 14 | t5 << 2) & 8191); + let h7 = h[7] + ((t5 >>> 11 | t6 << 5) & 8191); + let h8 = h[8] + ((t6 >>> 8 | t7 << 8) & 8191); + let h9 = h[9] + (t7 >>> 5 | hibit); + let c = 0; + let d0 = c + h0 * r0 + h1 * (5 * r9) + h2 * (5 * r8) + h3 * (5 * r7) + h4 * (5 * r6); + c = d0 >>> 13; + d0 &= 8191; + d0 += h5 * (5 * r5) + h6 * (5 * r4) + h7 * (5 * r3) + h8 * (5 * r2) + h9 * (5 * r1); + c += d0 >>> 13; + d0 &= 8191; + let d1 = c + h0 * r1 + h1 * r0 + h2 * (5 * r9) + h3 * (5 * r8) + h4 * (5 * r7); + c = d1 >>> 13; + d1 &= 8191; + d1 += h5 * (5 * r6) + h6 * (5 * r5) + h7 * (5 * r4) + h8 * (5 * r3) + h9 * (5 * r2); + c += d1 >>> 13; + d1 &= 8191; + let d2 = c + h0 * r2 + h1 * r1 + h2 * r0 + h3 * (5 * r9) + h4 * (5 * r8); + c = d2 >>> 13; + d2 &= 8191; + d2 += h5 * (5 * r7) + h6 * (5 * r6) + h7 * (5 * r5) + h8 * (5 * r4) + h9 * (5 * r3); + c += d2 >>> 13; + d2 &= 8191; + let d3 = c + h0 * r3 + h1 * r2 + h2 * r1 + h3 * r0 + h4 * (5 * r9); + c = d3 >>> 13; + d3 &= 8191; + d3 += h5 * (5 * r8) + h6 * (5 * r7) + h7 * (5 * r6) + h8 * (5 * r5) + h9 * (5 * r4); + c += d3 >>> 13; + d3 &= 8191; + let d4 = c + h0 * r4 + h1 * r3 + h2 * r2 + h3 * r1 + h4 * r0; + c = d4 >>> 13; + d4 &= 8191; + d4 += h5 * (5 * r9) + h6 * (5 * r8) + h7 * (5 * r7) + h8 * (5 * r6) + h9 * (5 * r5); + c += d4 >>> 13; + d4 &= 8191; + let d5 = c + h0 * r5 + h1 * r4 + h2 * r3 + h3 * r2 + h4 * r1; + c = d5 >>> 13; + d5 &= 8191; + d5 += h5 * r0 + h6 * (5 * r9) + h7 * (5 * r8) + h8 * (5 * r7) + h9 * (5 * r6); + c += d5 >>> 13; + d5 &= 8191; + let d6 = c + h0 * r6 + h1 * r5 + h2 * r4 + h3 * r3 + h4 * r2; + c = d6 >>> 13; + d6 &= 8191; + d6 += h5 * r1 + h6 * r0 + h7 * (5 * r9) + h8 * (5 * r8) + h9 * (5 * r7); + c += d6 >>> 13; + d6 &= 8191; + let d7 = c + h0 * r7 + h1 * r6 + h2 * r5 + h3 * r4 + h4 * r3; + c = d7 >>> 13; + d7 &= 8191; + d7 += h5 * r2 + h6 * r1 + h7 * r0 + h8 * (5 * r9) + h9 * (5 * r8); + c += d7 >>> 13; + d7 &= 8191; + let d8 = c + h0 * r8 + h1 * r7 + h2 * r6 + h3 * r5 + h4 * r4; + c = d8 >>> 13; + d8 &= 8191; + d8 += h5 * r3 + h6 * r2 + h7 * r1 + h8 * r0 + h9 * (5 * r9); + c += d8 >>> 13; + d8 &= 8191; + let d9 = c + h0 * r9 + h1 * r8 + h2 * r7 + h3 * r6 + h4 * r5; + c = d9 >>> 13; + d9 &= 8191; + d9 += h5 * r4 + h6 * r3 + h7 * r2 + h8 * r1 + h9 * r0; + c += d9 >>> 13; + d9 &= 8191; + c = (c << 2) + c | 0; + c = c + d0 | 0; + d0 = c & 8191; + c = c >>> 13; + d1 += c; + h[0] = d0; + h[1] = d1; + h[2] = d2; + h[3] = d3; + h[4] = d4; + h[5] = d5; + h[6] = d6; + h[7] = d7; + h[8] = d8; + h[9] = d9; + } + finalize() { + const { h, pad: pad2 } = this; + const g = new Uint16Array(10); + let c = h[1] >>> 13; + h[1] &= 8191; + for (let i2 = 2; i2 < 10; i2++) { + h[i2] += c; + c = h[i2] >>> 13; + h[i2] &= 8191; + } + h[0] += c * 5; + c = h[0] >>> 13; + h[0] &= 8191; + h[1] += c; + c = h[1] >>> 13; + h[1] &= 8191; + h[2] += c; + g[0] = h[0] + 5; + c = g[0] >>> 13; + g[0] &= 8191; + for (let i2 = 1; i2 < 10; i2++) { + g[i2] = h[i2] + c; + c = g[i2] >>> 13; + g[i2] &= 8191; + } + g[9] -= 1 << 13; + let mask = (c ^ 1) - 1; + for (let i2 = 0; i2 < 10; i2++) + g[i2] &= mask; + mask = ~mask; + for (let i2 = 0; i2 < 10; i2++) + h[i2] = h[i2] & mask | g[i2]; + h[0] = (h[0] | h[1] << 13) & 65535; + h[1] = (h[1] >>> 3 | h[2] << 10) & 65535; + h[2] = (h[2] >>> 6 | h[3] << 7) & 65535; + h[3] = (h[3] >>> 9 | h[4] << 4) & 65535; + h[4] = (h[4] >>> 12 | h[5] << 1 | h[6] << 14) & 65535; + h[5] = (h[6] >>> 2 | h[7] << 11) & 65535; + h[6] = (h[7] >>> 5 | h[8] << 8) & 65535; + h[7] = (h[8] >>> 8 | h[9] << 5) & 65535; + let f = h[0] + pad2[0]; + h[0] = f & 65535; + for (let i2 = 1; i2 < 8; i2++) { + f = (h[i2] + pad2[i2] | 0) + (f >>> 16) | 0; + h[i2] = f & 65535; + } + } + update(data) { + exists3(this); + const { buffer, blockLen } = this; + data = toBytes3(data); + const len = data.length; + for (let pos = 0; pos < len; ) { + const take = Math.min(blockLen - this.pos, len - pos); + if (take === blockLen) { + for (; blockLen <= len - pos; pos += blockLen) + this.process(data, pos); + continue; + } + buffer.set(data.subarray(pos, pos + take), this.pos); + this.pos += take; + pos += take; + if (this.pos === blockLen) { + this.process(buffer, 0, false); + this.pos = 0; + } + } + return this; + } + destroy() { + this.h.fill(0); + this.r.fill(0); + this.buffer.fill(0); + this.pad.fill(0); + } + digestInto(out) { + exists3(this); + output3(out, this); + this.finished = true; + const { buffer, h } = this; + let { pos } = this; + if (pos) { + buffer[pos++] = 1; + for (; pos < 16; pos++) + buffer[pos] = 0; + this.process(buffer, 0, true); + } + this.finalize(); + let opos = 0; + for (let i2 = 0; i2 < 8; i2++) { + out[opos++] = h[i2] >>> 0; + out[opos++] = h[i2] >>> 8; + } + return out; + } + digest() { + const { buffer, outputLen } = this; + this.digestInto(buffer); + const res = buffer.slice(0, outputLen); + this.destroy(); + return res; + } + }; + function wrapConstructorWithKey2(hashCons) { + const hashC = (msg, key) => hashCons(key).update(toBytes3(msg)).digest(); + const tmp = hashCons(new Uint8Array(32)); + hashC.outputLen = tmp.outputLen; + hashC.blockLen = tmp.blockLen; + hashC.create = (key) => hashCons(key); + return hashC; + } + var poly1305 = wrapConstructorWithKey2((key) => new Poly1305(key)); + + // node_modules/@noble/ciphers/esm/_arx.js + var sigma16 = utf8ToBytes4("expand 16-byte k"); + var sigma32 = utf8ToBytes4("expand 32-byte k"); + var sigma16_32 = u32(sigma16); + var sigma32_32 = u32(sigma32); + function rotl(a, b) { + return a << b | a >>> 32 - b; + } + function isAligned32(b) { + return b.byteOffset % 4 === 0; + } + var BLOCK_LEN = 64; + var BLOCK_LEN32 = 16; + var MAX_COUNTER = 2 ** 32 - 1; + var U32_EMPTY = new Uint32Array(); + function runCipher(core, sigma, key, nonce, data, output4, counter, rounds) { + const len = data.length; + const block = new Uint8Array(BLOCK_LEN); + const b32 = u32(block); + const isAligned = isAligned32(data) && isAligned32(output4); + const d32 = isAligned ? u32(data) : U32_EMPTY; + const o32 = isAligned ? u32(output4) : U32_EMPTY; + for (let pos = 0; pos < len; counter++) { + core(sigma, key, nonce, b32, counter, rounds); + if (counter >= MAX_COUNTER) + throw new Error("arx: counter overflow"); + const take = Math.min(BLOCK_LEN, len - pos); + if (isAligned && take === BLOCK_LEN) { + const pos32 = pos / 4; + if (pos % 4 !== 0) + throw new Error("arx: invalid block position"); + for (let j = 0, posj; j < BLOCK_LEN32; j++) { + posj = pos32 + j; + o32[posj] = d32[posj] ^ b32[j]; + } + pos += BLOCK_LEN; + continue; + } + for (let j = 0, posj; j < take; j++) { + posj = pos + j; + output4[posj] = data[posj] ^ block[j]; + } + pos += take; + } + } + function createCipher(core, opts) { + const { allowShortKeys, extendNonceFn, counterLength, counterRight, rounds } = checkOpts({ allowShortKeys: false, counterLength: 8, counterRight: false, rounds: 20 }, opts); + if (typeof core !== "function") + throw new Error("core must be a function"); + number3(counterLength); + number3(rounds); + bool2(counterRight); + bool2(allowShortKeys); + return (key, nonce, data, output4, counter = 0) => { + bytes3(key); + bytes3(nonce); + bytes3(data); + const len = data.length; + if (!output4) + output4 = new Uint8Array(len); + bytes3(output4); + number3(counter); + if (counter < 0 || counter >= MAX_COUNTER) + throw new Error("arx: counter overflow"); + if (output4.length < len) + throw new Error(`arx: output (${output4.length}) is shorter than data (${len})`); + const toClean = []; + let l = key.length, k, sigma; + if (l === 32) { + k = key.slice(); + toClean.push(k); + sigma = sigma32_32; + } else if (l === 16 && allowShortKeys) { + k = new Uint8Array(32); + k.set(key); + k.set(key, 16); + sigma = sigma16_32; + toClean.push(k); + } else { + throw new Error(`arx: invalid 32-byte key, got length=${l}`); + } + if (!isAligned32(nonce)) { + nonce = nonce.slice(); + toClean.push(nonce); + } + const k32 = u32(k); + if (extendNonceFn) { + if (nonce.length !== 24) + throw new Error(`arx: extended nonce must be 24 bytes`); + extendNonceFn(sigma, k32, u32(nonce.subarray(0, 16)), k32); + nonce = nonce.subarray(16); + } + const nonceNcLen = 16 - counterLength; + if (nonceNcLen !== nonce.length) + throw new Error(`arx: nonce must be ${nonceNcLen} or 16 bytes`); + if (nonceNcLen !== 12) { + const nc = new Uint8Array(12); + nc.set(nonce, counterRight ? 0 : 12 - nonce.length); + nonce = nc; + toClean.push(nonce); + } + const n32 = u32(nonce); + runCipher(core, sigma, k32, n32, data, output4, counter, rounds); + while (toClean.length > 0) + toClean.pop().fill(0); + return output4; + }; + } + + // node_modules/@noble/ciphers/esm/chacha.js + function chachaCore(s, k, n, out, cnt, rounds = 20) { + let y00 = s[0], y01 = s[1], y02 = s[2], y03 = s[3], y04 = k[0], y05 = k[1], y06 = k[2], y07 = k[3], y08 = k[4], y09 = k[5], y10 = k[6], y11 = k[7], y12 = cnt, y13 = n[0], y14 = n[1], y15 = n[2]; + let x00 = y00, x01 = y01, x02 = y02, x03 = y03, x04 = y04, x05 = y05, x06 = y06, x07 = y07, x08 = y08, x09 = y09, x10 = y10, x11 = y11, x12 = y12, x13 = y13, x14 = y14, x15 = y15; + for (let r = 0; r < rounds; r += 2) { + x00 = x00 + x04 | 0; + x12 = rotl(x12 ^ x00, 16); + x08 = x08 + x12 | 0; + x04 = rotl(x04 ^ x08, 12); + x00 = x00 + x04 | 0; + x12 = rotl(x12 ^ x00, 8); + x08 = x08 + x12 | 0; + x04 = rotl(x04 ^ x08, 7); + x01 = x01 + x05 | 0; + x13 = rotl(x13 ^ x01, 16); + x09 = x09 + x13 | 0; + x05 = rotl(x05 ^ x09, 12); + x01 = x01 + x05 | 0; + x13 = rotl(x13 ^ x01, 8); + x09 = x09 + x13 | 0; + x05 = rotl(x05 ^ x09, 7); + x02 = x02 + x06 | 0; + x14 = rotl(x14 ^ x02, 16); + x10 = x10 + x14 | 0; + x06 = rotl(x06 ^ x10, 12); + x02 = x02 + x06 | 0; + x14 = rotl(x14 ^ x02, 8); + x10 = x10 + x14 | 0; + x06 = rotl(x06 ^ x10, 7); + x03 = x03 + x07 | 0; + x15 = rotl(x15 ^ x03, 16); + x11 = x11 + x15 | 0; + x07 = rotl(x07 ^ x11, 12); + x03 = x03 + x07 | 0; + x15 = rotl(x15 ^ x03, 8); + x11 = x11 + x15 | 0; + x07 = rotl(x07 ^ x11, 7); + x00 = x00 + x05 | 0; + x15 = rotl(x15 ^ x00, 16); + x10 = x10 + x15 | 0; + x05 = rotl(x05 ^ x10, 12); + x00 = x00 + x05 | 0; + x15 = rotl(x15 ^ x00, 8); + x10 = x10 + x15 | 0; + x05 = rotl(x05 ^ x10, 7); + x01 = x01 + x06 | 0; + x12 = rotl(x12 ^ x01, 16); + x11 = x11 + x12 | 0; + x06 = rotl(x06 ^ x11, 12); + x01 = x01 + x06 | 0; + x12 = rotl(x12 ^ x01, 8); + x11 = x11 + x12 | 0; + x06 = rotl(x06 ^ x11, 7); + x02 = x02 + x07 | 0; + x13 = rotl(x13 ^ x02, 16); + x08 = x08 + x13 | 0; + x07 = rotl(x07 ^ x08, 12); + x02 = x02 + x07 | 0; + x13 = rotl(x13 ^ x02, 8); + x08 = x08 + x13 | 0; + x07 = rotl(x07 ^ x08, 7); + x03 = x03 + x04 | 0; + x14 = rotl(x14 ^ x03, 16); + x09 = x09 + x14 | 0; + x04 = rotl(x04 ^ x09, 12); + x03 = x03 + x04 | 0; + x14 = rotl(x14 ^ x03, 8); + x09 = x09 + x14 | 0; + x04 = rotl(x04 ^ x09, 7); + } + let oi = 0; + out[oi++] = y00 + x00 | 0; + out[oi++] = y01 + x01 | 0; + out[oi++] = y02 + x02 | 0; + out[oi++] = y03 + x03 | 0; + out[oi++] = y04 + x04 | 0; + out[oi++] = y05 + x05 | 0; + out[oi++] = y06 + x06 | 0; + out[oi++] = y07 + x07 | 0; + out[oi++] = y08 + x08 | 0; + out[oi++] = y09 + x09 | 0; + out[oi++] = y10 + x10 | 0; + out[oi++] = y11 + x11 | 0; + out[oi++] = y12 + x12 | 0; + out[oi++] = y13 + x13 | 0; + out[oi++] = y14 + x14 | 0; + out[oi++] = y15 + x15 | 0; + } + function hchacha(s, k, i2, o32) { + let x00 = s[0], x01 = s[1], x02 = s[2], x03 = s[3], x04 = k[0], x05 = k[1], x06 = k[2], x07 = k[3], x08 = k[4], x09 = k[5], x10 = k[6], x11 = k[7], x12 = i2[0], x13 = i2[1], x14 = i2[2], x15 = i2[3]; + for (let r = 0; r < 20; r += 2) { + x00 = x00 + x04 | 0; + x12 = rotl(x12 ^ x00, 16); + x08 = x08 + x12 | 0; + x04 = rotl(x04 ^ x08, 12); + x00 = x00 + x04 | 0; + x12 = rotl(x12 ^ x00, 8); + x08 = x08 + x12 | 0; + x04 = rotl(x04 ^ x08, 7); + x01 = x01 + x05 | 0; + x13 = rotl(x13 ^ x01, 16); + x09 = x09 + x13 | 0; + x05 = rotl(x05 ^ x09, 12); + x01 = x01 + x05 | 0; + x13 = rotl(x13 ^ x01, 8); + x09 = x09 + x13 | 0; + x05 = rotl(x05 ^ x09, 7); + x02 = x02 + x06 | 0; + x14 = rotl(x14 ^ x02, 16); + x10 = x10 + x14 | 0; + x06 = rotl(x06 ^ x10, 12); + x02 = x02 + x06 | 0; + x14 = rotl(x14 ^ x02, 8); + x10 = x10 + x14 | 0; + x06 = rotl(x06 ^ x10, 7); + x03 = x03 + x07 | 0; + x15 = rotl(x15 ^ x03, 16); + x11 = x11 + x15 | 0; + x07 = rotl(x07 ^ x11, 12); + x03 = x03 + x07 | 0; + x15 = rotl(x15 ^ x03, 8); + x11 = x11 + x15 | 0; + x07 = rotl(x07 ^ x11, 7); + x00 = x00 + x05 | 0; + x15 = rotl(x15 ^ x00, 16); + x10 = x10 + x15 | 0; + x05 = rotl(x05 ^ x10, 12); + x00 = x00 + x05 | 0; + x15 = rotl(x15 ^ x00, 8); + x10 = x10 + x15 | 0; + x05 = rotl(x05 ^ x10, 7); + x01 = x01 + x06 | 0; + x12 = rotl(x12 ^ x01, 16); + x11 = x11 + x12 | 0; + x06 = rotl(x06 ^ x11, 12); + x01 = x01 + x06 | 0; + x12 = rotl(x12 ^ x01, 8); + x11 = x11 + x12 | 0; + x06 = rotl(x06 ^ x11, 7); + x02 = x02 + x07 | 0; + x13 = rotl(x13 ^ x02, 16); + x08 = x08 + x13 | 0; + x07 = rotl(x07 ^ x08, 12); + x02 = x02 + x07 | 0; + x13 = rotl(x13 ^ x02, 8); + x08 = x08 + x13 | 0; + x07 = rotl(x07 ^ x08, 7); + x03 = x03 + x04 | 0; + x14 = rotl(x14 ^ x03, 16); + x09 = x09 + x14 | 0; + x04 = rotl(x04 ^ x09, 12); + x03 = x03 + x04 | 0; + x14 = rotl(x14 ^ x03, 8); + x09 = x09 + x14 | 0; + x04 = rotl(x04 ^ x09, 7); + } + let oi = 0; + o32[oi++] = x00; + o32[oi++] = x01; + o32[oi++] = x02; + o32[oi++] = x03; + o32[oi++] = x12; + o32[oi++] = x13; + o32[oi++] = x14; + o32[oi++] = x15; + } + var chacha20 = /* @__PURE__ */ createCipher(chachaCore, { + counterRight: false, + counterLength: 4, + allowShortKeys: false + }); + var xchacha20 = /* @__PURE__ */ createCipher(chachaCore, { + counterRight: false, + counterLength: 8, + extendNonceFn: hchacha, + allowShortKeys: false + }); + var ZEROS162 = /* @__PURE__ */ new Uint8Array(16); + var updatePadded = (h, msg) => { + h.update(msg); + const left = msg.length % 16; + if (left) + h.update(ZEROS162.subarray(left)); + }; + var ZEROS322 = /* @__PURE__ */ new Uint8Array(32); + function computeTag2(fn, key, nonce, data, AAD) { + const authKey = fn(key, nonce, ZEROS322); + const h = poly1305.create(authKey); + if (AAD) + updatePadded(h, AAD); + updatePadded(h, data); + const num = new Uint8Array(16); + const view = createView3(num); + setBigUint643(view, 0, BigInt(AAD ? AAD.length : 0), true); + setBigUint643(view, 8, BigInt(data.length), true); + h.update(num); + const res = h.digest(); + authKey.fill(0); + return res; + } + var _poly1305_aead = (xorStream) => (key, nonce, AAD) => { + const tagLength = 16; + bytes3(key, 32); + bytes3(nonce); + return { + encrypt: (plaintext, output4) => { + const plength = plaintext.length; + const clength = plength + tagLength; + if (output4) { + bytes3(output4, clength); + } else { + output4 = new Uint8Array(clength); + } + xorStream(key, nonce, plaintext, output4, 1); + const tag = computeTag2(xorStream, key, nonce, output4.subarray(0, -tagLength), AAD); + output4.set(tag, plength); + return output4; + }, + decrypt: (ciphertext, output4) => { + const clength = ciphertext.length; + const plength = clength - tagLength; + if (clength < tagLength) + throw new Error(`encrypted data must be at least ${tagLength} bytes`); + if (output4) { + bytes3(output4, plength); + } else { + output4 = new Uint8Array(plength); + } + const data = ciphertext.subarray(0, -tagLength); + const passedTag = ciphertext.subarray(-tagLength); + const tag = computeTag2(xorStream, key, nonce, data, AAD); + if (!equalBytes2(passedTag, tag)) + throw new Error("invalid tag"); + xorStream(key, nonce, data, output4, 1); + return output4; + } + }; + }; + var chacha20poly1305 = /* @__PURE__ */ wrapCipher({ blockSize: 64, nonceLength: 12, tagLength: 16 }, _poly1305_aead(chacha20)); + var xchacha20poly1305 = /* @__PURE__ */ wrapCipher({ blockSize: 64, nonceLength: 24, tagLength: 16 }, _poly1305_aead(xchacha20)); + + // node_modules/@noble/hashes/esm/hmac.js + var HMAC2 = class extends Hash2 { + constructor(hash3, _key) { + super(); + this.finished = false; + this.destroyed = false; + assert_default.hash(hash3); + const key = toBytes2(_key); + this.iHash = hash3.create(); + if (typeof this.iHash.update !== "function") + throw new Error("Expected instance of class which extends utils.Hash"); + this.blockLen = this.iHash.blockLen; + this.outputLen = this.iHash.outputLen; + const blockLen = this.blockLen; + const pad2 = new Uint8Array(blockLen); + pad2.set(key.length > blockLen ? hash3.create().update(key).digest() : key); + for (let i2 = 0; i2 < pad2.length; i2++) + pad2[i2] ^= 54; + this.iHash.update(pad2); + this.oHash = hash3.create(); + for (let i2 = 0; i2 < pad2.length; i2++) + pad2[i2] ^= 54 ^ 92; + this.oHash.update(pad2); + pad2.fill(0); + } + update(buf) { + assert_default.exists(this); + this.iHash.update(buf); + return this; + } + digestInto(out) { + assert_default.exists(this); + assert_default.bytes(out, this.outputLen); + this.finished = true; + this.iHash.digestInto(out); + this.oHash.update(out); + this.oHash.digestInto(out); + this.destroy(); + } + digest() { + const out = new Uint8Array(this.oHash.outputLen); + this.digestInto(out); + return out; + } + _cloneInto(to) { + to || (to = Object.create(Object.getPrototypeOf(this), {})); + const { oHash, iHash, finished, destroyed, blockLen, outputLen } = this; + to = to; + to.finished = finished; + to.destroyed = destroyed; + to.blockLen = blockLen; + to.outputLen = outputLen; + to.oHash = oHash._cloneInto(to.oHash); + to.iHash = iHash._cloneInto(to.iHash); + return to; + } + destroy() { + this.destroyed = true; + this.oHash.destroy(); + this.iHash.destroy(); + } + }; + var hmac2 = (hash3, key, message) => new HMAC2(hash3, key).update(message).digest(); + hmac2.create = (hash3, key) => new HMAC2(hash3, key); + + // node_modules/@noble/hashes/esm/hkdf.js + function extract(hash3, ikm, salt) { + assert_default.hash(hash3); + if (salt === void 0) + salt = new Uint8Array(hash3.outputLen); + return hmac2(hash3, toBytes2(salt), toBytes2(ikm)); + } + var HKDF_COUNTER = new Uint8Array([0]); + var EMPTY_BUFFER = new Uint8Array(); + function expand(hash3, prk, info, length = 32) { + assert_default.hash(hash3); + assert_default.number(length); + if (length > 255 * hash3.outputLen) + throw new Error("Length should be <= 255*HashLen"); + const blocks = Math.ceil(length / hash3.outputLen); + if (info === void 0) + info = EMPTY_BUFFER; + const okm = new Uint8Array(blocks * hash3.outputLen); + const HMAC3 = hmac2.create(hash3, prk); + const HMACTmp = HMAC3._cloneInto(); + const T = new Uint8Array(HMAC3.outputLen); + for (let counter = 0; counter < blocks; counter++) { + HKDF_COUNTER[0] = counter + 1; + HMACTmp.update(counter === 0 ? EMPTY_BUFFER : T).update(info).update(HKDF_COUNTER).digestInto(T); + okm.set(T, hash3.outputLen * counter); + HMAC3._cloneInto(HMACTmp); + } + HMAC3.destroy(); + HMACTmp.destroy(); + T.fill(0); + HKDF_COUNTER.fill(0); + return okm.slice(0, length); + } + + // nip44.ts + var minPlaintextSize = 1; + var maxPlaintextSize = 65535; + function getConversationKey(privkeyA, pubkeyB) { + const sharedX = secp256k1.getSharedSecret(privkeyA, "02" + pubkeyB).subarray(1, 33); + return extract(sha2562, sharedX, "nip44-v2"); + } + function getMessageKeys(conversationKey, nonce) { + const keys = expand(sha2562, conversationKey, nonce, 76); + return { + chacha_key: keys.subarray(0, 32), + chacha_nonce: keys.subarray(32, 44), + hmac_key: keys.subarray(44, 76) + }; + } + function calcPaddedLen(len) { + if (!Number.isSafeInteger(len) || len < 1) + throw new Error("expected positive integer"); + if (len <= 32) + return 32; + const nextPower = 1 << Math.floor(Math.log2(len - 1)) + 1; + const chunk = nextPower <= 256 ? 32 : nextPower / 8; + return chunk * (Math.floor((len - 1) / chunk) + 1); + } + function writeU16BE(num) { + if (!Number.isSafeInteger(num) || num < minPlaintextSize || num > maxPlaintextSize) + throw new Error("invalid plaintext size: must be between 1 and 65535 bytes"); + const arr = new Uint8Array(2); + new DataView(arr.buffer).setUint16(0, num, false); + return arr; + } + function pad(plaintext) { + const unpadded = utf8Encoder.encode(plaintext); + const unpaddedLen = unpadded.length; + const prefix = writeU16BE(unpaddedLen); + const suffix = new Uint8Array(calcPaddedLen(unpaddedLen) - unpaddedLen); + return concatBytes3(prefix, unpadded, suffix); + } + function unpad(padded) { + const unpaddedLen = new DataView(padded.buffer).getUint16(0); + const unpadded = padded.subarray(2, 2 + unpaddedLen); + if (unpaddedLen < minPlaintextSize || unpaddedLen > maxPlaintextSize || unpadded.length !== unpaddedLen || padded.length !== 2 + calcPaddedLen(unpaddedLen)) + throw new Error("invalid padding"); + return utf8Decoder.decode(unpadded); + } + function hmacAad(key, message, aad) { + if (aad.length !== 32) + throw new Error("AAD associated data must be 32 bytes"); + const combined = concatBytes3(aad, message); + return hmac2(sha2562, key, combined); + } + function decodePayload(payload) { + if (typeof payload !== "string") + throw new Error("payload must be a valid string"); + const plen = payload.length; + if (plen < 132 || plen > 87472) + throw new Error("invalid payload length: " + plen); + if (payload[0] === "#") + throw new Error("unknown encryption version"); + let data; + try { + data = base64.decode(payload); + } catch (error) { + throw new Error("invalid base64: " + error.message); + } + const dlen = data.length; + if (dlen < 99 || dlen > 65603) + throw new Error("invalid data length: " + dlen); + const vers = data[0]; + if (vers !== 2) + throw new Error("unknown encryption version " + vers); + return { + nonce: data.subarray(1, 33), + ciphertext: data.subarray(33, -32), + mac: data.subarray(-32) + }; + } + function encrypt3(plaintext, conversationKey, nonce = randomBytes2(32)) { + const { chacha_key, chacha_nonce, hmac_key } = getMessageKeys(conversationKey, nonce); + const padded = pad(plaintext); + const ciphertext = chacha20(chacha_key, chacha_nonce, padded); + const mac = hmacAad(hmac_key, ciphertext, nonce); + return base64.encode(concatBytes3(new Uint8Array([2]), nonce, ciphertext, mac)); + } + function decrypt3(payload, conversationKey) { + const { nonce, ciphertext, mac } = decodePayload(payload); + const { chacha_key, chacha_nonce, hmac_key } = getMessageKeys(conversationKey, nonce); + const calculatedMac = hmacAad(hmac_key, ciphertext, nonce); + if (!equalBytes2(calculatedMac, mac)) + throw new Error("invalid MAC"); + const padded = chacha20(chacha_key, chacha_nonce, ciphertext); + return unpad(padded); + } + var v2 = { + utils: { + getConversationKey, + calcPaddedLen + }, + encrypt: encrypt3, + decrypt: decrypt3 + }; + + // nip47.ts + var nip47_exports = {}; + __export(nip47_exports, { + makeNwcRequestEvent: () => makeNwcRequestEvent, + parseConnectionString: () => parseConnectionString + }); + function parseConnectionString(connectionString) { + const { pathname, searchParams } = new URL(connectionString); + const pubkey = pathname; + const relay = searchParams.get("relay"); + const secret = searchParams.get("secret"); + if (!pubkey || !relay || !secret) { + throw new Error("invalid connection string"); + } + return { pubkey, relay, secret }; + } + async function makeNwcRequestEvent(pubkey, secretKey, invoice) { + const content = { + method: "pay_invoice", + params: { + invoice + } + }; + const encryptedContent = await encrypt2(secretKey, pubkey, JSON.stringify(content)); + const eventTemplate = { + kind: NWCWalletRequest, + created_at: Math.round(Date.now() / 1e3), + content: encryptedContent, + tags: [["p", pubkey]] + }; + return finalizeEvent(eventTemplate, secretKey); + } + + // nip57.ts + var nip57_exports = {}; + __export(nip57_exports, { + getZapEndpoint: () => getZapEndpoint, + makeZapReceipt: () => makeZapReceipt, + makeZapRequest: () => makeZapRequest, + useFetchImplementation: () => useFetchImplementation4, + validateZapRequest: () => validateZapRequest + }); + var _fetch4; + try { + _fetch4 = fetch; + } catch { + } + function useFetchImplementation4(fetchImplementation) { + _fetch4 = fetchImplementation; + } + async function getZapEndpoint(metadata) { + try { + let lnurl = ""; + let { lud06, lud16 } = JSON.parse(metadata.content); + if (lud06) { + let { words } = bech32.decode(lud06, 1e3); + let data = bech32.fromWords(words); + lnurl = utf8Decoder.decode(data); + } else if (lud16) { + let [name, domain] = lud16.split("@"); + lnurl = new URL(`/.well-known/lnurlp/${name}`, `https://${domain}`).toString(); + } else { + return null; + } + let res = await _fetch4(lnurl); + let body = await res.json(); + if (body.allowsNostr && body.nostrPubkey) { + return body.callback; + } + } catch (err) { + } + return null; + } + function makeZapRequest({ + profile, + event, + amount, + relays, + comment = "" + }) { + if (!amount) + throw new Error("amount not given"); + if (!profile) + throw new Error("profile not given"); + let zr = { + kind: 9734, + created_at: Math.round(Date.now() / 1e3), + content: comment, + tags: [ + ["p", profile], + ["amount", amount.toString()], + ["relays", ...relays] + ] + }; + if (event) { + zr.tags.push(["e", event]); + } + return zr; + } + function validateZapRequest(zapRequestString) { + let zapRequest; + try { + zapRequest = JSON.parse(zapRequestString); + } catch (err) { + return "Invalid zap request JSON."; + } + if (!validateEvent(zapRequest)) + return "Zap request is not a valid Nostr event."; + if (!verifyEvent(zapRequest)) + return "Invalid signature on zap request."; + let p = zapRequest.tags.find(([t, v]) => t === "p" && v); + if (!p) + return "Zap request doesn't have a 'p' tag."; + if (!p[1].match(/^[a-f0-9]{64}$/)) + return "Zap request 'p' tag is not valid hex."; + let e = zapRequest.tags.find(([t, v]) => t === "e" && v); + if (e && !e[1].match(/^[a-f0-9]{64}$/)) + return "Zap request 'e' tag is not valid hex."; + let relays = zapRequest.tags.find(([t, v]) => t === "relays" && v); + if (!relays) + return "Zap request doesn't have a 'relays' tag."; + return null; + } + function makeZapReceipt({ + zapRequest, + preimage, + bolt11, + paidAt + }) { + let zr = JSON.parse(zapRequest); + let tagsFromZapRequest = zr.tags.filter(([t]) => t === "e" || t === "p" || t === "a"); + let zap = { + kind: 9735, + created_at: Math.round(paidAt.getTime() / 1e3), + content: "", + tags: [...tagsFromZapRequest, ["P", zr.pubkey], ["bolt11", bolt11], ["description", zapRequest]] + }; + if (preimage) { + zap.tags.push(["preimage", preimage]); + } + return zap; + } + + // nip98.ts + var nip98_exports = {}; + __export(nip98_exports, { + getToken: () => getToken, + hashPayload: () => hashPayload, + unpackEventFromToken: () => unpackEventFromToken, + validateEvent: () => validateEvent2, + validateEventKind: () => validateEventKind, + validateEventMethodTag: () => validateEventMethodTag, + validateEventPayloadTag: () => validateEventPayloadTag, + validateEventTimestamp: () => validateEventTimestamp, + validateEventUrlTag: () => validateEventUrlTag, + validateToken: () => validateToken + }); + var _authorizationScheme = "Nostr "; + async function getToken(loginUrl, httpMethod, sign, includeAuthorizationScheme = false, payload) { + const event = { + kind: HTTPAuth, + tags: [ + ["u", loginUrl], + ["method", httpMethod] + ], + created_at: Math.round(new Date().getTime() / 1e3), + content: "" + }; + if (payload) { + event.tags.push(["payload", hashPayload(payload)]); + } + const signedEvent = await sign(event); + const authorizationScheme = includeAuthorizationScheme ? _authorizationScheme : ""; + return authorizationScheme + base64.encode(utf8Encoder.encode(JSON.stringify(signedEvent))); + } + async function validateToken(token, url, method) { + const event = await unpackEventFromToken(token).catch((error) => { + throw error; + }); + const valid = await validateEvent2(event, url, method).catch((error) => { + throw error; + }); + return valid; + } + async function unpackEventFromToken(token) { + if (!token) { + throw new Error("Missing token"); + } + token = token.replace(_authorizationScheme, ""); + const eventB64 = utf8Decoder.decode(base64.decode(token)); + if (!eventB64 || eventB64.length === 0 || !eventB64.startsWith("{")) { + throw new Error("Invalid token"); + } + const event = JSON.parse(eventB64); + return event; + } + function validateEventTimestamp(event) { + if (!event.created_at) { + return false; + } + return Math.round(new Date().getTime() / 1e3) - event.created_at < 60; + } + function validateEventKind(event) { + return event.kind === HTTPAuth; + } + function validateEventUrlTag(event, url) { + const urlTag = event.tags.find((t) => t[0] === "u"); + if (!urlTag) { + return false; + } + return urlTag.length > 0 && urlTag[1] === url; + } + function validateEventMethodTag(event, method) { + const methodTag = event.tags.find((t) => t[0] === "method"); + if (!methodTag) { + return false; + } + return methodTag.length > 0 && methodTag[1].toLowerCase() === method.toLowerCase(); + } + function hashPayload(payload) { + const hash3 = sha2562(utf8Encoder.encode(JSON.stringify(payload))); + return bytesToHex2(hash3); + } + function validateEventPayloadTag(event, payload) { + const payloadTag = event.tags.find((t) => t[0] === "payload"); + if (!payloadTag) { + return false; + } + const payloadHash = hashPayload(payload); + return payloadTag.length > 0 && payloadTag[1] === payloadHash; + } + async function validateEvent2(event, url, method, body) { + if (!verifyEvent(event)) { + throw new Error("Invalid nostr event, signature invalid"); + } + if (!validateEventKind(event)) { + throw new Error("Invalid nostr event, kind invalid"); + } + if (!validateEventTimestamp(event)) { + throw new Error("Invalid nostr event, created_at timestamp invalid"); + } + if (!validateEventUrlTag(event, url)) { + throw new Error("Invalid nostr event, url tag invalid"); + } + if (!validateEventMethodTag(event, method)) { + throw new Error("Invalid nostr event, method tag invalid"); + } + if (Boolean(body) && typeof body === "object" && Object.keys(body).length > 0) { + if (!validateEventPayloadTag(event, body)) { + throw new Error("Invalid nostr event, payload tag does not match request body hash"); + } + } + return true; + } + return __toCommonJS(nostr_tools_exports); +})(); diff --git a/lnbits/utils/nostr.py b/lnbits/utils/nostr.py new file mode 100644 index 000000000..f137897a0 --- /dev/null +++ b/lnbits/utils/nostr.py @@ -0,0 +1,190 @@ +import base64 +import hashlib +import json +from typing import Dict, Union + +import secp256k1 +from bech32 import bech32_decode, bech32_encode, convertbits +from Cryptodome import Random +from Cryptodome.Cipher import AES +from Cryptodome.Util.Padding import pad, unpad + + +def encrypt_content( + content: str, service_pubkey: secp256k1.PublicKey, account_private_key_hex: str +) -> str: + """ + Encrypts the content to be sent to the service. + + Args: + content (str): The content to be encrypted. + service_pubkey (secp256k1.PublicKey): The service provider's public key. + account_private_key_hex (str): The account private key in hex format. + + Returns: + str: The encrypted content. + """ + shared = service_pubkey.tweak_mul( + bytes.fromhex(account_private_key_hex) + ).serialize()[1:] + # random iv (16B) + iv = Random.new().read(AES.block_size) + aes = AES.new(shared, AES.MODE_CBC, iv) + + content_bytes = content.encode("utf-8") + + # padding + content_bytes = pad(content_bytes, AES.block_size) + + # Encrypt + encrypted_b64 = base64.b64encode(aes.encrypt(content_bytes)).decode("ascii") + iv_b64 = base64.b64encode(iv).decode("ascii") + encrypted_content = encrypted_b64 + "?iv=" + iv_b64 + return encrypted_content + + +def decrypt_content( + content: str, service_pubkey: secp256k1.PublicKey, account_private_key_hex: str +) -> str: + """ + Decrypts the content coming from the service. + + Args: + content (str): The encrypted content. + service_pubkey (secp256k1.PublicKey): The service provider's public key. + account_private_key_hex (str): The account private key in hex format. + + Returns: + str: The decrypted content. + """ + shared = service_pubkey.tweak_mul( + bytes.fromhex(account_private_key_hex) + ).serialize()[1:] + # extract iv and content + (encrypted_content_b64, iv_b64) = content.split("?iv=") + encrypted_content = base64.b64decode(encrypted_content_b64.encode("ascii")) + iv = base64.b64decode(iv_b64.encode("ascii")) + # Decrypt + aes = AES.new(shared, AES.MODE_CBC, iv) + decrypted_bytes = aes.decrypt(encrypted_content) + decrypted_bytes = unpad(decrypted_bytes, AES.block_size) + decrypted = decrypted_bytes.decode("utf-8") + + return decrypted + + +def verify_event(event: Dict) -> bool: + """ + Verify the event signature + + Args: + event (Dict): The event to verify. + + Returns: + bool: True if the event signature is valid, False otherwise. + """ + signature_data = json_dumps( + [ + 0, + event["pubkey"], + event["created_at"], + event["kind"], + event["tags"], + event["content"], + ] + ) + event_id = hashlib.sha256(signature_data.encode()).hexdigest() + if event_id != event["id"]: + return False + pubkey_hex = event["pubkey"] + pubkey = secp256k1.PublicKey(bytes.fromhex("02" + pubkey_hex), True) + if not pubkey.schnorr_verify( + bytes.fromhex(event_id), bytes.fromhex(event["sig"]), None, raw=True + ): + return False + return True + + +def sign_event( + event: Dict, account_public_key_hex: str, account_private_key: secp256k1.PrivateKey +) -> Dict: + """ + Signs the event (in place) with the service secret + + Args: + event (Dict): The event to be signed. + account_public_key_hex (str): The account public key in hex format. + account_private_key (secp256k1.PrivateKey): The account private key. + + Returns: + Dict: The input event with the signature added. + """ + signature_data = json_dumps( + [ + 0, + account_public_key_hex, + event["created_at"], + event["kind"], + event["tags"], + event["content"], + ] + ) + event_id = hashlib.sha256(signature_data.encode()).hexdigest() + event["id"] = event_id + event["pubkey"] = account_public_key_hex + + signature = ( + account_private_key.schnorr_sign(bytes.fromhex(event_id), None, raw=True) + ).hex() + event["sig"] = signature + return event + + +def json_dumps(data: Union[Dict, list]) -> str: + """ + Converts a Python dictionary to a JSON string with compact encoding. + + Args: + data (Dict): The dictionary to be converted. + + Returns: + str: The compact JSON string. + """ + if isinstance(data, Dict): + data = {k: v for k, v in data.items() if v is not None} + return json.dumps(data, separators=(",", ":"), ensure_ascii=False) + + +def normalize_public_key(pubkey: str) -> str: + if pubkey.startswith("npub1"): + _, decoded_data = bech32_decode(pubkey) + assert decoded_data, "Public Key is not valid npub." + + decoded_data_bits = convertbits(decoded_data, 5, 8, False) + assert decoded_data_bits, "Public Key is not valid npub." + + return bytes(decoded_data_bits).hex() + + assert len(pubkey) == 64, "Public key has wrong length." + try: + int(pubkey, 16) + except Exception as exc: + raise AssertionError("Public Key is not valid hex.") from exc + return pubkey + + +def hex_to_npub(hex_pubkey: str) -> str: + """ + Converts a hex public key to a Nostr public key. + + Args: + hex_pubkey (str): The hex public key to convert. + + Returns: + str: The Nostr public key. + """ + normalize_public_key(hex_pubkey) + pubkey_bytes = bytes.fromhex(hex_pubkey) + bits = convertbits(pubkey_bytes, 8, 5, True) + assert bits + return bech32_encode("npub", bits) diff --git a/lnbits/wallets/nwc.py b/lnbits/wallets/nwc.py index 79947171e..6ec49e8ab 100644 --- a/lnbits/wallets/nwc.py +++ b/lnbits/wallets/nwc.py @@ -1,5 +1,4 @@ import asyncio -import base64 import hashlib import json import random @@ -9,13 +8,17 @@ from urllib.parse import parse_qs, unquote, urlparse import secp256k1 from bolt11 import decode as bolt11_decode -from Cryptodome import Random -from Cryptodome.Cipher import AES -from Cryptodome.Util.Padding import pad, unpad from loguru import logger from websockets.client import connect as ws_connect from lnbits.settings import settings +from lnbits.utils.nostr import ( + decrypt_content, + encrypt_content, + json_dumps, + sign_event, + verify_event, +) from .base import ( InvoiceResponse, @@ -806,148 +809,3 @@ def parse_nwc(nwc) -> Dict: else: raise ValueError("Invalid NWC pairing url") return data - - -def json_dumps(data: Union[Dict, list]) -> str: - """ - Converts a Python dictionary to a JSON string with compact encoding. - - Args: - data (Dict): The dictionary to be converted. - - Returns: - str: The compact JSON string. - """ - if isinstance(data, Dict): - data = {k: v for k, v in data.items() if v is not None} - return json.dumps(data, separators=(",", ":"), ensure_ascii=False) - - -def encrypt_content( - content: str, service_pubkey: secp256k1.PublicKey, account_private_key_hex: str -) -> str: - """ - Encrypts the content to be sent to the service. - - Args: - content (str): The content to be encrypted. - service_pubkey (secp256k1.PublicKey): The service provider's public key. - account_private_key_hex (str): The account private key in hex format. - - Returns: - str: The encrypted content. - """ - shared = service_pubkey.tweak_mul( - bytes.fromhex(account_private_key_hex) - ).serialize()[1:] - # random iv (16B) - iv = Random.new().read(AES.block_size) - aes = AES.new(shared, AES.MODE_CBC, iv) - - content_bytes = content.encode("utf-8") - - # padding - content_bytes = pad(content_bytes, AES.block_size) - - # Encrypt - encrypted_b64 = base64.b64encode(aes.encrypt(content_bytes)).decode("ascii") - iv_b64 = base64.b64encode(iv).decode("ascii") - encrypted_content = encrypted_b64 + "?iv=" + iv_b64 - return encrypted_content - - -def decrypt_content( - content: str, service_pubkey: secp256k1.PublicKey, account_private_key_hex: str -) -> str: - """ - Decrypts the content coming from the service. - - Args: - content (str): The encrypted content. - service_pubkey (secp256k1.PublicKey): The service provider's public key. - account_private_key_hex (str): The account private key in hex format. - - Returns: - str: The decrypted content. - """ - shared = service_pubkey.tweak_mul( - bytes.fromhex(account_private_key_hex) - ).serialize()[1:] - # extract iv and content - (encrypted_content_b64, iv_b64) = content.split("?iv=") - encrypted_content = base64.b64decode(encrypted_content_b64.encode("ascii")) - iv = base64.b64decode(iv_b64.encode("ascii")) - # Decrypt - aes = AES.new(shared, AES.MODE_CBC, iv) - decrypted_bytes = aes.decrypt(encrypted_content) - decrypted_bytes = unpad(decrypted_bytes, AES.block_size) - decrypted = decrypted_bytes.decode("utf-8") - - return decrypted - - -def verify_event(event: Dict) -> bool: - """ - Verify the event signature - - Args: - event (Dict): The event to verify. - - Returns: - bool: True if the event signature is valid, False otherwise. - """ - signature_data = json_dumps( - [ - 0, - event["pubkey"], - event["created_at"], - event["kind"], - event["tags"], - event["content"], - ] - ) - event_id = hashlib.sha256(signature_data.encode()).hexdigest() - if event_id != event["id"]: # Invalid event id - return False - pubkey_hex = event["pubkey"] - pubkey = secp256k1.PublicKey(bytes.fromhex("02" + pubkey_hex), True) - if not pubkey.schnorr_verify( - bytes.fromhex(event_id), bytes.fromhex(event["sig"]), None, raw=True - ): - return False - return True - - -def sign_event( - event: Dict, account_public_key_hex: str, account_private_key: secp256k1.PrivateKey -) -> Dict: - """ - Signs the event (in place) with the service secret - - Args: - event (Dict): The event to be signed. - account_public_key_hex (str): The account public key in hex format. - account_private_key (secp256k1.PrivateKey): The account private key. - - Returns: - Dict: The input event with the signature added. - """ - signature_data = json_dumps( - [ - 0, - account_public_key_hex, - event["created_at"], - event["kind"], - event["tags"], - event["content"], - ] - ) - event_id = hashlib.sha256(signature_data.encode()).hexdigest() - event["id"] = event_id - event["pubkey"] = account_public_key_hex - - signature = ( - account_private_key.schnorr_sign(bytes.fromhex(event_id), None, raw=True) - ).hex() - event["sig"] = signature - return event diff --git a/package-lock.json b/package-lock.json index e4d81ae66..4c3804473 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "axios": "^1.7.7", "chart.js": "^4.4.4", "moment": "^2.30.1", + "nostr-tools": "^2.7.2", "qrcode.vue": "^3.4.1", "quasar": "2.17.0", "showdown": "^2.1.0", @@ -31,7 +32,6 @@ "version": "7.24.8", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -40,7 +40,6 @@ "version": "7.24.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", - "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -49,7 +48,6 @@ "version": "7.25.6", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", - "license": "MIT", "dependencies": { "@babel/types": "^7.25.6" }, @@ -64,7 +62,6 @@ "version": "7.25.6", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", - "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.24.8", "@babel/helper-validator-identifier": "^7.24.7", @@ -78,7 +75,6 @@ "version": "10.0.3", "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-10.0.3.tgz", "integrity": "sha512-ysJnTGDtuXPa6R2Ii4JIvfMVvDahUUny3aY8+P4r6/0TYHkblgzIMjV6cAn60em67AB0M7OWNAdcAVfWWeN8Qg==", - "license": "MIT", "dependencies": { "@intlify/message-compiler": "10.0.3", "@intlify/shared": "10.0.3" @@ -94,7 +90,6 @@ "version": "10.0.3", "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-10.0.3.tgz", "integrity": "sha512-KC2fG8nCzSYmXjHptEt6i/xM3k6S2szsPaHDCRgWKEYAbeHe6JFm6X4KRw3Csy112A8CxpavMi1dh3h7khwV5w==", - "license": "MIT", "dependencies": { "@intlify/shared": "10.0.3", "source-map-js": "^1.0.2" @@ -110,7 +105,6 @@ "version": "10.0.3", "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-10.0.3.tgz", "integrity": "sha512-PWxrCb6fDlnoGLnXLlWu6d7o/HdWACB9TjRnpLro+9uyfqgWA9hvqg5vekcPRyraTieV5srCbTk/ldYw9V3LHw==", - "license": "MIT", "engines": { "node": ">= 16" }, @@ -180,6 +174,94 @@ "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, + "node_modules/@noble/ciphers": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.5.3.tgz", + "integrity": "sha512-B0+6IIHiqEs3BPMT0hcRmHvEj2QHOLu+uwt+tqDDeVd0oyVzh7BPrDcPjRnV1PV/5LaknXJJQvOuRGR0zQJz+w==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/curves/node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz", + "integrity": "sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/base": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.1.tgz", + "integrity": "sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ] + }, + "node_modules/@scure/bip32": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.1.tgz", + "integrity": "sha512-osvveYtyzdEVbt3OfwwXFr4P2iVBL5u1Q3q4ONBfDY/UpOuXmOlbgwc1xECEboY8wIays8Yt6onaWMUdUbfl0A==", + "dependencies": { + "@noble/curves": "~1.1.0", + "@noble/hashes": "~1.3.1", + "@scure/base": "~1.1.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip32/node_modules/@noble/curves": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz", + "integrity": "sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==", + "dependencies": { + "@noble/hashes": "1.3.1" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.2.1.tgz", + "integrity": "sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==", + "dependencies": { + "@noble/hashes": "~1.3.0", + "@scure/base": "~1.1.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@types/dom-webcodecs": { "version": "0.1.11", "resolved": "https://registry.npmjs.org/@types/dom-webcodecs/-/dom-webcodecs-0.1.11.tgz", @@ -194,7 +276,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.8.tgz", "integrity": "sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==", - "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", "@vue/shared": "3.5.8", @@ -207,7 +288,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.8.tgz", "integrity": "sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==", - "license": "MIT", "dependencies": { "@vue/compiler-core": "3.5.8", "@vue/shared": "3.5.8" @@ -217,7 +297,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.8.tgz", "integrity": "sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==", - "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", "@vue/compiler-core": "3.5.8", @@ -234,7 +313,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.8.tgz", "integrity": "sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==", - "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.8", "@vue/shared": "3.5.8" @@ -243,14 +321,12 @@ "node_modules/@vue/devtools-api": { "version": "6.6.4", "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", - "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", - "license": "MIT" + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" }, "node_modules/@vue/reactivity": { "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.8.tgz", "integrity": "sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==", - "license": "MIT", "dependencies": { "@vue/shared": "3.5.8" } @@ -259,7 +335,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.8.tgz", "integrity": "sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==", - "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.8", "@vue/shared": "3.5.8" @@ -269,7 +344,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.8.tgz", "integrity": "sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==", - "license": "MIT", "dependencies": { "@vue/reactivity": "3.5.8", "@vue/runtime-core": "3.5.8", @@ -281,7 +355,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.8.tgz", "integrity": "sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==", - "license": "MIT", "dependencies": { "@vue/compiler-ssr": "3.5.8", "@vue/shared": "3.5.8" @@ -293,8 +366,7 @@ "node_modules/@vue/shared": { "version": "3.5.8", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.8.tgz", - "integrity": "sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==", - "license": "MIT" + "integrity": "sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==" }, "node_modules/acorn": { "version": "8.11.3", @@ -308,6 +380,19 @@ "node": ">=0.4.0" } }, + "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/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -332,6 +417,27 @@ "zxing-wasm": "1.1.3" } }, + "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/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -360,19 +466,27 @@ } }, "node_modules/chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "license": "MIT", "dependencies": { - "readdirp": "^4.0.1" + "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": ">= 14.16.0" + "node": ">= 8.10.0" }, "funding": { "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, "node_modules/clean-css": { @@ -434,8 +548,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/debug": { "version": "4.3.4", @@ -486,8 +599,19 @@ "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==", - "license": "MIT" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, "node_modules/follow-redirects": { "version": "1.15.6", @@ -521,6 +645,32 @@ "node": ">= 6" } }, + "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/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/html-minifier-terser": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", @@ -557,6 +707,48 @@ "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", "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-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-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-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/jju": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", @@ -576,7 +768,6 @@ "version": "0.30.11", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", - "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } @@ -725,7 +916,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -743,6 +933,45 @@ "tslib": "^2.0.3" } }, + "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/nostr-tools": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/nostr-tools/-/nostr-tools-2.7.2.tgz", + "integrity": "sha512-Bq3Ug0SZFtgtL1+0wCnAe8AJtI7yx/00/a2nUug9SkhfOwlKS92Tef12iCK9FdwXw+oFZWMtRnSwcLayQso+xA==", + "dependencies": { + "@noble/ciphers": "^0.5.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.1", + "@scure/base": "1.1.1", + "@scure/bip32": "1.3.1", + "@scure/bip39": "1.2.1" + }, + "optionalDependencies": { + "nostr-wasm": "v0.1.0" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/nostr-wasm": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/nostr-wasm/-/nostr-wasm-0.1.0.tgz", + "integrity": "sha512-78BTryCLcLYv96ONU8Ws3Q1JzjlAt+43pWQhIl86xZmWeegYCNLPml7yQ+gG3vR6V5h4XGj+TxO+SS5dsThQIA==", + "optional": true + }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -766,8 +995,19 @@ "node_modules/picocolors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "license": "ISC" + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + }, + "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/postcss": { "version": "8.4.47", @@ -787,7 +1027,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.1.0", @@ -845,7 +1084,6 @@ "version": "2.17.0", "resolved": "https://registry.npmjs.org/quasar/-/quasar-2.17.0.tgz", "integrity": "sha512-xFWwCt4FGuaC0M4/MA5drjBiCP7kj/5BsUPv2+dDIlyQG9YGvKIewCnWYYt02r4ijRqJSzPb7TsH89Gzkno1Mg==", - "license": "MIT", "engines": { "node": ">= 10.18.1", "npm": ">= 6.13.4", @@ -857,17 +1095,15 @@ } }, "node_modules/readdirp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.1.tgz", - "integrity": "sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16.0" + "dependencies": { + "picomatch": "^2.2.1" }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=8.10.0" } }, "node_modules/readjson": { @@ -893,13 +1129,12 @@ } }, "node_modules/sass": { - "version": "1.79.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.3.tgz", - "integrity": "sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==", + "version": "1.78.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz", + "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==", "dev": true, - "license": "MIT", "dependencies": { - "chokidar": "^4.0.0", + "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, @@ -964,7 +1199,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -1001,11 +1235,22 @@ "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==", - "license": "MIT", "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/try-catch": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-3.0.1.tgz", @@ -1039,7 +1284,6 @@ "version": "3.5.8", "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.8.tgz", "integrity": "sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==", - "license": "MIT", "dependencies": { "@vue/compiler-dom": "3.5.8", "@vue/compiler-sfc": "3.5.8", @@ -1060,7 +1304,6 @@ "version": "10.0.3", "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-10.0.3.tgz", "integrity": "sha512-8ul2S4Hy9orKs7eOlkw/zqnVu98GttUdyIMRyjoMpv6hFPxnybgBLdep/UCmdan5kUHyxqMnr2cGHTBuPBYJaw==", - "license": "MIT", "dependencies": { "@intlify/core-base": "10.0.3", "@intlify/shared": "10.0.3", @@ -1080,7 +1323,6 @@ "version": "5.5.10", "resolved": "https://registry.npmjs.org/vue-qrcode-reader/-/vue-qrcode-reader-5.5.10.tgz", "integrity": "sha512-lj83FKqRyvo0VLMu49wrLsaHueonfXcwyX9r/GDw0y+myOY5xTfsl75hjBgmmByAxzFSlCPI+CGA9FxYVtRAFQ==", - "license": "MIT", "dependencies": { "barcode-detector": "2.2.2", "webrtc-adapter": "8.2.3" @@ -1093,7 +1335,6 @@ "version": "4.4.5", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.5.tgz", "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", - "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.4" }, diff --git a/package.json b/package.json index 5aa5cb17f..a2577b0a8 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "qrcode.vue": "^3.4.1", "quasar": "2.17.0", "showdown": "^2.1.0", + "nostr-tools": "^2.7.2", "underscore": "^1.13.7", "vue": "3.5.8", "vue-i18n": "^10.0.3", @@ -46,7 +47,8 @@ "./node_modules/qrcode.vue/dist/qrcode.vue.browser.js", "./node_modules/chart.js/dist/chart.umd.js", "./node_modules/quasar/dist/quasar.css", - "./node_modules/showdown/dist/showdown.js" + "./node_modules/showdown/dist/showdown.js", + "./node_modules/nostr-tools/lib/nostr.bundle.js" ], "bundle": { "js": [ @@ -62,6 +64,7 @@ "vendor/qrcode.vue.browser.js", "vendor/chart.umd.js", "vendor/showdown.js", + "vendor/nostr.bundle.js", "i18n/i18n.js", "i18n/de.js", "i18n/en.js", diff --git a/tests/api/test_auth.py b/tests/api/test_auth.py new file mode 100644 index 000000000..176de1a82 --- /dev/null +++ b/tests/api/test_auth.py @@ -0,0 +1,858 @@ +import base64 +import json +import os +import time + +import jwt +import pytest +import secp256k1 +import shortuuid +from httpx import AsyncClient + +from lnbits.core.models import AccessTokenPayload, User +from lnbits.settings import AuthMethods, settings +from lnbits.utils.nostr import hex_to_npub, sign_event + +nostr_event = { + "kind": 27235, + "tags": [["u", "http://localhost:5000/nostr"], ["method", "POST"]], + "created_at": 1727681048, + "content": "", + "pubkey": "f6e80df16fa27f1f2774af0ac61b096f8f63ce9116f0a954fca1e25baee84ba9", + "id": "0fd22355fe63043116fdfceb77be6bf22686aacd16b9e99a10fea6e55ae3f589", + "sig": "fb7eb47fa8355747f6837e55620103d73ba47b2c3164ab8319d2f164022a9f25" + "6e00ecda7d3c8945f07b7d6ecc18cfff34c07bc99677309e2b9310d9fc1bb138", +} +private_key = secp256k1.PrivateKey( + bytes.fromhex("6e00ecda7d3c8945f07b7d6ecc18cfff34c07bc99677309e2b9310d9fc1bb138") +) +pubkey_hex = private_key.pubkey.serialize().hex()[2:] + +settings.auth_allowed_methods = AuthMethods.all() + + +################################ LOGIN ################################ +@pytest.mark.asyncio +async def test_login_bad_user(http_client: AsyncClient): + response = await http_client.post( + "/api/v1/auth", json={"username": "non_existing_user", "password": "secret1234"} + ) + + assert response.status_code == 401, "User does not exist" + assert response.json().get("detail") == "Invalid credentials." + + +@pytest.mark.asyncio +async def test_login_alan_usr(user_alan: User, http_client: AsyncClient): + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 200, "Alan logs in OK." + access_token = response.json().get("access_token") + assert access_token is not None, "Expected access token after login." + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + + assert response.status_code == 200, "Alan logs in OK." + alan = response.json() + assert alan["id"] == user_alan.id + assert alan["username"] == user_alan.username + assert alan["email"] == user_alan.email + + +@pytest.mark.asyncio +async def test_login_usr_not_allowed(user_alan: User, http_client: AsyncClient): + # exclude 'user_id_only' + settings.auth_allowed_methods = [AuthMethods.username_and_password.value] + + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 401, "Login method not allowed." + assert response.json().get("detail") == "Login by 'User ID' not allowed." + + settings.auth_allowed_methods = AuthMethods.all() + + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + assert response.status_code == 200, "Login with 'usr' allowed." + assert ( + response.json().get("access_token") is not None + ), "Expected access token after login." + + +@pytest.mark.asyncio +async def test_login_alan_username_password_ok( + user_alan: User, http_client: AsyncClient +): + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.username, "password": "secret1234"} + ) + + assert response.status_code == 200, "Alan logs in OK" + access_token = response.json().get("access_token") + assert access_token is not None + + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + access_token_payload = AccessTokenPayload(**payload) + assert access_token_payload.sub == "alan", "Subject is Alan." + assert access_token_payload.email == "alan@lnbits.com" + assert access_token_payload.auth_time, "Auth time should be set by server." + assert ( + 0 <= time.time() - access_token_payload.auth_time <= 5 + ), "Auth time should be very close to now()." + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + assert response.status_code == 200, "User exits." + user = User(**response.json()) + assert user.username == "alan", "Username check." + assert user.email == "alan@lnbits.com", "Email check." + assert not user.pubkey, "No pubkey." + assert not user.admin, "Not admin." + assert not user.super_user, "Not superuser." + assert user.has_password, "Password configured." + assert len(user.wallets) == 1, "One default wallet." + + +@pytest.mark.asyncio +async def test_login_alan_email_password_ok(user_alan: User, http_client: AsyncClient): + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.email, "password": "secret1234"} + ) + + assert response.status_code == 200, "Alan logs in OK" + access_token = response.json().get("access_token") + assert access_token is not None + + +@pytest.mark.asyncio +async def test_login_alan_password_nok(user_alan: User, http_client: AsyncClient): + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.username, "password": "bad_pasword"} + ) + + assert response.status_code == 401, "User does not exist" + assert response.json().get("detail") == "Invalid credentials." + + +@pytest.mark.asyncio +async def test_login_username_password_not_allowed( + user_alan: User, http_client: AsyncClient +): + # exclude 'username_password' + settings.auth_allowed_methods = [AuthMethods.user_id_only.value] + + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.username, "password": "secret1234"} + ) + + assert response.status_code == 401, "Login method not allowed." + assert ( + response.json().get("detail") == "Login by 'Username and Password' not allowed." + ) + + settings.auth_allowed_methods = AuthMethods.all() + + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.username, "password": "secret1234"} + ) + assert response.status_code == 200, "Username and password is allowed." + assert response.json().get("access_token") is not None + + +@pytest.mark.asyncio +async def test_login_alan_change_auth_secret_key( + user_alan: User, http_client: AsyncClient +): + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.username, "password": "secret1234"} + ) + + assert response.status_code == 200, "Alan logs in OK" + access_token = response.json().get("access_token") + assert access_token is not None + + initial_auth_secret_key = settings.auth_secret_key + + settings.auth_secret_key = shortuuid.uuid() + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + assert response.status_code == 401, "Access token not valid anymore." + assert response.json().get("detail") == "Invalid access token." + + settings.auth_secret_key = initial_auth_secret_key + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + assert response.status_code == 200, "Access token valid again." + + +################################ REGISTER WITH PASSWORD ################################ +@pytest.mark.asyncio +async def test_register_ok(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + access_token = response.json().get("access_token") + assert response.status_code == 200, "User created." + assert response.json().get("access_token") is not None + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + assert response.status_code == 200, "User exits." + user = User(**response.json()) + assert user.username == f"u21.{tiny_id}", "Username check." + assert user.email == f"u21.{tiny_id}@lnbits.com", "Email check." + assert not user.pubkey, "No pubkey check." + assert not user.admin, "Not admin." + assert not user.super_user, "Not superuser." + assert user.has_password, "Password configured." + assert len(user.wallets) == 1, "One default wallet." + + +@pytest.mark.asyncio +async def test_register_email_twice(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + assert response.status_code == 200, "User created." + assert response.json().get("access_token") is not None + + tiny_id_2 = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id_2}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + assert response.status_code == 403, "Not allowed." + assert response.json().get("detail") == "Email already exists." + + +@pytest.mark.asyncio +async def test_register_username_twice(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + assert response.status_code == 200, "User created." + assert response.json().get("access_token") is not None + + tiny_id_2 = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id_2}@lnbits.com", + }, + ) + assert response.status_code == 403, "Not allowed." + assert response.json().get("detail") == "Username already exists." + + +@pytest.mark.asyncio +async def test_register_passwords_do_not_match(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret0000", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + assert response.status_code == 400, "Bad passwords." + assert response.json().get("detail") == "Passwords do not match." + + +@pytest.mark.asyncio +async def test_register_bad_email(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": "not_an_email_lnbits.com", + }, + ) + + assert response.status_code == 400, "Bad email." + assert response.json().get("detail") == "Invalid email." + + +################################ CHANGE PASSWORD ################################ +@pytest.mark.asyncio +async def test_change_password_ok(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + assert response.status_code == 200, "User created." + access_token = response.json().get("access_token") + assert access_token is not None + + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + access_token_payload = AccessTokenPayload(**payload) + + response = await http_client.put( + "/api/v1/auth/password", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "username": f"u21.{tiny_id}", + "user_id": access_token_payload.usr, + "password_old": "secret1234", + "password": "secret0000", + "password_repeat": "secret0000", + }, + ) + + assert response.status_code == 200, "Password changed." + user = User(**response.json()) + assert user.username == f"u21.{tiny_id}", "Username check." + assert user.email == f"u21.{tiny_id}@lnbits.com", "Email check." + + response = await http_client.post( + "/api/v1/auth", json={"username": f"u21.{tiny_id}", "password": "secret1234"} + ) + + assert response.status_code == 401, "Old password does not work" + assert response.json().get("detail") == "Invalid credentials." + + response = await http_client.post( + "/api/v1/auth", json={"username": f"u21.{tiny_id}", "password": "secret0000"} + ) + + assert response.status_code == 200, "New password works." + assert response.json().get("access_token") is not None, "Access token created." + + +@pytest.mark.asyncio +async def test_change_password_not_authenticated(http_client: AsyncClient): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.put( + "/api/v1/auth/password", + json={ + "username": f"u21.{tiny_id}", + "user_id": "0000", + "password_old": "secret1234", + "password": "secret0000", + "password_repeat": "secret0000", + }, + ) + + assert response.status_code == 401, "User not authenticated." + assert response.json().get("detail") == "Missing user ID or access token." + + +@pytest.mark.asyncio +async def test_alan_change_password_old_nok(user_alan: User, http_client: AsyncClient): + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 200, "Alan logs in OK." + access_token = response.json().get("access_token") + assert access_token is not None + + response = await http_client.put( + "/api/v1/auth/password", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "username": user_alan.username, + "user_id": user_alan.id, + "password_old": "secret0000", + "password": "secret0001", + "password_repeat": "secret0001", + }, + ) + + assert response.status_code == 403, "Old password bad." + assert response.json().get("detail") == "Invalid credentials." + + +@pytest.mark.asyncio +async def test_alan_change_password_different_user( + user_alan: User, http_client: AsyncClient +): + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 200, "Alan logs in OK." + access_token = response.json().get("access_token") + assert access_token is not None + + response = await http_client.put( + "/api/v1/auth/password", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "username": user_alan.username, + "user_id": user_alan.id[::-1], + "password_old": "secret1234", + "password": "secret0001", + "password_repeat": "secret0001", + }, + ) + + assert response.status_code == 400, "Different user id." + assert response.json().get("detail") == "Invalid user ID." + + +@pytest.mark.asyncio +async def test_alan_change_password_auth_threshold_expired( + user_alan: User, http_client: AsyncClient +): + + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 200, "Alan logs in OK." + access_token = response.json().get("access_token") + assert access_token is not None + + initial_update_threshold = settings.auth_credetials_update_threshold + settings.auth_credetials_update_threshold = 1 + time.sleep(1.1) + response = await http_client.put( + "/api/v1/auth/password", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "username": user_alan.username, + "user_id": user_alan.id, + "password_old": "secret1234", + "password": "secret1234", + "password_repeat": "secret1234", + }, + ) + + settings.auth_credetials_update_threshold = initial_update_threshold + + assert response.status_code == 403, "Treshold expired." + assert ( + response.json().get("detail") == "You can only update your credentials" + " in the first 1 seconds after login." + " Please login again!" + ) + + +################################ REGISTER PUBLIC KEY ################################ + + +@pytest.mark.asyncio +async def test_register_nostr_ok(http_client: AsyncClient): + event = {**nostr_event} + event["created_at"] = int(time.time()) + + private_key = secp256k1.PrivateKey(bytes.fromhex(os.urandom(32).hex())) + pubkey_hex = private_key.pubkey.serialize().hex()[2:] + event_signed = sign_event(event, pubkey_hex, private_key) + base64_event = base64.b64encode(json.dumps(event_signed).encode()).decode("ascii") + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event}"}, + ) + assert response.status_code == 200, "User created." + access_token = response.json().get("access_token") + assert access_token is not None + + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + access_token_payload = AccessTokenPayload(**payload) + assert access_token_payload.auth_time, "Auth time should be set by server." + assert ( + 0 <= time.time() - access_token_payload.auth_time <= 5 + ), "Auth time should be very close to now()." + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + user = User(**response.json()) + assert user.username is None, "No username." + assert user.email is None, "No email." + assert user.pubkey == pubkey_hex, "Pubkey check." + assert not user.admin, "Not admin." + assert not user.super_user, "Not superuser." + assert not user.has_password, "Password configured." + assert len(user.wallets) == 1, "One default wallet." + + +@pytest.mark.asyncio +async def test_register_nostr_not_allowed(http_client: AsyncClient): + # exclude 'nostr_auth_nip98' + settings.auth_allowed_methods = [AuthMethods.username_and_password.value] + response = await http_client.post( + "/api/v1/auth/nostr", + json={}, + ) + + assert response.status_code == 401, "User not authenticated." + assert response.json().get("detail") == "Login with Nostr Auth not allowed." + + settings.auth_allowed_methods = AuthMethods.all() + + +@pytest.mark.asyncio +async def test_register_nostr_bad_header(http_client: AsyncClient): + response = await http_client.post("/api/v1/auth/nostr") + + assert response.status_code == 401, "Missing header." + assert response.json().get("detail") == "Nostr Auth header missing." + + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": "Bearer xyz"}, + ) + + assert response.status_code == 401, "Non nostr header." + assert response.json().get("detail") == "Authorization header is not nostr." + + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": "nostr xyz"}, + ) + assert response.status_code == 401, "Nostr not base64." + assert response.json().get("detail") == "Nostr login event cannot be parsed." + + +@pytest.mark.asyncio +async def test_register_nostr_bad_event(http_client: AsyncClient): + settings.auth_allowed_methods = AuthMethods.all() + base64_event = base64.b64encode(json.dumps(nostr_event).encode()).decode("ascii") + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event}"}, + ) + assert response.status_code == 401, "Nostr event expired." + assert ( + response.json().get("detail") + == f"More than {settings.auth_credetials_update_threshold}" + " seconds have passed since the event was signed." + ) + + corrupted_event = {**nostr_event} + corrupted_event["content"] = "xyz" + base64_event = base64.b64encode(json.dumps(corrupted_event).encode()).decode( + "ascii" + ) + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event}"}, + ) + assert response.status_code == 401, "Nostr event signature invalid." + assert response.json().get("detail") == "Nostr login event is not valid." + + +@pytest.mark.asyncio +async def test_register_nostr_bad_event_kind(http_client: AsyncClient): + event_bad_kind = {**nostr_event} + event_bad_kind["kind"] = "12345" + + event_bad_kind_signed = sign_event(event_bad_kind, pubkey_hex, private_key) + base64_event_bad_kind = base64.b64encode( + json.dumps(event_bad_kind_signed).encode() + ).decode("ascii") + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event_bad_kind}"}, + ) + assert response.status_code == 401, "Nostr event kind invalid." + assert response.json().get("detail") == "Invalid event kind." + + +@pytest.mark.asyncio +async def test_register_nostr_bad_event_tag_u(http_client: AsyncClient): + event_bad_kind = {**nostr_event} + event_bad_kind["created_at"] = int(time.time()) + + event_bad_kind["tags"] = [["u", "http://localhost:5000/nostr"]] + + event_bad_tag_signed = sign_event(event_bad_kind, pubkey_hex, private_key) + base64_event_tag_kind = base64.b64encode( + json.dumps(event_bad_tag_signed).encode() + ).decode("ascii") + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event_tag_kind}"}, + ) + assert response.status_code == 401, "Nostr event tag missing." + assert response.json().get("detail") == "Tag 'method' is missing." + + event_bad_kind["tags"] = [["u", "http://localhost:5000/nostr"], ["method", "XYZ"]] + + event_bad_tag_signed = sign_event(event_bad_kind, pubkey_hex, private_key) + base64_event_tag_kind = base64.b64encode( + json.dumps(event_bad_tag_signed).encode() + ).decode("ascii") + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event_tag_kind}"}, + ) + assert response.status_code == 401, "Nostr event tag invalid." + assert response.json().get("detail") == "Incorrect value for tag 'method'." + + +@pytest.mark.asyncio +async def test_register_nostr_bad_event_tag_menthod(http_client: AsyncClient): + event_bad_kind = {**nostr_event} + event_bad_kind["created_at"] = int(time.time()) + + event_bad_kind["tags"] = [["method", "POST"]] + + event_bad_tag_signed = sign_event(event_bad_kind, pubkey_hex, private_key) + base64_event = base64.b64encode(json.dumps(event_bad_tag_signed).encode()).decode( + "ascii" + ) + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event}"}, + ) + assert response.status_code == 401, "Nostr event tag missing." + assert response.json().get("detail") == "Tag 'u' for URL is missing." + + event_bad_kind["tags"] = [["u", "http://demo.lnbits.com/nostr"], ["method", "POST"]] + + event_bad_tag_signed = sign_event(event_bad_kind, pubkey_hex, private_key) + base64_event = base64.b64encode(json.dumps(event_bad_tag_signed).encode()).decode( + "ascii" + ) + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event}"}, + ) + assert response.status_code == 401, "Nostr event tag invalid." + assert ( + response.json().get("detail") == "Incorrect value for tag 'u':" + " 'http://demo.lnbits.com/nostr'." + ) + + +################################ CHANGE PUBLIC KEY ################################ +async def test_change_pubkey_npub_ok(http_client: AsyncClient, user_alan: User): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + assert response.status_code == 200, "User created." + access_token = response.json().get("access_token") + assert access_token is not None + + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + access_token_payload = AccessTokenPayload(**payload) + + private_key = secp256k1.PrivateKey(bytes.fromhex(os.urandom(32).hex())) + pubkey_hex = private_key.pubkey.serialize().hex()[2:] + npub = hex_to_npub(pubkey_hex) + + response = await http_client.put( + "/api/v1/auth/pubkey", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "user_id": access_token_payload.usr, + "pubkey": npub, + }, + ) + + assert response.status_code == 200, "Pubkey changed." + user = User(**response.json()) + assert user.username == f"u21.{tiny_id}", "Username check." + assert user.email == f"u21.{tiny_id}@lnbits.com", "Email check." + assert user.pubkey == pubkey_hex + + +@pytest.mark.asyncio +async def test_change_pubkey_ok(http_client: AsyncClient, user_alan: User): + tiny_id = shortuuid.uuid()[:8] + response = await http_client.post( + "/api/v1/auth/register", + json={ + "username": f"u21.{tiny_id}", + "password": "secret1234", + "password_repeat": "secret1234", + "email": f"u21.{tiny_id}@lnbits.com", + }, + ) + + assert response.status_code == 200, "User created." + access_token = response.json().get("access_token") + assert access_token is not None + + payload: dict = jwt.decode(access_token, settings.auth_secret_key, ["HS256"]) + access_token_payload = AccessTokenPayload(**payload) + + private_key = secp256k1.PrivateKey(bytes.fromhex(os.urandom(32).hex())) + pubkey_hex = private_key.pubkey.serialize().hex()[2:] + + response = await http_client.put( + "/api/v1/auth/pubkey", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "user_id": access_token_payload.usr, + "pubkey": pubkey_hex, + }, + ) + + assert response.status_code == 200, "Pubkey changed." + user = User(**response.json()) + assert user.username == f"u21.{tiny_id}", "Username check." + assert user.email == f"u21.{tiny_id}@lnbits.com", "Email check." + assert user.pubkey == pubkey_hex + + # Login with nostr + event = {**nostr_event} + event["created_at"] = int(time.time()) + event["pubkey"] = pubkey_hex + event_signed = sign_event(event, pubkey_hex, private_key) + base64_event = base64.b64encode(json.dumps(event_signed).encode()).decode("ascii") + response = await http_client.post( + "/api/v1/auth/nostr", + headers={"Authorization": f"nostr {base64_event}"}, + ) + assert response.status_code == 200, "User logged in." + access_token = response.json().get("access_token") + assert access_token is not None + + response = await http_client.get( + "/api/v1/auth", headers={"Authorization": f"Bearer {access_token}"} + ) + user = User(**response.json()) + assert user.username == f"u21.{tiny_id}", "Username check." + assert user.email == f"u21.{tiny_id}@lnbits.com", "Email check." + assert user.pubkey == pubkey_hex, "No pubkey." + assert not user.admin, "Not admin." + assert not user.super_user, "Not superuser." + assert user.has_password, "Password configured." + assert len(user.wallets) == 1, "One default wallet." + + response = await http_client.post( + "/api/v1/auth", json={"username": user_alan.username, "password": "secret1234"} + ) + + assert response.status_code == 200, "Alan logs in OK" + access_token = response.json().get("access_token") + assert access_token is not None + + response = await http_client.put( + "/api/v1/auth/pubkey", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "user_id": user_alan.id, + "pubkey": pubkey_hex, + }, + ) + + assert response.status_code == 403, "Pubkey already used." + assert response.json().get("detail") == "Public key already in use." + + +@pytest.mark.asyncio +async def test_change_pubkey_not_authenticated( + http_client: AsyncClient, user_alan: User +): + response = await http_client.put( + "/api/v1/auth/pubkey", + json={ + "user_id": user_alan.id, + "pubkey": pubkey_hex, + }, + ) + + assert response.status_code == 401, "Must be authenticated to change pubkey." + assert response.json().get("detail") == "Missing user ID or access token." + + +@pytest.mark.asyncio +async def test_change_pubkey_other_user(http_client: AsyncClient, user_alan: User): + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 200, "Alan logs in OK." + access_token = response.json().get("access_token") + assert access_token is not None + + response = await http_client.put( + "/api/v1/auth/pubkey", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "user_id": user_alan.id[::-1], + "pubkey": pubkey_hex, + }, + ) + assert response.status_code == 400, "Not your user." + assert response.json().get("detail") == "Invalid user ID." + + +@pytest.mark.asyncio +async def test_alan_change_pubkey_auth_threshold_expired( + user_alan: User, http_client: AsyncClient +): + + response = await http_client.post("/api/v1/auth/usr", json={"usr": user_alan.id}) + + assert response.status_code == 200, "Alan logs in OK." + access_token = response.json().get("access_token") + assert access_token is not None + + initial_update_threshold = settings.auth_credetials_update_threshold + settings.auth_credetials_update_threshold = 1 + time.sleep(1.1) + response = await http_client.put( + "/api/v1/auth/pubkey", + headers={"Authorization": f"Bearer {access_token}"}, + json={ + "user_id": user_alan.id, + "pubkey": pubkey_hex, + }, + ) + + settings.auth_credetials_update_threshold = initial_update_threshold + + assert response.status_code == 403, "Treshold expired." + assert ( + response.json().get("detail") == "You can only update your credentials" + " in the first 1 seconds after login." + " Please login again!" + ) diff --git a/tests/conftest.py b/tests/conftest.py index 246f4b5d5..4a9b77dea 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -16,11 +16,12 @@ from lnbits.app import create_app from lnbits.core.crud import ( create_account, create_wallet, + get_account_by_username, get_user, update_payment_status, ) from lnbits.core.models import CreateInvoice, PaymentState -from lnbits.core.services import update_wallet_balance +from lnbits.core.services import create_user_account, update_wallet_balance from lnbits.core.views.payment_api import api_payments_create_invoice from lnbits.db import DB_TYPE, SQLITE, Database from lnbits.settings import settings @@ -59,6 +60,13 @@ async def client(app): yield client +@pytest_asyncio.fixture(scope="function") +async def http_client(app): + url = f"http://{settings.host}:{settings.port}" + async with AsyncClient(app=app, base_url=url) as client: + yield client + + @pytest.fixture(scope="session") def test_client(app): return TestClient(app) @@ -69,6 +77,16 @@ async def db(): yield Database("database") +@pytest_asyncio.fixture(scope="package") +async def user_alan(): + user = await get_account_by_username("alan") + if not user: + user = await create_user_account( + email="alan@lnbits.com", username="alan", password="secret1234" + ) + yield user + + @pytest_asyncio.fixture(scope="session") async def from_user(): user = await create_account()