diff --git a/api/__init__.py b/api/__init__.py index 5002e483..eaac2c2e 100644 --- a/api/__init__.py +++ b/api/__init__.py @@ -19,7 +19,7 @@ from lollms.paths import LollmsPaths from lollms.helpers import ASCIIColors, trace_exception from lollms.com import NotificationType, NotificationDisplayType, LoLLMsCom from lollms.app import LollmsApplication -from lollms.utilities import File64BitsManager, PromptReshaper, PackageManager, find_first_available_file_index +from lollms.utilities import File64BitsManager, PromptReshaper, PackageManager, find_first_available_file_index, terminate_thread try: from lollms.media import WebcamImageSender, AudioRecorder Media_on=True @@ -56,22 +56,7 @@ from bs4 import BeautifulSoup -def terminate_thread(thread): - if thread: - if not thread.is_alive(): - ASCIIColors.yellow("Thread not alive") - return - thread_id = thread.ident - exc = ctypes.py_object(SystemExit) - res = ctypes.pythonapi.PyThreadState_SetAsyncExc(thread_id, exc) - if res > 1: - ctypes.pythonapi.PyThreadState_SetAsyncExc(thread_id, None) - del thread - gc.collect() - raise SystemError("Failed to terminate the thread.") - else: - ASCIIColors.yellow("Canceled successfully") __author__ = "parisneo" __github__ = "https://github.com/ParisNeo/lollms-webui" diff --git a/app.py b/app.py index 64ab2cce..6e65001e 100644 --- a/app.py +++ b/app.py @@ -249,12 +249,8 @@ try: # Endpoints # ========================================================================================= - self.add_endpoint( - "/get_current_personality_files_list", "get_current_personality_files_list", self.get_current_personality_files_list, methods=["GET"] - ) - self.add_endpoint( - "/clear_personality_files_list", "clear_personality_files_list", self.clear_personality_files_list, methods=["GET"] - ) + self.add_endpoint("/get_current_personality_files_list", "get_current_personality_files_list", self.get_current_personality_files_list, methods=["GET"]) + self.add_endpoint("/clear_personality_files_list", "clear_personality_files_list", self.clear_personality_files_list, methods=["GET"]) self.add_endpoint("/start_training", "start_training", self.start_training, methods=["POST"]) self.add_endpoint("/get_lollms_version", "get_lollms_version", self.get_lollms_version, methods=["GET"]) @@ -307,53 +303,59 @@ try: self.add_endpoint("/list_databases", "list_databases", self.list_databases, methods=["GET"]) self.add_endpoint("/select_database", "select_database", self.select_database, methods=["POST"]) + self.add_endpoint("/uploads/", "serve_uploads", self.serve_uploads, methods=["GET"]) + + self.add_endpoint("/", "serve_static", self.serve_static, methods=["GET"]) + self.add_endpoint("/user_infos/", "serve_user_infos", self.serve_user_infos, methods=["GET"]) + + self.add_endpoint("/bindings/", "serve_bindings", self.serve_bindings, methods=["GET"]) + self.add_endpoint("/personalities/", "serve_personalities", self.serve_personalities, methods=["GET"]) + self.add_endpoint("/extensions/", "serve_extensions", self.serve_extensions, methods=["GET"]) + self.add_endpoint("/outputs/", "serve_outputs", self.serve_outputs, methods=["GET"]) + self.add_endpoint("/data/", "serve_data", self.serve_data, methods=["GET"]) + self.add_endpoint("/help/", "serve_help", self.serve_help, methods=["GET"]) + + self.add_endpoint("/audio/", "serve_audio", self.serve_audio, methods=["GET"]) + self.add_endpoint("/images/", "serve_images", self.serve_images, methods=["GET"]) - # ---- + self.add_endpoint("/install_extension", "install_extension", self.install_extension, methods=["POST"]) self.add_endpoint("/reinstall_extension", "reinstall_extension", self.reinstall_extension, methods=["POST"]) self.add_endpoint("/mount_extension", "mount_extension", self.p_mount_extension, methods=["POST"]) self.add_endpoint("/remount_extension", "remount_extension", self.p_remount_extension, methods=["POST"]) + self.add_endpoint("/unmount_extension", "unmount_extension", self.p_unmount_extension, methods=["POST"]) + self.add_endpoint("/list_extensions_categories", "list_extensions_categories", self.list_extensions_categories, methods=["GET"]) + self.add_endpoint("/list_extensions", "list_extensions", self.list_extensions, methods=["GET"]) + self.add_endpoint("/get_all_extensions", "get_all_extensions", self.get_all_extensions, methods=["GET"]) + + + self.add_endpoint("/list_discussions", "list_discussions", self.list_discussions, methods=["GET"]) + + + + # ---- + + self.add_endpoint("/switch_personal_path", "switch_personal_path", self.switch_personal_path, methods=["POST"]) - - self.add_endpoint("/upload_avatar", "upload_avatar", self.upload_avatar, methods=["POST"]) + + - self.add_endpoint( - "/list_extensions_categories", "list_extensions_categories", self.list_extensions_categories, methods=["GET"] - ) - self.add_endpoint( - "/list_extensions", "list_extensions", self.list_extensions, methods=["GET"] - ) - self.add_endpoint( - "/list_discussions", "list_discussions", self.list_discussions, methods=["GET"] - ) self.add_endpoint("/", "", self.index, methods=["GET"]) self.add_endpoint("/settings/", "", self.index, methods=["GET"]) self.add_endpoint("/playground/", "", self.index, methods=["GET"]) - self.add_endpoint("/", "serve_static", self.serve_static, methods=["GET"]) - self.add_endpoint("/user_infos/", "serve_user_infos", self.serve_user_infos, methods=["GET"]) - self.add_endpoint("/audio/", "serve_audio", self.serve_audio, methods=["GET"]) - self.add_endpoint("/images/", "serve_images", self.serve_images, methods=["GET"]) - self.add_endpoint("/extensions/", "serve_extensions", self.serve_extensions, methods=["GET"]) - self.add_endpoint("/bindings/", "serve_bindings", self.serve_bindings, methods=["GET"]) - self.add_endpoint("/personalities/", "serve_personalities", self.serve_personalities, methods=["GET"]) - self.add_endpoint("/outputs/", "serve_outputs", self.serve_outputs, methods=["GET"]) - self.add_endpoint("/data/", "serve_data", self.serve_data, methods=["GET"]) - self.add_endpoint("/help/", "serve_help", self.serve_help, methods=["GET"]) - - self.add_endpoint("/uploads/", "serve_uploads", self.serve_uploads, methods=["GET"]) self.add_endpoint("/export_discussion", "export_discussion", self.export_discussion, methods=["GET"]) @@ -1347,8 +1349,13 @@ try: print(f"Couldn't load backend card : {f}\n\t{ex}") return jsonify(bindings) - def get_extensions(self): - ASCIIColors.yellow("Listing all extensions") + + + def list_extensions(self): + return self.config.extensions + + def get_all_extensions(self): + ASCIIColors.yellow("Gatting all extensions") extensions_folder = self.lollms_paths.extensions_zoo_path extensions = {} @@ -1415,12 +1422,7 @@ try: except Exception as ex: ASCIIColors.warning(f"Couldn't load personality from {extensions_folder} [{ex}]") trace_exception(ex) - return extensions - - def list_extensions(self): - return json.dumps(self.get_extensions()) - - + return extensions def list_models(self): if self.binding is not None: @@ -1520,10 +1522,6 @@ try: return jsonify({"status":True}) - def list_extensions_categories(self): - extensions_categories_dir = self.lollms_paths.extensions_zoo_path # replace with the actual path to the models folder - extensions_categories = [f.stem for f in extensions_categories_dir.iterdir() if f.is_dir() and not f.name.startswith(".")] - return jsonify(extensions_categories) def list_discussions(self): @@ -1687,41 +1685,7 @@ try: }) - def reinstall_extension(self): - try: - data = request.get_json() - # Further processing of the data - except Exception as e: - print(f"Error occurred while parsing JSON: {e}") - return jsonify({"status":False, 'error':str(e)}) - if not 'name' in data.keys(): - try: - data['name']=self.config.extensions[-1] - except Exception as ex: - self.error(ex) - return - try: - extension_path = self.lollms_paths.extensions_zoo_path / data['name'] - ASCIIColors.info(f"- Reinstalling extension {data['name']}...") - ASCIIColors.info("Unmounting extension") - if data['name'] in self.config.extensions: - idx = self.config.extensions.index(data['name']) - print(f"index = {idx}") - if len(self.mount_extensions)>idx: - del self.mounted_extensions[idx] - gc.collect() - try: - self.mounted_extensions.append(ExtensionBuilder().build_extension(extension_path,self.lollms_paths, self, InstallOption.FORCE_INSTALL)) - return jsonify({"status":True}) - except Exception as ex: - ASCIIColors.error(f"Extension file not found or is corrupted ({data['name']}).\nReturned the following exception:{ex}\nPlease verify that the personality you have selected exists or select another personality. Some updates may lead to change in personality name or category, so check the personality selection in settings to be sure.") - trace_exception(ex) - ASCIIColors.info("Trying to force reinstall") - return jsonify({"status":False, 'error':str(e)}) - - except Exception as e: - return jsonify({"status":False, 'error':str(e)}) - + def reinstall_personality(self): try: data = request.get_json() @@ -2189,7 +2153,70 @@ try: else: return jsonify({'status':False}) + + def install_extension(self): + try: + data = request.get_json() + # Further processing of the data + except Exception as e: + print(f"Error occurred while parsing JSON: {e}") + return jsonify({"status":False, 'error':str(e)}) + if not 'name' in data.keys(): + try: + data['name']=self.config.extensions[-1] + except Exception as ex: + self.error(ex) + return + try: + extension_path = self.lollms_paths.extensions_zoo_path / data['name'] + ASCIIColors.info(f"- Installing extension {data['name']}...") + try: + self.mounted_extensions.append(ExtensionBuilder().build_extension(extension_path,self.lollms_paths, self, InstallOption.FORCE_INSTALL)) + return jsonify({"status":True}) + except Exception as ex: + ASCIIColors.error(f"Extension file not found or is corrupted ({data['name']}).\nReturned the following exception:{ex}\nPlease verify that the personality you have selected exists or select another personality. Some updates may lead to change in personality name or category, so check the personality selection in settings to be sure.") + trace_exception(ex) + ASCIIColors.info("Trying to force reinstall") + return jsonify({"status":False, 'error':str(e)}) + except Exception as e: + return jsonify({"status":False, 'error':str(e)}) + + + def reinstall_extension(self): + try: + data = request.get_json() + # Further processing of the data + except Exception as e: + print(f"Error occurred while parsing JSON: {e}") + return jsonify({"status":False, 'error':str(e)}) + if not 'name' in data.keys(): + try: + data['name']=self.config.extensions[-1] + except Exception as ex: + self.error(ex) + return + try: + extension_path = self.lollms_paths.extensions_zoo_path / data['name'] + ASCIIColors.info(f"- Reinstalling extension {data['name']}...") + ASCIIColors.info("Unmounting extension") + if data['name'] in self.config.extensions: + idx = self.config.extensions.index(data['name']) + print(f"index = {idx}") + if len(self.mount_extensions)>idx: + del self.mounted_extensions[idx] + gc.collect() + try: + self.mounted_extensions.append(ExtensionBuilder().build_extension(extension_path,self.lollms_paths, self, InstallOption.FORCE_INSTALL)) + return jsonify({"status":True}) + except Exception as ex: + ASCIIColors.error(f"Extension file not found or is corrupted ({data['name']}).\nReturned the following exception:{ex}\nPlease verify that the personality you have selected exists or select another personality. Some updates may lead to change in personality name or category, so check the personality selection in settings to be sure.") + trace_exception(ex) + ASCIIColors.info("Trying to force reinstall") + return jsonify({"status":False, 'error':str(e)}) + + except Exception as e: + return jsonify({"status":False, 'error':str(e)}) def p_mount_extension(self): print("- Mounting extension") @@ -2304,7 +2331,13 @@ try: ASCIIColors.yellow(f"Available personalities: {[p.name for p in self.mounted_personalities]}") return jsonify({"status": False, "error":"Couldn't unmount personality"}) - + + def list_extensions_categories(self): + extensions_categories_dir = self.lollms_paths.extensions_zoo_path # replace with the actual path to the models folder + extensions_categories = [f.stem for f in extensions_categories_dir.iterdir() if f.is_dir() and not f.name.startswith(".")] + return jsonify(extensions_categories) + + def set_active_binding_settings(self): print("- Setting binding settings") try: diff --git a/endpoints/lollms_discussion.py b/endpoints/lollms_discussion.py index 357b5c36..63348821 100644 --- a/endpoints/lollms_discussion.py +++ b/endpoints/lollms_discussion.py @@ -83,4 +83,4 @@ def select_database(data:DatabaseSelectionParameters): lollmsElfServer.error(f"Couldn't vectorize the database:{ex}") return {"status":False} - return {"status":True} \ No newline at end of file + return {"status":True} diff --git a/events/lollms_discussion_events.py b/events/lollms_discussion_events.py new file mode 100644 index 00000000..07341c8b --- /dev/null +++ b/events/lollms_discussion_events.py @@ -0,0 +1,108 @@ +""" +project: lollms +file: lollms_discussion_events.py +author: ParisNeo +description: + This module contains a set of Socketio routes that provide information about the Lord of Large Language and Multimodal Systems (LoLLMs) Web UI + application. These routes are specific to discussion operation + +""" +from fastapi import APIRouter, Request +from fastapi import HTTPException +from pydantic import BaseModel +import pkg_resources +from lollms.server.elf_server import LOLLMSElfServer +from fastapi.responses import FileResponse +from lollms.binding import BindingBuilder, InstallOption +from ascii_colors import ASCIIColors +from lollms.personality import MSG_TYPE, AIPersonality +from lollms.types import MSG_TYPE, SENDER_TYPES +from lollms.utilities import load_config, trace_exception, gc +from lollms.utilities import find_first_available_file_index, convert_language_name +from lollms_webui import LOLLMSWebUI +from pathlib import Path +from typing import List +import socketio +import threading +import os + +from api.db import Discussion +from datetime import datetime + +router = APIRouter() +lollmsElfServer = LOLLMSWebUI.get_instance() + + +# ----------------------------------- events ----------------------------------------- +def add_events(sio:socketio): + @sio.on('new_discussion') + async def new_discussion(sid, environ, data): + ASCIIColors.yellow("New descussion requested") + client_id = sid + title = data["title"] + if lollmsElfServer.connections[client_id]["current_discussion"] is not None: + if lollmsElfServer.long_term_memory is not None: + title, content = lollmsElfServer.connections[client_id]["current_discussion"].export_for_vectorization() + skill = lollmsElfServer.learn_from_discussion(title, content) + lollmsElfServer.long_term_memory.add_document(title, skill, chunk_size=lollmsElfServer.config.data_vectorization_chunk_size, overlap_size=lollmsElfServer.config.data_vectorization_overlap_size, force_vectorize=False, add_as_a_bloc=False, add_to_index=True) + ASCIIColors.yellow("4- Saving database") + lollmsElfServer.long_term_memory.save_to_json() + lollmsElfServer.connections[client_id]["current_discussion"] = lollmsElfServer.db.create_discussion(title) + # Get the current timestamp + timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + + # Return a success response + if lollmsElfServer.connections[client_id]["current_discussion"] is None: + lollmsElfServer.connections[client_id]["current_discussion"] = lollmsElfServer.db.load_last_discussion() + + if lollmsElfServer.personality.welcome_message!="": + if lollmsElfServer.config.force_output_language_to_be and lollmsElfServer.config.force_output_language_to_be.lower().strip() !="english": + welcome_message = lollmsElfServer.personality.fast_gen(f"!@>instruction: Translate the following text to {lollmsElfServer.config.force_output_language_to_be.lower()}:\n{lollmsElfServer.personality.welcome_message}\n!@>translation:") + else: + welcome_message = lollmsElfServer.personality.welcome_message + + message = lollmsElfServer.connections[client_id]["current_discussion"].add_message( + message_type = MSG_TYPE.MSG_TYPE_FULL.value if lollmsElfServer.personality.include_welcome_message_in_disucssion else MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_AI.value, + sender_type = SENDER_TYPES.SENDER_TYPES_AI.value, + sender = lollmsElfServer.personality.name, + content = welcome_message, + metadata = None, + rank = 0, + parent_message_id = -1, + binding = lollmsElfServer.config.binding_name, + model = lollmsElfServer.config.model_name, + personality = lollmsElfServer.config.personalities[lollmsElfServer.config.active_personality_id], + created_at=None, + finished_generating_at=None + ) + + await lollmsElfServer.socketio.emit('discussion_created', + {'id':lollmsElfServer.connections[client_id]["current_discussion"].discussion_id}, + to=client_id + ) + else: + await lollmsElfServer.socketio.emit('discussion_created', + {'id':0}, + to=client_id + ) + + @sio.on('load_discussion') + async def load_discussion(sid, data): + client_id = sid + ASCIIColors.yellow(f"Loading discussion for client {client_id} ... ", end="") + if "id" in data: + discussion_id = data["id"] + lollmsElfServer.connections[client_id]["current_discussion"] = Discussion(discussion_id, lollmsElfServer.db) + else: + if lollmsElfServer.connections[client_id]["current_discussion"] is not None: + discussion_id = lollmsElfServer.connections[client_id]["current_discussion"].discussion_id + lollmsElfServer.connections[client_id]["current_discussion"] = Discussion(discussion_id, lollmsElfServer.db) + else: + lollmsElfServer.connections[client_id]["current_discussion"] = lollmsElfServer.db.create_discussion() + messages = lollmsElfServer.connections[client_id]["current_discussion"].get_messages() + jsons = [m.to_json() for m in messages] + await lollmsElfServer.socketio.emit('discussion', + jsons, + to=client_id + ) + ASCIIColors.green(f"ok") \ No newline at end of file diff --git a/events/lollms_generation_events.py b/events/lollms_generation_events.py new file mode 100644 index 00000000..c8e02b0f --- /dev/null +++ b/events/lollms_generation_events.py @@ -0,0 +1,123 @@ +""" +project: lollms +file: lollms_generation_events.py +author: ParisNeo +description: + This module contains a set of Socketio routes that provide information about the Lord of Large Language and Multimodal Systems (LoLLMs) Web UI + application. These routes are specific to text generation operation + +""" +from fastapi import APIRouter, Request +from fastapi import HTTPException +from pydantic import BaseModel +import pkg_resources +from lollms.server.elf_server import LOLLMSElfServer +from fastapi.responses import FileResponse +from lollms.binding import BindingBuilder, InstallOption +from ascii_colors import ASCIIColors +from lollms.personality import MSG_TYPE, AIPersonality +from lollms.types import MSG_TYPE, SENDER_TYPES +from lollms.utilities import load_config, trace_exception, gc +from lollms.utilities import find_first_available_file_index, convert_language_name +from lollms_webui import LOLLMSWebUI +from pathlib import Path +from typing import List +import socketio +import threading +import os + +router = APIRouter() +lollmsElfServer = LOLLMSWebUI.get_instance() + + +# ----------------------------------- events ----------------------------------------- +def add_events(sio:socketio): + @sio.on('generate_msg') + def handle_generate_msg(sid, environ, data): + client_id = sid + lollmsElfServer.cancel_gen = False + lollmsElfServer.connections[client_id]["generated_text"]="" + lollmsElfServer.connections[client_id]["cancel_generation"]=False + lollmsElfServer.connections[client_id]["continuing"]=False + lollmsElfServer.connections[client_id]["first_chunk"]=True + + + + if not lollmsElfServer.model: + ASCIIColors.error("Model not selected. Please select a model") + lollmsElfServer.error("Model not selected. Please select a model", client_id=client_id) + return + + if not lollmsElfServer.busy: + if lollmsElfServer.connections[client_id]["current_discussion"] is None: + if lollmsElfServer.db.does_last_discussion_have_messages(): + lollmsElfServer.connections[client_id]["current_discussion"] = lollmsElfServer.db.create_discussion() + else: + lollmsElfServer.connections[client_id]["current_discussion"] = lollmsElfServer.db.load_last_discussion() + + prompt = data["prompt"] + ump = lollmsElfServer.config.discussion_prompt_separator +lollmsElfServer.config.user_name.strip() if lollmsElfServer.config.use_user_name_in_discussions else lollmsElfServer.personality.user_message_prefix + message = lollmsElfServer.connections[client_id]["current_discussion"].add_message( + message_type = MSG_TYPE.MSG_TYPE_FULL.value, + sender_type = SENDER_TYPES.SENDER_TYPES_USER.value, + sender = ump.replace(lollmsElfServer.config.discussion_prompt_separator,"").replace(":",""), + content=prompt, + metadata=None, + parent_message_id=lollmsElfServer.message_id + ) + + ASCIIColors.green("Starting message generation by "+lollmsElfServer.personality.name) + lollmsElfServer.connections[client_id]['generation_thread'] = threading.Thread(target=lollmsElfServer.start_message_generation, args=(message, message.id, client_id)) + lollmsElfServer.connections[client_id]['generation_thread'].start() + + lollmsElfServer.socketio.sleep(0.01) + ASCIIColors.info("Started generation task") + lollmsElfServer.busy=True + #tpe = threading.Thread(target=lollmsElfServer.start_message_generation, args=(message, message_id, client_id)) + #tpe.start() + else: + lollmsElfServer.error("I am busy. Come back later.", client_id=client_id) + + @sio.on('generate_msg_from') + def handle_generate_msg_from(sid, environ, data): + client_id = sid + lollmsElfServer.cancel_gen = False + lollmsElfServer.connections[client_id]["continuing"]=False + lollmsElfServer.connections[client_id]["first_chunk"]=True + + if lollmsElfServer.connections[client_id]["current_discussion"] is None: + ASCIIColors.warning("Please select a discussion") + lollmsElfServer.error("Please select a discussion first", client_id=client_id) + return + id_ = data['id'] + generation_type = data.get('msg_type',None) + if id_==-1: + message = lollmsElfServer.connections[client_id]["current_discussion"].current_message + else: + message = lollmsElfServer.connections[client_id]["current_discussion"].load_message(id_) + if message is None: + return + lollmsElfServer.connections[client_id]['generation_thread'] = threading.Thread(target=lollmsElfServer.start_message_generation, args=(message, message.id, client_id, False, generation_type)) + lollmsElfServer.connections[client_id]['generation_thread'].start() + + @sio.on('continue_generate_msg_from') + def handle_continue_generate_msg_from(sid, environ, data): + client_id = sid + lollmsElfServer.cancel_gen = False + lollmsElfServer.connections[client_id]["continuing"]=True + lollmsElfServer.connections[client_id]["first_chunk"]=True + + if lollmsElfServer.connections[client_id]["current_discussion"] is None: + ASCIIColors.yellow("Please select a discussion") + lollmsElfServer.error("Please select a discussion", client_id=client_id) + return + id_ = data['id'] + if id_==-1: + message = lollmsElfServer.connections[client_id]["current_discussion"].current_message + else: + message = lollmsElfServer.connections[client_id]["current_discussion"].load_message(id_) + + lollmsElfServer.connections[client_id]["generated_text"]=message.content + lollmsElfServer.connections[client_id]['generation_thread'] = threading.Thread(target=lollmsElfServer.start_message_generation, args=(message, message.id, client_id, True)) + lollmsElfServer.connections[client_id]['generation_thread'].start() + diff --git a/lollms_core b/lollms_core index 9d8db7a0..5a16ba20 160000 --- a/lollms_core +++ b/lollms_core @@ -1 +1 @@ -Subproject commit 9d8db7a0da156287f325adf0971cf0f5bce07b5e +Subproject commit 5a16ba20be506145a791754c36eef7ab71eda6e0 diff --git a/lollms_webui.py b/lollms_webui.py index 472709d3..c738e228 100644 --- a/lollms_webui.py +++ b/lollms_webui.py @@ -7,17 +7,20 @@ This class provides a singleton instance of the LoLLMS web UI, allowing access t """ from lollms.server.elf_server import LOLLMSElfServer -from lollms.main_config import LOLLMSConfig -from lollms.helpers import trace_exception -from lollms.paths import LollmsPaths -from ascii_colors import ASCIIColors +from flask import request from datetime import datetime from api.db import DiscussionsDB, Discussion from pathlib import Path -import os, sys -# The current version of the webui -lollms_webui_version="9.0 (alpha)" - +from lollms.config import InstallOption +from lollms.types import MSG_TYPE, SENDER_TYPES +from lollms.extension import LOLLMSExtension, ExtensionBuilder +from lollms.personality import AIPersonality, PersonalityBuilder +from lollms.binding import LOLLMSConfig, BindingBuilder, LLMBinding, ModelBuilder, BindingType +from lollms.paths import LollmsPaths +from lollms.helpers import ASCIIColors, trace_exception +from lollms.com import NotificationType, NotificationDisplayType, LoLLMsCom +from lollms.app import LollmsApplication +from lollms.utilities import File64BitsManager, PromptReshaper, PackageManager, find_first_available_file_index import git try: @@ -27,6 +30,54 @@ except: ASCIIColors.warning("Couldn't load media library.\nYou will not be able to perform any of the media linked operations. please verify the logs and install any required installations") Media_on=False +from safe_store import TextVectorizer, VectorizationMethod, VisualizationMethod +import threading +from tqdm import tqdm +import traceback +import sys +import gc +import ctypes +from functools import partial +import json +import shutil +import re +import string +import requests +from datetime import datetime +from typing import List, Tuple +import time +import numpy as np +from lollms.utilities import find_first_available_file_index, convert_language_name + +if not PackageManager.check_package_installed("requests"): + PackageManager.install_package("requests") +if not PackageManager.check_package_installed("bs4"): + PackageManager.install_package("beautifulsoup4") +import requests +from flask_socketio import SocketIO +from bs4 import BeautifulSoup + + + +def terminate_thread(thread): + if thread: + if not thread.is_alive(): + ASCIIColors.yellow("Thread not alive") + return + + thread_id = thread.ident + exc = ctypes.py_object(SystemExit) + res = ctypes.pythonapi.PyThreadState_SetAsyncExc(thread_id, exc) + if res > 1: + ctypes.pythonapi.PyThreadState_SetAsyncExc(thread_id, None) + del thread + gc.collect() + raise SystemError("Failed to terminate the thread.") + else: + ASCIIColors.yellow("Canceled successfully")# The current version of the webui +lollms_webui_version="9.0 (alpha)" + + class LOLLMSWebUI(LOLLMSElfServer): __instance = None @@ -114,8 +165,6 @@ class LOLLMSWebUI(LOLLMSElfServer): self.db.add_missing_columns() ASCIIColors.success("ok") - - # prepare vectorization if self.config.data_vectorization_activate and self.config.use_discussions_history: try: @@ -164,6 +213,42 @@ class LOLLMSWebUI(LOLLMSElfServer): self.rec_output_folder = None + + # Define a WebSocket event handler + @socketio.event + async def connect(sid, environ): + #Create a new connection information + self.connections[sid] = { + "current_discussion":self.db.load_last_discussion(), + "generated_text":"", + "continuing": False, + "first_chunk": True, + "cancel_generation": False, + "generation_thread": None, + "processing":False, + "schedule_for_deletion":False + } + await self.socketio.emit('connected', room=sid) + ASCIIColors.success(f'Client {sid} connected') + + @socketio.event + def disconnect(sid): + try: + if self.connections[sid]["processing"]: + self.connections[sid]["schedule_for_deletion"]=True + else: + del self.connections[sid] + except Exception as ex: + pass + + ASCIIColors.error(f'Client {sid} disconnected') + + # generation status + self.generating=False + ASCIIColors.blue(f"Your personal data is stored here :",end="") + ASCIIColors.green(f"{self.lollms_paths.personal_path}") + + # Other methods and properties of the LoLLMSWebUI singleton class def check_module_update_(self, repo_path, branch_name="main"): try: @@ -227,4 +312,1105 @@ class LOLLMSWebUI(LOLLMSElfServer): file.write(arg_string) os.system(f"python {update_script}") - sys.exit(0) \ No newline at end of file + sys.exit(0) + + + + + def audio_callback(self, output): + if self.summoned: + client_id = 0 + self.cancel_gen = False + self.connections[client_id]["generated_text"]="" + self.connections[client_id]["cancel_generation"]=False + self.connections[client_id]["continuing"]=False + self.connections[client_id]["first_chunk"]=True + + if not self.model: + ASCIIColors.error("Model not selected. Please select a model") + self.error("Model not selected. Please select a model", client_id=client_id) + return + + if not self.busy: + if self.connections[client_id]["current_discussion"] is None: + if self.db.does_last_discussion_have_messages(): + self.connections[client_id]["current_discussion"] = self.db.create_discussion() + else: + self.connections[client_id]["current_discussion"] = self.db.load_last_discussion() + + prompt = text + ump = self.config.discussion_prompt_separator +self.config.user_name.strip() if self.config.use_user_name_in_discussions else self.personality.user_message_prefix + message = self.connections[client_id]["current_discussion"].add_message( + message_type = MSG_TYPE.MSG_TYPE_FULL.value, + sender_type = SENDER_TYPES.SENDER_TYPES_USER.value, + sender = ump.replace(self.config.discussion_prompt_separator,"").replace(":",""), + content=prompt, + metadata=None, + parent_message_id=self.message_id + ) + + ASCIIColors.green("Starting message generation by "+self.personality.name) + self.connections[client_id]['generation_thread'] = threading.Thread(target=self.start_message_generation, args=(message, message.id, client_id)) + self.connections[client_id]['generation_thread'].start() + + self.socketio.sleep(0.01) + ASCIIColors.info("Started generation task") + self.busy=True + #tpe = threading.Thread(target=self.start_message_generation, args=(message, message_id, client_id)) + #tpe.start() + else: + self.error("I am busy. Come back later.", client_id=client_id) + else: + if output["text"].lower()=="lollms": + self.summoned = True + + def scrape_and_save(self, url, file_path): + # Send a GET request to the URL + response = requests.get(url) + + # Parse the HTML content using BeautifulSoup + soup = BeautifulSoup(response.content, 'html.parser') + + # Find all the text content in the webpage + text_content = soup.get_text() + + # Remove extra returns and spaces + text_content = ' '.join(text_content.split()) + + # Save the text content as a text file + with open(file_path, 'w', encoding="utf-8") as file: + file.write(text_content) + + self.info(f"Webpage content saved to {file_path}") + + def rebuild_personalities(self, reload_all=False): + if reload_all: + self.mounted_personalities=[] + + loaded = self.mounted_personalities + loaded_names = [f"{p.category}/{p.personality_folder_name}:{p.selected_language}" if p.selected_language else f"{p.category}/{p.personality_folder_name}" for p in loaded] + mounted_personalities=[] + ASCIIColors.success(f" ╔══════════════════════════════════════════════════╗ ") + ASCIIColors.success(f" ║ Building mounted Personalities ║ ") + ASCIIColors.success(f" ╚══════════════════════════════════════════════════╝ ") + to_remove=[] + for i,personality in enumerate(self.config['personalities']): + if i==self.config["active_personality_id"]: + ASCIIColors.red("*", end="") + ASCIIColors.green(f" {personality}") + else: + ASCIIColors.yellow(f" {personality}") + if personality in loaded_names: + mounted_personalities.append(loaded[loaded_names.index(personality)]) + else: + personality_path = f"{personality}" if not ":" in personality else f"{personality.split(':')[0]}" + try: + personality = AIPersonality(personality_path, + self.lollms_paths, + self.config, + model=self.model, + app=self, + selected_language=personality.split(":")[1] if ":" in personality else None, + run_scripts=True) + mounted_personalities.append(personality) + if self.config.enable_voice_service and self.config.auto_read and len(personality.audio_samples)>0: + try: + from lollms.audio_gen_modules.lollms_xtts import LollmsXTTS + if self.tts is None: + self.tts = LollmsXTTS(self, voice_samples_path=Path(__file__).parent.parent/"voices") + except: + self.warning(f"Personality {personality.name} request using custom voice but couldn't load XTTS") + except Exception as ex: + ASCIIColors.error(f"Personality file not found or is corrupted ({personality_path}).\nReturned the following exception:{ex}\nPlease verify that the personality you have selected exists or select another personality. Some updates may lead to change in personality name or category, so check the personality selection in settings to be sure.") + ASCIIColors.info("Trying to force reinstall") + if self.config["debug"]: + print(ex) + try: + personality = AIPersonality( + personality_path, + self.lollms_paths, + self.config, + self.model, + app = self, + run_scripts=True, + selected_language=personality.split(":")[1] if ":" in personality else None, + installation_option=InstallOption.FORCE_INSTALL) + mounted_personalities.append(personality) + if personality.processor: + personality.processor.mounted() + except Exception as ex: + ASCIIColors.error(f"Couldn't load personality at {personality_path}") + trace_exception(ex) + ASCIIColors.info(f"Unmounting personality") + to_remove.append(i) + personality = AIPersonality(None, + self.lollms_paths, + self.config, + self.model, + app=self, + run_scripts=True, + installation_option=InstallOption.FORCE_INSTALL) + mounted_personalities.append(personality) + if personality.processor: + personality.processor.mounted() + + ASCIIColors.info("Reverted to default personality") + if self.config["active_personality_id"]>=0 and self.config["active_personality_id"]=len(self.config["personalities"]): + self.config["active_personality_id"]=0 + + return mounted_personalities + + + def rebuild_extensions(self, reload_all=False): + if reload_all: + self.mounted_extensions=[] + + loaded = self.mounted_extensions + loaded_names = [f"{p.category}/{p.extension_folder_name}" for p in loaded] + mounted_extensions=[] + ASCIIColors.success(f" ╔══════════════════════════════════════════════════╗ ") + ASCIIColors.success(f" ║ Building mounted Extensions ║ ") + ASCIIColors.success(f" ╚══════════════════════════════════════════════════╝ ") + to_remove=[] + for i,extension in enumerate(self.config['extensions']): + ASCIIColors.yellow(f" {extension}") + if extension in loaded_names: + mounted_extensions.append(loaded[loaded_names.index(extension)]) + else: + extension_path = self.lollms_paths.extensions_zoo_path/f"{extension}" + try: + extension = ExtensionBuilder().build_extension(extension_path,self.lollms_paths, self) + mounted_extensions.append(extension) + except Exception as ex: + ASCIIColors.error(f"Extension file not found or is corrupted ({extension_path}).\nReturned the following exception:{ex}\nPlease verify that the personality you have selected exists or select another personality. Some updates may lead to change in personality name or category, so check the personality selection in settings to be sure.") + trace_exception(ex) + ASCIIColors.info("Trying to force reinstall") + if self.config["debug"]: + print(ex) + ASCIIColors.success(f" ╔══════════════════════════════════════════════════╗ ") + ASCIIColors.success(f" ║ Done ║ ") + ASCIIColors.success(f" ╚══════════════════════════════════════════════════╝ ") + # Sort the indices in descending order to ensure correct removal + to_remove.sort(reverse=True) + + # Remove elements from the list based on the indices + for index in to_remove: + if 0 <= index < len(mounted_extensions): + mounted_extensions.pop(index) + self.config["extensions"].pop(index) + ASCIIColors.info(f"removed personality {extension_path}") + + + return mounted_extensions + # ================================== LOLLMSApp + + #properties + @property + def message_id(self): + return self._message_id + @message_id.setter + def message_id(self, id): + self._message_id=id + + @property + def current_user_message_id(self): + return self._current_user_message_id + @current_user_message_id.setter + def current_user_message_id(self, id): + self._current_user_message_id=id + self._message_id = id + @property + def current_ai_message_id(self): + return self._current_ai_message_id + @current_ai_message_id.setter + def current_ai_message_id(self, id): + self._current_ai_message_id=id + self._message_id = id + + def download_file(self, url, installation_path, callback=None): + """ + Downloads a file from a URL, reports the download progress using a callback function, and displays a progress bar. + + Args: + url (str): The URL of the file to download. + installation_path (str): The path where the file should be saved. + callback (function, optional): A callback function to be called during the download + with the progress percentage as an argument. Defaults to None. + """ + try: + response = requests.get(url, stream=True) + + # Get the file size from the response headers + total_size = int(response.headers.get('content-length', 0)) + + with open(installation_path, 'wb') as file: + downloaded_size = 0 + with tqdm(total=total_size, unit='B', unit_scale=True, ncols=80) as progress_bar: + for chunk in response.iter_content(chunk_size=8192): + if chunk: + file.write(chunk) + downloaded_size += len(chunk) + if callback is not None: + callback(downloaded_size, total_size) + progress_bar.update(len(chunk)) + + if callback is not None: + callback(total_size, total_size) + + print("File downloaded successfully") + except Exception as e: + print("Couldn't download file:", str(e)) + + + + def clean_string(self, input_string): + # Remove extra spaces by replacing multiple spaces with a single space + #cleaned_string = re.sub(r'\s+', ' ', input_string) + + # Remove extra line breaks by replacing multiple consecutive line breaks with a single line break + cleaned_string = re.sub(r'\n\s*\n', '\n', input_string) + # Create a string containing all punctuation characters + punctuation_chars = string.punctuation + # Define a regular expression pattern to match and remove non-alphanumeric characters + #pattern = f'[^a-zA-Z0-9\s{re.escape(punctuation_chars)}]' # This pattern matches any character that is not a letter, digit, space, or punctuation + pattern = f'[^a-zA-Z0-9\u00C0-\u017F\s{re.escape(punctuation_chars)}]' + # Use re.sub to replace the matched characters with an empty string + cleaned_string = re.sub(pattern, '', cleaned_string) + return cleaned_string + + def make_discussion_title(self, discussion, client_id=None): + """ + Builds a title for a discussion + """ + # Get the list of messages + messages = discussion.get_messages() + discussion_messages = "!@>instruction: Create a short title to this discussion\n" + discussion_title = "\n!@>Discussion title:" + + available_space = self.config.ctx_size - 150 - len(self.model.tokenize(discussion_messages))- len(self.model.tokenize(discussion_title)) + # Initialize a list to store the full messages + full_message_list = [] + # Accumulate messages until the cumulative number of tokens exceeds available_space + tokens_accumulated = 0 + # Accumulate messages starting from message_index + for message in messages: + # Check if the message content is not empty and visible to the AI + if message.content != '' and ( + message.message_type <= MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_USER.value and message.message_type != MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_AI.value): + + # Tokenize the message content + message_tokenized = self.model.tokenize( + "\n" + self.config.discussion_prompt_separator + message.sender + ": " + message.content.strip()) + + # Check if adding the message will exceed the available space + if tokens_accumulated + len(message_tokenized) > available_space: + break + + # Add the tokenized message to the full_message_list + full_message_list.insert(0, message_tokenized) + + # Update the cumulative number of tokens + tokens_accumulated += len(message_tokenized) + + # Build the final discussion messages by detokenizing the full_message_list + + for message_tokens in full_message_list: + discussion_messages += self.model.detokenize(message_tokens) + discussion_messages += discussion_title + title = [""] + def receive( + chunk:str, + message_type:MSG_TYPE + ): + if chunk: + title[0] += chunk + antiprompt = self.personality.detect_antiprompt(title[0]) + if antiprompt: + ASCIIColors.warning(f"\nDetected hallucination with antiprompt: {antiprompt}") + title[0] = self.remove_text_from_string(title[0],antiprompt) + return False + else: + return True + + self._generate(discussion_messages, 150, client_id, receive) + ASCIIColors.info(title[0]) + return title[0] + + + def prepare_reception(self, client_id): + if not self.connections[client_id]["continuing"]: + self.connections[client_id]["generated_text"] = "" + + self.connections[client_id]["first_chunk"]=True + + self.nb_received_tokens = 0 + self.start_time = datetime.now() + + def recover_discussion(self,client_id, message_index=-1): + messages = self.connections[client_id]["current_discussion"].get_messages() + discussion="" + for msg in messages: + if message_index!=-1 and msg>message_index: + break + discussion += "\n" + self.config.discussion_prompt_separator + msg.sender + ": " + msg.content.strip() + return discussion + def prepare_query(self, client_id: str, message_id: int = -1, is_continue: bool = False, n_tokens: int = 0, generation_type = None) -> Tuple[str, str, List[str]]: + """ + Prepares the query for the model. + + Args: + client_id (str): The client ID. + message_id (int): The message ID. Default is -1. + is_continue (bool): Whether the query is a continuation. Default is False. + n_tokens (int): The number of tokens. Default is 0. + + Returns: + Tuple[str, str, List[str]]: The prepared query, original message content, and tokenized query. + """ + + # Get the list of messages + messages = self.connections[client_id]["current_discussion"].get_messages() + + # Find the index of the message with the specified message_id + message_index = -1 + for i, message in enumerate(messages): + if message.id == message_id: + message_index = i + break + + # Define current message + current_message = messages[message_index] + + # Build the conditionning text block + conditionning = self.personality.personality_conditioning + + # Check if there are document files to add to the prompt + documentation = "" + history = "" + + + # boosting information + if self.config.positive_boost: + positive_boost="\n!@>important information: "+self.config.positive_boost+"\n" + n_positive_boost = len(self.model.tokenize(positive_boost)) + else: + positive_boost="" + n_positive_boost = 0 + + if self.config.negative_boost: + negative_boost="\n!@>important information: "+self.config.negative_boost+"\n" + n_negative_boost = len(self.model.tokenize(negative_boost)) + else: + negative_boost="" + n_negative_boost = 0 + + if self.config.force_output_language_to_be: + force_language="\n!@>important information: Answer the user in this language :"+self.config.force_output_language_to_be+"\n" + n_force_language = len(self.model.tokenize(force_language)) + else: + force_language="" + n_force_language = 0 + + if generation_type != "simple_question": + if self.personality.persona_data_vectorizer: + if documentation=="": + documentation="!@>Documentation:\n" + + if self.config.data_vectorization_build_keys_words: + discussion = self.recover_discussion(client_id)[-512:] + query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and rewrite the last prompt for someone who didn't read the entire discussion.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion}\n!@>enhanced query: ", max_generation_size=256, show_progress=True) + ASCIIColors.cyan(f"Query:{query}") + else: + query = current_message.content + try: + docs, sorted_similarities = self.personality.persona_data_vectorizer.recover_text(query, top_k=self.config.data_vectorization_nb_chunks) + for doc, infos in zip(docs, sorted_similarities): + documentation += f"document chunk:\n{doc}" + except: + self.warning("Couldn't add documentation to the context. Please verify the vector database") + + if len(self.personality.text_files) > 0 and self.personality.vectorizer: + if documentation=="": + documentation="!@>Documentation:\n" + + if self.config.data_vectorization_build_keys_words: + discussion = self.recover_discussion(client_id)[-512:] + query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and rewrite the last prompt for someone who didn't read the entire discussion.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion}\n!@>enhanced query: ", max_generation_size=256, show_progress=True) + ASCIIColors.cyan(f"Query:{query}") + else: + query = current_message.content + + try: + docs, sorted_similarities = self.personality.vectorizer.recover_text(query, top_k=self.config.data_vectorization_nb_chunks) + for doc, infos in zip(docs, sorted_similarities): + documentation += f"document chunk:\nchunk path: {infos[0]}\nchunk content:{doc}" + documentation += "\n!@>important information: Use the documentation data to answer the user questions. If the data is not present in the documentation, please tell the user that the information he is asking for does not exist in the documentation section. It is strictly forbidden to give the user an answer without having actual proof from the documentation." + except: + self.warning("Couldn't add documentation to the context. Please verify the vector database") + # Check if there is discussion history to add to the prompt + if self.config.use_discussions_history and self.long_term_memory is not None: + if history=="": + history="!@>previous discussions:\n" + + try: + docs, sorted_similarities = self.long_term_memory.recover_text(current_message.content, top_k=self.config.data_vectorization_nb_chunks) + for i,(doc, infos) in enumerate(zip(docs, sorted_similarities)): + history += f"!@>previous discussion {i}:\n!@>discussion title:\n{infos[0]}\ndiscussion content:\n{doc}" + except: + self.warning("Couldn't add long term memory information to the context. Please verify the vector database") # Add information about the user + user_description="" + if self.config.use_user_name_in_discussions: + user_description="!@>User description:\n"+self.config.user_description+"\n" + + + # Tokenize the conditionning text and calculate its number of tokens + tokens_conditionning = self.model.tokenize(conditionning) + n_cond_tk = len(tokens_conditionning) + + # Tokenize the documentation text and calculate its number of tokens + if len(documentation)>0: + tokens_documentation = self.model.tokenize(documentation) + n_doc_tk = len(tokens_documentation) + else: + tokens_documentation = [] + n_doc_tk = 0 + + # Tokenize the history text and calculate its number of tokens + if len(history)>0: + tokens_history = self.model.tokenize(history) + n_history_tk = len(tokens_history) + else: + tokens_history = [] + n_history_tk = 0 + + + # Tokenize user description + if len(user_description)>0: + tokens_user_description = self.model.tokenize(user_description) + n_user_description_tk = len(tokens_user_description) + else: + tokens_user_description = [] + n_user_description_tk = 0 + + + # Calculate the total number of tokens between conditionning, documentation, and history + total_tokens = n_cond_tk + n_doc_tk + n_history_tk + n_user_description_tk + n_positive_boost + n_negative_boost + n_force_language + + # Calculate the available space for the messages + available_space = self.config.ctx_size - n_tokens - total_tokens + + if self.config.debug: + self.info(f"Tokens summary:\nConditionning:{n_cond_tk}\ndoc:{n_doc_tk}\nhistory:{n_history_tk}\nuser description:{n_user_description_tk}\nAvailable space:{available_space}",10) + + # Raise an error if the available space is 0 or less + if available_space<1: + self.error("Not enough space in context!!") + raise Exception("Not enough space in context!!") + + # Accumulate messages until the cumulative number of tokens exceeds available_space + tokens_accumulated = 0 + + + # Initialize a list to store the full messages + full_message_list = [] + # If this is not a continue request, we add the AI prompt + if not is_continue: + message_tokenized = self.model.tokenize( + "\n" +self.personality.ai_message_prefix.strip() + ) + full_message_list.append(message_tokenized) + # Update the cumulative number of tokens + tokens_accumulated += len(message_tokenized) + + + if generation_type != "simple_question": + # Accumulate messages starting from message_index + for i in range(message_index, -1, -1): + message = messages[i] + + # Check if the message content is not empty and visible to the AI + if message.content != '' and ( + message.message_type <= MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_USER.value and message.message_type != MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_AI.value): + + # Tokenize the message content + message_tokenized = self.model.tokenize( + "\n" + self.config.discussion_prompt_separator + message.sender + ": " + message.content.strip()) + + # Check if adding the message will exceed the available space + if tokens_accumulated + len(message_tokenized) > available_space: + break + + # Add the tokenized message to the full_message_list + full_message_list.insert(0, message_tokenized) + + # Update the cumulative number of tokens + tokens_accumulated += len(message_tokenized) + else: + message = messages[message_index] + + # Check if the message content is not empty and visible to the AI + if message.content != '' and ( + message.message_type <= MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_USER.value and message.message_type != MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_AI.value): + + # Tokenize the message content + message_tokenized = self.model.tokenize( + "\n" + self.config.discussion_prompt_separator + message.sender + ": " + message.content.strip()) + + # Add the tokenized message to the full_message_list + full_message_list.insert(0, message_tokenized) + + # Update the cumulative number of tokens + tokens_accumulated += len(message_tokenized) + + # Build the final discussion messages by detokenizing the full_message_list + discussion_messages = "" + for i in range(len(full_message_list)-1): + message_tokens = full_message_list[i] + discussion_messages += self.model.detokenize(message_tokens) + + # Build the final prompt by concatenating the conditionning and discussion messages + prompt_data = conditionning + documentation + history + user_description + discussion_messages + positive_boost + negative_boost + force_language + self.model.detokenize(full_message_list[-1]) + + # Tokenize the prompt data + tokens = self.model.tokenize(prompt_data) + + # if this is a debug then show prompt construction details + if self.config["debug"]: + ASCIIColors.bold("CONDITIONNING") + ASCIIColors.yellow(conditionning) + ASCIIColors.bold("DOC") + ASCIIColors.yellow(documentation) + ASCIIColors.bold("HISTORY") + ASCIIColors.yellow(history) + ASCIIColors.bold("DISCUSSION") + ASCIIColors.hilight(discussion_messages,"!@>",ASCIIColors.color_yellow,ASCIIColors.color_bright_red,False) + ASCIIColors.bold("Final prompt") + ASCIIColors.hilight(prompt_data,"!@>",ASCIIColors.color_yellow,ASCIIColors.color_bright_red,False) + ASCIIColors.info(f"prompt size:{len(tokens)} tokens") + ASCIIColors.info(f"available space after doc and history:{available_space} tokens") + + self.info(f"Tokens summary:\nPrompt size:{len(tokens)}\nTo generate:{available_space}",10) + + # Return the prepared query, original message content, and tokenized query + return prompt_data, current_message.content, tokens + + + def get_discussion_to(self, client_id, message_id=-1): + messages = self.connections[client_id]["current_discussion"].get_messages() + full_message_list = [] + ump = self.config.discussion_prompt_separator +self.config.user_name.strip() if self.config.use_user_name_in_discussions else self.personality.user_message_prefix + + for message in messages: + if message["id"]<= message_id or message_id==-1: + if message["type"]!=MSG_TYPE.MSG_TYPE_FULL_INVISIBLE_TO_USER: + if message["sender"]==self.personality.name: + full_message_list.append(self.personality.ai_message_prefix+message["content"]) + else: + full_message_list.append(ump + message["content"]) + + link_text = "\n"# self.personality.link_text + + if len(full_message_list) > self.config["nb_messages_to_remember"]: + discussion_messages = self.personality.personality_conditioning+ link_text.join(full_message_list[-self.config["nb_messages_to_remember"]:]) + else: + discussion_messages = self.personality.personality_conditioning+ link_text.join(full_message_list) + + return discussion_messages # Removes the last return + + def notify( + self, + content, + notification_type:NotificationType=NotificationType.NOTIF_SUCCESS, + duration:int=4, + client_id=None, + display_type:NotificationDisplayType=NotificationDisplayType.TOAST, + verbose=True + ): + self.socketio.emit('notification', { + 'content': content,# self.connections[client_id]["generated_text"], + 'notification_type': notification_type.value, + "duration": duration, + 'display_type':display_type.value + }, room=client_id + ) + self.socketio.sleep(0.01) + if verbose: + if notification_type==NotificationType.NOTIF_SUCCESS: + ASCIIColors.success(content) + elif notification_type==NotificationType.NOTIF_INFO: + ASCIIColors.info(content) + elif notification_type==NotificationType.NOTIF_WARNING: + ASCIIColors.warning(content) + else: + ASCIIColors.red(content) + + + def new_message(self, + client_id, + sender=None, + content="", + parameters=None, + metadata=None, + ui=None, + message_type:MSG_TYPE=MSG_TYPE.MSG_TYPE_FULL, + sender_type:SENDER_TYPES=SENDER_TYPES.SENDER_TYPES_AI, + open=False + ): + + mtdt = metadata if metadata is None or type(metadata) == str else json.dumps(metadata, indent=4) + if sender==None: + sender= self.personality.name + msg = self.connections[client_id]["current_discussion"].add_message( + message_type = message_type.value, + sender_type = sender_type.value, + sender = sender, + content = content, + metadata = mtdt, + ui = ui, + rank = 0, + parent_message_id = self.connections[client_id]["current_discussion"].current_message.id, + binding = self.config["binding_name"], + model = self.config["model_name"], + personality = self.config["personalities"][self.config["active_personality_id"]], + ) # first the content is empty, but we'll fill it at the end + + self.socketio.emit('new_message', + { + "sender": sender, + "message_type": message_type.value, + "sender_type": SENDER_TYPES.SENDER_TYPES_AI.value, + "content": content, + "parameters": parameters, + "metadata": metadata, + "ui": ui, + "id": msg.id, + "parent_message_id": msg.parent_message_id, + + 'binding': self.config["binding_name"], + 'model' : self.config["model_name"], + 'personality': self.config["personalities"][self.config["active_personality_id"]], + + 'created_at': self.connections[client_id]["current_discussion"].current_message.created_at, + 'finished_generating_at': self.connections[client_id]["current_discussion"].current_message.finished_generating_at, + + 'open': open + }, room=client_id + ) + + def update_message(self, client_id, chunk, + parameters=None, + metadata=[], + ui=None, + msg_type:MSG_TYPE=None + ): + self.connections[client_id]["current_discussion"].current_message.finished_generating_at=datetime.now().strftime('%Y-%m-%d %H:%M:%S') + mtdt = json.dumps(metadata, indent=4) if metadata is not None and type(metadata)== list else metadata + if self.nb_received_tokens==1: + self.socketio.emit('update_message', { + "sender": self.personality.name, + 'id':self.connections[client_id]["current_discussion"].current_message.id, + 'content': "✍ warming up ...",# self.connections[client_id]["generated_text"], + 'ui': ui, + 'discussion_id':self.connections[client_id]["current_discussion"].discussion_id, + 'message_type': MSG_TYPE.MSG_TYPE_STEP_END.value, + 'finished_generating_at': self.connections[client_id]["current_discussion"].current_message.finished_generating_at, + 'parameters':parameters, + 'metadata':metadata + }, room=client_id + ) + + + self.socketio.emit('update_message', { + "sender": self.personality.name, + 'id':self.connections[client_id]["current_discussion"].current_message.id, + 'content': chunk,# self.connections[client_id]["generated_text"], + 'ui': ui, + 'discussion_id':self.connections[client_id]["current_discussion"].discussion_id, + 'message_type': msg_type.value if msg_type is not None else MSG_TYPE.MSG_TYPE_CHUNK.value if self.nb_received_tokens>1 else MSG_TYPE.MSG_TYPE_FULL.value, + 'finished_generating_at': self.connections[client_id]["current_discussion"].current_message.finished_generating_at, + 'parameters':parameters, + 'metadata':metadata + }, room=client_id + ) + self.socketio.sleep(0.01) + if msg_type != MSG_TYPE.MSG_TYPE_INFO: + self.connections[client_id]["current_discussion"].update_message(self.connections[client_id]["generated_text"], new_metadata=mtdt, new_ui=ui) + + + + def close_message(self, client_id): + if not self.connections[client_id]["current_discussion"]: + return + #fix halucination + self.connections[client_id]["generated_text"]=self.connections[client_id]["generated_text"].split("!@>")[0] + # Send final message + self.connections[client_id]["current_discussion"].current_message.finished_generating_at=datetime.now().strftime('%Y-%m-%d %H:%M:%S') + self.socketio.emit('close_message', { + "sender": self.personality.name, + "id": self.connections[client_id]["current_discussion"].current_message.id, + "content":self.connections[client_id]["generated_text"], + + 'binding': self.config["binding_name"], + 'model' : self.config["model_name"], + 'personality':self.config["personalities"][self.config["active_personality_id"]], + + 'created_at': self.connections[client_id]["current_discussion"].current_message.created_at, + 'finished_generating_at': self.connections[client_id]["current_discussion"].current_message.finished_generating_at, + + }, room=client_id + ) + def process_chunk( + self, + chunk:str, + message_type:MSG_TYPE, + parameters:dict=None, + metadata:list=None, + client_id:int=0, + personality:AIPersonality=None + ): + """ + Processes a chunk of generated text + """ + if chunk is None: + return True + if not client_id in list(self.connections.keys()): + self.error("Connection lost", client_id=client_id) + return + if message_type == MSG_TYPE.MSG_TYPE_STEP: + ASCIIColors.info("--> Step:"+chunk) + if message_type == MSG_TYPE.MSG_TYPE_STEP_START: + ASCIIColors.info("--> Step started:"+chunk) + if message_type == MSG_TYPE.MSG_TYPE_STEP_END: + if parameters['status']: + ASCIIColors.success("--> Step ended:"+chunk) + else: + ASCIIColors.error("--> Step ended:"+chunk) + if message_type == MSG_TYPE.MSG_TYPE_EXCEPTION: + self.error(chunk, client_id=client_id) + ASCIIColors.error("--> Exception from personality:"+chunk) + if message_type == MSG_TYPE.MSG_TYPE_WARNING: + self.warning(chunk,client_id=client_id) + ASCIIColors.error("--> Exception from personality:"+chunk) + if message_type == MSG_TYPE.MSG_TYPE_INFO: + self.info(chunk, client_id=client_id) + ASCIIColors.info("--> Info:"+chunk) + if message_type == MSG_TYPE.MSG_TYPE_UI: + self.update_message(client_id, "", parameters, metadata, chunk, MSG_TYPE.MSG_TYPE_UI) + + if message_type == MSG_TYPE.MSG_TYPE_NEW_MESSAGE: + self.nb_received_tokens = 0 + self.start_time = datetime.now() + self.new_message( + client_id, + self.personality.name if personality is None else personality.name, + chunk if parameters["type"]!=MSG_TYPE.MSG_TYPE_UI.value else '', + metadata = [{ + "title":chunk, + "content":parameters["metadata"] + } + ] if parameters["type"]==MSG_TYPE.MSG_TYPE_JSON_INFOS.value else None, + ui= chunk if parameters["type"]==MSG_TYPE.MSG_TYPE_UI.value else None, + message_type= MSG_TYPE(parameters["type"])) + + elif message_type == MSG_TYPE.MSG_TYPE_FINISHED_MESSAGE: + self.close_message(client_id) + + elif message_type == MSG_TYPE.MSG_TYPE_CHUNK: + if self.nb_received_tokens==0: + self.start_time = datetime.now() + dt =(datetime.now() - self.start_time).seconds + if dt==0: + dt=1 + spd = self.nb_received_tokens/dt + ASCIIColors.green(f"Received {self.nb_received_tokens} tokens (speed: {spd:.2f}t/s) ",end="\r",flush=True) + sys.stdout = sys.__stdout__ + sys.stdout.flush() + if chunk: + self.connections[client_id]["generated_text"] += chunk + antiprompt = self.personality.detect_antiprompt(self.connections[client_id]["generated_text"]) + if antiprompt: + ASCIIColors.warning(f"\nDetected hallucination with antiprompt: {antiprompt}") + self.connections[client_id]["generated_text"] = self.remove_text_from_string(self.connections[client_id]["generated_text"],antiprompt) + self.update_message(client_id, self.connections[client_id]["generated_text"], parameters, metadata, None, MSG_TYPE.MSG_TYPE_FULL) + return False + else: + self.nb_received_tokens += 1 + if self.connections[client_id]["continuing"] and self.connections[client_id]["first_chunk"]: + self.update_message(client_id, self.connections[client_id]["generated_text"], parameters, metadata) + else: + self.update_message(client_id, chunk, parameters, metadata, msg_type=MSG_TYPE.MSG_TYPE_CHUNK) + self.connections[client_id]["first_chunk"]=False + # if stop generation is detected then stop + if not self.cancel_gen: + return True + else: + self.cancel_gen = False + ASCIIColors.warning("Generation canceled") + return False + + # Stream the generated text to the main process + elif message_type == MSG_TYPE.MSG_TYPE_FULL: + self.connections[client_id]["generated_text"] = chunk + self.nb_received_tokens += 1 + dt =(datetime.now() - self.start_time).seconds + if dt==0: + dt=1 + spd = self.nb_received_tokens/dt + ASCIIColors.green(f"Received {self.nb_received_tokens} tokens (speed: {spd:.2f}t/s) ",end="\r",flush=True) + antiprompt = self.personality.detect_antiprompt(self.connections[client_id]["generated_text"]) + if antiprompt: + ASCIIColors.warning(f"\nDetected hallucination with antiprompt: {antiprompt}") + self.connections[client_id]["generated_text"] = self.remove_text_from_string(self.connections[client_id]["generated_text"],antiprompt) + self.update_message(client_id, self.connections[client_id]["generated_text"], parameters, metadata, None, MSG_TYPE.MSG_TYPE_FULL) + return False + + self.update_message(client_id, chunk, parameters, metadata, ui=None, msg_type=message_type) + return True + # Stream the generated text to the frontend + else: + self.update_message(client_id, chunk, parameters, metadata, ui=None, msg_type=message_type) + return True + + + def generate(self, full_prompt, prompt, n_predict, client_id, callback=None): + if self.personality.processor is not None: + ASCIIColors.info("Running workflow") + try: + self.personality.callback = callback + self.personality.processor.run_workflow( prompt, full_prompt, callback) + except Exception as ex: + trace_exception(ex) + # Catch the exception and get the traceback as a list of strings + traceback_lines = traceback.format_exception(type(ex), ex, ex.__traceback__) + # Join the traceback lines into a single string + traceback_text = ''.join(traceback_lines) + ASCIIColors.error(f"Workflow run failed.\nError:{ex}") + ASCIIColors.error(traceback_text) + if callback: + callback(f"Workflow run failed\nError:{ex}", MSG_TYPE.MSG_TYPE_EXCEPTION) + print("Finished executing the workflow") + return + + + self._generate(full_prompt, n_predict, client_id, callback) + ASCIIColors.success("\nFinished executing the generation") + + def _generate(self, prompt, n_predict, client_id, callback=None): + self.nb_received_tokens = 0 + self.start_time = datetime.now() + if self.model is not None: + if self.model.binding_type==BindingType.TEXT_IMAGE and len(self.personality.image_files)>0: + ASCIIColors.info(f"warmup for generating up to {n_predict} tokens") + if self.config["override_personality_model_parameters"]: + output = self.model.generate_with_images( + prompt, + self.personality.image_files, + callback=callback, + n_predict=n_predict, + temperature=self.config['temperature'], + top_k=self.config['top_k'], + top_p=self.config['top_p'], + repeat_penalty=self.config['repeat_penalty'], + repeat_last_n = self.config['repeat_last_n'], + seed=self.config['seed'], + n_threads=self.config['n_threads'] + ) + else: + output = self.model.generate_with_images( + prompt, + self.personality.image_files, + callback=callback, + n_predict=min(n_predict,self.personality.model_n_predicts), + temperature=self.personality.model_temperature, + top_k=self.personality.model_top_k, + top_p=self.personality.model_top_p, + repeat_penalty=self.personality.model_repeat_penalty, + repeat_last_n = self.personality.model_repeat_last_n, + seed=self.config['seed'], + n_threads=self.config['n_threads'] + ) + else: + ASCIIColors.info(f"warmup for generating up to {n_predict} tokens") + if self.config["override_personality_model_parameters"]: + output = self.model.generate( + prompt, + callback=callback, + n_predict=n_predict, + temperature=self.config['temperature'], + top_k=self.config['top_k'], + top_p=self.config['top_p'], + repeat_penalty=self.config['repeat_penalty'], + repeat_last_n = self.config['repeat_last_n'], + seed=self.config['seed'], + n_threads=self.config['n_threads'] + ) + else: + output = self.model.generate( + prompt, + callback=callback, + n_predict=min(n_predict,self.personality.model_n_predicts), + temperature=self.personality.model_temperature, + top_k=self.personality.model_top_k, + top_p=self.personality.model_top_p, + repeat_penalty=self.personality.model_repeat_penalty, + repeat_last_n = self.personality.model_repeat_last_n, + seed=self.config['seed'], + n_threads=self.config['n_threads'] + ) + else: + print("No model is installed or selected. Please make sure to install a model and select it inside your configuration before attempting to communicate with the model.") + print("To do this: Install the model to your models/ folder.") + print("Then set your model information in your local configuration file that you can find in configs/local_config.yaml") + print("You can also use the ui to set your model in the settings page.") + output = "" + return output + + def start_message_generation(self, message, message_id, client_id, is_continue=False, generation_type=None): + if self.personality is None: + self.warning("Select a personality") + return + ASCIIColors.info(f"Text generation requested by client: {client_id}") + # send the message to the bot + print(f"Received message : {message.content}") + if self.connections[client_id]["current_discussion"]: + if not self.model: + self.error("No model selected. Please make sure you select a model before starting generation", client_id=client_id) + return + # First we need to send the new message ID to the client + if is_continue: + self.connections[client_id]["current_discussion"].load_message(message_id) + self.connections[client_id]["generated_text"] = message.content + else: + self.new_message(client_id, self.personality.name, "") + self.update_message(client_id, "✍ warming up ...", msg_type=MSG_TYPE.MSG_TYPE_STEP_START) + self.socketio.sleep(0.01) + + # prepare query and reception + self.discussion_messages, self.current_message, tokens = self.prepare_query(client_id, message_id, is_continue, n_tokens=self.config.min_n_predict, generation_type=generation_type) + self.prepare_reception(client_id) + self.generating = True + self.connections[client_id]["processing"]=True + try: + self.generate( + self.discussion_messages, + self.current_message, + n_predict = self.config.ctx_size-len(tokens)-1, + client_id=client_id, + callback=partial(self.process_chunk,client_id = client_id) + ) + if self.config.enable_voice_service and self.config.auto_read and len(self.personality.audio_samples)>0: + try: + self.process_chunk("Generating voice output",MSG_TYPE.MSG_TYPE_STEP_START,client_id=client_id) + from lollms.audio_gen_modules.lollms_xtts import LollmsXTTS + if self.tts is None: + self.tts = LollmsXTTS(self, voice_samples_path=Path(__file__).parent.parent/"voices") + language = convert_language_name(self.personality.language) + self.tts.set_speaker_folder(Path(self.personality.audio_samples[0]).parent) + fn = self.personality.name.lower().replace(' ',"_").replace('.','') + fn = f"{fn}_{message_id}.wav" + url = f"audio/{fn}" + self.tts.tts_to_file(self.connections[client_id]["generated_text"], Path(self.personality.audio_samples[0]).name, f"{fn}", language=language) + fl = f""" + +""" + self.process_chunk("Generating voice output", MSG_TYPE.MSG_TYPE_STEP_END, {'status':True},client_id=client_id) + self.process_chunk(fl,MSG_TYPE.MSG_TYPE_UI, client_id=client_id) + + """ + self.info("Creating audio output",10) + self.personality.step_start("Creating audio output") + if not PackageManager.check_package_installed("tortoise"): + PackageManager.install_package("tortoise-tts") + from tortoise import utils, api + import sounddevice as sd + if self.tts is None: + self.tts = api.TextToSpeech( kv_cache=True, half=True) + reference_clips = [utils.audio.load_audio(str(p), 22050) for p in self.personality.audio_samples] + tk = self.model.tokenize(self.connections[client_id]["generated_text"]) + if len(tk)>100: + chunk_size = 100 + + for i in range(0, len(tk), chunk_size): + chunk = self.model.detokenize(tk[i:i+chunk_size]) + if i==0: + pcm_audio = self.tts.tts_with_preset(chunk, voice_samples=reference_clips, preset='fast').numpy().flatten() + else: + pcm_audio = np.concatenate([pcm_audio, self.tts.tts_with_preset(chunk, voice_samples=reference_clips, preset='ultra_fast').numpy().flatten()]) + else: + pcm_audio = self.tts.tts_with_preset(self.connections[client_id]["generated_text"], voice_samples=reference_clips, preset='fast').numpy().flatten() + sd.play(pcm_audio, 22050) + self.personality.step_end("Creating audio output") + """ + + + + except Exception as ex: + ASCIIColors.error("Couldn't read") + trace_exception(ex) + print() + ASCIIColors.success("## Done Generation ##") + print() + except Exception as ex: + trace_exception(ex) + print() + ASCIIColors.error("## Generation Error ##") + print() + + self.cancel_gen = False + + # Send final message + self.close_message(client_id) + self.socketio.sleep(0.01) + self.connections[client_id]["processing"]=False + if self.connections[client_id]["schedule_for_deletion"]: + del self.connections[client_id] + + ASCIIColors.success(f" ╔══════════════════════════════════════════════════╗ ") + ASCIIColors.success(f" ║ Done ║ ") + ASCIIColors.success(f" ╚══════════════════════════════════════════════════╝ ") + if self.config.auto_title: + d = self.connections[client_id]["current_discussion"] + ttl = d.title() + if ttl is None or ttl=="" or ttl=="untitled": + title = self.make_discussion_title(d, client_id=client_id) + d.rename(title) + self.socketio.emit('disucssion_renamed',{ + 'status': True, + 'discussion_id':d.discussion_id, + 'title':title + }, room=client_id) + + self.busy=False + + else: + ump = self.config.discussion_prompt_separator +self.config.user_name.strip() if self.config.use_user_name_in_discussions else self.personality.user_message_prefix + + self.cancel_gen = False + #No discussion available + ASCIIColors.warning("No discussion selected!!!") + + self.error("No discussion selected!!!", client_id=client_id) + + print() + self.busy=False + return "" \ No newline at end of file diff --git a/new_app.py b/new_app.py index 7e5bc26e..69ca53a0 100644 --- a/new_app.py +++ b/new_app.py @@ -25,10 +25,6 @@ app = FastAPI() # Create a Socket.IO server sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins="*") # Enable CORS for all origins -# Define a WebSocket event handler -@sio.event -async def connect(sid, environ): - ASCIIColors.yellow(f"Connected: {sid}") @sio.event async def disconnect(sid): @@ -61,27 +57,45 @@ if __name__ == "__main__": config.port=args.port LOLLMSWebUI.build_instance(config=config, lollms_paths=lollms_paths, socketio=sio) - + lollmsElfServer = LOLLMSWebUI.get_instance() # Import all endpoints + from lollms.server.endpoints.lollms_binding_files_server import router as lollms_binding_files_server_router from lollms.server.endpoints.lollms_infos import router as lollms_infos_router from lollms.server.endpoints.lollms_hardware_infos import router as lollms_hardware_infos_router from lollms.server.endpoints.lollms_binding_infos import router as lollms_binding_infos_router from lollms.server.endpoints.lollms_models_infos import router as lollms_models_infos_router from lollms.server.endpoints.lollms_personalities_infos import router as lollms_personalities_infos_router + from lollms.server.endpoints.lollms_extensions_infos import router as lollms_extensions_infos_router from lollms.server.endpoints.lollms_generator import router as lollms_generator_router + from lollms.server.endpoints.lollms_configuration_infos import router as lollms_configuration_infos_router from endpoints.lollms_discussion import router as lollms_discussion_router from endpoints.lollms_webui_infos import router as lollms_webui_infos_router + + + + from lollms.server.events.lollms_generation_events import add_events as lollms_generation_events_add + from events.lollms_generation_events import add_events as lollms_webui_generation_events_add + from events.lollms_discussion_events import add_events as lollms_webui_discussion_events_add app.include_router(lollms_infos_router) + app.include_router(lollms_binding_files_server_router) app.include_router(lollms_hardware_infos_router) app.include_router(lollms_binding_infos_router) app.include_router(lollms_models_infos_router) app.include_router(lollms_personalities_infos_router) + app.include_router(lollms_extensions_infos_router) + app.include_router(lollms_webui_infos_router) app.include_router(lollms_generator_router) app.include_router(lollms_discussion_router) - + app.include_router(lollms_configuration_infos_router) + + + lollms_generation_events_add(sio) + lollms_webui_generation_events_add(sio) + lollms_webui_discussion_events_add(sio) + app.mount("/", StaticFiles(directory=Path(__file__).parent/"web"/"dist", html=True), name="static") app = ASGIApp(socketio_server=sio, other_asgi_app=app) diff --git a/scripts/python/lollms_installer/frontend/dist/assets/index-26HIjSQ3.js b/scripts/python/lollms_installer/frontend/dist/assets/index-26HIjSQ3.js deleted file mode 100644 index efff888e..00000000 --- a/scripts/python/lollms_installer/frontend/dist/assets/index-26HIjSQ3.js +++ /dev/null @@ -1,18 +0,0 @@ -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function Ns(e,t){const n=new Set(e.split(","));return t?r=>n.has(r.toLowerCase()):r=>n.has(r)}const ue={},Xt=[],He=()=>{},ac=()=>!1,pr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Is=e=>e.startsWith("onUpdate:"),me=Object.assign,ks=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},cc=Object.prototype.hasOwnProperty,ee=(e,t)=>cc.call(e,t),z=Array.isArray,Zt=e=>Pn(e)==="[object Map]",Ki=e=>Pn(e)==="[object Set]",bo=e=>Pn(e)==="[object Date]",W=e=>typeof e=="function",ge=e=>typeof e=="string",Ct=e=>typeof e=="symbol",le=e=>e!==null&&typeof e=="object",Gi=e=>(le(e)||W(e))&&W(e.then)&&W(e.catch),Wi=Object.prototype.toString,Pn=e=>Wi.call(e),uc=e=>Pn(e).slice(8,-1),qi=e=>Pn(e)==="[object Object]",Bs=e=>ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Wn=Ns(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),yr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},fc=/-(\w)/g,ot=yr(e=>e.replace(fc,(t,n)=>n?n.toUpperCase():"")),hc=/\B([A-Z])/g,fn=yr(e=>e.replace(hc,"-$1").toLowerCase()),mr=yr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ir=yr(e=>e?`on${mr(e)}`:""),Rt=(e,t)=>!Object.is(e,t),qn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},dc=e=>{const t=parseFloat(e);return isNaN(t)?e:t},pc=e=>{const t=ge(e)?Number(e):NaN;return isNaN(t)?e:t};let wo;const Ji=()=>wo||(wo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fs(e){if(z(e)){const t={};for(let n=0;n{if(n){const r=n.split(mc);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ds(e){let t="";if(ge(e))t=e;else if(z(e))for(let n=0;nge(e)?e:e==null?"":z(e)||le(e)&&(e.toString===Wi||!W(e.toString))?JSON.stringify(e,Xi,2):String(e),Xi=(e,t)=>t&&t.__v_isRef?Xi(e,t.value):Zt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[kr(r,o)+" =>"]=s,n),{})}:Ki(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>kr(n))}:Ct(t)?kr(t):le(t)&&!z(t)&&!qi(t)?String(t):t,kr=(e,t="")=>{var n;return Ct(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let We;class Zi{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=We,!t&&We&&(this.index=(We.scopes||(We.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=We;try{return We=this,t()}finally{We=n}}}on(){We=this}off(){We=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=2))break;Ut(),this._queryings--}return this._dirtyLevel>=2}set dirty(t){this._dirtyLevel=t?3:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=St,n=Bt;try{return St=!0,Bt=this,this._runnings++,jo(this),this.fn()}finally{_o(this),this._runnings--,Bt=n,St=t}}stop(){var t;this.active&&(jo(this),_o(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function Oc(e){return e.value}function jo(e){e._trackId++,e._depsLength=0}function _o(e){if(e.deps&&e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},rs=new WeakMap,Ft=Symbol(""),ss=Symbol("");function Ce(e,t,n){if(St&&Bt){let r=rs.get(e);r||rs.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=sl(()=>r.delete(n))),nl(Bt,s)}}function ht(e,t,n,r,s,o){const i=rs.get(e);if(!i)return;let l=[];if(t==="clear")l=[...i.values()];else if(n==="length"&&z(e)){const a=Number(r);i.forEach((u,c)=>{(c==="length"||!Ct(c)&&c>=a)&&l.push(u)})}else switch(n!==void 0&&l.push(i.get(n)),t){case"add":z(e)?Bs(n)&&l.push(i.get("length")):(l.push(i.get(Ft)),Zt(e)&&l.push(i.get(ss)));break;case"delete":z(e)||(l.push(i.get(Ft)),Zt(e)&&l.push(i.get(ss)));break;case"set":Zt(e)&&l.push(i.get(Ft));break}Vs();for(const a of l)a&&rl(a,3);Us()}const Sc=Ns("__proto__,__v_isRef,__isVue"),ol=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ct)),Eo=Ac();function Ac(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=ne(this);for(let o=0,i=this.length;o{e[t]=function(...n){Vt(),Vs();const r=ne(this)[t].apply(this,n);return Us(),Ut(),r}}),e}function Cc(e){const t=ne(this);return Ce(t,"has",e),t.hasOwnProperty(e)}class il{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,r){const s=this._isReadonly,o=this._shallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Vc:ul:o?cl:al).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=z(t);if(!s){if(i&&ee(Eo,n))return Reflect.get(Eo,n,r);if(n==="hasOwnProperty")return Cc}const l=Reflect.get(t,n,r);return(Ct(n)?ol.has(n):Sc(n))||(s||Ce(t,"get",n),o)?l:Re(l)?i&&Bs(n)?l:l.value:le(l)?s?hl(l):Ln(l):l}}class ll extends il{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];if(!this._shallow){const a=sn(o);if(!Qt(r)&&!sn(r)&&(o=ne(o),r=ne(r)),!z(t)&&Re(o)&&!Re(r))return a?!1:(o.value=r,!0)}const i=z(t)&&Bs(n)?Number(n)e,gr=e=>Reflect.getPrototypeOf(e);function kn(e,t,n=!1,r=!1){e=e.__v_raw;const s=ne(e),o=ne(t);n||(Rt(t,o)&&Ce(s,"get",t),Ce(s,"get",o));const{has:i}=gr(s),l=r?$s:n?Gs:Sn;if(i.call(s,t))return l(e.get(t));if(i.call(s,o))return l(e.get(o));e!==s&&e.get(t)}function Bn(e,t=!1){const n=this.__v_raw,r=ne(n),s=ne(e);return t||(Rt(e,s)&&Ce(r,"has",e),Ce(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function Fn(e,t=!1){return e=e.__v_raw,!t&&Ce(ne(e),"iterate",Ft),Reflect.get(e,"size",e)}function Oo(e){e=ne(e);const t=ne(this);return gr(t).has.call(t,e)||(t.add(e),ht(t,"add",e,e)),this}function So(e,t){t=ne(t);const n=ne(this),{has:r,get:s}=gr(n);let o=r.call(n,e);o||(e=ne(e),o=r.call(n,e));const i=s.call(n,e);return n.set(e,t),o?Rt(t,i)&&ht(n,"set",e,t):ht(n,"add",e,t),this}function Ao(e){const t=ne(this),{has:n,get:r}=gr(t);let s=n.call(t,e);s||(e=ne(e),s=n.call(t,e)),r&&r.call(t,e);const o=t.delete(e);return s&&ht(t,"delete",e,void 0),o}function Co(){const e=ne(this),t=e.size!==0,n=e.clear();return t&&ht(e,"clear",void 0,void 0),n}function Dn(e,t){return function(r,s){const o=this,i=o.__v_raw,l=ne(i),a=t?$s:e?Gs:Sn;return!e&&Ce(l,"iterate",Ft),i.forEach((u,c)=>r.call(s,a(u),a(c),o))}}function Hn(e,t,n){return function(...r){const s=this.__v_raw,o=ne(s),i=Zt(o),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=s[e](...r),c=n?$s:t?Gs:Sn;return!t&&Ce(o,"iterate",a?ss:Ft),{next(){const{value:f,done:h}=u.next();return h?{value:f,done:h}:{value:l?[c(f[0]),c(f[1])]:c(f),done:h}},[Symbol.iterator](){return this}}}}function mt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Lc(){const e={get(o){return kn(this,o)},get size(){return Fn(this)},has:Bn,add:Oo,set:So,delete:Ao,clear:Co,forEach:Dn(!1,!1)},t={get(o){return kn(this,o,!1,!0)},get size(){return Fn(this)},has:Bn,add:Oo,set:So,delete:Ao,clear:Co,forEach:Dn(!1,!0)},n={get(o){return kn(this,o,!0)},get size(){return Fn(this,!0)},has(o){return Bn.call(this,o,!0)},add:mt("add"),set:mt("set"),delete:mt("delete"),clear:mt("clear"),forEach:Dn(!0,!1)},r={get(o){return kn(this,o,!0,!0)},get size(){return Fn(this,!0)},has(o){return Bn.call(this,o,!0)},add:mt("add"),set:mt("set"),delete:mt("delete"),clear:mt("clear"),forEach:Dn(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Hn(o,!1,!1),n[o]=Hn(o,!0,!1),t[o]=Hn(o,!1,!0),r[o]=Hn(o,!0,!0)}),[e,n,t,r]}const[Nc,Ic,kc,Bc]=Lc();function zs(e,t){const n=t?e?Bc:kc:e?Ic:Nc;return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ee(n,s)&&s in r?n:r,s,o)}const Fc={get:zs(!1,!1)},Dc={get:zs(!1,!0)},Hc={get:zs(!0,!1)},al=new WeakMap,cl=new WeakMap,ul=new WeakMap,Vc=new WeakMap;function Uc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function $c(e){return e.__v_skip||!Object.isExtensible(e)?0:Uc(uc(e))}function Ln(e){return sn(e)?e:Ks(e,!1,Tc,Fc,al)}function fl(e){return Ks(e,!1,Pc,Dc,cl)}function hl(e){return Ks(e,!0,Mc,Hc,ul)}function Ks(e,t,n,r,s){if(!le(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const i=$c(e);if(i===0)return e;const l=new Proxy(e,i===2?r:n);return s.set(e,l),l}function en(e){return sn(e)?en(e.__v_raw):!!(e&&e.__v_isReactive)}function sn(e){return!!(e&&e.__v_isReadonly)}function Qt(e){return!!(e&&e.__v_isShallow)}function dl(e){return en(e)||sn(e)}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function pl(e){return sr(e,"__v_skip",!0),e}const Sn=e=>le(e)?Ln(e):e,Gs=e=>le(e)?hl(e):e;class yl{constructor(t,n,r,s){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Hs(()=>t(this._value),()=>os(this,1)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=ne(this);return ml(t),(!t._cacheable||t.effect.dirty)&&Rt(t._value,t._value=t.effect.run())&&os(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function zc(e,t,n=!1){let r,s;const o=W(e);return o?(r=e,s=He):(r=e.get,s=e.set),new yl(r,s,o||!s,n)}function ml(e){St&&Bt&&(e=ne(e),nl(Bt,e.dep||(e.dep=sl(()=>e.dep=void 0,e instanceof yl?e:void 0))))}function os(e,t=3,n){e=ne(e);const r=e.dep;r&&rl(r,t)}function Re(e){return!!(e&&e.__v_isRef===!0)}function Kc(e){return gl(e,!1)}function Gc(e){return gl(e,!0)}function gl(e,t){return Re(e)?e:new Wc(e,t)}class Wc{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ne(t),this._value=n?t:Sn(t)}get value(){return ml(this),this._value}set value(t){const n=this.__v_isShallow||Qt(t)||sn(t);t=n?t:ne(t),Rt(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Sn(t),os(this,3))}}function tn(e){return Re(e)?e.value:e}const qc={get:(e,t,n)=>tn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return Re(s)&&!Re(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function xl(e){return en(e)?e:new Proxy(e,qc)}function At(e,t,n,r){let s;try{s=r?e(...r):e()}catch(o){xr(o,t,n)}return s}function Ve(e,t,n,r){if(W(e)){const o=At(e,t,n,r);return o&&Gi(o)&&o.catch(i=>{xr(i,t,n)}),o}const s=[];for(let o=0;o>>1,s=Ee[r],o=Cn(s);ont&&Ee.splice(t,1)}function Xc(e){z(e)?nn.push(...e):(!ut||!ut.includes(e,e.allowRecurse?It+1:It))&&nn.push(e),bl()}function Ro(e,t,n=An?nt+1:0){for(;nCn(n)-Cn(r)),It=0;Ite.id==null?1/0:e.id,Zc=(e,t)=>{const n=Cn(e)-Cn(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function jl(e){is=!1,An=!0,Ee.sort(Zc);try{for(nt=0;ntge(y)?y.trim():y)),f&&(s=n.map(dc))}let l,a=r[l=Ir(t)]||r[l=Ir(ot(t))];!a&&o&&(a=r[l=Ir(fn(t))]),a&&Ve(a,e,6,s);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ve(u,e,6,s)}}function _l(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!W(e)){const a=u=>{const c=_l(u,t,!0);c&&(l=!0,me(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(le(e)&&r.set(e,null),null):(z(o)?o.forEach(a=>i[a]=null):me(i,o),le(e)&&r.set(e,i),i)}function vr(e,t){return!e||!pr(t)?!1:(t=t.slice(2).replace(/Once$/,""),ee(e,t[0].toLowerCase()+t.slice(1))||ee(e,fn(t))||ee(e,t))}let Ne=null,br=null;function lr(e){const t=Ne;return Ne=e,br=e&&e.type.__scopeId||null,t}function tu(e){br=e}function nu(){br=null}function El(e,t=Ne,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&Ho(-1);const o=lr(t);let i;try{i=e(...s)}finally{lr(o),r._d&&Ho(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function Br(e){const{type:t,vnode:n,proxy:r,withProxy:s,props:o,propsOptions:[i],slots:l,attrs:a,emit:u,render:c,renderCache:f,data:h,setupState:y,ctx:m,inheritAttrs:g}=e;let w,v;const b=lr(e);try{if(n.shapeFlag&4){const T=s||r,P=T;w=tt(c.call(P,T,f,o,y,h,m)),v=a}else{const T=t;w=tt(T.length>1?T(o,{attrs:a,slots:l,emit:u}):T(o,null)),v=t.props?a:ru(a)}}catch(T){_n.length=0,xr(T,e,1),w=we(Tt)}let _=w;if(v&&g!==!1){const T=Object.keys(v),{shapeFlag:P}=_;T.length&&P&7&&(i&&T.some(Is)&&(v=su(v,i)),_=Ht(_,v))}return n.dirs&&(_=Ht(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),w=_,lr(b),w}const ru=e=>{let t;for(const n in e)(n==="class"||n==="style"||pr(n))&&((t||(t={}))[n]=e[n]);return t},su=(e,t)=>{const n={};for(const r in e)(!Is(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function ou(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?To(r,i,u):!!i;if(a&8){const c=t.dynamicProps;for(let f=0;fe.__isSuspense;function uu(e,t){t&&t.pendingBranch?z(e)?t.effects.push(...e):t.effects.push(e):Xc(e)}const fu=Symbol.for("v-scx"),hu=()=>dt(fu),Vn={};function rn(e,t,n){return Sl(e,t,n)}function Sl(e,t,{immediate:n,deep:r,flush:s,once:o,onTrack:i,onTrigger:l}=ue){var a;if(t&&o){const P=t;t=(...U)=>{P(...U),T()}}const u=Ec()===((a=be)==null?void 0:a.scope)?be:null;let c,f=!1,h=!1;if(Re(e)?(c=()=>e.value,f=Qt(e)):en(e)?(c=Qt(e)||r===!1?()=>ft(e,1):()=>ft(e),f=!0):z(e)?(h=!0,f=e.some(P=>en(P)||Qt(P)),c=()=>e.map(P=>{if(Re(P))return P.value;if(en(P))return ft(P,Qt(P)||r===!1?1:void 0);if(W(P))return At(P,u,2)})):W(e)?t?c=()=>At(e,u,2):c=()=>{if(!(u&&u.isUnmounted))return y&&y(),Ve(e,u,3,[m])}:c=He,t&&r){const P=c;c=()=>ft(P())}let y,m=P=>{y=_.onStop=()=>{At(P,u,4),y=_.onStop=void 0}},g;if(Er)if(m=He,t?n&&Ve(t,u,3,[c(),h?[]:void 0,m]):c(),s==="sync"){const P=hu();g=P.__watcherHandles||(P.__watcherHandles=[])}else return He;let w=h?new Array(e.length).fill(Vn):Vn;const v=()=>{if(!(!_.active||!_.dirty))if(t){const P=_.run();(r||f||(h?P.some((U,K)=>Rt(U,w[K])):Rt(P,w)))&&(y&&y(),Ve(t,u,3,[P,w===Vn?void 0:h&&w[0]===Vn?[]:w,m]),w=P)}else _.run()};v.allowRecurse=!!t;let b;s==="sync"?b=v:s==="post"?b=()=>Ae(v,u&&u.suspense):(v.pre=!0,u&&(v.id=u.uid),b=()=>qs(v));const _=new Hs(c,He,b),T=()=>{_.stop(),u&&u.scope&&ks(u.scope.effects,_)};return t?n?v():w=_.run():s==="post"?Ae(_.run.bind(_),u&&u.suspense):_.run(),g&&g.push(T),T}function du(e,t,n){const r=this.proxy,s=ge(e)?e.includes(".")?Al(r,e):()=>r[e]:e.bind(r,r);let o;W(t)?o=t:(o=t.handler,n=t);const i=be;on(this);const l=Sl(s,o.bind(r),n);return i?on(i):Dt(),l}function Al(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s0){if(n>=t)return e;n++}if(r=r||new Set,r.has(e))return e;if(r.add(e),Re(e))ft(e.value,t,n,r);else if(z(e))for(let s=0;s{ft(s,t,n,r)});else if(qi(e))for(const s in e)ft(e[s],t,n,r);return e}function gt(e,t){const n=Ne;if(n===null)return e;const r=Or(n)||n.proxy,s=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Nl(()=>{e.isUnmounting=!0}),e}const ke=[Function,Array],yu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ke,onEnter:ke,onAfterEnter:ke,onEnterCancelled:ke,onBeforeLeave:ke,onLeave:ke,onAfterLeave:ke,onLeaveCancelled:ke,onBeforeAppear:ke,onAppear:ke,onAfterAppear:ke,onAppearCancelled:ke};function mu(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function as(e,t,n,r){const{appear:s,mode:o,persisted:i=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:u,onEnterCancelled:c,onBeforeLeave:f,onLeave:h,onAfterLeave:y,onLeaveCancelled:m,onBeforeAppear:g,onAppear:w,onAfterAppear:v,onAppearCancelled:b}=t,_=String(e.key),T=mu(n,e),P=(B,X)=>{B&&Ve(B,r,9,X)},U=(B,X)=>{const re=X[1];P(B,X),z(B)?B.every(ae=>ae.length<=1)&&re():B.length<=1&&re()},K={mode:o,persisted:i,beforeEnter(B){let X=l;if(!n.isMounted)if(s)X=g||l;else return;B[Kt]&&B[Kt](!0);const re=T[_];re&&qt(e,re)&&re.el[Kt]&&re.el[Kt](),P(X,[B])},enter(B){let X=a,re=u,ae=c;if(!n.isMounted)if(s)X=w||a,re=v||u,ae=b||c;else return;let F=!1;const te=B[Un]=de=>{F||(F=!0,de?P(ae,[B]):P(re,[B]),K.delayedLeave&&K.delayedLeave(),B[Un]=void 0)};X?U(X,[B,te]):te()},leave(B,X){const re=String(e.key);if(B[Un]&&B[Un](!0),n.isUnmounting)return X();P(f,[B]);let ae=!1;const F=B[Kt]=te=>{ae||(ae=!0,X(),te?P(m,[B]):P(y,[B]),B[Kt]=void 0,T[re]===e&&delete T[re])};T[re]=e,h?U(h,[B,F]):F()},clone(B){return as(B,t,n,r)}};return K}function cs(e,t){e.shapeFlag&6&&e.component?cs(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Cl(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;o!!e.type.__asyncLoader,Tl=e=>e.type.__isKeepAlive;function gu(e,t){Ml(e,"a",t)}function xu(e,t){Ml(e,"da",t)}function Ml(e,t,n=be){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(wr(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Tl(s.parent.vnode)&&vu(r,t,n,s),s=s.parent}}function vu(e,t,n,r){const s=wr(t,e,r,!0);Il(()=>{ks(r[t],s)},n)}function wr(e,t,n=be,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Vt(),on(n);const l=Ve(t,n,e,i);return Dt(),Ut(),l});return r?s.unshift(o):s.push(o),o}}const yt=e=>(t,n=be)=>(!Er||e==="sp")&&wr(e,(...r)=>t(...r),n),bu=yt("bm"),Pl=yt("m"),wu=yt("bu"),Ll=yt("u"),Nl=yt("bum"),Il=yt("um"),ju=yt("sp"),_u=yt("rtg"),Eu=yt("rtc");function Ou(e,t=be){wr("ec",e,t)}function Su(e,t,n,r){let s;const o=n&&n[r];if(z(e)||ge(e)){s=new Array(e.length);for(let i=0,l=e.length;it(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);s=new Array(i.length);for(let l=0,a=i.length;le?ql(e)?Or(e)||e.proxy:us(e.parent):null,jn=me(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=>us(e.parent),$root:e=>us(e.root),$emit:e=>e.emit,$options:e=>Js(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,qs(e.update)}),$nextTick:e=>e.n||(e.n=ir.bind(e.proxy)),$watch:e=>du.bind(e)}),Fr=(e,t)=>e!==ue&&!e.__isScriptSetup&&ee(e,t),Au={get({_:e},t){const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const y=i[t];if(y!==void 0)switch(y){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Fr(r,t))return i[t]=1,r[t];if(s!==ue&&ee(s,t))return i[t]=2,s[t];if((u=e.propsOptions[0])&&ee(u,t))return i[t]=3,o[t];if(n!==ue&&ee(n,t))return i[t]=4,n[t];fs&&(i[t]=0)}}const c=jn[t];let f,h;if(c)return t==="$attrs"&&Ce(e,"get",t),c(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==ue&&ee(n,t))return i[t]=4,n[t];if(h=a.config.globalProperties,ee(h,t))return h[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return Fr(s,t)?(s[t]=n,!0):r!==ue&&ee(r,t)?(r[t]=n,!0):ee(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:o}},i){let l;return!!n[i]||e!==ue&&ee(e,i)||Fr(t,i)||(l=o[0])&&ee(l,i)||ee(r,i)||ee(jn,i)||ee(s.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ee(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Po(e){return z(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let fs=!0;function Cu(e){const t=Js(e),n=e.proxy,r=e.ctx;fs=!1,t.beforeCreate&&Lo(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:h,beforeUpdate:y,updated:m,activated:g,deactivated:w,beforeDestroy:v,beforeUnmount:b,destroyed:_,unmounted:T,render:P,renderTracked:U,renderTriggered:K,errorCaptured:B,serverPrefetch:X,expose:re,inheritAttrs:ae,components:F,directives:te,filters:de}=t;if(u&&Ru(u,r,null),i)for(const q in i){const J=i[q];W(J)&&(r[q]=J.bind(n))}if(s){const q=s.call(n,n);le(q)&&(e.data=Ln(q))}if(fs=!0,o)for(const q in o){const J=o[q],je=W(J)?J.bind(n,n):W(J.get)?J.get.bind(n,n):He,ze=!W(J)&&W(J.set)?J.set.bind(n):He,xe=De({get:je,set:ze});Object.defineProperty(r,q,{enumerable:!0,configurable:!0,get:()=>xe.value,set:pe=>xe.value=pe})}if(l)for(const q in l)kl(l[q],r,n,q);if(a){const q=W(a)?a.call(n):a;Reflect.ownKeys(q).forEach(J=>{Yn(J,q[J])})}c&&Lo(c,e,"c");function ce(q,J){z(J)?J.forEach(je=>q(je.bind(n))):J&&q(J.bind(n))}if(ce(bu,f),ce(Pl,h),ce(wu,y),ce(Ll,m),ce(gu,g),ce(xu,w),ce(Ou,B),ce(Eu,U),ce(_u,K),ce(Nl,b),ce(Il,T),ce(ju,X),z(re))if(re.length){const q=e.exposed||(e.exposed={});re.forEach(J=>{Object.defineProperty(q,J,{get:()=>n[J],set:je=>n[J]=je})})}else e.exposed||(e.exposed={});P&&e.render===He&&(e.render=P),ae!=null&&(e.inheritAttrs=ae),F&&(e.components=F),te&&(e.directives=te)}function Ru(e,t,n=He){z(e)&&(e=hs(e));for(const r in e){const s=e[r];let o;le(s)?"default"in s?o=dt(s.from||r,s.default,!0):o=dt(s.from||r):o=dt(s),Re(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Lo(e,t,n){Ve(z(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function kl(e,t,n,r){const s=r.includes(".")?Al(n,r):()=>n[r];if(ge(e)){const o=t[e];W(o)&&rn(s,o)}else if(W(e))rn(s,e.bind(n));else if(le(e))if(z(e))e.forEach(o=>kl(o,t,n,r));else{const o=W(e.handler)?e.handler.bind(n):t[e.handler];W(o)&&rn(s,o,e)}}function Js(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let a;return l?a=l:!s.length&&!n&&!r?a=t:(a={},s.length&&s.forEach(u=>ar(a,u,i,!0)),ar(a,t,i)),le(t)&&o.set(t,a),a}function ar(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&ar(e,o,n,!0),s&&s.forEach(i=>ar(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Tu[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Tu={data:No,props:Io,emits:Io,methods:bn,computed:bn,beforeCreate:Se,created:Se,beforeMount:Se,mounted:Se,beforeUpdate:Se,updated:Se,beforeDestroy:Se,beforeUnmount:Se,destroyed:Se,unmounted:Se,activated:Se,deactivated:Se,errorCaptured:Se,serverPrefetch:Se,components:bn,directives:bn,watch:Pu,provide:No,inject:Mu};function No(e,t){return t?e?function(){return me(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Mu(e,t){return bn(hs(e),hs(t))}function hs(e){if(z(e)){const t={};for(let n=0;n1)return n&&W(t)?t.call(r&&r.proxy):t}}function Iu(e,t,n,r=!1){const s={},o={};sr(o,_r,1),e.propsDefaults=Object.create(null),Fl(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:fl(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function ku(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=ne(s),[a]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[h,y]=Dl(f,t,!0);me(i,h),y&&l.push(...y)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!a)return le(e)&&r.set(e,Xt),Xt;if(z(o))for(let c=0;c-1,y[1]=g<0||m-1||ee(y,"default"))&&l.push(f)}}}const u=[i,l];return le(e)&&r.set(e,u),u}function ko(e){return e[0]!=="$"}function Bo(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Fo(e,t){return Bo(e)===Bo(t)}function Do(e,t){return z(t)?t.findIndex(n=>Fo(n,e)):W(t)&&Fo(t,e)?0:-1}const Hl=e=>e[0]==="_"||e==="$stable",Ys=e=>z(e)?e.map(tt):[tt(e)],Bu=(e,t,n)=>{if(t._n)return t;const r=El((...s)=>Ys(t(...s)),n);return r._c=!1,r},Vl=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Hl(s))continue;const o=e[s];if(W(o))t[s]=Bu(s,o,r);else if(o!=null){const i=Ys(o);t[s]=()=>i}}},Ul=(e,t)=>{const n=Ys(t);e.slots.default=()=>n},Fu=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=ne(t),sr(t,"_",n)):Vl(t,e.slots={})}else e.slots={},t&&Ul(e,t);sr(e.slots,_r,1)},Du=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ue;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(me(s,t),!n&&l===1&&delete s._):(o=!t.$stable,Vl(t,s)),i=t}else t&&(Ul(e,t),i={default:1});if(o)for(const l in s)!Hl(l)&&i[l]==null&&delete s[l]};function ps(e,t,n,r,s=!1){if(z(e)){e.forEach((h,y)=>ps(h,t&&(z(t)?t[y]:t),n,r,s));return}if(Jn(r)&&!s)return;const o=r.shapeFlag&4?Or(r.component)||r.component.proxy:r.el,i=s?null:o,{i:l,r:a}=e,u=t&&t.r,c=l.refs===ue?l.refs={}:l.refs,f=l.setupState;if(u!=null&&u!==a&&(ge(u)?(c[u]=null,ee(f,u)&&(f[u]=null)):Re(u)&&(u.value=null)),W(a))At(a,l,12,[i,c]);else{const h=ge(a),y=Re(a);if(h||y){const m=()=>{if(e.f){const g=h?ee(f,a)?f[a]:c[a]:a.value;s?z(g)&&ks(g,o):z(g)?g.includes(o)||g.push(o):h?(c[a]=[o],ee(f,a)&&(f[a]=c[a])):(a.value=[o],e.k&&(c[e.k]=a.value))}else h?(c[a]=i,ee(f,a)&&(f[a]=i)):y&&(a.value=i,e.k&&(c[e.k]=i))};i?(m.id=-1,Ae(m,n)):m()}}}const Ae=uu;function Hu(e){return Vu(e)}function Vu(e,t){const n=Ji();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:h,setScopeId:y=He,insertStaticContent:m}=e,g=(d,p,x,j=null,S=null,A=null,N=void 0,R=null,M=!!p.dynamicChildren)=>{if(d===p)return;d&&!qt(d,p)&&(j=O(d),pe(d,S,A,!0),d=null),p.patchFlag===-2&&(M=!1,p.dynamicChildren=null);const{type:C,ref:I,shapeFlag:$}=p;switch(C){case jr:w(d,p,x,j);break;case Tt:v(d,p,x,j);break;case Hr:d==null&&b(p,x,j,N);break;case Le:F(d,p,x,j,S,A,N,R,M);break;default:$&1?P(d,p,x,j,S,A,N,R,M):$&6?te(d,p,x,j,S,A,N,R,M):($&64||$&128)&&C.process(d,p,x,j,S,A,N,R,M,L)}I!=null&&S&&ps(I,d&&d.ref,A,p||d,!p)},w=(d,p,x,j)=>{if(d==null)r(p.el=l(p.children),x,j);else{const S=p.el=d.el;p.children!==d.children&&u(S,p.children)}},v=(d,p,x,j)=>{d==null?r(p.el=a(p.children||""),x,j):p.el=d.el},b=(d,p,x,j)=>{[d.el,d.anchor]=m(d.children,p,x,j,d.el,d.anchor)},_=({el:d,anchor:p},x,j)=>{let S;for(;d&&d!==p;)S=h(d),r(d,x,j),d=S;r(p,x,j)},T=({el:d,anchor:p})=>{let x;for(;d&&d!==p;)x=h(d),s(d),d=x;s(p)},P=(d,p,x,j,S,A,N,R,M)=>{p.type==="svg"?N="svg":p.type==="math"&&(N="mathml"),d==null?U(p,x,j,S,A,N,R,M):X(d,p,S,A,N,R,M)},U=(d,p,x,j,S,A,N,R)=>{let M,C;const{props:I,shapeFlag:$,transition:V,dirs:G}=d;if(M=d.el=i(d.type,A,I&&I.is,I),$&8?c(M,d.children):$&16&&B(d.children,M,null,j,S,Dr(d,A),N,R),G&&Pt(d,null,j,"created"),K(M,d,d.scopeId,N,j),I){for(const ie in I)ie!=="value"&&!Wn(ie)&&o(M,ie,null,I[ie],A,d.children,j,S,_e);"value"in I&&o(M,"value",null,I.value,A),(C=I.onVnodeBeforeMount)&&et(C,j,d)}G&&Pt(d,null,j,"beforeMount");const Y=Uu(S,V);Y&&V.beforeEnter(M),r(M,p,x),((C=I&&I.onVnodeMounted)||Y||G)&&Ae(()=>{C&&et(C,j,d),Y&&V.enter(M),G&&Pt(d,null,j,"mounted")},S)},K=(d,p,x,j,S)=>{if(x&&y(d,x),j)for(let A=0;A{for(let C=M;C{const R=p.el=d.el;let{patchFlag:M,dynamicChildren:C,dirs:I}=p;M|=d.patchFlag&16;const $=d.props||ue,V=p.props||ue;let G;if(x&&Lt(x,!1),(G=V.onVnodeBeforeUpdate)&&et(G,x,p,d),I&&Pt(p,d,x,"beforeUpdate"),x&&Lt(x,!0),C?re(d.dynamicChildren,C,R,x,j,Dr(p,S),A):N||J(d,p,R,null,x,j,Dr(p,S),A,!1),M>0){if(M&16)ae(R,p,$,V,x,j,S);else if(M&2&&$.class!==V.class&&o(R,"class",null,V.class,S),M&4&&o(R,"style",$.style,V.style,S),M&8){const Y=p.dynamicProps;for(let ie=0;ie{G&&et(G,x,p,d),I&&Pt(p,d,x,"updated")},j)},re=(d,p,x,j,S,A,N)=>{for(let R=0;R{if(x!==j){if(x!==ue)for(const R in x)!Wn(R)&&!(R in j)&&o(d,R,x[R],null,N,p.children,S,A,_e);for(const R in j){if(Wn(R))continue;const M=j[R],C=x[R];M!==C&&R!=="value"&&o(d,R,C,M,N,p.children,S,A,_e)}"value"in j&&o(d,"value",x.value,j.value,N)}},F=(d,p,x,j,S,A,N,R,M)=>{const C=p.el=d?d.el:l(""),I=p.anchor=d?d.anchor:l("");let{patchFlag:$,dynamicChildren:V,slotScopeIds:G}=p;G&&(R=R?R.concat(G):G),d==null?(r(C,x,j),r(I,x,j),B(p.children,x,I,S,A,N,R,M)):$>0&&$&64&&V&&d.dynamicChildren?(re(d.dynamicChildren,V,x,S,A,N,R),(p.key!=null||S&&p===S.subTree)&&$l(d,p,!0)):J(d,p,x,I,S,A,N,R,M)},te=(d,p,x,j,S,A,N,R,M)=>{p.slotScopeIds=R,d==null?p.shapeFlag&512?S.ctx.activate(p,x,j,N,M):de(p,x,j,S,A,N,M):Ie(d,p,M)},de=(d,p,x,j,S,A,N)=>{const R=d.component=Qu(d,j,S);if(Tl(d)&&(R.ctx.renderer=L),Zu(R),R.asyncDep){if(S&&S.registerDep(R,ce),!d.el){const M=R.subTree=we(Tt);v(null,M,p,x)}}else ce(R,d,p,x,S,A,N)},Ie=(d,p,x)=>{const j=p.component=d.component;if(ou(d,p,x))if(j.asyncDep&&!j.asyncResolved){q(j,p,x);return}else j.next=p,Qc(j.update),j.effect.dirty=!0,j.update();else p.el=d.el,j.vnode=p},ce=(d,p,x,j,S,A,N)=>{const R=()=>{if(d.isMounted){let{next:I,bu:$,u:V,parent:G,vnode:Y}=d;{const zt=zl(d);if(zt){I&&(I.el=Y.el,q(d,I,N)),zt.asyncDep.then(()=>{d.isUnmounted||R()});return}}let ie=I,fe;Lt(d,!1),I?(I.el=Y.el,q(d,I,N)):I=Y,$&&qn($),(fe=I.props&&I.props.onVnodeBeforeUpdate)&&et(fe,G,I,Y),Lt(d,!0);const ve=Br(d),Ge=d.subTree;d.subTree=ve,g(Ge,ve,f(Ge.el),O(Ge),d,S,A),I.el=ve.el,ie===null&&iu(d,ve.el),V&&Ae(V,S),(fe=I.props&&I.props.onVnodeUpdated)&&Ae(()=>et(fe,G,I,Y),S)}else{let I;const{el:$,props:V}=p,{bm:G,m:Y,parent:ie}=d,fe=Jn(p);if(Lt(d,!1),G&&qn(G),!fe&&(I=V&&V.onVnodeBeforeMount)&&et(I,ie,p),Lt(d,!0),$&&se){const ve=()=>{d.subTree=Br(d),se($,d.subTree,d,S,null)};fe?p.type.__asyncLoader().then(()=>!d.isUnmounted&&ve()):ve()}else{const ve=d.subTree=Br(d);g(null,ve,x,j,d,S,A),p.el=ve.el}if(Y&&Ae(Y,S),!fe&&(I=V&&V.onVnodeMounted)){const ve=p;Ae(()=>et(I,ie,ve),S)}(p.shapeFlag&256||ie&&Jn(ie.vnode)&&ie.vnode.shapeFlag&256)&&d.a&&Ae(d.a,S),d.isMounted=!0,p=x=j=null}},M=d.effect=new Hs(R,He,()=>qs(C),d.scope),C=d.update=()=>{M.dirty&&M.run()};C.id=d.uid,Lt(d,!0),C()},q=(d,p,x)=>{p.component=d;const j=d.vnode.props;d.vnode=p,d.next=null,ku(d,p.props,j,x),Du(d,p.children,x),Vt(),Ro(d),Ut()},J=(d,p,x,j,S,A,N,R,M=!1)=>{const C=d&&d.children,I=d?d.shapeFlag:0,$=p.children,{patchFlag:V,shapeFlag:G}=p;if(V>0){if(V&128){ze(C,$,x,j,S,A,N,R,M);return}else if(V&256){je(C,$,x,j,S,A,N,R,M);return}}G&8?(I&16&&_e(C,S,A),$!==C&&c(x,$)):I&16?G&16?ze(C,$,x,j,S,A,N,R,M):_e(C,S,A,!0):(I&8&&c(x,""),G&16&&B($,x,j,S,A,N,R,M))},je=(d,p,x,j,S,A,N,R,M)=>{d=d||Xt,p=p||Xt;const C=d.length,I=p.length,$=Math.min(C,I);let V;for(V=0;V<$;V++){const G=p[V]=M?_t(p[V]):tt(p[V]);g(d[V],G,x,null,S,A,N,R,M)}C>I?_e(d,S,A,!0,!1,$):B(p,x,j,S,A,N,R,M,$)},ze=(d,p,x,j,S,A,N,R,M)=>{let C=0;const I=p.length;let $=d.length-1,V=I-1;for(;C<=$&&C<=V;){const G=d[C],Y=p[C]=M?_t(p[C]):tt(p[C]);if(qt(G,Y))g(G,Y,x,null,S,A,N,R,M);else break;C++}for(;C<=$&&C<=V;){const G=d[$],Y=p[V]=M?_t(p[V]):tt(p[V]);if(qt(G,Y))g(G,Y,x,null,S,A,N,R,M);else break;$--,V--}if(C>$){if(C<=V){const G=V+1,Y=GV)for(;C<=$;)pe(d[C],S,A,!0),C++;else{const G=C,Y=C,ie=new Map;for(C=Y;C<=V;C++){const Me=p[C]=M?_t(p[C]):tt(p[C]);Me.key!=null&&ie.set(Me.key,C)}let fe,ve=0;const Ge=V-Y+1;let zt=!1,go=0;const yn=new Array(Ge);for(C=0;C=Ge){pe(Me,S,A,!0);continue}let Ze;if(Me.key!=null)Ze=ie.get(Me.key);else for(fe=Y;fe<=V;fe++)if(yn[fe-Y]===0&&qt(Me,p[fe])){Ze=fe;break}Ze===void 0?pe(Me,S,A,!0):(yn[Ze-Y]=C+1,Ze>=go?go=Ze:zt=!0,g(Me,p[Ze],x,null,S,A,N,R,M),ve++)}const xo=zt?$u(yn):Xt;for(fe=xo.length-1,C=Ge-1;C>=0;C--){const Me=Y+C,Ze=p[Me],vo=Me+1{const{el:A,type:N,transition:R,children:M,shapeFlag:C}=d;if(C&6){xe(d.component.subTree,p,x,j);return}if(C&128){d.suspense.move(p,x,j);return}if(C&64){N.move(d,p,x,L);return}if(N===Le){r(A,p,x);for(let $=0;$R.enter(A),S);else{const{leave:$,delayLeave:V,afterLeave:G}=R,Y=()=>r(A,p,x),ie=()=>{$(A,()=>{Y(),G&&G()})};V?V(A,Y,ie):ie()}else r(A,p,x)},pe=(d,p,x,j=!1,S=!1)=>{const{type:A,props:N,ref:R,children:M,dynamicChildren:C,shapeFlag:I,patchFlag:$,dirs:V}=d;if(R!=null&&ps(R,null,x,d,!0),I&256){p.ctx.deactivate(d);return}const G=I&1&&V,Y=!Jn(d);let ie;if(Y&&(ie=N&&N.onVnodeBeforeUnmount)&&et(ie,p,d),I&6)Mt(d.component,x,j);else{if(I&128){d.suspense.unmount(x,j);return}G&&Pt(d,null,p,"beforeUnmount"),I&64?d.type.remove(d,p,x,S,L,j):C&&(A!==Le||$>0&&$&64)?_e(C,p,x,!1,!0):(A===Le&&$&384||!S&&I&16)&&_e(M,p,x),j&&Ke(d)}(Y&&(ie=N&&N.onVnodeUnmounted)||G)&&Ae(()=>{ie&&et(ie,p,d),G&&Pt(d,null,p,"unmounted")},x)},Ke=d=>{const{type:p,el:x,anchor:j,transition:S}=d;if(p===Le){Oe(x,j);return}if(p===Hr){T(d);return}const A=()=>{s(x),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(d.shapeFlag&1&&S&&!S.persisted){const{leave:N,delayLeave:R}=S,M=()=>N(x,A);R?R(d.el,A,M):M()}else A()},Oe=(d,p)=>{let x;for(;d!==p;)x=h(d),s(d),d=x;s(p)},Mt=(d,p,x)=>{const{bum:j,scope:S,update:A,subTree:N,um:R}=d;j&&qn(j),S.stop(),A&&(A.active=!1,pe(N,d,p,x)),R&&Ae(R,p),Ae(()=>{d.isUnmounted=!0},p),p&&p.pendingBranch&&!p.isUnmounted&&d.asyncDep&&!d.asyncResolved&&d.suspenseId===p.pendingId&&(p.deps--,p.deps===0&&p.resolve())},_e=(d,p,x,j=!1,S=!1,A=0)=>{for(let N=A;Nd.shapeFlag&6?O(d.component.subTree):d.shapeFlag&128?d.suspense.next():h(d.anchor||d.el),k=(d,p,x)=>{d==null?p._vnode&&pe(p._vnode,null,null,!0):g(p._vnode||null,d,p,null,null,null,x),Ro(),wl(),p._vnode=d},L={p:g,um:pe,m:xe,r:Ke,mt:de,mc:B,pc:J,pbc:re,n:O,o:e};let D,se;return t&&([D,se]=t(L)),{render:k,hydrate:D,createApp:Nu(k,D)}}function Dr({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Lt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Uu(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function $l(e,t,n=!1){const r=e.children,s=t.children;if(z(r)&&z(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function zl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zl(t)}const zu=e=>e.__isTeleport,Le=Symbol.for("v-fgt"),jr=Symbol.for("v-txt"),Tt=Symbol.for("v-cmt"),Hr=Symbol.for("v-stc"),_n=[];let Ye=null;function Pe(e=!1){_n.push(Ye=e?null:[])}function Ku(){_n.pop(),Ye=_n[_n.length-1]||null}let Rn=1;function Ho(e){Rn+=e}function Kl(e){return e.dynamicChildren=Rn>0?Ye||Xt:null,Ku(),Rn>0&&Ye&&Ye.push(e),e}function Be(e,t,n,r,s,o){return Kl(H(e,t,n,r,s,o,!0))}function Gu(e,t,n,r,s){return Kl(we(e,t,n,r,s,!0))}function ys(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const _r="__vInternal",Gl=({key:e})=>e??null,Qn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ge(e)||Re(e)||W(e)?{i:Ne,r:e,k:t,f:!!n}:e:null);function H(e,t=null,n=null,r=0,s=null,o=e===Le?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Gl(t),ref:t&&Qn(t),scopeId:br,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Ne};return l?(Qs(a,n),o&128&&e.normalize(a)):n&&(a.shapeFlag|=ge(n)?8:16),Rn>0&&!i&&Ye&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&Ye.push(a),a}const we=Wu;function Wu(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===lu)&&(e=Tt),ys(e)){const l=Ht(e,t,!0);return n&&Qs(l,n),Rn>0&&!o&&Ye&&(l.shapeFlag&6?Ye[Ye.indexOf(e)]=l:Ye.push(l)),l.patchFlag|=-2,l}if(sf(e)&&(e=e.__vccOpts),t){t=qu(t);let{class:l,style:a}=t;l&&!ge(l)&&(t.class=Ds(l)),le(a)&&(dl(a)&&!z(a)&&(a=me({},a)),t.style=Fs(a))}const i=ge(e)?1:cu(e)?128:zu(e)?64:le(e)?4:W(e)?2:0;return H(e,t,n,r,s,i,o,!0)}function qu(e){return e?dl(e)||_r in e?me({},e):e:null}function Ht(e,t,n=!1){const{props:r,ref:s,patchFlag:o,children:i}=e,l=t?Wl(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Gl(l),ref:t&&t.ref?n&&s?z(s)?s.concat(Qn(t)):[s,Qn(t)]:Qn(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Le?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ht(e.ssContent),ssFallback:e.ssFallback&&Ht(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function qe(e=" ",t=0){return we(jr,null,e,t)}function kt(e="",t=!1){return t?(Pe(),Gu(Tt,null,e)):we(Tt,null,e)}function tt(e){return e==null||typeof e=="boolean"?we(Tt):z(e)?we(Le,null,e.slice()):typeof e=="object"?_t(e):we(jr,null,String(e))}function _t(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ht(e)}function Qs(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(z(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Qs(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!(_r in t)?t._ctx=Ne:s===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else W(t)?(t={default:t,_ctx:Ne},n=32):(t=String(t),r&64?(n=16,t=[qe(t)]):n=8);e.children=t,e.shapeFlag|=n}function Wl(...e){const t={};for(let n=0;nbe||Ne;let Xs,ms;{const e=Ji(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Xs=t("__VUE_INSTANCE_SETTERS__",n=>be=n),ms=t("__VUE_SSR_SETTERS__",n=>Er=n)}const on=e=>{Xs(e),e.scope.on()},Dt=()=>{be&&be.scope.off(),Xs(null)};function ql(e){return e.vnode.shapeFlag&4}let Er=!1;function Zu(e,t=!1){t&&ms(t);const{props:n,children:r}=e.vnode,s=ql(e);Iu(e,n,s,t),Fu(e,r);const o=s?ef(e,t):void 0;return t&&ms(!1),o}function ef(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=pl(new Proxy(e.ctx,Au));const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?nf(e):null;on(e),Vt();const o=At(r,e,0,[e.props,s]);if(Ut(),Dt(),Gi(o)){if(o.then(Dt,Dt),t)return o.then(i=>{Vo(e,i,t)}).catch(i=>{xr(i,e,0)});e.asyncDep=o}else Vo(e,o,t)}else Jl(e,t)}function Vo(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:le(t)&&(e.setupState=xl(t)),Jl(e,n)}let Uo;function Jl(e,t,n){const r=e.type;if(!e.render){if(!t&&Uo&&!r.render){const s=r.template||Js(e).template;if(s){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:a}=r,u=me(me({isCustomElement:o,delimiters:l},i),a);r.render=Uo(s,u)}}e.render=r.render||He}{on(e),Vt();try{Cu(e)}finally{Ut(),Dt()}}}function tf(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ce(e,"get","$attrs"),t[n]}}))}function nf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return tf(e)},slots:e.slots,emit:e.emit,expose:t}}function Or(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(xl(pl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in jn)return jn[n](e)},has(t,n){return n in t||n in jn}}))}function rf(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function sf(e){return W(e)&&"__vccOpts"in e}const De=(e,t)=>zc(e,t,Er);function Yl(e,t,n){const r=arguments.length;return r===2?le(t)&&!z(t)?ys(t)?we(e,null,[t]):we(e,t):we(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&ys(n)&&(n=[n]),we(e,t,n))}const of="3.4.3",lf="http://www.w3.org/2000/svg",af="http://www.w3.org/1998/Math/MathML",Et=typeof document<"u"?document:null,$o=Et&&Et.createElement("template"),cf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Et.createElementNS(lf,e):t==="mathml"?Et.createElementNS(af,e):Et.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Et.createTextNode(e),createComment:e=>Et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{$o.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const l=$o.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},xt="transition",mn="animation",ln=Symbol("_vtc"),Ql={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},uf=me({},yu,Ql),Nt=(e,t=[])=>{z(e)?e.forEach(n=>n(...t)):e&&e(...t)},zo=e=>e?z(e)?e.some(t=>t.length>1):e.length>1:!1;function ff(e){const t={};for(const F in e)F in Ql||(t[F]=e[F]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:y=`${n}-leave-to`}=e,m=hf(s),g=m&&m[0],w=m&&m[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:_,onLeave:T,onLeaveCancelled:P,onBeforeAppear:U=v,onAppear:K=b,onAppearCancelled:B=_}=t,X=(F,te,de)=>{jt(F,te?c:l),jt(F,te?u:i),de&&de()},re=(F,te)=>{F._isLeaving=!1,jt(F,f),jt(F,y),jt(F,h),te&&te()},ae=F=>(te,de)=>{const Ie=F?K:b,ce=()=>X(te,F,de);Nt(Ie,[te,ce]),Ko(()=>{jt(te,F?a:o),ct(te,F?c:l),zo(Ie)||Go(te,r,g,ce)})};return me(t,{onBeforeEnter(F){Nt(v,[F]),ct(F,o),ct(F,i)},onBeforeAppear(F){Nt(U,[F]),ct(F,a),ct(F,u)},onEnter:ae(!1),onAppear:ae(!0),onLeave(F,te){F._isLeaving=!0;const de=()=>re(F,te);ct(F,f),Zl(),ct(F,h),Ko(()=>{F._isLeaving&&(jt(F,f),ct(F,y),zo(T)||Go(F,r,w,de))}),Nt(T,[F,de])},onEnterCancelled(F){X(F,!1),Nt(_,[F])},onAppearCancelled(F){X(F,!0),Nt(B,[F])},onLeaveCancelled(F){re(F),Nt(P,[F])}})}function hf(e){if(e==null)return null;if(le(e))return[Vr(e.enter),Vr(e.leave)];{const t=Vr(e);return[t,t]}}function Vr(e){return pc(e)}function ct(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ln]||(e[ln]=new Set)).add(t)}function jt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[ln];n&&(n.delete(t),n.size||(e[ln]=void 0))}function Ko(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let df=0;function Go(e,t,n,r){const s=e._endId=++df,o=()=>{s===e._endId&&r()};if(n)return setTimeout(o,n);const{type:i,timeout:l,propCount:a}=Xl(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,h),o()},h=y=>{y.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[m]||"").split(", "),s=r(`${xt}Delay`),o=r(`${xt}Duration`),i=Wo(s,o),l=r(`${mn}Delay`),a=r(`${mn}Duration`),u=Wo(l,a);let c=null,f=0,h=0;t===xt?i>0&&(c=xt,f=i,h=o.length):t===mn?u>0&&(c=mn,f=u,h=a.length):(f=Math.max(i,u),c=f>0?i>u?xt:mn:null,h=c?c===xt?o.length:a.length:0);const y=c===xt&&/\b(transform|all)(,|$)/.test(r(`${xt}Property`).toString());return{type:c,timeout:f,propCount:h,hasTransform:y}}function Wo(e,t){for(;e.lengthqo(n)+qo(e[r])))}function qo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Zl(){return document.body.offsetHeight}function pf(e,t,n){const r=e[ln];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const yf=Symbol("_vod"),mf=Symbol("");function gf(e,t,n){const r=e.style,s=ge(n);if(n&&!s){if(t&&!ge(t))for(const o in t)n[o]==null&&gs(r,o,"");for(const o in n)gs(r,o,n[o])}else{const o=r.display;if(s){if(t!==n){const i=r[mf];i&&(n+=";"+i),r.cssText=n}}else t&&e.removeAttribute("style");yf in e&&(r.display=o)}}const Jo=/\s*!important$/;function gs(e,t,n){if(z(n))n.forEach(r=>gs(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=xf(e,t);Jo.test(n)?e.setProperty(fn(r),n.replace(Jo,""),"important"):e[r]=n}}const Yo=["Webkit","Moz","ms"],Ur={};function xf(e,t){const n=Ur[t];if(n)return n;let r=ot(t);if(r!=="filter"&&r in e)return Ur[t]=r;r=mr(r);for(let s=0;s$r||(Ef.then(()=>$r=0),$r=Date.now());function Sf(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Ve(Af(r,n.value),t,5,[r])};return n.value=e,n.attached=Of(),n}function Af(e,t){if(z(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const ei=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cf=(e,t,n,r,s,o,i,l,a)=>{const u=s==="svg";t==="class"?pf(e,r,u):t==="style"?gf(e,n,r):pr(t)?Is(t)||jf(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rf(e,t,r,u))?bf(e,t,r,o,i,l,a):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),vf(e,t,r,u))};function Rf(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ei(t)&&W(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ei(t)&&ge(n)?!1:t in e}const ta=new WeakMap,na=new WeakMap,ur=Symbol("_moveCb"),ti=Symbol("_enterCb"),ra={name:"TransitionGroup",props:me({},uf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Xu(),r=pu();let s,o;return Ll(()=>{if(!s.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!If(s[0].el,n.vnode.el,i))return;s.forEach(Pf),s.forEach(Lf);const l=s.filter(Nf);Zl(),l.forEach(a=>{const u=a.el,c=u.style;ct(u,i),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[ur]=h=>{h&&h.target!==u||(!h||/transform$/.test(h.propertyName))&&(u.removeEventListener("transitionend",f),u[ur]=null,jt(u,i))};u.addEventListener("transitionend",f)})}),()=>{const i=ne(e),l=ff(i);let a=i.tag||Le;s=o,o=t.default?Cl(t.default()):[];for(let u=0;udelete e.mode;ra.props;const Mf=ra;function Pf(e){const t=e.el;t[ur]&&t[ur](),t[ti]&&t[ti]()}function Lf(e){na.set(e,e.el.getBoundingClientRect())}function Nf(e){const t=ta.get(e),n=na.get(e),r=t.left-n.left,s=t.top-n.top;if(r||s){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${r}px,${s}px)`,o.transitionDuration="0s",e}}function If(e,t,n){const r=e.cloneNode(),s=e[ln];s&&s.forEach(l=>{l.split(/\s+/).forEach(a=>a&&r.classList.remove(a))}),n.split(/\s+/).forEach(l=>l&&r.classList.add(l)),r.style.display="none";const o=t.nodeType===1?t:t.parentNode;o.appendChild(r);const{hasTransform:i}=Xl(r);return o.removeChild(r),i}const ni=e=>{const t=e.props["onUpdate:modelValue"]||!1;return z(t)?n=>qn(t,n):t},zr=Symbol("_assign"),vt={created(e,{value:t},n){e.checked=or(t,n.props.value),e[zr]=ni(n),ea(e,"change",()=>{e[zr](kf(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[zr]=ni(r),t!==n&&(e.checked=or(t,r.props.value))}};function kf(e){return"_value"in e?e._value:e.value}const Bf=["ctrl","shift","alt","meta"],Ff={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&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Bf.some(n=>e[`${n}Key`]&&!t.includes(n))},Df=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...o)=>{for(let i=0;i{const t=Vf().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=zf(r);if(!s)return;const o=t._component;!W(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const i=n(s,!1,$f(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t};function $f(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function zf(e){return ge(e)?document.querySelector(e):e}function Kf(){return sa().__VUE_DEVTOOLS_GLOBAL_HOOK__}function sa(){return typeof navigator<"u"&&typeof window<"u"?window:typeof global<"u"?global:{}}const Gf=typeof Proxy=="function",Wf="devtools-plugin:setup",qf="plugin:settings:set";let Gt,xs;function Jf(){var e;return Gt!==void 0||(typeof window<"u"&&window.performance?(Gt=!0,xs=window.performance):typeof global<"u"&&(!((e=global.perf_hooks)===null||e===void 0)&&e.performance)?(Gt=!0,xs=global.perf_hooks.performance):Gt=!1),Gt}function Yf(){return Jf()?xs.now():Date.now()}class Qf{constructor(t,n){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=n;const r={};if(t.settings)for(const i in t.settings){const l=t.settings[i];r[i]=l.defaultValue}const s=`__vue-devtools-plugin-settings__${t.id}`;let o=Object.assign({},r);try{const i=localStorage.getItem(s),l=JSON.parse(i);Object.assign(o,l)}catch{}this.fallbacks={getSettings(){return o},setSettings(i){try{localStorage.setItem(s,JSON.stringify(i))}catch{}o=i},now(){return Yf()}},n&&n.on(qf,(i,l)=>{i===this.plugin.id&&this.fallbacks.setSettings(l)}),this.proxiedOn=new Proxy({},{get:(i,l)=>this.target?this.target.on[l]:(...a)=>{this.onQueue.push({method:l,args:a})}}),this.proxiedTarget=new Proxy({},{get:(i,l)=>this.target?this.target[l]:l==="on"?this.proxiedOn:Object.keys(this.fallbacks).includes(l)?(...a)=>(this.targetQueue.push({method:l,args:a,resolve:()=>{}}),this.fallbacks[l](...a)):(...a)=>new Promise(u=>{this.targetQueue.push({method:l,args:a,resolve:u})})})}async setRealTarget(t){this.target=t;for(const n of this.onQueue)this.target.on[n.method](...n.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Xf(e,t){const n=e,r=sa(),s=Kf(),o=Gf&&n.enableEarlyProxy;if(s&&(r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__||!o))s.emit(Wf,e,t);else{const i=o?new Qf(n,s):null;(r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:n,setupFn:t,proxy:i}),i&&t(i.proxiedTarget)}}/*! - * vue-router v4.2.5 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */const Jt=typeof window<"u";function Zf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const oe=Object.assign;function Kr(e,t){const n={};for(const r in t){const s=t[r];n[r]=Qe(s)?s.map(e):e(s)}return n}const En=()=>{},Qe=Array.isArray,e1=/\/$/,t1=e=>e.replace(e1,"");function Gr(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),o=t.slice(a+1,l>-1?l:t.length),s=e(o)),l>-1&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=o1(r??t,n),{fullPath:r+(o&&"?")+o+i,path:r,query:s,hash:i}}function n1(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function si(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function r1(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&an(t.matched[r],n.matched[s])&&oa(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function an(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function oa(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!s1(e[n],t[n]))return!1;return!0}function s1(e,t){return Qe(e)?oi(e,t):Qe(t)?oi(t,e):e===t}function oi(e,t){return Qe(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function o1(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i-(i===r.length?1:0)).join("/")}var Tn;(function(e){e.pop="pop",e.push="push"})(Tn||(Tn={}));var On;(function(e){e.back="back",e.forward="forward",e.unknown=""})(On||(On={}));function i1(e){if(!e)if(Jt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),t1(e)}const l1=/^[^#]+#/;function a1(e,t){return e.replace(l1,"#")+t}function c1(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Sr=()=>({left:window.pageXOffset,top:window.pageYOffset});function u1(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=c1(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function ii(e,t){return(history.state?history.state.position-t:-1)+e}const vs=new Map;function f1(e,t){vs.set(e,t)}function h1(e){const t=vs.get(e);return vs.delete(e),t}let d1=()=>location.protocol+"//"+location.host;function ia(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let l=s.includes(e.slice(o))?e.slice(o).length:1,a=s.slice(l);return a[0]!=="/"&&(a="/"+a),si(a,"")}return si(n,e)+r+s}function p1(e,t,n,r){let s=[],o=[],i=null;const l=({state:h})=>{const y=ia(e,location),m=n.value,g=t.value;let w=0;if(h){if(n.value=y,t.value=h,i&&i===m){i=null;return}w=g?h.position-g.position:0}else r(y);s.forEach(v=>{v(n.value,m,{delta:w,type:Tn.pop,direction:w?w>0?On.forward:On.back:On.unknown})})};function a(){i=n.value}function u(h){s.push(h);const y=()=>{const m=s.indexOf(h);m>-1&&s.splice(m,1)};return o.push(y),y}function c(){const{history:h}=window;h.state&&h.replaceState(oe({},h.state,{scroll:Sr()}),"")}function f(){for(const h of o)h();o=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",c)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",c,{passive:!0}),{pauseListeners:a,listen:u,destroy:f}}function li(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Sr():null}}function y1(e){const{history:t,location:n}=window,r={value:ia(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,u,c){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:d1()+e+a;try{t[c?"replaceState":"pushState"](u,"",h),s.value=u}catch(y){console.error(y),n[c?"replace":"assign"](h)}}function i(a,u){const c=oe({},t.state,li(s.value.back,a,s.value.forward,!0),u,{position:s.value.position});o(a,c,!0),r.value=a}function l(a,u){const c=oe({},s.value,t.state,{forward:a,scroll:Sr()});o(c.current,c,!0);const f=oe({},li(r.value,a,null),{position:c.position+1},u);o(a,f,!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function m1(e){e=i1(e);const t=y1(e),n=p1(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=oe({location:"",base:e,go:r,createHref:a1.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function g1(e){return typeof e=="string"||e&&typeof e=="object"}function la(e){return typeof e=="string"||typeof e=="symbol"}const bt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},aa=Symbol("");var ai;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ai||(ai={}));function cn(e,t){return oe(new Error,{type:e,[aa]:!0},t)}function at(e,t){return e instanceof Error&&aa in e&&(t==null||!!(e.type&t))}const ci="[^/]+?",x1={sensitive:!1,strict:!1,start:!0,end:!0},v1=/[.+*?^${}()[\]/\\]/g;function b1(e,t){const n=oe({},x1,t),r=[];let s=n.start?"^":"";const o=[];for(const u of e){const c=u.length?[]:[90];n.strict&&!u.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function j1(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const _1={type:0,value:""},E1=/[a-zA-Z0-9_]/;function O1(e){if(!e)return[[]];if(e==="/")return[[_1]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(y){throw new Error(`ERR (${n})/"${u}": ${y}`)}let n=0,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,u="",c="";function f(){u&&(n===0?o.push({type:0,value:u}):n===1||n===2||n===3?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=a}for(;l{i(b)}:En}function i(c){if(la(c)){const f=r.get(c);f&&(r.delete(c),n.splice(n.indexOf(f),1),f.children.forEach(i),f.alias.forEach(i))}else{const f=n.indexOf(c);f>-1&&(n.splice(f,1),c.record.name&&r.delete(c.record.name),c.children.forEach(i),c.alias.forEach(i))}}function l(){return n}function a(c){let f=0;for(;f=0&&(c.record.path!==n[f].record.path||!ca(c,n[f]));)f++;n.splice(f,0,c),c.record.name&&!hi(c)&&r.set(c.record.name,c)}function u(c,f){let h,y={},m,g;if("name"in c&&c.name){if(h=r.get(c.name),!h)throw cn(1,{location:c});g=h.record.name,y=oe(fi(f.params,h.keys.filter(b=>!b.optional).map(b=>b.name)),c.params&&fi(c.params,h.keys.map(b=>b.name))),m=h.stringify(y)}else if("path"in c)m=c.path,h=n.find(b=>b.re.test(m)),h&&(y=h.parse(m),g=h.record.name);else{if(h=f.name?r.get(f.name):n.find(b=>b.re.test(f.path)),!h)throw cn(1,{location:c,currentLocation:f});g=h.record.name,y=oe({},f.params,c.params),m=h.stringify(y)}const w=[];let v=h;for(;v;)w.unshift(v.record),v=v.parent;return{name:g,path:m,params:y,matched:w,meta:T1(w)}}return e.forEach(c=>o(c)),{addRoute:o,resolve:u,removeRoute:i,getRoutes:l,getRecordMatcher:s}}function fi(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function C1(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:R1(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function R1(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function hi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function T1(e){return e.reduce((t,n)=>oe(t,n.meta),{})}function di(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function ca(e,t){return t.children.some(n=>n===e||ca(e,n))}const ua=/#/g,M1=/&/g,P1=/\//g,L1=/=/g,N1=/\?/g,fa=/\+/g,I1=/%5B/g,k1=/%5D/g,ha=/%5E/g,B1=/%60/g,da=/%7B/g,F1=/%7C/g,pa=/%7D/g,D1=/%20/g;function Zs(e){return encodeURI(""+e).replace(F1,"|").replace(I1,"[").replace(k1,"]")}function H1(e){return Zs(e).replace(da,"{").replace(pa,"}").replace(ha,"^")}function bs(e){return Zs(e).replace(fa,"%2B").replace(D1,"+").replace(ua,"%23").replace(M1,"%26").replace(B1,"`").replace(da,"{").replace(pa,"}").replace(ha,"^")}function V1(e){return bs(e).replace(L1,"%3D")}function U1(e){return Zs(e).replace(ua,"%23").replace(N1,"%3F")}function $1(e){return e==null?"":U1(e).replace(P1,"%2F")}function fr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function z1(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&bs(o)):[r&&bs(r)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function K1(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Qe(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const G1=Symbol(""),yi=Symbol(""),eo=Symbol(""),ya=Symbol(""),ws=Symbol("");function gn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Ot(e,t,n,r,s){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((i,l)=>{const a=f=>{f===!1?l(cn(4,{from:n,to:t})):f instanceof Error?l(f):g1(f)?l(cn(2,{from:t,to:f})):(o&&r.enterCallbacks[s]===o&&typeof f=="function"&&o.push(f),i())},u=e.call(r&&r.instances[s],t,n,a);let c=Promise.resolve(u);e.length<3&&(c=c.then(a)),c.catch(f=>l(f))})}function Wr(e,t,n,r){const s=[];for(const o of e)for(const i in o.components){let l=o.components[i];if(!(t!=="beforeRouteEnter"&&!o.instances[i]))if(W1(l)){const u=(l.__vccOpts||l)[t];u&&s.push(Ot(u,n,r,o,i))}else{let a=l();s.push(()=>a.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${i}" at "${o.path}"`));const c=Zf(u)?u.default:u;o.components[i]=c;const h=(c.__vccOpts||c)[t];return h&&Ot(h,n,r,o,i)()}))}}return s}function W1(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function mi(e){const t=dt(eo),n=dt(ya),r=De(()=>t.resolve(tn(e.to))),s=De(()=>{const{matched:a}=r.value,{length:u}=a,c=a[u-1],f=n.matched;if(!c||!f.length)return-1;const h=f.findIndex(an.bind(null,c));if(h>-1)return h;const y=gi(a[u-2]);return u>1&&gi(c)===y&&f[f.length-1].path!==y?f.findIndex(an.bind(null,a[u-2])):h}),o=De(()=>s.value>-1&&Q1(n.params,r.value.params)),i=De(()=>s.value>-1&&s.value===n.matched.length-1&&oa(n.params,r.value.params));function l(a={}){return Y1(a)?t[tn(e.replace)?"replace":"push"](tn(e.to)).catch(En):Promise.resolve()}return{route:r,href:De(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}const q1=Rl({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:mi,setup(e,{slots:t}){const n=Ln(mi(e)),{options:r}=dt(eo),s=De(()=>({[xi(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xi(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&t.default(n);return e.custom?o:Yl("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),J1=q1;function Y1(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Q1(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Qe(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function gi(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xi=(e,t,n)=>e??t??n,X1=Rl({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=dt(ws),s=De(()=>e.route||r.value),o=dt(yi,0),i=De(()=>{let u=tn(o);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=De(()=>s.value.matched[i.value]);Yn(yi,De(()=>i.value+1)),Yn(G1,l),Yn(ws,s);const a=Kc();return rn(()=>[a.value,l.value,e.name],([u,c,f],[h,y,m])=>{c&&(c.instances[f]=u,y&&y!==c&&u&&u===h&&(c.leaveGuards.size||(c.leaveGuards=y.leaveGuards),c.updateGuards.size||(c.updateGuards=y.updateGuards))),u&&c&&(!y||!an(c,y)||!h)&&(c.enterCallbacks[f]||[]).forEach(g=>g(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=l.value,h=f&&f.components[c];if(!h)return vi(n.default,{Component:h,route:u});const y=f.props[c],m=y?y===!0?u.params:typeof y=="function"?y(u):y:null,w=Yl(h,oe({},m,t,{onVnodeUnmounted:v=>{v.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return vi(n.default,{Component:w,route:u})||w}}});function vi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Z1=X1;function eh(e){const t=A1(e.routes,e),n=e.parseQuery||z1,r=e.stringifyQuery||pi,s=e.history,o=gn(),i=gn(),l=gn(),a=Gc(bt);let u=bt;Jt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Kr.bind(null,O=>""+O),f=Kr.bind(null,$1),h=Kr.bind(null,fr);function y(O,k){let L,D;return la(O)?(L=t.getRecordMatcher(O),D=k):D=O,t.addRoute(D,L)}function m(O){const k=t.getRecordMatcher(O);k&&t.removeRoute(k)}function g(){return t.getRoutes().map(O=>O.record)}function w(O){return!!t.getRecordMatcher(O)}function v(O,k){if(k=oe({},k||a.value),typeof O=="string"){const x=Gr(n,O,k.path),j=t.resolve({path:x.path},k),S=s.createHref(x.fullPath);return oe(x,j,{params:h(j.params),hash:fr(x.hash),redirectedFrom:void 0,href:S})}let L;if("path"in O)L=oe({},O,{path:Gr(n,O.path,k.path).path});else{const x=oe({},O.params);for(const j in x)x[j]==null&&delete x[j];L=oe({},O,{params:f(x)}),k.params=f(k.params)}const D=t.resolve(L,k),se=O.hash||"";D.params=c(h(D.params));const d=n1(r,oe({},O,{hash:H1(se),path:D.path})),p=s.createHref(d);return oe({fullPath:d,hash:se,query:r===pi?K1(O.query):O.query||{}},D,{redirectedFrom:void 0,href:p})}function b(O){return typeof O=="string"?Gr(n,O,a.value.path):oe({},O)}function _(O,k){if(u!==O)return cn(8,{from:k,to:O})}function T(O){return K(O)}function P(O){return T(oe(b(O),{replace:!0}))}function U(O){const k=O.matched[O.matched.length-1];if(k&&k.redirect){const{redirect:L}=k;let D=typeof L=="function"?L(O):L;return typeof D=="string"&&(D=D.includes("?")||D.includes("#")?D=b(D):{path:D},D.params={}),oe({query:O.query,hash:O.hash,params:"path"in D?{}:O.params},D)}}function K(O,k){const L=u=v(O),D=a.value,se=O.state,d=O.force,p=O.replace===!0,x=U(L);if(x)return K(oe(b(x),{state:typeof x=="object"?oe({},se,x.state):se,force:d,replace:p}),k||L);const j=L;j.redirectedFrom=k;let S;return!d&&r1(r,D,L)&&(S=cn(16,{to:j,from:D}),xe(D,D,!0,!1)),(S?Promise.resolve(S):re(j,D)).catch(A=>at(A)?at(A,2)?A:ze(A):J(A,j,D)).then(A=>{if(A){if(at(A,2))return K(oe({replace:p},b(A.to),{state:typeof A.to=="object"?oe({},se,A.to.state):se,force:d}),k||j)}else A=F(j,D,!0,p,se);return ae(j,D,A),A})}function B(O,k){const L=_(O,k);return L?Promise.reject(L):Promise.resolve()}function X(O){const k=Oe.values().next().value;return k&&typeof k.runWithContext=="function"?k.runWithContext(O):O()}function re(O,k){let L;const[D,se,d]=th(O,k);L=Wr(D.reverse(),"beforeRouteLeave",O,k);for(const x of D)x.leaveGuards.forEach(j=>{L.push(Ot(j,O,k))});const p=B.bind(null,O,k);return L.push(p),_e(L).then(()=>{L=[];for(const x of o.list())L.push(Ot(x,O,k));return L.push(p),_e(L)}).then(()=>{L=Wr(se,"beforeRouteUpdate",O,k);for(const x of se)x.updateGuards.forEach(j=>{L.push(Ot(j,O,k))});return L.push(p),_e(L)}).then(()=>{L=[];for(const x of d)if(x.beforeEnter)if(Qe(x.beforeEnter))for(const j of x.beforeEnter)L.push(Ot(j,O,k));else L.push(Ot(x.beforeEnter,O,k));return L.push(p),_e(L)}).then(()=>(O.matched.forEach(x=>x.enterCallbacks={}),L=Wr(d,"beforeRouteEnter",O,k),L.push(p),_e(L))).then(()=>{L=[];for(const x of i.list())L.push(Ot(x,O,k));return L.push(p),_e(L)}).catch(x=>at(x,8)?x:Promise.reject(x))}function ae(O,k,L){l.list().forEach(D=>X(()=>D(O,k,L)))}function F(O,k,L,D,se){const d=_(O,k);if(d)return d;const p=k===bt,x=Jt?history.state:{};L&&(D||p?s.replace(O.fullPath,oe({scroll:p&&x&&x.scroll},se)):s.push(O.fullPath,se)),a.value=O,xe(O,k,L,p),ze()}let te;function de(){te||(te=s.listen((O,k,L)=>{if(!Mt.listening)return;const D=v(O),se=U(D);if(se){K(oe(se,{replace:!0}),D).catch(En);return}u=D;const d=a.value;Jt&&f1(ii(d.fullPath,L.delta),Sr()),re(D,d).catch(p=>at(p,12)?p:at(p,2)?(K(p.to,D).then(x=>{at(x,20)&&!L.delta&&L.type===Tn.pop&&s.go(-1,!1)}).catch(En),Promise.reject()):(L.delta&&s.go(-L.delta,!1),J(p,D,d))).then(p=>{p=p||F(D,d,!1),p&&(L.delta&&!at(p,8)?s.go(-L.delta,!1):L.type===Tn.pop&&at(p,20)&&s.go(-1,!1)),ae(D,d,p)}).catch(En)}))}let Ie=gn(),ce=gn(),q;function J(O,k,L){ze(O);const D=ce.list();return D.length?D.forEach(se=>se(O,k,L)):console.error(O),Promise.reject(O)}function je(){return q&&a.value!==bt?Promise.resolve():new Promise((O,k)=>{Ie.add([O,k])})}function ze(O){return q||(q=!O,de(),Ie.list().forEach(([k,L])=>O?L(O):k()),Ie.reset()),O}function xe(O,k,L,D){const{scrollBehavior:se}=e;if(!Jt||!se)return Promise.resolve();const d=!L&&h1(ii(O.fullPath,0))||(D||!L)&&history.state&&history.state.scroll||null;return ir().then(()=>se(O,k,d)).then(p=>p&&u1(p)).catch(p=>J(p,O,k))}const pe=O=>s.go(O);let Ke;const Oe=new Set,Mt={currentRoute:a,listening:!0,addRoute:y,removeRoute:m,hasRoute:w,getRoutes:g,resolve:v,options:e,push:T,replace:P,go:pe,back:()=>pe(-1),forward:()=>pe(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:ce.add,isReady:je,install(O){const k=this;O.component("RouterLink",J1),O.component("RouterView",Z1),O.config.globalProperties.$router=k,Object.defineProperty(O.config.globalProperties,"$route",{enumerable:!0,get:()=>tn(a)}),Jt&&!Ke&&a.value===bt&&(Ke=!0,T(s.location).catch(se=>{}));const L={};for(const se in bt)Object.defineProperty(L,se,{get:()=>a.value[se],enumerable:!0});O.provide(eo,k),O.provide(ya,fl(L)),O.provide(ws,a);const D=O.unmount;Oe.add(O),O.unmount=function(){Oe.delete(O),Oe.size<1&&(u=bt,te&&te(),te=null,a.value=bt,Ke=!1,q=!1),D()}}};function _e(O){return O.reduce((k,L)=>k.then(()=>X(L)),Promise.resolve())}return Mt}function th(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;ian(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>an(u,a))||s.push(a))}return[n,r,s]}/*! - * vuex v4.1.0 - * (c) 2022 Evan You - * @license MIT - */var nh="store";function hn(e,t){Object.keys(e).forEach(function(n){return t(e[n],n)})}function rh(e){return e!==null&&typeof e=="object"}function sh(e){return e&&typeof e.then=="function"}function oh(e,t){return function(){return e(t)}}function ma(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var r=t.indexOf(e);r>-1&&t.splice(r,1)}}function ga(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;Ar(e,n,[],e._modules.root,!0),to(e,n,t)}function to(e,t,n){var r=e._state,s=e._scope;e.getters={},e._makeLocalGettersCache=Object.create(null);var o=e._wrappedGetters,i={},l={},a=jc(!0);a.run(function(){hn(o,function(u,c){i[c]=oh(u,e),l[c]=De(function(){return i[c]()}),Object.defineProperty(e.getters,c,{get:function(){return l[c].value},enumerable:!0})})}),e._state=Ln({data:t}),e._scope=a,e.strict&&uh(e),r&&n&&e._withCommit(function(){r.data=null}),s&&s.stop()}function Ar(e,t,n,r,s){var o=!n.length,i=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[i],e._modulesNamespaceMap[i]=r),!o&&!s){var l=no(t,n.slice(0,-1)),a=n[n.length-1];e._withCommit(function(){l[a]=r.state})}var u=r.context=ih(e,i,n);r.forEachMutation(function(c,f){var h=i+f;lh(e,h,c,u)}),r.forEachAction(function(c,f){var h=c.root?f:i+f,y=c.handler||c;ah(e,h,y,u)}),r.forEachGetter(function(c,f){var h=i+f;ch(e,h,c,u)}),r.forEachChild(function(c,f){Ar(e,t,n.concat(f),c,s)})}function ih(e,t,n){var r=t==="",s={dispatch:r?e.dispatch:function(o,i,l){var a=hr(o,i,l),u=a.payload,c=a.options,f=a.type;return(!c||!c.root)&&(f=t+f),e.dispatch(f,u)},commit:r?e.commit:function(o,i,l){var a=hr(o,i,l),u=a.payload,c=a.options,f=a.type;(!c||!c.root)&&(f=t+f),e.commit(f,u,c)}};return Object.defineProperties(s,{getters:{get:r?function(){return e.getters}:function(){return xa(e,t)}},state:{get:function(){return no(e.state,n)}}}),s}function xa(e,t){if(!e._makeLocalGettersCache[t]){var n={},r=t.length;Object.keys(e.getters).forEach(function(s){if(s.slice(0,r)===t){var o=s.slice(r);Object.defineProperty(n,o,{get:function(){return e.getters[s]},enumerable:!0})}}),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function lh(e,t,n,r){var s=e._mutations[t]||(e._mutations[t]=[]);s.push(function(i){n.call(e,r.state,i)})}function ah(e,t,n,r){var s=e._actions[t]||(e._actions[t]=[]);s.push(function(i){var l=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},i);return sh(l)||(l=Promise.resolve(l)),e._devtoolHook?l.catch(function(a){throw e._devtoolHook.emit("vuex:error",a),a}):l})}function ch(e,t,n,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(o){return n(r.state,r.getters,o.state,o.getters)})}function uh(e){rn(function(){return e._state.data},function(){},{deep:!0,flush:"sync"})}function no(e,t){return t.reduce(function(n,r){return n[r]},e)}function hr(e,t,n){return rh(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}var fh="vuex bindings",bi="vuex:mutations",qr="vuex:actions",Wt="vuex",hh=0;function dh(e,t){Xf({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:[fh]},function(n){n.addTimelineLayer({id:bi,label:"Vuex Mutations",color:wi}),n.addTimelineLayer({id:qr,label:"Vuex Actions",color:wi}),n.addInspector({id:Wt,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),n.on.getInspectorTree(function(r){if(r.app===e&&r.inspectorId===Wt)if(r.filter){var s=[];ja(s,t._modules.root,r.filter,""),r.rootNodes=s}else r.rootNodes=[wa(t._modules.root,"")]}),n.on.getInspectorState(function(r){if(r.app===e&&r.inspectorId===Wt){var s=r.nodeId;xa(t,s),r.state=mh(xh(t._modules,s),s==="root"?t.getters:t._makeLocalGettersCache,s)}}),n.on.editInspectorState(function(r){if(r.app===e&&r.inspectorId===Wt){var s=r.nodeId,o=r.path;s!=="root"&&(o=s.split("/").filter(Boolean).concat(o)),t._withCommit(function(){r.set(t._state.data,o,r.state.value)})}}),t.subscribe(function(r,s){var o={};r.payload&&(o.payload=r.payload),o.state=s,n.notifyComponentUpdate(),n.sendInspectorTree(Wt),n.sendInspectorState(Wt),n.addTimelineEvent({layerId:bi,event:{time:Date.now(),title:r.type,data:o}})}),t.subscribeAction({before:function(r,s){var o={};r.payload&&(o.payload=r.payload),r._id=hh++,r._time=Date.now(),o.state=s,n.addTimelineEvent({layerId:qr,event:{time:r._time,title:r.type,groupId:r._id,subtitle:"start",data:o}})},after:function(r,s){var o={},i=Date.now()-r._time;o.duration={_custom:{type:"duration",display:i+"ms",tooltip:"Action duration",value:i}},r.payload&&(o.payload=r.payload),o.state=s,n.addTimelineEvent({layerId:qr,event:{time:Date.now(),title:r.type,groupId:r._id,subtitle:"end",data:o}})}})})}var wi=8702998,ph=6710886,yh=16777215,va={label:"namespaced",textColor:yh,backgroundColor:ph};function ba(e){return e&&e!=="root"?e.split("/").slice(-2,-1)[0]:"Root"}function wa(e,t){return{id:t||"root",label:ba(t),tags:e.namespaced?[va]:[],children:Object.keys(e._children).map(function(n){return wa(e._children[n],t+n+"/")})}}function ja(e,t,n,r){r.includes(n)&&e.push({id:r||"root",label:r.endsWith("/")?r.slice(0,r.length-1):r||"Root",tags:t.namespaced?[va]:[]}),Object.keys(t._children).forEach(function(s){ja(e,t._children[s],n,r+s+"/")})}function mh(e,t,n){t=n==="root"?t:t[n];var r=Object.keys(t),s={state:Object.keys(e.state).map(function(i){return{key:i,editable:!0,value:e.state[i]}})};if(r.length){var o=gh(t);s.getters=Object.keys(o).map(function(i){return{key:i.endsWith("/")?ba(i):i,editable:!1,value:js(function(){return o[i]})}})}return s}function gh(e){var t={};return Object.keys(e).forEach(function(n){var r=n.split("/");if(r.length>1){var s=t,o=r.pop();r.forEach(function(i){s[i]||(s[i]={_custom:{value:{},display:i,tooltip:"Module",abstract:!0}}),s=s[i]._custom.value}),s[o]=js(function(){return e[n]})}else t[n]=js(function(){return e[n]})}),t}function xh(e,t){var n=t.split("/").filter(function(r){return r});return n.reduce(function(r,s,o){var i=r[s];if(!i)throw new Error('Missing module "'+s+'" for path "'+t+'".');return o===n.length-1?i:i._children},t==="root"?e:e.root._children)}function js(e){try{return e()}catch(t){return t}}var Xe=function(t,n){this.runtime=n,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=(typeof r=="function"?r():r)||{}},_a={namespaced:{configurable:!0}};_a.namespaced.get=function(){return!!this._rawModule.namespaced};Xe.prototype.addChild=function(t,n){this._children[t]=n};Xe.prototype.removeChild=function(t){delete this._children[t]};Xe.prototype.getChild=function(t){return this._children[t]};Xe.prototype.hasChild=function(t){return t in this._children};Xe.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)};Xe.prototype.forEachChild=function(t){hn(this._children,t)};Xe.prototype.forEachGetter=function(t){this._rawModule.getters&&hn(this._rawModule.getters,t)};Xe.prototype.forEachAction=function(t){this._rawModule.actions&&hn(this._rawModule.actions,t)};Xe.prototype.forEachMutation=function(t){this._rawModule.mutations&&hn(this._rawModule.mutations,t)};Object.defineProperties(Xe.prototype,_a);var $t=function(t){this.register([],t,!1)};$t.prototype.get=function(t){return t.reduce(function(n,r){return n.getChild(r)},this.root)};$t.prototype.getNamespace=function(t){var n=this.root;return t.reduce(function(r,s){return n=n.getChild(s),r+(n.namespaced?s+"/":"")},"")};$t.prototype.update=function(t){Ea([],this.root,t)};$t.prototype.register=function(t,n,r){var s=this;r===void 0&&(r=!0);var o=new Xe(n,r);if(t.length===0)this.root=o;else{var i=this.get(t.slice(0,-1));i.addChild(t[t.length-1],o)}n.modules&&hn(n.modules,function(l,a){s.register(t.concat(a),l,r)})};$t.prototype.unregister=function(t){var n=this.get(t.slice(0,-1)),r=t[t.length-1],s=n.getChild(r);s&&s.runtime&&n.removeChild(r)};$t.prototype.isRegistered=function(t){var n=this.get(t.slice(0,-1)),r=t[t.length-1];return n?n.hasChild(r):!1};function Ea(e,t,n){if(t.update(n),n.modules)for(var r in n.modules){if(!t.getChild(r))return;Ea(e.concat(r),t.getChild(r),n.modules[r])}}function vh(e){return new Te(e)}var Te=function(t){var n=this;t===void 0&&(t={});var r=t.plugins;r===void 0&&(r=[]);var s=t.strict;s===void 0&&(s=!1);var o=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 $t(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var i=this,l=this,a=l.dispatch,u=l.commit;this.dispatch=function(h,y){return a.call(i,h,y)},this.commit=function(h,y,m){return u.call(i,h,y,m)},this.strict=s;var c=this._modules.root.state;Ar(this,c,[],this._modules.root),to(this,c),r.forEach(function(f){return f(n)})},ro={state:{configurable:!0}};Te.prototype.install=function(t,n){t.provide(n||nh,this),t.config.globalProperties.$store=this;var r=this._devtools!==void 0?this._devtools:!1;r&&dh(t,this)};ro.state.get=function(){return this._state.data};ro.state.set=function(e){};Te.prototype.commit=function(t,n,r){var s=this,o=hr(t,n,r),i=o.type,l=o.payload,a={type:i,payload:l},u=this._mutations[i];u&&(this._withCommit(function(){u.forEach(function(f){f(l)})}),this._subscribers.slice().forEach(function(c){return c(a,s.state)}))};Te.prototype.dispatch=function(t,n){var r=this,s=hr(t,n),o=s.type,i=s.payload,l={type:o,payload:i},a=this._actions[o];if(a){try{this._actionSubscribers.slice().filter(function(c){return c.before}).forEach(function(c){return c.before(l,r.state)})}catch{}var u=a.length>1?Promise.all(a.map(function(c){return c(i)})):a[0](i);return new Promise(function(c,f){u.then(function(h){try{r._actionSubscribers.filter(function(y){return y.after}).forEach(function(y){return y.after(l,r.state)})}catch{}c(h)},function(h){try{r._actionSubscribers.filter(function(y){return y.error}).forEach(function(y){return y.error(l,r.state,h)})}catch{}f(h)})})}};Te.prototype.subscribe=function(t,n){return ma(t,this._subscribers,n)};Te.prototype.subscribeAction=function(t,n){var r=typeof t=="function"?{before:t}:t;return ma(r,this._actionSubscribers,n)};Te.prototype.watch=function(t,n,r){var s=this;return rn(function(){return t(s.state,s.getters)},n,Object.assign({},r))};Te.prototype.replaceState=function(t){var n=this;this._withCommit(function(){n._state.data=t})};Te.prototype.registerModule=function(t,n,r){r===void 0&&(r={}),typeof t=="string"&&(t=[t]),this._modules.register(t,n),Ar(this,this.state,t,this._modules.get(t),r.preserveState),to(this,this.state)};Te.prototype.unregisterModule=function(t){var n=this;typeof t=="string"&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var r=no(n.state,t.slice(0,-1));delete r[t[t.length-1]]}),ga(this)};Te.prototype.hasModule=function(t){return typeof t=="string"&&(t=[t]),this._modules.isRegistered(t)};Te.prototype.hotUpdate=function(t){this._modules.update(t),ga(this,!0)};Te.prototype._withCommit=function(t){var n=this._committing;this._committing=!0,t(),this._committing=n};Object.defineProperties(Te.prototype,ro);const Cr=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},bh={name:"App"};function wh(e,t,n,r,s,o){const i=ls("router-view");return Pe(),Be("div",null,[we(i)])}const jh=Cr(bh,[["render",wh]]),_h={data(){return{show:!1,has_button:!0,message:""}},methods:{hide(){this.show=!1,this.$emit("ok")},showMessage(e){this.message=e,this.has_button=!0,this.show=!0},showBlockingMessage(e){this.message=e,this.has_button=!1,this.show=!0},updateMessage(e){this.message=e,this.show=!0},hideMessage(){this.show=!1}}},Eh={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50 z-50"},Oh={class:"pl-10 pr-10 bg-bg-light dark:bg-bg-dark p-8 rounded-lg shadow-lg"},Sh={class:"container overflow-y-auto"},Ah={class:"text-lg font-medium"},Ch={class:"mt-4 flex justify-center"},Rh={key:1,"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Th=H("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"},null,-1),Mh=H("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"},null,-1),Ph=[Th,Mh];function Lh(e,t,n,r,s,o){return s.show?(Pe(),Be("div",Eh,[H("div",Oh,[H("div",Sh,[H("div",Ah,Qi(s.message),1)]),H("div",Ch,[s.has_button?(Pe(),Be("button",{key:0,onClick:t[0]||(t[0]=(...i)=>o.hide&&o.hide(...i)),class:"bg-primary hover:bg-primary-light active:scale-95 duration-150 text-white px-4 py-2 rounded-lg shadow-lg hover:bg-secondary-dark"}," OK ")):kt("",!0),s.has_button?kt("",!0):(Pe(),Be("svg",Rh,Ph))])])])):kt("",!0)}const Nh=Cr(_h,[["render",Lh]]);var Ih=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function kh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Oa={exports:{}};(function(e,t){(function(r,s){e.exports=s()})(typeof self<"u"?self:Ih,function(){return function(n){var r={};function s(o){if(r[o])return r[o].exports;var i=r[o]={i:o,l:!1,exports:{}};return n[o].call(i.exports,i,i.exports,s),i.l=!0,i.exports}return s.m=n,s.c=r,s.d=function(o,i,l){s.o(o,i)||Object.defineProperty(o,i,{configurable:!1,enumerable:!0,get:l})},s.r=function(o){Object.defineProperty(o,"__esModule",{value:!0})},s.n=function(o){var i=o&&o.__esModule?function(){return o.default}:function(){return o};return s.d(i,"a",i),i},s.o=function(o,i){return Object.prototype.hasOwnProperty.call(o,i)},s.p="",s(s.s=0)}({"./dist/icons.json":function(n){n.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',table:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},"./node_modules/classnames/dedupe.js":function(n,r,s){var o,i;/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/(function(){var l=function(){function a(){}a.prototype=Object.create(null);function u(v,b){for(var _=b.length,T=0;T<_;++T)g(v,b[T])}var c={}.hasOwnProperty;function f(v,b){v[b]=!0}function h(v,b){for(var _ in b)c.call(b,_)&&(v[_]=!!b[_])}var y=/\s+/;function m(v,b){for(var _=b.split(y),T=_.length,P=0;P1?arguments[1]:void 0,b=v!==void 0,_=0,T=f(m),P,U,K,B;if(b&&(v=o(v,w>2?arguments[2]:void 0,2)),T!=null&&!(g==Array&&a(T)))for(B=T.call(m),U=new g;!(K=B.next()).done;_++)c(U,_,b?l(B,v,[K.value,_],!0):K.value);else for(P=u(m.length),U=new g(P);P>_;_++)c(U,_,b?v(m[_],_):m[_]);return U.length=_,U}},"./node_modules/core-js/internals/array-includes.js":function(n,r,s){var o=s("./node_modules/core-js/internals/to-indexed-object.js"),i=s("./node_modules/core-js/internals/to-length.js"),l=s("./node_modules/core-js/internals/to-absolute-index.js");n.exports=function(a){return function(u,c,f){var h=o(u),y=i(h.length),m=l(f,y),g;if(a&&c!=c){for(;y>m;)if(g=h[m++],g!=g)return!0}else for(;y>m;m++)if((a||m in h)&&h[m]===c)return a||m||0;return!a&&-1}}},"./node_modules/core-js/internals/bind-context.js":function(n,r,s){var o=s("./node_modules/core-js/internals/a-function.js");n.exports=function(i,l,a){if(o(i),l===void 0)return i;switch(a){case 0:return function(){return i.call(l)};case 1:return function(u){return i.call(l,u)};case 2:return function(u,c){return i.call(l,u,c)};case 3:return function(u,c,f){return i.call(l,u,c,f)}}return function(){return i.apply(l,arguments)}}},"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(n,r,s){var o=s("./node_modules/core-js/internals/an-object.js");n.exports=function(i,l,a,u){try{return u?l(o(a)[0],a[1]):l(a)}catch(f){var c=i.return;throw c!==void 0&&o(c.call(i)),f}}},"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(n,r,s){var o=s("./node_modules/core-js/internals/well-known-symbol.js"),i=o("iterator"),l=!1;try{var a=0,u={next:function(){return{done:!!a++}},return:function(){l=!0}};u[i]=function(){return this},Array.from(u,function(){throw 2})}catch{}n.exports=function(c,f){if(!f&&!l)return!1;var h=!1;try{var y={};y[i]=function(){return{next:function(){return{done:h=!0}}}},c(y)}catch{}return h}},"./node_modules/core-js/internals/classof-raw.js":function(n,r){var s={}.toString;n.exports=function(o){return s.call(o).slice(8,-1)}},"./node_modules/core-js/internals/classof.js":function(n,r,s){var o=s("./node_modules/core-js/internals/classof-raw.js"),i=s("./node_modules/core-js/internals/well-known-symbol.js"),l=i("toStringTag"),a=o(function(){return arguments}())=="Arguments",u=function(c,f){try{return c[f]}catch{}};n.exports=function(c){var f,h,y;return c===void 0?"Undefined":c===null?"Null":typeof(h=u(f=Object(c),l))=="string"?h:a?o(f):(y=o(f))=="Object"&&typeof f.callee=="function"?"Arguments":y}},"./node_modules/core-js/internals/copy-constructor-properties.js":function(n,r,s){var o=s("./node_modules/core-js/internals/has.js"),i=s("./node_modules/core-js/internals/own-keys.js"),l=s("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),a=s("./node_modules/core-js/internals/object-define-property.js");n.exports=function(u,c){for(var f=i(c),h=a.f,y=l.f,m=0;m",P="java"+_+":",U;for(w.style.display="none",u.appendChild(w),w.src=String(P),U=w.contentWindow.document,U.open(),U.write(b+_+T+"document.F=Object"+b+"/"+_+T),U.close(),g=U.F;v--;)delete g[y][l[v]];return g()};n.exports=Object.create||function(v,b){var _;return v!==null?(m[y]=o(v),_=new m,m[y]=null,_[h]=v):_=g(),b===void 0?_:i(_,b)},a[h]=!0},"./node_modules/core-js/internals/object-define-properties.js":function(n,r,s){var o=s("./node_modules/core-js/internals/descriptors.js"),i=s("./node_modules/core-js/internals/object-define-property.js"),l=s("./node_modules/core-js/internals/an-object.js"),a=s("./node_modules/core-js/internals/object-keys.js");n.exports=o?Object.defineProperties:function(c,f){l(c);for(var h=a(f),y=h.length,m=0,g;y>m;)i.f(c,g=h[m++],f[g]);return c}},"./node_modules/core-js/internals/object-define-property.js":function(n,r,s){var o=s("./node_modules/core-js/internals/descriptors.js"),i=s("./node_modules/core-js/internals/ie8-dom-define.js"),l=s("./node_modules/core-js/internals/an-object.js"),a=s("./node_modules/core-js/internals/to-primitive.js"),u=Object.defineProperty;r.f=o?u:function(f,h,y){if(l(f),h=a(h,!0),l(y),i)try{return u(f,h,y)}catch{}if("get"in y||"set"in y)throw TypeError("Accessors not supported");return"value"in y&&(f[h]=y.value),f}},"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(n,r,s){var o=s("./node_modules/core-js/internals/descriptors.js"),i=s("./node_modules/core-js/internals/object-property-is-enumerable.js"),l=s("./node_modules/core-js/internals/create-property-descriptor.js"),a=s("./node_modules/core-js/internals/to-indexed-object.js"),u=s("./node_modules/core-js/internals/to-primitive.js"),c=s("./node_modules/core-js/internals/has.js"),f=s("./node_modules/core-js/internals/ie8-dom-define.js"),h=Object.getOwnPropertyDescriptor;r.f=o?h:function(m,g){if(m=a(m),g=u(g,!0),f)try{return h(m,g)}catch{}if(c(m,g))return l(!i.f.call(m,g),m[g])}},"./node_modules/core-js/internals/object-get-own-property-names.js":function(n,r,s){var o=s("./node_modules/core-js/internals/object-keys-internal.js"),i=s("./node_modules/core-js/internals/enum-bug-keys.js"),l=i.concat("length","prototype");r.f=Object.getOwnPropertyNames||function(u){return o(u,l)}},"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(n,r){r.f=Object.getOwnPropertySymbols},"./node_modules/core-js/internals/object-get-prototype-of.js":function(n,r,s){var o=s("./node_modules/core-js/internals/has.js"),i=s("./node_modules/core-js/internals/to-object.js"),l=s("./node_modules/core-js/internals/shared-key.js"),a=s("./node_modules/core-js/internals/correct-prototype-getter.js"),u=l("IE_PROTO"),c=Object.prototype;n.exports=a?Object.getPrototypeOf:function(f){return f=i(f),o(f,u)?f[u]:typeof f.constructor=="function"&&f instanceof f.constructor?f.constructor.prototype:f instanceof Object?c:null}},"./node_modules/core-js/internals/object-keys-internal.js":function(n,r,s){var o=s("./node_modules/core-js/internals/has.js"),i=s("./node_modules/core-js/internals/to-indexed-object.js"),l=s("./node_modules/core-js/internals/array-includes.js"),a=s("./node_modules/core-js/internals/hidden-keys.js"),u=l(!1);n.exports=function(c,f){var h=i(c),y=0,m=[],g;for(g in h)!o(a,g)&&o(h,g)&&m.push(g);for(;f.length>y;)o(h,g=f[y++])&&(~u(m,g)||m.push(g));return m}},"./node_modules/core-js/internals/object-keys.js":function(n,r,s){var o=s("./node_modules/core-js/internals/object-keys-internal.js"),i=s("./node_modules/core-js/internals/enum-bug-keys.js");n.exports=Object.keys||function(a){return o(a,i)}},"./node_modules/core-js/internals/object-property-is-enumerable.js":function(n,r,s){var o={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,l=i&&!o.call({1:2},1);r.f=l?function(u){var c=i(this,u);return!!c&&c.enumerable}:o},"./node_modules/core-js/internals/object-set-prototype-of.js":function(n,r,s){var o=s("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");n.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,l={},a;try{a=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,a.call(l,[]),i=l instanceof Array}catch{}return function(c,f){return o(c,f),i?a.call(c,f):c.__proto__=f,c}}():void 0)},"./node_modules/core-js/internals/own-keys.js":function(n,r,s){var o=s("./node_modules/core-js/internals/global.js"),i=s("./node_modules/core-js/internals/object-get-own-property-names.js"),l=s("./node_modules/core-js/internals/object-get-own-property-symbols.js"),a=s("./node_modules/core-js/internals/an-object.js"),u=o.Reflect;n.exports=u&&u.ownKeys||function(f){var h=i.f(a(f)),y=l.f;return y?h.concat(y(f)):h}},"./node_modules/core-js/internals/path.js":function(n,r,s){n.exports=s("./node_modules/core-js/internals/global.js")},"./node_modules/core-js/internals/redefine.js":function(n,r,s){var o=s("./node_modules/core-js/internals/global.js"),i=s("./node_modules/core-js/internals/shared.js"),l=s("./node_modules/core-js/internals/hide.js"),a=s("./node_modules/core-js/internals/has.js"),u=s("./node_modules/core-js/internals/set-global.js"),c=s("./node_modules/core-js/internals/function-to-string.js"),f=s("./node_modules/core-js/internals/internal-state.js"),h=f.get,y=f.enforce,m=String(c).split("toString");i("inspectSource",function(g){return c.call(g)}),(n.exports=function(g,w,v,b){var _=b?!!b.unsafe:!1,T=b?!!b.enumerable:!1,P=b?!!b.noTargetGet:!1;if(typeof v=="function"&&(typeof w=="string"&&!a(v,"name")&&l(v,"name",w),y(v).source=m.join(typeof w=="string"?w:"")),g===o){T?g[w]=v:u(w,v);return}else _?!P&&g[w]&&(T=!0):delete g[w];T?g[w]=v:l(g,w,v)})(Function.prototype,"toString",function(){return typeof this=="function"&&h(this).source||c.call(this)})},"./node_modules/core-js/internals/require-object-coercible.js":function(n,r){n.exports=function(s){if(s==null)throw TypeError("Can't call method on "+s);return s}},"./node_modules/core-js/internals/set-global.js":function(n,r,s){var o=s("./node_modules/core-js/internals/global.js"),i=s("./node_modules/core-js/internals/hide.js");n.exports=function(l,a){try{i(o,l,a)}catch{o[l]=a}return a}},"./node_modules/core-js/internals/set-to-string-tag.js":function(n,r,s){var o=s("./node_modules/core-js/internals/object-define-property.js").f,i=s("./node_modules/core-js/internals/has.js"),l=s("./node_modules/core-js/internals/well-known-symbol.js"),a=l("toStringTag");n.exports=function(u,c,f){u&&!i(u=f?u:u.prototype,a)&&o(u,a,{configurable:!0,value:c})}},"./node_modules/core-js/internals/shared-key.js":function(n,r,s){var o=s("./node_modules/core-js/internals/shared.js"),i=s("./node_modules/core-js/internals/uid.js"),l=o("keys");n.exports=function(a){return l[a]||(l[a]=i(a))}},"./node_modules/core-js/internals/shared.js":function(n,r,s){var o=s("./node_modules/core-js/internals/global.js"),i=s("./node_modules/core-js/internals/set-global.js"),l=s("./node_modules/core-js/internals/is-pure.js"),a="__core-js_shared__",u=o[a]||i(a,{});(n.exports=function(c,f){return u[c]||(u[c]=f!==void 0?f:{})})("versions",[]).push({version:"3.1.3",mode:l?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},"./node_modules/core-js/internals/string-at.js":function(n,r,s){var o=s("./node_modules/core-js/internals/to-integer.js"),i=s("./node_modules/core-js/internals/require-object-coercible.js");n.exports=function(l,a,u){var c=String(i(l)),f=o(a),h=c.length,y,m;return f<0||f>=h?u?"":void 0:(y=c.charCodeAt(f),y<55296||y>56319||f+1===h||(m=c.charCodeAt(f+1))<56320||m>57343?u?c.charAt(f):y:u?c.slice(f,f+2):(y-55296<<10)+(m-56320)+65536)}},"./node_modules/core-js/internals/to-absolute-index.js":function(n,r,s){var o=s("./node_modules/core-js/internals/to-integer.js"),i=Math.max,l=Math.min;n.exports=function(a,u){var c=o(a);return c<0?i(c+u,0):l(c,u)}},"./node_modules/core-js/internals/to-indexed-object.js":function(n,r,s){var o=s("./node_modules/core-js/internals/indexed-object.js"),i=s("./node_modules/core-js/internals/require-object-coercible.js");n.exports=function(l){return o(i(l))}},"./node_modules/core-js/internals/to-integer.js":function(n,r){var s=Math.ceil,o=Math.floor;n.exports=function(i){return isNaN(i=+i)?0:(i>0?o:s)(i)}},"./node_modules/core-js/internals/to-length.js":function(n,r,s){var o=s("./node_modules/core-js/internals/to-integer.js"),i=Math.min;n.exports=function(l){return l>0?i(o(l),9007199254740991):0}},"./node_modules/core-js/internals/to-object.js":function(n,r,s){var o=s("./node_modules/core-js/internals/require-object-coercible.js");n.exports=function(i){return Object(o(i))}},"./node_modules/core-js/internals/to-primitive.js":function(n,r,s){var o=s("./node_modules/core-js/internals/is-object.js");n.exports=function(i,l){if(!o(i))return i;var a,u;if(l&&typeof(a=i.toString)=="function"&&!o(u=a.call(i))||typeof(a=i.valueOf)=="function"&&!o(u=a.call(i))||!l&&typeof(a=i.toString)=="function"&&!o(u=a.call(i)))return u;throw TypeError("Can't convert object to primitive value")}},"./node_modules/core-js/internals/uid.js":function(n,r){var s=0,o=Math.random();n.exports=function(i){return"Symbol(".concat(i===void 0?"":i,")_",(++s+o).toString(36))}},"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(n,r,s){var o=s("./node_modules/core-js/internals/is-object.js"),i=s("./node_modules/core-js/internals/an-object.js");n.exports=function(l,a){if(i(l),!o(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype")}},"./node_modules/core-js/internals/well-known-symbol.js":function(n,r,s){var o=s("./node_modules/core-js/internals/global.js"),i=s("./node_modules/core-js/internals/shared.js"),l=s("./node_modules/core-js/internals/uid.js"),a=s("./node_modules/core-js/internals/native-symbol.js"),u=o.Symbol,c=i("wks");n.exports=function(f){return c[f]||(c[f]=a&&u[f]||(a?u:l)("Symbol."+f))}},"./node_modules/core-js/modules/es.array.from.js":function(n,r,s){var o=s("./node_modules/core-js/internals/export.js"),i=s("./node_modules/core-js/internals/array-from.js"),l=s("./node_modules/core-js/internals/check-correctness-of-iteration.js"),a=!l(function(u){Array.from(u)});o({target:"Array",stat:!0,forced:a},{from:i})},"./node_modules/core-js/modules/es.string.iterator.js":function(n,r,s){var o=s("./node_modules/core-js/internals/string-at.js"),i=s("./node_modules/core-js/internals/internal-state.js"),l=s("./node_modules/core-js/internals/define-iterator.js"),a="String Iterator",u=i.set,c=i.getterFor(a);l(String,"String",function(f){u(this,{type:a,string:String(f),index:0})},function(){var h=c(this),y=h.string,m=h.index,g;return m>=y.length?{value:void 0,done:!0}:(g=o(y,m,!0),h.index+=g.length,{value:g,done:!1})})},"./node_modules/webpack/buildin/global.js":function(n,r){var s;s=function(){return this}();try{s=s||Function("return this")()||(0,eval)("this")}catch{typeof window=="object"&&(s=window)}n.exports=s},"./src/default-attrs.json":function(n){n.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},"./src/icon.js":function(n,r,s){Object.defineProperty(r,"__esModule",{value:!0});var o=Object.assign||function(g){for(var w=1;w2&&arguments[2]!==void 0?arguments[2]:[];h(this,g),this.name=w,this.contents=v,this.tags=b,this.attrs=o({},c.default,{class:"feather feather-"+w})}return i(g,[{key:"toSvg",value:function(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},b=o({},this.attrs,v,{class:(0,a.default)(this.attrs.class,v.class)});return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),g}();function m(g){return Object.keys(g).map(function(w){return w+'="'+g[w]+'"'}).join(" ")}r.default=y},"./src/icons.js":function(n,r,s){Object.defineProperty(r,"__esModule",{value:!0});var o=s("./src/icon.js"),i=f(o),l=s("./dist/icons.json"),a=f(l),u=s("./src/tags.json"),c=f(u);function f(h){return h&&h.__esModule?h:{default:h}}r.default=Object.keys(a.default).map(function(h){return new i.default(h,a.default[h],c.default[h])}).reduce(function(h,y){return h[y.name]=y,h},{})},"./src/index.js":function(n,r,s){var o=s("./src/icons.js"),i=f(o),l=s("./src/to-svg.js"),a=f(l),u=s("./src/replace.js"),c=f(u);function f(h){return h&&h.__esModule?h:{default:h}}n.exports={icons:i.default,toSvg:a.default,replace:c.default}},"./src/replace.js":function(n,r,s){Object.defineProperty(r,"__esModule",{value:!0});var o=Object.assign||function(m){for(var g=1;g0&&arguments[0]!==void 0?arguments[0]:{};if(typeof document>"u")throw new Error("`feather.replace()` only works in a browser environment.");var g=document.querySelectorAll("[data-feather]");Array.from(g).forEach(function(w){return h(w,m)})}function h(m){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=y(m),v=w["data-feather"];delete w["data-feather"];var b=u.default[v].toSvg(o({},g,w,{class:(0,l.default)(g.class,w.class)})),_=new DOMParser().parseFromString(b,"image/svg+xml"),T=_.querySelector("svg");m.parentNode.replaceChild(T,m)}function y(m){return Array.from(m.attributes).reduce(function(g,w){return g[w.name]=w.value,g},{})}r.default=f},"./src/tags.json":function(n){n.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],"chevron-down":["expand"],"chevron-up":["collapse"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-buoy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},"./src/to-svg.js":function(n,r,s){Object.defineProperty(r,"__esModule",{value:!0});var o=s("./src/icons.js"),i=l(o);function l(u){return u&&u.__esModule?u:{default:u}}function a(u){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!u)throw new Error("The required `key` (icon name) parameter is missing.");if(!i.default[u])throw new Error("No icon matching '"+u+"'. See the complete list of icons at https://feathericons.com");return i.default[u].toSvg(c)}r.default=a},0:function(n,r,s){s("./node_modules/core-js/es/array/from.js"),n.exports=s("./src/index.js")}})})})(Oa);var Bh=Oa.exports;const ji=kh(Bh),Fh={name:"Toast",props:{},data(){return{show:!1,log_type:1,message:"",toastArr:[]}},methods:{close(e){this.toastArr=this.toastArr.filter(t=>t.id!=e)},copyToClipBoard(e){navigator.clipboard.writeText(e),ir(()=>{ji.replace()})},showToast(e,t=3,n=!0){const r=parseInt((new Date().getTime()*Math.random()).toString()).toString(),s={id:r,log_type:n,message:e,show:!0};this.toastArr.push(s),ir(()=>{ji.replace()}),setTimeout(()=>{this.toastArr=this.toastArr.filter(o=>o.id!=r)},t*1e3)}},watch:{}},$e=e=>(tu("data-v-46f379e5"),e=e(),nu(),e),Dh={class:"absolute bottom-16 right-2 z-20 flex flex-col gap-3 min-w-[300px]"},Hh={class:"flex flex-row items-center w-full p-4 mb-4 text-gray-500 bg-white rounded-lg shadow dark:text-gray-400 dark:bg-gray-800",role:"alert"},Vh={class:"flex flex-row flex-grow items-center h-auto"},Uh={key:0,class:"inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-red-500 bg-red-100 rounded-lg dark:bg-red-800 dark:text-red-200"},$h=$e(()=>H("i",{"data-feather":"x"},null,-1)),zh=$e(()=>H("span",{class:"sr-only"},"Cross icon",-1)),Kh=[$h,zh],Gh={key:1,class:"inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-green-500 bg-green-100 rounded-lg dark:bg-green-800 dark:text-green-200"},Wh=$e(()=>H("i",{"data-feather":"check"},null,-1)),qh=$e(()=>H("span",{class:"sr-only"},"Check icon",-1)),Jh=[Wh,qh],Yh={key:2,class:"inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-blue-500 bg-blue-100 rounded-lg dark:bg-blue-800 dark:text-blue-200"},Qh=$e(()=>H("i",{"data-feather":"info"},null,-1)),Xh=$e(()=>H("span",{class:"sr-only"},null,-1)),Zh=[Qh,Xh],ed={key:3,class:"inline-flex items-center justify-center flex-shrink-0 w-8 h-8 text-orange-500 bg-orange-100 rounded-lg dark:bg-orange-800 dark:text-orange-200"},td=$e(()=>H("i",{"data-feather":"alert-triangle"},null,-1)),nd=$e(()=>H("span",{class:"sr-only"},null,-1)),rd=[td,nd],sd=["title"],od={class:"flex"},id=["onClick"],ld=$e(()=>H("span",{class:"sr-only"},"Copy message",-1)),ad=$e(()=>H("i",{"data-feather":"clipboard",class:"w-5 h-5"},null,-1)),cd=[ld,ad],ud=["onClick"],fd=$e(()=>H("span",{class:"sr-only"},"Close",-1)),hd=$e(()=>H("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[H("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)),dd=[fd,hd];function pd(e,t,n,r,s,o){return Pe(),Be("div",Dh,[we(Mf,{name:"toastItem",tag:"div"},{default:El(()=>[(Pe(!0),Be(Le,null,Su(s.toastArr,i=>(Pe(),Be("div",{key:i.id,class:"relative"},[H("div",Hh,[H("div",Vh,[i.log_type==0?(Pe(),Be("div",Uh,Kh)):kt("",!0),i.log_type==1?(Pe(),Be("div",Gh,Jh)):kt("",!0),i.log_type==2?(Pe(),Be("div",Yh,Zh)):kt("",!0),i.log_type==3?(Pe(),Be("div",ed,rd)):kt("",!0),H("div",{class:"ml-3 text-sm font-normal whitespace-pre-wrap line-clamp-3 max-w-xs max-h-[400px] overflow-auto break-words",title:i.message},Qi(i.message),9,sd)]),H("div",od,[H("button",{type:"button",onClick:Df(l=>o.copyToClipBoard(i.message),["stop"]),title:"Copy message",class:"bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700"},cd,8,id),H("button",{type:"button",onClick:l=>o.close(i.id),title:"Close",class:"bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700"},dd,8,ud)])])]))),128))]),_:1})])}const yd=Cr(Fh,[["render",pd],["__scopeId","data-v-46f379e5"]]);function Sa(e,t){return function(){return e.apply(t,arguments)}}const{toString:md}=Object.prototype,{getPrototypeOf:so}=Object,Rr=(e=>t=>{const n=md.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),lt=e=>(e=e.toLowerCase(),t=>Rr(t)===e),Tr=e=>t=>typeof t===e,{isArray:dn}=Array,Mn=Tr("undefined");function gd(e){return e!==null&&!Mn(e)&&e.constructor!==null&&!Mn(e.constructor)&&Ue(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Aa=lt("ArrayBuffer");function xd(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Aa(e.buffer),t}const vd=Tr("string"),Ue=Tr("function"),Ca=Tr("number"),Mr=e=>e!==null&&typeof e=="object",bd=e=>e===!0||e===!1,Xn=e=>{if(Rr(e)!=="object")return!1;const t=so(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},wd=lt("Date"),jd=lt("File"),_d=lt("Blob"),Ed=lt("FileList"),Od=e=>Mr(e)&&Ue(e.pipe),Sd=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Ue(e.append)&&((t=Rr(e))==="formdata"||t==="object"&&Ue(e.toString)&&e.toString()==="[object FormData]"))},Ad=lt("URLSearchParams"),Cd=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Nn(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,s;if(typeof e!="object"&&(e=[e]),dn(e))for(r=0,s=e.length;r0;)if(s=n[r],t===s.toLowerCase())return s;return null}const Ta=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ma=e=>!Mn(e)&&e!==Ta;function _s(){const{caseless:e}=Ma(this)&&this||{},t={},n=(r,s)=>{const o=e&&Ra(t,s)||s;Xn(t[o])&&Xn(r)?t[o]=_s(t[o],r):Xn(r)?t[o]=_s({},r):dn(r)?t[o]=r.slice():t[o]=r};for(let r=0,s=arguments.length;r(Nn(t,(s,o)=>{n&&Ue(s)?e[o]=Sa(s,n):e[o]=s},{allOwnKeys:r}),e),Td=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Md=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Pd=(e,t,n,r)=>{let s,o,i;const l={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),o=s.length;o-- >0;)i=s[o],(!r||r(i,e,t))&&!l[i]&&(t[i]=e[i],l[i]=!0);e=n!==!1&&so(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},Ld=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Nd=e=>{if(!e)return null;if(dn(e))return e;let t=e.length;if(!Ca(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Id=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&so(Uint8Array)),kd=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let s;for(;(s=r.next())&&!s.done;){const o=s.value;t.call(e,o[0],o[1])}},Bd=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Fd=lt("HTMLFormElement"),Dd=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,s){return r.toUpperCase()+s}),_i=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Hd=lt("RegExp"),Pa=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Nn(n,(s,o)=>{let i;(i=t(s,o,e))!==!1&&(r[o]=i||s)}),Object.defineProperties(e,r)},Vd=e=>{Pa(e,(t,n)=>{if(Ue(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Ue(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},Ud=(e,t)=>{const n={},r=s=>{s.forEach(o=>{n[o]=!0})};return dn(e)?r(e):r(String(e).split(t)),n},$d=()=>{},zd=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Jr="abcdefghijklmnopqrstuvwxyz",Ei="0123456789",La={DIGIT:Ei,ALPHA:Jr,ALPHA_DIGIT:Jr+Jr.toUpperCase()+Ei},Kd=(e=16,t=La.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function Gd(e){return!!(e&&Ue(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Wd=e=>{const t=new Array(10),n=(r,s)=>{if(Mr(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[s]=r;const o=dn(r)?[]:{};return Nn(r,(i,l)=>{const a=n(i,s+1);!Mn(a)&&(o[l]=a)}),t[s]=void 0,o}}return r};return n(e,0)},qd=lt("AsyncFunction"),Jd=e=>e&&(Mr(e)||Ue(e))&&Ue(e.then)&&Ue(e.catch),E={isArray:dn,isArrayBuffer:Aa,isBuffer:gd,isFormData:Sd,isArrayBufferView:xd,isString:vd,isNumber:Ca,isBoolean:bd,isObject:Mr,isPlainObject:Xn,isUndefined:Mn,isDate:wd,isFile:jd,isBlob:_d,isRegExp:Hd,isFunction:Ue,isStream:Od,isURLSearchParams:Ad,isTypedArray:Id,isFileList:Ed,forEach:Nn,merge:_s,extend:Rd,trim:Cd,stripBOM:Td,inherits:Md,toFlatObject:Pd,kindOf:Rr,kindOfTest:lt,endsWith:Ld,toArray:Nd,forEachEntry:kd,matchAll:Bd,isHTMLForm:Fd,hasOwnProperty:_i,hasOwnProp:_i,reduceDescriptors:Pa,freezeMethods:Vd,toObjectSet:Ud,toCamelCase:Dd,noop:$d,toFiniteNumber:zd,findKey:Ra,global:Ta,isContextDefined:Ma,ALPHABET:La,generateString:Kd,isSpecCompliantForm:Gd,toJSONObject:Wd,isAsyncFn:qd,isThenable:Jd};function Z(e,t,n,r,s){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),r&&(this.request=r),s&&(this.response=s)}E.inherits(Z,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:E.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Na=Z.prototype,Ia={};["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(e=>{Ia[e]={value:e}});Object.defineProperties(Z,Ia);Object.defineProperty(Na,"isAxiosError",{value:!0});Z.from=(e,t,n,r,s,o)=>{const i=Object.create(Na);return E.toFlatObject(e,i,function(a){return a!==Error.prototype},l=>l!=="isAxiosError"),Z.call(i,e.message,t,n,r,s),i.cause=e,i.name=e.name,o&&Object.assign(i,o),i};const Yd=null;function Es(e){return E.isPlainObject(e)||E.isArray(e)}function ka(e){return E.endsWith(e,"[]")?e.slice(0,-2):e}function Oi(e,t,n){return e?e.concat(t).map(function(s,o){return s=ka(s),!n&&o?"["+s+"]":s}).join(n?".":""):t}function Qd(e){return E.isArray(e)&&!e.some(Es)}const Xd=E.toFlatObject(E,{},null,function(t){return/^is[A-Z]/.test(t)});function Pr(e,t,n){if(!E.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=E.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,w){return!E.isUndefined(w[g])});const r=n.metaTokens,s=n.visitor||c,o=n.dots,i=n.indexes,a=(n.Blob||typeof Blob<"u"&&Blob)&&E.isSpecCompliantForm(t);if(!E.isFunction(s))throw new TypeError("visitor must be a function");function u(m){if(m===null)return"";if(E.isDate(m))return m.toISOString();if(!a&&E.isBlob(m))throw new Z("Blob is not supported. Use a Buffer instead.");return E.isArrayBuffer(m)||E.isTypedArray(m)?a&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function c(m,g,w){let v=m;if(m&&!w&&typeof m=="object"){if(E.endsWith(g,"{}"))g=r?g:g.slice(0,-2),m=JSON.stringify(m);else if(E.isArray(m)&&Qd(m)||(E.isFileList(m)||E.endsWith(g,"[]"))&&(v=E.toArray(m)))return g=ka(g),v.forEach(function(_,T){!(E.isUndefined(_)||_===null)&&t.append(i===!0?Oi([g],T,o):i===null?g:g+"[]",u(_))}),!1}return Es(m)?!0:(t.append(Oi(w,g,o),u(m)),!1)}const f=[],h=Object.assign(Xd,{defaultVisitor:c,convertValue:u,isVisitable:Es});function y(m,g){if(!E.isUndefined(m)){if(f.indexOf(m)!==-1)throw Error("Circular reference detected in "+g.join("."));f.push(m),E.forEach(m,function(v,b){(!(E.isUndefined(v)||v===null)&&s.call(t,v,E.isString(b)?b.trim():b,g,h))===!0&&y(v,g?g.concat(b):[b])}),f.pop()}}if(!E.isObject(e))throw new TypeError("data must be an object");return y(e),t}function Si(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function oo(e,t){this._pairs=[],e&&Pr(e,this,t)}const Ba=oo.prototype;Ba.append=function(t,n){this._pairs.push([t,n])};Ba.toString=function(t){const n=t?function(r){return t.call(this,r,Si)}:Si;return this._pairs.map(function(s){return n(s[0])+"="+n(s[1])},"").join("&")};function Zd(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Fa(e,t,n){if(!t)return e;const r=n&&n.encode||Zd,s=n&&n.serialize;let o;if(s?o=s(t,n):o=E.isURLSearchParams(t)?t.toString():new oo(t,n).toString(r),o){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+o}return e}class Ai{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){E.forEach(this.handlers,function(r){r!==null&&t(r)})}}const Da={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ep=typeof URLSearchParams<"u"?URLSearchParams:oo,tp=typeof FormData<"u"?FormData:null,np=typeof Blob<"u"?Blob:null,rp={isBrowser:!0,classes:{URLSearchParams:ep,FormData:tp,Blob:np},protocols:["http","https","file","blob","url","data"]},Ha=typeof window<"u"&&typeof document<"u",sp=(e=>Ha&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),op=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",ip=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ha,hasStandardBrowserEnv:sp,hasStandardBrowserWebWorkerEnv:op},Symbol.toStringTag,{value:"Module"})),rt={...ip,...rp};function lp(e,t){return Pr(e,new rt.classes.URLSearchParams,Object.assign({visitor:function(n,r,s,o){return rt.isNode&&E.isBuffer(n)?(this.append(r,n.toString("base64")),!1):o.defaultVisitor.apply(this,arguments)}},t))}function ap(e){return E.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function cp(e){const t={},n=Object.keys(e);let r;const s=n.length;let o;for(r=0;r=n.length;return i=!i&&E.isArray(s)?s.length:i,a?(E.hasOwnProp(s,i)?s[i]=[s[i],r]:s[i]=r,!l):((!s[i]||!E.isObject(s[i]))&&(s[i]=[]),t(n,r,s[i],o)&&E.isArray(s[i])&&(s[i]=cp(s[i])),!l)}if(E.isFormData(e)&&E.isFunction(e.entries)){const n={};return E.forEachEntry(e,(r,s)=>{t(ap(r),s,n,0)}),n}return null}function up(e,t,n){if(E.isString(e))try{return(t||JSON.parse)(e),E.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const io={transitional:Da,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",s=r.indexOf("application/json")>-1,o=E.isObject(t);if(o&&E.isHTMLForm(t)&&(t=new FormData(t)),E.isFormData(t))return s&&s?JSON.stringify(Va(t)):t;if(E.isArrayBuffer(t)||E.isBuffer(t)||E.isStream(t)||E.isFile(t)||E.isBlob(t))return t;if(E.isArrayBufferView(t))return t.buffer;if(E.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let l;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return lp(t,this.formSerializer).toString();if((l=E.isFileList(t))||r.indexOf("multipart/form-data")>-1){const a=this.env&&this.env.FormData;return Pr(l?{"files[]":t}:t,a&&new a,this.formSerializer)}}return o||s?(n.setContentType("application/json",!1),up(t)):t}],transformResponse:[function(t){const n=this.transitional||io.transitional,r=n&&n.forcedJSONParsing,s=this.responseType==="json";if(t&&E.isString(t)&&(r&&!this.responseType||s)){const i=!(n&&n.silentJSONParsing)&&s;try{return JSON.parse(t)}catch(l){if(i)throw l.name==="SyntaxError"?Z.from(l,Z.ERR_BAD_RESPONSE,this,null,this.response):l}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:rt.classes.FormData,Blob:rt.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};E.forEach(["delete","get","head","post","put","patch"],e=>{io.headers[e]={}});const lo=io,fp=E.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"]),hp=e=>{const t={};let n,r,s;return e&&e.split(` -`).forEach(function(i){s=i.indexOf(":"),n=i.substring(0,s).trim().toLowerCase(),r=i.substring(s+1).trim(),!(!n||t[n]&&fp[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Ci=Symbol("internals");function xn(e){return e&&String(e).trim().toLowerCase()}function Zn(e){return e===!1||e==null?e:E.isArray(e)?e.map(Zn):String(e)}function dp(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const pp=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Yr(e,t,n,r,s){if(E.isFunction(r))return r.call(this,t,n);if(s&&(t=n),!!E.isString(t)){if(E.isString(r))return t.indexOf(r)!==-1;if(E.isRegExp(r))return r.test(t)}}function yp(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function mp(e,t){const n=E.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(s,o,i){return this[r].call(this,t,s,o,i)},configurable:!0})})}class Lr{constructor(t){t&&this.set(t)}set(t,n,r){const s=this;function o(l,a,u){const c=xn(a);if(!c)throw new Error("header name must be a non-empty string");const f=E.findKey(s,c);(!f||s[f]===void 0||u===!0||u===void 0&&s[f]!==!1)&&(s[f||a]=Zn(l))}const i=(l,a)=>E.forEach(l,(u,c)=>o(u,c,a));return E.isPlainObject(t)||t instanceof this.constructor?i(t,n):E.isString(t)&&(t=t.trim())&&!pp(t)?i(hp(t),n):t!=null&&o(n,t,r),this}get(t,n){if(t=xn(t),t){const r=E.findKey(this,t);if(r){const s=this[r];if(!n)return s;if(n===!0)return dp(s);if(E.isFunction(n))return n.call(this,s,r);if(E.isRegExp(n))return n.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=xn(t),t){const r=E.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Yr(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let s=!1;function o(i){if(i=xn(i),i){const l=E.findKey(r,i);l&&(!n||Yr(r,r[l],l,n))&&(delete r[l],s=!0)}}return E.isArray(t)?t.forEach(o):o(t),s}clear(t){const n=Object.keys(this);let r=n.length,s=!1;for(;r--;){const o=n[r];(!t||Yr(this,this[o],o,t,!0))&&(delete this[o],s=!0)}return s}normalize(t){const n=this,r={};return E.forEach(this,(s,o)=>{const i=E.findKey(r,o);if(i){n[i]=Zn(s),delete n[o];return}const l=t?yp(o):String(o).trim();l!==o&&delete n[o],n[l]=Zn(s),r[l]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return E.forEach(this,(r,s)=>{r!=null&&r!==!1&&(n[s]=t&&E.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(s=>r.set(s)),r}static accessor(t){const r=(this[Ci]=this[Ci]={accessors:{}}).accessors,s=this.prototype;function o(i){const l=xn(i);r[l]||(mp(s,i),r[l]=!0)}return E.isArray(t)?t.forEach(o):o(t),this}}Lr.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);E.reduceDescriptors(Lr.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});E.freezeMethods(Lr);const pt=Lr;function Qr(e,t){const n=this||lo,r=t||n,s=pt.from(r.headers);let o=r.data;return E.forEach(e,function(l){o=l.call(n,o,s.normalize(),t?t.status:void 0)}),s.normalize(),o}function Ua(e){return!!(e&&e.__CANCEL__)}function In(e,t,n){Z.call(this,e??"canceled",Z.ERR_CANCELED,t,n),this.name="CanceledError"}E.inherits(In,Z,{__CANCEL__:!0});function gp(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Z("Request failed with status code "+n.status,[Z.ERR_BAD_REQUEST,Z.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const xp=rt.hasStandardBrowserEnv?{write(e,t,n,r,s,o){const i=[e+"="+encodeURIComponent(t)];E.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),E.isString(r)&&i.push("path="+r),E.isString(s)&&i.push("domain="+s),o===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function vp(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function bp(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function $a(e,t){return e&&!vp(t)?bp(e,t):t}const wp=rt.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function s(o){let i=o;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=s(window.location.href),function(i){const l=E.isString(i)?s(i):i;return l.protocol===r.protocol&&l.host===r.host}}():function(){return function(){return!0}}();function jp(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function _p(e,t){e=e||10;const n=new Array(e),r=new Array(e);let s=0,o=0,i;return t=t!==void 0?t:1e3,function(a){const u=Date.now(),c=r[o];i||(i=u),n[s]=a,r[s]=u;let f=o,h=0;for(;f!==s;)h+=n[f++],f=f%e;if(s=(s+1)%e,s===o&&(o=(o+1)%e),u-i{const o=s.loaded,i=s.lengthComputable?s.total:void 0,l=o-n,a=r(l),u=o<=i;n=o;const c={loaded:o,total:i,progress:i?o/i:void 0,bytes:l,rate:a||void 0,estimated:a&&i&&u?(i-o)/a:void 0,event:s};c[t?"download":"upload"]=!0,e(c)}}const Ep=typeof XMLHttpRequest<"u",Op=Ep&&function(e){return new Promise(function(n,r){let s=e.data;const o=pt.from(e.headers).normalize();let{responseType:i,withXSRFToken:l}=e,a;function u(){e.cancelToken&&e.cancelToken.unsubscribe(a),e.signal&&e.signal.removeEventListener("abort",a)}let c;if(E.isFormData(s)){if(rt.hasStandardBrowserEnv||rt.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if((c=o.getContentType())!==!1){const[g,...w]=c?c.split(";").map(v=>v.trim()).filter(Boolean):[];o.setContentType([g||"multipart/form-data",...w].join("; "))}}let f=new XMLHttpRequest;if(e.auth){const g=e.auth.username||"",w=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(g+":"+w))}const h=$a(e.baseURL,e.url);f.open(e.method.toUpperCase(),Fa(h,e.params,e.paramsSerializer),!0),f.timeout=e.timeout;function y(){if(!f)return;const g=pt.from("getAllResponseHeaders"in f&&f.getAllResponseHeaders()),v={data:!i||i==="text"||i==="json"?f.responseText:f.response,status:f.status,statusText:f.statusText,headers:g,config:e,request:f};gp(function(_){n(_),u()},function(_){r(_),u()},v),f=null}if("onloadend"in f?f.onloadend=y:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(y)},f.onabort=function(){f&&(r(new Z("Request aborted",Z.ECONNABORTED,e,f)),f=null)},f.onerror=function(){r(new Z("Network Error",Z.ERR_NETWORK,e,f)),f=null},f.ontimeout=function(){let w=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const v=e.transitional||Da;e.timeoutErrorMessage&&(w=e.timeoutErrorMessage),r(new Z(w,v.clarifyTimeoutError?Z.ETIMEDOUT:Z.ECONNABORTED,e,f)),f=null},rt.hasStandardBrowserEnv&&(l&&E.isFunction(l)&&(l=l(e)),l||l!==!1&&wp(h))){const g=e.xsrfHeaderName&&e.xsrfCookieName&&xp.read(e.xsrfCookieName);g&&o.set(e.xsrfHeaderName,g)}s===void 0&&o.setContentType(null),"setRequestHeader"in f&&E.forEach(o.toJSON(),function(w,v){f.setRequestHeader(v,w)}),E.isUndefined(e.withCredentials)||(f.withCredentials=!!e.withCredentials),i&&i!=="json"&&(f.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&f.addEventListener("progress",Ri(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",Ri(e.onUploadProgress)),(e.cancelToken||e.signal)&&(a=g=>{f&&(r(!g||g.type?new In(null,e,f):g),f.abort(),f=null)},e.cancelToken&&e.cancelToken.subscribe(a),e.signal&&(e.signal.aborted?a():e.signal.addEventListener("abort",a)));const m=jp(h);if(m&&rt.protocols.indexOf(m)===-1){r(new Z("Unsupported protocol "+m+":",Z.ERR_BAD_REQUEST,e));return}f.send(s||null)})},Os={http:Yd,xhr:Op};E.forEach(Os,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ti=e=>`- ${e}`,Sp=e=>E.isFunction(e)||e===null||e===!1,za={getAdapter:e=>{e=E.isArray(e)?e:[e];const{length:t}=e;let n,r;const s={};for(let o=0;o`adapter ${l} `+(a===!1?"is not supported by the environment":"is not available in the build"));let i=t?o.length>1?`since : -`+o.map(Ti).join(` -`):" "+Ti(o[0]):"as no adapter specified";throw new Z("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return r},adapters:Os};function Xr(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new In(null,e)}function Mi(e){return Xr(e),e.headers=pt.from(e.headers),e.data=Qr.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),za.getAdapter(e.adapter||lo.adapter)(e).then(function(r){return Xr(e),r.data=Qr.call(e,e.transformResponse,r),r.headers=pt.from(r.headers),r},function(r){return Ua(r)||(Xr(e),r&&r.response&&(r.response.data=Qr.call(e,e.transformResponse,r.response),r.response.headers=pt.from(r.response.headers))),Promise.reject(r)})}const Pi=e=>e instanceof pt?e.toJSON():e;function un(e,t){t=t||{};const n={};function r(u,c,f){return E.isPlainObject(u)&&E.isPlainObject(c)?E.merge.call({caseless:f},u,c):E.isPlainObject(c)?E.merge({},c):E.isArray(c)?c.slice():c}function s(u,c,f){if(E.isUndefined(c)){if(!E.isUndefined(u))return r(void 0,u,f)}else return r(u,c,f)}function o(u,c){if(!E.isUndefined(c))return r(void 0,c)}function i(u,c){if(E.isUndefined(c)){if(!E.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function l(u,c,f){if(f in t)return r(u,c);if(f in e)return r(void 0,u)}const a={url:o,method:o,data:o,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:l,headers:(u,c)=>s(Pi(u),Pi(c),!0)};return E.forEach(Object.keys(Object.assign({},e,t)),function(c){const f=a[c]||s,h=f(e[c],t[c],c);E.isUndefined(h)&&f!==l||(n[c]=h)}),n}const Ka="1.6.3",ao={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{ao[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Li={};ao.transitional=function(t,n,r){function s(o,i){return"[Axios v"+Ka+"] Transitional option '"+o+"'"+i+(r?". "+r:"")}return(o,i,l)=>{if(t===!1)throw new Z(s(i," has been removed"+(n?" in "+n:"")),Z.ERR_DEPRECATED);return n&&!Li[i]&&(Li[i]=!0,console.warn(s(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(o,i,l):!0}};function Ap(e,t,n){if(typeof e!="object")throw new Z("options must be an object",Z.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let s=r.length;for(;s-- >0;){const o=r[s],i=t[o];if(i){const l=e[o],a=l===void 0||i(l,o,e);if(a!==!0)throw new Z("option "+o+" must be "+a,Z.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Z("Unknown option "+o,Z.ERR_BAD_OPTION)}}const Ss={assertOptions:Ap,validators:ao},wt=Ss.validators;class dr{constructor(t){this.defaults=t,this.interceptors={request:new Ai,response:new Ai}}request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=un(this.defaults,n);const{transitional:r,paramsSerializer:s,headers:o}=n;r!==void 0&&Ss.assertOptions(r,{silentJSONParsing:wt.transitional(wt.boolean),forcedJSONParsing:wt.transitional(wt.boolean),clarifyTimeoutError:wt.transitional(wt.boolean)},!1),s!=null&&(E.isFunction(s)?n.paramsSerializer={serialize:s}:Ss.assertOptions(s,{encode:wt.function,serialize:wt.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=o&&E.merge(o.common,o[n.method]);o&&E.forEach(["delete","get","head","post","put","patch","common"],m=>{delete o[m]}),n.headers=pt.concat(i,o);const l=[];let a=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(a=a&&g.synchronous,l.unshift(g.fulfilled,g.rejected))});const u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected)});let c,f=0,h;if(!a){const m=[Mi.bind(this),void 0];for(m.unshift.apply(m,l),m.push.apply(m,u),h=m.length,c=Promise.resolve(n);f{if(!r._listeners)return;let o=r._listeners.length;for(;o-- >0;)r._listeners[o](s);r._listeners=null}),this.promise.then=s=>{let o;const i=new Promise(l=>{r.subscribe(l),o=l}).then(s);return i.cancel=function(){r.unsubscribe(o)},i},t(function(o,i,l){r.reason||(r.reason=new In(o,i,l),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new co(function(s){t=s}),cancel:t}}}const Cp=co;function Rp(e){return function(n){return e.apply(null,n)}}function Tp(e){return E.isObject(e)&&e.isAxiosError===!0}const As={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(As).forEach(([e,t])=>{As[t]=e});const Mp=As;function Ga(e){const t=new er(e),n=Sa(er.prototype.request,t);return E.extend(n,er.prototype,t,{allOwnKeys:!0}),E.extend(n,t,null,{allOwnKeys:!0}),n.create=function(s){return Ga(un(e,s))},n}const he=Ga(lo);he.Axios=er;he.CanceledError=In;he.CancelToken=Cp;he.isCancel=Ua;he.VERSION=Ka;he.toFormData=Pr;he.AxiosError=Z;he.Cancel=he.CanceledError;he.all=function(t){return Promise.all(t)};he.spread=Rp;he.isAxiosError=Tp;he.mergeConfig=un;he.AxiosHeaders=pt;he.formToJSON=e=>Va(E.isHTMLForm(e)?new FormData(e):e);he.getAdapter=za.getAdapter;he.HttpStatusCode=Mp;he.default=he;const Pp="/assets/logo-VYB8PrVU.png",it=Object.create(null);it.open="0";it.close="1";it.ping="2";it.pong="3";it.message="4";it.upgrade="5";it.noop="6";const tr=Object.create(null);Object.keys(it).forEach(e=>{tr[it[e]]=e});const Cs={type:"error",data:"parser error"},Wa=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",qa=typeof ArrayBuffer=="function",Ja=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,uo=({type:e,data:t},n,r)=>Wa&&t instanceof Blob?n?r(t):Ni(t,r):qa&&(t instanceof ArrayBuffer||Ja(t))?n?r(t):Ni(new Blob([t]),r):r(it[e]+(t||"")),Ni=(e,t)=>{const n=new FileReader;return n.onload=function(){const r=n.result.split(",")[1];t("b"+(r||""))},n.readAsDataURL(e)};function Ii(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let Zr;function Lp(e,t){if(Wa&&e.data instanceof Blob)return e.data.arrayBuffer().then(Ii).then(t);if(qa&&(e.data instanceof ArrayBuffer||Ja(e.data)))return t(Ii(e.data));uo(e,!1,n=>{Zr||(Zr=new TextEncoder),t(Zr.encode(n))})}const ki="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wn=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,n=e.length,r,s=0,o,i,l,a;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const u=new ArrayBuffer(t),c=new Uint8Array(u);for(r=0;r>4,c[s++]=(i&15)<<4|l>>2,c[s++]=(l&3)<<6|a&63;return u},Ip=typeof ArrayBuffer=="function",fo=(e,t)=>{if(typeof e!="string")return{type:"message",data:Ya(e,t)};const n=e.charAt(0);return n==="b"?{type:"message",data:kp(e.substring(1),t)}:tr[n]?e.length>1?{type:tr[n],data:e.substring(1)}:{type:tr[n]}:Cs},kp=(e,t)=>{if(Ip){const n=Np(e);return Ya(n,t)}else return{base64:!0,data:e}},Ya=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Qa="",Bp=(e,t)=>{const n=e.length,r=new Array(n);let s=0;e.forEach((o,i)=>{uo(o,!1,l=>{r[i]=l,++s===n&&t(r.join(Qa))})})},Fp=(e,t)=>{const n=e.split(Qa),r=[];for(let s=0;s{const r=n.length;let s;if(r<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,r);else if(r<65536){s=new Uint8Array(3);const o=new DataView(s.buffer);o.setUint8(0,126),o.setUint16(1,r)}else{s=new Uint8Array(9);const o=new DataView(s.buffer);o.setUint8(0,127),o.setBigUint64(1,BigInt(r))}e.data&&typeof e.data!="string"&&(s[0]|=128),t.enqueue(s),t.enqueue(n)})}})}let es;function $n(e){return e.reduce((t,n)=>t+n.length,0)}function zn(e,t){if(e[0].length===t)return e.shift();const n=new Uint8Array(t);let r=0;for(let s=0;sMath.pow(2,21)-1){l.enqueue(Cs);break}s=c*Math.pow(2,32)+u.getUint32(4),r=3}else{if($n(n)e){l.enqueue(Cs);break}}}})}const Xa=4;function ye(e){if(e)return Vp(e)}function Vp(e){for(var t in ye.prototype)e[t]=ye.prototype[t];return e}ye.prototype.on=ye.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};ye.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this};ye.prototype.off=ye.prototype.removeListener=ye.prototype.removeAllListeners=ye.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var r,s=0;s(e.hasOwnProperty(r)&&(n[r]=e[r]),n),{})}const Up=Fe.setTimeout,$p=Fe.clearTimeout;function Nr(e,t){t.useNativeTimers?(e.setTimeoutFn=Up.bind(Fe),e.clearTimeoutFn=$p.bind(Fe)):(e.setTimeoutFn=Fe.setTimeout.bind(Fe),e.clearTimeoutFn=Fe.clearTimeout.bind(Fe))}const zp=1.33;function Kp(e){return typeof e=="string"?Gp(e):Math.ceil((e.byteLength||e.size)*zp)}function Gp(e){let t=0,n=0;for(let r=0,s=e.length;r=57344?n+=3:(r++,n+=4);return n}function Wp(e){let t="";for(let n in e)e.hasOwnProperty(n)&&(t.length&&(t+="&"),t+=encodeURIComponent(n)+"="+encodeURIComponent(e[n]));return t}function qp(e){let t={},n=e.split("&");for(let r=0,s=n.length;r0);return t}function tc(){const e=Di(+new Date);return e!==Fi?(Bi=0,Fi=e):e+"."+Di(Bi++)}for(;Kn{this.readyState="paused",t()};if(this.polling||!this.writable){let r=0;this.polling&&(r++,this.once("pollComplete",function(){--r||n()})),this.writable||(r++,this.once("drain",function(){--r||n()}))}else n()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const n=r=>{if(this.readyState==="opening"&&r.type==="open"&&this.onOpen(),r.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(r)};Fp(t,this.socket.binaryType).forEach(n),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,Bp(t,n=>{this.doWrite(n,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",n=this.query||{};return this.opts.timestampRequests!==!1&&(n[this.opts.timestampParam]=tc()),!this.supportsBinary&&!n.sid&&(n.b64=1),this.createUri(t,n)}request(t={}){return Object.assign(t,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new st(this.uri(),t)}doWrite(t,n){const r=this.request({method:"POST",data:t});r.on("success",n),r.on("error",(s,o)=>{this.onError("xhr post error",s,o)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(n,r)=>{this.onError("xhr poll error",n,r)}),this.pollXhr=t}}class st extends ye{constructor(t,n){super(),Nr(this,n),this.opts=n,this.method=n.method||"GET",this.uri=t,this.data=n.data!==void 0?n.data:null,this.create()}create(){var t;const n=Za(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");n.xdomain=!!this.opts.xd;const r=this.xhr=new rc(n);try{r.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){r.setDisableHeaderCheck&&r.setDisableHeaderCheck(!0);for(let s in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(s)&&r.setRequestHeader(s,this.opts.extraHeaders[s])}}catch{}if(this.method==="POST")try{r.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{r.setRequestHeader("Accept","*/*")}catch{}(t=this.opts.cookieJar)===null||t===void 0||t.addCookies(r),"withCredentials"in r&&(r.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(r.timeout=this.opts.requestTimeout),r.onreadystatechange=()=>{var s;r.readyState===3&&((s=this.opts.cookieJar)===null||s===void 0||s.parseCookies(r)),r.readyState===4&&(r.status===200||r.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof r.status=="number"?r.status:0)},0))},r.send(this.data)}catch(s){this.setTimeoutFn(()=>{this.onError(s)},0);return}typeof document<"u"&&(this.index=st.requestsCount++,st.requests[this.index]=this)}onError(t){this.emitReserved("error",t,this.xhr),this.cleanup(!0)}cleanup(t){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=Xp,t)try{this.xhr.abort()}catch{}typeof document<"u"&&delete st.requests[this.index],this.xhr=null}}onLoad(){const t=this.xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}st.requestsCount=0;st.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Hi);else if(typeof addEventListener=="function"){const e="onpagehide"in Fe?"pagehide":"unload";addEventListener(e,Hi,!1)}}function Hi(){for(let e in st.requests)st.requests.hasOwnProperty(e)&&st.requests[e].abort()}const po=typeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,n)=>n(t,0),Gn=Fe.WebSocket||Fe.MozWebSocket,Vi=!0,t2="arraybuffer",Ui=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class n2 extends ho{constructor(t){super(t),this.supportsBinary=!t.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const t=this.uri(),n=this.opts.protocols,r=Ui?{}:Za(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(r.headers=this.opts.extraHeaders);try{this.ws=Vi&&!Ui?n?new Gn(t,n):new Gn(t):new Gn(t,n,r)}catch(s){return this.emitReserved("error",s)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let n=0;n{const i={};try{Vi&&this.ws.send(o)}catch{}s&&po(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",n=this.query||{};return this.opts.timestampRequests&&(n[this.opts.timestampParam]=tc()),this.supportsBinary||(n.b64=1),this.createUri(t,n)}check(){return!!Gn}}class r2 extends ho{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(t=>{const n=Hp(Number.MAX_SAFE_INTEGER,this.socket.binaryType),r=t.readable.pipeThrough(n).getReader(),s=Dp();s.readable.pipeTo(t.writable),this.writer=s.writable.getWriter();const o=()=>{r.read().then(({done:l,value:a})=>{l||(this.onPacket(a),o())}).catch(l=>{})};o();const i={type:"open"};this.query.sid&&(i.data=`{"sid":"${this.query.sid}"}`),this.writer.write(i).then(()=>this.onOpen())})}))}write(t){this.writable=!1;for(let n=0;n{s&&po(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var t;(t=this.transport)===null||t===void 0||t.close()}}const s2={websocket:n2,webtransport:r2,polling:e2},o2=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,i2=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Ts(e){if(e.length>2e3)throw"URI too long";const t=e,n=e.indexOf("["),r=e.indexOf("]");n!=-1&&r!=-1&&(e=e.substring(0,n)+e.substring(n,r).replace(/:/g,";")+e.substring(r,e.length));let s=o2.exec(e||""),o={},i=14;for(;i--;)o[i2[i]]=s[i]||"";return n!=-1&&r!=-1&&(o.source=t,o.host=o.host.substring(1,o.host.length-1).replace(/;/g,":"),o.authority=o.authority.replace("[","").replace("]","").replace(/;/g,":"),o.ipv6uri=!0),o.pathNames=l2(o,o.path),o.queryKey=a2(o,o.query),o}function l2(e,t){const n=/\/{2,9}/g,r=t.replace(n,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&r.splice(0,1),t.slice(-1)=="/"&&r.splice(r.length-1,1),r}function a2(e,t){const n={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(r,s,o){s&&(n[s]=o)}),n}let sc=class Yt extends ye{constructor(t,n={}){super(),this.binaryType=t2,this.writeBuffer=[],t&&typeof t=="object"&&(n=t,t=null),t?(t=Ts(t),n.hostname=t.host,n.secure=t.protocol==="https"||t.protocol==="wss",n.port=t.port,t.query&&(n.query=t.query)):n.host&&(n.hostname=Ts(n.host).host),Nr(this,n),this.secure=n.secure!=null?n.secure:typeof location<"u"&&location.protocol==="https:",n.hostname&&!n.port&&(n.port=this.secure?"443":"80"),this.hostname=n.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=n.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=n.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},n),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=qp(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(t){const n=Object.assign({},this.opts.query);n.EIO=Xa,n.transport=t,this.id&&(n.sid=this.id);const r=Object.assign({},this.opts,{query:n,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new s2[t](r)}open(){let t;if(this.opts.rememberUpgrade&&Yt.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)t="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else t=this.transports[0];this.readyState="opening";try{t=this.createTransport(t)}catch{this.transports.shift(),this.open();return}t.open(),this.setTransport(t)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",n=>this.onClose("transport close",n))}probe(t){let n=this.createTransport(t),r=!1;Yt.priorWebsocketSuccess=!1;const s=()=>{r||(n.send([{type:"ping",data:"probe"}]),n.once("packet",f=>{if(!r)if(f.type==="pong"&&f.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",n),!n)return;Yt.priorWebsocketSuccess=n.name==="websocket",this.transport.pause(()=>{r||this.readyState!=="closed"&&(c(),this.setTransport(n),n.send([{type:"upgrade"}]),this.emitReserved("upgrade",n),n=null,this.upgrading=!1,this.flush())})}else{const h=new Error("probe error");h.transport=n.name,this.emitReserved("upgradeError",h)}}))};function o(){r||(r=!0,c(),n.close(),n=null)}const i=f=>{const h=new Error("probe error: "+f);h.transport=n.name,o(),this.emitReserved("upgradeError",h)};function l(){i("transport closed")}function a(){i("socket closed")}function u(f){n&&f.name!==n.name&&o()}const c=()=>{n.removeListener("open",s),n.removeListener("error",i),n.removeListener("close",l),this.off("close",a),this.off("upgrading",u)};n.once("open",s),n.once("error",i),n.once("close",l),this.once("close",a),this.once("upgrading",u),this.upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{r||n.open()},200):n.open()}onOpen(){if(this.readyState="open",Yt.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let t=0;const n=this.upgrades.length;for(;t{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this.getWritablePackets();this.transport.send(t),this.prevBufferLen=t.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let n=1;for(let r=0;r0&&n>this.maxPayload)return this.writeBuffer.slice(0,r);n+=2}return this.writeBuffer}write(t,n,r){return this.sendPacket("message",t,n,r),this}send(t,n,r){return this.sendPacket("message",t,n,r),this}sendPacket(t,n,r,s){if(typeof n=="function"&&(s=n,n=void 0),typeof r=="function"&&(s=r,r=null),this.readyState==="closing"||this.readyState==="closed")return;r=r||{},r.compress=r.compress!==!1;const o={type:t,data:n,options:r};this.emitReserved("packetCreate",o),this.writeBuffer.push(o),s&&this.once("flush",s),this.flush()}close(){const t=()=>{this.onClose("forced close"),this.transport.close()},n=()=>{this.off("upgrade",n),this.off("upgradeError",n),t()},r=()=>{this.once("upgrade",n),this.once("upgradeError",n)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?r():t()}):this.upgrading?r():t()),this}onError(t){Yt.priorWebsocketSuccess=!1,this.emitReserved("error",t),this.onClose("transport error",t)}onClose(t,n){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",t,n),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(t){const n=[];let r=0;const s=t.length;for(;rtypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,oc=Object.prototype.toString,h2=typeof Blob=="function"||typeof Blob<"u"&&oc.call(Blob)==="[object BlobConstructor]",d2=typeof File=="function"||typeof File<"u"&&oc.call(File)==="[object FileConstructor]";function yo(e){return u2&&(e instanceof ArrayBuffer||f2(e))||h2&&e instanceof Blob||d2&&e instanceof File}function nr(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let n=0,r=e.length;n=0&&e.num{delete this.acks[t];for(let i=0;i{this.io.clearTimeoutFn(o),n.apply(this,[null,...i])}}emitWithAck(t,...n){const r=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((s,o)=>{n.push((i,l)=>r?i?o(i):s(l):s(i)),this.emit(t,...n)})}_addToQueue(t){let n;typeof t[t.length-1]=="function"&&(n=t.pop());const r={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((s,...o)=>r!==this._queue[0]?void 0:(s!==null?r.tryCount>this._opts.retries&&(this._queue.shift(),n&&n(s)):(this._queue.shift(),n&&n(null,...o)),r.pending=!1,this._drainQueue())),this._queue.push(r),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const n=this._queue[0];n.pending&&!t||(n.pending=!0,n.tryCount++,this.flags=n.flags,this.emit.apply(this,n.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:Q.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,n){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,n)}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case Q.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Q.EVENT:case Q.BINARY_EVENT:this.onevent(t);break;case Q.ACK:case Q.BINARY_ACK:this.onack(t);break;case Q.DISCONNECT:this.ondisconnect();break;case Q.CONNECT_ERROR:this.destroy();const r=new Error(t.data.message);r.data=t.data.data,this.emitReserved("connect_error",r);break}}onevent(t){const n=t.data||[];t.id!=null&&n.push(this.ack(t.id)),this.connected?this.emitEvent(n):this.receiveBuffer.push(Object.freeze(n))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const n=this._anyListeners.slice();for(const r of n)r.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const n=this;let r=!1;return function(...s){r||(r=!0,n.packet({type:Q.ACK,id:t,data:s}))}}onack(t){const n=this.acks[t.id];typeof n=="function"&&(n.apply(this,t.data),delete this.acks[t.id])}onconnect(t,n){this.id=t,this.recovered=n&&this._pid===n,this._pid=n,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:Q.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const n=this._anyListeners;for(let r=0;r0&&e.jitter<=1?e.jitter:0,this.attempts=0}pn.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),n=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+n:e-n}return Math.min(e,this.max)|0};pn.prototype.reset=function(){this.attempts=0};pn.prototype.setMin=function(e){this.ms=e};pn.prototype.setMax=function(e){this.max=e};pn.prototype.setJitter=function(e){this.jitter=e};class Ls extends ye{constructor(t,n){var r;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(n=t,t=void 0),n=n||{},n.path=n.path||"/socket.io",this.opts=n,Nr(this,n),this.reconnection(n.reconnection!==!1),this.reconnectionAttempts(n.reconnectionAttempts||1/0),this.reconnectionDelay(n.reconnectionDelay||1e3),this.reconnectionDelayMax(n.reconnectionDelayMax||5e3),this.randomizationFactor((r=n.randomizationFactor)!==null&&r!==void 0?r:.5),this.backoff=new pn({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(n.timeout==null?2e4:n.timeout),this._readyState="closed",this.uri=t;const s=n.parser||b2;this.encoder=new s.Encoder,this.decoder=new s.Decoder,this._autoConnect=n.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var n;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(n=this.backoff)===null||n===void 0||n.setMin(t),this)}randomizationFactor(t){var n;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(n=this.backoff)===null||n===void 0||n.setJitter(t),this)}reconnectionDelayMax(t){var n;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(n=this.backoff)===null||n===void 0||n.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new sc(this.uri,this.opts);const n=this.engine,r=this;this._readyState="opening",this.skipReconnect=!1;const s=Je(n,"open",function(){r.onopen(),t&&t()}),o=l=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",l),t?t(l):this.maybeReconnectOnOpen()},i=Je(n,"error",o);if(this._timeout!==!1){const l=this._timeout,a=this.setTimeoutFn(()=>{s(),o(new Error("timeout")),n.close()},l);this.opts.autoUnref&&a.unref(),this.subs.push(()=>{this.clearTimeoutFn(a)})}return this.subs.push(s),this.subs.push(i),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Je(t,"ping",this.onping.bind(this)),Je(t,"data",this.ondata.bind(this)),Je(t,"error",this.onerror.bind(this)),Je(t,"close",this.onclose.bind(this)),Je(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(n){this.onclose("parse error",n)}}ondecoded(t){po(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,n){let r=this.nsps[t];return r?this._autoConnect&&!r.active&&r.connect():(r=new ic(this,t,n),this.nsps[t]=r),r}_destroy(t){const n=Object.keys(this.nsps);for(const r of n)if(this.nsps[r].active)return;this._close()}_packet(t){const n=this.encoder.encode(t);for(let r=0;rt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(t,n){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,n),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const n=this.backoff.duration();this._reconnecting=!0;const r=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(s=>{s?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",s)):t.onreconnect()}))},n);this.opts.autoUnref&&r.unref(),this.subs.push(()=>{this.clearTimeoutFn(r)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const vn={};function rr(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const n=c2(e,t.path||"/socket.io"),r=n.source,s=n.id,o=n.path,i=vn[s]&&o in vn[s].nsps,l=t.forceNew||t["force new connection"]||t.multiplex===!1||i;let a;return l?a=new Ls(r,t):(vn[s]||(vn[s]=new Ls(r,t)),a=vn[s]),n.query&&!t.query&&(t.query=n.queryKey),a.socket(n.path,t)}Object.assign(rr,{Manager:Ls,Socket:ic,io:rr,connect:rr});const lc=window.location.origin;console.log(lc);const zi=new rr(lc,{reconnection:!0,reconnectionAttempts:10,reconnectionDelay:1e3}),j2={data(){return{LoLLMSLogo:Pp,selectedOption:"cpu",personal_path:""}},async mounted(){this.personal_path=await he.get("/get_personal_path"),zi.on("notification",this.notify)},components:{MessageBox:Nh,Toast:yd},methods:{folderSelected(e){const t=e.target.files;for(let n=0;n{const t=document.getElementById("messages-list");this.scrollBottom(t)}),e.display_type==0?this.$store.state.toast.showToast(e.content,e.duration,e.notification_type):e.display_type==1?this.$store.state.messageBox.showMessage(e.content):e.display_type==2?(this.$store.state.messageBox.hideMessage(),this.$store.state.yesNoDialog.askQuestion(e.content,"Yes","No").then(t=>{zi.emit("yesNoRes",{yesRes:t})})):e.display_type==3?this.$store.state.messageBox.showBlockingMessage(e.content):e.display_type==4&&this.$store.state.messageBox.hideMessage(),this.chime.play()},install(){this.$refs.toast.showToast(`Starting the install with option:${this.selectedOption}`,4,!0),he.post("/start_installing",{mode:this.selectedOption}).then(()=>{this.$refs.messageBox.showMessage(`Success! -Please close this page and open the run script from your install folder`)})},selectFolder(){he.get("/choose_path").then(e=>{this.personal_path=e.data.new_path}).catch(e=>{console.error(e)})}}},_2={class:"flex flex-col items-center justify-center rounded-lg m-2 shadow-lg hover:border-primary dark:hover:border-primary hover:border-solid hover:border-2 border-2 border-transparent even:bg-bg-light-discussion-odd dark:even:bg-bg-dark-discussion-odd flex flex-col flex-grow flex-wrap overflow-visible p-4 pb-2"},E2=["src"],O2=H("h1",{class:"text-4xl font-bold mb-4"},"LOLLMS installation tool",-1),S2=H("p",{class:"text-left"},[qe(" Welcome to the installer of lollms. Here you can select your install profile."),H("br"),qe(" Let's start by selecting the hardware."),H("br"),H("br")],-1),A2={class:"flex flex-col gap-2 container h-500 overflow-y-scroll"},C2=H("label",null,"Personal path: ",-1),R2={class:"flex items-center"},T2={class:"flex items-center"},M2={class:"flex items-center"},P2={class:"flex items-center"},L2={class:"flex items-center"},N2={class:"flex items-center"},I2={class:"flex items-center"},k2={class:"flex items-center"};function B2(e,t,n,r,s,o){const i=ls("Toast"),l=ls("MessageBox");return Pe(),Be(Le,null,[H("div",_2,[H("img",{src:s.LoLLMSLogo,width:"200px",height:"200px"},null,8,E2),O2,S2,H("div",A2,[H("div",null,[C2,H("input",Wl({type:"text"},s.personal_path),null,16)]),H("label",R2,[gt(H("input",{type:"radio",value:"cpu-noavx","onUpdate:modelValue":t[0]||(t[0]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Use CPU without AVX (for old CPUs) ")]),H("label",T2,[gt(H("input",{type:"radio",value:"cpu","onUpdate:modelValue":t[1]||(t[1]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Use CPU with AVX support (new CPUs) ")]),H("label",M2,[gt(H("input",{type:"radio",value:"nvidia","onUpdate:modelValue":t[2]||(t[2]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Use NVIDIA GPU without tensorcore (for old GPUs) ")]),H("label",P2,[gt(H("input",{type:"radio",value:"nvidia-tensorcores","onUpdate:modelValue":t[3]||(t[3]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Use NVIDIA GPU with tensorcore (new GPUs) ")]),H("label",L2,[gt(H("input",{type:"radio",value:"amd-noavx","onUpdate:modelValue":t[4]||(t[4]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Use AMD GPU with no avx ")]),H("label",N2,[gt(H("input",{type:"radio",value:"amd","onUpdate:modelValue":t[5]||(t[5]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Use AMD GPU ")]),H("label",I2,[gt(H("input",{type:"radio",value:"apple-intel","onUpdate:modelValue":t[6]||(t[6]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Apple with intel CPU ")]),H("label",k2,[gt(H("input",{type:"radio",value:"apple-silicon","onUpdate:modelValue":t[7]||(t[7]=a=>s.selectedOption=a),class:"mr-2"},null,512),[[vt,s.selectedOption]]),qe(" Apple silicon (M1, M2 M3) ")])]),H("button",{onClick:t[8]||(t[8]=(...a)=>o.install&&o.install(...a)),class:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 mt-4 rounded"}," Install ")]),we(i,{ref:"toast"},null,512),we(l,{ref:"messageBox"},null,512)],64)}const F2=Cr(j2,[["render",B2]]),D2=[{path:"/",name:"Install",component:F2}],H2=eh({history:m1(),routes:D2});vh({state(){return{}},mutations:{},getters:{},actions:{}});Uf(jh).use(H2).mount("#app"); diff --git a/scripts/python/lollms_installer/frontend/dist/index.html b/scripts/python/lollms_installer/frontend/dist/index.html index 99c8b86d..874bdb80 100644 --- a/scripts/python/lollms_installer/frontend/dist/index.html +++ b/scripts/python/lollms_installer/frontend/dist/index.html @@ -5,7 +5,7 @@ Vite + Vue - + diff --git a/scripts/python/lollms_installer/frontend/src/services/websocket.js b/scripts/python/lollms_installer/frontend/src/services/websocket.js new file mode 100644 index 00000000..fc217e49 --- /dev/null +++ b/scripts/python/lollms_installer/frontend/src/services/websocket.js @@ -0,0 +1,25 @@ +// Project : lollms-webui +// Author : ParisNeo +// Description : +// All websocket stuff can be found here. +// More info can be found here https://socket.io/how-to/use-with-vue +// import { createApp } from 'vue'; +import io from 'socket.io-client'; + +// fixes issues when people not hosting this site on local network +const URL = window.location.origin; +console.log(URL); +const socket = new io(URL, { + reconnection: true, // Enable reconnection + reconnectionAttempts: 10, // Maximum reconnection attempts + reconnectionDelay: 1000, // Delay between reconnection attempts (in milliseconds) +}); + +// const app = createApp(/* your root component */); + +// app.config.globalProperties.$socket = socket; + +// app.mount(/* your root element */); + +export default socket; + diff --git a/scripts/python/lollms_installer/frontend/src/views/Install.vue b/scripts/python/lollms_installer/frontend/src/views/Install.vue index 3b82b09b..5f42491f 100644 --- a/scripts/python/lollms_installer/frontend/src/views/Install.vue +++ b/scripts/python/lollms_installer/frontend/src/views/Install.vue @@ -69,21 +69,16 @@ export default { }; }, async mounted(){ - this.personal_path = await axios.get("/get_personal_path") - socket.on('notification', this.notify) + let response = await axios.get("/get_personal_path") + this.personal_path = response.data + console.log(this.personal_path) + //socket.on('notification', this.notify) }, components:{ MessageBox, Toast }, methods: { - folderSelected(event) { - const files = event.target.files; - for (let i = 0; i < files.length; i++) { - console.log(files[i].webkitRelativePath); - } - personal_path = files[0].webkitRelativePath - }, notify(notif){ self.isGenerating = false this.setDiscussionLoading(this.currentDiscussion.id, this.isGenerating); @@ -118,15 +113,6 @@ export default { this.$refs.messageBox.showMessage("Success!\nPlease close this page and open the run script from your install folder") }); }, - selectFolder() { - axios.get('/choose_path') - .then(response => { - this.personal_path = response.data.new_path; - }) - .catch(error => { - console.error(error); - }); - }, }, }; diff --git a/web/dist/assets/index-0b72f569.css b/web/dist/assets/index-a5ef9055.css similarity index 99% rename from web/dist/assets/index-0b72f569.css rename to web/dist/assets/index-a5ef9055.css index 7ea05c30..79e802c2 100644 --- a/web/dist/assets/index-0b72f569.css +++ b/web/dist/assets/index-a5ef9055.css @@ -5,4 +5,4 @@ Author: (c) Henri Vandersleyen License: see project LICENSE Touched: 2022 -*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-container{display:flex;margin:0}.line-numbers{flex-shrink:0;padding-right:5px;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.code-content{flex-grow:1;margin:0}.hovered{transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:scale(1.1)}.active{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;pointer-events:all}select{width:200px}body{background-color:#fafafa;font-family:sans-serif}.container{margin:4px auto;width:800px}.settings{position:fixed;top:0;right:0;width:250px;background-color:#fff;z-index:1000;display:none}.settings-button{cursor:pointer;padding:10px;border:1px solid #ddd;border-radius:5px;color:#333;font-size:14px}.settings-button:hover{background-color:#eee}.settings-button:active{background-color:#ddd}.slider-container{margin-top:20px}.slider-value{display:inline-block;margin-left:10px;color:#6b7280;font-size:14px}.small-button{padding:.5rem .75rem;font-size:.875rem}.active-tab{font-weight:700}.scrollbar[data-v-b19a05a8]{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);white-space:pre-wrap;overflow-wrap:break-word}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar{width:8px}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar-track{background-color:var(--scrollbar-track-color)}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color);border-radius:4px}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color)}.menu-container{position:relative;display:inline-block}.menu-button{background-color:#007bff;color:#fff;padding:10px;border:none;cursor:pointer;border-radius:4px}.menu-list{position:absolute;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;padding:10px;max-width:500px;z-index:1000}.slide-enter-active,.slide-leave-active{transition:transform .2s}.slide-enter-to,.slide-leave-from{transform:translateY(-10px)}.menu-ul{list-style:none;padding:0;margin:0}.menu-li{cursor:pointer;display:flex;align-items:center;padding:5px}.menu-icon{width:20px;height:20px;margin-right:8px}.menu-command{min-width:200px;text-align:left}.selected-choice{background-color:#bde4ff}.heartbeat-text[data-v-aeee34ed]{font-size:24px;animation:pulsate-aeee34ed 1.5s infinite}@keyframes pulsate-aeee34ed{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.list-move[data-v-aeee34ed],.list-enter-active[data-v-aeee34ed],.list-leave-active[data-v-aeee34ed]{transition:all .5s ease}.list-enter-from[data-v-aeee34ed]{transform:translatey(-30px)}.list-leave-to[data-v-aeee34ed]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-aeee34ed]{position:absolute}.bounce-enter-active[data-v-aeee34ed]{animation:bounce-in-aeee34ed .5s}.bounce-leave-active[data-v-aeee34ed]{animation:bounce-in-aeee34ed .5s reverse}@keyframes bounce-in-aeee34ed{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.bg-primary-light[data-v-aeee34ed]{background-color:#0ff}.hover[data-v-aeee34ed]:bg-primary-light:hover{background-color:#7fffd4}.font-bold[data-v-aeee34ed]{font-weight:700}.collapsible-section{cursor:pointer;margin-bottom:10px;font-weight:700}.collapsible-section:hover{color:#1a202c}.collapsible-section .toggle-icon{margin-right:.25rem}.collapsible-section .toggle-icon i{color:#4a5568}.collapsible-section .toggle-icon i:hover{color:#1a202c}.json-viewer{max-height:300px;max-width:700px;flex:auto;overflow-y:auto;padding:10px;background-color:#f1f1f1;border:1px solid #ccc;border-radius:4px}.json-viewer .toggle-icon{cursor:pointer;margin-right:.25rem}.json-viewer .toggle-icon i{color:#4a5568}.json-viewer .toggle-icon i:hover{color:#1a202c}.expand-button{margin-left:10px;margin-right:10px;background:none;border:none;padding:0;cursor:pointer}.htmljs{background:none}.bounce-enter-active[data-v-d16a58b9]{animation:bounce-in-d16a58b9 .5s}.bounce-leave-active[data-v-d16a58b9]{animation:bounce-in-d16a58b9 .5s reverse}@keyframes bounce-in-d16a58b9{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar-track{background-color:#f1f1f1}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar-thumb:hover{background-color:#555}.menu[data-v-52cfa09c]{display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper[data-v-52cfa09c]{position:relative;display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper>#commands-menu-items[data-v-52cfa09c]{top:calc(-100% - 2rem)}.list-move[data-v-6b91f51b],.list-enter-active[data-v-6b91f51b],.list-leave-active[data-v-6b91f51b]{transition:all .5s ease}.list-enter-from[data-v-6b91f51b]{transform:translatey(-30px)}.list-leave-to[data-v-6b91f51b]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-6b91f51b]{position:absolute}.slide-right-enter-active[data-v-7a271009],.slide-right-leave-active[data-v-7a271009]{transition:transform .3s ease}.slide-right-enter[data-v-7a271009],.slide-right-leave-to[data-v-7a271009]{transform:translate(-100%)}.fade-and-fly-enter-active[data-v-7a271009]{animation:fade-and-fly-enter-7a271009 .5s ease}.fade-and-fly-leave-active[data-v-7a271009]{animation:fade-and-fly-leave-7a271009 .5s ease}@keyframes fade-and-fly-enter-7a271009{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-and-fly-leave-7a271009{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}.list-move[data-v-7a271009],.list-enter-active[data-v-7a271009],.list-leave-active[data-v-7a271009]{transition:all .5s ease}.list-enter-from[data-v-7a271009]{transform:translatey(-30px)}.list-leave-to[data-v-7a271009]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-7a271009]{position:absolute}.container{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.floating-frame{margin:15px;float:left;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;z-index:5000;position:fixed;cursor:move;bottom:0;right:0}.handle{width:100%;height:20px;background:#ccc;cursor:move;text-align:center}.floating-frame img{width:100%;height:auto}.controls{margin-top:10px}#webglContainer{top:0;left:0}.floating-frame2{margin:15px;width:800px;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;min-height:200px;z-index:5000}:root{--baklava-control-color-primary: #e28b46;--baklava-control-color-error: #d00000;--baklava-control-color-background: #2c3748;--baklava-control-color-foreground: white;--baklava-control-color-hover: #455670;--baklava-control-color-active: #556986;--baklava-control-color-disabled-foreground: #666c75;--baklava-control-border-radius: 3px;--baklava-sidebar-color-background: #1b202c;--baklava-sidebar-color-foreground: white;--baklava-node-color-background: #1b202c;--baklava-node-color-foreground: white;--baklava-node-color-hover: #e28c4677;--baklava-node-color-selected: var(--baklava-control-color-primary);--baklava-node-color-resize-handle: var(--baklava-control-color-background);--baklava-node-title-color-background: #151a24;--baklava-node-title-color-foreground: white;--baklava-group-node-title-color-background: #215636;--baklava-group-node-title-color-foreground: white;--baklava-node-interface-port-tooltip-color-foreground: var(--baklava-control-color-primary);--baklava-node-interface-port-tooltip-color-background: var(--baklava-editor-background-pattern-black);--baklava-node-border-radius: 6px;--baklava-color-connection-default: #737f96;--baklava-color-connection-allowed: #48bc79;--baklava-color-connection-forbidden: #bc4848;--baklava-editor-background-pattern-default: #202b3c;--baklava-editor-background-pattern-line: #263140;--baklava-editor-background-pattern-black: #263140;--baklava-context-menu-background: #1b202c;--baklava-context-menu-shadow: 0 0 8px rgba(0, 0, 0, .65);--baklava-toolbar-background: #1b202caa;--baklava-toolbar-foreground: white;--baklava-node-palette-background: #1b202caa;--baklava-node-palette-foreground: white;--baklava-visual-transition: .1s linear}.baklava-button{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);transition:background-color var(--baklava-visual-transition);border:none;padding:.45em .35em;border-radius:var(--baklava-control-border-radius);font-size:inherit;cursor:pointer;overflow-x:hidden}.baklava-button:hover{background-color:var(--baklava-control-color-hover)}.baklava-button:active{background-color:var(--baklava-control-color-primary)}.baklava-button.--block{width:100%}.baklava-checkbox{display:flex;padding:.35em 0;cursor:pointer;overflow-x:hidden;align-items:center}.baklava-checkbox .__checkmark-container{display:flex;background-color:var(--baklava-control-color-background);border-radius:var(--baklava-control-border-radius);transition:background-color var(--baklava-visual-transition);width:18px;height:18px}.baklava-checkbox:hover .__checkmark-container{background-color:var(--baklava-control-color-hover)}.baklava-checkbox:active .__checkmark-container{background-color:var(--baklava-control-color-active)}.baklava-checkbox .__checkmark{stroke-dasharray:15;stroke-dashoffset:15;stroke:var(--baklava-control-color-foreground);stroke-width:2px;fill:none;transition:stroke-dashoffset var(--baklava-visual-transition)}.baklava-checkbox.--checked .__checkmark{stroke-dashoffset:0}.baklava-checkbox.--checked .__checkmark-container{background-color:var(--baklava-control-color-primary)}.baklava-checkbox .__label{margin-left:.5rem}.baklava-context-menu{color:var(--baklava-control-color-foreground);position:absolute;display:inline-block;z-index:100;background-color:var(--baklava-context-menu-background);box-shadow:var(--baklava-context-menu-shadow);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);min-width:6rem;width:-moz-max-content;width:max-content}.baklava-context-menu>.item{display:flex;align-items:center;padding:.35em 1em;transition:background .05s linear;position:relative}.baklava-context-menu>.item>.__label{flex:1 1 auto}.baklava-context-menu>.item>.__submenu-icon{margin-left:.75rem}.baklava-context-menu>.item.--disabled{color:var(--baklava-control-color-hover)}.baklava-context-menu>.item:not(.--header):not(.--active):not(.--disabled):hover{background:var(--baklava-control-color-primary)}.baklava-context-menu>.item.--active{background:var(--baklava-control-color-primary)}.baklava-context-menu.--nested{left:100%;top:0}.baklava-context-menu.--flipped-x.--nested{left:unset;right:100%}.baklava-context-menu.--flipped-y.--nested{top:unset;bottom:0}.baklava-context-menu>.divider{margin:.35em 0;height:1px;background-color:var(--baklava-control-color-hover)}.baklava-icon{display:block;height:100%}.baklava-icon.--clickable{cursor:pointer;transition:color var(--baklava-visual-transition)}.baklava-icon.--clickable:hover{color:var(--baklava-control-color-primary)}.baklava-input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);border:none;border-radius:var(--baklava-control-border-radius);padding:.45em .75em;width:100%;transition:background-color var(--baklava-visual-transition);font-size:inherit;font:inherit}.baklava-input:hover{background-color:var(--baklava-control-color-hover)}.baklava-input:active{background-color:var(--baklava-control-color-active)}.baklava-input:focus-visible{outline:1px solid var(--baklava-control-color-primary)}.baklava-input[type=number]::-webkit-inner-spin-button,.baklava-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.baklava-input.--invalid{box-shadow:0 0 2px 2px var(--baklava-control-color-error)}.baklava-num-input{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);width:100%;display:grid;grid-template-columns:20px 1fr 20px}.baklava-num-input>.__button{display:flex;flex:0 0 auto;width:20px;justify-content:center;align-items:center;transition:background var(--baklava-visual-transition);cursor:pointer}.baklava-num-input>.__button:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__button:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__button.--dec{grid-area:1/1/span 1/span 1}.baklava-num-input>.__button.--dec>svg{transform:rotate(90deg)}.baklava-num-input>.__button.--inc{grid-area:1/3/span 1/span 1}.baklava-num-input>.__button.--inc>svg{transform:rotate(-90deg)}.baklava-num-input>.__button path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-num-input>.__content{grid-area:1/2/span 1/span 1;display:inline-flex;cursor:pointer;max-width:100%;min-width:0;align-items:center;transition:background-color var(--baklava-visual-transition)}.baklava-num-input>.__content:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__content:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__content>.__label,.baklava-num-input>.__content>.__value{margin:.35em 0;padding:0 .5em}.baklava-num-input>.__content>.__label{flex:1;min-width:0;overflow:hidden}.baklava-num-input>.__content>.__value{text-align:right}.baklava-num-input>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-select{width:100%;position:relative;color:var(--baklava-control-color-foreground)}.baklava-select.--open>.__selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.baklava-select.--open>.__selected>.__icon{transform:rotate(180deg)}.baklava-select>.__selected{background-color:var(--baklava-control-color-background);padding:.35em .75em;border-radius:var(--baklava-control-border-radius);transition:background var(--baklava-visual-transition);min-height:1.7em;display:flex;align-items:center;cursor:pointer}.baklava-select>.__selected:hover{background:var(--baklava-control-color-hover)}.baklava-select>.__selected:active{background:var(--baklava-control-color-active)}.baklava-select>.__selected>.__text{flex:1 0 auto;flex-basis:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.baklava-select>.__selected>.__icon{flex:0 0 auto;display:flex;justify-content:center;align-items:center;transition:transform .25s ease;width:18px;height:18px}.baklava-select>.__selected>.__icon path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-select>.__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background-color:var(--baklava-context-menu-background);filter:drop-shadow(0 0 4px black);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);max-height:15em;overflow-y:scroll}.baklava-select>.__dropdown::-webkit-scrollbar{width:0px;background:transparent}.baklava-select>.__dropdown>.item{padding:.35em .35em .35em 1em;transition:background .05s linear}.baklava-select>.__dropdown>.item:not(.--header):not(.--active){cursor:pointer}.baklava-select>.__dropdown>.item:not(.--header):not(.--active):hover{background:var(--baklava-control-color-hover)}.baklava-select>.__dropdown>.item.--active{background:var(--baklava-control-color-primary)}.baklava-select>.__dropdown>.item.--header{color:var(--baklava-control-color-disabled-foreground);border-bottom:1px solid var(--baklava-control-color-disabled-foreground);padding:.5em .35em .5em 1em}.baklava-slider{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);position:relative;cursor:pointer}.baklava-slider>.__content{display:flex;position:relative}.baklava-slider>.__content>.__label,.baklava-slider>.__content>.__value{flex:1 1 auto;margin:.35em 0;padding:0 .5em;text-overflow:ellipsis}.baklava-slider>.__content>.__value{text-align:right}.baklava-slider>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-slider>.__slider{position:absolute;top:0;bottom:0;left:0;background-color:var(--baklava-control-color-primary);border-radius:var(--baklava-control-border-radius)}.baklava-connection{stroke:var(--baklava-color-connection-default);stroke-width:2px;fill:none}.baklava-connection.--temporary{stroke-width:4px;stroke-dasharray:5 5;stroke-dashoffset:0;animation:dash 1s linear infinite;transform:translateY(-1px)}@keyframes dash{to{stroke-dashoffset:20}}.baklava-connection.--allowed{stroke:var(--baklava-color-connection-allowed)}.baklava-connection.--forbidden{stroke:var(--baklava-color-connection-forbidden)}.baklava-minimap{position:absolute;height:15%;width:15%;min-width:150px;max-width:90%;top:20px;right:20px;z-index:900}.baklava-editor{width:100%;height:100%;position:relative;overflow:hidden;outline:none!important;font-family:Lato,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:15px;touch-action:none}.baklava-editor .background{background-color:var(--baklava-editor-background-pattern-default);background-image:linear-gradient(var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(90deg,var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(var(--baklava-editor-background-pattern-line) 1px,transparent 1px),linear-gradient(90deg,var(--baklava-editor-background-pattern-line) 1px,transparent 1px);background-repeat:repeat;width:100%;height:100%;pointer-events:none!important}.baklava-editor *:not(input):not(textarea){user-select:none;-moz-user-select:none;-webkit-user-select:none;touch-action:none}.baklava-editor .input-user-select{user-select:auto;-moz-user-select:auto;-webkit-user-select:auto}.baklava-editor *,.baklava-editor *:after,.baklava-editor *:before{box-sizing:border-box}.baklava-editor.--temporary-connection{cursor:crosshair}.baklava-editor .connections-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none!important}.baklava-editor .node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.baklava-editor .node-container *{pointer-events:all}.baklava-ignore-mouse *{pointer-events:none!important}.baklava-ignore-mouse .__port{pointer-events:all!important}.baklava-node-interface{padding:.25em 0;position:relative}.baklava-node-interface .__port{position:absolute;width:10px;height:10px;background:white;border-radius:50%;top:calc(50% - 5px);cursor:crosshair}.baklava-node-interface .__port.--selected{outline:2px var(--baklava-color-connection-default) solid;outline-offset:4px}.baklava-node-interface.--input{text-align:left;padding-left:.5em}.baklava-node-interface.--input .__port{left:-1.1em}.baklava-node-interface.--output{text-align:right;padding-right:.5em}.baklava-node-interface.--output .__port{right:-1.1em}.baklava-node-interface .__tooltip{position:absolute;left:5px;top:15px;transform:translate(-50%);background:var(--baklava-node-interface-port-tooltip-color-background);color:var(--baklava-node-interface-port-tooltip-color-foreground);padding:.25em .5em;text-align:center;z-index:2}.baklava-node-palette{position:absolute;left:0;top:60px;width:250px;height:calc(100% - 60px);z-index:3;padding:2rem;overflow-y:auto;background:var(--baklava-node-palette-background);color:var(--baklava-node-palette-foreground)}.baklava-node-palette h1{margin-top:2rem}.baklava-node.--palette{position:unset;margin:1rem 0;cursor:grab}.baklava-node.--palette:first-child{margin-top:0}.baklava-node.--palette .__title{padding:.5rem;border-radius:var(--baklava-node-border-radius)}.baklava-dragged-node{position:absolute;width:calc(250px - 4rem);height:40px;z-index:4;pointer-events:none}.baklava-node{background:var(--baklava-node-color-background);color:var(--baklava-node-color-foreground);border:1px solid transparent;border-radius:var(--baklava-node-border-radius);position:absolute;box-shadow:0 0 4px #000c;transition:border-color var(--baklava-visual-transition),box-shadow var(--baklava-visual-transition);width:var(--width)}.baklava-node:hover{border-color:var(--baklava-node-color-hover)}.baklava-node:hover .__resize-handle:after{opacity:1}.baklava-node.--selected{z-index:5;border-color:var(--baklava-node-color-selected)}.baklava-node.--dragging{box-shadow:0 0 12px #000c}.baklava-node.--dragging>.__title{cursor:grabbing}.baklava-node>.__title{display:flex;background:var(--baklava-node-title-color-background);color:var(--baklava-node-title-color-foreground);padding:.4em .75em;border-radius:var(--baklava-node-border-radius) var(--baklava-node-border-radius) 0 0;cursor:grab}.baklava-node>.__title>*:first-child{flex-grow:1}.baklava-node>.__title>.__title-label{pointer-events:none}.baklava-node>.__title>.__menu{position:relative;cursor:initial}.baklava-node[data-node-type^=__baklava_]>.__title{background:var(--baklava-group-node-title-color-background);color:var(--baklava-group-node-title-color-foreground)}.baklava-node>.__content{padding:.75em}.baklava-node>.__content>div>div{margin:.5em 0}.baklava-node.--two-column>.__content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:". ." ". ."}.baklava-node.--two-column>.__content>.__inputs{grid-row:1;grid-column:1}.baklava-node.--two-column>.__content>.__outputs{grid-row:1;grid-column:2}.baklava-node .__resize-handle{position:absolute;right:0;bottom:0;width:1rem;height:1rem;transform:translate(50%);cursor:ew-resize}.baklava-node .__resize-handle:after{content:"";position:absolute;bottom:0;left:-.5rem;width:1rem;height:1rem;opacity:0;border-bottom-right-radius:var(--baklava-node-border-radius);transition:opacity var(--baklava-visual-transition);background:linear-gradient(-45deg,transparent 10%,var(--baklava-node-color-resize-handle) 10%,var(--baklava-node-color-resize-handle) 15%,transparent 15%,transparent 30%,var(--baklava-node-color-resize-handle) 30%,var(--baklava-node-color-resize-handle) 35%,transparent 35%,transparent 50%,var(--baklava-node-color-resize-handle) 50%,var(--baklava-node-color-resize-handle) 55%,transparent 55%)}.baklava-sidebar{position:absolute;height:100%;width:25%;min-width:300px;max-width:90%;top:0;right:0;z-index:1000;background-color:var(--baklava-sidebar-color-background);color:var(--baklava-sidebar-color-foreground);box-shadow:none;overflow-x:hidden;padding:1em;transform:translate(100%);transition:transform .5s;display:flex;flex-direction:column}.baklava-sidebar.--open{transform:translate(0);box-shadow:0 0 15px #000}.baklava-sidebar .__resizer{position:absolute;left:0;top:0;height:100%;width:4px;cursor:col-resize}.baklava-sidebar .__header{display:flex;align-items:center}.baklava-sidebar .__header .__node-name{margin-left:.5rem}.baklava-sidebar .__close{font-size:2em;border:none;background:none;color:inherit;cursor:pointer}.baklava-sidebar .__interface{margin:.5em 0}.baklava-toolbar{position:absolute;left:0;top:0;width:100%;height:60px;z-index:3;padding:.5rem 2rem;background:var(--baklava-toolbar-background);color:var(--baklava-toolbar-foreground);display:flex;align-items:center}.baklava-toolbar-entry{margin-left:.5rem;margin-right:.5rem}.baklava-toolbar-button{color:var(--baklava-toolbar-foreground);background:none;border:none;transition:color var(--baklava-visual-transition)}.baklava-toolbar-button:not([disabled]){cursor:pointer}.baklava-toolbar-button:hover:not([disabled]){color:var(--baklava-control-color-primary)}.baklava-toolbar-button[disabled]{color:var(--baklava-control-color-disabled-foreground)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(5px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out!important}.fade-enter-from,.fade-leave-to{opacity:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PTSans,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1F2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4B5563}.dark input[type=file]::file-selector-button:hover{background:#6B7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6B7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-moz-range-thumb{background:#6B7280}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*{scrollbar-color:initial;scrollbar-width:initial}html{scroll-behavior:smooth}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-7277cfb8.ttf) format("truetype")}@font-face{font-family:PTSans;src:url(/assets/PTSans-Regular-23b91352.ttf) format("truetype")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-1{left:-.25rem}.-left-1\.5{left:-.375rem}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-5{bottom:1.25rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-7{left:1.75rem}.left-9{left:2.25rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-4\/5{height:80%}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-auto{height:auto}.h-full{height:100%}.h-modal{height:calc(100% - 2rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-6{max-height:1.5rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-\[900px\]{min-height:900px}.min-h-full{min-height:100%}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-\[23rem\]{min-width:23rem}.min-w-\[24rem\]{min-width:24rem}.min-w-\[300px\]{min-width:300px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[23rem\]{max-width:23rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-bg-dark{--tw-border-opacity: 1;border-color:rgb(19 46 89 / var(--tw-border-opacity))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(5 122 85 / var(--tw-border-opacity))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(4 108 78 / var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity: 1;border-color:rgb(214 31 105 / var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity: 1;border-color:rgb(191 18 93 / var(--tw-border-opacity))}.border-primary{--tw-border-opacity: 1;border-color:rgb(14 142 240 / var(--tw-border-opacity))}.border-primary-light{--tw-border-opacity: 1;border-color:rgb(61 171 255 / var(--tw-border-opacity))}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(126 58 242 / var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity: 1;border-color:rgb(108 43 217 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(224 36 36 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.border-secondary{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(227 160 8 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(240 112 14 / var(--tw-bg-opacity))}.bg-bg-dark-tone-panel{--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}.bg-bg-light{--tw-bg-opacity: 1;background-color:rgb(226 237 255 / var(--tw-bg-opacity))}.bg-bg-light-discussion{--tw-bg-opacity: 1;background-color:rgb(197 216 248 / var(--tw-bg-opacity))}.bg-bg-light-tone{--tw-bg-opacity: 1;background-color:rgb(185 210 247 / var(--tw-bg-opacity))}.bg-bg-light-tone-panel{--tw-bg-opacity: 1;background-color:rgb(143 181 239 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(222 247 236 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(49 196 141 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(229 237 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(88 80 236 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(254 236 220 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 232 243 / var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(14 142 240 / var(--tw-bg-opacity))}.bg-primary-light{--tw-bg-opacity: 1;background-color:rgb(61 171 255 / var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(237 235 254 / var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(253 232 232 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(249 128 128 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(15 217 116 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg-light{--tw-gradient-from: #e2edff var(--tw-gradient-from-position);--tw-gradient-to: rgb(226 237 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-bg-light-tone{--tw-gradient-from: #b9d2f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(185 210 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #F05252 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #0694A2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 148 162 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-5\%{--tw-gradient-from-position: 5%}.via-bg-light{--tw-gradient-to: rgb(226 237 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e2edff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-600{--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-600{--tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime-600{--tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #65a30d var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(214 31 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-600{--tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-600{--tw-gradient-to: rgb(4 116 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #047481 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-10\%{--tw-gradient-via-position: 10%}.to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1A56DB var(--tw-gradient-to-position)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #046C4E var(--tw-gradient-to-position)}.to-lime-200{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.to-lime-700{--tw-gradient-to: #4d7c0f var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #BF125D var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #C81E1E var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to: #036672 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position: 100%}.fill-blue-600{fill:#1c64f2}.fill-gray-300{fill:#d1d5db}.fill-gray-600{fill:#4b5563}.fill-green-500{fill:#0e9f6e}.fill-pink-600{fill:#d61f69}.fill-purple-600{fill:#7e3af2}.fill-red-600{fill:#e02424}.fill-secondary{fill:#0fd974}.fill-white{fill:#fff}.fill-yellow-400{fill:#e3a008}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-sans{font-family:PTSans,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-blue-100{--tw-text-opacity: 1;color:rgb(225 239 254 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-200{--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(4 108 78 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(81 69 205 / var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(66 56 157 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}.text-orange-200{--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(255 90 31 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity: 1;color:rgb(214 31 105 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(191 18 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(153 21 75 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(108 43 217 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(85 33 181 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}.text-secondary{--tw-text-opacity: 1;color:rgb(15 217 116 / var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}.text-opacity-95{--tw-text-opacity: .95}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/50{--tw-shadow-color: rgb(63 131 248 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-800\/80{--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/50{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-800\/80{--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/50{--tw-shadow-color: rgb(14 159 110 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-800\/80{--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/50{--tw-shadow-color: rgb(132 204 22 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-800\/80{--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/50{--tw-shadow-color: rgb(231 70 148 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-800\/80{--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/50{--tw-shadow-color: rgb(144 97 249 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-800\/80{--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(240 82 82 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-800\/80{--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/50{--tw-shadow-color: rgb(6 148 162 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale-0{--tw-grayscale: grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar{scrollbar-width:auto}.scrollbar::-webkit-scrollbar{display:block;width:var(--scrollbar-width, 16px);height:var(--scrollbar-height, 16px)}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar-track-bg-light{--scrollbar-track: #e2edff !important}.scrollbar-track-bg-light-tone{--scrollbar-track: #b9d2f7 !important}.scrollbar-thumb-bg-light-tone{--scrollbar-thumb: #b9d2f7 !important}.scrollbar-thumb-bg-light-tone-panel{--scrollbar-thumb: #8fb5ef !important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.display-none{display:none}h1{font-size:36px;font-weight:700}h2{font-size:24px;font-weight:700}h3{font-size:18px;font-weight:700}h4{font-size:18px;font-style:italic}p{font-size:16px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}ul{list-style-type:disc;margin-left:0}li{list-style-type:disc;margin-left:20px}ol{list-style-type:decimal;margin-left:20px}.odd\:bg-bg-light-tone:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(185 210 247 / var(--tw-bg-opacity))}.even\:bg-bg-light-discussion-odd:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(214 231 255 / var(--tw-bg-opacity))}.even\:bg-bg-light-tone-panel:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(143 181 239 / var(--tw-bg-opacity))}.group\/avatar:hover .group-hover\/avatar\:visible,.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:-translate-y-10{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-secondary{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.group:hover .group-hover\:bg-white\/50{background-color:#ffffff80}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity: 0}.group:hover .group-hover\:from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.group:hover .group-hover\:to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.group\/avatar:hover .group-hover\/avatar\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.group:focus .group-focus\:ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus .group-focus\:ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.peer:checked~.peer-checked\:text-primary{--tw-text-opacity: 1;color:rgb(14 142 240 / var(--tw-text-opacity))}.hover\:z-10:hover{z-index:10}.hover\:z-20:hover{z-index:20}.hover\:block:hover{display:block}.hover\:h-8:hover{height:2rem}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-95:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-2:hover{border-width:2px}.hover\:border-solid:hover{border-style:solid}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(188 240 218 / var(--tw-border-opacity))}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:rgb(14 142 240 / var(--tw-border-opacity))}.hover\:border-primary-light:hover{--tw-border-opacity: 1;border-color:rgb(61 171 255 / var(--tw-border-opacity))}.hover\:border-secondary:hover{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.hover\:bg-bg-light-tone:hover{--tw-bg-opacity: 1;background-color:rgb(185 210 247 / var(--tw-bg-opacity))}.hover\:bg-bg-light-tone-panel:hover{--tw-bg-opacity: 1;background-color:rgb(143 181 239 / var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 21 75 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{--tw-bg-opacity: 1;background-color:rgb(14 142 240 / var(--tw-bg-opacity))}.hover\:bg-primary-light:hover{--tw-bg-opacity: 1;background-color:rgb(61 171 255 / var(--tw-bg-opacity))}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(85 33 181 / var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.hover\:bg-gradient-to-bl:hover{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.hover\:bg-gradient-to-br:hover{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.hover\:bg-gradient-to-l:hover{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.hover\:from-teal-200:hover{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-lime-200:hover{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.hover\:fill-primary:hover{fill:#0e8ef0}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(14 142 240 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.hover\:text-secondary:hover{--tw-text-opacity: 1;color:rgb(15 217 116 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:scrollbar-thumb-primary{--scrollbar-thumb-hover: #0e8ef0 !important}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.focus\:border-secondary:focus{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.focus\:text-blue-700:focus{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity))}.focus\:ring-cyan-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 240 218 / var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(49 196 141 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity))}.focus\:ring-lime-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 215 254 / var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 191 253 / var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 180 / var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.focus\:ring-secondary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(15 217 116 / var(--tw-ring-opacity))}.focus\:ring-teal-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity))}.active\:scale-75:active{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scrollbar-thumb-secondary{--scrollbar-thumb-active: #0fd974 !important}:is(.dark .dark\:divide-gray-700)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}:is(.dark .dark\:border-bg-light){--tw-border-opacity: 1;border-color:rgb(226 237 255 / var(--tw-border-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}:is(.dark .dark\:border-green-500){--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-400){--tw-border-opacity: 1;border-color:rgb(241 126 184 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-500){--tw-border-opacity: 1;border-color:rgb(231 70 148 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-400){--tw-border-opacity: 1;border-color:rgb(172 148 250 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-500){--tw-border-opacity: 1;border-color:rgb(144 97 249 / var(--tw-border-opacity))}:is(.dark .dark\:border-red-500){--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-yellow-300){--tw-border-opacity: 1;border-color:rgb(250 202 21 / var(--tw-border-opacity))}:is(.dark .dark\:bg-bg-dark){--tw-bg-opacity: 1;background-color:rgb(19 46 89 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-bg-dark-discussion){--tw-bg-opacity: 1;background-color:rgb(67 94 138 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-bg-dark-tone){--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-bg-dark-tone-panel){--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-black){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-200){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-500){--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-800){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-400){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-200){--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-800){--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-200){--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-500){--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-700){--tw-bg-opacity: 1;background-color:rgb(180 52 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-800){--tw-bg-opacity: 1;background-color:rgb(138 44 13 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-200){--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-600){--tw-bg-opacity: 1;background-color:rgb(214 31 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-200){--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-500){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-600){--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-200){--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-600){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-800){--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-200){--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity: .8}:is(.dark .dark\:from-bg-dark){--tw-gradient-from: #132e59 var(--tw-gradient-from-position);--tw-gradient-to: rgb(19 46 89 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-bg-dark-tone){--tw-gradient-from: #25477d var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 71 125 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:via-bg-dark){--tw-gradient-to: rgb(19 46 89 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #132e59 var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:fill-gray-300){fill:#d1d5db}:is(.dark .dark\:fill-white){fill:#fff}:is(.dark .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-800){--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-500){--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-800){--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-900){--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-500){--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-900){--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}:is(.dark .dark\:text-orange-200){--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-400){--tw-text-opacity: 1;color:rgb(241 126 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-500){--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-900){--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(172 148 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-500){--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-900){--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-200){--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-800){--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-900){--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-50){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-800){--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-900){--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-blue-800\/80){--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-cyan-800\/80){--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-green-800\/80){--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-lime-800\/80){--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-pink-800\/80){--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-purple-800\/80){--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-red-800\/80){--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-teal-800\/80){--tw-shadow-color: rgb(5 80 92 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:ring-gray-500){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color: #374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color: #1F2937}:is(.dark .dark\:scrollbar-track-bg-dark){--scrollbar-track: #132e59 !important}:is(.dark .dark\:scrollbar-track-bg-dark-tone){--scrollbar-track: #25477d !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone){--scrollbar-thumb: #25477d !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone-panel){--scrollbar-thumb: #4367a3 !important}:is(.dark .odd\:dark\:bg-bg-dark-tone):nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .dark\:even\:bg-bg-dark-discussion-odd:nth-child(2n)){--tw-bg-opacity: 1;background-color:rgb(40 68 113 / var(--tw-bg-opacity))}:is(.dark .dark\:even\:bg-bg-dark-tone-panel:nth-child(2n)){--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}:is(.dark .group:hover .dark\:group-hover\:bg-gray-800\/60){background-color:#1f293799}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .group:focus .dark\:group-focus\:ring-gray-800\/70){--tw-ring-color: rgb(31 41 55 / .7)}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-primary:hover){--tw-border-opacity: 1;border-color:rgb(14 142 240 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-bg-dark-tone:hover){--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-300:hover){--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-300:hover){--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-500:hover){--tw-bg-opacity: 1;background-color:rgb(231 70 148 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-700:hover){--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary:hover){--tw-bg-opacity: 1;background-color:rgb(14 142 240 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-500:hover){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-700:hover){--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-300:hover){--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-700:hover){--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-300:hover){--tw-bg-opacity: 1;background-color:rgb(250 202 21 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-400:hover){--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone):hover{--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone-panel):hover{--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:fill-primary:hover){fill:#0e8ef0}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-900:hover){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:scrollbar-thumb-primary){--scrollbar-thumb-hover: #0e8ef0 !important}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-secondary:focus){--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-cyan-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-lime-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-400:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(155 28 28 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-secondary:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(15 217 116 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-yellow-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color: #374151}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:h-10{height:2.5rem}.sm\:h-6{height:1.5rem}.sm\:h-64{height:16rem}.sm\:w-1\/4{width:25%}.sm\:w-10{width:2.5rem}.sm\:w-6{width:1.5rem}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:rounded-lg{border-radius:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-center{text-align:center}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:order-2{order:2}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:w-48{width:12rem}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:rounded-none{border-radius:0}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:border-0{border-width:0px}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-6{padding:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-medium{font-weight:500}.md\:text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}:is(.dark .md\:dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .md\:dark\:hover\:bg-transparent:hover){background-color:transparent}:is(.dark .md\:dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:h-80{height:20rem}.xl\:w-1\/6{width:16.666667%}}@media (min-width: 1536px){.\32xl\:h-96{height:24rem}} +*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.code-container{display:flex;margin:0}.line-numbers{flex-shrink:0;padding-right:5px;color:#999;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.code-content{flex-grow:1;margin:0}.hovered{transition:transform .3s cubic-bezier(.175,.885,.32,1.275);transform:scale(1.1)}.active{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;pointer-events:all}select{width:200px}body{background-color:#fafafa;font-family:sans-serif}.container{margin:4px auto;width:800px}.settings{position:fixed;top:0;right:0;width:250px;background-color:#fff;z-index:1000;display:none}.settings-button{cursor:pointer;padding:10px;border:1px solid #ddd;border-radius:5px;color:#333;font-size:14px}.settings-button:hover{background-color:#eee}.settings-button:active{background-color:#ddd}.slider-container{margin-top:20px}.slider-value{display:inline-block;margin-left:10px;color:#6b7280;font-size:14px}.small-button{padding:.5rem .75rem;font-size:.875rem}.active-tab{font-weight:700}.scrollbar[data-v-b19a05a8]{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-color) var(--scrollbar-track-color);white-space:pre-wrap;overflow-wrap:break-word}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar{width:8px}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar-track{background-color:var(--scrollbar-track-color)}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-color);border-radius:4px}.scrollbar[data-v-b19a05a8]::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover-color)}.menu-container{position:relative;display:inline-block}.menu-button{background-color:#007bff;color:#fff;padding:10px;border:none;cursor:pointer;border-radius:4px}.menu-list{position:absolute;background-color:#fff;color:#000;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 4px #0003;padding:10px;max-width:500px;z-index:1000}.slide-enter-active,.slide-leave-active{transition:transform .2s}.slide-enter-to,.slide-leave-from{transform:translateY(-10px)}.menu-ul{list-style:none;padding:0;margin:0}.menu-li{cursor:pointer;display:flex;align-items:center;padding:5px}.menu-icon{width:20px;height:20px;margin-right:8px}.menu-command{min-width:200px;text-align:left}.selected-choice{background-color:#bde4ff}.heartbeat-text[data-v-c3765c36]{font-size:24px;animation:pulsate-c3765c36 1.5s infinite}@keyframes pulsate-c3765c36{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.7}to{transform:scale(1);opacity:1}}.list-move[data-v-c3765c36],.list-enter-active[data-v-c3765c36],.list-leave-active[data-v-c3765c36]{transition:all .5s ease}.list-enter-from[data-v-c3765c36]{transform:translatey(-30px)}.list-leave-to[data-v-c3765c36]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-c3765c36]{position:absolute}.bounce-enter-active[data-v-c3765c36]{animation:bounce-in-c3765c36 .5s}.bounce-leave-active[data-v-c3765c36]{animation:bounce-in-c3765c36 .5s reverse}@keyframes bounce-in-c3765c36{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.bg-primary-light[data-v-c3765c36]{background-color:#0ff}.hover[data-v-c3765c36]:bg-primary-light:hover{background-color:#7fffd4}.font-bold[data-v-c3765c36]{font-weight:700}.collapsible-section{cursor:pointer;margin-bottom:10px;font-weight:700}.collapsible-section:hover{color:#1a202c}.collapsible-section .toggle-icon{margin-right:.25rem}.collapsible-section .toggle-icon i{color:#4a5568}.collapsible-section .toggle-icon i:hover{color:#1a202c}.json-viewer{max-height:300px;max-width:700px;flex:auto;overflow-y:auto;padding:10px;background-color:#f1f1f1;border:1px solid #ccc;border-radius:4px}.json-viewer .toggle-icon{cursor:pointer;margin-right:.25rem}.json-viewer .toggle-icon i{color:#4a5568}.json-viewer .toggle-icon i:hover{color:#1a202c}.expand-button{margin-left:10px;margin-right:10px;background:none;border:none;padding:0;cursor:pointer}.htmljs{background:none}.bounce-enter-active[data-v-d16a58b9]{animation:bounce-in-d16a58b9 .5s}.bounce-leave-active[data-v-d16a58b9]{animation:bounce-in-d16a58b9 .5s reverse}@keyframes bounce-in-d16a58b9{0%{transform:scale(0)}50%{transform:scale(1.25)}to{transform:scale(1)}}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar{width:8px}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar-track{background-color:#f1f1f1}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar-thumb{background-color:#888;border-radius:4px}.custom-scrollbar[data-v-52cfa09c]::-webkit-scrollbar-thumb:hover{background-color:#555}.menu[data-v-52cfa09c]{display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper[data-v-52cfa09c]{position:relative;display:flex;flex-direction:column;align-items:center}.commands-menu-items-wrapper>#commands-menu-items[data-v-52cfa09c]{top:calc(-100% - 2rem)}.list-move[data-v-6b91f51b],.list-enter-active[data-v-6b91f51b],.list-leave-active[data-v-6b91f51b]{transition:all .5s ease}.list-enter-from[data-v-6b91f51b]{transform:translatey(-30px)}.list-leave-to[data-v-6b91f51b]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-6b91f51b]{position:absolute}.slide-right-enter-active[data-v-7a271009],.slide-right-leave-active[data-v-7a271009]{transition:transform .3s ease}.slide-right-enter[data-v-7a271009],.slide-right-leave-to[data-v-7a271009]{transform:translate(-100%)}.fade-and-fly-enter-active[data-v-7a271009]{animation:fade-and-fly-enter-7a271009 .5s ease}.fade-and-fly-leave-active[data-v-7a271009]{animation:fade-and-fly-leave-7a271009 .5s ease}@keyframes fade-and-fly-enter-7a271009{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-and-fly-leave-7a271009{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(1.2)}}.list-move[data-v-7a271009],.list-enter-active[data-v-7a271009],.list-leave-active[data-v-7a271009]{transition:all .5s ease}.list-enter-from[data-v-7a271009]{transform:translatey(-30px)}.list-leave-to[data-v-7a271009]{opacity:0;transform:translatey(30px)}.list-leave-active[data-v-7a271009]{position:absolute}.container{display:flex;justify-content:flex-start;align-items:flex-start;flex-wrap:wrap}.floating-frame{margin:15px;float:left;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;z-index:5000;position:fixed;cursor:move;bottom:0;right:0}.handle{width:100%;height:20px;background:#ccc;cursor:move;text-align:center}.floating-frame img{width:100%;height:auto}.controls{margin-top:10px}#webglContainer{top:0;left:0}.floating-frame2{margin:15px;width:800px;height:auto;border:1px solid #000;border-radius:4px;overflow:hidden;min-height:200px;z-index:5000}:root{--baklava-control-color-primary: #e28b46;--baklava-control-color-error: #d00000;--baklava-control-color-background: #2c3748;--baklava-control-color-foreground: white;--baklava-control-color-hover: #455670;--baklava-control-color-active: #556986;--baklava-control-color-disabled-foreground: #666c75;--baklava-control-border-radius: 3px;--baklava-sidebar-color-background: #1b202c;--baklava-sidebar-color-foreground: white;--baklava-node-color-background: #1b202c;--baklava-node-color-foreground: white;--baklava-node-color-hover: #e28c4677;--baklava-node-color-selected: var(--baklava-control-color-primary);--baklava-node-color-resize-handle: var(--baklava-control-color-background);--baklava-node-title-color-background: #151a24;--baklava-node-title-color-foreground: white;--baklava-group-node-title-color-background: #215636;--baklava-group-node-title-color-foreground: white;--baklava-node-interface-port-tooltip-color-foreground: var(--baklava-control-color-primary);--baklava-node-interface-port-tooltip-color-background: var(--baklava-editor-background-pattern-black);--baklava-node-border-radius: 6px;--baklava-color-connection-default: #737f96;--baklava-color-connection-allowed: #48bc79;--baklava-color-connection-forbidden: #bc4848;--baklava-editor-background-pattern-default: #202b3c;--baklava-editor-background-pattern-line: #263140;--baklava-editor-background-pattern-black: #263140;--baklava-context-menu-background: #1b202c;--baklava-context-menu-shadow: 0 0 8px rgba(0, 0, 0, .65);--baklava-toolbar-background: #1b202caa;--baklava-toolbar-foreground: white;--baklava-node-palette-background: #1b202caa;--baklava-node-palette-foreground: white;--baklava-visual-transition: .1s linear}.baklava-button{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);transition:background-color var(--baklava-visual-transition);border:none;padding:.45em .35em;border-radius:var(--baklava-control-border-radius);font-size:inherit;cursor:pointer;overflow-x:hidden}.baklava-button:hover{background-color:var(--baklava-control-color-hover)}.baklava-button:active{background-color:var(--baklava-control-color-primary)}.baklava-button.--block{width:100%}.baklava-checkbox{display:flex;padding:.35em 0;cursor:pointer;overflow-x:hidden;align-items:center}.baklava-checkbox .__checkmark-container{display:flex;background-color:var(--baklava-control-color-background);border-radius:var(--baklava-control-border-radius);transition:background-color var(--baklava-visual-transition);width:18px;height:18px}.baklava-checkbox:hover .__checkmark-container{background-color:var(--baklava-control-color-hover)}.baklava-checkbox:active .__checkmark-container{background-color:var(--baklava-control-color-active)}.baklava-checkbox .__checkmark{stroke-dasharray:15;stroke-dashoffset:15;stroke:var(--baklava-control-color-foreground);stroke-width:2px;fill:none;transition:stroke-dashoffset var(--baklava-visual-transition)}.baklava-checkbox.--checked .__checkmark{stroke-dashoffset:0}.baklava-checkbox.--checked .__checkmark-container{background-color:var(--baklava-control-color-primary)}.baklava-checkbox .__label{margin-left:.5rem}.baklava-context-menu{color:var(--baklava-control-color-foreground);position:absolute;display:inline-block;z-index:100;background-color:var(--baklava-context-menu-background);box-shadow:var(--baklava-context-menu-shadow);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);min-width:6rem;width:-moz-max-content;width:max-content}.baklava-context-menu>.item{display:flex;align-items:center;padding:.35em 1em;transition:background .05s linear;position:relative}.baklava-context-menu>.item>.__label{flex:1 1 auto}.baklava-context-menu>.item>.__submenu-icon{margin-left:.75rem}.baklava-context-menu>.item.--disabled{color:var(--baklava-control-color-hover)}.baklava-context-menu>.item:not(.--header):not(.--active):not(.--disabled):hover{background:var(--baklava-control-color-primary)}.baklava-context-menu>.item.--active{background:var(--baklava-control-color-primary)}.baklava-context-menu.--nested{left:100%;top:0}.baklava-context-menu.--flipped-x.--nested{left:unset;right:100%}.baklava-context-menu.--flipped-y.--nested{top:unset;bottom:0}.baklava-context-menu>.divider{margin:.35em 0;height:1px;background-color:var(--baklava-control-color-hover)}.baklava-icon{display:block;height:100%}.baklava-icon.--clickable{cursor:pointer;transition:color var(--baklava-visual-transition)}.baklava-icon.--clickable:hover{color:var(--baklava-control-color-primary)}.baklava-input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);border:none;border-radius:var(--baklava-control-border-radius);padding:.45em .75em;width:100%;transition:background-color var(--baklava-visual-transition);font-size:inherit;font:inherit}.baklava-input:hover{background-color:var(--baklava-control-color-hover)}.baklava-input:active{background-color:var(--baklava-control-color-active)}.baklava-input:focus-visible{outline:1px solid var(--baklava-control-color-primary)}.baklava-input[type=number]::-webkit-inner-spin-button,.baklava-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.baklava-input.--invalid{box-shadow:0 0 2px 2px var(--baklava-control-color-error)}.baklava-num-input{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);width:100%;display:grid;grid-template-columns:20px 1fr 20px}.baklava-num-input>.__button{display:flex;flex:0 0 auto;width:20px;justify-content:center;align-items:center;transition:background var(--baklava-visual-transition);cursor:pointer}.baklava-num-input>.__button:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__button:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__button.--dec{grid-area:1/1/span 1/span 1}.baklava-num-input>.__button.--dec>svg{transform:rotate(90deg)}.baklava-num-input>.__button.--inc{grid-area:1/3/span 1/span 1}.baklava-num-input>.__button.--inc>svg{transform:rotate(-90deg)}.baklava-num-input>.__button path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-num-input>.__content{grid-area:1/2/span 1/span 1;display:inline-flex;cursor:pointer;max-width:100%;min-width:0;align-items:center;transition:background-color var(--baklava-visual-transition)}.baklava-num-input>.__content:hover{background-color:var(--baklava-control-color-hover)}.baklava-num-input>.__content:active{background-color:var(--baklava-control-color-active)}.baklava-num-input>.__content>.__label,.baklava-num-input>.__content>.__value{margin:.35em 0;padding:0 .5em}.baklava-num-input>.__content>.__label{flex:1;min-width:0;overflow:hidden}.baklava-num-input>.__content>.__value{text-align:right}.baklava-num-input>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-select{width:100%;position:relative;color:var(--baklava-control-color-foreground)}.baklava-select.--open>.__selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.baklava-select.--open>.__selected>.__icon{transform:rotate(180deg)}.baklava-select>.__selected{background-color:var(--baklava-control-color-background);padding:.35em .75em;border-radius:var(--baklava-control-border-radius);transition:background var(--baklava-visual-transition);min-height:1.7em;display:flex;align-items:center;cursor:pointer}.baklava-select>.__selected:hover{background:var(--baklava-control-color-hover)}.baklava-select>.__selected:active{background:var(--baklava-control-color-active)}.baklava-select>.__selected>.__text{flex:1 0 auto;flex-basis:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.baklava-select>.__selected>.__icon{flex:0 0 auto;display:flex;justify-content:center;align-items:center;transition:transform .25s ease;width:18px;height:18px}.baklava-select>.__selected>.__icon path{stroke:var(--baklava-control-color-foreground);fill:var(--baklava-control-color-foreground)}.baklava-select>.__dropdown{position:absolute;top:100%;left:0;right:0;z-index:10;background-color:var(--baklava-context-menu-background);filter:drop-shadow(0 0 4px black);border-radius:0 0 var(--baklava-control-border-radius) var(--baklava-control-border-radius);max-height:15em;overflow-y:scroll}.baklava-select>.__dropdown::-webkit-scrollbar{width:0px;background:transparent}.baklava-select>.__dropdown>.item{padding:.35em .35em .35em 1em;transition:background .05s linear}.baklava-select>.__dropdown>.item:not(.--header):not(.--active){cursor:pointer}.baklava-select>.__dropdown>.item:not(.--header):not(.--active):hover{background:var(--baklava-control-color-hover)}.baklava-select>.__dropdown>.item.--active{background:var(--baklava-control-color-primary)}.baklava-select>.__dropdown>.item.--header{color:var(--baklava-control-color-disabled-foreground);border-bottom:1px solid var(--baklava-control-color-disabled-foreground);padding:.5em .35em .5em 1em}.baklava-slider{background:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);border-radius:var(--baklava-control-border-radius);position:relative;cursor:pointer}.baklava-slider>.__content{display:flex;position:relative}.baklava-slider>.__content>.__label,.baklava-slider>.__content>.__value{flex:1 1 auto;margin:.35em 0;padding:0 .5em;text-overflow:ellipsis}.baklava-slider>.__content>.__value{text-align:right}.baklava-slider>.__content>input{background-color:var(--baklava-control-color-background);color:var(--baklava-control-color-foreground);caret-color:var(--baklava-control-color-primary);padding:.35em;width:100%}.baklava-slider>.__slider{position:absolute;top:0;bottom:0;left:0;background-color:var(--baklava-control-color-primary);border-radius:var(--baklava-control-border-radius)}.baklava-connection{stroke:var(--baklava-color-connection-default);stroke-width:2px;fill:none}.baklava-connection.--temporary{stroke-width:4px;stroke-dasharray:5 5;stroke-dashoffset:0;animation:dash 1s linear infinite;transform:translateY(-1px)}@keyframes dash{to{stroke-dashoffset:20}}.baklava-connection.--allowed{stroke:var(--baklava-color-connection-allowed)}.baklava-connection.--forbidden{stroke:var(--baklava-color-connection-forbidden)}.baklava-minimap{position:absolute;height:15%;width:15%;min-width:150px;max-width:90%;top:20px;right:20px;z-index:900}.baklava-editor{width:100%;height:100%;position:relative;overflow:hidden;outline:none!important;font-family:Lato,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:15px;touch-action:none}.baklava-editor .background{background-color:var(--baklava-editor-background-pattern-default);background-image:linear-gradient(var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(90deg,var(--baklava-editor-background-pattern-black) 2px,transparent 2px),linear-gradient(var(--baklava-editor-background-pattern-line) 1px,transparent 1px),linear-gradient(90deg,var(--baklava-editor-background-pattern-line) 1px,transparent 1px);background-repeat:repeat;width:100%;height:100%;pointer-events:none!important}.baklava-editor *:not(input):not(textarea){user-select:none;-moz-user-select:none;-webkit-user-select:none;touch-action:none}.baklava-editor .input-user-select{user-select:auto;-moz-user-select:auto;-webkit-user-select:auto}.baklava-editor *,.baklava-editor *:after,.baklava-editor *:before{box-sizing:border-box}.baklava-editor.--temporary-connection{cursor:crosshair}.baklava-editor .connections-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none!important}.baklava-editor .node-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.baklava-editor .node-container *{pointer-events:all}.baklava-ignore-mouse *{pointer-events:none!important}.baklava-ignore-mouse .__port{pointer-events:all!important}.baklava-node-interface{padding:.25em 0;position:relative}.baklava-node-interface .__port{position:absolute;width:10px;height:10px;background:white;border-radius:50%;top:calc(50% - 5px);cursor:crosshair}.baklava-node-interface .__port.--selected{outline:2px var(--baklava-color-connection-default) solid;outline-offset:4px}.baklava-node-interface.--input{text-align:left;padding-left:.5em}.baklava-node-interface.--input .__port{left:-1.1em}.baklava-node-interface.--output{text-align:right;padding-right:.5em}.baklava-node-interface.--output .__port{right:-1.1em}.baklava-node-interface .__tooltip{position:absolute;left:5px;top:15px;transform:translate(-50%);background:var(--baklava-node-interface-port-tooltip-color-background);color:var(--baklava-node-interface-port-tooltip-color-foreground);padding:.25em .5em;text-align:center;z-index:2}.baklava-node-palette{position:absolute;left:0;top:60px;width:250px;height:calc(100% - 60px);z-index:3;padding:2rem;overflow-y:auto;background:var(--baklava-node-palette-background);color:var(--baklava-node-palette-foreground)}.baklava-node-palette h1{margin-top:2rem}.baklava-node.--palette{position:unset;margin:1rem 0;cursor:grab}.baklava-node.--palette:first-child{margin-top:0}.baklava-node.--palette .__title{padding:.5rem;border-radius:var(--baklava-node-border-radius)}.baklava-dragged-node{position:absolute;width:calc(250px - 4rem);height:40px;z-index:4;pointer-events:none}.baklava-node{background:var(--baklava-node-color-background);color:var(--baklava-node-color-foreground);border:1px solid transparent;border-radius:var(--baklava-node-border-radius);position:absolute;box-shadow:0 0 4px #000c;transition:border-color var(--baklava-visual-transition),box-shadow var(--baklava-visual-transition);width:var(--width)}.baklava-node:hover{border-color:var(--baklava-node-color-hover)}.baklava-node:hover .__resize-handle:after{opacity:1}.baklava-node.--selected{z-index:5;border-color:var(--baklava-node-color-selected)}.baklava-node.--dragging{box-shadow:0 0 12px #000c}.baklava-node.--dragging>.__title{cursor:grabbing}.baklava-node>.__title{display:flex;background:var(--baklava-node-title-color-background);color:var(--baklava-node-title-color-foreground);padding:.4em .75em;border-radius:var(--baklava-node-border-radius) var(--baklava-node-border-radius) 0 0;cursor:grab}.baklava-node>.__title>*:first-child{flex-grow:1}.baklava-node>.__title>.__title-label{pointer-events:none}.baklava-node>.__title>.__menu{position:relative;cursor:initial}.baklava-node[data-node-type^=__baklava_]>.__title{background:var(--baklava-group-node-title-color-background);color:var(--baklava-group-node-title-color-foreground)}.baklava-node>.__content{padding:.75em}.baklava-node>.__content>div>div{margin:.5em 0}.baklava-node.--two-column>.__content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-template-areas:". ." ". ."}.baklava-node.--two-column>.__content>.__inputs{grid-row:1;grid-column:1}.baklava-node.--two-column>.__content>.__outputs{grid-row:1;grid-column:2}.baklava-node .__resize-handle{position:absolute;right:0;bottom:0;width:1rem;height:1rem;transform:translate(50%);cursor:ew-resize}.baklava-node .__resize-handle:after{content:"";position:absolute;bottom:0;left:-.5rem;width:1rem;height:1rem;opacity:0;border-bottom-right-radius:var(--baklava-node-border-radius);transition:opacity var(--baklava-visual-transition);background:linear-gradient(-45deg,transparent 10%,var(--baklava-node-color-resize-handle) 10%,var(--baklava-node-color-resize-handle) 15%,transparent 15%,transparent 30%,var(--baklava-node-color-resize-handle) 30%,var(--baklava-node-color-resize-handle) 35%,transparent 35%,transparent 50%,var(--baklava-node-color-resize-handle) 50%,var(--baklava-node-color-resize-handle) 55%,transparent 55%)}.baklava-sidebar{position:absolute;height:100%;width:25%;min-width:300px;max-width:90%;top:0;right:0;z-index:1000;background-color:var(--baklava-sidebar-color-background);color:var(--baklava-sidebar-color-foreground);box-shadow:none;overflow-x:hidden;padding:1em;transform:translate(100%);transition:transform .5s;display:flex;flex-direction:column}.baklava-sidebar.--open{transform:translate(0);box-shadow:0 0 15px #000}.baklava-sidebar .__resizer{position:absolute;left:0;top:0;height:100%;width:4px;cursor:col-resize}.baklava-sidebar .__header{display:flex;align-items:center}.baklava-sidebar .__header .__node-name{margin-left:.5rem}.baklava-sidebar .__close{font-size:2em;border:none;background:none;color:inherit;cursor:pointer}.baklava-sidebar .__interface{margin:.5em 0}.baklava-toolbar{position:absolute;left:0;top:0;width:100%;height:60px;z-index:3;padding:.5rem 2rem;background:var(--baklava-toolbar-background);color:var(--baklava-toolbar-foreground);display:flex;align-items:center}.baklava-toolbar-entry{margin-left:.5rem;margin-right:.5rem}.baklava-toolbar-button{color:var(--baklava-toolbar-foreground);background:none;border:none;transition:color var(--baklava-visual-transition)}.baklava-toolbar-button:not([disabled]){cursor:pointer}.baklava-toolbar-button:hover:not([disabled]){color:var(--baklava-control-color-primary)}.baklava-toolbar-button[disabled]{color:var(--baklava-control-color-disabled-foreground)}.slide-fade-enter-active,.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(5px);opacity:0}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out!important}.fade-enter-from,.fade-leave-to{opacity:0}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:PTSans,Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.tooltip-arrow,.tooltip-arrow:before{position:absolute;width:8px;height:8px;background:inherit}.tooltip-arrow{visibility:hidden}.tooltip-arrow:before{content:"";visibility:visible;transform:rotate(45deg)}[data-tooltip-style^=light]+.tooltip>.tooltip-arrow:before{border-style:solid;border-color:#e5e7eb}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=top]>.tooltip-arrow:before{border-bottom-width:1px;border-right-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=right]>.tooltip-arrow:before{border-bottom-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=bottom]>.tooltip-arrow:before{border-top-width:1px;border-left-width:1px}[data-tooltip-style^=light]+.tooltip[data-popper-placement^=left]>.tooltip-arrow:before{border-top-width:1px;border-right-width:1px}.tooltip[data-popper-placement^=top]>.tooltip-arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.tooltip-arrow{top:-4px}.tooltip[data-popper-placement^=left]>.tooltip-arrow{right:-4px}.tooltip[data-popper-placement^=right]>.tooltip-arrow{left:-4px}.tooltip.invisible>.tooltip-arrow:before{visibility:hidden}[data-popper-arrow],[data-popper-arrow]:before{position:absolute;width:8px;height:8px;background:inherit}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{content:"";visibility:visible;transform:rotate(45deg)}[data-popper-arrow]:after{content:"";visibility:visible;transform:rotate(45deg);position:absolute;width:9px;height:9px;background:inherit}[role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:before{border-style:solid;border-color:#4b5563}[role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#e5e7eb}.dark [role=tooltip]>[data-popper-arrow]:after{border-style:solid;border-color:#4b5563}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]:after{border-bottom-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]:after{border-bottom-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:before{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]:after{border-top-width:1px;border-left-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:before{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]:after{border-top-width:1px;border-right-width:1px}[data-popover][role=tooltip][data-popper-placement^=top]>[data-popper-arrow]{bottom:-5px}[data-popover][role=tooltip][data-popper-placement^=bottom]>[data-popper-arrow]{top:-5px}[data-popover][role=tooltip][data-popper-placement^=left]>[data-popper-arrow]{right:-5px}[data-popover][role=tooltip][data-popper-placement^=right]>[data-popper-arrow]{left:-5px}[role=tooltip].invisible>[data-popper-arrow]:before{visibility:hidden}[role=tooltip].invisible>[data-popper-arrow]:after{visibility:hidden}[type=text],[type=email],[type=url],[type=password],[type=number],[type=date],[type=datetime-local],[type=month],[type=search],[type=tel],[type=time],[type=week],[multiple],textarea,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem;--tw-shadow: 0 0 #0000}[type=text]:focus,[type=email]:focus,[type=url]:focus,[type=password]:focus,[type=number]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=month]:focus,[type=search]:focus,[type=tel]:focus,[type=time]:focus,[type=week]:focus,[multiple]:focus,textarea:focus,select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-color:#1c64f2}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}select:not([size]){background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 10 6'%3e %3cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1 4 4 4-4'/%3e %3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75em .75em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#1c64f2;background-color:#fff;border-color:#6b7280;border-width:1px;--tw-shadow: 0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 2px;--tw-ring-offset-color: #fff;--tw-ring-color: #1C64F2;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked,.dark [type=checkbox]:checked,.dark [type=radio]:checked{border-color:transparent;background-color:currentColor;background-size:.55em .55em;background-position:center;background-repeat:no-repeat}[type=checkbox]:checked{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}.dark [type=radio]:checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");background-size:1em 1em}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml,%3csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 12'%3e %3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M1 5.917 5.724 10.5 15 1.5'/%3e %3c/svg%3e");background-color:currentColor;border-color:transparent;background-position:center;background-repeat:no-repeat;background-size:.55em .55em;-webkit-print-color-adjust:exact;print-color-adjust:exact}[type=checkbox]:indeterminate:hover,[type=checkbox]:indeterminate:focus{border-color:transparent;background-color:currentColor}[type=file]{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit}[type=file]:focus{outline:1px auto inherit}input[type=file]::file-selector-button{color:#fff;background:#1F2937;border:0;font-weight:500;font-size:.875rem;cursor:pointer;padding:.625rem 1rem .625rem 2rem;margin-inline-start:-1rem;margin-inline-end:1rem}input[type=file]::file-selector-button:hover{background:#374151}.dark input[type=file]::file-selector-button{color:#fff;background:#4B5563}.dark input[type=file]::file-selector-button:hover{background:#6B7280}input[type=range]::-webkit-slider-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-webkit-slider-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-webkit-slider-thumb{background:#6B7280}input[type=range]:focus::-webkit-slider-thumb{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-opacity: 1px;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}input[type=range]::-moz-range-thumb{height:1.25rem;width:1.25rem;background:#1C64F2;border-radius:9999px;border:0;appearance:none;-moz-appearance:none;-webkit-appearance:none;cursor:pointer}input[type=range]:disabled::-moz-range-thumb{background:#9CA3AF}.dark input[type=range]:disabled::-moz-range-thumb{background:#6B7280}input[type=range]::-moz-range-progress{background:#3F83F8}input[type=range]::-ms-fill-lower{background:#3F83F8}.toggle-bg:after{content:"";position:absolute;top:.125rem;left:.125rem;background:white;border-color:#d1d5db;border-width:1px;border-radius:9999px;height:1.25rem;width:1.25rem;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-duration:.15s;box-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}input:checked+.toggle-bg:after{transform:translate(100%);border-color:#fff}input:checked+.toggle-bg{background:#1C64F2;border-color:#1c64f2}*{scrollbar-color:initial;scrollbar-width:initial}html{scroll-behavior:smooth}@font-face{font-family:Roboto;src:url(/assets/Roboto-Regular-7277cfb8.ttf) format("truetype")}@font-face{font-family:PTSans;src:url(/assets/PTSans-Regular-23b91352.ttf) format("truetype")}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(63 131 248 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-bottom-1{bottom:-.25rem}.-bottom-1\.5{bottom:-.375rem}.-bottom-2{bottom:-.5rem}.-bottom-4{bottom:-1rem}.-left-1{left:-.25rem}.-left-1\.5{left:-.375rem}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-2\.5{bottom:.625rem}.bottom-5{bottom:1.25rem}.bottom-\[60px\]{bottom:60px}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-7{left:1.75rem}.left-9{left:2.25rem}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-3{top:.75rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.-m-1{margin:-.25rem}.-m-2{margin:-.5rem}.-m-4{margin:-1rem}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-1\.5{margin-left:-.375rem;margin-right:-.375rem}.-mx-2{margin-left:-.5rem;margin-right:-.5rem}.-mx-5{margin-left:-1.25rem;margin-right:-1.25rem}.-my-1{margin-top:-.25rem;margin-bottom:-.25rem}.-my-1\.5{margin-top:-.375rem;margin-bottom:-.375rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-36{height:9rem}.h-4{height:1rem}.h-4\/5{height:80%}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-auto{height:auto}.h-full{height:100%}.h-modal{height:calc(100% - 2rem)}.h-px{height:1px}.h-screen{height:100vh}.max-h-6{max-height:1.5rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.max-h-\[400px\]{max-height:400px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-\[900px\]{min-height:900px}.min-h-full{min-height:100%}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-4\/6{width:66.666667%}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-\[23rem\]{min-width:23rem}.min-w-\[24rem\]{min-width:24rem}.min-w-\[300px\]{min-width:300px}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[23rem\]{max-width:23rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[300px\]{max-width:300px}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-0{--tw-translate-y: -0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-75{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-none{transform:none}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.-space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1rem * var(--tw-space-x-reverse));margin-left:calc(-1rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-px>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-1px * var(--tw-space-x-reverse));margin-left:calc(-1px * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(243 244 246 / var(--tw-divide-opacity))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-4{border-width:4px}.border-x-0{border-left-width:0px;border-right-width:0px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-t-4{border-top-width:4px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-bg-dark{--tw-border-opacity: 1;border-color:rgb(19 46 89 / var(--tw-border-opacity))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(28 100 242 / var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity: 1;border-color:rgb(26 86 219 / var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}.border-green-600{--tw-border-opacity: 1;border-color:rgb(5 122 85 / var(--tw-border-opacity))}.border-green-700{--tw-border-opacity: 1;border-color:rgb(4 108 78 / var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity: 1;border-color:rgb(214 31 105 / var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity: 1;border-color:rgb(191 18 93 / var(--tw-border-opacity))}.border-primary{--tw-border-opacity: 1;border-color:rgb(14 142 240 / var(--tw-border-opacity))}.border-primary-light{--tw-border-opacity: 1;border-color:rgb(61 171 255 / var(--tw-border-opacity))}.border-purple-600{--tw-border-opacity: 1;border-color:rgb(126 58 242 / var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity: 1;border-color:rgb(108 43 217 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}.border-red-600{--tw-border-opacity: 1;border-color:rgb(224 36 36 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(200 30 30 / var(--tw-border-opacity))}.border-secondary{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity: 1;border-color:rgb(227 160 8 / var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(194 120 3 / var(--tw-border-opacity))}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(240 112 14 / var(--tw-bg-opacity))}.bg-bg-dark-tone-panel{--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}.bg-bg-light{--tw-bg-opacity: 1;background-color:rgb(226 237 255 / var(--tw-bg-opacity))}.bg-bg-light-discussion{--tw-bg-opacity: 1;background-color:rgb(197 216 248 / var(--tw-bg-opacity))}.bg-bg-light-tone{--tw-bg-opacity: 1;background-color:rgb(185 210 247 / var(--tw-bg-opacity))}.bg-bg-light-tone-panel{--tw-bg-opacity: 1;background-color:rgb(143 181 239 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(235 245 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(222 247 236 / var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(49 196 141 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(229 237 255 / var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(88 80 236 / var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity: 1;background-color:rgb(254 236 220 / var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity: 1;background-color:rgb(252 232 243 / var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}.bg-primary{--tw-bg-opacity: 1;background-color:rgb(14 142 240 / var(--tw-bg-opacity))}.bg-primary-light{--tw-bg-opacity: 1;background-color:rgb(61 171 255 / var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(237 235 254 / var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(253 232 232 / var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(249 128 128 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity: 1;background-color:rgb(15 217 116 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/30{background-color:#ffffff4d}.bg-white\/50{background-color:#ffffff80}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(253 246 178 / var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}.bg-opacity-50{--tw-bg-opacity: .5}.bg-opacity-70{--tw-bg-opacity: .7}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-bg-light{--tw-gradient-from: #e2edff var(--tw-gradient-from-position);--tw-gradient-to: rgb(226 237 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-bg-light-tone{--tw-gradient-from: #b9d2f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(185 210 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from: #3F83F8 var(--tw-gradient-from-position);--tw-gradient-to: rgb(63 131 248 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-500{--tw-gradient-from: #0E9F6E var(--tw-gradient-from-position);--tw-gradient-to: rgb(14 159 110 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-500{--tw-gradient-from: #84cc16 var(--tw-gradient-from-position);--tw-gradient-to: rgb(132 204 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-500{--tw-gradient-from: #F05252 var(--tw-gradient-from-position);--tw-gradient-to: rgb(240 82 82 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-200{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from: #0694A2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 148 162 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-5\%{--tw-gradient-from-position: 5%}.via-bg-light{--tw-gradient-to: rgb(226 237 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #e2edff var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-600{--tw-gradient-to: rgb(28 100 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1C64F2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan-600{--tw-gradient-to: rgb(8 145 178 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #0891b2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-green-600{--tw-gradient-to: rgb(5 122 85 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #057A55 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-lime-600{--tw-gradient-to: rgb(101 163 13 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #65a30d var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-pink-600{--tw-gradient-to: rgb(214 31 105 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #D61F69 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-purple-600{--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7E3AF2 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-600{--tw-gradient-to: rgb(224 36 36 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #E02424 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-teal-600{--tw-gradient-to: rgb(4 116 129 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #047481 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-10\%{--tw-gradient-via-position: 10%}.to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.to-blue-700{--tw-gradient-to: #1A56DB var(--tw-gradient-to-position)}.to-cyan-700{--tw-gradient-to: #0e7490 var(--tw-gradient-to-position)}.to-green-700{--tw-gradient-to: #046C4E var(--tw-gradient-to-position)}.to-lime-200{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.to-lime-700{--tw-gradient-to: #4d7c0f var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.to-pink-700{--tw-gradient-to: #BF125D var(--tw-gradient-to-position)}.to-purple-700{--tw-gradient-to: #6C2BD9 var(--tw-gradient-to-position)}.to-red-700{--tw-gradient-to: #C81E1E var(--tw-gradient-to-position)}.to-teal-700{--tw-gradient-to: #036672 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.to-100\%{--tw-gradient-to-position: 100%}.fill-blue-600{fill:#1c64f2}.fill-gray-300{fill:#d1d5db}.fill-gray-600{fill:#4b5563}.fill-green-500{fill:#0e9f6e}.fill-pink-600{fill:#d61f69}.fill-purple-600{fill:#7e3af2}.fill-red-600{fill:#e02424}.fill-secondary{fill:#0fd974}.fill-white{fill:#fff}.fill-yellow-400{fill:#e3a008}.object-cover{-o-object-fit:cover;object-fit:cover}.object-fill{-o-object-fit:fill;object-fit:fill}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-24{padding-top:6rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-sans{font-family:PTSans,Roboto,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.leading-6{line-height:1.5rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.text-blue-100{--tw-text-opacity: 1;color:rgb(225 239 254 / var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-200{--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(5 122 85 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(4 108 78 / var(--tw-text-opacity))}.text-green-800{--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(81 69 205 / var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity: 1;color:rgb(66 56 157 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}.text-orange-200{--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(255 90 31 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity: 1;color:rgb(214 31 105 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(191 18 93 / var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity: 1;color:rgb(153 21 75 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity: 1;color:rgb(126 58 242 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(108 43 217 / var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity: 1;color:rgb(85 33 181 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}.text-red-200{--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(249 128 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(200 30 30 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}.text-secondary{--tw-text-opacity: 1;color:rgb(15 217 116 / var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity: 1;color:rgb(2 6 23 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(227 160 8 / var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(142 75 16 / var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}.text-opacity-95{--tw-text-opacity: .95}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/50{--tw-shadow-color: rgb(63 131 248 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-800\/80{--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/50{--tw-shadow-color: rgb(6 182 212 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-800\/80{--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/50{--tw-shadow-color: rgb(14 159 110 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-800\/80{--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/50{--tw-shadow-color: rgb(132 204 22 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-800\/80{--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/50{--tw-shadow-color: rgb(231 70 148 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-800\/80{--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/50{--tw-shadow-color: rgb(144 97 249 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-800\/80{--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/50{--tw-shadow-color: rgb(240 82 82 / .5);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-800\/80{--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/50{--tw-shadow-color: rgb(6 148 162 / .5);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-blue-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale-0{--tw-grayscale: grayscale(0);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.scrollbar{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar{scrollbar-width:auto}.scrollbar::-webkit-scrollbar{display:block;width:var(--scrollbar-width, 16px);height:var(--scrollbar-height, 16px)}.scrollbar-thin{scrollbar-color:var(--scrollbar-thumb, initial) var(--scrollbar-track, initial)}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-track:hover{background-color:var(--scrollbar-track-hover, var(--scrollbar-track))}.scrollbar-thin::-webkit-scrollbar-track:active{background-color:var(--scrollbar-track-active, var(--scrollbar-track-hover, var(--scrollbar-track)))}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover, var(--scrollbar-thumb))}.scrollbar-thin::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active, var(--scrollbar-thumb-hover, var(--scrollbar-thumb)))}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin::-webkit-scrollbar-corner:hover{background-color:var(--scrollbar-corner-hover, var(--scrollbar-corner))}.scrollbar-thin::-webkit-scrollbar-corner:active{background-color:var(--scrollbar-corner-active, var(--scrollbar-corner-hover, var(--scrollbar-corner)))}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{display:block;width:8px;height:8px}.scrollbar-track-bg-light{--scrollbar-track: #e2edff !important}.scrollbar-track-bg-light-tone{--scrollbar-track: #b9d2f7 !important}.scrollbar-thumb-bg-light-tone{--scrollbar-thumb: #b9d2f7 !important}.scrollbar-thumb-bg-light-tone-panel{--scrollbar-thumb: #8fb5ef !important}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.display-none{display:none}h1{font-size:36px;font-weight:700}h2{font-size:24px;font-weight:700}h3{font-size:18px;font-weight:700}h4{font-size:18px;font-style:italic}p{font-size:16px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}ul{list-style-type:disc;margin-left:0}li{list-style-type:disc;margin-left:20px}ol{list-style-type:decimal;margin-left:20px}.odd\:bg-bg-light-tone:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(185 210 247 / var(--tw-bg-opacity))}.even\:bg-bg-light-discussion-odd:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(214 231 255 / var(--tw-bg-opacity))}.even\:bg-bg-light-tone-panel:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(143 181 239 / var(--tw-bg-opacity))}.group\/avatar:hover .group-hover\/avatar\:visible,.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:block{display:block}.group:hover .group-hover\:-translate-y-10{--tw-translate-y: -2.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:border-secondary{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.group:hover .group-hover\:bg-white\/50{background-color:#ffffff80}.group:hover .group-hover\:bg-opacity-0{--tw-bg-opacity: 0}.group:hover .group-hover\:from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-green-400{--tw-gradient-from: #31C48D var(--tw-gradient-from-position);--tw-gradient-to: rgb(49 196 141 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-pink-500{--tw-gradient-from: #E74694 var(--tw-gradient-from-position);--tw-gradient-to: rgb(231 70 148 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-500{--tw-gradient-from: #9061F9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(144 97 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-purple-600{--tw-gradient-from: #7E3AF2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 58 242 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-red-200{--tw-gradient-from: #FBD5D5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 213 213 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:from-teal-300{--tw-gradient-from: #7EDCE2 var(--tw-gradient-from-position);--tw-gradient-to: rgb(126 220 226 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.group:hover .group-hover\:via-red-300{--tw-gradient-to: rgb(248 180 180 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #F8B4B4 var(--tw-gradient-via-position), var(--tw-gradient-to)}.group:hover .group-hover\:to-blue-500{--tw-gradient-to: #3F83F8 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-blue-600{--tw-gradient-to: #1C64F2 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-lime-300{--tw-gradient-to: #bef264 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-orange-400{--tw-gradient-to: #FF8A4C var(--tw-gradient-to-position)}.group:hover .group-hover\:to-pink-500{--tw-gradient-to: #E74694 var(--tw-gradient-to-position)}.group:hover .group-hover\:to-yellow-200{--tw-gradient-to: #FCE96A var(--tw-gradient-to-position)}.group:hover .group-hover\:text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.group\/avatar:hover .group-hover\/avatar\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:focus .group-focus\:outline-none{outline:2px solid transparent;outline-offset:2px}.group:focus .group-focus\:ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.group:focus .group-focus\:ring-white{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 255 255 / var(--tw-ring-opacity))}.peer:checked~.peer-checked\:text-primary{--tw-text-opacity: 1;color:rgb(14 142 240 / var(--tw-text-opacity))}.hover\:z-10:hover{z-index:10}.hover\:z-20:hover{z-index:20}.hover\:block:hover{display:block}.hover\:h-8:hover{height:2rem}.hover\:-translate-y-2:hover{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-95:hover{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-2:hover{border-width:2px}.hover\:border-solid:hover{border-style:solid}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity: 1;border-color:rgb(188 240 218 / var(--tw-border-opacity))}.hover\:border-primary:hover{--tw-border-opacity: 1;border-color:rgb(14 142 240 / var(--tw-border-opacity))}.hover\:border-primary-light:hover{--tw-border-opacity: 1;border-color:rgb(61 171 255 / var(--tw-border-opacity))}.hover\:border-secondary:hover{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.hover\:bg-bg-light-tone:hover{--tw-bg-opacity: 1;background-color:rgb(185 210 247 / var(--tw-bg-opacity))}.hover\:bg-bg-light-tone-panel:hover{--tw-bg-opacity: 1;background-color:rgb(143 181 239 / var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(225 239 254 / var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity: 1;background-color:rgb(118 169 250 / var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity: 1;background-color:rgb(153 21 75 / var(--tw-bg-opacity))}.hover\:bg-primary:hover{--tw-bg-opacity: 1;background-color:rgb(14 142 240 / var(--tw-bg-opacity))}.hover\:bg-primary-light:hover{--tw-bg-opacity: 1;background-color:rgb(61 171 255 / var(--tw-bg-opacity))}.hover\:bg-purple-800:hover{--tw-bg-opacity: 1;background-color:rgb(85 33 181 / var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}.hover\:bg-white:hover{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity: 1;background-color:rgb(194 120 3 / var(--tw-bg-opacity))}.hover\:bg-gradient-to-bl:hover{background-image:linear-gradient(to bottom left,var(--tw-gradient-stops))}.hover\:bg-gradient-to-br:hover{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.hover\:bg-gradient-to-l:hover{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.hover\:from-teal-200:hover{--tw-gradient-from: #AFECEF var(--tw-gradient-from-position);--tw-gradient-to: rgb(175 236 239 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:to-lime-200:hover{--tw-gradient-to: #d9f99d var(--tw-gradient-to-position)}.hover\:fill-primary:hover{fill:#0e8ef0}.hover\:text-blue-400:hover{--tw-text-opacity: 1;color:rgb(118 169 250 / var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(28 100 242 / var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}.hover\:text-primary:hover{--tw-text-opacity: 1;color:rgb(14 142 240 / var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(224 36 36 / var(--tw-text-opacity))}.hover\:text-secondary:hover{--tw-text-opacity: 1;color:rgb(15 217 116 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:no-underline:hover{text-decoration-line:none}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:scrollbar-thumb-primary{--scrollbar-thumb-hover: #0e8ef0 !important}.focus\:z-10:focus{z-index:10}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(164 202 254 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}.focus\:border-secondary:focus{--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}.focus\:text-blue-700:focus{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-4:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(195 221 253 / var(--tw-ring-opacity))}.focus\:ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(164 202 254 / var(--tw-ring-opacity))}.focus\:ring-blue-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(118 169 250 / var(--tw-ring-opacity))}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}.focus\:ring-blue-700:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(26 86 219 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 243 252 / var(--tw-ring-opacity))}.focus\:ring-cyan-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(103 232 249 / var(--tw-ring-opacity))}.focus\:ring-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(229 231 235 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity))}.focus\:ring-gray-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(156 163 175 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 240 218 / var(--tw-ring-opacity))}.focus\:ring-green-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(132 225 188 / var(--tw-ring-opacity))}.focus\:ring-green-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(49 196 141 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(217 249 157 / var(--tw-ring-opacity))}.focus\:ring-lime-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(190 242 100 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 209 232 / var(--tw-ring-opacity))}.focus\:ring-pink-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 217 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(220 215 254 / var(--tw-ring-opacity))}.focus\:ring-purple-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(202 191 253 / var(--tw-ring-opacity))}.focus\:ring-red-100:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(253 232 232 / var(--tw-ring-opacity))}.focus\:ring-red-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 180 180 / var(--tw-ring-opacity))}.focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}.focus\:ring-secondary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(15 217 116 / var(--tw-ring-opacity))}.focus\:ring-teal-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(126 220 226 / var(--tw-ring-opacity))}.focus\:ring-yellow-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(250 202 21 / var(--tw-ring-opacity))}.focus\:ring-yellow-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(227 160 8 / var(--tw-ring-opacity))}.active\:scale-75:active{--tw-scale-x: .75;--tw-scale-y: .75;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scrollbar-thumb-secondary{--scrollbar-thumb-active: #0fd974 !important}:is(.dark .dark\:divide-gray-700)>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}:is(.dark .dark\:border-bg-light){--tw-border-opacity: 1;border-color:rgb(226 237 255 / var(--tw-border-opacity))}:is(.dark .dark\:border-blue-500){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-500){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-600){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-700){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-800){--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity))}:is(.dark .dark\:border-gray-900){--tw-border-opacity: 1;border-color:rgb(17 24 39 / var(--tw-border-opacity))}:is(.dark .dark\:border-green-500){--tw-border-opacity: 1;border-color:rgb(14 159 110 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-400){--tw-border-opacity: 1;border-color:rgb(241 126 184 / var(--tw-border-opacity))}:is(.dark .dark\:border-pink-500){--tw-border-opacity: 1;border-color:rgb(231 70 148 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-400){--tw-border-opacity: 1;border-color:rgb(172 148 250 / var(--tw-border-opacity))}:is(.dark .dark\:border-purple-500){--tw-border-opacity: 1;border-color:rgb(144 97 249 / var(--tw-border-opacity))}:is(.dark .dark\:border-red-500){--tw-border-opacity: 1;border-color:rgb(240 82 82 / var(--tw-border-opacity))}:is(.dark .dark\:border-transparent){border-color:transparent}:is(.dark .dark\:border-yellow-300){--tw-border-opacity: 1;border-color:rgb(250 202 21 / var(--tw-border-opacity))}:is(.dark .dark\:bg-bg-dark){--tw-bg-opacity: 1;background-color:rgb(19 46 89 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-bg-dark-discussion){--tw-bg-opacity: 1;background-color:rgb(67 94 138 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-bg-dark-tone){--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-bg-dark-tone-panel){--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-black){--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-200){--tw-bg-opacity: 1;background-color:rgb(195 221 253 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-500){--tw-bg-opacity: 1;background-color:rgb(63 131 248 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-600){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-700){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-800){--tw-bg-opacity: 1;background-color:rgb(30 66 159 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-blue-900){--tw-bg-opacity: 1;background-color:rgb(35 56 118 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-300){--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-400){--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-500){--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-600){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-700){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-gray-800\/30){background-color:#1f29374d}:is(.dark .dark\:bg-gray-800\/50){background-color:#1f293780}:is(.dark .dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-200){--tw-bg-opacity: 1;background-color:rgb(188 240 218 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-500){--tw-bg-opacity: 1;background-color:rgb(14 159 110 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-600){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-green-800){--tw-bg-opacity: 1;background-color:rgb(3 84 63 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-200){--tw-bg-opacity: 1;background-color:rgb(205 219 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-indigo-500){--tw-bg-opacity: 1;background-color:rgb(104 117 245 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-700){--tw-bg-opacity: 1;background-color:rgb(180 52 3 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-orange-800){--tw-bg-opacity: 1;background-color:rgb(138 44 13 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-200){--tw-bg-opacity: 1;background-color:rgb(250 209 232 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-pink-600){--tw-bg-opacity: 1;background-color:rgb(214 31 105 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-200){--tw-bg-opacity: 1;background-color:rgb(220 215 254 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-500){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-purple-600){--tw-bg-opacity: 1;background-color:rgb(126 58 242 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-200){--tw-bg-opacity: 1;background-color:rgb(251 213 213 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-500){--tw-bg-opacity: 1;background-color:rgb(240 82 82 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-600){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-red-800){--tw-bg-opacity: 1;background-color:rgb(155 28 28 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-yellow-200){--tw-bg-opacity: 1;background-color:rgb(252 233 106 / var(--tw-bg-opacity))}:is(.dark .dark\:bg-opacity-70){--tw-bg-opacity: .7}:is(.dark .dark\:bg-opacity-80){--tw-bg-opacity: .8}:is(.dark .dark\:from-bg-dark){--tw-gradient-from: #132e59 var(--tw-gradient-from-position);--tw-gradient-to: rgb(19 46 89 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:from-bg-dark-tone){--tw-gradient-from: #25477d var(--tw-gradient-from-position);--tw-gradient-to: rgb(37 71 125 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}:is(.dark .dark\:via-bg-dark){--tw-gradient-to: rgb(19 46 89 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #132e59 var(--tw-gradient-via-position), var(--tw-gradient-to)}:is(.dark .dark\:fill-gray-300){fill:#d1d5db}:is(.dark .dark\:fill-white){fill:#fff}:is(.dark .dark\:text-blue-200){--tw-text-opacity: 1;color:rgb(195 221 253 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-800){--tw-text-opacity: 1;color:rgb(30 66 159 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-200){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-300){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-400){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-500){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-600){--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}:is(.dark .dark\:text-gray-800){--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-200){--tw-text-opacity: 1;color:rgb(188 240 218 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-500){--tw-text-opacity: 1;color:rgb(14 159 110 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-800){--tw-text-opacity: 1;color:rgb(3 84 63 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-900){--tw-text-opacity: 1;color:rgb(1 71 55 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-500){--tw-text-opacity: 1;color:rgb(104 117 245 / var(--tw-text-opacity))}:is(.dark .dark\:text-indigo-900){--tw-text-opacity: 1;color:rgb(54 47 120 / var(--tw-text-opacity))}:is(.dark .dark\:text-orange-200){--tw-text-opacity: 1;color:rgb(252 217 189 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-400){--tw-text-opacity: 1;color:rgb(241 126 184 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-500){--tw-text-opacity: 1;color:rgb(231 70 148 / var(--tw-text-opacity))}:is(.dark .dark\:text-pink-900){--tw-text-opacity: 1;color:rgb(117 26 61 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-400){--tw-text-opacity: 1;color:rgb(172 148 250 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-500){--tw-text-opacity: 1;color:rgb(144 97 249 / var(--tw-text-opacity))}:is(.dark .dark\:text-purple-900){--tw-text-opacity: 1;color:rgb(74 29 150 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-200){--tw-text-opacity: 1;color:rgb(251 213 213 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(240 82 82 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-800){--tw-text-opacity: 1;color:rgb(155 28 28 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-900){--tw-text-opacity: 1;color:rgb(119 29 29 / var(--tw-text-opacity))}:is(.dark .dark\:text-slate-50){--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity))}:is(.dark .dark\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-300){--tw-text-opacity: 1;color:rgb(250 202 21 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-500){--tw-text-opacity: 1;color:rgb(194 120 3 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-800){--tw-text-opacity: 1;color:rgb(114 59 19 / var(--tw-text-opacity))}:is(.dark .dark\:text-yellow-900){--tw-text-opacity: 1;color:rgb(99 49 18 / var(--tw-text-opacity))}:is(.dark .dark\:placeholder-gray-400)::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:placeholder-gray-400)::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}:is(.dark .dark\:shadow-lg){--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-blue-800\/80){--tw-shadow-color: rgb(30 66 159 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-cyan-800\/80){--tw-shadow-color: rgb(21 94 117 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-green-800\/80){--tw-shadow-color: rgb(3 84 63 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-lime-800\/80){--tw-shadow-color: rgb(63 98 18 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-pink-800\/80){--tw-shadow-color: rgb(153 21 75 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-purple-800\/80){--tw-shadow-color: rgb(85 33 181 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-red-800\/80){--tw-shadow-color: rgb(155 28 28 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:shadow-teal-800\/80){--tw-shadow-color: rgb(5 80 92 / .8);--tw-shadow: var(--tw-shadow-colored)}:is(.dark .dark\:ring-gray-500){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:ring-offset-gray-700){--tw-ring-offset-color: #374151}:is(.dark .dark\:ring-offset-gray-800){--tw-ring-offset-color: #1F2937}:is(.dark .dark\:scrollbar-track-bg-dark){--scrollbar-track: #132e59 !important}:is(.dark .dark\:scrollbar-track-bg-dark-tone){--scrollbar-track: #25477d !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone){--scrollbar-thumb: #25477d !important}:is(.dark .dark\:scrollbar-thumb-bg-dark-tone-panel){--scrollbar-thumb: #4367a3 !important}:is(.dark .odd\:dark\:bg-bg-dark-tone):nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .dark\:even\:bg-bg-dark-discussion-odd:nth-child(2n)){--tw-bg-opacity: 1;background-color:rgb(40 68 113 / var(--tw-bg-opacity))}:is(.dark .dark\:even\:bg-bg-dark-tone-panel:nth-child(2n)){--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}:is(.dark .group:hover .dark\:group-hover\:bg-gray-800\/60){background-color:#1f293799}:is(.dark .group:hover .dark\:group-hover\:text-white){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .group:focus .dark\:group-focus\:ring-gray-800\/70){--tw-ring-color: rgb(31 41 55 / .7)}:is(.dark .dark\:hover\:border-gray-600:hover){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-primary:hover){--tw-border-opacity: 1;border-color:rgb(14 142 240 / var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-bg-dark-tone:hover){--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-300:hover){--tw-bg-opacity: 1;background-color:rgb(164 202 254 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-600:hover){--tw-bg-opacity: 1;background-color:rgb(28 100 242 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-blue-700:hover){--tw-bg-opacity: 1;background-color:rgb(26 86 219 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-600:hover){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-700:hover){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-gray-800:hover){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-300:hover){--tw-bg-opacity: 1;background-color:rgb(132 225 188 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-600:hover){--tw-bg-opacity: 1;background-color:rgb(5 122 85 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-green-700:hover){--tw-bg-opacity: 1;background-color:rgb(4 108 78 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-500:hover){--tw-bg-opacity: 1;background-color:rgb(231 70 148 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-pink-700:hover){--tw-bg-opacity: 1;background-color:rgb(191 18 93 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-primary:hover){--tw-bg-opacity: 1;background-color:rgb(14 142 240 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-500:hover){--tw-bg-opacity: 1;background-color:rgb(144 97 249 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-purple-700:hover){--tw-bg-opacity: 1;background-color:rgb(108 43 217 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-300:hover){--tw-bg-opacity: 1;background-color:rgb(248 180 180 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-600:hover){--tw-bg-opacity: 1;background-color:rgb(224 36 36 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-red-700:hover){--tw-bg-opacity: 1;background-color:rgb(200 30 30 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-300:hover){--tw-bg-opacity: 1;background-color:rgb(250 202 21 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-yellow-400:hover){--tw-bg-opacity: 1;background-color:rgb(227 160 8 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone):hover{--tw-bg-opacity: 1;background-color:rgb(37 71 125 / var(--tw-bg-opacity))}:is(.dark .hover\:dark\:bg-bg-dark-tone-panel):hover{--tw-bg-opacity: 1;background-color:rgb(67 103 163 / var(--tw-bg-opacity))}:is(.dark .dark\:hover\:fill-primary:hover){fill:#0e8ef0}:is(.dark .dark\:hover\:text-blue-500:hover){--tw-text-opacity: 1;color:rgb(63 131 248 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-300:hover){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-gray-900:hover){--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:scrollbar-thumb-primary){--scrollbar-thumb-hover: #0e8ef0 !important}:is(.dark .dark\:focus\:border-blue-500:focus){--tw-border-opacity: 1;border-color:rgb(63 131 248 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:border-secondary:focus){--tw-border-opacity: 1;border-color:rgb(15 217 116 / var(--tw-border-opacity))}:is(.dark .dark\:focus\:text-white:focus){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}:is(.dark .dark\:focus\:ring-blue-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 131 248 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(28 100 242 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-blue-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(30 66 159 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-cyan-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(21 94 117 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-500:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-600:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(75 85 99 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(55 65 81 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-gray-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(31 41 55 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-green-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 84 63 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-lime-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(63 98 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(153 21 75 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-pink-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(117 26 61 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(85 33 181 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-purple-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(74 29 150 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-400:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(249 128 128 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(155 28 28 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-red-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(119 29 29 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-secondary:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(15 217 116 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-700:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(3 102 114 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-teal-800:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(5 80 92 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-yellow-900:focus){--tw-ring-opacity: 1;--tw-ring-color: rgb(99 49 18 / var(--tw-ring-opacity))}:is(.dark .dark\:focus\:ring-offset-gray-700:focus){--tw-ring-offset-color: #374151}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:h-10{height:2.5rem}.sm\:h-6{height:1.5rem}.sm\:h-64{height:16rem}.sm\:w-1\/4{width:25%}.sm\:w-10{width:2.5rem}.sm\:w-6{width:1.5rem}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:rounded-lg{border-radius:.5rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:text-center{text-align:center}.sm\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width: 768px){.md\:inset-0{top:0;right:0;bottom:0;left:0}.md\:order-2{order:2}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:mr-6{margin-right:1.5rem}.md\:mt-0{margin-top:0}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-auto{height:auto}.md\:h-full{height:100%}.md\:w-1\/4{width:25%}.md\:w-48{width:12rem}.md\:w-auto{width:auto}.md\:max-w-xl{max-width:36rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.md\:space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.md\:rounded-none{border-radius:0}.md\:rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.md\:border-0{border-width:0px}.md\:bg-transparent{background-color:transparent}.md\:p-0{padding:0}.md\:p-6{padding:1.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:font-medium{font-weight:500}.md\:text-blue-700{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}.md\:hover\:bg-transparent:hover{background-color:transparent}.md\:hover\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(26 86 219 / var(--tw-text-opacity))}:is(.dark .md\:dark\:bg-gray-900){--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity))}:is(.dark .md\:dark\:hover\:bg-transparent:hover){background-color:transparent}:is(.dark .md\:dark\:hover\:text-white:hover){--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 1024px){.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}}@media (min-width: 1280px){.xl\:h-80{height:20rem}.xl\:w-1\/6{width:16.666667%}}@media (min-width: 1536px){.\32xl\:h-96{height:24rem}} diff --git a/web/dist/assets/index-be733980.js b/web/dist/assets/index-c332aeeb.js similarity index 98% rename from web/dist/assets/index-be733980.js rename to web/dist/assets/index-c332aeeb.js index 3dabd699..0270853c 100644 --- a/web/dist/assets/index-be733980.js +++ b/web/dist/assets/index-c332aeeb.js @@ -96,11 +96,11 @@ License: MIT `:"\r"}(Z,M)),P=!1,R.delimiter)w(R.delimiter)&&(R.delimiter=R.delimiter(Z),J.meta.delimiter=R.delimiter);else{var G=function(oe,ne,ve,we,V){var ce,ie,re,I;V=V||[","," ","|",";",l.RECORD_SEP,l.UNIT_SEP];for(var N=0;N=L)return Ve(!0)}else for(z=k,k++;;){if((z=K.indexOf(v,z+1))===-1)return le||ue.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:X.length,index:k}),Se();if(z===J-1)return Se(K.substring(k,z).replace(N,v));if(v!==B||K[z+1]!==B){if(v===B||z===0||K[z-1]!==B){re!==-1&&re=L)return Ve(!0);break}ue.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:X.length,index:k}),z++}}else z++}return Se();function te(De){X.push(De),ge=k}function Re(De){var it=0;if(De!==-1){var Qe=K.substring(z+1,De);Qe&&Qe.trim()===""&&(it=Qe.length)}return it}function Se(De){return le||(De===void 0&&(De=K.substring(k)),Z.push(De),k=J,te(Z),Ce&&nt()),Ve()}function Le(De){k=De,te(Z),Z=[],I=K.indexOf(P,k)}function Ve(De){return{data:X,errors:ue,meta:{delimiter:A,linebreak:P,aborted:$,truncated:!!De,cursor:ge+(W||0)}}}function nt(){Y(Ve()),X=[],ue=[]}},this.abort=function(){$=!0},this.getCharIndex=function(){return k}}function S(R){var v=R.data,A=o[v.workerId],P=!1;if(v.error)A.userError(v.error,v.file);else if(v.results&&v.results.data){var U={abort:function(){P=!0,y(v.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:T,resume:T};if(w(A.userStep)){for(var Y=0;Yn.text()).then(n=>{const{data:e}=aJe.parse(n,{header:!0});console.log("Recovered data"),console.log(e),this.faqs=e}).catch(n=>{console.error("Error loading FAQs:",n)})},parseMultiline(n){return n.replace(/\n/g,"
")}}},ks=n=>(lo("data-v-b19a05a8"),n=n(),co(),n),cJe={class:"container flex-row mx-auto p-4 bg-bg-light-tone dark:bg-bg-dark-tone shadow-lg overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-1 md:grid-cols-2 gap-4"},dJe=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"About Lord of large Language Models",-1)),uJe={class:"mb-4"},pJe=ks(()=>_("p",null,[je("Discord link: "),_("a",{class:"text-blue-500 hover:text-blue-400 duration-150",href:"https://discord.gg/YgnaFMAQ"},"https://discord.gg/YgnaFMAQ")],-1)),_Je=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"Frequently Asked Questions",-1)),hJe={class:"list-disc pl-4"},fJe={class:"text-xl font-bold mb-1"},mJe=["innerHTML"],gJe=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"Contact Us",-1)),EJe=ks(()=>_("p",{class:"mb-4"},"If you have any further questions or need assistance, feel free to reach out to me.",-1)),bJe=ks(()=>_("p",null,[je("Discord link: "),_("a",{class:"text-blue-500 hover:text-blue-400 duration-150",href:"https://discord.gg/YgnaFMAQ"},"https://discord.gg/YgnaFMAQ")],-1)),SJe=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"Credits",-1)),vJe=ks(()=>_("p",{class:"mb-4"},[je("This project is developed by "),_("span",{class:"font-bold"},"ParisNeo"),je(" With help from the community.")],-1)),yJe=ks(()=>_("p",{class:"mb-4"},[_("span",{class:"font-bold"},[_("a",{href:"https://github.com/ParisNeo/lollms-webui/graphs/contributors"},"Check out the full list of developers here and show them some love.")])],-1)),TJe=["href"];function xJe(n,e,t,i,s,r){const o=_t("Card");return O(),D("div",cJe,[Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[dJe,_("p",uJe," Lollms version "+he(r.version),1),pJe]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[_Je,_("ul",hJe,[(O(!0),D($e,null,lt(s.faqs,(a,l)=>(O(),D("li",{key:l},[_("h3",fJe,he(a.question),1),_("p",{class:"mb-4",innerHTML:r.parseMultiline(a.answer)},null,8,mJe)]))),128))])]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[gJe,EJe,bJe]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[SJe,vJe,yJe,_("p",null,[je("Check out the project on "),_("a",{class:"text-blue-500 hover:text-blue-400 duration-150",href:s.githubLink,target:"_blank",rel:"noopener noreferrer"},"GitHub",8,TJe),je(".")])]),_:1})])}const CJe=gt(lJe,[["render",xJe],["__scopeId","data-v-b19a05a8"]]);function Ki(n,e=!0,t=1){const i=e?1e3:1024;if(Math.abs(n)=i&&r{Be.replace()})},executeCommand(n){this.isMenuOpen=!1,console.log("Selected"),console.log(n.value),typeof n.value=="function"&&(console.log("Command detected"),n.value()),this.execute_cmd&&(console.log("executing generic command"),this.execute_cmd(n))},positionMenu(){var n;if(this.$refs.menuButton!=null){if(this.force_position==0||this.force_position==null){const e=this.$refs.menuButton.getBoundingClientRect(),t=window.innerHeight;n=e.bottom>t/2}else this.force_position==1?n=!0:n=!1;this.menuPosition.top=n?"auto":"calc(100% + 10px)",this.menuPosition.bottom=n?"100%":"auto"}}},mounted(){window.addEventListener("resize",this.positionMenu),this.positionMenu(),Fe(()=>{Be.replace()})},beforeDestroy(){window.removeEventListener("resize",this.positionMenu)},watch:{isMenuOpen:"positionMenu"}},AJe={class:"menu-container"},wJe=["title"],NJe=["src"],OJe=["data-feather"],IJe={key:2,class:"w-5 h-5"},MJe={key:3,"data-feather":"menu"},DJe={class:"flex-grow menu-ul"},LJe=["onClick"],kJe={key:0,"data-feather":"check"},PJe=["src","alt"],UJe=["data-feather"],FJe={key:3,class:"menu-icon"};function BJe(n,e,t,i,s,r){return O(),D("div",AJe,[_("button",{onClick:e[0]||(e[0]=Te((...o)=>r.toggleMenu&&r.toggleMenu(...o),["prevent"])),title:t.title,class:He([t.menuIconClass,"menu-button m-0 p-0 bg-blue-500 text-white dark:bg-blue-200 dark:text-gray-800 rounded flex items-center justify-center w-6 h-6 border-none cursor-pointer hover:bg-blue-400 w-8 h-8 object-fill text-red-700 border-2 active:scale-90 hover:z-20 hover:-translate-y-2 duration-150 border-gray-300 border-secondary cursor-pointer"]),ref:"menuButton"},[t.icon&&!t.icon.includes("#")&&!t.icon.includes("feather")?(O(),D("img",{key:0,src:t.icon,class:"w-5 h-5 p-0 m-0 shadow-lg bold"},null,8,NJe)):t.icon&&t.icon.includes("feather")?(O(),D("i",{key:1,"data-feather":t.icon.split(":")[1],class:"w-5 h-5"},null,8,OJe)):t.icon&&t.icon.includes("#")?(O(),D("p",IJe,he(t.icon.split("#")[1]),1)):(O(),D("i",MJe))],10,wJe),Ie(ws,{name:"slide"},{default:ot(()=>[s.isMenuOpen?(O(),D("div",{key:0,class:"menu-list flex-grow",style:Xt(s.menuPosition),ref:"menu"},[_("ul",DJe,[(O(!0),D($e,null,lt(t.commands,(o,a)=>(O(),D("li",{key:a,onClick:Te(l=>r.executeCommand(o),["prevent"]),class:"menu-command menu-li flex-grow hover:bg-blue-400"},[t.selected_entry==o.name?(O(),D("i",kJe)):o.icon&&!o.icon.includes("feather")&&!o.is_file?(O(),D("img",{key:1,src:o.icon,alt:o.name,class:"menu-icon"},null,8,PJe)):j("",!0),o.icon&&o.icon.includes("feather")&&!o.is_file?(O(),D("i",{key:2,"data-feather":o.icon.split(":")[1],class:"mr-2"},null,8,UJe)):(O(),D("span",FJe)),_("span",null,he(o.name),1)],8,LJe))),128))])],4)):j("",!0)]),_:1})])}const uc=gt(RJe,[["render",BJe]]),GJe={components:{InteractiveMenu:uc},props:{isInstalled:Boolean,onInstall:Function,onCancelInstall:Function,onUninstall:Function,onSelected:Function,onCopy:Function,onCopyLink:Function,selected:Boolean,model:Object,model_type:String},data(){return{progress:0,speed:0,total_size:0,downloaded_size:0,start_time:"",installing:!1,uninstalling:!1,failedToLoad:!1,linkNotValid:!1,selected_variant:""}},async mounted(){Fe(()=>{Be.replace()})},methods:{formatFileSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},computedFileSize(n){return Ki(n)},getImgUrl(){return this.model.icon==null||this.model.icon==="/images/default_model.png"?zi:this.model.icon},defaultImg(n){n.target.src=zi},toggleInstall(){this.isInstalled?(this.uninstalling=!0,this.onUninstall(this)):this.onInstall(this)},toggleSelected(n=!1){this.onSelected(this,n),this.model.selected=!0,Fe(()=>{Be.replace()})},toggleCopy(){this.onCopy(this)},toggleCopyLink(){this.onCopyLink(this)},toggleCancelInstall(){this.onCancelInstall(this),this.installing=!1},handleSelection(){this.isInstalled&&!this.selected&&this.onSelected(this)},copyContentToClipboard(){this.$emit("copy","this.message.content")}},computed:{computed_classes(){return this.model.isInstalled?this.selected?"border-4 border-gray-200 bg-primary cursor-pointer":"border-0 border-primary bg-primary cursor-pointer":"border-transparent"},commandsList(){let n=[{name:this.model.isInstalled?"Uninstall":"Install",icon:"feather:settings",is_file:!1,value:this.toggleInstall},{name:"Copy model info to clipboard",icon:"feather:settings",is_file:!1,value:this.toggleCopy}];return this.selected&&n.push({name:"Reload",icon:"feather:refresh-ccw",is_file:!1,value:this.toggleSelected}),n},selected_computed(){return this.selected},fileSize:{get(){if(this.model&&this.model.variants&&this.model.variants.length>0){const n=this.model.variants[0].size;return this.formatFileSize(n)}return null}},speed_computed(){return Ki(this.speed)},total_size_computed(){return Ki(this.total_size)},downloaded_size_computed(){return Ki(this.downloaded_size)}},watch:{linkNotValid(){Fe(()=>{Be.replace()})}}},VJe=["title"],zJe={key:0,class:"flex flex-row"},HJe={class:"max-w-[300px] overflow-x-auto"},qJe={class:"flex gap-3 items-center grow"},YJe=["href"],$Je=["src"],WJe={class:"flex-1 overflow-hidden"},KJe={class:"font-bold font-large text-lg truncate"},jJe={key:1,class:"flex items-center flex-row gap-2 my-1"},QJe={class:"flex grow items-center"},XJe=_("i",{"data-feather":"box",class:"w-5"},null,-1),ZJe=_("span",{class:"sr-only"},"Custom model / local model",-1),JJe=[XJe,ZJe],eet=_("span",{class:"sr-only"},"Remove",-1),tet={key:2,class:"absolute z-10 -m-4 p-5 shadow-md text-center rounded-lg w-full h-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel bg-opacity-70 dark:bg-opacity-70 flex justify-center items-center"},net={class:"relative flex flex-col items-center justify-center flex-grow h-full"},iet=_("div",{role:"status",class:"justify-center"},[_("svg",{"aria-hidden":"true",class:"w-24 h-24 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1),set={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},ret={class:"w-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel rounded-lg p-2"},oet={class:"flex justify-between mb-1"},aet=_("span",{class:"text-base font-medium text-blue-700 dark:text-white"},"Downloading",-1),cet={class:"text-sm font-medium text-blue-700 dark:text-white"},det={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},uet={class:"flex justify-between mb-1"},pet={class:"text-base font-medium text-blue-700 dark:text-white"},_et={class:"text-sm font-medium text-blue-700 dark:text-white"},het={class:"flex flex-grow"},fet={class:"flex flex-row flex-grow gap-3"},met={class:"p-2 text-center grow"},get={key:3},Eet={class:"flex flex-row items-center gap-3"},bet=["src"],vet={class:"font-bold font-large text-lg truncate"},yet=_("div",{class:"grow"},null,-1),Tet={class:"flex items-center flex-row-reverse gap-2 my-1"},xet={class:"flex flex-row items-center"},Cet={key:0,class:"text-base text-red-600 flex items-center mt-1"},Ret=_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0 mx-1"},null,-1),Aet=["title"],wet={class:""},Net={class:"flex flex-row items-center"},Oet=_("i",{"data-feather":"download",class:"w-5 m-1 flex-shrink-0"},null,-1),Iet=_("b",null,"Card: ",-1),Met=["href","title"],Det=_("div",{class:"grow"},null,-1),Let=_("i",{"data-feather":"clipboard",class:"w-5"},null,-1),ket=[Let],Pet={class:"flex items-center"},Uet=_("i",{"data-feather":"file",class:"w-5 m-1"},null,-1),Fet=_("b",null,"File size: ",-1),Bet={class:"flex items-center"},Get=_("i",{"data-feather":"key",class:"w-5 m-1"},null,-1),Vet=_("b",null,"License: ",-1),zet={key:0,class:"flex items-center"},Het=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),qet=_("b",null,"quantizer: ",-1),Yet=["href"],$et={class:"flex items-center"},Wet=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Ket=_("b",null,"Model creator: ",-1),jet=["href"],Qet={class:"flex items-center"},Xet=_("i",{"data-feather":"clock",class:"w-5 m-1"},null,-1),Zet=_("b",null,"Release date: ",-1),Jet={class:"flex items-center"},ett=_("i",{"data-feather":"grid",class:"w-5 m-1"},null,-1),ttt=_("b",null,"Category: ",-1),ntt=["href"];function itt(n,e,t,i,s,r){const o=_t("InteractiveMenu");return O(),D("div",{class:He(["relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",r.computed_classes]),title:t.model.name,onClick:e[10]||(e[10]=Te(a=>r.toggleSelected(),["prevent"]))},[t.model.isCustomModel?(O(),D("div",zJe,[_("div",HJe,[_("div",qJe,[_("a",{href:t.model.model_creator_link,target:"_blank"},[_("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-lg object-fill"},null,40,$Je)],8,YJe),_("div",WJe,[_("h3",KJe,he(t.model.name),1)])])])])):j("",!0),t.model.isCustomModel?(O(),D("div",jJe,[_("div",QJe,[_("button",{type:"button",title:"Custom model / local model",class:"font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",onClick:e[1]||(e[1]=Te(()=>{},["stop"]))},JJe),je(" Custom model ")]),_("div",null,[t.model.isInstalled?(O(),D("button",{key:0,title:"Delete file from disk",type:"button",onClick:e[2]||(e[2]=Te((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[je(" Uninstall "),eet])):j("",!0)])])):j("",!0),s.installing?(O(),D("div",tet,[_("div",net,[iet,_("div",set,[_("div",ret,[_("div",oet,[aet,_("span",cet,he(Math.floor(s.progress))+"%",1)]),_("div",det,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt({width:s.progress+"%"})},null,4)]),_("div",uet,[_("span",pet,"Download speed: "+he(r.speed_computed)+"/s",1),_("span",_et,he(r.downloaded_size_computed)+"/"+he(r.total_size_computed),1)])])]),_("div",het,[_("div",fet,[_("div",met,[_("button",{onClick:e[3]||(e[3]=Te((...a)=>r.toggleCancelInstall&&r.toggleCancelInstall(...a),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])])):j("",!0),t.model.isCustomModel?j("",!0):(O(),D("div",get,[_("div",Eet,[_("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[4]||(e[4]=a=>r.defaultImg(a)),class:He(["w-10 h-10 rounded-lg object-fill",s.linkNotValid?"grayscale":""])},null,42,bet),_("h3",vet,he(t.model.name),1),yet,Ie(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])]),_("div",Tet,[_("div",xet,[s.linkNotValid?(O(),D("div",Cet,[Ret,je(" Link is not valid ")])):j("",!0)])]),_("div",{class:"",title:t.model.isInstalled?t.model.name:"Not installed"},[_("div",wet,[_("div",Net,[Oet,Iet,_("a",{href:"https://huggingface.co/"+t.model.quantizer+"/"+t.model.name,target:"_blank",onClick:e[5]||(e[5]=Te(()=>{},["stop"])),class:"m-1 flex items-center hover:text-secondary duration-75 active:scale-90 truncate",title:s.linkNotValid?"Link is not valid":"Download this manually (faster) and put it in the models/ folder then refresh"}," View full model card ",8,Met),Det,_("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[6]||(e[6]=Te(a=>r.toggleCopyLink(),["stop"]))},ket)]),_("div",Pet,[_("div",{class:He(["flex flex-shrink-0 items-center",s.linkNotValid?"text-red-600":""])},[Uet,Fet,je(" "+he(r.fileSize),1)],2)]),_("div",Bet,[Get,Vet,je(" "+he(t.model.license),1)]),t.model.quantizer!="None"&&t.model.type!="transformers"?(O(),D("div",zet,[Het,qet,_("a",{href:"https://huggingface.co/"+t.model.quantizer,target:"_blank",rel:"noopener noreferrer",onClick:e[7]||(e[7]=Te(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.quantizer),9,Yet)])):j("",!0),_("div",$et,[Wet,Ket,_("a",{href:t.model.model_creator_link,target:"_blank",rel:"noopener noreferrer",onClick:e[8]||(e[8]=Te(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.model_creator),9,jet)]),_("div",Qet,[Xet,Zet,je(" "+he(t.model.last_commit_time),1)]),_("div",Jet,[ett,ttt,_("a",{href:"https://huggingface.co/"+t.model.model_creator,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=Te(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.category),9,ntt)])])],8,Aet)]))],10,VJe)}const stt=gt(GJe,[["render",itt]]),rtt={data(){return{editMode:!1,avatar:"path/to/avatar.jpg",personalityName:"Personality Name",personalityAuthor:"Author Name",personalityDescription:"Personality Description",personalityCategory:"Category",disclaimer:"Disclaimer text",conditioningText:"Conditioning Text",aiPrefix:"AI Prefix",userPrefix:"User Prefix",antipromptsList:[{id:1,text:"Antiprompt 1"},{id:2,text:"Antiprompt 2"},{id:3,text:"Antiprompt 3"}]}},methods:{commitChanges(){console.log("Personality changes committed"),this.editMode=!1}}},ott={class:"p-4"},att={class:"flex items-center mb-4"},ltt=["src"],ctt={class:"text-lg font-semibold"},dtt=_("strong",null,"Author:",-1),utt=_("strong",null,"Description:",-1),ptt=_("strong",null,"Category:",-1),_tt={key:0},htt=_("strong",null,"Disclaimer:",-1),ftt=_("strong",null,"Conditioning Text:",-1),mtt=_("strong",null,"AI Prefix:",-1),gtt=_("strong",null,"User Prefix:",-1),Ett=_("strong",null,"Antiprompts:",-1);function btt(n,e,t,i,s,r){return O(),D("div",ott,[_("div",att,[_("img",{src:s.avatar,class:"w-12 h-12 rounded-full mr-2",alt:"Avatar"},null,8,ltt),_("h2",ctt,he(s.personalityName),1)]),_("p",null,[dtt,je(" "+he(s.personalityAuthor),1)]),_("p",null,[utt,je(" "+he(s.personalityDescription),1)]),_("p",null,[ptt,je(" "+he(s.personalityCategory),1)]),s.disclaimer?(O(),D("p",_tt,[htt,je(" "+he(s.disclaimer),1)])):j("",!0),_("p",null,[ftt,je(" "+he(s.conditioningText),1)]),_("p",null,[mtt,je(" "+he(s.aiPrefix),1)]),_("p",null,[gtt,je(" "+he(s.userPrefix),1)]),_("div",null,[Ett,_("ul",null,[(O(!0),D($e,null,lt(s.antipromptsList,o=>(O(),D("li",{key:o.id},he(o.text),1))),128))])]),_("button",{onClick:e[0]||(e[0]=o=>s.editMode=!0),class:"mt-4 bg-blue-500 text-white px-4 py-2 rounded"}," Edit "),s.editMode?(O(),D("button",{key:1,onClick:e[1]||(e[1]=(...o)=>r.commitChanges&&r.commitChanges(...o)),class:"mt-4 bg-green-500 text-white px-4 py-2 rounded"}," Commit ")):j("",!0)])}const Stt=gt(rtt,[["render",btt]]),pc="/assets/logo-9d653710.svg",vtt="/",ytt={props:{personality:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onReinstall:Function,onSettings:Function,onCopyPersonalityName:Function},components:{InteractiveMenu:uc},data(){return{isMounted:!1,name:this.personality.name}},computed:{commandsList(){let n=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return this.isMounted&&n.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),this.selected&&this.personality.has_scripts&&n.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),n},selected_computed(){return this.selected}},mounted(){this.isMounted=this.personality.isMounted,Fe(()=>{Be.replace()})},methods:{getImgUrl(){return vtt+this.personality.avatar},defaultImg(n){n.target.src=pc},toggleTalk(){this.onTalk(this)},toggleCopyLink(){this.onCopyPersonalityName(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this),this.isMounted=!1},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Fe(()=>{Be.replace()})}}},Ttt=["title"],xtt={class:"flex flex-row items-center flex-shrink-0 gap-3"},Ctt=["src"],Rtt=_("i",{"data-feather":"clipboard",class:"w-5"},null,-1),Att=[Rtt],wtt={class:""},Ntt={class:""},Ott={class:"flex items-center"},Itt=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Mtt=_("b",null,"Author: ",-1),Dtt={class:"flex items-center"},Ltt=_("i",{"data-feather":"git-commit",class:"w-5 m-1"},null,-1),ktt=_("b",null,"Version: ",-1),Ptt={key:0,class:"flex items-center"},Utt=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),Ftt=_("b",null,"Languages: ",-1),Btt=["selected"],Gtt={key:1,class:"flex items-center"},Vtt=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),ztt=_("b",null,"Language: ",-1),Htt={class:"flex items-center"},qtt=_("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),Ytt=_("b",null,"Category: ",-1),$tt=_("div",{class:"flex items-center"},[_("i",{"data-feather":"info",class:"w-5 m-1"}),_("b",null,"Description: "),_("br")],-1),Wtt=["title","innerHTML"],Ktt={class:"rounded bg-blue-300"},jtt=_("i",{"data-feather":"check"},null,-1),Qtt=_("span",{class:"sr-only"},"Select",-1),Xtt=[jtt,Qtt],Ztt=_("i",{"data-feather":"send",class:"w-5"},null,-1),Jtt=_("span",{class:"sr-only"},"Talk",-1),ent=[Ztt,Jtt];function tnt(n,e,t,i,s,r){const o=_t("InteractiveMenu");return O(),D("div",{class:He(["min-w-96 items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",r.selected_computed?"border-2 border-primary-light":"border-transparent",s.isMounted?"bg-blue-200 dark:bg-blue-700":""]),tabindex:"-1",title:t.personality.installed?"":"Not installed"},[_("div",{class:He(t.personality.installed?"":"border-red-500")},[_("div",xtt,[_("img",{onClick:e[0]||(e[0]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),ref:"imgElement",src:r.getImgUrl(),onError:e[1]||(e[1]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-red-700 cursor-pointer"},null,40,Ctt),_("h3",{onClick:e[2]||(e[2]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"font-bold font-large text-lg line-clamp-3 cursor-pointer"},he(t.personality.name),1),_("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[3]||(e[3]=Te(a=>r.toggleCopyLink(),["stop"]))},Att)]),_("div",wtt,[_("div",Ntt,[_("div",Ott,[Itt,Mtt,je(" "+he(t.personality.author),1)]),_("div",Dtt,[Ltt,ktt,je(" "+he(t.personality.version),1)]),t.personality.languages&&t.select_language?(O(),D("div",Ptt,[Utt,Ftt,s.isMounted?j("",!0):xe((O(),D("select",{key:0,id:"languages","onUpdate:modelValue":e[4]||(e[4]=a=>t.personality.language=a),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(t.personality.languages,(a,l)=>(O(),D("option",{key:l,selected:a==t.personality.languages[0]},he(a),9,Btt))),128))],512)),[[ei,t.personality.language]])])):j("",!0),t.personality.language?(O(),D("div",Gtt,[Vtt,ztt,je(" "+he(t.personality.language),1)])):j("",!0),_("div",Htt,[qtt,Ytt,je(" "+he(t.personality.category),1)])]),$tt,_("p",{class:"mx-1 opacity-80 h-20 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",title:t.personality.description,innerHTML:t.personality.description},null,8,Wtt)]),_("div",Ktt,[s.isMounted?(O(),D("button",{key:0,type:"button",title:"Select",onClick:[e[5]||(e[5]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),e[6]||(e[6]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Xtt)):j("",!0),s.isMounted?(O(),D("button",{key:1,type:"button",title:"Talk",onClick:[e[7]||(e[7]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),e[8]||(e[8]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},ent)):j("",!0),Ie(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])])],2)],10,Ttt)}const ON=gt(ytt,[["render",tnt]]);const nnt={props:{code:String},data(){return{evaluatedCode:"",componentKey:0}},watch:{code:{handler(n){console.log("Code changed"),this.evaluateScriptTags(n),this.componentKey++},immediate:!0}},methods:{evaluateScriptTags(n){const e=document.createElement("div");e.innerHTML=n,e.querySelectorAll("script").forEach(i=>{const s=document.createElement("script");s.textContent=i.textContent,document.body.appendChild(s),document.body.removeChild(s)}),this.evaluatedCode=e.innerHTML,console.log("evaluated code: "+this.evaluatedCode)}}},int=["innerHTML"];function snt(n,e,t,i,s,r){return O(),D("div",{innerHTML:s.evaluatedCode,key:s.componentKey},null,8,int)}const IN=gt(nnt,[["render",snt]]),rnt="/",ont={components:{DynamicUIRenderer:IN},props:{binding:{},onSelected:Function,onReinstall:Function,onInstall:Function,onUnInstall:Function,onSettings:Function,onReloadBinding:Function,selected:Boolean},data(){return{isTemplate:!1}},mounted(){Fe(()=>{Be.replace()})},methods:{getImgUrl(){return rnt+this.binding.icon},defaultImg(n){n.target.src=pc},toggleSelected(){this.onSelected(this)},toggleInstall(){this.onInstall(this)},toggleUnInstall(){this.onUnInstall(this)},toggleReinstall(){this.onReinstall(this)},toggleReloadBinding(){this.onReloadBinding(this)},toggleSettings(){this.onSettings(this)},getStatus(){(this.binding.folder==="backend_template"||this.binding.folder==="binding_template")&&(this.isTemplate=!0)}},watch:{selected(){Fe(()=>{Be.replace()})}}},ant=["title"],lnt={class:"flex flex-row items-center gap-3"},cnt=["src"],dnt={class:"font-bold font-large text-lg truncate"},unt=_("div",{class:"grow"},null,-1),pnt={class:"flex-none gap-1"},_nt=_("i",{"data-feather":"refresh-cw",class:"w-5"},null,-1),hnt=_("span",{class:"sr-only"},"Help",-1),fnt=[_nt,hnt],mnt={class:"flex items-center flex-row-reverse gap-2 my-1"},gnt=_("span",{class:"sr-only"},"Click to install",-1),Ent=_("span",{class:"sr-only"},"Reinstall",-1),bnt=_("span",{class:"sr-only"},"UnInstall",-1),Snt=_("span",{class:"sr-only"},"Settings",-1),vnt={class:""},ynt={class:""},Tnt={class:"flex items-center"},xnt=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Cnt=_("b",null,"Author: ",-1),Rnt={class:"flex items-center"},Ant=_("i",{"data-feather":"folder",class:"w-5 m-1"},null,-1),wnt=_("b",null,"Folder: ",-1),Nnt={class:"flex items-center"},Ont=_("i",{"data-feather":"git-merge",class:"w-5 m-1"},null,-1),Int=_("b",null,"Version: ",-1),Mnt={class:"flex items-center"},Dnt=_("i",{"data-feather":"github",class:"w-5 m-1"},null,-1),Lnt=_("b",null,"Link: ",-1),knt=["href"],Pnt=_("div",{class:"flex items-center"},[_("i",{"data-feather":"info",class:"w-5 m-1"}),_("b",null,"Description: "),_("br")],-1),Unt=["title","innerHTML"];function Fnt(n,e,t,i,s,r){const o=_t("DynamicUIRenderer");return O(),D("div",{class:He(["items-start p-4 hover:bg-primary-light hover:border-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",t.selected?" border-primary bg-primary":"border-transparent"]),onClick:e[7]||(e[7]=Te((...a)=>r.toggleSelected&&r.toggleSelected(...a),["stop"])),title:t.binding.installed?t.binding.name:"Not installed"},[_("div",null,[_("div",lnt,[_("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-blue-700"},null,40,cnt),_("h3",dnt,he(t.binding.name),1),unt,_("div",pnt,[t.selected?(O(),D("button",{key:0,type:"button",title:"Reload binding",onClick:[e[1]||(e[1]=(...a)=>r.toggleReloadBinding&&r.toggleReloadBinding(...a)),e[2]||(e[2]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},fnt)):j("",!0)])]),_("div",mnt,[t.binding.installed?j("",!0):(O(),D("button",{key:0,title:"Click to install",type:"button",onClick:e[3]||(e[3]=Te((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[je(" Install "),gnt])),t.binding.installed?(O(),D("button",{key:1,title:"Click to Reinstall binding",type:"button",onClick:e[4]||(e[4]=Te((...a)=>r.toggleReinstall&&r.toggleReinstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-green-700 hover:bg-red-800 focus:ring-4 focus:ring-green-300 rounded-lg dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-red-900"},[je(" Reinstall "),Ent])):j("",!0),t.binding.installed?(O(),D("button",{key:2,title:"Click to Reinstall binding",type:"button",onClick:e[5]||(e[5]=Te((...a)=>r.toggleUnInstall&&r.toggleUnInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[je(" Uninstall "),bnt])):j("",!0),t.selected?(O(),D("button",{key:3,title:"Click to open Settings",type:"button",onClick:e[6]||(e[6]=Te((...a)=>r.toggleSettings&&r.toggleSettings(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[je(" Settings "),Snt])):j("",!0)]),t.binding.ui?(O(),Ot(o,{key:0,class:"w-full h-full",code:t.binding.ui},null,8,["code"])):j("",!0),_("div",vnt,[_("div",ynt,[_("div",Tnt,[xnt,Cnt,je(" "+he(t.binding.author),1)]),_("div",Rnt,[Ant,wnt,je(" "+he(t.binding.folder),1)]),_("div",Nnt,[Ont,Int,je(" "+he(t.binding.version),1)]),_("div",Mnt,[Dnt,Lnt,_("a",{href:t.binding.link,target:"_blank",class:"flex items-center hover:text-secondary duration-75 active:scale-90"},he(t.binding.link),9,knt)])]),Pnt,_("p",{class:"mx-1 opacity-80 line-clamp-3",title:t.binding.description,innerHTML:t.binding.description},null,8,Unt)])])],10,ant)}const Bnt=gt(ont,[["render",Fnt]]),Gnt="/assets/extension-59119348.png",Vnt={data(){return{show:!1,model_path:"",resolve:null}},methods:{cancel(){this.resolve(null)},openInputBox(){return new Promise(n=>{this.resolve=n})},hide(n){this.show=!1,this.resolve&&(this.resolve(n),this.resolve=null)},showDialog(n){return new Promise(e=>{this.model_path=n,this.show=!0,this.resolve=e})}}},znt={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},Hnt={class:"relative w-full max-w-md max-h-full"},qnt={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},Ynt=_("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),$nt=_("span",{class:"sr-only"},"Close modal",-1),Wnt=[Ynt,$nt],Knt={class:"p-4 text-center"},jnt=_("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),Qnt={class:"p-4 text-center mx-auto mb-4"},Xnt=_("label",{class:"mr-2"},"Model path",-1);function Znt(n,e,t,i,s,r){return s.show?(O(),D("div",znt,[_("div",Hnt,[_("div",qnt,[_("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},Wnt),_("div",Knt,[jnt,_("div",Qnt,[Xnt,xe(_("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>s.model_path=o),class:"px-4 py-2 border border-gray-300 rounded-lg",type:"text"},null,512),[[Xe,s.model_path]])]),_("button",{onClick:e[2]||(e[2]=o=>r.hide(!0)),type:"button",class:"text-white bg-green-600 hover:bg-green-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"}," Add "),_("button",{onClick:e[3]||(e[3]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},"No, cancel")])])])])):j("",!0)}const Jnt=gt(Vnt,[["render",Znt]]);const eit={props:{show:{type:Boolean,default:!1,required:!1},can_remove:{type:Boolean,default:!1},title:{type:String,default:"Select an option"},choices:{type:Array,required:!0}},data(){return{selectedChoice:null,showInput:!1,newFilename:""}},methods:{displayName(n){return console.log("choice:",n),typeof n=="string"?n:n&&n.name?n.name:""},selectChoice(n){this.selectedChoice=n,this.$emit("choice-selected",n)},closeDialog(){this.$emit("close-dialog")},validateChoice(){this.$emit("choice-validated",this.selectedChoice)},formatSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},toggleInput(){this.showInput=!this.showInput},addNewFilename(){const n=this.newFilename.trim();n!==""&&(this.choices.push(n),this.newFilename="",this.selectChoice(n)),this.showInput=!1},removeChoice(n,e){this.choices.splice(e,1),n===this.selectedChoice&&(this.selectedChoice=null),this.$emit("choice-removed",n)}}},tit={key:0,class:"fixed inset-0 flex items-center justify-center bg-black bg-opacity-50"},nit={class:"bg-white dark:bg-gray-800 rounded-lg p-6 w-96"},iit={class:"text-xl font-semibold mb-4"},sit={class:"h-48 overflow-y-auto"},rit=["onClick"],oit={class:"font-bold"},ait=_("br",null,null,-1),lit={key:0,class:"text-xs text-gray-500"},cit=["onClick"],dit={key:0,class:"mt-4"},uit={class:"flex justify-end mt-4"},pit=["disabled"];function _it(n,e,t,i,s,r){return O(),Ot(ws,{name:"fade"},{default:ot(()=>[t.show?(O(),D("div",tit,[_("div",nit,[_("h2",iit,he(t.title),1),_("div",sit,[_("ul",null,[(O(!0),D($e,null,lt(t.choices,(o,a)=>(O(),D("li",{key:a,onClick:l=>r.selectChoice(o),class:He([{"selected-choice":o===s.selectedChoice},"py-2 px-4 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700"])},[_("span",oit,he(r.displayName(o)),1),ait,o.size?(O(),D("span",lit,he(r.formatSize(o.size)),1)):j("",!0),t.can_remove?(O(),D("button",{key:1,onClick:l=>r.removeChoice(o,a),class:"ml-2 text-red-500 hover:text-red-600"}," X ",8,cit)):j("",!0)],10,rit))),128))])]),s.showInput?(O(),D("div",dit,[xe(_("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>s.newFilename=o),placeholder:"Enter a filename",class:"border border-gray-300 p-2 rounded-lg w-full"},null,512),[[Xe,s.newFilename]]),_("button",{onClick:e[1]||(e[1]=(...o)=>r.addNewFilename&&r.addNewFilename(...o)),class:"mt-2 py-2 px-4 bg-green-500 hover:bg-green-600 text-white rounded-lg transition duration-300"}," Add ")])):j("",!0),_("div",uit,[_("button",{onClick:e[2]||(e[2]=(...o)=>r.closeDialog&&r.closeDialog(...o)),class:"py-2 px-4 mr-2 bg-red-500 hover:bg-red-600 text-white rounded-lg transition duration-300"}," Cancel "),_("button",{onClick:e[3]||(e[3]=(...o)=>r.validateChoice&&r.validateChoice(...o)),class:He([{"bg-gray-400 cursor-not-allowed":!s.selectedChoice,"bg-blue-500 hover:bg-blue-600":s.selectedChoice,"text-white":s.selectedChoice,"text-gray-500":!s.selectedChoice},"py-2 px-4 rounded-lg transition duration-300"]),disabled:!s.selectedChoice}," Validate ",10,pit),_("button",{onClick:e[4]||(e[4]=(...o)=>r.toggleInput&&r.toggleInput(...o)),class:"py-2 px-4 ml-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg transition duration-300"}," Add New ")])])])):j("",!0)]),_:1})}const rb=gt(eit,[["render",_it]]),hit={props:{radioOptions:{type:Array,required:!0},defaultValue:{type:String,default:0}},data(){return{selectedValue:this.defaultValue}},methods:{handleRadioChange(n){this.selectedValue!==null&&this.$emit("radio-selected",this.selectedValue,n)}}},fit={class:"flex space-x-4"},mit=["value","onChange"],git={class:"text-gray-700"};function Eit(n,e,t,i,s,r){return O(),D("div",fit,[(O(!0),D($e,null,lt(t.radioOptions,(o,a)=>(O(),D("label",{key:o.value,class:"flex items-center space-x-2"},[xe(_("input",{type:"radio",value:o.value,"onUpdate:modelValue":e[0]||(e[0]=l=>s.selectedValue=l),onChange:l=>r.handleRadioChange(a),class:"text-blue-500 focus:ring-2 focus:ring-blue-200"},null,40,mit),[[n2,s.selectedValue]]),_("span",git,he(o.label),1)]))),128))])}const bit=gt(hit,[["render",Eit]]),Sit="/",vit={props:{extension:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onReinstall:Function,onSettings:Function},components:{InteractiveMenu:uc},data(){return{isMounted:!1,name:this.extension.name}},computed:{commandsList(){let n=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return this.isMounted&&n.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),n.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),n},selected_computed(){return this.selected}},mounted(){this.isMounted=this.extension.isMounted,Fe(()=>{Be.replace()})},methods:{getImgUrl(){return Sit+this.extension.avatar},defaultImg(n){n.target.src=pc},toggleTalk(){this.onTalk(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this)},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Fe(()=>{Be.replace()})}}},yit=["title"],Tit={class:"flex flex-row items-center flex-shrink-0 gap-3"},xit=["src"],Cit={class:""},Rit={class:""},Ait={class:"flex items-center"},wit=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Nit=_("b",null,"Author: ",-1),Oit={class:"flex items-center"},Iit=_("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),Mit=_("b",null,"Based on: ",-1),Dit={key:0,class:"flex items-center"},Lit=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),kit=_("b",null,"Languages: ",-1),Pit=["selected"],Uit={key:1,class:"flex items-center"},Fit=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),Bit=_("b",null,"Language: ",-1),Git={class:"flex items-center"},Vit=_("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),zit=_("b",null,"Category: ",-1),Hit=_("div",{class:"flex items-center"},[_("i",{"data-feather":"info",class:"w-5 m-1"}),_("b",null,"Description: "),_("br")],-1),qit=["title","innerHTML"],Yit={class:"rounded bg-blue-300"},$it=_("i",{"data-feather":"check"},null,-1),Wit=_("span",{class:"sr-only"},"Select",-1),Kit=[$it,Wit],jit=_("i",{"data-feather":"send",class:"w-5"},null,-1),Qit=_("span",{class:"sr-only"},"Talk",-1),Xit=[jit,Qit];function Zit(n,e,t,i,s,r){const o=_t("InteractiveMenu");return O(),D("div",{class:He(["min-w-96 items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",r.selected_computed?"border-2 border-primary-light":"border-transparent",s.isMounted?"bg-blue-200 dark:bg-blue-700":""]),tabindex:"-1",title:t.extension.installed?"":"Not installed"},[_("div",{class:He(t.extension.installed?"":"border-red-500")},[_("div",Tit,[_("img",{onClick:e[0]||(e[0]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),ref:"imgElement",src:r.getImgUrl(),onError:e[1]||(e[1]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-red-700 cursor-pointer"},null,40,xit),_("h3",{onClick:e[2]||(e[2]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"font-bold font-large text-lg line-clamp-3 cursor-pointer"},he(t.extension.name),1)]),_("div",Cit,[_("div",Rit,[_("div",Ait,[wit,Nit,je(" "+he(t.extension.author),1)]),_("div",Oit,[Iit,Mit,je(" "+he(t.extension.based_on),1)]),t.extension.languages&&t.select_language?(O(),D("div",Dit,[Lit,kit,xe(_("select",{id:"languages","onUpdate:modelValue":e[3]||(e[3]=a=>t.extension.language=a),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(t.extension.languages,(a,l)=>(O(),D("option",{key:l,selected:a==t.extension.languages[0]},he(a),9,Pit))),128))],512),[[ei,t.extension.language]])])):j("",!0),t.extension.language?(O(),D("div",Uit,[Fit,Bit,je(" "+he(t.extension.language),1)])):j("",!0),_("div",Git,[Vit,zit,je(" "+he(t.extension.category),1)])]),Hit,_("p",{class:"mx-1 opacity-80 h-20 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",title:t.extension.description,innerHTML:t.extension.description},null,8,qit)]),_("div",Yit,[s.isMounted?(O(),D("button",{key:0,type:"button",title:"Select",onClick:[e[4]||(e[4]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),e[5]||(e[5]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Kit)):j("",!0),s.isMounted?(O(),D("button",{key:1,type:"button",title:"Talk",onClick:[e[6]||(e[6]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),e[7]||(e[7]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Xit)):j("",!0),Ie(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])])],2)],10,yit)}const Jit=gt(vit,[["render",Zit]]),est="/assets/gpu-df72bf63.svg";const tst="/";Ue.defaults.baseURL="/";const nst={components:{AddModelDialog:Jnt,ModelEntry:stt,PersonalityViewer:Stt,PersonalityEntry:ON,BindingEntry:Bnt,ChoiceDialog:rb,Card:dc,RadioOptions:bit,ExtensionEntry:Jit},data(){return{voices:[],voice_languages:{Arabic:"ar","Brazilian Portuguese":"pt",Chinese:"zh-cn",Czech:"cs",Dutch:"nl",English:"en",French:"fr",German:"de",Italian:"it",Polish:"pl",Russian:"ru",Spanish:"es",Turkish:"tr",Japanese:"ja",Korean:"ko",Hungarian:"hu",Hindi:"hi"},binding_changed:!1,SVGGPU:est,models_zoo:[],models_zoo_initialLoadCount:10,models_zoo_loadMoreCount:5,models_zoo_loadedEntries:[],models_zoo_scrollThreshold:200,sortOptions:[{label:"Sort by Date",value:0},{label:"Sort by Rank",value:1},{label:"Sort by Name",value:2},{label:"Sort by Maker",value:3},{label:"Sort by Quantizer",value:4}],show_only_installed_models:!1,reference_path:"",audioVoices:[],has_updates:!1,variant_choices:[],variantSelectionDialogVisible:!1,currenModelToInstall:null,loading_text:"",extension_category:"bound_extensions",personality_category:null,addModelDialogVisibility:!1,modelPath:"",personalitiesFiltered:[],modelsFiltered:[],extensionsFiltererd:[],collapsedArr:[],all_collapsed:!0,servers_conf_collapsed:!0,minconf_collapsed:!0,bec_collapsed:!0,sort_type:0,is_loading_zoo:!1,mzc_collapsed:!0,mzdc_collapsed:!0,pzc_collapsed:!0,ezc_collapsed:!0,mep_collapsed:!0,bzc_collapsed:!0,pc_collapsed:!0,mc_collapsed:!0,sc_collapsed:!0,mzl_collapsed:!1,pzl_collapsed:!1,ezl_collapsed:!1,bzl_collapsed:!1,extCatgArr:[],persCatgArr:[],persArr:[],showConfirmation:!1,showToast:!1,isLoading:!1,settingsChanged:!1,isModelSelected:!1,isMounted:!1,bUrl:tst,searchPersonality:"",searchExtension:"",searchModel:"",searchPersonalityTimer:{},searchPersonalityTimerInterval:1500,searchModelTimerInterval:1500,searchPersonalityInProgress:!1,searchExtensionInProgress:!1,searchModelInProgress:!1,addModel:{},modelDownlaodInProgress:!1,uploadData:[]}},async created(){Ye.on("loading_text",this.on_loading_text),this.updateHasUpdates()},methods:{reinstallSDService(){Ue.get("install_sd").then(n=>{}).catch(n=>{console.error(n)})},reinstallAudioService(){Ue.get("install_xtts").then(n=>{}).catch(n=>{console.error(n)})},getSeviceVoices(){Ue.get("list_voices").then(n=>{this.voices=n.data.voices}).catch(n=>{console.error(n)})},load_more_models(){this.models_zoo_initialLoadCount+10{Be.replace()}),this.binding_changed&&!this.mzc_collapsed&&(this.modelsZoo==null||this.modelsZoo.length==0)&&(console.log("Refreshing models"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.refreshModelsZoo(),this.binding_changed=!1)},async selectSortOption(n){this.$store.state.sort_type=n,this.updateModelsZoo(),console.log(`Selected sorting:${n}`),console.log(`models:${this.models_zoo}`)},handleRadioSelected(n){this.isLoading=!0,this.selectSortOption(n).then(()=>{this.isLoading=!1})},filter_installed(n){return console.log("filtering"),n.filter(e=>e.isInstalled===!0)},getVoices(){"speechSynthesis"in window&&(this.audioVoices=speechSynthesis.getVoices(),console.log("Voices:"+this.audioVoices),!this.audio_out_voice&&this.audioVoices.length>0&&(this.audio_out_voice=this.audioVoices[0].name),speechSynthesis.onvoiceschanged=()=>{})},async updateHasUpdates(){let n=await this.api_get_req("check_update");this.has_updates=n.update_availability,console.log("has_updates",this.has_updates)},onVariantChoiceSelected(n){this.selected_variant=n},oncloseVariantChoiceDialog(){this.variantSelectionDialogVisible=!1},onvalidateVariantChoice(n){this.variantSelectionDialogVisible=!1,this.currenModelToInstall.installing=!0;let e=this.currenModelToInstall;if(e.linkNotValid){e.installing=!1,this.$store.state.toast.showToast("Link is not valid, file does not exist",4,!1);return}let t="https://huggingface.co/"+e.model.quantizer+"/"+e.model.name+"/resolve/main/"+this.selected_variant.name;this.showProgress=!0,this.progress=0,this.addModel={model_name:this.selected_variant.name,binding_folder:this.configFile.binding_name,model_url:t},console.log("installing...",this.addModel);const i=s=>{if(console.log("received something"),s.status&&s.progress<=100){if(this.addModel=s,console.log("Progress",s),e.progress=s.progress,e.speed=s.speed,e.total_size=s.total_size,e.downloaded_size=s.downloaded_size,e.start_time=s.start_time,e.installing=!0,e.progress==100){const r=this.models_zoo.findIndex(o=>o.name===e.model.name);this.models_zoo[r].isInstalled=!0,this.showProgress=!1,e.installing=!1,console.log("Received succeeded"),Ye.off("install_progress",i),console.log("Installed successfully"),this.$store.state.toast.showToast(`Model: +`);var k=0,$=!1;this.parse=function(K,W,le){if(typeof K!="string")throw new Error("Input must be a string");var J=K.length,ee=A.length,_e=P.length,me=U.length,Ce=w(Y),X=[],ue=[],Z=[],ge=k=0;if(!K)return Ve();if(R.header&&!W){var Oe=K.split(P)[0].split(A),M=[],G={},q=!1;for(var oe in Oe){var ne=Oe[oe];w(R.transformHeader)&&(ne=R.transformHeader(ne,oe));var ve=ne,we=G[ne]||0;for(0=L)return Ve(!0)}else for(z=k,k++;;){if((z=K.indexOf(v,z+1))===-1)return le||ue.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:X.length,index:k}),Se();if(z===J-1)return Se(K.substring(k,z).replace(N,v));if(v!==B||K[z+1]!==B){if(v===B||z===0||K[z-1]!==B){re!==-1&&re=L)return Ve(!0);break}ue.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:X.length,index:k}),z++}}else z++}return Se();function te(De){X.push(De),ge=k}function Re(De){var it=0;if(De!==-1){var Qe=K.substring(z+1,De);Qe&&Qe.trim()===""&&(it=Qe.length)}return it}function Se(De){return le||(De===void 0&&(De=K.substring(k)),Z.push(De),k=J,te(Z),Ce&&nt()),Ve()}function Le(De){k=De,te(Z),Z=[],I=K.indexOf(P,k)}function Ve(De){return{data:X,errors:ue,meta:{delimiter:A,linebreak:P,aborted:$,truncated:!!De,cursor:ge+(W||0)}}}function nt(){Y(Ve()),X=[],ue=[]}},this.abort=function(){$=!0},this.getCharIndex=function(){return k}}function S(R){var v=R.data,A=o[v.workerId],P=!1;if(v.error)A.userError(v.error,v.file);else if(v.results&&v.results.data){var U={abort:function(){P=!0,y(v.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:T,resume:T};if(w(A.userStep)){for(var Y=0;Yn.text()).then(n=>{const{data:e}=aJe.parse(n,{header:!0});console.log("Recovered data"),console.log(e),this.faqs=e}).catch(n=>{console.error("Error loading FAQs:",n)})},parseMultiline(n){return n.replace(/\n/g,"
")}}},ks=n=>(lo("data-v-b19a05a8"),n=n(),co(),n),cJe={class:"container flex-row mx-auto p-4 bg-bg-light-tone dark:bg-bg-dark-tone shadow-lg overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-1 md:grid-cols-2 gap-4"},dJe=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"About Lord of large Language Models",-1)),uJe={class:"mb-4"},pJe=ks(()=>_("p",null,[je("Discord link: "),_("a",{class:"text-blue-500 hover:text-blue-400 duration-150",href:"https://discord.gg/YgnaFMAQ"},"https://discord.gg/YgnaFMAQ")],-1)),_Je=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"Frequently Asked Questions",-1)),hJe={class:"list-disc pl-4"},fJe={class:"text-xl font-bold mb-1"},mJe=["innerHTML"],gJe=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"Contact Us",-1)),EJe=ks(()=>_("p",{class:"mb-4"},"If you have any further questions or need assistance, feel free to reach out to me.",-1)),bJe=ks(()=>_("p",null,[je("Discord link: "),_("a",{class:"text-blue-500 hover:text-blue-400 duration-150",href:"https://discord.gg/YgnaFMAQ"},"https://discord.gg/YgnaFMAQ")],-1)),SJe=ks(()=>_("h2",{class:"text-2xl font-bold mb-2"},"Credits",-1)),vJe=ks(()=>_("p",{class:"mb-4"},[je("This project is developed by "),_("span",{class:"font-bold"},"ParisNeo"),je(" With help from the community.")],-1)),yJe=ks(()=>_("p",{class:"mb-4"},[_("span",{class:"font-bold"},[_("a",{href:"https://github.com/ParisNeo/lollms-webui/graphs/contributors"},"Check out the full list of developers here and show them some love.")])],-1)),TJe=["href"];function xJe(n,e,t,i,s,r){const o=_t("Card");return O(),D("div",cJe,[Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[dJe,_("p",uJe," Lollms version "+he(r.version),1),pJe]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[_Je,_("ul",hJe,[(O(!0),D($e,null,lt(s.faqs,(a,l)=>(O(),D("li",{key:l},[_("h3",fJe,he(a.question),1),_("p",{class:"mb-4",innerHTML:r.parseMultiline(a.answer)},null,8,mJe)]))),128))])]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[gJe,EJe,bJe]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[SJe,vJe,yJe,_("p",null,[je("Check out the project on "),_("a",{class:"text-blue-500 hover:text-blue-400 duration-150",href:s.githubLink,target:"_blank",rel:"noopener noreferrer"},"GitHub",8,TJe),je(".")])]),_:1})])}const CJe=gt(lJe,[["render",xJe],["__scopeId","data-v-b19a05a8"]]);function Ki(n,e=!0,t=1){const i=e?1e3:1024;if(Math.abs(n)=i&&r{Be.replace()})},executeCommand(n){this.isMenuOpen=!1,console.log("Selected"),console.log(n.value),typeof n.value=="function"&&(console.log("Command detected"),n.value()),this.execute_cmd&&(console.log("executing generic command"),this.execute_cmd(n))},positionMenu(){var n;if(this.$refs.menuButton!=null){if(this.force_position==0||this.force_position==null){const e=this.$refs.menuButton.getBoundingClientRect(),t=window.innerHeight;n=e.bottom>t/2}else this.force_position==1?n=!0:n=!1;this.menuPosition.top=n?"auto":"calc(100% + 10px)",this.menuPosition.bottom=n?"100%":"auto"}}},mounted(){window.addEventListener("resize",this.positionMenu),this.positionMenu(),Fe(()=>{Be.replace()})},beforeDestroy(){window.removeEventListener("resize",this.positionMenu)},watch:{isMenuOpen:"positionMenu"}},AJe={class:"menu-container"},wJe=["title"],NJe=["src"],OJe=["data-feather"],IJe={key:2,class:"w-5 h-5"},MJe={key:3,"data-feather":"menu"},DJe={class:"flex-grow menu-ul"},LJe=["onClick"],kJe={key:0,"data-feather":"check"},PJe=["src","alt"],UJe=["data-feather"],FJe={key:3,class:"menu-icon"};function BJe(n,e,t,i,s,r){return O(),D("div",AJe,[_("button",{onClick:e[0]||(e[0]=Te((...o)=>r.toggleMenu&&r.toggleMenu(...o),["prevent"])),title:t.title,class:He([t.menuIconClass,"menu-button m-0 p-0 bg-blue-500 text-white dark:bg-blue-200 dark:text-gray-800 rounded flex items-center justify-center w-6 h-6 border-none cursor-pointer hover:bg-blue-400 w-8 h-8 object-fill text-red-700 border-2 active:scale-90 hover:z-20 hover:-translate-y-2 duration-150 border-gray-300 border-secondary cursor-pointer"]),ref:"menuButton"},[t.icon&&!t.icon.includes("#")&&!t.icon.includes("feather")?(O(),D("img",{key:0,src:t.icon,class:"w-5 h-5 p-0 m-0 shadow-lg bold"},null,8,NJe)):t.icon&&t.icon.includes("feather")?(O(),D("i",{key:1,"data-feather":t.icon.split(":")[1],class:"w-5 h-5"},null,8,OJe)):t.icon&&t.icon.includes("#")?(O(),D("p",IJe,he(t.icon.split("#")[1]),1)):(O(),D("i",MJe))],10,wJe),Ie(ws,{name:"slide"},{default:ot(()=>[s.isMenuOpen?(O(),D("div",{key:0,class:"menu-list flex-grow",style:Xt(s.menuPosition),ref:"menu"},[_("ul",DJe,[(O(!0),D($e,null,lt(t.commands,(o,a)=>(O(),D("li",{key:a,onClick:Te(l=>r.executeCommand(o),["prevent"]),class:"menu-command menu-li flex-grow hover:bg-blue-400"},[t.selected_entry==o.name?(O(),D("i",kJe)):o.icon&&!o.icon.includes("feather")&&!o.is_file?(O(),D("img",{key:1,src:o.icon,alt:o.name,class:"menu-icon"},null,8,PJe)):j("",!0),o.icon&&o.icon.includes("feather")&&!o.is_file?(O(),D("i",{key:2,"data-feather":o.icon.split(":")[1],class:"mr-2"},null,8,UJe)):(O(),D("span",FJe)),_("span",null,he(o.name),1)],8,LJe))),128))])],4)):j("",!0)]),_:1})])}const uc=gt(RJe,[["render",BJe]]),GJe={components:{InteractiveMenu:uc},props:{isInstalled:Boolean,onInstall:Function,onCancelInstall:Function,onUninstall:Function,onSelected:Function,onCopy:Function,onCopyLink:Function,selected:Boolean,model:Object,model_type:String},data(){return{progress:0,speed:0,total_size:0,downloaded_size:0,start_time:"",installing:!1,uninstalling:!1,failedToLoad:!1,linkNotValid:!1,selected_variant:""}},async mounted(){Fe(()=>{Be.replace()})},methods:{formatFileSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},computedFileSize(n){return Ki(n)},getImgUrl(){return this.model.icon==null||this.model.icon==="/images/default_model.png"?zi:this.model.icon},defaultImg(n){n.target.src=zi},toggleInstall(){this.isInstalled?(this.uninstalling=!0,this.onUninstall(this)):this.onInstall(this)},toggleSelected(n=!1){this.onSelected(this,n),this.model.selected=!0,Fe(()=>{Be.replace()})},toggleCopy(){this.onCopy(this)},toggleCopyLink(){this.onCopyLink(this)},toggleCancelInstall(){this.onCancelInstall(this),this.installing=!1},handleSelection(){this.isInstalled&&!this.selected&&this.onSelected(this)},copyContentToClipboard(){this.$emit("copy","this.message.content")}},computed:{computed_classes(){return this.model.isInstalled?this.selected?"border-4 border-gray-200 bg-primary cursor-pointer":"border-0 border-primary bg-primary cursor-pointer":"border-transparent"},commandsList(){let n=[{name:this.model.isInstalled?"Uninstall":"Install",icon:"feather:settings",is_file:!1,value:this.toggleInstall},{name:"Copy model info to clipboard",icon:"feather:settings",is_file:!1,value:this.toggleCopy}];return this.selected&&n.push({name:"Reload",icon:"feather:refresh-ccw",is_file:!1,value:this.toggleSelected}),n},selected_computed(){return this.selected},fileSize:{get(){if(this.model&&this.model.variants&&this.model.variants.length>0){const n=this.model.variants[0].size;return this.formatFileSize(n)}return null}},speed_computed(){return Ki(this.speed)},total_size_computed(){return Ki(this.total_size)},downloaded_size_computed(){return Ki(this.downloaded_size)}},watch:{linkNotValid(){Fe(()=>{Be.replace()})}}},VJe=["title"],zJe={key:0,class:"flex flex-row"},HJe={class:"max-w-[300px] overflow-x-auto"},qJe={class:"flex gap-3 items-center grow"},YJe=["href"],$Je=["src"],WJe={class:"flex-1 overflow-hidden"},KJe={class:"font-bold font-large text-lg truncate"},jJe={key:1,class:"flex items-center flex-row gap-2 my-1"},QJe={class:"flex grow items-center"},XJe=_("i",{"data-feather":"box",class:"w-5"},null,-1),ZJe=_("span",{class:"sr-only"},"Custom model / local model",-1),JJe=[XJe,ZJe],eet=_("span",{class:"sr-only"},"Remove",-1),tet={key:2,class:"absolute z-10 -m-4 p-5 shadow-md text-center rounded-lg w-full h-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel bg-opacity-70 dark:bg-opacity-70 flex justify-center items-center"},net={class:"relative flex flex-col items-center justify-center flex-grow h-full"},iet=_("div",{role:"status",class:"justify-center"},[_("svg",{"aria-hidden":"true",class:"w-24 h-24 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1),set={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},ret={class:"w-full bg-bg-light-tone-panel dark:bg-bg-dark-tone-panel rounded-lg p-2"},oet={class:"flex justify-between mb-1"},aet=_("span",{class:"text-base font-medium text-blue-700 dark:text-white"},"Downloading",-1),cet={class:"text-sm font-medium text-blue-700 dark:text-white"},det={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},uet={class:"flex justify-between mb-1"},pet={class:"text-base font-medium text-blue-700 dark:text-white"},_et={class:"text-sm font-medium text-blue-700 dark:text-white"},het={class:"flex flex-grow"},fet={class:"flex flex-row flex-grow gap-3"},met={class:"p-2 text-center grow"},get={key:3},Eet={class:"flex flex-row items-center gap-3"},bet=["src"],vet={class:"font-bold font-large text-lg truncate"},yet=_("div",{class:"grow"},null,-1),Tet={class:"flex items-center flex-row-reverse gap-2 my-1"},xet={class:"flex flex-row items-center"},Cet={key:0,class:"text-base text-red-600 flex items-center mt-1"},Ret=_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0 mx-1"},null,-1),Aet=["title"],wet={class:""},Net={class:"flex flex-row items-center"},Oet=_("i",{"data-feather":"download",class:"w-5 m-1 flex-shrink-0"},null,-1),Iet=_("b",null,"Card: ",-1),Met=["href","title"],Det=_("div",{class:"grow"},null,-1),Let=_("i",{"data-feather":"clipboard",class:"w-5"},null,-1),ket=[Let],Pet={class:"flex items-center"},Uet=_("i",{"data-feather":"file",class:"w-5 m-1"},null,-1),Fet=_("b",null,"File size: ",-1),Bet={class:"flex items-center"},Get=_("i",{"data-feather":"key",class:"w-5 m-1"},null,-1),Vet=_("b",null,"License: ",-1),zet={key:0,class:"flex items-center"},Het=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),qet=_("b",null,"quantizer: ",-1),Yet=["href"],$et={class:"flex items-center"},Wet=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Ket=_("b",null,"Model creator: ",-1),jet=["href"],Qet={class:"flex items-center"},Xet=_("i",{"data-feather":"clock",class:"w-5 m-1"},null,-1),Zet=_("b",null,"Release date: ",-1),Jet={class:"flex items-center"},ett=_("i",{"data-feather":"grid",class:"w-5 m-1"},null,-1),ttt=_("b",null,"Category: ",-1),ntt=["href"];function itt(n,e,t,i,s,r){const o=_t("InteractiveMenu");return O(),D("div",{class:He(["relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",r.computed_classes]),title:t.model.name,onClick:e[10]||(e[10]=Te(a=>r.toggleSelected(),["prevent"]))},[t.model.isCustomModel?(O(),D("div",zJe,[_("div",HJe,[_("div",qJe,[_("a",{href:t.model.model_creator_link,target:"_blank"},[_("img",{src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-lg object-fill"},null,40,$Je)],8,YJe),_("div",WJe,[_("h3",KJe,he(t.model.name),1)])])])])):j("",!0),t.model.isCustomModel?(O(),D("div",jJe,[_("div",QJe,[_("button",{type:"button",title:"Custom model / local model",class:"font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",onClick:e[1]||(e[1]=Te(()=>{},["stop"]))},JJe),je(" Custom model ")]),_("div",null,[t.model.isInstalled?(O(),D("button",{key:0,title:"Delete file from disk",type:"button",onClick:e[2]||(e[2]=Te((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[je(" Uninstall "),eet])):j("",!0)])])):j("",!0),s.installing?(O(),D("div",tet,[_("div",net,[iet,_("div",set,[_("div",ret,[_("div",oet,[aet,_("span",cet,he(Math.floor(s.progress))+"%",1)]),_("div",det,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt({width:s.progress+"%"})},null,4)]),_("div",uet,[_("span",pet,"Download speed: "+he(r.speed_computed)+"/s",1),_("span",_et,he(r.downloaded_size_computed)+"/"+he(r.total_size_computed),1)])])]),_("div",het,[_("div",fet,[_("div",met,[_("button",{onClick:e[3]||(e[3]=Te((...a)=>r.toggleCancelInstall&&r.toggleCancelInstall(...a),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])])):j("",!0),t.model.isCustomModel?j("",!0):(O(),D("div",get,[_("div",Eet,[_("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[4]||(e[4]=a=>r.defaultImg(a)),class:He(["w-10 h-10 rounded-lg object-fill",s.linkNotValid?"grayscale":""])},null,42,bet),_("h3",vet,he(t.model.name),1),yet,Ie(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])]),_("div",Tet,[_("div",xet,[s.linkNotValid?(O(),D("div",Cet,[Ret,je(" Link is not valid ")])):j("",!0)])]),_("div",{class:"",title:t.model.isInstalled?t.model.name:"Not installed"},[_("div",wet,[_("div",Net,[Oet,Iet,_("a",{href:"https://huggingface.co/"+t.model.quantizer+"/"+t.model.name,target:"_blank",onClick:e[5]||(e[5]=Te(()=>{},["stop"])),class:"m-1 flex items-center hover:text-secondary duration-75 active:scale-90 truncate",title:s.linkNotValid?"Link is not valid":"Download this manually (faster) and put it in the models/ folder then refresh"}," View full model card ",8,Met),Det,_("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[6]||(e[6]=Te(a=>r.toggleCopyLink(),["stop"]))},ket)]),_("div",Pet,[_("div",{class:He(["flex flex-shrink-0 items-center",s.linkNotValid?"text-red-600":""])},[Uet,Fet,je(" "+he(r.fileSize),1)],2)]),_("div",Bet,[Get,Vet,je(" "+he(t.model.license),1)]),t.model.quantizer!="None"&&t.model.type!="transformers"?(O(),D("div",zet,[Het,qet,_("a",{href:"https://huggingface.co/"+t.model.quantizer,target:"_blank",rel:"noopener noreferrer",onClick:e[7]||(e[7]=Te(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.quantizer),9,Yet)])):j("",!0),_("div",$et,[Wet,Ket,_("a",{href:t.model.model_creator_link,target:"_blank",rel:"noopener noreferrer",onClick:e[8]||(e[8]=Te(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.model_creator),9,jet)]),_("div",Qet,[Xet,Zet,je(" "+he(t.model.last_commit_time),1)]),_("div",Jet,[ett,ttt,_("a",{href:"https://huggingface.co/"+t.model.model_creator,target:"_blank",rel:"noopener noreferrer",onClick:e[9]||(e[9]=Te(()=>{},["stop"])),class:"flex hover:text-secondary duration-75 active:scale-90",title:"quantizer's profile"},he(t.model.category),9,ntt)])])],8,Aet)]))],10,VJe)}const stt=gt(GJe,[["render",itt]]),rtt={data(){return{editMode:!1,avatar:"path/to/avatar.jpg",personalityName:"Personality Name",personalityAuthor:"Author Name",personalityDescription:"Personality Description",personalityCategory:"Category",disclaimer:"Disclaimer text",conditioningText:"Conditioning Text",aiPrefix:"AI Prefix",userPrefix:"User Prefix",antipromptsList:[{id:1,text:"Antiprompt 1"},{id:2,text:"Antiprompt 2"},{id:3,text:"Antiprompt 3"}]}},methods:{commitChanges(){console.log("Personality changes committed"),this.editMode=!1}}},ott={class:"p-4"},att={class:"flex items-center mb-4"},ltt=["src"],ctt={class:"text-lg font-semibold"},dtt=_("strong",null,"Author:",-1),utt=_("strong",null,"Description:",-1),ptt=_("strong",null,"Category:",-1),_tt={key:0},htt=_("strong",null,"Disclaimer:",-1),ftt=_("strong",null,"Conditioning Text:",-1),mtt=_("strong",null,"AI Prefix:",-1),gtt=_("strong",null,"User Prefix:",-1),Ett=_("strong",null,"Antiprompts:",-1);function btt(n,e,t,i,s,r){return O(),D("div",ott,[_("div",att,[_("img",{src:s.avatar,class:"w-12 h-12 rounded-full mr-2",alt:"Avatar"},null,8,ltt),_("h2",ctt,he(s.personalityName),1)]),_("p",null,[dtt,je(" "+he(s.personalityAuthor),1)]),_("p",null,[utt,je(" "+he(s.personalityDescription),1)]),_("p",null,[ptt,je(" "+he(s.personalityCategory),1)]),s.disclaimer?(O(),D("p",_tt,[htt,je(" "+he(s.disclaimer),1)])):j("",!0),_("p",null,[ftt,je(" "+he(s.conditioningText),1)]),_("p",null,[mtt,je(" "+he(s.aiPrefix),1)]),_("p",null,[gtt,je(" "+he(s.userPrefix),1)]),_("div",null,[Ett,_("ul",null,[(O(!0),D($e,null,lt(s.antipromptsList,o=>(O(),D("li",{key:o.id},he(o.text),1))),128))])]),_("button",{onClick:e[0]||(e[0]=o=>s.editMode=!0),class:"mt-4 bg-blue-500 text-white px-4 py-2 rounded"}," Edit "),s.editMode?(O(),D("button",{key:1,onClick:e[1]||(e[1]=(...o)=>r.commitChanges&&r.commitChanges(...o)),class:"mt-4 bg-green-500 text-white px-4 py-2 rounded"}," Commit ")):j("",!0)])}const Stt=gt(rtt,[["render",btt]]),pc="/assets/logo-9d653710.svg",vtt="/",ytt={props:{personality:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onReinstall:Function,onSettings:Function,onCopyPersonalityName:Function},components:{InteractiveMenu:uc},data(){return{isMounted:!1,name:this.personality.name}},computed:{commandsList(){let n=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return this.isMounted&&n.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),this.selected&&this.personality.has_scripts&&n.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),n},selected_computed(){return this.selected}},mounted(){this.isMounted=this.personality.isMounted,Fe(()=>{Be.replace()})},methods:{getImgUrl(){return vtt+this.personality.avatar},defaultImg(n){n.target.src=pc},toggleTalk(){this.onTalk(this)},toggleCopyLink(){this.onCopyPersonalityName(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this),this.isMounted=!1},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Fe(()=>{Be.replace()})}}},Ttt=["title"],xtt={class:"flex flex-row items-center flex-shrink-0 gap-3"},Ctt=["src"],Rtt=_("i",{"data-feather":"clipboard",class:"w-5"},null,-1),Att=[Rtt],wtt={class:""},Ntt={class:""},Ott={class:"flex items-center"},Itt=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Mtt=_("b",null,"Author: ",-1),Dtt={class:"flex items-center"},Ltt=_("i",{"data-feather":"git-commit",class:"w-5 m-1"},null,-1),ktt=_("b",null,"Version: ",-1),Ptt={key:0,class:"flex items-center"},Utt=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),Ftt=_("b",null,"Languages: ",-1),Btt=["selected"],Gtt={key:1,class:"flex items-center"},Vtt=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),ztt=_("b",null,"Language: ",-1),Htt={class:"flex items-center"},qtt=_("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),Ytt=_("b",null,"Category: ",-1),$tt=_("div",{class:"flex items-center"},[_("i",{"data-feather":"info",class:"w-5 m-1"}),_("b",null,"Description: "),_("br")],-1),Wtt=["title","innerHTML"],Ktt={class:"rounded bg-blue-300"},jtt=_("i",{"data-feather":"check"},null,-1),Qtt=_("span",{class:"sr-only"},"Select",-1),Xtt=[jtt,Qtt],Ztt=_("i",{"data-feather":"send",class:"w-5"},null,-1),Jtt=_("span",{class:"sr-only"},"Talk",-1),ent=[Ztt,Jtt];function tnt(n,e,t,i,s,r){const o=_t("InteractiveMenu");return O(),D("div",{class:He(["min-w-96 items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",r.selected_computed?"border-2 border-primary-light":"border-transparent",s.isMounted?"bg-blue-200 dark:bg-blue-700":""]),tabindex:"-1",title:t.personality.installed?"":"Not installed"},[_("div",{class:He(t.personality.installed?"":"border-red-500")},[_("div",xtt,[_("img",{onClick:e[0]||(e[0]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),ref:"imgElement",src:r.getImgUrl(),onError:e[1]||(e[1]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-red-700 cursor-pointer"},null,40,Ctt),_("h3",{onClick:e[2]||(e[2]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"font-bold font-large text-lg line-clamp-3 cursor-pointer"},he(t.personality.name),1),_("button",{class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center",title:"Copy link to clipboard",onClick:e[3]||(e[3]=Te(a=>r.toggleCopyLink(),["stop"]))},Att)]),_("div",wtt,[_("div",Ntt,[_("div",Ott,[Itt,Mtt,je(" "+he(t.personality.author),1)]),_("div",Dtt,[Ltt,ktt,je(" "+he(t.personality.version),1)]),t.personality.languages&&t.select_language?(O(),D("div",Ptt,[Utt,Ftt,s.isMounted?j("",!0):xe((O(),D("select",{key:0,id:"languages","onUpdate:modelValue":e[4]||(e[4]=a=>t.personality.language=a),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(t.personality.languages,(a,l)=>(O(),D("option",{key:l,selected:a==t.personality.languages[0]},he(a),9,Btt))),128))],512)),[[ei,t.personality.language]])])):j("",!0),t.personality.language?(O(),D("div",Gtt,[Vtt,ztt,je(" "+he(t.personality.language),1)])):j("",!0),_("div",Htt,[qtt,Ytt,je(" "+he(t.personality.category),1)])]),$tt,_("p",{class:"mx-1 opacity-80 h-20 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",title:t.personality.description,innerHTML:t.personality.description},null,8,Wtt)]),_("div",Ktt,[s.isMounted?(O(),D("button",{key:0,type:"button",title:"Select",onClick:[e[5]||(e[5]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),e[6]||(e[6]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Xtt)):j("",!0),s.isMounted?(O(),D("button",{key:1,type:"button",title:"Talk",onClick:[e[7]||(e[7]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),e[8]||(e[8]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},ent)):j("",!0),Ie(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])])],2)],10,Ttt)}const ON=gt(ytt,[["render",tnt]]);const nnt={props:{code:String},data(){return{evaluatedCode:"",componentKey:0}},watch:{code:{handler(n){console.log("Code changed"),this.evaluateScriptTags(n),this.componentKey++},immediate:!0}},methods:{evaluateScriptTags(n){const e=document.createElement("div");e.innerHTML=n,e.querySelectorAll("script").forEach(i=>{const s=document.createElement("script");s.textContent=i.textContent,document.body.appendChild(s),document.body.removeChild(s)}),this.evaluatedCode=e.innerHTML,console.log("evaluated code: "+this.evaluatedCode)}}},int=["innerHTML"];function snt(n,e,t,i,s,r){return O(),D("div",{innerHTML:s.evaluatedCode,key:s.componentKey},null,8,int)}const IN=gt(nnt,[["render",snt]]),rnt="/",ont={components:{DynamicUIRenderer:IN},props:{binding:{},onSelected:Function,onReinstall:Function,onInstall:Function,onUnInstall:Function,onSettings:Function,onReloadBinding:Function,selected:Boolean},data(){return{isTemplate:!1}},mounted(){Fe(()=>{Be.replace()})},methods:{getImgUrl(){return rnt+this.binding.icon},defaultImg(n){n.target.src=pc},toggleSelected(){this.onSelected(this)},toggleInstall(){this.onInstall(this)},toggleUnInstall(){this.onUnInstall(this)},toggleReinstall(){this.onReinstall(this)},toggleReloadBinding(){this.onReloadBinding(this)},toggleSettings(){this.onSettings(this)},getStatus(){(this.binding.folder==="backend_template"||this.binding.folder==="binding_template")&&(this.isTemplate=!0)}},watch:{selected(){Fe(()=>{Be.replace()})}}},ant=["title"],lnt={class:"flex flex-row items-center gap-3"},cnt=["src"],dnt={class:"font-bold font-large text-lg truncate"},unt=_("div",{class:"grow"},null,-1),pnt={class:"flex-none gap-1"},_nt=_("i",{"data-feather":"refresh-cw",class:"w-5"},null,-1),hnt=_("span",{class:"sr-only"},"Help",-1),fnt=[_nt,hnt],mnt={class:"flex items-center flex-row-reverse gap-2 my-1"},gnt=_("span",{class:"sr-only"},"Click to install",-1),Ent=_("span",{class:"sr-only"},"Reinstall",-1),bnt=_("span",{class:"sr-only"},"UnInstall",-1),Snt=_("span",{class:"sr-only"},"Settings",-1),vnt={class:""},ynt={class:""},Tnt={class:"flex items-center"},xnt=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Cnt=_("b",null,"Author: ",-1),Rnt={class:"flex items-center"},Ant=_("i",{"data-feather":"folder",class:"w-5 m-1"},null,-1),wnt=_("b",null,"Folder: ",-1),Nnt={class:"flex items-center"},Ont=_("i",{"data-feather":"git-merge",class:"w-5 m-1"},null,-1),Int=_("b",null,"Version: ",-1),Mnt={class:"flex items-center"},Dnt=_("i",{"data-feather":"github",class:"w-5 m-1"},null,-1),Lnt=_("b",null,"Link: ",-1),knt=["href"],Pnt=_("div",{class:"flex items-center"},[_("i",{"data-feather":"info",class:"w-5 m-1"}),_("b",null,"Description: "),_("br")],-1),Unt=["title","innerHTML"];function Fnt(n,e,t,i,s,r){const o=_t("DynamicUIRenderer");return O(),D("div",{class:He(["items-start p-4 hover:bg-primary-light hover:border-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",t.selected?" border-primary bg-primary":"border-transparent"]),onClick:e[7]||(e[7]=Te((...a)=>r.toggleSelected&&r.toggleSelected(...a),["stop"])),title:t.binding.installed?t.binding.name:"Not installed"},[_("div",null,[_("div",lnt,[_("img",{ref:"imgElement",src:r.getImgUrl(),onError:e[0]||(e[0]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-blue-700"},null,40,cnt),_("h3",dnt,he(t.binding.name),1),unt,_("div",pnt,[t.selected?(O(),D("button",{key:0,type:"button",title:"Reload binding",onClick:[e[1]||(e[1]=(...a)=>r.toggleReloadBinding&&r.toggleReloadBinding(...a)),e[2]||(e[2]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},fnt)):j("",!0)])]),_("div",mnt,[t.binding.installed?j("",!0):(O(),D("button",{key:0,title:"Click to install",type:"button",onClick:e[3]||(e[3]=Te((...a)=>r.toggleInstall&&r.toggleInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[je(" Install "),gnt])),t.binding.installed?(O(),D("button",{key:1,title:"Click to Reinstall binding",type:"button",onClick:e[4]||(e[4]=Te((...a)=>r.toggleReinstall&&r.toggleReinstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-green-700 hover:bg-red-800 focus:ring-4 focus:ring-green-300 rounded-lg dark:bg-green-600 dark:hover:bg-green-700 dark:focus:ring-red-900"},[je(" Reinstall "),Ent])):j("",!0),t.binding.installed?(O(),D("button",{key:2,title:"Click to Reinstall binding",type:"button",onClick:e[5]||(e[5]=Te((...a)=>r.toggleUnInstall&&r.toggleUnInstall(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center focus:outline-none text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:ring-red-300 rounded-lg dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"},[je(" Uninstall "),bnt])):j("",!0),t.selected?(O(),D("button",{key:3,title:"Click to open Settings",type:"button",onClick:e[6]||(e[6]=Te((...a)=>r.toggleSettings&&r.toggleSettings(...a),["stop"])),class:"inline-flex items-center gap-2 px-3 py-2 text-xs font-medium text-center text-white bg-blue-700 rounded-lg hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},[je(" Settings "),Snt])):j("",!0)]),t.binding.ui?(O(),Ot(o,{key:0,class:"w-full h-full",code:t.binding.ui},null,8,["code"])):j("",!0),_("div",vnt,[_("div",ynt,[_("div",Tnt,[xnt,Cnt,je(" "+he(t.binding.author),1)]),_("div",Rnt,[Ant,wnt,je(" "+he(t.binding.folder),1)]),_("div",Nnt,[Ont,Int,je(" "+he(t.binding.version),1)]),_("div",Mnt,[Dnt,Lnt,_("a",{href:t.binding.link,target:"_blank",class:"flex items-center hover:text-secondary duration-75 active:scale-90"},he(t.binding.link),9,knt)])]),Pnt,_("p",{class:"mx-1 opacity-80 line-clamp-3",title:t.binding.description,innerHTML:t.binding.description},null,8,Unt)])])],10,ant)}const Bnt=gt(ont,[["render",Fnt]]),Gnt="/assets/extension-59119348.png",Vnt={data(){return{show:!1,model_path:"",resolve:null}},methods:{cancel(){this.resolve(null)},openInputBox(){return new Promise(n=>{this.resolve=n})},hide(n){this.show=!1,this.resolve&&(this.resolve(n),this.resolve=null)},showDialog(n){return new Promise(e=>{this.model_path=n,this.show=!0,this.resolve=e})}}},znt={key:0,class:"fixed top-0 left-0 right-0 bottom-0 flex items-center justify-center bg-black bg-opacity-50"},Hnt={class:"relative w-full max-w-md max-h-full"},qnt={class:"relative bg-white rounded-lg shadow dark:bg-gray-700"},Ynt=_("svg",{"aria-hidden":"true",class:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),$nt=_("span",{class:"sr-only"},"Close modal",-1),Wnt=[Ynt,$nt],Knt={class:"p-4 text-center"},jnt=_("svg",{"aria-hidden":"true",class:"mx-auto mb-4 text-gray-400 w-14 h-14 dark:text-gray-200",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),Qnt={class:"p-4 text-center mx-auto mb-4"},Xnt=_("label",{class:"mr-2"},"Model path",-1);function Znt(n,e,t,i,s,r){return s.show?(O(),D("div",znt,[_("div",Hnt,[_("div",qnt,[_("button",{type:"button",onClick:e[0]||(e[0]=o=>r.hide(!1)),class:"absolute top-3 right-2.5 text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white"},Wnt),_("div",Knt,[jnt,_("div",Qnt,[Xnt,xe(_("input",{"onUpdate:modelValue":e[1]||(e[1]=o=>s.model_path=o),class:"px-4 py-2 border border-gray-300 rounded-lg",type:"text"},null,512),[[Xe,s.model_path]])]),_("button",{onClick:e[2]||(e[2]=o=>r.hide(!0)),type:"button",class:"text-white bg-green-600 hover:bg-green-800 focus:ring-4 focus:outline-none focus:ring-red-300 dark:focus:ring-red-800 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2"}," Add "),_("button",{onClick:e[3]||(e[3]=o=>r.hide(!1)),type:"button",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"},"No, cancel")])])])])):j("",!0)}const Jnt=gt(Vnt,[["render",Znt]]);const eit={props:{show:{type:Boolean,default:!1,required:!1},can_remove:{type:Boolean,default:!1},title:{type:String,default:"Select an option"},choices:{type:Array,required:!0}},data(){return{selectedChoice:null,showInput:!1,newFilename:""}},methods:{displayName(n){return console.log("choice:",n),typeof n=="string"?n:n&&n.name?n.name:""},selectChoice(n){this.selectedChoice=n,this.$emit("choice-selected",n)},closeDialog(){this.$emit("close-dialog")},validateChoice(){this.$emit("choice-validated",this.selectedChoice)},formatSize(n){return n<1024?n+" bytes":n<1024*1024?(n/1024).toFixed(2)+" KB":n<1024*1024*1024?(n/(1024*1024)).toFixed(2)+" MB":(n/(1024*1024*1024)).toFixed(2)+" GB"},toggleInput(){this.showInput=!this.showInput},addNewFilename(){const n=this.newFilename.trim();n!==""&&(this.choices.push(n),this.newFilename="",this.selectChoice(n)),this.showInput=!1},removeChoice(n,e){this.choices.splice(e,1),n===this.selectedChoice&&(this.selectedChoice=null),this.$emit("choice-removed",n)}}},tit={key:0,class:"fixed inset-0 flex items-center justify-center bg-black bg-opacity-50"},nit={class:"bg-white dark:bg-gray-800 rounded-lg p-6 w-96"},iit={class:"text-xl font-semibold mb-4"},sit={class:"h-48 overflow-y-auto"},rit=["onClick"],oit={class:"font-bold"},ait=_("br",null,null,-1),lit={key:0,class:"text-xs text-gray-500"},cit=["onClick"],dit={key:0,class:"mt-4"},uit={class:"flex justify-end mt-4"},pit=["disabled"];function _it(n,e,t,i,s,r){return O(),Ot(ws,{name:"fade"},{default:ot(()=>[t.show?(O(),D("div",tit,[_("div",nit,[_("h2",iit,he(t.title),1),_("div",sit,[_("ul",null,[(O(!0),D($e,null,lt(t.choices,(o,a)=>(O(),D("li",{key:a,onClick:l=>r.selectChoice(o),class:He([{"selected-choice":o===s.selectedChoice},"py-2 px-4 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700"])},[_("span",oit,he(r.displayName(o)),1),ait,o.size?(O(),D("span",lit,he(r.formatSize(o.size)),1)):j("",!0),t.can_remove?(O(),D("button",{key:1,onClick:l=>r.removeChoice(o,a),class:"ml-2 text-red-500 hover:text-red-600"}," X ",8,cit)):j("",!0)],10,rit))),128))])]),s.showInput?(O(),D("div",dit,[xe(_("input",{"onUpdate:modelValue":e[0]||(e[0]=o=>s.newFilename=o),placeholder:"Enter a filename",class:"border border-gray-300 p-2 rounded-lg w-full"},null,512),[[Xe,s.newFilename]]),_("button",{onClick:e[1]||(e[1]=(...o)=>r.addNewFilename&&r.addNewFilename(...o)),class:"mt-2 py-2 px-4 bg-green-500 hover:bg-green-600 text-white rounded-lg transition duration-300"}," Add ")])):j("",!0),_("div",uit,[_("button",{onClick:e[2]||(e[2]=(...o)=>r.closeDialog&&r.closeDialog(...o)),class:"py-2 px-4 mr-2 bg-red-500 hover:bg-red-600 text-white rounded-lg transition duration-300"}," Cancel "),_("button",{onClick:e[3]||(e[3]=(...o)=>r.validateChoice&&r.validateChoice(...o)),class:He([{"bg-gray-400 cursor-not-allowed":!s.selectedChoice,"bg-blue-500 hover:bg-blue-600":s.selectedChoice,"text-white":s.selectedChoice,"text-gray-500":!s.selectedChoice},"py-2 px-4 rounded-lg transition duration-300"]),disabled:!s.selectedChoice}," Validate ",10,pit),_("button",{onClick:e[4]||(e[4]=(...o)=>r.toggleInput&&r.toggleInput(...o)),class:"py-2 px-4 ml-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg transition duration-300"}," Add New ")])])])):j("",!0)]),_:1})}const rb=gt(eit,[["render",_it]]),hit={props:{radioOptions:{type:Array,required:!0},defaultValue:{type:String,default:0}},data(){return{selectedValue:this.defaultValue}},methods:{handleRadioChange(n){this.selectedValue!==null&&this.$emit("radio-selected",this.selectedValue,n)}}},fit={class:"flex space-x-4"},mit=["value","onChange"],git={class:"text-gray-700"};function Eit(n,e,t,i,s,r){return O(),D("div",fit,[(O(!0),D($e,null,lt(t.radioOptions,(o,a)=>(O(),D("label",{key:o.value,class:"flex items-center space-x-2"},[xe(_("input",{type:"radio",value:o.value,"onUpdate:modelValue":e[0]||(e[0]=l=>s.selectedValue=l),onChange:l=>r.handleRadioChange(a),class:"text-blue-500 focus:ring-2 focus:ring-blue-200"},null,40,mit),[[n2,s.selectedValue]]),_("span",git,he(o.label),1)]))),128))])}const bit=gt(hit,[["render",Eit]]),Sit="/",vit={props:{extension:{},select_language:Boolean,selected:Boolean,full_path:String,onTalk:Function,onSelected:Function,onMount:Function,onUnMount:Function,onRemount:Function,onReinstall:Function,onSettings:Function},components:{InteractiveMenu:uc},data(){return{isMounted:!1,name:this.extension.name}},computed:{commandsList(){let n=[{name:this.isMounted?"unmount":"mount",icon:"feather:settings",is_file:!1,value:this.isMounted?this.unmount:this.mount},{name:"reinstall",icon:"feather:terminal",is_file:!1,value:this.toggleReinstall}];return this.isMounted&&n.push({name:"remount",icon:"feather:refresh-ccw",is_file:!1,value:this.reMount}),n.push({name:"settings",icon:"feather:settings",is_file:!1,value:this.toggleSettings}),n},selected_computed(){return this.selected}},mounted(){this.isMounted=this.extension.isMounted,Fe(()=>{Be.replace()})},methods:{getImgUrl(){return Sit+this.extension.avatar},defaultImg(n){n.target.src=pc},toggleTalk(){this.onTalk(this)},toggleSelected(){this.isMounted&&this.onSelected(this)},reMount(){this.onRemount(this)},mount(){console.log("Mounting"),this.onMount(this)},unmount(){console.log("Unmounting"),console.log(this.onUnMount),this.onUnMount(this)},toggleSettings(){this.onSettings(this)},toggleReinstall(){this.onReinstall(this)}},watch:{selected(){Fe(()=>{Be.replace()})}}},yit=["title"],Tit={class:"flex flex-row items-center flex-shrink-0 gap-3"},xit=["src"],Cit={class:""},Rit={class:""},Ait={class:"flex items-center"},wit=_("i",{"data-feather":"user",class:"w-5 m-1"},null,-1),Nit=_("b",null,"Author: ",-1),Oit={class:"flex items-center"},Iit=_("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),Mit=_("b",null,"Based on: ",-1),Dit={key:0,class:"flex items-center"},Lit=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),kit=_("b",null,"Languages: ",-1),Pit=["selected"],Uit={key:1,class:"flex items-center"},Fit=_("i",{"data-feather":"globe",class:"w-5 m-1"},null,-1),Bit=_("b",null,"Language: ",-1),Git={class:"flex items-center"},Vit=_("i",{"data-feather":"bookmark",class:"w-5 m-1"},null,-1),zit=_("b",null,"Category: ",-1),Hit=_("div",{class:"flex items-center"},[_("i",{"data-feather":"info",class:"w-5 m-1"}),_("b",null,"Description: "),_("br")],-1),qit=["title","innerHTML"],Yit={class:"rounded bg-blue-300"},$it=_("i",{"data-feather":"check"},null,-1),Wit=_("span",{class:"sr-only"},"Select",-1),Kit=[$it,Wit],jit=_("i",{"data-feather":"send",class:"w-5"},null,-1),Qit=_("span",{class:"sr-only"},"Talk",-1),Xit=[jit,Qit];function Zit(n,e,t,i,s,r){const o=_t("InteractiveMenu");return O(),D("div",{class:He(["min-w-96 items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 cursor-pointer select-none",r.selected_computed?"border-2 border-primary-light":"border-transparent",s.isMounted?"bg-blue-200 dark:bg-blue-700":""]),tabindex:"-1",title:t.extension.installed?"":"Not installed"},[_("div",{class:He(t.extension.installed?"":"border-red-500")},[_("div",Tit,[_("img",{onClick:e[0]||(e[0]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),ref:"imgElement",src:r.getImgUrl(),onError:e[1]||(e[1]=a=>r.defaultImg(a)),class:"w-10 h-10 rounded-full object-fill text-red-700 cursor-pointer"},null,40,xit),_("h3",{onClick:e[2]||(e[2]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),class:"font-bold font-large text-lg line-clamp-3 cursor-pointer"},he(t.extension.name),1)]),_("div",Cit,[_("div",Rit,[_("div",Ait,[wit,Nit,je(" "+he(t.extension.author),1)]),_("div",Oit,[Iit,Mit,je(" "+he(t.extension.based_on),1)]),t.extension.languages&&t.select_language?(O(),D("div",Dit,[Lit,kit,xe(_("select",{id:"languages","onUpdate:modelValue":e[3]||(e[3]=a=>t.extension.language=a),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(t.extension.languages,(a,l)=>(O(),D("option",{key:l,selected:a==t.extension.languages[0]},he(a),9,Pit))),128))],512),[[ei,t.extension.language]])])):j("",!0),t.extension.language?(O(),D("div",Uit,[Fit,Bit,je(" "+he(t.extension.language),1)])):j("",!0),_("div",Git,[Vit,zit,je(" "+he(t.extension.category),1)])]),Hit,_("p",{class:"mx-1 opacity-80 h-20 overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",title:t.extension.description,innerHTML:t.extension.description},null,8,qit)]),_("div",Yit,[s.isMounted?(O(),D("button",{key:0,type:"button",title:"Select",onClick:[e[4]||(e[4]=(...a)=>r.toggleSelected&&r.toggleSelected(...a)),e[5]||(e[5]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Kit)):j("",!0),s.isMounted?(O(),D("button",{key:1,type:"button",title:"Talk",onClick:[e[6]||(e[6]=(...a)=>r.toggleTalk&&r.toggleTalk(...a)),e[7]||(e[7]=Te(()=>{},["stop"]))],class:"hover:text-secondary duration-75 active:scale-90 font-medium rounded-lg text-sm p-2 text-center inline-flex items-center"},Xit)):j("",!0),Ie(o,{commands:r.commandsList,force_position:2,title:"Menu"},null,8,["commands"])])],2)],10,yit)}const Jit=gt(vit,[["render",Zit]]),est="/assets/gpu-df72bf63.svg";const tst="/";Ue.defaults.baseURL="/";const nst={components:{AddModelDialog:Jnt,ModelEntry:stt,PersonalityViewer:Stt,PersonalityEntry:ON,BindingEntry:Bnt,ChoiceDialog:rb,Card:dc,RadioOptions:bit,ExtensionEntry:Jit},data(){return{voices:[],voice_languages:{Arabic:"ar","Brazilian Portuguese":"pt",Chinese:"zh-cn",Czech:"cs",Dutch:"nl",English:"en",French:"fr",German:"de",Italian:"it",Polish:"pl",Russian:"ru",Spanish:"es",Turkish:"tr",Japanese:"ja",Korean:"ko",Hungarian:"hu",Hindi:"hi"},binding_changed:!1,SVGGPU:est,models_zoo:[],models_zoo_initialLoadCount:10,models_zoo_loadMoreCount:5,models_zoo_loadedEntries:[],models_zoo_scrollThreshold:200,sortOptions:[{label:"Sort by Date",value:0},{label:"Sort by Rank",value:1},{label:"Sort by Name",value:2},{label:"Sort by Maker",value:3},{label:"Sort by Quantizer",value:4}],show_only_installed_models:!1,reference_path:"",audioVoices:[],has_updates:!1,variant_choices:[],variantSelectionDialogVisible:!1,currenModelToInstall:null,loading_text:"",extension_category:"bound_extensions",personality_category:null,addModelDialogVisibility:!1,modelPath:"",personalitiesFiltered:[],modelsFiltered:[],extensionsFiltered:[],collapsedArr:[],all_collapsed:!0,servers_conf_collapsed:!0,minconf_collapsed:!0,bec_collapsed:!0,sort_type:0,is_loading_zoo:!1,mzc_collapsed:!0,mzdc_collapsed:!0,pzc_collapsed:!0,ezc_collapsed:!0,mep_collapsed:!0,bzc_collapsed:!0,pc_collapsed:!0,mc_collapsed:!0,sc_collapsed:!0,mzl_collapsed:!1,pzl_collapsed:!1,ezl_collapsed:!1,bzl_collapsed:!1,extCatgArr:[],persCatgArr:[],persArr:[],showConfirmation:!1,showToast:!1,isLoading:!1,settingsChanged:!1,isModelSelected:!1,isMounted:!1,bUrl:tst,searchPersonality:"",searchExtension:"",searchModel:"",searchPersonalityTimer:{},searchPersonalityTimerInterval:1500,searchModelTimerInterval:1500,searchPersonalityInProgress:!1,searchExtensionInProgress:!1,searchModelInProgress:!1,addModel:{},modelDownlaodInProgress:!1,uploadData:[]}},async created(){Ye.on("loading_text",this.on_loading_text),this.updateHasUpdates()},methods:{reinstallSDService(){Ue.get("install_sd").then(n=>{}).catch(n=>{console.error(n)})},reinstallAudioService(){Ue.get("install_xtts").then(n=>{}).catch(n=>{console.error(n)})},getSeviceVoices(){Ue.get("list_voices").then(n=>{this.voices=n.data.voices}).catch(n=>{console.error(n)})},load_more_models(){this.models_zoo_initialLoadCount+10{Be.replace()}),this.binding_changed&&!this.mzc_collapsed&&(this.modelsZoo==null||this.modelsZoo.length==0)&&(console.log("Refreshing models"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.refreshModelsZoo(),this.binding_changed=!1)},async selectSortOption(n){this.$store.state.sort_type=n,this.updateModelsZoo(),console.log(`Selected sorting:${n}`),console.log(`models:${this.models_zoo}`)},handleRadioSelected(n){this.isLoading=!0,this.selectSortOption(n).then(()=>{this.isLoading=!1})},filter_installed(n){return console.log("filtering"),n.filter(e=>e.isInstalled===!0)},getVoices(){"speechSynthesis"in window&&(this.audioVoices=speechSynthesis.getVoices(),console.log("Voices:"+this.audioVoices),!this.audio_out_voice&&this.audioVoices.length>0&&(this.audio_out_voice=this.audioVoices[0].name),speechSynthesis.onvoiceschanged=()=>{})},async updateHasUpdates(){let n=await this.api_get_req("check_update");this.has_updates=n.update_availability,console.log("has_updates",this.has_updates)},onVariantChoiceSelected(n){this.selected_variant=n},oncloseVariantChoiceDialog(){this.variantSelectionDialogVisible=!1},onvalidateVariantChoice(n){this.variantSelectionDialogVisible=!1,this.currenModelToInstall.installing=!0;let e=this.currenModelToInstall;if(e.linkNotValid){e.installing=!1,this.$store.state.toast.showToast("Link is not valid, file does not exist",4,!1);return}let t="https://huggingface.co/"+e.model.quantizer+"/"+e.model.name+"/resolve/main/"+this.selected_variant.name;this.showProgress=!0,this.progress=0,this.addModel={model_name:this.selected_variant.name,binding_folder:this.configFile.binding_name,model_url:t},console.log("installing...",this.addModel);const i=s=>{if(console.log("received something"),s.status&&s.progress<=100){if(this.addModel=s,console.log("Progress",s),e.progress=s.progress,e.speed=s.speed,e.total_size=s.total_size,e.downloaded_size=s.downloaded_size,e.start_time=s.start_time,e.installing=!0,e.progress==100){const r=this.models_zoo.findIndex(o=>o.name===e.model.name);this.models_zoo[r].isInstalled=!0,this.showProgress=!1,e.installing=!1,console.log("Received succeeded"),Ye.off("install_progress",i),console.log("Installed successfully"),this.$store.state.toast.showToast(`Model: `+e.model.name+` installed!`,4,!0),this.$store.dispatch("refreshDiskUsage")}}else Ye.off("install_progress",i),console.log("Install failed"),e.installing=!1,this.showProgress=!1,console.error("Installation failed:",s.error),this.$store.state.toast.showToast(`Model: `+e.model.name+` -failed to install!`,4,!1),this.$store.dispatch("refreshDiskUsage");console.log("Here")};Ye.on("install_progress",i),Ye.emit("install_model",{path:t,name:e.model.name,variant_name:this.selected_variant.name,type:e.model.type}),console.log("Started installation, please wait")},uploadAvatar(n){const e=n.target.files[0],t=new FormData;t.append("avatar",e),console.log("Uploading avatar"),Ue.post("/upload_avatar",t).then(i=>{console.log("Avatar uploaded successfully"),this.$store.state.toast.showToast("Avatar uploaded successfully!",4,!0);const s=i.data.fileName;console.log("response",i),this.user_avatar=s,this.update_setting("user_avatar",s,()=>{}).then(()=>{})}).catch(i=>{console.error("Error uploading avatar:",i)})},async update_software(){console.log("Posting");const n=await this.api_get_req("update_software");console.log("Posting done"),n.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},async restart_software(){console.log("Posting");const n=await this.api_get_req("restart_program");console.log("Posting done"),n.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},on_loading_text(n){console.log("Loading text",n),this.loading_text=n},async load_everything(){for(this.isLoading=!0,Fe(()=>{Be.replace()});this.isReady===!1;)await new Promise(n=>setTimeout(n,100));this.refresh(),console.log("Ready"),this.configFile.model_name&&(this.isModelSelected=!0),this.persCatgArr=await this.api_get_req("list_personalities_categories"),this.persArr=await this.api_get_req("list_personalities?category="+this.configFile.personality_category),console.log("category");try{this.extCatgArr=await this.api_get_req("list_extensions_categories"),this.extension_category=this.extCatgArr[0],console.log(this.extCatgArr)}catch{console.log("Couldn't list catergories"),this.extCatgArr=[]}try{console.log("Loading extension category content"),this.extArr=await this.api_get_req("list_extensions?category="+this.extension_category),console.log(this.extArr)}catch{console.log("Couldn't list extensions"),this.extCatgArr=[]}this.personality_category=this.configFile.personality_category,this.personalitiesFiltered=this.personalities.filter(n=>n.category===this.configFile.personality_category),this.modelsFiltered=[],this.extension_category=this.configFile.extension_category,this.extensionsFiltererd=this.$store.state.extensionsZoo.filter(n=>n.category===this.configFile.extension_category),this.updateModelsZoo(),this.isLoading=!1,this.isMounted=!0,this.extension_category=this.configFile.extension_category,console.log("READY Stuff")},async open_mzl(){this.mzl_collapsed=!this.mzl_collapsed,console.log("Fetching models")},async getVramUsage(){await this.api_get_req("vram_usage")},async progressListener(n){if(console.log("received something"),n.status==="progress"){if(this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(i=>i.model.name==n.model_name&&this.configFile.binding_name==n.binding_folder),t=this.models_zoo[e];t&&(console.log("model entry",t),t.installing=!0,t.progress=n.progress,console.log(`Progress = ${n.progress}`),n.progress>=100&&(t.installing=!1,t.isInstalled=!0))}}else if(n.status==="succeeded"){if(console.log("Received succeeded"),console.log("Installed successfully"),this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(i=>i.model.name==n.model_name&&this.configFile.binding_name==n.binding_folder),t=this.models_zoo[e];t&&(t.installing=!1,t.isInstalled=!0)}this.$store.state.toast.showToast(`Model: +failed to install!`,4,!1),this.$store.dispatch("refreshDiskUsage");console.log("Here")};Ye.on("install_progress",i),Ye.emit("install_model",{path:t,name:e.model.name,variant_name:this.selected_variant.name,type:e.model.type}),console.log("Started installation, please wait")},uploadAvatar(n){const e=n.target.files[0],t=new FormData;t.append("avatar",e),console.log("Uploading avatar"),Ue.post("/upload_avatar",t).then(i=>{console.log("Avatar uploaded successfully"),this.$store.state.toast.showToast("Avatar uploaded successfully!",4,!0);const s=i.data.fileName;console.log("response",i),this.user_avatar=s,this.update_setting("user_avatar",s,()=>{}).then(()=>{})}).catch(i=>{console.error("Error uploading avatar:",i)})},async update_software(){console.log("Posting");const n=await this.api_get_req("update_software");console.log("Posting done"),n.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},async restart_software(){console.log("Posting");const n=await this.api_get_req("restart_program");console.log("Posting done"),n.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Failure!",4,!1)},on_loading_text(n){console.log("Loading text",n),this.loading_text=n},async load_everything(){for(this.isLoading=!0,Fe(()=>{Be.replace()});this.isReady===!1;)await new Promise(n=>setTimeout(n,100));this.refresh(),console.log("Ready"),this.configFile.model_name&&(this.isModelSelected=!0),this.persCatgArr=await this.api_get_req("list_personalities_categories"),this.persArr=await this.api_get_req("list_personalities?category="+this.configFile.personality_category),console.log("category");try{this.extCatgArr=await this.api_get_req("list_extensions_categories"),this.extension_category=this.extCatgArr[0],console.log(this.extCatgArr)}catch{console.log("Couldn't list catergories"),this.extCatgArr=[]}try{console.log("Loading extension category content"),this.extArr=await this.api_get_req("list_extensions?category="+this.extension_category),console.log(this.extArr)}catch{console.log("Couldn't list extensions"),this.extCatgArr=[]}this.personality_category=this.configFile.personality_category,this.personalitiesFiltered=this.personalities.filter(n=>n.category===this.configFile.personality_category),this.modelsFiltered=[],this.extension_category=this.configFile.extension_category,this.extensionsFiltered=this.$store.state.extensionsZoo.filter(n=>n.category===this.configFile.extension_category),this.updateModelsZoo(),this.isLoading=!1,this.isMounted=!0,this.extension_category=this.configFile.extension_category,console.log("READY Stuff")},async open_mzl(){this.mzl_collapsed=!this.mzl_collapsed,console.log("Fetching models")},async getVramUsage(){await this.api_get_req("vram_usage")},async progressListener(n){if(console.log("received something"),n.status==="progress"){if(this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(i=>i.model.name==n.model_name&&this.configFile.binding_name==n.binding_folder),t=this.models_zoo[e];t&&(console.log("model entry",t),t.installing=!0,t.progress=n.progress,console.log(`Progress = ${n.progress}`),n.progress>=100&&(t.installing=!1,t.isInstalled=!0))}}else if(n.status==="succeeded"){if(console.log("Received succeeded"),console.log("Installed successfully"),this.$refs.modelZoo){const e=this.$refs.modelZoo.findIndex(i=>i.model.name==n.model_name&&this.configFile.binding_name==n.binding_folder),t=this.models_zoo[e];t&&(t.installing=!1,t.isInstalled=!0)}this.$store.state.toast.showToast(`Model: `+model_object.name+` installed!`,4,!0),this.$store.dispatch("refreshDiskUsage")}else if(n.status==="failed"&&(console.log("Install failed"),this.$refs.modelZoo)){const e=this.$refs.modelZoo.findIndex(i=>i.model.name==n.model_name&&this.configFile.binding_name==n.binding_folder),t=this.models_zoo[e];t&&(t.installing=!1,t.isInstalled=!1),console.error("Installation failed:",n.error),this.$store.state.toast.showToast(`Model: `+model_object.name+` @@ -144,10 +144,10 @@ failed to uninstall!`,4,!1),this.$store.dispatch("refreshDiskUsage"))};Ye.on("un Endpoint error: `+i.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Binding has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open binding settings. Endpoint error: "+e.message,4,!1)}},onReloadBinding(n){this.isLoading=!0,Ue.post("/reload_binding",{name:n.binding.folder}).then(e=>{if(e)return this.isLoading=!1,console.log("reload_binding",e),e.data.status?this.$store.state.toast.showToast("Binding reloaded successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall binding",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall binding `+e.message,4,!1),{status:!1}))},onSettingsPersonality(n){try{this.isLoading=!0,Ue.get("/get_active_personality_settings").then(e=>{this.isLoading=!1,e&&(console.log("pers sett",e),e.data&&Object.keys(e.data).length>0?this.$store.state.universalForm.showForm(e.data,"Personality settings - "+n.personality.name,"Save changes","Cancel").then(t=>{try{Ue.post("/set_active_personality_settings",t).then(i=>{i&&i.data?(console.log("personality set with new settings",i.data),this.$store.state.toast.showToast("Personality settings updated successfully!",4,!0)):(this.$store.state.toast.showToast(`Did not get Personality settings responses. `+i,4,!1),this.isLoading=!1)})}catch(i){this.$store.state.toast.showToast(`Did not get Personality settings responses. - Endpoint error: `+i.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Personality has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},onMessageBoxOk(){console.log("OK button clicked")},update_personality_category(n,e){this.personality_category=n,e()},update_extension_category(n,e){this.extension_category=n,e()},refresh(){console.log("Refreshing"),this.$store.dispatch("refreshConfig").then(()=>{console.log(this.personality_category),this.api_get_req("list_personalities_categories").then(n=>{console.log("cats",n),this.persCatgArr=n,this.personalitiesFiltered=this.personalities.filter(e=>e.category===this.personality_category),this.personalitiesFiltered.sort()}),this.api_get_req("list_extensions_categories").then(n=>{console.log("cats",n),this.extCatgArr=n,console.log("this.$store.state.extensionsZoo",this.$store.state.extensionsZoo),console.log("this.extension_category",this.extension_category),this.extensionsFiltererd=this.$store.state.extensionsZoo.filter(e=>e.category===this.extension_category),this.extensionsFiltererd.sort(),console.log("this.extensionsFiltererd",this.extensionsFiltererd)})})},toggleAccordion(){this.showAccordion=!this.showAccordion},async update_setting(n,e,t){console.log("Updating setting",n,":",e),this.isLoading=!0;const i={setting_name:n,setting_value:e};let s=await Ue.post("/update_setting",i);if(s)return this.isLoading=!1,console.log("update_setting",s),s.status?this.$store.state.toast.showToast(`Setting updated successfully. + Endpoint error: `+i.message,4,!1),this.isLoading=!1}}):(this.$store.state.toast.showToast("Personality has no settings",4,!1),this.isLoading=!1))})}catch(e){this.isLoading=!1,this.$store.state.toast.showToast("Could not open personality settings. Endpoint error: "+e.message,4,!1)}},onMessageBoxOk(){console.log("OK button clicked")},update_personality_category(n,e){this.personality_category=n,e()},update_extension_category(n,e){this.extension_category=n,e()},refresh(){console.log("Refreshing"),this.$store.dispatch("refreshConfig").then(()=>{console.log(this.personality_category),this.api_get_req("list_personalities_categories").then(n=>{console.log("cats",n),this.persCatgArr=n,this.personalitiesFiltered=this.personalities.filter(e=>e.category===this.personality_category),this.personalitiesFiltered.sort()}),this.api_get_req("list_extensions_categories").then(n=>{console.log("cats",n),this.extCatgArr=n,console.log("this.$store.state.extensionsZoo",this.$store.state.extensionsZoo),console.log("this.extension_category",this.extension_category),this.extensionsFiltered=this.$store.state.extensionsZoo.filter(e=>e.category===this.extension_category),this.extensionsFiltered.sort(),console.log("this.extensionsFiltered",this.extensionsFiltered)})})},toggleAccordion(){this.showAccordion=!this.showAccordion},async update_setting(n,e,t){console.log("Updating setting",n,":",e),this.isLoading=!0;const i={setting_name:n,setting_value:e};let s=await Ue.post("/update_setting",i);if(s)return this.isLoading=!1,console.log("update_setting",s),s.status?this.$store.state.toast.showToast(`Setting updated successfully. `,4,!0):this.$store.state.toast.showToast(`Setting update failed. Please view the console for more details.`,4,!1),t!==void 0&&t(s),s.data;this.isLoading=!1},async refreshModelsZoo(){this.models_zoo=[],console.log("refreshing models"),this.is_loading_zoo=!0,await this.$store.dispatch("refreshModelsZoo"),console.log("ModelsZoo refreshed"),await this.$store.dispatch("refreshModels"),console.log("Models refreshed"),this.updateModelsZoo(),console.log("Models updated"),this.is_loading_zoo=!1},async updateModelsZoo(){let n=this.$store.state.modelsZoo;if(n.length==0)return;let e=n.findIndex(t=>t.name==this.configFile.model_name);e>0?this.imgModel=n[e].icon:this.imgModel=zi,console.log(`REFRESHING models using sorting ${this.sort_type}`),n.length>1?(this.sort_type==0?(n.sort((t,i)=>{const s=new Date(t.last_commit_time);return new Date(i.last_commit_time)-s}),console.log("Sorted")):this.sort_type==1?n.sort((t,i)=>i.rank-t.rank):this.sort_type==2?n.sort((t,i)=>t.name.localeCompare(i.name)):this.sort_type==3&&n.sort((t,i)=>t.name.localeCompare(i.name)),console.log("Sorted")):console.log("No sorting needed"),n.forEach(t=>{t.name==this.$store.state.config.model_name?t.selected=!0:t.selected=!1}),console.log("Selected models");for(let t=0;tr.name==i);if(s==-1)for(let r=0;ra.name==i),s!=-1)){s=r,console.log(`Found ${i} at index ${s}`);break}}if(s==-1){let r={};r.name=i,r.icon=this.imgBinding,r.isCustomModel=!0,r.isInstalled=!0,n.push(r)}else n[s].isInstalled=!0}console.log("Determined models"),n.sort((t,i)=>t.isInstalled&&!i.isInstalled?-1:!t.isInstalled&&i.isInstalled?1:0),console.log("Done"),this.models_zoo=this.$store.state.modelsZoo},update_binding(n){this.isLoading=!0,this.$store.state.modelsZoo=[],this.configFile.model_name=null,this.$store.state.config.model_name=null,console.log("updating binding_name"),this.update_setting("binding_name",n,async e=>{console.log("updated binding_name"),await this.$store.dispatch("refreshConfig"),this.models_zoo=[],this.mzc_collapsed=!0;const t=this.bindingsZoo.findIndex(s=>s.folder==n),i=this.bindingsZoo[t];i?i.installed=!0:i.installed=!1,this.settingsChanged=!0,this.isLoading=!1,Fe(()=>{Be.replace()}),console.log("updating model"),this.update_model(null).then(()=>{}),Fe(()=>{Be.replace()})}),Fe(()=>{Be.replace()})},async update_model(n){n||(this.isModelSelected=!1),this.isLoading=!0;let e=await this.update_setting("model_name",n);return this.isLoading=!1,Fe(()=>{Be.replace()}),e},applyConfiguration(){this.isLoading=!0,Ue.post("/apply_settings",{config:this.configFile}).then(n=>{this.isLoading=!1,n.data.status?(this.$store.state.toast.showToast("Configuration changed successfully.",4,!0),this.settingsChanged=!1):this.$store.state.toast.showToast("Configuration change failed.",4,!1),Fe(()=>{Be.replace()})})},save_configuration(){this.showConfirmation=!1,Ue.post("/save_settings",{}).then(n=>{if(n)return n.status||this.$store.state.messageBox.showMessage("Error: Couldn't save settings!"),n.data}).catch(n=>(console.log(n.message,"save_configuration"),this.$store.state.messageBox.showMessage("Couldn't save settings!"),{status:!1}))},reset_configuration(){this.$store.state.yesNoDialog.askQuestion(`Are you sure? -This will delete all your configurations and get back to default configuration.`).then(n=>{n&&Ue.post("/reset_settings",{}).then(e=>{if(e)return e.status?this.$store.state.messageBox.showMessage("Settings have been reset correctly"):this.$store.state.messageBox.showMessage("Couldn't reset settings!"),e.data}).catch(e=>(console.log(e.message,"reset_configuration"),this.$store.state.messageBox.showMessage("Couldn't reset settings!"),{status:!1}))})},async api_get_req(n){try{const e=await Ue.get("/"+n);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - settings");return}},closeToast(){this.showToast=!1},async getPersonalitiesArr(){this.isLoading=!0,this.personalities=[];const n=await this.api_get_req("get_all_personalities"),e=this.$store.state.config,t=Object.keys(n);for(let i=0;i{const l=e.personalities.includes(s+"/"+a.folder);let c={};return c=a,c.category=s,c.language=langkey,c.full_path=s+"/"+a.folder,c.isMounted=l,c});this.personalities.length==0?this.personalities=o:this.personalities=this.personalities.concat(o)}this.personalities.sort((i,s)=>i.name.localeCompare(s.name)),this.personalitiesFiltered=this.personalities.filter(i=>i.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),console.log("per filtered",this.personalitiesFiltered),this.isLoading=!1},async filterPersonalities(){if(!this.searchPersonality){this.personalitiesFiltered=this.personalities.filter(t=>t.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),this.searchPersonalityInProgress=!1;return}const n=this.searchPersonality.toLowerCase(),e=this.personalities.filter(t=>{if(t.name&&t.name.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n)||t.full_path&&t.full_path.toLowerCase().includes(n))return t});e.length>0?this.personalitiesFiltered=e.sort():(this.personalitiesFiltered=this.personalities.filter(t=>t.category===this.configFile.personality_category),this.personalitiesFiltered.sort()),this.searchPersonalityInProgress=!1},async filterExtensions(){if(!this.searchExtension){this.personalitiesFiltered=this.extensions.filter(t=>t.category===this.extension_category),this.personalitiesFiltered.sort(),this.searchExtensionInProgress=!1;return}const n=this.searchExtension.toLowerCase(),e=this.personalities.filter(t=>{if(t.name&&t.name.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n)||t.full_path&&t.full_path.toLowerCase().includes(n))return t});e.length>0?this.personalitiesFiltered=e.sort():(this.personalitiesFiltered=this.personalities.filter(t=>t.category===this.configFile.personality_category),this.personalitiesFiltered.sort()),this.searchExtensionInProgress=!1},async filterModels(){const n=this.searchModel.toLowerCase();this.is_loading_zoo=!0,console.log("filtering models"),console.log(this.models_zoo);const e=this.models_zoo.filter(t=>{if(t.name&&t.name.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n)||t.category&&t.category.toLowerCase().includes(n))return t});this.is_loading_zoo=!1,e.length>0?this.modelsFiltered=e:this.modelsFiltered=[],this.searchModelInProgress=!1},computedFileSize(n){return Ki(n)},async mount_personality(n){if(!n)return{status:!1,error:"no personality - mount_personality"};try{const e={language:n.language,category:n.category,folder:n.folder},t=await Ue.post("/mount_personality",e);if(t)return t.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async unmount_personality(n){if(!n)return{status:!1,error:"no personality - unmount_personality"};const e={language:n.language,category:n.category,folder:n.folder};try{const t=await Ue.post("/unmount_personality",e);if(t)return t.data}catch(t){console.log(t.message,"unmount_personality - settings");return}},async select_personality(n){if(!n)return{status:!1,error:"no personality - select_personality"};let e=n.language==null?n.full_path:n.full_path+":"+n.language;console.log("pth",e);const i={id:this.configFile.personalities.findIndex(s=>s===e)};try{const s=await Ue.post("/select_personality",i);if(s)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),s.data}catch(s){console.log(s.message,"select_personality - settings");return}},async mount_extension(n){if(!n)return{status:!1,error:"no extension - mount_extension"};try{const e={category:n.category,folder:n.folder},t=await Ue.post("/mount_extension",e);if(t)return t.data}catch(e){console.log(e.message,"mount_extension - settings");return}},async unmount_extension(n){if(!n)return{status:!1,error:"no extension - unmount_extension"};const e={language:n.language,category:n.category,folder:n.folder};try{const t=await Ue.post("/unmount_extension",e);if(t)return t.data}catch(t){console.log(t.message,"unmount_extension - settings");return}},async mountPersonality(n){if(this.isLoading=!0,console.log("mount pers",n),n.personality.disclaimer!=""&&this.$store.state.messageBox.showMessage(n.personality.disclaimer),!n)return;if(this.configFile.personalities.includes(n.personality.full_path)){this.isLoading=!1,this.$store.state.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(n.personality);console.log("mount_personality res",e),e&&e.status&&e.active_personality_id>-1&&e.personalities.includes(n.personality.full_path)?(this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality mounted",4,!0),n.isMounted=!0,(await this.select_personality(n.personality)).status&&this.$store.state.toast.showToast(`Selected personality: +This will delete all your configurations and get back to default configuration.`).then(n=>{n&&Ue.post("/reset_settings",{}).then(e=>{if(e)return e.status?this.$store.state.messageBox.showMessage("Settings have been reset correctly"):this.$store.state.messageBox.showMessage("Couldn't reset settings!"),e.data}).catch(e=>(console.log(e.message,"reset_configuration"),this.$store.state.messageBox.showMessage("Couldn't reset settings!"),{status:!1}))})},async api_get_req(n){try{const e=await Ue.get("/"+n);if(e)return e.data}catch(e){console.log(e.message,"api_get_req - settings");return}},closeToast(){this.showToast=!1},async getPersonalitiesArr(){this.isLoading=!0,this.personalities=[];const n=await this.api_get_req("get_all_personalities"),e=this.$store.state.config,t=Object.keys(n);for(let i=0;i{const l=e.personalities.includes(s+"/"+a.folder);let c={};return c=a,c.category=s,c.language="",c.full_path=s+"/"+a.folder,c.isMounted=l,c});this.personalities.length==0?this.personalities=o:this.personalities=this.personalities.concat(o)}this.personalities.sort((i,s)=>i.name.localeCompare(s.name)),this.personalitiesFiltered=this.personalities.filter(i=>i.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),console.log("per filtered",this.personalitiesFiltered),this.isLoading=!1},async getExtensionsArr(){this.isLoading=!0,this.extensions=[];const n=await this.api_get_req("get_all_extensions"),e=this.$store.state.config,t=Object.keys(n);for(let i=0;i{const l=e.extensions.includes(s+"/"+a.folder);let c={};return c=a,c.category=s,c.language="",c.full_path=s+"/"+a.folder,c.isMounted=l,c});this.extensions.length==0?this.extensions=o:this.extensions=this.extensions.concat(o)}this.extensions.sort((i,s)=>i.name.localeCompare(s.name)),this.extensions=this.extensions.filter(i=>i.category===this.configFile.personality_category),this.extensions.sort(),console.log("per filtered",this.extensionsFiltered),this.isLoading=!1},async filterPersonalities(){if(!this.searchPersonality){this.personalitiesFiltered=this.personalities.filter(t=>t.category===this.configFile.personality_category),this.personalitiesFiltered.sort(),this.searchPersonalityInProgress=!1;return}const n=this.searchPersonality.toLowerCase(),e=this.personalities.filter(t=>{if(t.name&&t.name.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n)||t.full_path&&t.full_path.toLowerCase().includes(n))return t});e.length>0?this.personalitiesFiltered=e.sort():(this.personalitiesFiltered=this.personalities.filter(t=>t.category===this.configFile.personality_category),this.personalitiesFiltered.sort()),this.searchPersonalityInProgress=!1},async filterExtensions(){if(!this.searchExtension){this.personalitiesFiltered=this.extensions.filter(t=>t.category===this.extension_category),this.personalitiesFiltered.sort(),this.searchExtensionInProgress=!1;return}const n=this.searchExtension.toLowerCase(),e=this.personalities.filter(t=>{if(t.name&&t.name.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n)||t.full_path&&t.full_path.toLowerCase().includes(n))return t});e.length>0?this.personalitiesFiltered=e.sort():(this.personalitiesFiltered=this.personalities.filter(t=>t.category===this.configFile.personality_category),this.personalitiesFiltered.sort()),this.searchExtensionInProgress=!1},async filterModels(){const n=this.searchModel.toLowerCase();this.is_loading_zoo=!0,console.log("filtering models"),console.log(this.models_zoo);const e=this.models_zoo.filter(t=>{if(t.name&&t.name.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n)||t.category&&t.category.toLowerCase().includes(n))return t});this.is_loading_zoo=!1,e.length>0?this.modelsFiltered=e:this.modelsFiltered=[],this.searchModelInProgress=!1},computedFileSize(n){return Ki(n)},async mount_personality(n){if(!n)return{status:!1,error:"no personality - mount_personality"};try{const e={language:n.language,category:n.category,folder:n.folder},t=await Ue.post("/mount_personality",e);if(t)return t.data}catch(e){console.log(e.message,"mount_personality - settings");return}},async unmount_personality(n){if(!n)return{status:!1,error:"no personality - unmount_personality"};const e={language:n.language,category:n.category,folder:n.folder};try{const t=await Ue.post("/unmount_personality",e);if(t)return t.data}catch(t){console.log(t.message,"unmount_personality - settings");return}},async select_personality(n){if(!n)return{status:!1,error:"no personality - select_personality"};let e=n.language==null?n.full_path:n.full_path+":"+n.language;console.log("pth",e);const i={id:this.configFile.personalities.findIndex(s=>s===e)};try{const s=await Ue.post("/select_personality",i);if(s)return this.$store.dispatch("refreshConfig").then(()=>{this.$store.dispatch("refreshPersonalitiesZoo").then(()=>{this.$store.dispatch("refreshMountedPersonalities")})}),s.data}catch(s){console.log(s.message,"select_personality - settings");return}},async mount_extension(n){if(!n)return{status:!1,error:"no extension - mount_extension"};try{const e={category:n.category,folder:n.folder},t=await Ue.post("/mount_extension",e);if(t)return t.data}catch(e){console.log(e.message,"mount_extension - settings");return}},async unmount_extension(n){if(!n)return{status:!1,error:"no extension - unmount_extension"};const e={language:n.language,category:n.category,folder:n.folder};try{const t=await Ue.post("/unmount_extension",e);if(t)return t.data}catch(t){console.log(t.message,"unmount_extension - settings");return}},async mountPersonality(n){if(this.isLoading=!0,console.log("mount pers",n),n.personality.disclaimer!=""&&this.$store.state.messageBox.showMessage(n.personality.disclaimer),!n)return;if(this.configFile.personalities.includes(n.personality.full_path)){this.isLoading=!1,this.$store.state.toast.showToast("Personality already mounted",4,!1);return}const e=await this.mount_personality(n.personality);console.log("mount_personality res",e),e&&e.status&&e.active_personality_id>-1&&e.personalities.includes(n.personality.full_path)?(this.configFile.personalities=e.personalities,this.$store.state.toast.showToast("Personality mounted",4,!0),n.isMounted=!0,(await this.select_personality(n.personality)).status&&this.$store.state.toast.showToast(`Selected personality: `+n.personality.name,4,!0),this.$store.dispatch("refreshMountedPersonalities")):(n.isMounted=!1,this.$store.state.toast.showToast(`Could not mount personality Error: `+e.error+` Response: @@ -160,7 +160,7 @@ Response: Error: `+e.error,4,!1);this.isLoading=!1},async remountExtension(n){await this.unmountExtension(n),await this.mountExtension(n)},onExtensionReinstall(n){console.log("on reinstall ",n),this.isLoading=!0,console.log(n),Ue.post("/reinstall_extension",{name:n.extension.full_path}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_extension",e),e.data.status?this.$store.state.toast.showToast("Extension reinstalled successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall extension",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall personality `+e.message,4,!1),{status:!1}))},onPersonalityReinstall(n){console.log("on reinstall ",n),this.isLoading=!0,Ue.post("/reinstall_personality",{name:n.personality.path}).then(e=>{if(e)return this.isLoading=!1,console.log("reinstall_personality",e),e.data.status?this.$store.state.toast.showToast("Personality reinstalled successfully!",4,!0):this.$store.state.toast.showToast("Could not reinstall personality",4,!1),e.data;this.isLoading=!1}).catch(e=>(this.isLoading=!1,this.$store.state.toast.showToast(`Could not reinstall personality `+e.message,4,!1),{status:!1}))},personalityImgPlacehodler(n){n.target.src=ca},extensionImgPlacehodler(n){n.target.src=Gnt},searchPersonality_func(){clearTimeout(this.searchPersonalityTimer),this.searchPersonality&&(this.searchPersonalityInProgress=!0,setTimeout(this.filterPersonalities,this.searchPersonalityTimerInterval))},searchModel_func(){this.filterModels()}},async mounted(){console.log("Getting voices"),this.getVoices(),console.log("Constructing"),this.load_everything(),this.getSeviceVoices()},activated(){},computed:{rendered_models_zoo:{get(){return this.searchModel?this.show_only_installed_models?this.modelsFiltered.filter(n=>n.isInstalled===!0):this.modelsFiltered.slice(0,Math.min(this.models_zoo.length,this.models_zoo_initialLoadCount)):(console.log("this.models_zoo"),console.log(this.models_zoo),console.log(this.models_zoo_initialLoadCount),this.show_only_installed_models?this.models_zoo.filter(n=>n.isInstalled===!0):this.models_zoo.slice(0,Math.min(this.models_zoo.length,this.models_zoo_initialLoadCount)))}},imgBinding:{get(){if(!this.isMounted)return zi;try{return this.$refs.bindingZoo[this.$refs.bindingZoo.findIndex(n=>n.binding.folder==this.configFile.binding_name)].$refs.imgElement.src}catch{return zi}}},imgModel:{get(){try{if(idx=this.$store.state.modelsZoo.findIndex(n=>n.name==this.$store.state.selectedModel),idx>=0)return this.$store.state.modelsZoo[idx].avatar}catch{}if(!this.isMounted)return zi;try{return this.$refs.bindingZoo[this.$refs.bindingZoo.findIndex(n=>n.binding.folder==this.configFile.binding_name)].$refs.imgElement.src}catch{return zi}}},isReady:{get(){return this.$store.state.ready}},audio_out_voice:{get(){return this.$store.state.config.audio_out_voice},set(n){this.$store.state.config.audio_out_voice=n}},audioLanguages(){return[{code:"en-US",name:"English (US)"},{code:"en-GB",name:"English (UK)"},{code:"es-ES",name:"Spanish (Spain)"},{code:"es-MX",name:"Spanish (Mexico)"},{code:"fr-FR",name:"French (France)"},{code:"fr-CA",name:"French (Canada)"},{code:"de-DE",name:"German (Germany)"},{code:"it-IT",name:"Italian (Italy)"},{code:"pt-BR",name:"Portuguese (Brazil)"},{code:"pt-PT",name:"Portuguese (Portugal)"},{code:"ru-RU",name:"Russian (Russia)"},{code:"zh-CN",name:"Chinese (China)"},{code:"ja-JP",name:"Japanese (Japan)"},{code:"ar-SA",name:"Arabic (Saudi Arabia)"},{code:"tr-TR",name:"Turkish (Turkey)"},{code:"ms-MY",name:"Malay (Malaysia)"},{code:"ko-KR",name:"Korean (South Korea)"},{code:"nl-NL",name:"Dutch (Netherlands)"},{code:"sv-SE",name:"Swedish (Sweden)"},{code:"da-DK",name:"Danish (Denmark)"},{code:"fi-FI",name:"Finnish (Finland)"},{code:"no-NO",name:"Norwegian (Norway)"},{code:"pl-PL",name:"Polish (Poland)"},{code:"el-GR",name:"Greek (Greece)"},{code:"hu-HU",name:"Hungarian (Hungary)"},{code:"cs-CZ",name:"Czech (Czech Republic)"},{code:"th-TH",name:"Thai (Thailand)"},{code:"hi-IN",name:"Hindi (India)"},{code:"he-IL",name:"Hebrew (Israel)"},{code:"id-ID",name:"Indonesian (Indonesia)"},{code:"vi-VN",name:"Vietnamese (Vietnam)"},{code:"uk-UA",name:"Ukrainian (Ukraine)"},{code:"ro-RO",name:"Romanian (Romania)"},{code:"bg-BG",name:"Bulgarian (Bulgaria)"},{code:"hr-HR",name:"Croatian (Croatia)"},{code:"sr-RS",name:"Serbian (Serbia)"},{code:"sk-SK",name:"Slovak (Slovakia)"},{code:"sl-SI",name:"Slovenian (Slovenia)"},{code:"et-EE",name:"Estonian (Estonia)"},{code:"lv-LV",name:"Latvian (Latvia)"},{code:"lt-LT",name:"Lithuanian (Lithuania)"},{code:"ka-GE",name:"Georgian (Georgia)"},{code:"hy-AM",name:"Armenian (Armenia)"},{code:"az-AZ",name:"Azerbaijani (Azerbaijan)"},{code:"kk-KZ",name:"Kazakh (Kazakhstan)"},{code:"uz-UZ",name:"Uzbek (Uzbekistan)"},{code:"kkj-CM",name:"Kako (Cameroon)"},{code:"my-MM",name:"Burmese (Myanmar)"},{code:"ne-NP",name:"Nepali (Nepal)"},{code:"si-LK",name:"Sinhala (Sri Lanka)"}]},configFile:{get(){return this.$store.state.config},set(n){this.$store.commit("setConfig",n)}},userName:{get(){return this.$store.state.config.user_name},set(n){this.$store.state.config.user_name=n}},user_avatar:{get(){return"/user_infos/"+this.$store.state.config.user_avatar},set(n){this.$store.state.config.user_avatar=n}},hardware_mode:{get(){return this.$store.state.config.hardware_mode},set(n){this.$store.state.config.hardware_mode=n}},auto_update:{get(){return this.$store.state.config.auto_update},set(n){this.$store.state.config.auto_update=n}},auto_speak:{get(){return this.$store.state.config.auto_speak},set(n){this.$store.state.config.auto_speak=n}},auto_read:{get(){return this.$store.state.config.auto_read},set(n){this.$store.state.config.auto_read=n}},enable_voice_service:{get(){return this.$store.state.config.enable_voice_service},set(n){this.$store.state.config.enable_voice_service=n}},current_language:{get(){return this.$store.state.config.current_language},set(n){console.log("Current voice set to ",n),this.$store.state.config.current_language=n}},current_voice:{get(){return this.$store.state.config.current_voice===null||this.$store.state.config.current_voice===void 0?(console.log("current voice",this.$store.state.config.current_voice),"main_voice"):this.$store.state.config.current_voice},set(n){n=="main_voice"||n===void 0?(console.log("Current voice set to None"),this.$store.state.config.current_voice=null):(console.log("Current voice set to ",n),this.$store.state.config.current_voice=n)}},audio_pitch:{get(){return this.$store.state.config.audio_pitch},set(n){this.$store.state.config.audio_pitch=n}},audio_in_language:{get(){return this.$store.state.config.audio_in_language},set(n){this.$store.state.config.audio_in_language=n}},use_user_name_in_discussions:{get(){return this.$store.state.config.use_user_name_in_discussions},set(n){this.$store.state.config.use_user_name_in_discussions=n}},db_path:{get(){return this.$store.state.config.db_path},set(n){this.$store.state.config.db_path=n}},personalities:{get(){return this.$store.state.personalities},set(n){this.$store.commit("setPersonalities",n)}},mountedPersArr:{get(){return this.$store.state.mountedPersArr},set(n){this.$store.commit("setMountedPers",n)}},mountedExtensions:{get(){return console.log("this.$store.state.mountedExtensions:",this.$store.state.mountedExtensions),this.$store.state.mountedExtensions},set(n){this.$store.commit("setActiveExtensions",n)}},bindingsZoo:{get(){return this.$store.state.bindingsZoo},set(n){this.$store.commit("setbindingsZoo",n)}},modelsArr:{get(){return this.$store.state.modelsArr},set(n){this.$store.commit("setModelsArr",n)}},models:{get(){return this.models_zoo},set(n){this.$store.commit("setModelsZoo",n)}},installed_models:{get(){return this.models_zoo},set(n){this.$store.commit("setModelsZoo",n)}},diskUsage:{get(){return this.$store.state.diskUsage},set(n){this.$store.commit("setDiskUsage",n)}},ramUsage:{get(){return this.$store.state.ramUsage},set(n){this.$store.commit("setRamUsage",n)}},vramUsage:{get(){return this.$store.state.vramUsage},set(n){this.$store.commit("setVramUsage",n)}},disk_available_space(){return this.computedFileSize(this.diskUsage.available_space)},disk_binding_models_usage(){return console.log(`this.diskUsage : ${this.diskUsage}`),this.computedFileSize(this.diskUsage.binding_models_usage)},disk_percent_usage(){return this.diskUsage.percent_usage},disk_total_space(){return this.computedFileSize(this.diskUsage.total_space)},ram_available_space(){return this.computedFileSize(this.ramUsage.available_space)},ram_usage(){return this.computedFileSize(this.ramUsage.ram_usage)},ram_percent_usage(){return this.ramUsage.percent_usage},ram_total_space(){return this.computedFileSize(this.ramUsage.total_space)},model_name(){if(this.isMounted)return this.configFile.model_name},binding_name(){if(!this.isMounted)return;const n=this.bindingsZoo.findIndex(e=>e.folder===this.configFile.binding_name);if(n>-1)return this.bindingsZoo[n].name},active_pesonality(){if(!this.isMounted)return;const n=this.personalities.findIndex(e=>e.full_path===this.configFile.personalities[this.configFile.active_personality_id]);if(n>-1)return this.personalities[n].name},speed_computed(){return Ki(this.addModel.speed)},total_size_computed(){return Ki(this.addModel.total_size)},downloaded_size_computed(){return Ki(this.addModel.downloaded_size)}},watch:{enable_voice_service(n){n||(this.configFile.auto_read=!1)},bec_collapsed(){Fe(()=>{Be.replace()})},pc_collapsed(){Fe(()=>{Be.replace()})},mc_collapsed(){Fe(()=>{Be.replace()})},sc_collapsed(){Fe(()=>{Be.replace()})},showConfirmation(){Fe(()=>{Be.replace()})},mzl_collapsed(){Fe(()=>{Be.replace()})},pzl_collapsed(){Fe(()=>{Be.replace()})},ezl_collapsed(){Fe(()=>{Be.replace()})},bzl_collapsed(){Fe(()=>{Be.replace()})},all_collapsed(n){this.collapseAll(n),Fe(()=>{Be.replace()})},settingsChanged(n){this.$store.state.settingsChanged=n,Fe(()=>{Be.replace()})},isLoading(){Fe(()=>{Be.replace()})},searchPersonality(n){n==""&&this.filterPersonalities()},mzdc_collapsed(){Fe(()=>{Be.replace()})}},async beforeRouteLeave(n){if(await this.$router.isReady(),this.settingsChanged)return await this.$store.state.yesNoDialog.askQuestion(`Did You forget to apply changes? -You need to apply changes before you leave, or else.`,"Apply configuration","Cancel")&&this.applyConfiguration(),!1}},be=n=>(lo("data-v-aeee34ed"),n=n(),co(),n),ist={class:"container overflow-y-scroll flex flex-row shadow-lg p-10 pt-0 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},sst={class:"sticky top-0 z-10 flex flex-row mb-2 p-3 gap-3 w-full rounded-b-lg bg-bg-light-tone dark:bg-bg-dark-tone shadow-lg"},rst={key:0,class:"flex gap-3 flex-1 items-center duration-75"},ost=be(()=>_("i",{"data-feather":"x"},null,-1)),ast=[ost],lst=be(()=>_("i",{"data-feather":"check"},null,-1)),cst=[lst],dst={key:1,class:"flex gap-3 flex-1 items-center"},ust=be(()=>_("i",{"data-feather":"save"},null,-1)),pst=[ust],_st=be(()=>_("i",{"data-feather":"refresh-ccw"},null,-1)),hst=[_st],fst=be(()=>_("i",{"data-feather":"list"},null,-1)),mst=[fst],gst={class:"flex gap-3 flex-1 items-center justify-end"},Est=be(()=>_("i",{"data-feather":"trash-2"},null,-1)),bst=[Est],Sst=be(()=>_("i",{"data-feather":"refresh-ccw"},null,-1)),vst=[Sst],yst=be(()=>_("i",{"data-feather":"arrow-up-circle"},null,-1)),Tst={key:0},xst=be(()=>_("i",{"data-feather":"alert-circle"},null,-1)),Cst=[xst],Rst={class:"flex gap-3 items-center"},Ast={key:0,class:"flex gap-3 items-center"},wst=be(()=>_("p",{class:"text-red-600 font-bold"},"Apply changes:",-1)),Nst=be(()=>_("i",{"data-feather":"check"},null,-1)),Ost=[Nst],Ist={key:1,role:"status"},Mst=be(()=>_("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),Dst=be(()=>_("span",{class:"sr-only"},"Loading...",-1)),Lst={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},kst={class:"flex flex-row p-3"},Pst=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),Ust=[Pst],Fst=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Bst=[Fst],Gst=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," System status",-1)),Vst=be(()=>_("div",{class:"mr-2"},"|",-1)),zst={class:"text-base font-semibold cursor-pointer select-none items-center"},Hst={class:"flex gap-2 items-center"},qst={key:0},Yst={class:"flex gap-2 items-center"},$st=["src"],Wst={class:"font-bold font-large text-lg"},Kst={key:1},jst={class:"flex gap-2 items-center"},Qst=["src"],Xst={class:"font-bold font-large text-lg"},Zst=be(()=>_("i",{"data-feather":"cpu",title:"CPU Ram",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),Jst={class:"font-bold font-large text-lg"},ert=be(()=>_("i",{"data-feather":"hard-drive",title:"Hard drive",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),trt={class:"font-bold font-large text-lg"},nrt={class:"mb-2"},irt=be(()=>_("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[_("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},[_("path",{fill:"currentColor",d:"M17 17H7V7h10m4 4V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3H9v2H7c-1.11 0-2 .89-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2m-6 2h-2v-2h2m2-2H9v6h6V9Z"})]),je(" CPU Ram usage: ")],-1)),srt={class:"flex flex-col mx-2"},rrt=be(()=>_("b",null,"Avaliable ram: ",-1)),ort=be(()=>_("b",null,"Ram usage: ",-1)),art={class:"p-2"},lrt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},crt={class:"mb-2"},drt=be(()=>_("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[_("i",{"data-feather":"hard-drive",class:"w-5 h-5"}),je(" Disk usage: ")],-1)),urt={class:"flex flex-col mx-2"},prt=be(()=>_("b",null,"Avaliable disk space: ",-1)),_rt=be(()=>_("b",null,"Disk usage: ",-1)),hrt={class:"p-2"},frt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},mrt={class:"mb-2"},grt={class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Ert=["src"],brt={class:"flex flex-col mx-2"},Srt=be(()=>_("b",null,"Model: ",-1)),vrt=be(()=>_("b",null,"Avaliable vram: ",-1)),yrt=be(()=>_("b",null,"GPU usage: ",-1)),Trt={class:"p-2"},xrt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Crt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Rrt={class:"flex flex-row p-3"},Art=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),wrt=[Art],Nrt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Ort=[Nrt],Irt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Main configurations",-1)),Mrt={class:"flex flex-col mb-2 px-3 pb-2"},Drt={class:"expand-to-fit bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Lrt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"hardware_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Hardware mode:")],-1)),krt={class:"text-center items-center"},Prt={class:"flex flex-row"},Urt=be(()=>_("option",{value:"cpu"},"CPU",-1)),Frt=be(()=>_("option",{value:"cpu-noavx"},"CPU (No AVX)",-1)),Brt=be(()=>_("option",{value:"nvidia-tensorcores"},"NVIDIA (Tensor Cores)",-1)),Grt=be(()=>_("option",{value:"nvidia"},"NVIDIA",-1)),Vrt=be(()=>_("option",{value:"amd-noavx"},"AMD (No AVX)",-1)),zrt=be(()=>_("option",{value:"amd"},"AMD",-1)),Hrt=be(()=>_("option",{value:"apple-intel"},"Apple Intel",-1)),qrt=be(()=>_("option",{value:"apple-silicon"},"Apple Silicon",-1)),Yrt=[Urt,Frt,Brt,Grt,Vrt,zrt,Hrt,qrt],$rt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"db_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Host:")],-1)),Wrt={style:{width:"100%"}},Krt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"db_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Port:")],-1)),jrt={style:{width:"100%"}},Qrt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"db_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Database path:")],-1)),Xrt={style:{width:"100%"}},Zrt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_show_browser",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto show browser:")],-1)),Jrt={class:"flex flex-row"},eot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"activate_debug",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate debug mode:")],-1)),tot={class:"flex flex-row"},not=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_save",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto save:")],-1)),iot={class:"flex flex-row"},sot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto update:")],-1)),rot={class:"flex flex-row"},oot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto title:")],-1)),aot={class:"flex flex-row"},lot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},cot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User name:")],-1)),dot={style:{width:"100%"}},uot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_description",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User description:")],-1)),pot={style:{width:"100%"}},_ot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_description",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use user description in discussion:")],-1)),hot={style:{width:"100%"}},fot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User avatar:")],-1)),mot={style:{width:"100%"}},got={for:"avatar-upload"},Eot=["src"],bot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"use_user_name_in_discussions",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use User Name in discussions:")],-1)),Sot={class:"flex flex-row"},vot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"min_n_predict",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Minimum number of output tokens space (forces the model to have more space to speak):")],-1)),yot={style:{width:"100%"}},Tot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},xot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"use_files",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate files support:")],-1)),Cot={class:"flex flex-row"},Rot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"use_discussions_history",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate discussion vectorization:")],-1)),Aot={class:"flex flex-row"},wot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"summerize_discussion",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate Continuous Learning from discussions:")],-1)),Not={class:"flex flex-row"},Oot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_visualize_on_vectorization",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"show vectorized data:")],-1)),Iot={class:"flex flex-row"},Mot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_activate",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate data Vectorization:")],-1)),Dot={class:"flex flex-row"},Lot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_build_keys_words",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Build keywords when querying the vectorized database:")],-1)),kot={class:"flex flex-row"},Pot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization method:")],-1)),Uot=be(()=>_("option",{value:"tfidf_vectorizer"},"tfidf Vectorizer",-1)),Fot=be(()=>_("option",{value:"model_embedding"},"Model Embedding",-1)),Bot=[Uot,Fot],Got=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_visualization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data visualization method:")],-1)),Vot=be(()=>_("option",{value:"PCA"},"PCA",-1)),zot=be(()=>_("option",{value:"TSNE"},"TSNE",-1)),Hot=[Vot,zot],qot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Save the new files to the database (The database wil always grow and continue to be the same over many sessions):")],-1)),Yot={class:"flex flex-row"},$ot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization chunk size(tokens):")],-1)),Wot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization overlap size(tokens):")],-1)),Kot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Number of chunks to use for each message:")],-1)),jot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Qot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"pdf_latex_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"PDF LaTeX path:")],-1)),Xot={class:"flex flex-row"},Zot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Jot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"positive_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Positive Boost:")],-1)),eat={class:"flex flex-row"},tat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"negative_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Negative Boost:")],-1)),nat={class:"flex flex-row"},iat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"force_output_language_to_be",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Force AI to answer in this language:")],-1)),sat={class:"flex flex-row"},rat={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},oat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_auto_send_input",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Send audio input automatically:")],-1)),aat={class:"flex flex-row"},lat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_speak",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto speak:")],-1)),cat={class:"flex flex-row"},dat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_pitch",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio pitch:")],-1)),uat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_silenceTimer",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio in silence timer (ms):")],-1)),pat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_in_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Input Audio Language:")],-1)),_at=["value"],hat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_out_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Output Audio Voice:")],-1)),fat=["value"],mat={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},gat={class:"flex flex-row p-3"},Eat=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),bat=[Eat],Sat=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),vat=[Sat],yat=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Servers configurations",-1)),Tat={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},xat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"enable_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable sd service:")],-1)),Cat={class:"flex flex-row"},Rat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"install_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reinstall SD service:")],-1)),Aat={class:"flex flex-row"},wat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"sd_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"sd base url:")],-1)),Nat={class:"flex flex-row"},Oat={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Iat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"enable_voice_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable voice service:")],-1)),Mat={class:"flex flex-row"},Dat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"install_xtts_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reinstall xTTS service:")],-1)),Lat={class:"flex flex-row"},kat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"xtts_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"xtts base url:")],-1)),Pat={class:"flex flex-row"},Uat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current language:")],-1)),Fat={class:"flex flex-row"},Bat=["disabled"],Gat=["value"],Vat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"current_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current voice:")],-1)),zat={class:"flex flex-row"},Hat=["disabled"],qat=["value"],Yat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_read",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto read:")],-1)),$at={class:"flex flex-row"},Wat=["disabled"],Kat={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},jat={class:"flex flex-row p-3"},Qat=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),Xat=[Qat],Zat=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Jat=[Zat],elt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Binding zoo",-1)),tlt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},nlt=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),ilt={key:1,class:"mr-2"},slt={key:2,class:"text-base font-semibold cursor-pointer select-none items-center"},rlt={class:"flex gap-1 items-center"},olt=["src"],alt={class:"font-bold font-large text-lg line-clamp-1"},llt={key:0,class:"mb-2"},clt={for:"binding",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},dlt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),ult=[dlt],plt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),_lt=[plt],hlt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},flt={class:"flex flex-row p-3"},mlt=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),glt=[mlt],Elt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),blt=[Elt],Slt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Models zoo",-1)),vlt={class:"flex flex-row items-center"},ylt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},Tlt=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),xlt={key:1,class:"text-base text-red-600 flex gap-3 items-center mr-2"},Clt=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),Rlt={key:2,class:"mr-2"},Alt={key:3,class:"text-base font-semibold cursor-pointer select-none items-center"},wlt={class:"flex gap-1 items-center"},Nlt=["src"],Olt={class:"font-bold font-large text-lg line-clamp-1"},Ilt={class:"mx-2 mb-4"},Mlt={class:"relative"},Dlt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},Llt={key:0},klt=be(()=>_("div",{role:"status"},[_("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1)),Plt=[klt],Ult={key:1},Flt=be(()=>_("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Blt=[Flt],Glt=be(()=>_("label",{for:"only_installed"},"Show only installed models",-1)),Vlt=be(()=>_("a",{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",target:"_blank",class:"mb-4 font-bold underline text-blue-500 pb-4"},"Hugging face Leaderboard",-1)),zlt={key:0,role:"status",class:"text-center w-full display: flex;align-items: center;"},Hlt=be(()=>_("svg",{"aria-hidden":"true",class:"text-center w-full display: flex;align-items: center; h-20 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),qlt=be(()=>_("p",{class:"heartbeat-text"},"Loading models Zoo",-1)),Ylt=[Hlt,qlt],$lt={key:1,class:"mb-2"},Wlt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Klt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),jlt=[Klt],Qlt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Xlt=[Qlt],Zlt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Jlt={class:"flex flex-row p-3"},ect=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),tct=[ect],nct=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),ict=[nct],sct=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Add models for binding",-1)),rct={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},oct=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),act={key:1,class:"mr-2"},lct={key:2,class:"text-base font-semibold cursor-pointer select-none items-center"},cct={class:"flex gap-1 items-center"},dct=["src"],uct={class:"font-bold font-large text-lg line-clamp-1"},pct={class:"mb-2"},_ct={class:"p-2"},hct={class:"mb-3"},fct=be(()=>_("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Create a reference from local file path:",-1)),mct={key:0},gct={class:"mb-3"},Ect=be(()=>_("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Download from web:",-1)),bct={key:1,class:"relative flex flex-col items-center justify-center flex-grow h-full"},Sct=be(()=>_("div",{role:"status",class:"justify-center"},null,-1)),vct={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},yct={class:"w-full p-2"},Tct={class:"flex justify-between mb-1"},xct=Ru(' Downloading Loading...',1),Cct={class:"text-sm font-medium text-blue-700 dark:text-white"},Rct=["title"],Act={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},wct={class:"flex justify-between mb-1"},Nct={class:"text-base font-medium text-blue-700 dark:text-white"},Oct={class:"text-sm font-medium text-blue-700 dark:text-white"},Ict={class:"flex flex-grow"},Mct={class:"flex flex-row flex-grow gap-3"},Dct={class:"p-2 text-center grow"},Lct={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},kct={class:"flex flex-row p-3 items-center"},Pct=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),Uct=[Pct],Fct=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Bct=[Fct],Gct=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Personalities zoo",-1)),Vct={key:0,class:"mr-2"},zct={class:"mr-2 font-bold font-large text-lg line-clamp-1"},Hct={key:1,class:"mr-2"},qct={key:2,class:"text-base font-semibold cursor-pointer select-none items-center flex flex-row"},Yct={key:0,class:"flex -space-x-4 items-center"},$ct={class:"group items-center flex flex-row"},Wct=["onClick"],Kct=["src","title"],jct=["onClick"],Qct=be(()=>_("span",{class:"hidden group-hover:block top-0 left-7 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount personality"},[_("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),Xct=[Qct],Zct=be(()=>_("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)),Jct=[Zct],edt={class:"mx-2 mb-4"},tdt=be(()=>_("label",{for:"personality-search",class:"mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"},"Search",-1)),ndt={class:"relative"},idt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},sdt={key:0},rdt=be(()=>_("div",{role:"status"},[_("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1)),odt=[rdt],adt={key:1},ldt=be(()=>_("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),cdt=[ldt],ddt={key:0,class:"mx-2 mb-4"},udt={for:"persCat",class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},pdt=["selected"],_dt={key:0,class:"mb-2"},hdt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},fdt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),mdt=[fdt],gdt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Edt=[gdt],bdt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Sdt={class:"flex flex-row p-3 items-center"},vdt=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),ydt=[vdt],Tdt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),xdt=[Tdt],Cdt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Extensions zoo",-1)),Rdt={key:0,class:"mr-2"},Adt={key:1,class:"text-base font-semibold cursor-pointer select-none items-center flex flex-row"},wdt={key:0,class:"flex -space-x-4 items-center"},Ndt={class:"group items-center flex flex-row"},Odt=["src","title"],Idt=["onClick"],Mdt=be(()=>_("span",{class:"hidden group-hover:block top-0 left-7 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount personality"},[_("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),Ddt=[Mdt],Ldt={class:"mx-2 mb-4"},kdt=be(()=>_("label",{for:"personality-search",class:"mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"},"Search",-1)),Pdt={class:"relative"},Udt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},Fdt={key:0},Bdt=be(()=>_("div",{role:"status"},[_("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1)),Gdt=[Bdt],Vdt={key:1},zdt=be(()=>_("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Hdt=[zdt],qdt={key:0,class:"mx-2 mb-4"},Ydt={for:"extCat",class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},$dt=["selected"],Wdt={key:0,class:"mb-2"},Kdt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},jdt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),Qdt=[jdt],Xdt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Zdt=[Xdt],Jdt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},eut={class:"flex flex-row p-3 items-center"},tut=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),nut=[tut],iut=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),sut=[iut],rut=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Mounted Extensions Priority",-1)),out={class:"flex flex-col mb-2 p-3 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},aut={class:"flex flex-row"},lut=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),cut=[lut],dut=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),uut=[dut],put=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none"}," Model Configuration",-1)),_ut={class:"m-2"},hut={class:"flex flex-row gap-2 items-center"},fut=be(()=>_("label",{for:"override-model-parameters",class:"block text-sm font-medium"}," Override personality model parameters ",-1)),mut={class:"m-2"},gut=be(()=>_("label",{for:"seed",class:"block mb-2 text-sm font-medium"}," Seed: ",-1)),Eut={class:"m-2"},but={class:"flex flex-col align-bottom"},Sut={class:"relative"},vut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"temperature",class:"text-sm font-medium"}," Temperature: ")],-1)),yut={class:"absolute right-0"},Tut={class:"m-2"},xut={class:"flex flex-col align-bottom"},Cut={class:"relative"},Rut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"predict",class:"text-sm font-medium"}," N Predict: ")],-1)),Aut={class:"absolute right-0"},wut={class:"m-2"},Nut={class:"flex flex-col align-bottom"},Out={class:"relative"},Iut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"top_k",class:"text-sm font-medium"}," Top-K: ")],-1)),Mut={class:"absolute right-0"},Dut={class:"m-2"},Lut={class:"flex flex-col align-bottom"},kut={class:"relative"},Put=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"top_p",class:"text-sm font-medium"}," Top-P: ")],-1)),Uut={class:"absolute right-0"},Fut={class:"m-2"},But={class:"flex flex-col align-bottom"},Gut={class:"relative"},Vut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"repeat_penalty",class:"text-sm font-medium"}," Repeat penalty: ")],-1)),zut={class:"absolute right-0"},Hut={class:"m-2"},qut={class:"flex flex-col align-bottom"},Yut={class:"relative"},$ut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"repeat_last_n",class:"text-sm font-medium"}," Repeat last N: ")],-1)),Wut={class:"absolute right-0"};function Kut(n,e,t,i,s,r){const o=_t("Card"),a=_t("BindingEntry"),l=_t("RadioOptions"),c=_t("model-entry"),d=_t("personality-entry"),u=_t("ExtensionEntry"),h=_t("AddModelDialog"),m=_t("ChoiceDialog");return O(),D($e,null,[_("div",ist,[_("div",sst,[s.showConfirmation?(O(),D("div",rst,[_("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:e[0]||(e[0]=Te(f=>s.showConfirmation=!1,["stop"]))},ast),_("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:e[1]||(e[1]=Te(f=>r.save_configuration(),["stop"]))},cst)])):j("",!0),s.showConfirmation?j("",!0):(O(),D("div",dst,[_("button",{title:"Save configuration",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[2]||(e[2]=f=>s.showConfirmation=!0)},pst),_("button",{title:"Reset configuration",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[3]||(e[3]=f=>r.reset_configuration())},hst),_("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Collapse / Expand all panels",type:"button",onClick:e[4]||(e[4]=Te(f=>s.all_collapsed=!s.all_collapsed,["stop"]))},mst)])),_("div",gst,[_("button",{title:"Clear uploads",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[5]||(e[5]=f=>r.api_get_req("clear_uploads").then(b=>{b.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},bst),_("button",{title:"Restart program",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[6]||(e[6]=f=>r.api_get_req("restart_program").then(b=>{b.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},vst),_("button",{title:"Upgrade program ",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[7]||(e[7]=f=>r.api_get_req("update_software").then(b=>{b.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Success!",4,!0)}))},[yst,s.has_updates?(O(),D("div",Tst,Cst)):j("",!0)]),_("div",Rst,[s.settingsChanged?(O(),D("div",Ast,[wst,s.isLoading?j("",!0):(O(),D("button",{key:0,class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Apply changes",type:"button",onClick:e[8]||(e[8]=Te(f=>r.applyConfiguration(),["stop"]))},Ost))])):j("",!0),s.isLoading?(O(),D("div",Ist,[_("p",null,he(s.loading_text),1),Mst,Dst])):j("",!0)])])]),_("div",{class:He(s.isLoading?"pointer-events-none opacity-30 w-full":"w-full")},[_("div",Lst,[_("div",kst,[_("button",{onClick:e[9]||(e[9]=Te(f=>s.sc_collapsed=!s.sc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,Ust,512),[[At,s.sc_collapsed]]),xe(_("div",null,Bst,512),[[At,!s.sc_collapsed]]),Gst,Vst,_("div",zst,[_("div",Hst,[_("div",null,[r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length==1?(O(),D("div",qst,[(O(!0),D($e,null,lt(r.vramUsage.gpus,f=>(O(),D("div",Yst,[_("img",{src:s.SVGGPU,width:"25",height:"25"},null,8,$st),_("h3",Wst,[_("div",null,he(r.computedFileSize(f.used_vram))+" / "+he(r.computedFileSize(f.total_vram))+" ("+he(f.percentage)+"%) ",1)])]))),256))])):j("",!0),r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length>1?(O(),D("div",Kst,[_("div",jst,[_("img",{src:s.SVGGPU,width:"25",height:"25"},null,8,Qst),_("h3",Xst,[_("div",null,he(r.vramUsage.gpus.length)+"x ",1)])])])):j("",!0)]),Zst,_("h3",Jst,[_("div",null,he(r.ram_usage)+" / "+he(r.ram_total_space)+" ("+he(r.ram_percent_usage)+"%)",1)]),ert,_("h3",trt,[_("div",null,he(r.disk_binding_models_usage)+" / "+he(r.disk_total_space)+" ("+he(r.disk_percent_usage)+"%)",1)])])])])]),_("div",{class:He([{hidden:s.sc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",nrt,[irt,_("div",srt,[_("div",null,[rrt,je(he(r.ram_available_space),1)]),_("div",null,[ort,je(" "+he(r.ram_usage)+" / "+he(r.ram_total_space)+" ("+he(r.ram_percent_usage)+")% ",1)])]),_("div",art,[_("div",lrt,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt("width: "+r.ram_percent_usage+"%;")},null,4)])])]),_("div",crt,[drt,_("div",urt,[_("div",null,[prt,je(he(r.disk_available_space),1)]),_("div",null,[_rt,je(" "+he(r.disk_binding_models_usage)+" / "+he(r.disk_total_space)+" ("+he(r.disk_percent_usage)+"%)",1)])]),_("div",hrt,[_("div",frt,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt("width: "+r.disk_percent_usage+"%;")},null,4)])])]),(O(!0),D($e,null,lt(r.vramUsage.gpus,f=>(O(),D("div",mrt,[_("label",grt,[_("img",{src:s.SVGGPU,width:"25",height:"25"},null,8,Ert),je(" GPU usage: ")]),_("div",brt,[_("div",null,[Srt,je(he(f.gpu_model),1)]),_("div",null,[vrt,je(he(this.computedFileSize(f.available_space)),1)]),_("div",null,[yrt,je(" "+he(this.computedFileSize(f.used_vram))+" / "+he(this.computedFileSize(f.total_vram))+" ("+he(f.percentage)+"%)",1)])]),_("div",Trt,[_("div",xrt,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt("width: "+f.percentage+"%;")},null,4)])])]))),256))],2)]),_("div",Crt,[_("div",Rrt,[_("button",{onClick:e[10]||(e[10]=Te(f=>s.minconf_collapsed=!s.minconf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,wrt,512),[[At,s.minconf_collapsed]]),xe(_("div",null,Ort,512),[[At,!s.minconf_collapsed]]),Irt])]),_("div",{class:He([{hidden:s.minconf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",Mrt,[Ie(o,{title:"General",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Drt,[_("tr",null,[Lrt,_("td",krt,[_("div",Prt,[xe(_("select",{id:"hardware_mode",required:"","onUpdate:modelValue":e[11]||(e[11]=f=>r.configFile.hardware_mode=f),onChange:e[12]||(e[12]=f=>s.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},Yrt,544),[[ei,r.configFile.hardware_mode]])])])]),_("tr",null,[$rt,_("td",Wrt,[xe(_("input",{type:"text",id:"host",required:"","onUpdate:modelValue":e[13]||(e[13]=f=>r.configFile.host=f),onChange:e[14]||(e[14]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[Xe,r.configFile.host]])])]),_("tr",null,[Krt,_("td",jrt,[xe(_("input",{type:"number",step:"1",id:"port",required:"","onUpdate:modelValue":e[15]||(e[15]=f=>r.configFile.port=f),onChange:e[16]||(e[16]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[Xe,r.configFile.port]])])]),_("tr",null,[Qrt,_("td",Xrt,[xe(_("input",{type:"text",id:"db_path",required:"","onUpdate:modelValue":e[17]||(e[17]=f=>r.configFile.db_path=f),onChange:e[18]||(e[18]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[Xe,r.configFile.db_path]])])]),_("tr",null,[Zrt,_("td",null,[_("div",Jrt,[xe(_("input",{type:"checkbox",id:"auto_show_browser",required:"","onUpdate:modelValue":e[19]||(e[19]=f=>r.configFile.auto_show_browser=f),onChange:e[20]||(e[20]=f=>s.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_show_browser]])])])]),_("tr",null,[eot,_("td",null,[_("div",tot,[xe(_("input",{type:"checkbox",id:"activate_debug",required:"","onUpdate:modelValue":e[21]||(e[21]=f=>r.configFile.debug=f),onChange:e[22]||(e[22]=f=>s.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.debug]])])])]),_("tr",null,[not,_("td",null,[_("div",iot,[xe(_("input",{type:"checkbox",id:"auto_save",required:"","onUpdate:modelValue":e[23]||(e[23]=f=>r.configFile.auto_save=f),onChange:e[24]||(e[24]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_save]])])])]),_("tr",null,[sot,_("td",null,[_("div",rot,[xe(_("input",{type:"checkbox",id:"auto_update",required:"","onUpdate:modelValue":e[25]||(e[25]=f=>r.configFile.auto_update=f),onChange:e[26]||(e[26]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_update]])])])]),_("tr",null,[oot,_("td",null,[_("div",aot,[xe(_("input",{type:"checkbox",id:"auto_title",required:"","onUpdate:modelValue":e[27]||(e[27]=f=>r.configFile.auto_title=f),onChange:e[28]||(e[28]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_title]])])])])])]),_:1}),Ie(o,{title:"User",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",lot,[_("tr",null,[cot,_("td",dot,[xe(_("input",{type:"text",id:"user_name",required:"","onUpdate:modelValue":e[29]||(e[29]=f=>r.configFile.user_name=f),onChange:e[30]||(e[30]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.user_name]])])]),_("tr",null,[uot,_("td",pot,[xe(_("textarea",{id:"user_description",required:"","onUpdate:modelValue":e[31]||(e[31]=f=>r.configFile.user_description=f),onChange:e[32]||(e[32]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.user_description]])])]),_("tr",null,[_ot,_("td",hot,[xe(_("input",{type:"checkbox",id:"override_personality_model_parameters",required:"","onUpdate:modelValue":e[33]||(e[33]=f=>r.configFile.override_personality_model_parameters=f),onChange:e[34]||(e[34]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.override_personality_model_parameters]])])]),_("tr",null,[fot,_("td",mot,[_("label",got,[_("img",{src:"/user_infos/"+r.configFile.user_avatar,class:"w-50 h-50 rounded-full",style:{"max-width":"50px","max-height":"50px",cursor:"pointer"}},null,8,Eot)]),_("input",{type:"file",id:"avatar-upload",style:{display:"none"},onChange:e[35]||(e[35]=(...f)=>r.uploadAvatar&&r.uploadAvatar(...f))},null,32)])]),_("tr",null,[bot,_("td",null,[_("div",Sot,[xe(_("input",{type:"checkbox",id:"use_user_name_in_discussions",required:"","onUpdate:modelValue":e[36]||(e[36]=f=>r.configFile.use_user_name_in_discussions=f),onChange:e[37]||(e[37]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.use_user_name_in_discussions]])])])]),_("tr",null,[vot,_("td",yot,[xe(_("input",{type:"number",id:"min_n_predict",required:"","onUpdate:modelValue":e[38]||(e[38]=f=>r.configFile.min_n_predict=f),onChange:e[39]||(e[39]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.min_n_predict]])])])])]),_:1}),Ie(o,{title:"Data Vectorization",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Tot,[_("tr",null,[xot,_("td",null,[_("div",Cot,[xe(_("input",{type:"checkbox",id:"use_files",required:"","onUpdate:modelValue":e[40]||(e[40]=f=>r.configFile.use_files=f),onChange:e[41]||(e[41]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.use_files]])])])]),_("tr",null,[Rot,_("td",null,[_("div",Aot,[xe(_("input",{type:"checkbox",id:"use_discussions_history",required:"","onUpdate:modelValue":e[42]||(e[42]=f=>r.configFile.use_discussions_history=f),onChange:e[43]||(e[43]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.use_discussions_history]])])])]),_("tr",null,[wot,_("td",null,[_("div",Not,[xe(_("input",{type:"checkbox",id:"summerize_discussion",required:"","onUpdate:modelValue":e[44]||(e[44]=f=>r.configFile.summerize_discussion=f),onChange:e[45]||(e[45]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.summerize_discussion]])])])]),_("tr",null,[Oot,_("td",null,[_("div",Iot,[xe(_("input",{type:"checkbox",id:"data_vectorization_visualize_on_vectorization",required:"","onUpdate:modelValue":e[46]||(e[46]=f=>r.configFile.data_vectorization_visualize_on_vectorization=f),onChange:e[47]||(e[47]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_visualize_on_vectorization]])])])]),_("tr",null,[Mot,_("td",null,[_("div",Dot,[xe(_("input",{type:"checkbox",id:"data_vectorization_activate",required:"","onUpdate:modelValue":e[48]||(e[48]=f=>r.configFile.data_vectorization_activate=f),onChange:e[49]||(e[49]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_activate]])])])]),_("tr",null,[Lot,_("td",null,[_("div",kot,[xe(_("input",{type:"checkbox",id:"data_vectorization_build_keys_words",required:"","onUpdate:modelValue":e[50]||(e[50]=f=>r.configFile.data_vectorization_build_keys_words=f),onChange:e[51]||(e[51]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_build_keys_words]])])])]),_("tr",null,[Pot,_("td",null,[xe(_("select",{id:"data_vectorization_method",required:"","onUpdate:modelValue":e[52]||(e[52]=f=>r.configFile.data_vectorization_method=f),onChange:e[53]||(e[53]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Bot,544),[[ei,r.configFile.data_vectorization_method]])])]),_("tr",null,[Got,_("td",null,[xe(_("select",{id:"data_visualization_method",required:"","onUpdate:modelValue":e[54]||(e[54]=f=>r.configFile.data_visualization_method=f),onChange:e[55]||(e[55]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Hot,544),[[ei,r.configFile.data_visualization_method]])])]),_("tr",null,[qot,_("td",null,[_("div",Yot,[xe(_("input",{type:"checkbox",id:"data_vectorization_save_db",required:"","onUpdate:modelValue":e[56]||(e[56]=f=>r.configFile.data_vectorization_save_db=f),onChange:e[57]||(e[57]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_save_db]])])])]),_("tr",null,[$ot,_("td",null,[xe(_("input",{id:"data_vectorization_chunk_size","onUpdate:modelValue":e[58]||(e[58]=f=>r.configFile.data_vectorization_chunk_size=f),onChange:e[59]||(e[59]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.data_vectorization_chunk_size]]),xe(_("input",{"onUpdate:modelValue":e[60]||(e[60]=f=>r.configFile.data_vectorization_chunk_size=f),type:"number",onChange:e[61]||(e[61]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.data_vectorization_chunk_size]])])]),_("tr",null,[Wot,_("td",null,[xe(_("input",{id:"data_vectorization_overlap_size","onUpdate:modelValue":e[62]||(e[62]=f=>r.configFile.data_vectorization_overlap_size=f),onChange:e[63]||(e[63]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.data_vectorization_overlap_size]]),xe(_("input",{"onUpdate:modelValue":e[64]||(e[64]=f=>r.configFile.data_vectorization_overlap_size=f),type:"number",onChange:e[65]||(e[65]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.data_vectorization_overlap_size]])])]),_("tr",null,[Kot,_("td",null,[xe(_("input",{id:"data_vectorization_nb_chunks","onUpdate:modelValue":e[66]||(e[66]=f=>r.configFile.data_vectorization_nb_chunks=f),onChange:e[67]||(e[67]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"1000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.data_vectorization_nb_chunks]]),xe(_("input",{"onUpdate:modelValue":e[68]||(e[68]=f=>r.configFile.data_vectorization_nb_chunks=f),type:"number",onChange:e[69]||(e[69]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.data_vectorization_nb_chunks]])])])])]),_:1}),Ie(o,{title:"Latex",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",jot,[_("tr",null,[Qot,_("td",null,[_("div",Xot,[xe(_("input",{type:"text",id:"pdf_latex_path",required:"","onUpdate:modelValue":e[70]||(e[70]=f=>r.configFile.pdf_latex_path=f),onChange:e[71]||(e[71]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.pdf_latex_path]])])])])])]),_:1}),Ie(o,{title:"Boost",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Zot,[_("tr",null,[Jot,_("td",null,[_("div",eat,[xe(_("input",{type:"text",id:"positive_boost",required:"","onUpdate:modelValue":e[72]||(e[72]=f=>r.configFile.positive_boost=f),onChange:e[73]||(e[73]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.positive_boost]])])])]),_("tr",null,[tat,_("td",null,[_("div",nat,[xe(_("input",{type:"text",id:"negative_boost",required:"","onUpdate:modelValue":e[74]||(e[74]=f=>r.configFile.negative_boost=f),onChange:e[75]||(e[75]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.negative_boost]])])])]),_("tr",null,[iat,_("td",null,[_("div",sat,[xe(_("input",{type:"text",id:"force_output_language_to_be",required:"","onUpdate:modelValue":e[76]||(e[76]=f=>r.configFile.force_output_language_to_be=f),onChange:e[77]||(e[77]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.force_output_language_to_be]])])])])])]),_:1}),Ie(o,{title:"Browser Audio",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",rat,[_("tr",null,[oat,_("td",null,[_("div",aat,[xe(_("input",{type:"checkbox",id:"audio_auto_send_input",required:"","onUpdate:modelValue":e[78]||(e[78]=f=>r.configFile.audio_auto_send_input=f),onChange:e[79]||(e[79]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.audio_auto_send_input]])])])]),_("tr",null,[lat,_("td",null,[_("div",cat,[xe(_("input",{type:"checkbox",id:"auto_speak",required:"","onUpdate:modelValue":e[80]||(e[80]=f=>r.configFile.auto_speak=f),onChange:e[81]||(e[81]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_speak]])])])]),_("tr",null,[dat,_("td",null,[xe(_("input",{id:"audio_pitch","onUpdate:modelValue":e[82]||(e[82]=f=>r.configFile.audio_pitch=f),onChange:e[83]||(e[83]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"10",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.audio_pitch]]),xe(_("input",{"onUpdate:modelValue":e[84]||(e[84]=f=>r.configFile.audio_pitch=f),onChange:e[85]||(e[85]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.audio_pitch]])])]),_("tr",null,[uat,_("td",null,[xe(_("input",{id:"audio_silenceTimer","onUpdate:modelValue":e[86]||(e[86]=f=>r.configFile.audio_silenceTimer=f),onChange:e[87]||(e[87]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"10000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.audio_silenceTimer]]),xe(_("input",{"onUpdate:modelValue":e[88]||(e[88]=f=>r.configFile.audio_silenceTimer=f),onChange:e[89]||(e[89]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.audio_silenceTimer]])])]),_("tr",null,[pat,_("td",null,[xe(_("select",{id:"audio_in_language","onUpdate:modelValue":e[90]||(e[90]=f=>r.configFile.audio_in_language=f),onChange:e[91]||(e[91]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(O(!0),D($e,null,lt(r.audioLanguages,f=>(O(),D("option",{key:f.code,value:f.code},he(f.name),9,_at))),128))],544),[[ei,r.configFile.audio_in_language]])])]),_("tr",null,[hat,_("td",null,[xe(_("select",{id:"audio_out_voice","onUpdate:modelValue":e[92]||(e[92]=f=>r.configFile.audio_out_voice=f),onChange:e[93]||(e[93]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(O(!0),D($e,null,lt(s.audioVoices,f=>(O(),D("option",{key:f.name,value:f.name},he(f.name),9,fat))),128))],544),[[ei,r.configFile.audio_out_voice]])])])])]),_:1})])],2)]),_("div",mat,[_("div",gat,[_("button",{onClick:e[94]||(e[94]=Te(f=>s.servers_conf_collapsed=!s.servers_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,bat,512),[[At,s.servers_conf_collapsed]]),xe(_("div",null,vat,512),[[At,!s.servers_conf_collapsed]]),yat])]),_("div",{class:He([{hidden:s.servers_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[Ie(o,{title:"Stable diffusion service",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Tat,[_("tr",null,[xat,_("td",null,[_("div",Cat,[xe(_("input",{type:"checkbox",id:"enable_sd_service",required:"","onUpdate:modelValue":e[95]||(e[95]=f=>r.configFile.enable_sd_service=f),onChange:e[96]||(e[96]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.enable_sd_service]])])])]),_("tr",null,[Rat,_("td",null,[_("div",Aat,[_("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[97]||(e[97]=(...f)=>r.reinstallSDService&&r.reinstallSDService(...f))},"Reinstall sd service")])])]),_("tr",null,[wat,_("td",null,[_("div",Nat,[xe(_("input",{type:"text",id:"sd_base_url",required:"","onUpdate:modelValue":e[98]||(e[98]=f=>r.configFile.sd_base_url=f),onChange:e[99]||(e[99]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.sd_base_url]])])])])])]),_:1}),Ie(o,{title:"XTTS service",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Oat,[_("tr",null,[Iat,_("td",null,[_("div",Mat,[xe(_("input",{type:"checkbox",id:"enable_voice_service",required:"","onUpdate:modelValue":e[100]||(e[100]=f=>r.configFile.enable_voice_service=f),onChange:e[101]||(e[101]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.enable_voice_service]])])])]),_("tr",null,[Dat,_("td",null,[_("div",Lat,[_("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[102]||(e[102]=(...f)=>r.reinstallAudioService&&r.reinstallAudioService(...f))},"Reinstall xtts service")])])]),_("tr",null,[kat,_("td",null,[_("div",Pat,[xe(_("input",{type:"text",id:"xtts_base_url",required:"","onUpdate:modelValue":e[103]||(e[103]=f=>r.configFile.xtts_base_url=f),onChange:e[104]||(e[104]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.xtts_base_url]])])])]),_("tr",null,[Uat,_("td",null,[_("div",Fat,[xe(_("select",{"onUpdate:modelValue":e[105]||(e[105]=f=>r.current_language=f),onChange:e[106]||(e[106]=f=>s.settingsChanged=!0),disabled:!r.enable_voice_service},[(O(!0),D($e,null,lt(s.voice_languages,(f,b)=>(O(),D("option",{key:b,value:f},he(b),9,Gat))),128))],40,Bat),[[ei,r.current_language]])])])]),_("tr",null,[Vat,_("td",null,[_("div",zat,[xe(_("select",{"onUpdate:modelValue":e[107]||(e[107]=f=>r.current_voice=f),onChange:e[108]||(e[108]=f=>s.settingsChanged=!0),disabled:!r.enable_voice_service},[(O(!0),D($e,null,lt(s.voices,f=>(O(),D("option",{key:f,value:f},he(f),9,qat))),128))],40,Hat),[[ei,r.current_voice]])])])]),_("tr",null,[Yat,_("td",null,[_("div",$at,[xe(_("input",{type:"checkbox",id:"auto_read",required:"","onUpdate:modelValue":e[109]||(e[109]=f=>r.configFile.auto_read=f),onChange:e[110]||(e[110]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",disabled:!r.enable_voice_service},null,40,Wat),[[Pt,r.configFile.auto_read]])])])])])]),_:1})],2)]),_("div",Kat,[_("div",jat,[_("button",{onClick:e[111]||(e[111]=Te(f=>s.bzc_collapsed=!s.bzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,Xat,512),[[At,s.bzc_collapsed]]),xe(_("div",null,Jat,512),[[At,!s.bzc_collapsed]]),elt,r.configFile.binding_name?j("",!0):(O(),D("div",tlt,[nlt,je(" No binding selected! ")])),r.configFile.binding_name?(O(),D("div",ilt,"|")):j("",!0),r.configFile.binding_name?(O(),D("div",slt,[_("div",rlt,[_("img",{src:r.imgBinding,class:"w-8 h-8 rounded-full object-fill text-blue-700"},null,8,olt),_("h3",alt,he(r.binding_name),1)])])):j("",!0)])]),_("div",{class:He([{hidden:s.bzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[r.bindingsZoo&&r.bindingsZoo.length>0?(O(),D("div",llt,[_("label",clt," Bindings: ("+he(r.bindingsZoo.length)+") ",1),_("div",{class:He(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",s.bzl_collapsed?"":"max-h-96"])},[Ie(ys,{name:"list"},{default:ot(()=>[(O(!0),D($e,null,lt(r.bindingsZoo,(f,b)=>(O(),Ot(a,{ref_for:!0,ref:"bindingZoo",key:"index-"+b+"-"+f.folder,binding:f,"on-selected":r.onBindingSelected,"on-reinstall":r.onReinstallBinding,"on-unInstall":r.onUnInstallBinding,"on-install":r.onInstallBinding,"on-settings":r.onSettingsBinding,"on-reload-binding":r.onReloadBinding,selected:f.folder===r.configFile.binding_name},null,8,["binding","on-selected","on-reinstall","on-unInstall","on-install","on-settings","on-reload-binding","selected"]))),128))]),_:1})],2)])):j("",!0),s.bzl_collapsed?(O(),D("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[112]||(e[112]=f=>s.bzl_collapsed=!s.bzl_collapsed)},ult)):(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[113]||(e[113]=f=>s.bzl_collapsed=!s.bzl_collapsed)},_lt))],2)]),_("div",hlt,[_("div",flt,[_("button",{onClick:e[114]||(e[114]=Te(f=>r.modelsZooToggleCollapse(),["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[xe(_("div",null,glt,512),[[At,s.mzc_collapsed]]),xe(_("div",null,blt,512),[[At,!s.mzc_collapsed]]),Slt,_("div",vlt,[r.configFile.binding_name?j("",!0):(O(),D("div",ylt,[Tlt,je(" Select binding first! ")])),!s.isModelSelected&&r.configFile.binding_name?(O(),D("div",xlt,[Clt,je(" No model selected! ")])):j("",!0),r.configFile.model_name?(O(),D("div",Rlt,"|")):j("",!0),r.configFile.model_name?(O(),D("div",Alt,[_("div",wlt,[_("img",{src:r.imgModel,class:"w-8 h-8 rounded-lg object-fill"},null,8,Nlt),_("h3",Olt,he(r.configFile.model_name),1)])])):j("",!0)])])]),_("div",{class:He([{hidden:s.mzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",Ilt,[_("div",Mlt,[_("div",Dlt,[s.searchModelInProgress?(O(),D("div",Llt,Plt)):j("",!0),s.searchModelInProgress?j("",!0):(O(),D("div",Ult,Blt))]),xe(_("input",{type:"search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search models...",required:"","onUpdate:modelValue":e[115]||(e[115]=f=>s.searchModel=f),onKeyup:e[116]||(e[116]=mr((...f)=>r.searchModel_func&&r.searchModel_func(...f),["enter"]))},null,544),[[Xe,s.searchModel]]),s.searchModel?(O(),D("button",{key:0,onClick:e[117]||(e[117]=Te(f=>s.searchModel="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):j("",!0)])]),_("div",null,[xe(_("input",{"onUpdate:modelValue":e[118]||(e[118]=f=>s.show_only_installed_models=f),class:"m-2 p-2",type:"checkbox",ref:"only_installed"},null,512),[[Pt,s.show_only_installed_models]]),Glt]),_("div",null,[Ie(l,{radioOptions:s.sortOptions,onRadioSelected:r.handleRadioSelected},null,8,["radioOptions","onRadioSelected"])]),Vlt,s.is_loading_zoo?(O(),D("div",zlt,Ylt)):j("",!0),s.models_zoo&&s.models_zoo.length>0?(O(),D("div",$lt,[_("label",Wlt," Models: ("+he(s.models_zoo.length)+") ",1),_("div",{class:He(["overflow-y-auto p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",s.mzl_collapsed?"":"max-h-96"])},[Ie(ys,{name:"list"},{default:ot(()=>[(O(!0),D($e,null,lt(r.rendered_models_zoo,(f,b)=>(O(),Ot(c,{ref_for:!0,ref:"modelZoo",key:"index-"+b+"-"+f.name,model:f,"is-installed":f.isInstalled,"on-install":r.onInstall,"on-uninstall":r.onUninstall,"on-selected":r.onModelSelected,selected:f.name===r.configFile.model_name,model_type:f.model_type,"on-copy":r.onCopy,"on-copy-link":r.onCopyLink,"on-cancel-install":r.onCancelInstall},null,8,["model","is-installed","on-install","on-uninstall","on-selected","selected","model_type","on-copy","on-copy-link","on-cancel-install"]))),128)),_("button",{ref:"load_more_models",class:"relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",onClick:e[119]||(e[119]=(...f)=>r.load_more_models&&r.load_more_models(...f))},"Load more models",512)]),_:1})],2)])):j("",!0),s.mzl_collapsed?(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[120]||(e[120]=(...f)=>r.open_mzl&&r.open_mzl(...f))},jlt)):(O(),D("button",{key:3,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[121]||(e[121]=(...f)=>r.open_mzl&&r.open_mzl(...f))},Xlt))],2)]),_("div",Zlt,[_("div",Jlt,[_("button",{onClick:e[122]||(e[122]=Te(f=>s.mzdc_collapsed=!s.mzdc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[xe(_("div",null,tct,512),[[At,s.mzdc_collapsed]]),xe(_("div",null,ict,512),[[At,!s.mzdc_collapsed]]),sct,r.binding_name?j("",!0):(O(),D("div",rct,[oct,je(" No binding selected! ")])),r.configFile.binding_name?(O(),D("div",act,"|")):j("",!0),r.configFile.binding_name?(O(),D("div",lct,[_("div",cct,[_("img",{src:r.imgBinding,class:"w-8 h-8 rounded-full object-fill text-blue-700"},null,8,dct),_("h3",uct,he(r.binding_name),1)])])):j("",!0)])]),_("div",{class:He([{hidden:s.mzdc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",pct,[_("div",_ct,[_("div",null,[_("div",hct,[fct,xe(_("input",{type:"text","onUpdate:modelValue":e[123]||(e[123]=f=>s.reference_path=f),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter Path ...",required:""},null,512),[[Xe,s.reference_path]])]),_("button",{type:"button",onClick:e[124]||(e[124]=Te(f=>r.onCreateReference(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Add reference")]),s.modelDownlaodInProgress?j("",!0):(O(),D("div",mct,[_("div",gct,[Ect,xe(_("input",{type:"text","onUpdate:modelValue":e[125]||(e[125]=f=>s.addModel.url=f),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter URL ...",required:""},null,512),[[Xe,s.addModel.url]])]),_("button",{type:"button",onClick:e[126]||(e[126]=Te(f=>r.onInstallAddModel(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Download")])),s.modelDownlaodInProgress?(O(),D("div",bct,[Sct,_("div",vct,[_("div",yct,[_("div",Tct,[xct,_("span",Cct,he(Math.floor(s.addModel.progress))+"%",1)]),_("div",{class:"mx-1 opacity-80 line-clamp-1",title:s.addModel.url},he(s.addModel.url),9,Rct),_("div",Act,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt({width:s.addModel.progress+"%"})},null,4)]),_("div",wct,[_("span",Nct,"Download speed: "+he(r.speed_computed)+"/s",1),_("span",Oct,he(r.downloaded_size_computed)+"/"+he(r.total_size_computed),1)])])]),_("div",Ict,[_("div",Mct,[_("div",Dct,[_("button",{onClick:e[127]||(e[127]=Te((...f)=>r.onCancelInstall&&r.onCancelInstall(...f),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])):j("",!0)])])],2)]),_("div",Lct,[_("div",kct,[_("button",{onClick:e[130]||(e[130]=Te(f=>s.pzc_collapsed=!s.pzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[xe(_("div",null,Uct,512),[[At,s.pzc_collapsed]]),xe(_("div",null,Bct,512),[[At,!s.pzc_collapsed]]),Gct,r.configFile.personalities?(O(),D("div",Vct,"|")):j("",!0),_("div",zct,he(r.active_pesonality),1),r.configFile.personalities?(O(),D("div",Hct,"|")):j("",!0),r.configFile.personalities?(O(),D("div",qct,[r.mountedPersArr.length>0?(O(),D("div",Yct,[(O(!0),D($e,null,lt(r.mountedPersArr,(f,b)=>(O(),D("div",{class:"relative hover:-translate-y-2 duration-300 hover:z-10 shrink-0",key:b+"-"+f.name,ref_for:!0,ref:"mountedPersonalities"},[_("div",$ct,[_("button",{onClick:Te(E=>r.onPersonalitySelected(f),["stop"])},[_("img",{src:s.bUrl+f.avatar,onError:e[128]||(e[128]=(...E)=>r.personalityImgPlacehodler&&r.personalityImgPlacehodler(...E)),class:He(["w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 group-hover:border-secondary",r.configFile.active_personality_id==r.configFile.personalities.indexOf(f.full_path)?"border-secondary":"border-transparent z-0"]),title:f.name},null,42,Kct)],8,Wct),_("button",{onClick:Te(E=>r.unmountPersonality(f),["stop"])},Xct,8,jct)])]))),128))])):j("",!0)])):j("",!0),_("button",{onClick:e[129]||(e[129]=Te(f=>r.unmountAll(),["stop"])),class:"bg-bg-light hover:border-green-200 ml-5 dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount All"},Jct)])]),_("div",{class:He([{hidden:s.pzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",edt,[tdt,_("div",ndt,[_("div",idt,[s.searchPersonalityInProgress?(O(),D("div",sdt,odt)):j("",!0),s.searchPersonalityInProgress?j("",!0):(O(),D("div",adt,cdt))]),xe(_("input",{type:"search",id:"personality-search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search personality...",required:"","onUpdate:modelValue":e[131]||(e[131]=f=>s.searchPersonality=f),onKeyup:e[132]||(e[132]=Te((...f)=>r.searchPersonality_func&&r.searchPersonality_func(...f),["stop"]))},null,544),[[Xe,s.searchPersonality]]),s.searchPersonality?(O(),D("button",{key:0,onClick:e[133]||(e[133]=Te(f=>s.searchPersonality="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):j("",!0)])]),s.searchPersonality?j("",!0):(O(),D("div",ddt,[_("label",udt," Personalities Category: ("+he(s.persCatgArr.length)+") ",1),_("select",{id:"persCat",onChange:e[134]||(e[134]=f=>r.update_personality_category(f.target.value,r.refresh)),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(s.persCatgArr,(f,b)=>(O(),D("option",{key:b,selected:f==this.configFile.personality_category},he(f),9,pdt))),128))],32)])),_("div",null,[s.personalitiesFiltered.length>0?(O(),D("div",_dt,[_("label",hdt,he(s.searchPersonality?"Search results":"Personalities")+": ("+he(s.personalitiesFiltered.length)+") ",1),_("div",{class:He(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",s.pzl_collapsed?"":"max-h-96"])},[Ie(ys,{name:"bounce"},{default:ot(()=>[(O(!0),D($e,null,lt(s.personalitiesFiltered,(f,b)=>(O(),Ot(d,{ref_for:!0,ref:"personalitiesZoo",key:"index-"+b+"-"+f.name,personality:f,select_language:!0,full_path:f.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(E=>E===f.full_path||E===f.full_path+":"+f.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-reinstall":r.onPersonalityReinstall,"on-settings":r.onSettingsPersonality,"on-copy-personality-name":r.onCopyPersonalityName},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-reinstall","on-settings","on-copy-personality-name"]))),128))]),_:1})],2)])):j("",!0)]),s.pzl_collapsed?(O(),D("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[135]||(e[135]=f=>s.pzl_collapsed=!s.pzl_collapsed)},mdt)):(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[136]||(e[136]=f=>s.pzl_collapsed=!s.pzl_collapsed)},Edt))],2)]),_("div",bdt,[_("div",Sdt,[_("button",{onClick:e[138]||(e[138]=Te(f=>s.ezc_collapsed=!s.ezc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[xe(_("div",null,ydt,512),[[At,s.ezc_collapsed]]),xe(_("div",null,xdt,512),[[At,!s.ezc_collapsed]]),Cdt,r.configFile.extensions?(O(),D("div",Rdt,"|")):j("",!0),r.configFile.extensions?(O(),D("div",Adt,[r.mountedExtensions.length>0?(O(),D("div",wdt,[(O(!0),D($e,null,lt(r.mountedExtensions,(f,b)=>(O(),D("div",{class:"relative hover:-translate-y-2 duration-300 hover:z-10 shrink-0",key:b+"-"+f.name,ref_for:!0,ref:"mountedExtensions"},[_("div",Ndt,[_("button",null,[_("img",{src:s.bUrl+f.avatar,onError:e[137]||(e[137]=(...E)=>r.extensionImgPlacehodler&&r.extensionImgPlacehodler(...E)),class:He(["w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 group-hover:border-secondary","border-transparent z-0"]),title:f.name},null,40,Odt)]),_("button",{onClick:Te(E=>r.unmountExtension(f),["stop"])},Ddt,8,Idt)])]))),128))])):j("",!0)])):j("",!0)])]),_("div",{class:He([{hidden:s.ezc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",Ldt,[kdt,_("div",Pdt,[_("div",Udt,[s.searchExtensionInProgress?(O(),D("div",Fdt,Gdt)):j("",!0),s.searchExtensionInProgress?j("",!0):(O(),D("div",Vdt,Hdt))]),xe(_("input",{type:"search",id:"personality-search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search extension...",required:"","onUpdate:modelValue":e[139]||(e[139]=f=>s.searchExtension=f),onKeyup:e[140]||(e[140]=Te((...f)=>n.searchExtension_func&&n.searchExtension_func(...f),["stop"]))},null,544),[[Xe,s.searchExtension]]),s.searchExtension?(O(),D("button",{key:0,onClick:e[141]||(e[141]=Te(f=>s.searchExtension="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):j("",!0)])]),s.searchExtension?j("",!0):(O(),D("div",qdt,[_("label",Ydt," Extensions Category: ("+he(s.extCatgArr.length)+") ",1),_("select",{id:"extCat",onChange:e[142]||(e[142]=f=>r.update_extension_category(f.target.value,r.refresh)),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(s.extCatgArr,(f,b)=>(O(),D("option",{key:b,selected:f==this.extension_category},he(f),9,$dt))),128))],32)])),_("div",null,[s.extensionsFiltererd.length>0?(O(),D("div",Wdt,[_("label",Kdt,he(s.searchExtension?"Search results":"Personalities")+": ("+he(s.extensionsFiltererd.length)+") ",1),_("div",{class:He(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",s.ezl_collapsed?"":"max-h-96"])},[(O(!0),D($e,null,lt(s.extensionsFiltererd,(f,b)=>(O(),Ot(u,{ref_for:!0,ref:"extensionsZoo",key:"index-"+b+"-"+f.name,extension:f,select_language:!0,full_path:f.full_path,"on-mount":r.mountExtension,"on-un-mount":r.unmountExtension,"on-remount":r.remountExtension,"on-reinstall":r.onExtensionReinstall,"on-settings":r.onSettingsExtension},null,8,["extension","full_path","on-mount","on-un-mount","on-remount","on-reinstall","on-settings"]))),128))],2)])):j("",!0)]),s.ezc_collapsed?(O(),D("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[143]||(e[143]=f=>s.ezl_collapsed=!s.ezl_collapsed)},Qdt)):(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[144]||(e[144]=f=>s.ezl_collapsed=!s.ezl_collapsed)},Zdt))],2)]),_("div",Jdt,[_("div",eut,[_("button",{onClick:e[145]||(e[145]=Te(f=>s.mep_collapsed=!s.mep_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[xe(_("div",null,nut,512),[[At,s.mep_collapsed]]),xe(_("div",null,sut,512),[[At,!s.mep_collapsed]]),rut])]),_("div",{class:He([{hidden:s.mep_collapsed},"flex flex-col mb-2 px-3 pb-0"])},null,2)]),_("div",out,[_("div",aut,[_("button",{onClick:e[146]||(e[146]=Te(f=>s.mc_collapsed=!s.mc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[xe(_("div",null,cut,512),[[At,s.mc_collapsed]]),xe(_("div",null,uut,512),[[At,!s.mc_collapsed]]),put])]),_("div",{class:He([{hidden:s.mc_collapsed},"flex flex-col mb-2 p-2"])},[_("div",_ut,[_("div",hut,[xe(_("input",{id:"override-model-parameters",type:"checkbox",class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500",onClick:e[147]||(e[147]=Te(()=>{},["stop"])),"onUpdate:modelValue":e[148]||(e[148]=f=>r.configFile.override_personality_model_parameters=f),onChange:e[149]||(e[149]=f=>r.update_setting("override_personality_model_parameters",r.configFile.override_personality_model_parameters))},null,544),[[Pt,r.configFile.override_personality_model_parameters]]),fut])]),_("div",{class:He(r.configFile.override_personality_model_parameters?"":"pointer-events-none opacity-30")},[_("div",mut,[gut,xe(_("input",{type:"text",id:"seed","onUpdate:modelValue":e[150]||(e[150]=f=>r.configFile.seed=f),class:"bg-gray-50 border border-gray-300 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,512),[[Xe,r.configFile.seed]])]),_("div",Eut,[_("div",but,[_("div",Sut,[vut,_("p",yut,[xe(_("input",{type:"text",id:"temp-val","onUpdate:modelValue":e[151]||(e[151]=f=>r.configFile.temperature=f),onChange:e[152]||(e[152]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.temperature]])])]),xe(_("input",{id:"temperature",onChange:e[153]||(e[153]=f=>s.settingsChanged=!0),type:"range","onUpdate:modelValue":e[154]||(e[154]=f=>r.configFile.temperature=f),min:"0",max:"5",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.temperature]])])]),_("div",Tut,[_("div",xut,[_("div",Cut,[Rut,_("p",Aut,[xe(_("input",{type:"text",id:"predict-val","onUpdate:modelValue":e[155]||(e[155]=f=>r.configFile.n_predict=f),onChange:e[156]||(e[156]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.n_predict]])])]),xe(_("input",{id:"predict",type:"range",onChange:e[157]||(e[157]=f=>s.settingsChanged=!0),"onUpdate:modelValue":e[158]||(e[158]=f=>r.configFile.n_predict=f),min:"0",max:"2048",step:"32",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.n_predict]])])]),_("div",wut,[_("div",Nut,[_("div",Out,[Iut,_("p",Mut,[xe(_("input",{type:"text",id:"top_k-val","onUpdate:modelValue":e[159]||(e[159]=f=>r.configFile.top_k=f),onChange:e[160]||(e[160]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_k]])])]),xe(_("input",{id:"top_k",type:"range",onChange:e[161]||(e[161]=f=>s.settingsChanged=!0),"onUpdate:modelValue":e[162]||(e[162]=f=>r.configFile.top_k=f),min:"0",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_k]])])]),_("div",Dut,[_("div",Lut,[_("div",kut,[Put,_("p",Uut,[xe(_("input",{type:"text",id:"top_p-val","onUpdate:modelValue":e[163]||(e[163]=f=>r.configFile.top_p=f),onChange:e[164]||(e[164]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_p]])])]),xe(_("input",{id:"top_p",type:"range","onUpdate:modelValue":e[165]||(e[165]=f=>r.configFile.top_p=f),min:"0",max:"1",step:"0.01",onChange:e[166]||(e[166]=f=>s.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_p]])])]),_("div",Fut,[_("div",But,[_("div",Gut,[Vut,_("p",zut,[xe(_("input",{type:"text",id:"repeat_penalty-val","onUpdate:modelValue":e[167]||(e[167]=f=>r.configFile.repeat_penalty=f),onChange:e[168]||(e[168]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_penalty]])])]),xe(_("input",{id:"repeat_penalty",onChange:e[169]||(e[169]=f=>s.settingsChanged=!0),type:"range","onUpdate:modelValue":e[170]||(e[170]=f=>r.configFile.repeat_penalty=f),min:"0",max:"2",step:"0.01",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_penalty]])])]),_("div",Hut,[_("div",qut,[_("div",Yut,[$ut,_("p",Wut,[xe(_("input",{type:"text",id:"repeat_last_n-val","onUpdate:modelValue":e[171]||(e[171]=f=>r.configFile.repeat_last_n=f),onChange:e[172]||(e[172]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_last_n]])])]),xe(_("input",{id:"repeat_last_n",type:"range","onUpdate:modelValue":e[173]||(e[173]=f=>r.configFile.repeat_last_n=f),min:"0",max:"100",step:"1",onChange:e[174]||(e[174]=f=>s.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_last_n]])])])],2)],2)])],2)]),Ie(h,{ref:"addmodeldialog"},null,512),Ie(m,{class:"z-20",show:s.variantSelectionDialogVisible,choices:s.variant_choices,onChoiceSelected:r.onVariantChoiceSelected,onCloseDialog:r.oncloseVariantChoiceDialog,onChoiceValidated:r.onvalidateVariantChoice},null,8,["show","choices","onChoiceSelected","onCloseDialog","onChoiceValidated"])],64)}const jut=gt(nst,[["render",Kut],["__scopeId","data-v-aeee34ed"]]),Qut={components:{ClipBoardTextInput:sb,Card:dc},data(){return{dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDataset:""}},methods:{submitForm(){const n={model_name:this.selectedModel,dataset_file:this.selectedDataset,max_length:this.max_length,batch_size:this.batch_size,lr:this.lr,num_epochs:this.num_epochs,output_dir:this.selectedFolder};Ue.post("/start_training",n).then(e=>{})},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(n){var t;console.log("here");const e=(t=n.target.files[0])==null?void 0:t.path;console.log(e),e&&(this.selectedFolder=e)},selectDataset(n){const e=n.target.files;e.length>0&&(this.selectedDataset=e[0])}},computed:{selectedModel:{get(){return this.$store.state.selectedModel}},models:{get(){return this.$store.state.modelsArr}}},watch:{model_name(n){console.log("watching model_name",n),this.$refs.clipboardInput.inputValue=n}}},Xut={key:0,class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},Zut={class:"mb-4"},Jut=_("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),ept=["value"],tpt={class:"mb-4"},npt=_("label",{for:"dataset_path",class:"text-sm"},"Dataset:",-1),ipt={class:"mb-4"},spt=_("label",{for:"lr",class:"text-sm"},"Learning Rate:",-1),rpt={class:"mb-4"},opt=_("label",{for:"num_epochs",class:"text-sm"},"Number of Epochs:",-1),apt={class:"mb-4"},lpt=_("label",{for:"max_length",class:"text-sm"},"Max Length:",-1),cpt={class:"mb-4"},dpt=_("label",{for:"batch_size",class:"text-sm"},"Batch Size:",-1),upt={class:"mb-4"},ppt=_("label",{for:"output_dir",class:"text-sm"},"Output Directory:",-1),_pt=_("button",{class:"bg-blue-500 text-white px-4 py-2 rounded"},"Start training",-1),hpt={key:1};function fpt(n,e,t,i,s,r){const o=_t("Card"),a=_t("ClipBoardTextInput");return r.selectedModel!==null&&r.selectedModel.toLowerCase().includes("gptq")?(O(),D("div",Xut,[_("form",{onSubmit:e[2]||(e[2]=Te((...l)=>r.submitForm&&r.submitForm(...l),["prevent"])),class:""},[Ie(o,{title:"Training configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[Ie(o,{title:"Model",class:"",isHorizontal:!1},{default:ot(()=>[_("div",Zut,[Jut,xe(_("select",{"onUpdate:modelValue":e[0]||(e[0]=l=>r.selectedModel=l),onChange:e[1]||(e[1]=(...l)=>n.setModel&&n.setModel(...l)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(O(!0),D($e,null,lt(r.models,l=>(O(),D("option",{key:l,value:l},he(l),9,ept))),128))],544),[[ei,r.selectedModel]])])]),_:1}),Ie(o,{title:"Data",isHorizontal:!1},{default:ot(()=>[_("div",tpt,[npt,Ie(a,{id:"model_path",inputType:"file",value:s.dataset_path,onchange:"selectDataset()"},null,8,["value"])])]),_:1}),Ie(o,{title:"Training",isHorizontal:!1},{default:ot(()=>[_("div",ipt,[spt,Ie(a,{id:"model_path",inputType:"integer",value:s.lr},null,8,["value"])]),_("div",rpt,[opt,Ie(a,{id:"model_path",inputType:"integer",value:s.num_epochs},null,8,["value"])]),_("div",apt,[lpt,Ie(a,{id:"model_path",inputType:"integer",value:s.max_length},null,8,["value"])]),_("div",cpt,[dpt,Ie(a,{id:"model_path",inputType:"integer",value:s.batch_size},null,8,["value"])])]),_:1}),Ie(o,{title:"Output",isHorizontal:!1},{default:ot(()=>[_("div",upt,[ppt,Ie(a,{id:"model_path",inputType:"text",value:n.output_dir},null,8,["value"])])]),_:1})]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[_pt]),_:1})],32)])):(O(),D("div",hpt,[Ie(o,{title:"Info",class:"",isHorizontal:!1},{default:ot(()=>[je(" Only GPTQ models are supported for QLora fine tuning. Please select a GPTQ compatible binding. ")]),_:1})]))}const mpt=gt(Qut,[["render",fpt]]),gpt={components:{ClipBoardTextInput:sb,Card:dc},data(){return{model_name:"jondurbin/airoboros-7b-gpt4",tokenizer_name:"jondurbin/airoboros-7b-gpt4",dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDatasetPath:""}},methods:{submitForm(){this.model_name,this.tokenizer_name,this.selectedDatasetPath,this.max_length,this.batch_size,this.lr,this.num_epochs,this.selectedFolder},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(n){var t;console.log("here");const e=(t=n.target.files[0])==null?void 0:t.path;console.log(e),e&&(this.selectedFolder=e)},selectDatasetPath(n){const e=n.target.files;e.length>0&&(this.selectedDatasetPath=e[0].webkitRelativePath)}}},Ept={class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},bpt={class:"mb-4"},Spt=_("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),vpt={class:"mb-4"},ypt=_("label",{for:"tokenizer_name",class:"text-sm"},"Tokenizer Name:",-1),Tpt=_("button",{type:"submit",class:"bg-blue-500 text-white px-4 py-2 rounded"},"Quantize LLM",-1);function xpt(n,e,t,i,s,r){const o=_t("ClipBoardTextInput"),a=_t("Card");return O(),D("div",Ept,[_("form",{onSubmit:e[0]||(e[0]=Te((...l)=>r.submitForm&&r.submitForm(...l),["prevent"])),class:"max-w-md mx-auto"},[Ie(a,{title:"Quantizing configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[Ie(a,{title:"Model",class:"",isHorizontal:!1},{default:ot(()=>[_("div",bpt,[Spt,Ie(o,{id:"model_path",inputType:"text",value:s.model_name},null,8,["value"])]),_("div",vpt,[ypt,Ie(o,{id:"model_path",inputType:"text",value:s.tokenizer_name},null,8,["value"])])]),_:1})]),_:1}),Ie(a,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[Tpt]),_:1})],32)])}const Cpt=gt(gpt,[["render",xpt]]),Rpt={data(){return{show:!1,prompt:"",inputText:""}},methods:{showPanel(){this.show=!0},ok(){this.show=!1,this.$emit("ok",this.inputText)},cancel(){this.show=!1,this.inputText=""}},props:{promptText:{type:String,required:!0}},watch:{promptText(n){this.prompt=n}}},Apt={key:0,class:"fixed top-0 left-0 w-full h-full flex justify-center items-center bg-black bg-opacity-50"},wpt={class:"bg-white p-8 rounded"},Npt={class:"text-xl font-bold mb-4"};function Opt(n,e,t,i,s,r){return O(),D("div",null,[s.show?(O(),D("div",Apt,[_("div",wpt,[_("h2",Npt,he(t.promptText),1),xe(_("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=o=>s.inputText=o),class:"border border-gray-300 px-4 py-2 rounded mb-4"},null,512),[[Xe,s.inputText]]),_("button",{onClick:e[1]||(e[1]=(...o)=>r.ok&&r.ok(...o)),class:"bg-blue-500 text-white px-4 py-2 rounded mr-2"},"OK"),_("button",{onClick:e[2]||(e[2]=(...o)=>r.cancel&&r.cancel(...o)),class:"bg-gray-500 text-white px-4 py-2 rounded"},"Cancel")])])):j("",!0)])}const MN=gt(Rpt,[["render",Opt]]),Ipt={props:{htmlContent:{type:String,required:!0}}},Mpt=["innerHTML"];function Dpt(n,e,t,i,s,r){return O(),D("div",null,[_("div",{innerHTML:t.htmlContent},null,8,Mpt)])}const Lpt=gt(Ipt,[["render",Dpt]]);const kpt={props:{jsonData:{type:[Object,Array,String],default:null},jsonFormText:{type:String,default:"JSON Form"}},data(){return{collapsed:!0}},computed:{formattedJson(){return typeof this.jsonData=="string"?JSON.stringify(JSON.parse(this.jsonData),null," ").replace(/\n/g,"
"):JSON.stringify(this.jsonData,null," ").replace(/\n/g,"
")},isObject(){return typeof this.jsonData=="object"&&this.jsonData!==null},isContentPresent(){return this.jsonData!==null&&(typeof this.jsonData!="string"||this.jsonData.trim()!=="")}},methods:{toggleCollapsed(){this.collapsed=!this.collapsed},toggleCollapsible(){this.collapsed=!this.collapsed}}},Ppt={key:0},Upt={class:"toggle-icon mr-1"},Fpt={key:0,class:"fas fa-plus-circle text-gray-600"},Bpt={key:1,class:"fas fa-minus-circle text-gray-600"},Gpt={class:"json-viewer max-h-64 overflow-auto p-4 bg-gray-100 border border-gray-300 rounded dark:bg-gray-600"},Vpt={key:0,class:"fas fa-plus-circle text-gray-600"},zpt={key:1,class:"fas fa-minus-circle text-gray-600"},Hpt=["innerHTML"];function qpt(n,e,t,i,s,r){return r.isContentPresent?(O(),D("div",Ppt,[_("div",{class:"collapsible-section cursor-pointer mb-4 font-bold hover:text-gray-900",onClick:e[0]||(e[0]=(...o)=>r.toggleCollapsible&&r.toggleCollapsible(...o))},[_("span",Upt,[s.collapsed?(O(),D("i",Fpt)):(O(),D("i",Bpt))]),je(" "+he(t.jsonFormText),1)]),xe(_("div",null,[_("div",Gpt,[r.isObject?(O(),D("span",{key:0,onClick:e[1]||(e[1]=(...o)=>r.toggleCollapsed&&r.toggleCollapsed(...o)),class:"toggle-icon cursor-pointer mr-1"},[s.collapsed?(O(),D("i",Vpt)):(O(),D("i",zpt))])):j("",!0),_("pre",{innerHTML:r.formattedJson},null,8,Hpt)])],512),[[At,!s.collapsed]])])):j("",!0)}const Ypt=gt(kpt,[["render",qpt]]),$pt={props:{done:{type:Boolean,required:!0},message:{type:String,required:!0},status:{type:Boolean,required:!0}}},Wpt={class:"step flex items-center mb-4"},Kpt={class:"flex items-center justify-center w-6 h-6 mr-2"},jpt={key:0},Qpt=_("i",{"data-feather":"square",class:"text-gray-400 w-4 h-4"},null,-1),Xpt=[Qpt],Zpt={key:1},Jpt=_("i",{"data-feather":"check-square",class:"text-green-500 w-4 h-4"},null,-1),e_t=[Jpt],t_t={key:2},n_t=_("i",{"data-feather":"x-square",class:"text-red-500 w-4 h-4"},null,-1),i_t=[n_t],s_t={key:0,role:"status"},r_t=_("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1),o_t=[r_t];function a_t(n,e,t,i,s,r){return O(),D("div",Wpt,[_("div",Kpt,[t.done?j("",!0):(O(),D("div",jpt,Xpt)),t.done&&t.status?(O(),D("div",Zpt,e_t)):j("",!0),t.done&&!t.status?(O(),D("div",t_t,i_t)):j("",!0)]),t.done?j("",!0):(O(),D("div",s_t,o_t)),_("div",{class:He(["content flex-1 px-2",{"text-green-500":t.done,"text-yellow-500":!t.done}])},he(t.message),3)])}const l_t=gt($pt,[["render",a_t]]);const nC="/",c_t={name:"Message",emits:["copy","delete","rankUp","rankDown","updateMessage","resendMessage","continueMessage"],components:{MarkdownRenderer:vN,Step:l_t,RenderHTMLJS:Lpt,JsonViewer:Ypt,DynamicUIRenderer:IN},props:{host:{type:String,required:!1,default:"http://localhost:9600"},message:Object,avatar:""},data(){return{isSynthesizingVoice:!1,cpp_block:CN,html5_block:RN,LaTeX_block:AN,json_block:xN,javascript_block:TN,python_block:yN,bash_block:wN,audio_url:null,audio:null,msg:null,isSpeaking:!1,speechSynthesis:null,voices:[],expanded:!1,showConfirmation:!1,editMsgMode_:!1,deleteMsgMode:!1,mdRenderHeight:Number}},mounted(){"speechSynthesis"in window?(this.speechSynthesis=window.speechSynthesis,this.voices=this.speechSynthesis.getVoices(),this.voices.length===0&&this.speechSynthesis.addEventListener("voiceschanged",this.onVoicesChanged)):console.error("Speech synthesis is not supported in this browser."),Fe(()=>{Be.replace(),this.mdRenderHeight=this.$refs.mdRender.$el.offsetHeight}),this.message.hasOwnProperty("metadata")&&this.message.metadata!=null&&(this.audio_url=this.message.metadata.hasOwnProperty("audio_url")?this.message.metadata.audio_url:null)},methods:{insertTab(n){const e=n.target,t=e.selectionStart,i=e.selectionEnd,s=n.shiftKey;if(t===i)if(s){if(e.value.substring(t-4,t)==" "){const r=e.value.substring(0,t-4),o=e.value.substring(i),a=r+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=t-4})}}else{const r=e.value.substring(0,t),o=e.value.substring(i),a=r+" "+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=t+4})}else{const o=e.value.substring(t,i).split(` +You need to apply changes before you leave, or else.`,"Apply configuration","Cancel")&&this.applyConfiguration(),!1}},be=n=>(lo("data-v-c3765c36"),n=n(),co(),n),ist={class:"container overflow-y-scroll flex flex-row shadow-lg p-10 pt-0 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary"},sst={class:"sticky top-0 z-10 flex flex-row mb-2 p-3 gap-3 w-full rounded-b-lg bg-bg-light-tone dark:bg-bg-dark-tone shadow-lg"},rst={key:0,class:"flex gap-3 flex-1 items-center duration-75"},ost=be(()=>_("i",{"data-feather":"x"},null,-1)),ast=[ost],lst=be(()=>_("i",{"data-feather":"check"},null,-1)),cst=[lst],dst={key:1,class:"flex gap-3 flex-1 items-center"},ust=be(()=>_("i",{"data-feather":"save"},null,-1)),pst=[ust],_st=be(()=>_("i",{"data-feather":"refresh-ccw"},null,-1)),hst=[_st],fst=be(()=>_("i",{"data-feather":"list"},null,-1)),mst=[fst],gst={class:"flex gap-3 flex-1 items-center justify-end"},Est=be(()=>_("i",{"data-feather":"trash-2"},null,-1)),bst=[Est],Sst=be(()=>_("i",{"data-feather":"refresh-ccw"},null,-1)),vst=[Sst],yst=be(()=>_("i",{"data-feather":"arrow-up-circle"},null,-1)),Tst={key:0},xst=be(()=>_("i",{"data-feather":"alert-circle"},null,-1)),Cst=[xst],Rst={class:"flex gap-3 items-center"},Ast={key:0,class:"flex gap-3 items-center"},wst=be(()=>_("p",{class:"text-red-600 font-bold"},"Apply changes:",-1)),Nst=be(()=>_("i",{"data-feather":"check"},null,-1)),Ost=[Nst],Ist={key:1,role:"status"},Mst=be(()=>_("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),Dst=be(()=>_("span",{class:"sr-only"},"Loading...",-1)),Lst={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},kst={class:"flex flex-row p-3"},Pst=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),Ust=[Pst],Fst=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Bst=[Fst],Gst=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," System status",-1)),Vst=be(()=>_("div",{class:"mr-2"},"|",-1)),zst={class:"text-base font-semibold cursor-pointer select-none items-center"},Hst={class:"flex gap-2 items-center"},qst={key:0},Yst={class:"flex gap-2 items-center"},$st=["src"],Wst={class:"font-bold font-large text-lg"},Kst={key:1},jst={class:"flex gap-2 items-center"},Qst=["src"],Xst={class:"font-bold font-large text-lg"},Zst=be(()=>_("i",{"data-feather":"cpu",title:"CPU Ram",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),Jst={class:"font-bold font-large text-lg"},ert=be(()=>_("i",{"data-feather":"hard-drive",title:"Hard drive",class:"w-5 h-5 mx-1 flex-shrink-0"},null,-1)),trt={class:"font-bold font-large text-lg"},nrt={class:"mb-2"},irt=be(()=>_("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[_("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24"},[_("path",{fill:"currentColor",d:"M17 17H7V7h10m4 4V9h-2V7a2 2 0 0 0-2-2h-2V3h-2v2h-2V3H9v2H7c-1.11 0-2 .89-2 2v2H3v2h2v2H3v2h2v2a2 2 0 0 0 2 2h2v2h2v-2h2v2h2v-2h2a2 2 0 0 0 2-2v-2h2v-2h-2v-2m-6 2h-2v-2h2m2-2H9v6h6V9Z"})]),je(" CPU Ram usage: ")],-1)),srt={class:"flex flex-col mx-2"},rrt=be(()=>_("b",null,"Avaliable ram: ",-1)),ort=be(()=>_("b",null,"Ram usage: ",-1)),art={class:"p-2"},lrt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},crt={class:"mb-2"},drt=be(()=>_("label",{class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},[_("i",{"data-feather":"hard-drive",class:"w-5 h-5"}),je(" Disk usage: ")],-1)),urt={class:"flex flex-col mx-2"},prt=be(()=>_("b",null,"Avaliable disk space: ",-1)),_rt=be(()=>_("b",null,"Disk usage: ",-1)),hrt={class:"p-2"},frt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},mrt={class:"mb-2"},grt={class:"flex items-center gap-1 ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Ert=["src"],brt={class:"flex flex-col mx-2"},Srt=be(()=>_("b",null,"Model: ",-1)),vrt=be(()=>_("b",null,"Avaliable vram: ",-1)),yrt=be(()=>_("b",null,"GPU usage: ",-1)),Trt={class:"p-2"},xrt={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},Crt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Rrt={class:"flex flex-row p-3"},Art=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),wrt=[Art],Nrt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Ort=[Nrt],Irt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Main configurations",-1)),Mrt={class:"flex flex-col mb-2 px-3 pb-2"},Drt={class:"expand-to-fit bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Lrt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"hardware_mode",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Hardware mode:")],-1)),krt={class:"text-center items-center"},Prt={class:"flex flex-row"},Urt=be(()=>_("option",{value:"cpu"},"CPU",-1)),Frt=be(()=>_("option",{value:"cpu-noavx"},"CPU (No AVX)",-1)),Brt=be(()=>_("option",{value:"nvidia-tensorcores"},"NVIDIA (Tensor Cores)",-1)),Grt=be(()=>_("option",{value:"nvidia"},"NVIDIA",-1)),Vrt=be(()=>_("option",{value:"amd-noavx"},"AMD (No AVX)",-1)),zrt=be(()=>_("option",{value:"amd"},"AMD",-1)),Hrt=be(()=>_("option",{value:"apple-intel"},"Apple Intel",-1)),qrt=be(()=>_("option",{value:"apple-silicon"},"Apple Silicon",-1)),Yrt=[Urt,Frt,Brt,Grt,Vrt,zrt,Hrt,qrt],$rt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"db_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Host:")],-1)),Wrt={style:{width:"100%"}},Krt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"db_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Port:")],-1)),jrt={style:{width:"100%"}},Qrt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"db_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Database path:")],-1)),Xrt={style:{width:"100%"}},Zrt=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_show_browser",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto show browser:")],-1)),Jrt={class:"flex flex-row"},eot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"activate_debug",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate debug mode:")],-1)),tot={class:"flex flex-row"},not=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_save",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto save:")],-1)),iot={class:"flex flex-row"},sot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto update:")],-1)),rot={class:"flex flex-row"},oot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_update",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Auto title:")],-1)),aot={class:"flex flex-row"},lot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},cot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User name:")],-1)),dot={style:{width:"100%"}},uot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_description",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User description:")],-1)),pot={style:{width:"100%"}},_ot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_description",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use user description in discussion:")],-1)),hot={style:{width:"100%"}},fot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"user_name",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"User avatar:")],-1)),mot={style:{width:"100%"}},got={for:"avatar-upload"},Eot=["src"],bot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"use_user_name_in_discussions",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Use User Name in discussions:")],-1)),Sot={class:"flex flex-row"},vot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"min_n_predict",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Minimum number of output tokens space (forces the model to have more space to speak):")],-1)),yot={style:{width:"100%"}},Tot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},xot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"use_files",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate files support:")],-1)),Cot={class:"flex flex-row"},Rot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"use_discussions_history",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate discussion vectorization:")],-1)),Aot={class:"flex flex-row"},wot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"summerize_discussion",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate Continuous Learning from discussions:")],-1)),Not={class:"flex flex-row"},Oot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_visualize_on_vectorization",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"show vectorized data:")],-1)),Iot={class:"flex flex-row"},Mot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_activate",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Activate data Vectorization:")],-1)),Dot={class:"flex flex-row"},Lot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_build_keys_words",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Build keywords when querying the vectorized database:")],-1)),kot={class:"flex flex-row"},Pot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization method:")],-1)),Uot=be(()=>_("option",{value:"tfidf_vectorizer"},"tfidf Vectorizer",-1)),Fot=be(()=>_("option",{value:"model_embedding"},"Model Embedding",-1)),Bot=[Uot,Fot],Got=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_visualization_method",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data visualization method:")],-1)),Vot=be(()=>_("option",{value:"PCA"},"PCA",-1)),zot=be(()=>_("option",{value:"TSNE"},"TSNE",-1)),Hot=[Vot,zot],qot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_save_db",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Save the new files to the database (The database wil always grow and continue to be the same over many sessions):")],-1)),Yot={class:"flex flex-row"},$ot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_chunk_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization chunk size(tokens):")],-1)),Wot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Data vectorization overlap size(tokens):")],-1)),Kot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"data_vectorization_overlap_size",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Number of chunks to use for each message:")],-1)),jot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Qot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"pdf_latex_path",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"PDF LaTeX path:")],-1)),Xot={class:"flex flex-row"},Zot={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Jot=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"positive_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Positive Boost:")],-1)),eat={class:"flex flex-row"},tat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"negative_boost",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Negative Boost:")],-1)),nat={class:"flex flex-row"},iat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"force_output_language_to_be",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Force AI to answer in this language:")],-1)),sat={class:"flex flex-row"},rat={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},oat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_auto_send_input",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Send audio input automatically:")],-1)),aat={class:"flex flex-row"},lat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_speak",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto speak:")],-1)),cat={class:"flex flex-row"},dat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_pitch",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio pitch:")],-1)),uat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_silenceTimer",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"audio in silence timer (ms):")],-1)),pat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_in_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Input Audio Language:")],-1)),_at=["value"],hat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"audio_out_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Output Audio Voice:")],-1)),fat=["value"],mat={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},gat={class:"flex flex-row p-3"},Eat=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),bat=[Eat],Sat=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),vat=[Sat],yat=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Servers configurations",-1)),Tat={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},xat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"enable_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable sd service:")],-1)),Cat={class:"flex flex-row"},Rat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"install_sd_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reinstall SD service:")],-1)),Aat={class:"flex flex-row"},wat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"sd_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"sd base url:")],-1)),Nat={class:"flex flex-row"},Oat={class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},Iat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"enable_voice_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable voice service:")],-1)),Mat={class:"flex flex-row"},Dat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"install_xtts_service",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Reinstall xTTS service:")],-1)),Lat={class:"flex flex-row"},kat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"xtts_base_url",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"xtts base url:")],-1)),Pat={class:"flex flex-row"},Uat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"current_language",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current language:")],-1)),Fat={class:"flex flex-row"},Bat=["disabled"],Gat=["value"],Vat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"current_voice",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Current voice:")],-1)),zat={class:"flex flex-row"},Hat=["disabled"],qat=["value"],Yat=be(()=>_("td",{style:{"min-width":"200px"}},[_("label",{for:"auto_read",class:"text-sm font-bold",style:{"margin-right":"1rem"}},"Enable auto read:")],-1)),$at={class:"flex flex-row"},Wat=["disabled"],Kat={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},jat={class:"flex flex-row p-3"},Qat=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),Xat=[Qat],Zat=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Jat=[Zat],elt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Binding zoo",-1)),tlt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},nlt=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),ilt={key:1,class:"mr-2"},slt={key:2,class:"text-base font-semibold cursor-pointer select-none items-center"},rlt={class:"flex gap-1 items-center"},olt=["src"],alt={class:"font-bold font-large text-lg line-clamp-1"},llt={key:0,class:"mb-2"},clt={for:"binding",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},dlt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),ult=[dlt],plt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),_lt=[plt],hlt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},flt={class:"flex flex-row p-3"},mlt=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),glt=[mlt],Elt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),blt=[Elt],Slt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Models zoo",-1)),vlt={class:"flex flex-row items-center"},ylt={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},Tlt=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),xlt={key:1,class:"text-base text-red-600 flex gap-3 items-center mr-2"},Clt=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),Rlt={key:2,class:"mr-2"},Alt={key:3,class:"text-base font-semibold cursor-pointer select-none items-center"},wlt={class:"flex gap-1 items-center"},Nlt=["src"],Olt={class:"font-bold font-large text-lg line-clamp-1"},Ilt={class:"mx-2 mb-4"},Mlt={class:"relative"},Dlt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},Llt={key:0},klt=be(()=>_("div",{role:"status"},[_("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1)),Plt=[klt],Ult={key:1},Flt=be(()=>_("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Blt=[Flt],Glt=be(()=>_("label",{for:"only_installed"},"Show only installed models",-1)),Vlt=be(()=>_("a",{href:"https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard",target:"_blank",class:"mb-4 font-bold underline text-blue-500 pb-4"},"Hugging face Leaderboard",-1)),zlt={key:0,role:"status",class:"text-center w-full display: flex;align-items: center;"},Hlt=be(()=>_("svg",{"aria-hidden":"true",class:"text-center w-full display: flex;align-items: center; h-20 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1)),qlt=be(()=>_("p",{class:"heartbeat-text"},"Loading models Zoo",-1)),Ylt=[Hlt,qlt],$lt={key:1,class:"mb-2"},Wlt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},Klt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),jlt=[Klt],Qlt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Xlt=[Qlt],Zlt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Jlt={class:"flex flex-row p-3"},ect=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),tct=[ect],nct=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),ict=[nct],sct=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Add models for binding",-1)),rct={key:0,class:"text-base text-red-600 flex gap-3 items-center mr-2"},oct=be(()=>_("i",{"data-feather":"alert-triangle",class:"flex-shrink-0"},null,-1)),act={key:1,class:"mr-2"},lct={key:2,class:"text-base font-semibold cursor-pointer select-none items-center"},cct={class:"flex gap-1 items-center"},dct=["src"],uct={class:"font-bold font-large text-lg line-clamp-1"},pct={class:"mb-2"},_ct={class:"p-2"},hct={class:"mb-3"},fct=be(()=>_("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Create a reference from local file path:",-1)),mct={key:0},gct={class:"mb-3"},Ect=be(()=>_("label",{class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},"Download from web:",-1)),bct={key:1,class:"relative flex flex-col items-center justify-center flex-grow h-full"},Sct=be(()=>_("div",{role:"status",class:"justify-center"},null,-1)),vct={class:"relative flex flex-row flex-grow items-center w-full h-full bottom-0"},yct={class:"w-full p-2"},Tct={class:"flex justify-between mb-1"},xct=Ru(' Downloading Loading...',1),Cct={class:"text-sm font-medium text-blue-700 dark:text-white"},Rct=["title"],Act={class:"w-full bg-gray-200 rounded-full h-2.5 dark:bg-gray-700"},wct={class:"flex justify-between mb-1"},Nct={class:"text-base font-medium text-blue-700 dark:text-white"},Oct={class:"text-sm font-medium text-blue-700 dark:text-white"},Ict={class:"flex flex-grow"},Mct={class:"flex flex-row flex-grow gap-3"},Dct={class:"p-2 text-center grow"},Lct={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},kct={class:"flex flex-row p-3 items-center"},Pct=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),Uct=[Pct],Fct=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Bct=[Fct],Gct=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Personalities zoo",-1)),Vct={key:0,class:"mr-2"},zct={class:"mr-2 font-bold font-large text-lg line-clamp-1"},Hct={key:1,class:"mr-2"},qct={key:2,class:"text-base font-semibold cursor-pointer select-none items-center flex flex-row"},Yct={key:0,class:"flex -space-x-4 items-center"},$ct={class:"group items-center flex flex-row"},Wct=["onClick"],Kct=["src","title"],jct=["onClick"],Qct=be(()=>_("span",{class:"hidden group-hover:block top-0 left-7 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount personality"},[_("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),Xct=[Qct],Zct=be(()=>_("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)),Jct=[Zct],edt={class:"mx-2 mb-4"},tdt=be(()=>_("label",{for:"personality-search",class:"mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"},"Search",-1)),ndt={class:"relative"},idt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},sdt={key:0},rdt=be(()=>_("div",{role:"status"},[_("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1)),odt=[rdt],adt={key:1},ldt=be(()=>_("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),cdt=[ldt],ddt={key:0,class:"mx-2 mb-4"},udt={for:"persCat",class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},pdt=["selected"],_dt={key:0,class:"mb-2"},hdt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},fdt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),mdt=[fdt],gdt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Edt=[gdt],bdt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},Sdt={class:"flex flex-row p-3 items-center"},vdt=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),ydt=[vdt],Tdt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),xdt=[Tdt],Cdt=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Extensions zoo",-1)),Rdt={key:0,class:"mr-2"},Adt={key:1,class:"text-base font-semibold cursor-pointer select-none items-center flex flex-row"},wdt={key:0,class:"flex -space-x-4 items-center"},Ndt={class:"group items-center flex flex-row"},Odt=["src","title"],Idt=["onClick"],Mdt=be(()=>_("span",{class:"hidden group-hover:block top-0 left-7 absolute active:scale-90 bg-bg-light dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount personality"},[_("svg",{"aria-hidden":"true",class:"w-4 h-4 text-red-600 hover:text-red-500",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})])],-1)),Ddt=[Mdt],Ldt={class:"mx-2 mb-4"},kdt=be(()=>_("label",{for:"personality-search",class:"mb-2 text-sm font-medium text-gray-900 sr-only dark:text-white"},"Search",-1)),Pdt={class:"relative"},Udt={class:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none"},Fdt={key:0},Bdt=be(()=>_("div",{role:"status"},[_("svg",{"aria-hidden":"true",class:"inline w-4 h-4 mr-2 text-gray-200 animate-spin dark:text-gray-600 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]),_("span",{class:"sr-only"},"Loading...")],-1)),Gdt=[Bdt],Vdt={key:1},zdt=be(()=>_("svg",{"aria-hidden":"true",class:"w-5 h-5 text-gray-500 dark:text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},[_("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)),Hdt=[zdt],qdt={key:0,class:"mx-2 mb-4"},Ydt={for:"extCat",class:"block mb-2 text-sm font-medium text-gray-900 dark:text-white"},$dt=["selected"],Wdt={key:0,class:"mb-2"},Kdt={for:"model",class:"block ml-2 mb-2 text-sm font-medium text-gray-900 dark:text-white"},jdt=be(()=>_("i",{"data-feather":"chevron-up"},null,-1)),Qdt=[jdt],Xdt=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),Zdt=[Xdt],Jdt={class:"flex flex-col mb-2 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},eut={class:"flex flex-row p-3 items-center"},tut=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),nut=[tut],iut=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),sut=[iut],rut=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none mr-2"}," Mounted Extensions Priority",-1)),out={class:"flex flex-col mb-2 p-3 rounded-lg bg-bg-light-tone dark:bg-bg-dark-tone hover:bg-bg-light-tone-panel hover:dark:bg-bg-dark-tone-panel duration-150 shadow-lg"},aut={class:"flex flex-row"},lut=be(()=>_("i",{"data-feather":"chevron-right"},null,-1)),cut=[lut],dut=be(()=>_("i",{"data-feather":"chevron-down"},null,-1)),uut=[dut],put=be(()=>_("h3",{class:"text-lg font-semibold cursor-pointer select-none"}," Model Configuration",-1)),_ut={class:"m-2"},hut={class:"flex flex-row gap-2 items-center"},fut=be(()=>_("label",{for:"override-model-parameters",class:"block text-sm font-medium"}," Override personality model parameters ",-1)),mut={class:"m-2"},gut=be(()=>_("label",{for:"seed",class:"block mb-2 text-sm font-medium"}," Seed: ",-1)),Eut={class:"m-2"},but={class:"flex flex-col align-bottom"},Sut={class:"relative"},vut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"temperature",class:"text-sm font-medium"}," Temperature: ")],-1)),yut={class:"absolute right-0"},Tut={class:"m-2"},xut={class:"flex flex-col align-bottom"},Cut={class:"relative"},Rut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"predict",class:"text-sm font-medium"}," N Predict: ")],-1)),Aut={class:"absolute right-0"},wut={class:"m-2"},Nut={class:"flex flex-col align-bottom"},Out={class:"relative"},Iut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"top_k",class:"text-sm font-medium"}," Top-K: ")],-1)),Mut={class:"absolute right-0"},Dut={class:"m-2"},Lut={class:"flex flex-col align-bottom"},kut={class:"relative"},Put=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"top_p",class:"text-sm font-medium"}," Top-P: ")],-1)),Uut={class:"absolute right-0"},Fut={class:"m-2"},But={class:"flex flex-col align-bottom"},Gut={class:"relative"},Vut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"repeat_penalty",class:"text-sm font-medium"}," Repeat penalty: ")],-1)),zut={class:"absolute right-0"},Hut={class:"m-2"},qut={class:"flex flex-col align-bottom"},Yut={class:"relative"},$ut=be(()=>_("p",{class:"absolute left-0 mt-6"},[_("label",{for:"repeat_last_n",class:"text-sm font-medium"}," Repeat last N: ")],-1)),Wut={class:"absolute right-0"};function Kut(n,e,t,i,s,r){const o=_t("Card"),a=_t("BindingEntry"),l=_t("RadioOptions"),c=_t("model-entry"),d=_t("personality-entry"),u=_t("ExtensionEntry"),h=_t("AddModelDialog"),m=_t("ChoiceDialog");return O(),D($e,null,[_("div",ist,[_("div",sst,[s.showConfirmation?(O(),D("div",rst,[_("button",{class:"text-2xl hover:text-red-600 duration-75 active:scale-90",title:"Cancel",type:"button",onClick:e[0]||(e[0]=Te(f=>s.showConfirmation=!1,["stop"]))},ast),_("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Confirm save changes",type:"button",onClick:e[1]||(e[1]=Te(f=>r.save_configuration(),["stop"]))},cst)])):j("",!0),s.showConfirmation?j("",!0):(O(),D("div",dst,[_("button",{title:"Save configuration",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[2]||(e[2]=f=>s.showConfirmation=!0)},pst),_("button",{title:"Reset configuration",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[3]||(e[3]=f=>r.reset_configuration())},hst),_("button",{class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Collapse / Expand all panels",type:"button",onClick:e[4]||(e[4]=Te(f=>s.all_collapsed=!s.all_collapsed,["stop"]))},mst)])),_("div",gst,[_("button",{title:"Clear uploads",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[5]||(e[5]=f=>r.api_get_req("clear_uploads").then(b=>{b.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},bst),_("button",{title:"Restart program",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[6]||(e[6]=f=>r.api_get_req("restart_program").then(b=>{b.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast(["failed!"],4,!1)}))},vst),_("button",{title:"Upgrade program ",class:"text-2xl hover:text-secondary duration-75 active:scale-90",onClick:e[7]||(e[7]=f=>r.api_get_req("update_software").then(b=>{b.status?this.$store.state.toast.showToast("Success!",4,!0):this.$store.state.toast.showToast("Success!",4,!0)}))},[yst,s.has_updates?(O(),D("div",Tst,Cst)):j("",!0)]),_("div",Rst,[s.settingsChanged?(O(),D("div",Ast,[wst,s.isLoading?j("",!0):(O(),D("button",{key:0,class:"text-2xl hover:text-secondary duration-75 active:scale-90",title:"Apply changes",type:"button",onClick:e[8]||(e[8]=Te(f=>r.applyConfiguration(),["stop"]))},Ost))])):j("",!0),s.isLoading?(O(),D("div",Ist,[_("p",null,he(s.loading_text),1),Mst,Dst])):j("",!0)])])]),_("div",{class:He(s.isLoading?"pointer-events-none opacity-30 w-full":"w-full")},[_("div",Lst,[_("div",kst,[_("button",{onClick:e[9]||(e[9]=Te(f=>s.sc_collapsed=!s.sc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,Ust,512),[[At,s.sc_collapsed]]),xe(_("div",null,Bst,512),[[At,!s.sc_collapsed]]),Gst,Vst,_("div",zst,[_("div",Hst,[_("div",null,[r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length==1?(O(),D("div",qst,[(O(!0),D($e,null,lt(r.vramUsage.gpus,f=>(O(),D("div",Yst,[_("img",{src:s.SVGGPU,width:"25",height:"25"},null,8,$st),_("h3",Wst,[_("div",null,he(r.computedFileSize(f.used_vram))+" / "+he(r.computedFileSize(f.total_vram))+" ("+he(f.percentage)+"%) ",1)])]))),256))])):j("",!0),r.vramUsage&&r.vramUsage.gpus&&r.vramUsage.gpus.length>1?(O(),D("div",Kst,[_("div",jst,[_("img",{src:s.SVGGPU,width:"25",height:"25"},null,8,Qst),_("h3",Xst,[_("div",null,he(r.vramUsage.gpus.length)+"x ",1)])])])):j("",!0)]),Zst,_("h3",Jst,[_("div",null,he(r.ram_usage)+" / "+he(r.ram_total_space)+" ("+he(r.ram_percent_usage)+"%)",1)]),ert,_("h3",trt,[_("div",null,he(r.disk_binding_models_usage)+" / "+he(r.disk_total_space)+" ("+he(r.disk_percent_usage)+"%)",1)])])])])]),_("div",{class:He([{hidden:s.sc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",nrt,[irt,_("div",srt,[_("div",null,[rrt,je(he(r.ram_available_space),1)]),_("div",null,[ort,je(" "+he(r.ram_usage)+" / "+he(r.ram_total_space)+" ("+he(r.ram_percent_usage)+")% ",1)])]),_("div",art,[_("div",lrt,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt("width: "+r.ram_percent_usage+"%;")},null,4)])])]),_("div",crt,[drt,_("div",urt,[_("div",null,[prt,je(he(r.disk_available_space),1)]),_("div",null,[_rt,je(" "+he(r.disk_binding_models_usage)+" / "+he(r.disk_total_space)+" ("+he(r.disk_percent_usage)+"%)",1)])]),_("div",hrt,[_("div",frt,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt("width: "+r.disk_percent_usage+"%;")},null,4)])])]),(O(!0),D($e,null,lt(r.vramUsage.gpus,f=>(O(),D("div",mrt,[_("label",grt,[_("img",{src:s.SVGGPU,width:"25",height:"25"},null,8,Ert),je(" GPU usage: ")]),_("div",brt,[_("div",null,[Srt,je(he(f.gpu_model),1)]),_("div",null,[vrt,je(he(this.computedFileSize(f.available_space)),1)]),_("div",null,[yrt,je(" "+he(this.computedFileSize(f.used_vram))+" / "+he(this.computedFileSize(f.total_vram))+" ("+he(f.percentage)+"%)",1)])]),_("div",Trt,[_("div",xrt,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt("width: "+f.percentage+"%;")},null,4)])])]))),256))],2)]),_("div",Crt,[_("div",Rrt,[_("button",{onClick:e[10]||(e[10]=Te(f=>s.minconf_collapsed=!s.minconf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,wrt,512),[[At,s.minconf_collapsed]]),xe(_("div",null,Ort,512),[[At,!s.minconf_collapsed]]),Irt])]),_("div",{class:He([{hidden:s.minconf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",Mrt,[Ie(o,{title:"General",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Drt,[_("tr",null,[Lrt,_("td",krt,[_("div",Prt,[xe(_("select",{id:"hardware_mode",required:"","onUpdate:modelValue":e[11]||(e[11]=f=>r.configFile.hardware_mode=f),onChange:e[12]||(e[12]=f=>s.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},Yrt,544),[[ei,r.configFile.hardware_mode]])])])]),_("tr",null,[$rt,_("td",Wrt,[xe(_("input",{type:"text",id:"host",required:"","onUpdate:modelValue":e[13]||(e[13]=f=>r.configFile.host=f),onChange:e[14]||(e[14]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[Xe,r.configFile.host]])])]),_("tr",null,[Krt,_("td",jrt,[xe(_("input",{type:"number",step:"1",id:"port",required:"","onUpdate:modelValue":e[15]||(e[15]=f=>r.configFile.port=f),onChange:e[16]||(e[16]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[Xe,r.configFile.port]])])]),_("tr",null,[Qrt,_("td",Xrt,[xe(_("input",{type:"text",id:"db_path",required:"","onUpdate:modelValue":e[17]||(e[17]=f=>r.configFile.db_path=f),onChange:e[18]||(e[18]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600 dark:bg-gray-600"},null,544),[[Xe,r.configFile.db_path]])])]),_("tr",null,[Zrt,_("td",null,[_("div",Jrt,[xe(_("input",{type:"checkbox",id:"auto_show_browser",required:"","onUpdate:modelValue":e[19]||(e[19]=f=>r.configFile.auto_show_browser=f),onChange:e[20]||(e[20]=f=>s.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_show_browser]])])])]),_("tr",null,[eot,_("td",null,[_("div",tot,[xe(_("input",{type:"checkbox",id:"activate_debug",required:"","onUpdate:modelValue":e[21]||(e[21]=f=>r.configFile.debug=f),onChange:e[22]||(e[22]=f=>s.settingsChanged=!0),class:"m-2 h-50 w-50 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.debug]])])])]),_("tr",null,[not,_("td",null,[_("div",iot,[xe(_("input",{type:"checkbox",id:"auto_save",required:"","onUpdate:modelValue":e[23]||(e[23]=f=>r.configFile.auto_save=f),onChange:e[24]||(e[24]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_save]])])])]),_("tr",null,[sot,_("td",null,[_("div",rot,[xe(_("input",{type:"checkbox",id:"auto_update",required:"","onUpdate:modelValue":e[25]||(e[25]=f=>r.configFile.auto_update=f),onChange:e[26]||(e[26]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_update]])])])]),_("tr",null,[oot,_("td",null,[_("div",aot,[xe(_("input",{type:"checkbox",id:"auto_title",required:"","onUpdate:modelValue":e[27]||(e[27]=f=>r.configFile.auto_title=f),onChange:e[28]||(e[28]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_title]])])])])])]),_:1}),Ie(o,{title:"User",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",lot,[_("tr",null,[cot,_("td",dot,[xe(_("input",{type:"text",id:"user_name",required:"","onUpdate:modelValue":e[29]||(e[29]=f=>r.configFile.user_name=f),onChange:e[30]||(e[30]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.user_name]])])]),_("tr",null,[uot,_("td",pot,[xe(_("textarea",{id:"user_description",required:"","onUpdate:modelValue":e[31]||(e[31]=f=>r.configFile.user_description=f),onChange:e[32]||(e[32]=f=>s.settingsChanged=!0),class:"w-full w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.user_description]])])]),_("tr",null,[_ot,_("td",hot,[xe(_("input",{type:"checkbox",id:"override_personality_model_parameters",required:"","onUpdate:modelValue":e[33]||(e[33]=f=>r.configFile.override_personality_model_parameters=f),onChange:e[34]||(e[34]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.override_personality_model_parameters]])])]),_("tr",null,[fot,_("td",mot,[_("label",got,[_("img",{src:"/user_infos/"+r.configFile.user_avatar,class:"w-50 h-50 rounded-full",style:{"max-width":"50px","max-height":"50px",cursor:"pointer"}},null,8,Eot)]),_("input",{type:"file",id:"avatar-upload",style:{display:"none"},onChange:e[35]||(e[35]=(...f)=>r.uploadAvatar&&r.uploadAvatar(...f))},null,32)])]),_("tr",null,[bot,_("td",null,[_("div",Sot,[xe(_("input",{type:"checkbox",id:"use_user_name_in_discussions",required:"","onUpdate:modelValue":e[36]||(e[36]=f=>r.configFile.use_user_name_in_discussions=f),onChange:e[37]||(e[37]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.use_user_name_in_discussions]])])])]),_("tr",null,[vot,_("td",yot,[xe(_("input",{type:"number",id:"min_n_predict",required:"","onUpdate:modelValue":e[38]||(e[38]=f=>r.configFile.min_n_predict=f),onChange:e[39]||(e[39]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.min_n_predict]])])])])]),_:1}),Ie(o,{title:"Data Vectorization",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Tot,[_("tr",null,[xot,_("td",null,[_("div",Cot,[xe(_("input",{type:"checkbox",id:"use_files",required:"","onUpdate:modelValue":e[40]||(e[40]=f=>r.configFile.use_files=f),onChange:e[41]||(e[41]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.use_files]])])])]),_("tr",null,[Rot,_("td",null,[_("div",Aot,[xe(_("input",{type:"checkbox",id:"use_discussions_history",required:"","onUpdate:modelValue":e[42]||(e[42]=f=>r.configFile.use_discussions_history=f),onChange:e[43]||(e[43]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.use_discussions_history]])])])]),_("tr",null,[wot,_("td",null,[_("div",Not,[xe(_("input",{type:"checkbox",id:"summerize_discussion",required:"","onUpdate:modelValue":e[44]||(e[44]=f=>r.configFile.summerize_discussion=f),onChange:e[45]||(e[45]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.summerize_discussion]])])])]),_("tr",null,[Oot,_("td",null,[_("div",Iot,[xe(_("input",{type:"checkbox",id:"data_vectorization_visualize_on_vectorization",required:"","onUpdate:modelValue":e[46]||(e[46]=f=>r.configFile.data_vectorization_visualize_on_vectorization=f),onChange:e[47]||(e[47]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_visualize_on_vectorization]])])])]),_("tr",null,[Mot,_("td",null,[_("div",Dot,[xe(_("input",{type:"checkbox",id:"data_vectorization_activate",required:"","onUpdate:modelValue":e[48]||(e[48]=f=>r.configFile.data_vectorization_activate=f),onChange:e[49]||(e[49]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_activate]])])])]),_("tr",null,[Lot,_("td",null,[_("div",kot,[xe(_("input",{type:"checkbox",id:"data_vectorization_build_keys_words",required:"","onUpdate:modelValue":e[50]||(e[50]=f=>r.configFile.data_vectorization_build_keys_words=f),onChange:e[51]||(e[51]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_build_keys_words]])])])]),_("tr",null,[Pot,_("td",null,[xe(_("select",{id:"data_vectorization_method",required:"","onUpdate:modelValue":e[52]||(e[52]=f=>r.configFile.data_vectorization_method=f),onChange:e[53]||(e[53]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Bot,544),[[ei,r.configFile.data_vectorization_method]])])]),_("tr",null,[Got,_("td",null,[xe(_("select",{id:"data_visualization_method",required:"","onUpdate:modelValue":e[54]||(e[54]=f=>r.configFile.data_visualization_method=f),onChange:e[55]||(e[55]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},Hot,544),[[ei,r.configFile.data_visualization_method]])])]),_("tr",null,[qot,_("td",null,[_("div",Yot,[xe(_("input",{type:"checkbox",id:"data_vectorization_save_db",required:"","onUpdate:modelValue":e[56]||(e[56]=f=>r.configFile.data_vectorization_save_db=f),onChange:e[57]||(e[57]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.data_vectorization_save_db]])])])]),_("tr",null,[$ot,_("td",null,[xe(_("input",{id:"data_vectorization_chunk_size","onUpdate:modelValue":e[58]||(e[58]=f=>r.configFile.data_vectorization_chunk_size=f),onChange:e[59]||(e[59]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.data_vectorization_chunk_size]]),xe(_("input",{"onUpdate:modelValue":e[60]||(e[60]=f=>r.configFile.data_vectorization_chunk_size=f),type:"number",onChange:e[61]||(e[61]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.data_vectorization_chunk_size]])])]),_("tr",null,[Wot,_("td",null,[xe(_("input",{id:"data_vectorization_overlap_size","onUpdate:modelValue":e[62]||(e[62]=f=>r.configFile.data_vectorization_overlap_size=f),onChange:e[63]||(e[63]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"64000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.data_vectorization_overlap_size]]),xe(_("input",{"onUpdate:modelValue":e[64]||(e[64]=f=>r.configFile.data_vectorization_overlap_size=f),type:"number",onChange:e[65]||(e[65]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.data_vectorization_overlap_size]])])]),_("tr",null,[Kot,_("td",null,[xe(_("input",{id:"data_vectorization_nb_chunks","onUpdate:modelValue":e[66]||(e[66]=f=>r.configFile.data_vectorization_nb_chunks=f),onChange:e[67]||(e[67]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"1000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.data_vectorization_nb_chunks]]),xe(_("input",{"onUpdate:modelValue":e[68]||(e[68]=f=>r.configFile.data_vectorization_nb_chunks=f),type:"number",onChange:e[69]||(e[69]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.data_vectorization_nb_chunks]])])])])]),_:1}),Ie(o,{title:"Latex",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",jot,[_("tr",null,[Qot,_("td",null,[_("div",Xot,[xe(_("input",{type:"text",id:"pdf_latex_path",required:"","onUpdate:modelValue":e[70]||(e[70]=f=>r.configFile.pdf_latex_path=f),onChange:e[71]||(e[71]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.pdf_latex_path]])])])])])]),_:1}),Ie(o,{title:"Boost",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Zot,[_("tr",null,[Jot,_("td",null,[_("div",eat,[xe(_("input",{type:"text",id:"positive_boost",required:"","onUpdate:modelValue":e[72]||(e[72]=f=>r.configFile.positive_boost=f),onChange:e[73]||(e[73]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.positive_boost]])])])]),_("tr",null,[tat,_("td",null,[_("div",nat,[xe(_("input",{type:"text",id:"negative_boost",required:"","onUpdate:modelValue":e[74]||(e[74]=f=>r.configFile.negative_boost=f),onChange:e[75]||(e[75]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.negative_boost]])])])]),_("tr",null,[iat,_("td",null,[_("div",sat,[xe(_("input",{type:"text",id:"force_output_language_to_be",required:"","onUpdate:modelValue":e[76]||(e[76]=f=>r.configFile.force_output_language_to_be=f),onChange:e[77]||(e[77]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.force_output_language_to_be]])])])])])]),_:1}),Ie(o,{title:"Browser Audio",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",rat,[_("tr",null,[oat,_("td",null,[_("div",aat,[xe(_("input",{type:"checkbox",id:"audio_auto_send_input",required:"","onUpdate:modelValue":e[78]||(e[78]=f=>r.configFile.audio_auto_send_input=f),onChange:e[79]||(e[79]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.audio_auto_send_input]])])])]),_("tr",null,[lat,_("td",null,[_("div",cat,[xe(_("input",{type:"checkbox",id:"auto_speak",required:"","onUpdate:modelValue":e[80]||(e[80]=f=>r.configFile.auto_speak=f),onChange:e[81]||(e[81]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.auto_speak]])])])]),_("tr",null,[dat,_("td",null,[xe(_("input",{id:"audio_pitch","onUpdate:modelValue":e[82]||(e[82]=f=>r.configFile.audio_pitch=f),onChange:e[83]||(e[83]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"10",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.audio_pitch]]),xe(_("input",{"onUpdate:modelValue":e[84]||(e[84]=f=>r.configFile.audio_pitch=f),onChange:e[85]||(e[85]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.audio_pitch]])])]),_("tr",null,[uat,_("td",null,[xe(_("input",{id:"audio_silenceTimer","onUpdate:modelValue":e[86]||(e[86]=f=>r.configFile.audio_silenceTimer=f),onChange:e[87]||(e[87]=f=>s.settingsChanged=!0),type:"range",min:"0",max:"10000",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.audio_silenceTimer]]),xe(_("input",{"onUpdate:modelValue":e[88]||(e[88]=f=>r.configFile.audio_silenceTimer=f),onChange:e[89]||(e[89]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.audio_silenceTimer]])])]),_("tr",null,[pat,_("td",null,[xe(_("select",{id:"audio_in_language","onUpdate:modelValue":e[90]||(e[90]=f=>r.configFile.audio_in_language=f),onChange:e[91]||(e[91]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(O(!0),D($e,null,lt(r.audioLanguages,f=>(O(),D("option",{key:f.code,value:f.code},he(f.name),9,_at))),128))],544),[[ei,r.configFile.audio_in_language]])])]),_("tr",null,[hat,_("td",null,[xe(_("select",{id:"audio_out_voice","onUpdate:modelValue":e[92]||(e[92]=f=>r.configFile.audio_out_voice=f),onChange:e[93]||(e[93]=f=>s.settingsChanged=!0),class:"w-full mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},[(O(!0),D($e,null,lt(s.audioVoices,f=>(O(),D("option",{key:f.name,value:f.name},he(f.name),9,fat))),128))],544),[[ei,r.configFile.audio_out_voice]])])])])]),_:1})])],2)]),_("div",mat,[_("div",gat,[_("button",{onClick:e[94]||(e[94]=Te(f=>s.servers_conf_collapsed=!s.servers_conf_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,bat,512),[[At,s.servers_conf_collapsed]]),xe(_("div",null,vat,512),[[At,!s.servers_conf_collapsed]]),yat])]),_("div",{class:He([{hidden:s.servers_conf_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[Ie(o,{title:"Stable diffusion service",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Tat,[_("tr",null,[xat,_("td",null,[_("div",Cat,[xe(_("input",{type:"checkbox",id:"enable_sd_service",required:"","onUpdate:modelValue":e[95]||(e[95]=f=>r.configFile.enable_sd_service=f),onChange:e[96]||(e[96]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.enable_sd_service]])])])]),_("tr",null,[Rat,_("td",null,[_("div",Aat,[_("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[97]||(e[97]=(...f)=>r.reinstallSDService&&r.reinstallSDService(...f))},"Reinstall sd service")])])]),_("tr",null,[wat,_("td",null,[_("div",Nat,[xe(_("input",{type:"text",id:"sd_base_url",required:"","onUpdate:modelValue":e[98]||(e[98]=f=>r.configFile.sd_base_url=f),onChange:e[99]||(e[99]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.sd_base_url]])])])])])]),_:1}),Ie(o,{title:"XTTS service",is_subcard:!0,class:"pb-2 m-2"},{default:ot(()=>[_("table",Oat,[_("tr",null,[Iat,_("td",null,[_("div",Mat,[xe(_("input",{type:"checkbox",id:"enable_voice_service",required:"","onUpdate:modelValue":e[100]||(e[100]=f=>r.configFile.enable_voice_service=f),onChange:e[101]||(e[101]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Pt,r.configFile.enable_voice_service]])])])]),_("tr",null,[Dat,_("td",null,[_("div",Lat,[_("button",{class:"hover:text-primary bg-green-200 rounded-lg p-4 m-4 w-full text-center items-center",onClick:e[102]||(e[102]=(...f)=>r.reinstallAudioService&&r.reinstallAudioService(...f))},"Reinstall xtts service")])])]),_("tr",null,[kat,_("td",null,[_("div",Pat,[xe(_("input",{type:"text",id:"xtts_base_url",required:"","onUpdate:modelValue":e[103]||(e[103]=f=>r.configFile.xtts_base_url=f),onChange:e[104]||(e[104]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600"},null,544),[[Xe,r.configFile.xtts_base_url]])])])]),_("tr",null,[Uat,_("td",null,[_("div",Fat,[xe(_("select",{"onUpdate:modelValue":e[105]||(e[105]=f=>r.current_language=f),onChange:e[106]||(e[106]=f=>s.settingsChanged=!0),disabled:!r.enable_voice_service},[(O(!0),D($e,null,lt(s.voice_languages,(f,b)=>(O(),D("option",{key:b,value:f},he(b),9,Gat))),128))],40,Bat),[[ei,r.current_language]])])])]),_("tr",null,[Vat,_("td",null,[_("div",zat,[xe(_("select",{"onUpdate:modelValue":e[107]||(e[107]=f=>r.current_voice=f),onChange:e[108]||(e[108]=f=>s.settingsChanged=!0),disabled:!r.enable_voice_service},[(O(!0),D($e,null,lt(s.voices,f=>(O(),D("option",{key:f,value:f},he(f),9,qat))),128))],40,Hat),[[ei,r.current_voice]])])])]),_("tr",null,[Yat,_("td",null,[_("div",$at,[xe(_("input",{type:"checkbox",id:"auto_read",required:"","onUpdate:modelValue":e[109]||(e[109]=f=>r.configFile.auto_read=f),onChange:e[110]||(e[110]=f=>s.settingsChanged=!0),class:"mt-1 px-2 py-1 border border-gray-300 rounded dark:bg-gray-600",disabled:!r.enable_voice_service},null,40,Wat),[[Pt,r.configFile.auto_read]])])])])])]),_:1})],2)]),_("div",Kat,[_("div",jat,[_("button",{onClick:e[111]||(e[111]=Te(f=>s.bzc_collapsed=!s.bzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex flex-row items-center"},[xe(_("div",null,Xat,512),[[At,s.bzc_collapsed]]),xe(_("div",null,Jat,512),[[At,!s.bzc_collapsed]]),elt,r.configFile.binding_name?j("",!0):(O(),D("div",tlt,[nlt,je(" No binding selected! ")])),r.configFile.binding_name?(O(),D("div",ilt,"|")):j("",!0),r.configFile.binding_name?(O(),D("div",slt,[_("div",rlt,[_("img",{src:r.imgBinding,class:"w-8 h-8 rounded-full object-fill text-blue-700"},null,8,olt),_("h3",alt,he(r.binding_name),1)])])):j("",!0)])]),_("div",{class:He([{hidden:s.bzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[r.bindingsZoo&&r.bindingsZoo.length>0?(O(),D("div",llt,[_("label",clt," Bindings: ("+he(r.bindingsZoo.length)+") ",1),_("div",{class:He(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",s.bzl_collapsed?"":"max-h-96"])},[Ie(ys,{name:"list"},{default:ot(()=>[(O(!0),D($e,null,lt(r.bindingsZoo,(f,b)=>(O(),Ot(a,{ref_for:!0,ref:"bindingZoo",key:"index-"+b+"-"+f.folder,binding:f,"on-selected":r.onBindingSelected,"on-reinstall":r.onReinstallBinding,"on-unInstall":r.onUnInstallBinding,"on-install":r.onInstallBinding,"on-settings":r.onSettingsBinding,"on-reload-binding":r.onReloadBinding,selected:f.folder===r.configFile.binding_name},null,8,["binding","on-selected","on-reinstall","on-unInstall","on-install","on-settings","on-reload-binding","selected"]))),128))]),_:1})],2)])):j("",!0),s.bzl_collapsed?(O(),D("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[112]||(e[112]=f=>s.bzl_collapsed=!s.bzl_collapsed)},ult)):(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[113]||(e[113]=f=>s.bzl_collapsed=!s.bzl_collapsed)},_lt))],2)]),_("div",hlt,[_("div",flt,[_("button",{onClick:e[114]||(e[114]=Te(f=>r.modelsZooToggleCollapse(),["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[xe(_("div",null,glt,512),[[At,s.mzc_collapsed]]),xe(_("div",null,blt,512),[[At,!s.mzc_collapsed]]),Slt,_("div",vlt,[r.configFile.binding_name?j("",!0):(O(),D("div",ylt,[Tlt,je(" Select binding first! ")])),!s.isModelSelected&&r.configFile.binding_name?(O(),D("div",xlt,[Clt,je(" No model selected! ")])):j("",!0),r.configFile.model_name?(O(),D("div",Rlt,"|")):j("",!0),r.configFile.model_name?(O(),D("div",Alt,[_("div",wlt,[_("img",{src:r.imgModel,class:"w-8 h-8 rounded-lg object-fill"},null,8,Nlt),_("h3",Olt,he(r.configFile.model_name),1)])])):j("",!0)])])]),_("div",{class:He([{hidden:s.mzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",Ilt,[_("div",Mlt,[_("div",Dlt,[s.searchModelInProgress?(O(),D("div",Llt,Plt)):j("",!0),s.searchModelInProgress?j("",!0):(O(),D("div",Ult,Blt))]),xe(_("input",{type:"search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search models...",required:"","onUpdate:modelValue":e[115]||(e[115]=f=>s.searchModel=f),onKeyup:e[116]||(e[116]=mr((...f)=>r.searchModel_func&&r.searchModel_func(...f),["enter"]))},null,544),[[Xe,s.searchModel]]),s.searchModel?(O(),D("button",{key:0,onClick:e[117]||(e[117]=Te(f=>s.searchModel="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):j("",!0)])]),_("div",null,[xe(_("input",{"onUpdate:modelValue":e[118]||(e[118]=f=>s.show_only_installed_models=f),class:"m-2 p-2",type:"checkbox",ref:"only_installed"},null,512),[[Pt,s.show_only_installed_models]]),Glt]),_("div",null,[Ie(l,{radioOptions:s.sortOptions,onRadioSelected:r.handleRadioSelected},null,8,["radioOptions","onRadioSelected"])]),Vlt,s.is_loading_zoo?(O(),D("div",zlt,Ylt)):j("",!0),s.models_zoo&&s.models_zoo.length>0?(O(),D("div",$lt,[_("label",Wlt," Models: ("+he(s.models_zoo.length)+") ",1),_("div",{class:He(["overflow-y-auto p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4 overflow-y-scroll w-full dark:bg-bg-dark scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary",s.mzl_collapsed?"":"max-h-96"])},[Ie(ys,{name:"list"},{default:ot(()=>[(O(!0),D($e,null,lt(r.rendered_models_zoo,(f,b)=>(O(),Ot(c,{ref_for:!0,ref:"modelZoo",key:"index-"+b+"-"+f.name,model:f,"is-installed":f.isInstalled,"on-install":r.onInstall,"on-uninstall":r.onUninstall,"on-selected":r.onModelSelected,selected:f.name===r.configFile.model_name,model_type:f.model_type,"on-copy":r.onCopy,"on-copy-link":r.onCopyLink,"on-cancel-install":r.onCancelInstall},null,8,["model","is-installed","on-install","on-uninstall","on-selected","selected","model_type","on-copy","on-copy-link","on-cancel-install"]))),128)),_("button",{ref:"load_more_models",class:"relative items-start p-4 hover:bg-primary-light rounded-lg mb-2 shadow-lg border-2 select-none",onClick:e[119]||(e[119]=(...f)=>r.load_more_models&&r.load_more_models(...f))},"Load more models",512)]),_:1})],2)])):j("",!0),s.mzl_collapsed?(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[120]||(e[120]=(...f)=>r.open_mzl&&r.open_mzl(...f))},jlt)):(O(),D("button",{key:3,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[121]||(e[121]=(...f)=>r.open_mzl&&r.open_mzl(...f))},Xlt))],2)]),_("div",Zlt,[_("div",Jlt,[_("button",{onClick:e[122]||(e[122]=Te(f=>s.mzdc_collapsed=!s.mzdc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[xe(_("div",null,tct,512),[[At,s.mzdc_collapsed]]),xe(_("div",null,ict,512),[[At,!s.mzdc_collapsed]]),sct,r.binding_name?j("",!0):(O(),D("div",rct,[oct,je(" No binding selected! ")])),r.configFile.binding_name?(O(),D("div",act,"|")):j("",!0),r.configFile.binding_name?(O(),D("div",lct,[_("div",cct,[_("img",{src:r.imgBinding,class:"w-8 h-8 rounded-full object-fill text-blue-700"},null,8,dct),_("h3",uct,he(r.binding_name),1)])])):j("",!0)])]),_("div",{class:He([{hidden:s.mzdc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",pct,[_("div",_ct,[_("div",null,[_("div",hct,[fct,xe(_("input",{type:"text","onUpdate:modelValue":e[123]||(e[123]=f=>s.reference_path=f),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter Path ...",required:""},null,512),[[Xe,s.reference_path]])]),_("button",{type:"button",onClick:e[124]||(e[124]=Te(f=>r.onCreateReference(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Add reference")]),s.modelDownlaodInProgress?j("",!0):(O(),D("div",mct,[_("div",gct,[Ect,xe(_("input",{type:"text","onUpdate:modelValue":e[125]||(e[125]=f=>s.addModel.url=f),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Enter URL ...",required:""},null,512),[[Xe,s.addModel.url]])]),_("button",{type:"button",onClick:e[126]||(e[126]=Te(f=>r.onInstallAddModel(),["stop"])),class:"text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"},"Download")])),s.modelDownlaodInProgress?(O(),D("div",bct,[Sct,_("div",vct,[_("div",yct,[_("div",Tct,[xct,_("span",Cct,he(Math.floor(s.addModel.progress))+"%",1)]),_("div",{class:"mx-1 opacity-80 line-clamp-1",title:s.addModel.url},he(s.addModel.url),9,Rct),_("div",Act,[_("div",{class:"bg-blue-600 h-2.5 rounded-full",style:Xt({width:s.addModel.progress+"%"})},null,4)]),_("div",wct,[_("span",Nct,"Download speed: "+he(r.speed_computed)+"/s",1),_("span",Oct,he(r.downloaded_size_computed)+"/"+he(r.total_size_computed),1)])])]),_("div",Ict,[_("div",Mct,[_("div",Dct,[_("button",{onClick:e[127]||(e[127]=Te((...f)=>r.onCancelInstall&&r.onCancelInstall(...f),["stop"])),type:"button",title:"Cancel download",class:"text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-gray-200 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600"}," Cancel ")])])])])):j("",!0)])])],2)]),_("div",Lct,[_("div",kct,[_("button",{onClick:e[130]||(e[130]=Te(f=>s.pzc_collapsed=!s.pzc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[xe(_("div",null,Uct,512),[[At,s.pzc_collapsed]]),xe(_("div",null,Bct,512),[[At,!s.pzc_collapsed]]),Gct,r.configFile.personalities?(O(),D("div",Vct,"|")):j("",!0),_("div",zct,he(r.active_pesonality),1),r.configFile.personalities?(O(),D("div",Hct,"|")):j("",!0),r.configFile.personalities?(O(),D("div",qct,[r.mountedPersArr.length>0?(O(),D("div",Yct,[(O(!0),D($e,null,lt(r.mountedPersArr,(f,b)=>(O(),D("div",{class:"relative hover:-translate-y-2 duration-300 hover:z-10 shrink-0",key:b+"-"+f.name,ref_for:!0,ref:"mountedPersonalities"},[_("div",$ct,[_("button",{onClick:Te(E=>r.onPersonalitySelected(f),["stop"])},[_("img",{src:s.bUrl+f.avatar,onError:e[128]||(e[128]=(...E)=>r.personalityImgPlacehodler&&r.personalityImgPlacehodler(...E)),class:He(["w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 group-hover:border-secondary",r.configFile.active_personality_id==r.configFile.personalities.indexOf(f.full_path)?"border-secondary":"border-transparent z-0"]),title:f.name},null,42,Kct)],8,Wct),_("button",{onClick:Te(E=>r.unmountPersonality(f),["stop"])},Xct,8,jct)])]))),128))])):j("",!0)])):j("",!0),_("button",{onClick:e[129]||(e[129]=Te(f=>r.unmountAll(),["stop"])),class:"bg-bg-light hover:border-green-200 ml-5 dark:bg-bg-dark rounded-full border-2 border-transparent",title:"Unmount All"},Jct)])]),_("div",{class:He([{hidden:s.pzc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",edt,[tdt,_("div",ndt,[_("div",idt,[s.searchPersonalityInProgress?(O(),D("div",sdt,odt)):j("",!0),s.searchPersonalityInProgress?j("",!0):(O(),D("div",adt,cdt))]),xe(_("input",{type:"search",id:"personality-search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search personality...",required:"","onUpdate:modelValue":e[131]||(e[131]=f=>s.searchPersonality=f),onKeyup:e[132]||(e[132]=Te((...f)=>r.searchPersonality_func&&r.searchPersonality_func(...f),["stop"]))},null,544),[[Xe,s.searchPersonality]]),s.searchPersonality?(O(),D("button",{key:0,onClick:e[133]||(e[133]=Te(f=>s.searchPersonality="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):j("",!0)])]),s.searchPersonality?j("",!0):(O(),D("div",ddt,[_("label",udt," Personalities Category: ("+he(s.persCatgArr.length)+") ",1),_("select",{id:"persCat",onChange:e[134]||(e[134]=f=>r.update_personality_category(f.target.value,r.refresh)),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(s.persCatgArr,(f,b)=>(O(),D("option",{key:b,selected:f==this.configFile.personality_category},he(f),9,pdt))),128))],32)])),_("div",null,[s.personalitiesFiltered.length>0?(O(),D("div",_dt,[_("label",hdt,he(s.searchPersonality?"Search results":"Personalities")+": ("+he(s.personalitiesFiltered.length)+") ",1),_("div",{class:He(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",s.pzl_collapsed?"":"max-h-96"])},[Ie(ys,{name:"bounce"},{default:ot(()=>[(O(!0),D($e,null,lt(s.personalitiesFiltered,(f,b)=>(O(),Ot(d,{ref_for:!0,ref:"personalitiesZoo",key:"index-"+b+"-"+f.name,personality:f,select_language:!0,full_path:f.full_path,selected:r.configFile.active_personality_id==r.configFile.personalities.findIndex(E=>E===f.full_path||E===f.full_path+":"+f.language),"on-selected":r.onPersonalitySelected,"on-mount":r.mountPersonality,"on-un-mount":r.unmountPersonality,"on-remount":r.remountPersonality,"on-reinstall":r.onPersonalityReinstall,"on-settings":r.onSettingsPersonality,"on-copy-personality-name":r.onCopyPersonalityName},null,8,["personality","full_path","selected","on-selected","on-mount","on-un-mount","on-remount","on-reinstall","on-settings","on-copy-personality-name"]))),128))]),_:1})],2)])):j("",!0)]),s.pzl_collapsed?(O(),D("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[135]||(e[135]=f=>s.pzl_collapsed=!s.pzl_collapsed)},mdt)):(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[136]||(e[136]=f=>s.pzl_collapsed=!s.pzl_collapsed)},Edt))],2)]),_("div",bdt,[_("div",Sdt,[_("button",{onClick:e[138]||(e[138]=Te(f=>s.ezc_collapsed=!s.ezc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[xe(_("div",null,ydt,512),[[At,s.ezc_collapsed]]),xe(_("div",null,xdt,512),[[At,!s.ezc_collapsed]]),Cdt,r.configFile.extensions?(O(),D("div",Rdt,"|")):j("",!0),r.configFile.extensions?(O(),D("div",Adt,[r.mountedExtensions.length>0?(O(),D("div",wdt,[(O(!0),D($e,null,lt(r.mountedExtensions,(f,b)=>(O(),D("div",{class:"relative hover:-translate-y-2 duration-300 hover:z-10 shrink-0",key:b+"-"+f.name,ref_for:!0,ref:"mountedExtensions"},[_("div",Ndt,[_("button",null,[_("img",{src:s.bUrl+f.avatar,onError:e[137]||(e[137]=(...E)=>r.extensionImgPlacehodler&&r.extensionImgPlacehodler(...E)),class:He(["w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 group-hover:border-secondary","border-transparent z-0"]),title:f.name},null,40,Odt)]),_("button",{onClick:Te(E=>r.unmountExtension(f),["stop"])},Ddt,8,Idt)])]))),128))])):j("",!0)])):j("",!0)])]),_("div",{class:He([{hidden:s.ezc_collapsed},"flex flex-col mb-2 px-3 pb-0"])},[_("div",Ldt,[kdt,_("div",Pdt,[_("div",Udt,[s.searchExtensionInProgress?(O(),D("div",Fdt,Gdt)):j("",!0),s.searchExtensionInProgress?j("",!0):(O(),D("div",Vdt,Hdt))]),xe(_("input",{type:"search",id:"personality-search",class:"block w-full p-4 pl-10 text-sm text-gray-900 border border-gray-300 rounded-lg bg-gray-50 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500",placeholder:"Search extension...",required:"","onUpdate:modelValue":e[139]||(e[139]=f=>s.searchExtension=f),onKeyup:e[140]||(e[140]=Te((...f)=>n.searchExtension_func&&n.searchExtension_func(...f),["stop"]))},null,544),[[Xe,s.searchExtension]]),s.searchExtension?(O(),D("button",{key:0,onClick:e[141]||(e[141]=Te(f=>s.searchExtension="",["stop"])),type:"button",class:"text-white absolute right-2.5 bottom-2.5 bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm px-4 py-2 dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"}," Clear search")):j("",!0)])]),s.searchExtension?j("",!0):(O(),D("div",qdt,[_("label",Ydt," Extensions Category: ("+he(s.extCatgArr.length)+") ",1),_("select",{id:"extCat",onChange:e[142]||(e[142]=f=>r.update_extension_category(f.target.value,r.refresh)),class:"bg-gray-50 border border-gray-300 text-gray-900 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"},[(O(!0),D($e,null,lt(s.extCatgArr,(f,b)=>(O(),D("option",{key:b,selected:f==this.extension_category},he(f),9,$dt))),128))],32)])),_("div",null,[s.extensionsFiltered.length>0?(O(),D("div",Wdt,[_("label",Kdt,he(s.searchExtension?"Search results":"Personalities")+": ("+he(s.extensionsFiltered.length)+") ",1),_("div",{class:He(["overflow-y-auto no-scrollbar p-2 pb-0 grid lg:grid-cols-3 md:grid-cols-2 gap-4",s.ezl_collapsed?"":"max-h-96"])},[(O(!0),D($e,null,lt(s.extensionsFiltered,(f,b)=>(O(),Ot(u,{ref_for:!0,ref:"extensionsZoo",key:"index-"+b+"-"+f.name,extension:f,select_language:!0,full_path:f.full_path,"on-mount":r.mountExtension,"on-un-mount":r.unmountExtension,"on-remount":r.remountExtension,"on-reinstall":r.onExtensionReinstall,"on-settings":r.onSettingsExtension},null,8,["extension","full_path","on-mount","on-un-mount","on-remount","on-reinstall","on-settings"]))),128))],2)])):j("",!0)]),s.ezc_collapsed?(O(),D("button",{key:1,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Collapse",type:"button",onClick:e[143]||(e[143]=f=>s.ezl_collapsed=!s.ezl_collapsed)},Qdt)):(O(),D("button",{key:2,class:"text-2xl hover:text-secondary duration-75 flex justify-center hover:bg-bg-light-tone hover:dark:bg-bg-dark-tone rounded-lg",title:"Expand",type:"button",onClick:e[144]||(e[144]=f=>s.ezl_collapsed=!s.ezl_collapsed)},Zdt))],2)]),_("div",Jdt,[_("div",eut,[_("button",{onClick:e[145]||(e[145]=Te(f=>s.mep_collapsed=!s.mep_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 text-left w-full flex items-center"},[xe(_("div",null,nut,512),[[At,s.mep_collapsed]]),xe(_("div",null,sut,512),[[At,!s.mep_collapsed]]),rut])]),_("div",{class:He([{hidden:s.mep_collapsed},"flex flex-col mb-2 px-3 pb-0"])},null,2)]),_("div",out,[_("div",aut,[_("button",{onClick:e[146]||(e[146]=Te(f=>s.mc_collapsed=!s.mc_collapsed,["stop"])),class:"text-2xl hover:text-primary p-2 -m-2 w-full text-left flex items-center"},[xe(_("div",null,cut,512),[[At,s.mc_collapsed]]),xe(_("div",null,uut,512),[[At,!s.mc_collapsed]]),put])]),_("div",{class:He([{hidden:s.mc_collapsed},"flex flex-col mb-2 p-2"])},[_("div",_ut,[_("div",hut,[xe(_("input",{id:"override-model-parameters",type:"checkbox",class:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-700 dark:focus:ring-offset-gray-700 focus:ring-2 dark:bg-gray-600 dark:border-gray-500",onClick:e[147]||(e[147]=Te(()=>{},["stop"])),"onUpdate:modelValue":e[148]||(e[148]=f=>r.configFile.override_personality_model_parameters=f),onChange:e[149]||(e[149]=f=>r.update_setting("override_personality_model_parameters",r.configFile.override_personality_model_parameters))},null,544),[[Pt,r.configFile.override_personality_model_parameters]]),fut])]),_("div",{class:He(r.configFile.override_personality_model_parameters?"":"pointer-events-none opacity-30")},[_("div",mut,[gut,xe(_("input",{type:"text",id:"seed","onUpdate:modelValue":e[150]||(e[150]=f=>r.configFile.seed=f),class:"bg-gray-50 border border-gray-300 text-sm rounded-lg focus:ring-blue-500 focus:border-blue-500 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,512),[[Xe,r.configFile.seed]])]),_("div",Eut,[_("div",but,[_("div",Sut,[vut,_("p",yut,[xe(_("input",{type:"text",id:"temp-val","onUpdate:modelValue":e[151]||(e[151]=f=>r.configFile.temperature=f),onChange:e[152]||(e[152]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.temperature]])])]),xe(_("input",{id:"temperature",onChange:e[153]||(e[153]=f=>s.settingsChanged=!0),type:"range","onUpdate:modelValue":e[154]||(e[154]=f=>r.configFile.temperature=f),min:"0",max:"5",step:"0.1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.temperature]])])]),_("div",Tut,[_("div",xut,[_("div",Cut,[Rut,_("p",Aut,[xe(_("input",{type:"text",id:"predict-val","onUpdate:modelValue":e[155]||(e[155]=f=>r.configFile.n_predict=f),onChange:e[156]||(e[156]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.n_predict]])])]),xe(_("input",{id:"predict",type:"range",onChange:e[157]||(e[157]=f=>s.settingsChanged=!0),"onUpdate:modelValue":e[158]||(e[158]=f=>r.configFile.n_predict=f),min:"0",max:"2048",step:"32",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.n_predict]])])]),_("div",wut,[_("div",Nut,[_("div",Out,[Iut,_("p",Mut,[xe(_("input",{type:"text",id:"top_k-val","onUpdate:modelValue":e[159]||(e[159]=f=>r.configFile.top_k=f),onChange:e[160]||(e[160]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_k]])])]),xe(_("input",{id:"top_k",type:"range",onChange:e[161]||(e[161]=f=>s.settingsChanged=!0),"onUpdate:modelValue":e[162]||(e[162]=f=>r.configFile.top_k=f),min:"0",max:"100",step:"1",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_k]])])]),_("div",Dut,[_("div",Lut,[_("div",kut,[Put,_("p",Uut,[xe(_("input",{type:"text",id:"top_p-val","onUpdate:modelValue":e[163]||(e[163]=f=>r.configFile.top_p=f),onChange:e[164]||(e[164]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_p]])])]),xe(_("input",{id:"top_p",type:"range","onUpdate:modelValue":e[165]||(e[165]=f=>r.configFile.top_p=f),min:"0",max:"1",step:"0.01",onChange:e[166]||(e[166]=f=>s.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.top_p]])])]),_("div",Fut,[_("div",But,[_("div",Gut,[Vut,_("p",zut,[xe(_("input",{type:"text",id:"repeat_penalty-val","onUpdate:modelValue":e[167]||(e[167]=f=>r.configFile.repeat_penalty=f),onChange:e[168]||(e[168]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_penalty]])])]),xe(_("input",{id:"repeat_penalty",onChange:e[169]||(e[169]=f=>s.settingsChanged=!0),type:"range","onUpdate:modelValue":e[170]||(e[170]=f=>r.configFile.repeat_penalty=f),min:"0",max:"2",step:"0.01",class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_penalty]])])]),_("div",Hut,[_("div",qut,[_("div",Yut,[$ut,_("p",Wut,[xe(_("input",{type:"text",id:"repeat_last_n-val","onUpdate:modelValue":e[171]||(e[171]=f=>r.configFile.repeat_last_n=f),onChange:e[172]||(e[172]=f=>s.settingsChanged=!0),class:"mt-2 w-16 text-right p-2 border border-gray-300 rounded-lg bg-gray-50 sm:text-xs focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_last_n]])])]),xe(_("input",{id:"repeat_last_n",type:"range","onUpdate:modelValue":e[173]||(e[173]=f=>r.configFile.repeat_last_n=f),min:"0",max:"100",step:"1",onChange:e[174]||(e[174]=f=>s.settingsChanged=!0),class:"flex-none h-2 mt-14 mb-2 w-full bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:placeholder-gray-400 dark:focus:ring-blue-500 dark:focus:border-blue-500"},null,544),[[Xe,r.configFile.repeat_last_n]])])])],2)],2)])],2)]),Ie(h,{ref:"addmodeldialog"},null,512),Ie(m,{class:"z-20",show:s.variantSelectionDialogVisible,choices:s.variant_choices,onChoiceSelected:r.onVariantChoiceSelected,onCloseDialog:r.oncloseVariantChoiceDialog,onChoiceValidated:r.onvalidateVariantChoice},null,8,["show","choices","onChoiceSelected","onCloseDialog","onChoiceValidated"])],64)}const jut=gt(nst,[["render",Kut],["__scopeId","data-v-c3765c36"]]),Qut={components:{ClipBoardTextInput:sb,Card:dc},data(){return{dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDataset:""}},methods:{submitForm(){const n={model_name:this.selectedModel,dataset_file:this.selectedDataset,max_length:this.max_length,batch_size:this.batch_size,lr:this.lr,num_epochs:this.num_epochs,output_dir:this.selectedFolder};Ue.post("/start_training",n).then(e=>{})},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(n){var t;console.log("here");const e=(t=n.target.files[0])==null?void 0:t.path;console.log(e),e&&(this.selectedFolder=e)},selectDataset(n){const e=n.target.files;e.length>0&&(this.selectedDataset=e[0])}},computed:{selectedModel:{get(){return this.$store.state.selectedModel}},models:{get(){return this.$store.state.modelsArr}}},watch:{model_name(n){console.log("watching model_name",n),this.$refs.clipboardInput.inputValue=n}}},Xut={key:0,class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},Zut={class:"mb-4"},Jut=_("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),ept=["value"],tpt={class:"mb-4"},npt=_("label",{for:"dataset_path",class:"text-sm"},"Dataset:",-1),ipt={class:"mb-4"},spt=_("label",{for:"lr",class:"text-sm"},"Learning Rate:",-1),rpt={class:"mb-4"},opt=_("label",{for:"num_epochs",class:"text-sm"},"Number of Epochs:",-1),apt={class:"mb-4"},lpt=_("label",{for:"max_length",class:"text-sm"},"Max Length:",-1),cpt={class:"mb-4"},dpt=_("label",{for:"batch_size",class:"text-sm"},"Batch Size:",-1),upt={class:"mb-4"},ppt=_("label",{for:"output_dir",class:"text-sm"},"Output Directory:",-1),_pt=_("button",{class:"bg-blue-500 text-white px-4 py-2 rounded"},"Start training",-1),hpt={key:1};function fpt(n,e,t,i,s,r){const o=_t("Card"),a=_t("ClipBoardTextInput");return r.selectedModel!==null&&r.selectedModel.toLowerCase().includes("gptq")?(O(),D("div",Xut,[_("form",{onSubmit:e[2]||(e[2]=Te((...l)=>r.submitForm&&r.submitForm(...l),["prevent"])),class:""},[Ie(o,{title:"Training configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[Ie(o,{title:"Model",class:"",isHorizontal:!1},{default:ot(()=>[_("div",Zut,[Jut,xe(_("select",{"onUpdate:modelValue":e[0]||(e[0]=l=>r.selectedModel=l),onChange:e[1]||(e[1]=(...l)=>n.setModel&&n.setModel(...l)),class:"bg-white dark:bg-black m-0 border-2 rounded-md shadow-sm w-full"},[(O(!0),D($e,null,lt(r.models,l=>(O(),D("option",{key:l,value:l},he(l),9,ept))),128))],544),[[ei,r.selectedModel]])])]),_:1}),Ie(o,{title:"Data",isHorizontal:!1},{default:ot(()=>[_("div",tpt,[npt,Ie(a,{id:"model_path",inputType:"file",value:s.dataset_path,onchange:"selectDataset()"},null,8,["value"])])]),_:1}),Ie(o,{title:"Training",isHorizontal:!1},{default:ot(()=>[_("div",ipt,[spt,Ie(a,{id:"model_path",inputType:"integer",value:s.lr},null,8,["value"])]),_("div",rpt,[opt,Ie(a,{id:"model_path",inputType:"integer",value:s.num_epochs},null,8,["value"])]),_("div",apt,[lpt,Ie(a,{id:"model_path",inputType:"integer",value:s.max_length},null,8,["value"])]),_("div",cpt,[dpt,Ie(a,{id:"model_path",inputType:"integer",value:s.batch_size},null,8,["value"])])]),_:1}),Ie(o,{title:"Output",isHorizontal:!1},{default:ot(()=>[_("div",upt,[ppt,Ie(a,{id:"model_path",inputType:"text",value:n.output_dir},null,8,["value"])])]),_:1})]),_:1}),Ie(o,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[_pt]),_:1})],32)])):(O(),D("div",hpt,[Ie(o,{title:"Info",class:"",isHorizontal:!1},{default:ot(()=>[je(" Only GPTQ models are supported for QLora fine tuning. Please select a GPTQ compatible binding. ")]),_:1})]))}const mpt=gt(Qut,[["render",fpt]]),gpt={components:{ClipBoardTextInput:sb,Card:dc},data(){return{model_name:"jondurbin/airoboros-7b-gpt4",tokenizer_name:"jondurbin/airoboros-7b-gpt4",dataset_path:"",max_length:1024,batch_size:4,lr:5e-5,num_epochs:2,selectedFolder:"",selectedDatasetPath:""}},methods:{submitForm(){this.model_name,this.tokenizer_name,this.selectedDatasetPath,this.max_length,this.batch_size,this.lr,this.num_epochs,this.selectedFolder},openFolderSelector(){this.$refs.folder_selector.click()},selectOutputDirectory(n){var t;console.log("here");const e=(t=n.target.files[0])==null?void 0:t.path;console.log(e),e&&(this.selectedFolder=e)},selectDatasetPath(n){const e=n.target.files;e.length>0&&(this.selectedDatasetPath=e[0].webkitRelativePath)}}},Ept={class:"container overflow-y-scroll flex flex-col no-scrollbar shadow-lg p-10 pt-2 bg-bg-light-tone dark:bg-bg-dark-tone"},bpt={class:"mb-4"},Spt=_("label",{for:"model_name",class:"text-sm"},"Model Name:",-1),vpt={class:"mb-4"},ypt=_("label",{for:"tokenizer_name",class:"text-sm"},"Tokenizer Name:",-1),Tpt=_("button",{type:"submit",class:"bg-blue-500 text-white px-4 py-2 rounded"},"Quantize LLM",-1);function xpt(n,e,t,i,s,r){const o=_t("ClipBoardTextInput"),a=_t("Card");return O(),D("div",Ept,[_("form",{onSubmit:e[0]||(e[0]=Te((...l)=>r.submitForm&&r.submitForm(...l),["prevent"])),class:"max-w-md mx-auto"},[Ie(a,{title:"Quantizing configuration",isHorizontal:!0,disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[Ie(a,{title:"Model",class:"",isHorizontal:!1},{default:ot(()=>[_("div",bpt,[Spt,Ie(o,{id:"model_path",inputType:"text",value:s.model_name},null,8,["value"])]),_("div",vpt,[ypt,Ie(o,{id:"model_path",inputType:"text",value:s.tokenizer_name},null,8,["value"])])]),_:1})]),_:1}),Ie(a,{disableHoverAnimation:!0,disableFocus:!0},{default:ot(()=>[Tpt]),_:1})],32)])}const Cpt=gt(gpt,[["render",xpt]]),Rpt={data(){return{show:!1,prompt:"",inputText:""}},methods:{showPanel(){this.show=!0},ok(){this.show=!1,this.$emit("ok",this.inputText)},cancel(){this.show=!1,this.inputText=""}},props:{promptText:{type:String,required:!0}},watch:{promptText(n){this.prompt=n}}},Apt={key:0,class:"fixed top-0 left-0 w-full h-full flex justify-center items-center bg-black bg-opacity-50"},wpt={class:"bg-white p-8 rounded"},Npt={class:"text-xl font-bold mb-4"};function Opt(n,e,t,i,s,r){return O(),D("div",null,[s.show?(O(),D("div",Apt,[_("div",wpt,[_("h2",Npt,he(t.promptText),1),xe(_("input",{type:"text","onUpdate:modelValue":e[0]||(e[0]=o=>s.inputText=o),class:"border border-gray-300 px-4 py-2 rounded mb-4"},null,512),[[Xe,s.inputText]]),_("button",{onClick:e[1]||(e[1]=(...o)=>r.ok&&r.ok(...o)),class:"bg-blue-500 text-white px-4 py-2 rounded mr-2"},"OK"),_("button",{onClick:e[2]||(e[2]=(...o)=>r.cancel&&r.cancel(...o)),class:"bg-gray-500 text-white px-4 py-2 rounded"},"Cancel")])])):j("",!0)])}const MN=gt(Rpt,[["render",Opt]]),Ipt={props:{htmlContent:{type:String,required:!0}}},Mpt=["innerHTML"];function Dpt(n,e,t,i,s,r){return O(),D("div",null,[_("div",{innerHTML:t.htmlContent},null,8,Mpt)])}const Lpt=gt(Ipt,[["render",Dpt]]);const kpt={props:{jsonData:{type:[Object,Array,String],default:null},jsonFormText:{type:String,default:"JSON Form"}},data(){return{collapsed:!0}},computed:{formattedJson(){return typeof this.jsonData=="string"?JSON.stringify(JSON.parse(this.jsonData),null," ").replace(/\n/g,"
"):JSON.stringify(this.jsonData,null," ").replace(/\n/g,"
")},isObject(){return typeof this.jsonData=="object"&&this.jsonData!==null},isContentPresent(){return this.jsonData!==null&&(typeof this.jsonData!="string"||this.jsonData.trim()!=="")}},methods:{toggleCollapsed(){this.collapsed=!this.collapsed},toggleCollapsible(){this.collapsed=!this.collapsed}}},Ppt={key:0},Upt={class:"toggle-icon mr-1"},Fpt={key:0,class:"fas fa-plus-circle text-gray-600"},Bpt={key:1,class:"fas fa-minus-circle text-gray-600"},Gpt={class:"json-viewer max-h-64 overflow-auto p-4 bg-gray-100 border border-gray-300 rounded dark:bg-gray-600"},Vpt={key:0,class:"fas fa-plus-circle text-gray-600"},zpt={key:1,class:"fas fa-minus-circle text-gray-600"},Hpt=["innerHTML"];function qpt(n,e,t,i,s,r){return r.isContentPresent?(O(),D("div",Ppt,[_("div",{class:"collapsible-section cursor-pointer mb-4 font-bold hover:text-gray-900",onClick:e[0]||(e[0]=(...o)=>r.toggleCollapsible&&r.toggleCollapsible(...o))},[_("span",Upt,[s.collapsed?(O(),D("i",Fpt)):(O(),D("i",Bpt))]),je(" "+he(t.jsonFormText),1)]),xe(_("div",null,[_("div",Gpt,[r.isObject?(O(),D("span",{key:0,onClick:e[1]||(e[1]=(...o)=>r.toggleCollapsed&&r.toggleCollapsed(...o)),class:"toggle-icon cursor-pointer mr-1"},[s.collapsed?(O(),D("i",Vpt)):(O(),D("i",zpt))])):j("",!0),_("pre",{innerHTML:r.formattedJson},null,8,Hpt)])],512),[[At,!s.collapsed]])])):j("",!0)}const Ypt=gt(kpt,[["render",qpt]]),$pt={props:{done:{type:Boolean,required:!0},message:{type:String,required:!0},status:{type:Boolean,required:!0}}},Wpt={class:"step flex items-center mb-4"},Kpt={class:"flex items-center justify-center w-6 h-6 mr-2"},jpt={key:0},Qpt=_("i",{"data-feather":"square",class:"text-gray-400 w-4 h-4"},null,-1),Xpt=[Qpt],Zpt={key:1},Jpt=_("i",{"data-feather":"check-square",class:"text-green-500 w-4 h-4"},null,-1),e_t=[Jpt],t_t={key:2},n_t=_("i",{"data-feather":"x-square",class:"text-red-500 w-4 h-4"},null,-1),i_t=[n_t],s_t={key:0,role:"status"},r_t=_("svg",{"aria-hidden":"true",class:"w-6 h-6 animate-spin fill-secondary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[_("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),_("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})],-1),o_t=[r_t];function a_t(n,e,t,i,s,r){return O(),D("div",Wpt,[_("div",Kpt,[t.done?j("",!0):(O(),D("div",jpt,Xpt)),t.done&&t.status?(O(),D("div",Zpt,e_t)):j("",!0),t.done&&!t.status?(O(),D("div",t_t,i_t)):j("",!0)]),t.done?j("",!0):(O(),D("div",s_t,o_t)),_("div",{class:He(["content flex-1 px-2",{"text-green-500":t.done,"text-yellow-500":!t.done}])},he(t.message),3)])}const l_t=gt($pt,[["render",a_t]]);const nC="/",c_t={name:"Message",emits:["copy","delete","rankUp","rankDown","updateMessage","resendMessage","continueMessage"],components:{MarkdownRenderer:vN,Step:l_t,RenderHTMLJS:Lpt,JsonViewer:Ypt,DynamicUIRenderer:IN},props:{host:{type:String,required:!1,default:"http://localhost:9600"},message:Object,avatar:""},data(){return{isSynthesizingVoice:!1,cpp_block:CN,html5_block:RN,LaTeX_block:AN,json_block:xN,javascript_block:TN,python_block:yN,bash_block:wN,audio_url:null,audio:null,msg:null,isSpeaking:!1,speechSynthesis:null,voices:[],expanded:!1,showConfirmation:!1,editMsgMode_:!1,deleteMsgMode:!1,mdRenderHeight:Number}},mounted(){"speechSynthesis"in window?(this.speechSynthesis=window.speechSynthesis,this.voices=this.speechSynthesis.getVoices(),this.voices.length===0&&this.speechSynthesis.addEventListener("voiceschanged",this.onVoicesChanged)):console.error("Speech synthesis is not supported in this browser."),Fe(()=>{Be.replace(),this.mdRenderHeight=this.$refs.mdRender.$el.offsetHeight}),this.message.hasOwnProperty("metadata")&&this.message.metadata!=null&&(this.audio_url=this.message.metadata.hasOwnProperty("audio_url")?this.message.metadata.audio_url:null)},methods:{insertTab(n){const e=n.target,t=e.selectionStart,i=e.selectionEnd,s=n.shiftKey;if(t===i)if(s){if(e.value.substring(t-4,t)==" "){const r=e.value.substring(0,t-4),o=e.value.substring(i),a=r+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=t-4})}}else{const r=e.value.substring(0,t),o=e.value.substring(i),a=r+" "+o;this.message.content=a,this.$nextTick(()=>{e.selectionStart=e.selectionEnd=t+4})}else{const o=e.value.substring(t,i).split(` `).map(d=>d.trim()===""?d:s?d.startsWith(" ")?d.substring(4):d:" "+d),a=e.value.substring(0,t),l=e.value.substring(i),c=a+o.join(` `)+l;this.message.content=c,this.$nextTick(()=>{e.selectionStart=t,e.selectionEnd=i+o.length*4})}n.preventDefault()},onVoicesChanged(){this.voices=this.speechSynthesis.getVoices()},read(){this.isSynthesizingVoice?(this.$refs.audio_player.pause(),this.isSynthesizingVoice=!1):(this.isSynthesizingVoice=!0,Ue.post("./text2Audio",{text:this.message.content}).then(n=>{let e=n.data.url;console.log(e),this.audio_url=e,this.$emit("updateMessage",this.message.id,this.message.content,this.audio_url)}).catch(n=>{this.$store.state.toast.showToast(`Error: ${n}`,4,!1),this.isSynthesizingVoice=!1}))},speak(){if(this.msg){this.speechSynthesis.cancel(),this.msg=null,this.isSpeaking=!1;return}let n=0;console.log("voice on"),this.isSpeaking=!0;const e=200;this.message.content,this.msg=new SpeechSynthesisUtterance,this.msg.pitch=this.$store.state.config.audio_pitch,this.voices.length>0&&(this.msg.voice=this.voices.filter(s=>s.name===this.$store.state.config.audio_out_voice)[0]);const t=s=>{let r=this.message.content.substring(s,s+e);const o=[".","!","?",` `];let a=-1;return o.forEach(l=>{const c=r.lastIndexOf(l);c>a&&(a=c)}),a==-1&&(a=r.length),console.log(a),a+s+1},i=()=>{if(this.message.content.includes(".")){const s=t(n),r=this.message.content.substring(n,s);this.msg.text=r,n=s+1,this.msg.onend=o=>{n{i()},1):(this.isSpeaking=!1,console.log("voice off :",this.message.content.length," ",s))},this.speechSynthesis.speak(this.msg)}else setTimeout(()=>{i()},1)};i()},toggleModel(){this.expanded=!this.expanded},addBlock(n){let e=this.$refs.mdTextarea.selectionStart,t=this.$refs.mdTextarea.selectionEnd;e==t?speechSynthesis==0||this.message.content[e-1]==` diff --git a/web/dist/index.html b/web/dist/index.html index 358630b0..f36e5fa2 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -6,8 +6,8 @@ LoLLMS WebUI - Welcome - - + +
diff --git a/web/src/views/SettingsView.vue b/web/src/views/SettingsView.vue index 915650cf..649d89fa 100644 --- a/web/src/views/SettingsView.vue +++ b/web/src/views/SettingsView.vue @@ -1684,15 +1684,15 @@
-
+
- item.category === this.configFile.extension_category ) + this.extensionsFiltered = this.$store.state.extensionsZoo.filter((item) => item.category === this.configFile.extension_category ) this.updateModelsZoo(); @@ -3206,9 +3206,9 @@ export default { this.extCatgArr = cats console.log("this.$store.state.extensionsZoo",this.$store.state.extensionsZoo) console.log("this.extension_category", this.extension_category) - this.extensionsFiltererd = this.$store.state.extensionsZoo.filter((item) => item.category === this.extension_category) - this.extensionsFiltererd.sort() - console.log("this.extensionsFiltererd", this.extensionsFiltererd) + this.extensionsFiltered = this.$store.state.extensionsZoo.filter((item) => item.category === this.extension_category) + this.extensionsFiltered.sort() + console.log("this.extensionsFiltered", this.extensionsFiltered) }) @@ -3521,7 +3521,7 @@ export default { const catkeys = Object.keys(dictionary); // returns categories folder names for (let j = 0; j < catkeys.length; j++) { const catkey = catkeys[j]; - const personalitiesArray = catdictionary[catkey]; + const personalitiesArray = dictionary[catkey]; const modPersArr = personalitiesArray.map((item) => { const isMounted = config.personalities.includes(catkey + '/' + item.folder) @@ -3531,7 +3531,7 @@ export default { let newItem = {} newItem = item newItem.category = catkey // add new props to items - newItem.language = langkey // add new props to items + newItem.language = "" // add new props to items newItem.full_path = catkey + '/' + item.folder // add new props to items newItem.isMounted = isMounted // add new props to items return newItem @@ -3552,6 +3552,48 @@ export default { this.isLoading = false }, + async getExtensionsArr() { + this.isLoading = true + this.extensions = [] + const dictionary = await this.api_get_req("get_all_extensions") + const config = this.$store.state.config + //console.log('asdas',config) + // console.log("all_extensions") + // console.log(dictionary) + const catkeys = Object.keys(dictionary); // returns categories folder names + for (let j = 0; j < catkeys.length; j++) { + const catkey = catkeys[j]; + const extensionsArray = dictionary[catkey]; + const modPersArr = extensionsArray.map((item) => { + + const isMounted = config.extensions.includes(catkey + '/' + item.folder) + // if (isMounted) { + // console.log(item) + // } + let newItem = {} + newItem = item + newItem.category = catkey // add new props to items + newItem.language = "" // add new props to items + newItem.full_path = catkey + '/' + item.folder // add new props to items + newItem.isMounted = isMounted // add new props to items + return newItem + }) + + + if (this.extensions.length == 0) { + this.extensions = modPersArr + } else { + this.extensions = this.extensions.concat(modPersArr) + } + } + + this.extensions.sort((a, b) => a.name.localeCompare(b.name)) + this.extensions = this.extensions.filter((item) => item.category === this.configFile.personality_category) + this.extensions.sort() + console.log('per filtered', this.extensionsFiltered) + this.isLoading = false + + }, async filterPersonalities() { if (!this.searchPersonality) { this.personalitiesFiltered = this.personalities.filter((item) => item.category === this.configFile.personality_category ) diff --git a/zoos/bindings_zoo b/zoos/bindings_zoo index f8b842aa..fa9c3d48 160000 --- a/zoos/bindings_zoo +++ b/zoos/bindings_zoo @@ -1 +1 @@ -Subproject commit f8b842aa288c92807a31a335fe4dbdbf13a91c41 +Subproject commit fa9c3d4877892ed901f1a9c7d98f140263689190